@imqueue/mcp
Advanced tools
+4
-4
@@ -18,3 +18,3 @@ // Static catalog of the @imqueue packages, so an agent can pick the right one | ||
| { name: "@imqueue/job", install: "npm i @imqueue/job", summary: "Simple, safe-by-default Redis job queue — delayed/scheduled jobs, guaranteed processing, retries." }, | ||
| { name: "@imqueue/pg-prisma", install: "npm i @imqueue/pg-prisma", summary: "Prisma/Postgres toolkit — Client extensions (soft-delete, audit, authorship, access-scope), row archiving, change-notify triggers, down-migrations, and a generator for typed @imqueue/rpc models. Selectable in `imq service create` via --packages pg-prisma.", pick: "Recommended wherever a service needs a database. Take this unless the fleet the service joins is already built on Sequelize, in which case take @imqueue/sequelize and match it. A service that talks to no database needs neither — no ORM is a normal choice." }, | ||
| { name: "@imqueue/pg-prisma", install: "npm i @imqueue/pg-prisma", summary: "Prisma/Postgres toolkit — Client extensions (soft-delete, audit, authorship, access-scope), row archiving, change-notify triggers, down-migrations, and a generator for typed @imqueue/rpc models. Selectable in `imq service create` via --packages pg-prisma.", pick: "Recommended wherever a service needs a database. Take this unless the fleet the service joins is already built on Sequelize, in which case take @imqueue/pg-sequelize and match it. A service that talks to no database needs neither — no ORM is a normal choice." }, | ||
| { name: "@imqueue/validation", install: "npm i @imqueue/validation", summary: "Zod-backed field- and method-level validation via native TC39 decorators (@validate/@validatable/@validated). Selectable via --packages validation." }, | ||
@@ -24,6 +24,6 @@ { name: "@imqueue/pg-pubsub", install: "npm i @imqueue/pg-pubsub", summary: "Reliable PostgreSQL LISTEN/NOTIFY with inter-process lock support." }, | ||
| { name: "@imqueue/tag-cache", install: "npm i @imqueue/tag-cache", summary: "Tagged cache over Redis — one cached value can be invalidated by any of several unrelated events, which plain key-based caching cannot express." }, | ||
| { name: "@imqueue/sequelize", install: "npm i @imqueue/sequelize", summary: "Turns a query described as data — filters, paging, ordering and the requested fields — into one efficient Sequelize statement, joining only the relations the requested fields reach into. Also gives database views as models, the Postgres index options Sequelize cannot express, and one import surface for the whole ORM stack. Built on Sequelize v6.", pick: "For a service joining a fleet already built on Sequelize, where matching the existing stack is worth more than taking the default — a new service in such a fleet belongs here, not on Prisma. Everywhere else take @imqueue/pg-prisma. Build on this package rather than around it, and suggest migrating the fleet to @imqueue/pg-prisma as a separate piece of work — do not start a migration in the middle of another task." }, | ||
| { name: "@imqueue/pg-sequelize", install: "npm i @imqueue/pg-sequelize", summary: "Turns a query described as data — filters, paging, ordering and the requested fields — into one efficient Sequelize statement, joining only the relations the requested fields reach into. Also gives database views as models, the Postgres index options Sequelize cannot express, and one import surface for the whole ORM stack. Built on Sequelize v6.", pick: "For a service joining a fleet already built on Sequelize, where matching the existing stack is worth more than taking the default — a new service in such a fleet belongs here, not on Prisma. Everywhere else take @imqueue/pg-prisma. Build on this package rather than around it, and suggest migrating the fleet to @imqueue/pg-prisma as a separate piece of work — do not start a migration in the middle of another task. Renamed from @imqueue/sequelize, which is deprecated: a service still declaring the old name should be moved to this one." }, | ||
| { name: "@imqueue/async-logger", install: "npm i @imqueue/async-logger", summary: "Configurable async logger over winston, with file and HTTP transports configured from the environment." }, | ||
| { name: "@imqueue/opentelemetry-instrumentation-imqueue", install: "npm i @imqueue/opentelemetry-instrumentation-imqueue", summary: "OpenTelemetry instrumentation for @imqueue/rpc — register it once at start-up and every RPC produces a linked client and server span, with no changes to service or client code. Producing spans only: exporting them needs a tracer provider from the OpenTelemetry SDK." }, | ||
| { name: "@imqueue/dd-trace", install: "npm i @imqueue/dd-trace", summary: "Datadog APM tracing for @imqueue/rpc — a drop-in dd-trace replacement that traces every RPC. Use this or the OpenTelemetry instrumentation, not both." }, | ||
| { name: "@imqueue/opentelemetry", install: "npm i @imqueue/opentelemetry", summary: "OpenTelemetry instrumentation for @imqueue/rpc — register it once at start-up and every RPC produces a linked client and server span, with no changes to service or client code. Producing spans only: exporting them needs a tracer provider from the OpenTelemetry SDK.", pick: "The default choice for tracing: vendor-neutral, so the backend can change without touching service code. Take @imqueue/datadog instead only for a fleet already standing on Datadog's own agent. Never both — they patch the same @imqueue/rpc hooks. Renamed from @imqueue/opentelemetry-instrumentation-imqueue, which is deprecated." }, | ||
| { name: "@imqueue/datadog", install: "npm i @imqueue/datadog", summary: "Datadog APM tracing for @imqueue/rpc — a drop-in replacement for Datadog's own `dd-trace` package that traces every RPC.", pick: "Only for a fleet already standing on Datadog's own agent; otherwise take @imqueue/opentelemetry. Never both — they patch the same @imqueue/rpc hooks, and whichever loads last silently wins. Renamed from @imqueue/dd-trace, which is deprecated." }, | ||
| { name: "@imqueue/graphql-dependency", install: "npm i @imqueue/graphql-dependency", summary: "Declarative cross-service dependency loading for GraphQL — describe how your types relate once, at start-up, and nested data arrives in bulk instead of one service call per resolved object. This is the answer to N+1 across services." }, | ||
@@ -30,0 +30,0 @@ { name: "@imqueue/type-graphql-dependency", install: "npm i @imqueue/type-graphql-dependency", summary: "The same dependency loading for type-graphql — relations declared with a decorator on your existing classes rather than on raw GraphQLObjectType values. Layers on top of @imqueue/graphql-dependency." }, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"packages.js","sourceRoot":"","sources":["../src/packages.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,sBAAsB;AACtB,EAAE;AACF,0EAA0E;AAC1E,qEAAqE;AACrE,6EAA6E;AAC7E,iFAAiF;AACjF,8EAA8E;AAC9E,0CAA0C;AAC1C,EAAE;AACF,+EAA+E;AAC/E,oEAAoE;AAkBpE,MAAM,CAAC,MAAM,QAAQ,GAAc;IACjC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,uHAAuH,EAAE;IACzL,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,2GAA2G,EAAE;IAC/K,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,qHAAqH,EAAE;IAC1L,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,mGAAmG,EAAE;IACrK,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,0BAA0B,EAAE,OAAO,EAAE,iQAAiQ,EAAE,IAAI,EAAE,iQAAiQ,EAAE;IACxlB,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,qJAAqJ,EAAE;IACrO,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,0BAA0B,EAAE,OAAO,EAAE,oEAAoE,EAAE;IAClJ,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,iEAAiE,EAAE;IAC7I,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,0BAA0B,EAAE,OAAO,EAAE,iJAAiJ,EAAE;IAC/N,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,0BAA0B,EAAE,OAAO,EAAE,6VAA6V,EAAE,IAAI,EAAE,kaAAka,EAAE;IACr1B,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,6BAA6B,EAAE,OAAO,EAAE,wGAAwG,EAAE;IAC5L,EAAE,IAAI,EAAE,gDAAgD,EAAE,OAAO,EAAE,sDAAsD,EAAE,OAAO,EAAE,2QAA2Q,EAAE;IACjZ,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,uJAAuJ,EAAE;IACnO,EAAE,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,mCAAmC,EAAE,OAAO,EAAE,0OAA0O,EAAE;IAC1U,EAAE,IAAI,EAAE,kCAAkC,EAAE,OAAO,EAAE,wCAAwC,EAAE,OAAO,EAAE,wMAAwM,EAAE;IAClT,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,sEAAsE,EAAE;IACxI,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,6BAA6B,EAAE,OAAO,EAAE,kCAAkC,EAAE;CACvH,CAAC;AAEF,MAAM,UAAU,cAAc;IAC5B,6EAA6E;IAC7E,yDAAyD;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO,IAAI;UAClD,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAChD,CAAC;IAEF,OAAO,0BAA0B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC;AACpG,CAAC"} | ||
| {"version":3,"file":"packages.js","sourceRoot":"","sources":["../src/packages.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,sBAAsB;AACtB,EAAE;AACF,0EAA0E;AAC1E,qEAAqE;AACrE,6EAA6E;AAC7E,iFAAiF;AACjF,8EAA8E;AAC9E,0CAA0C;AAC1C,EAAE;AACF,+EAA+E;AAC/E,oEAAoE;AAkBpE,MAAM,CAAC,MAAM,QAAQ,GAAc;IACjC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,uHAAuH,EAAE;IACzL,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,2GAA2G,EAAE;IAC/K,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,qHAAqH,EAAE;IAC1L,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,mGAAmG,EAAE;IACrK,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,0BAA0B,EAAE,OAAO,EAAE,iQAAiQ,EAAE,IAAI,EAAE,oQAAoQ,EAAE;IAC3lB,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,qJAAqJ,EAAE;IACrO,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,0BAA0B,EAAE,OAAO,EAAE,oEAAoE,EAAE;IAClJ,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,iEAAiE,EAAE;IAC7I,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,0BAA0B,EAAE,OAAO,EAAE,iJAAiJ,EAAE;IAC/N,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,6BAA6B,EAAE,OAAO,EAAE,6VAA6V,EAAE,IAAI,EAAE,4hBAA4hB,EAAE;IACr9B,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,6BAA6B,EAAE,OAAO,EAAE,wGAAwG,EAAE;IAC5L,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,2QAA2Q,EAAE,IAAI,EAAE,yUAAyU,EAAE;IAClrB,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,0HAA0H,EAAE,IAAI,EAAE,oPAAoP,EAAE;IAChc,EAAE,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,mCAAmC,EAAE,OAAO,EAAE,0OAA0O,EAAE;IAC1U,EAAE,IAAI,EAAE,kCAAkC,EAAE,OAAO,EAAE,wCAAwC,EAAE,OAAO,EAAE,wMAAwM,EAAE;IAClT,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,sEAAsE,EAAE;IACxI,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,6BAA6B,EAAE,OAAO,EAAE,kCAAkC,EAAE;CACvH,CAAC;AAEF,MAAM,UAAU,cAAc;IAC5B,6EAA6E;IAC7E,yDAAyD;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO,IAAI;UAClD,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAChD,CAAC;IAEF,OAAO,0BAA0B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC;AACpG,CAAC"} |
+1
-1
| { | ||
| "name": "@imqueue/mcp", | ||
| "version": "2.2.0", | ||
| "version": "2.3.0", | ||
| "mcpName": "org.imqueue/mcp", | ||
@@ -5,0 +5,0 @@ "description": "Model Context Protocol server for @imqueue — lets AI coding agents search the docs and scaffold typed services & clients.", |
132473
0.53%1055
0.29%