@wizeworks/lens-node 0.3.0-alpha.2 → 0.3.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/elasticsearch.d.ts +21 -0
- package/dist/adapters/elasticsearch.d.ts.map +1 -0
- package/dist/adapters/elasticsearch.js +93 -0
- package/dist/adapters/elasticsearch.js.map +1 -0
- package/dist/adapters/ioredis.d.ts +4 -0
- package/dist/adapters/ioredis.d.ts.map +1 -0
- package/dist/adapters/ioredis.js +60 -0
- package/dist/adapters/ioredis.js.map +1 -0
- package/dist/adapters/mongodb-shape.d.ts +16 -0
- package/dist/adapters/mongodb-shape.d.ts.map +1 -0
- package/dist/adapters/mongodb-shape.js +81 -0
- package/dist/adapters/mongodb-shape.js.map +1 -0
- package/dist/adapters/mongodb.d.ts +4 -0
- package/dist/adapters/mongodb.d.ts.map +1 -0
- package/dist/adapters/mongodb.js +95 -0
- package/dist/adapters/mongodb.js.map +1 -0
- package/dist/adapters/nosql.d.ts +14 -0
- package/dist/adapters/nosql.d.ts.map +1 -0
- package/dist/adapters/nosql.js +61 -0
- package/dist/adapters/nosql.js.map +1 -0
- package/dist/adapters/redis-shape.d.ts +31 -0
- package/dist/adapters/redis-shape.d.ts.map +1 -0
- package/dist/adapters/redis-shape.js +80 -0
- package/dist/adapters/redis-shape.js.map +1 -0
- package/dist/adapters/redis.d.ts +4 -0
- package/dist/adapters/redis.d.ts.map +1 -0
- package/dist/adapters/redis.js +93 -0
- package/dist/adapters/redis.js.map +1 -0
- package/dist/adapters/registry.d.ts +2 -0
- package/dist/adapters/registry.d.ts.map +1 -1
- package/dist/adapters/registry.js +2 -0
- package/dist/adapters/registry.js.map +1 -1
- package/dist/api.d.ts +5 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +25 -7
- package/dist/api.js.map +1 -1
- package/dist/auto/config.d.ts +14 -0
- package/dist/auto/config.d.ts.map +1 -0
- package/dist/auto/config.js +51 -0
- package/dist/auto/config.js.map +1 -0
- package/dist/auto/esm-loader.d.ts +10 -0
- package/dist/auto/esm-loader.d.ts.map +1 -0
- package/dist/auto/esm-loader.js +10 -0
- package/dist/auto/esm-loader.js.map +1 -0
- package/dist/auto/esm-source.d.ts +15 -0
- package/dist/auto/esm-source.d.ts.map +1 -0
- package/dist/auto/esm-source.js +23 -0
- package/dist/auto/esm-source.js.map +1 -0
- package/dist/auto/frameworks.d.ts +3 -0
- package/dist/auto/frameworks.d.ts.map +1 -0
- package/dist/auto/frameworks.js +112 -0
- package/dist/auto/frameworks.js.map +1 -0
- package/dist/auto/handle.d.ts +7 -0
- package/dist/auto/handle.d.ts.map +1 -0
- package/dist/auto/handle.js +47 -0
- package/dist/auto/handle.js.map +1 -0
- package/dist/auto/hono.d.ts +3 -0
- package/dist/auto/hono.d.ts.map +1 -0
- package/dist/auto/hono.js +43 -0
- package/dist/auto/hono.js.map +1 -0
- package/dist/auto/http.d.ts +18 -0
- package/dist/auto/http.d.ts.map +1 -0
- package/dist/auto/http.js +77 -0
- package/dist/auto/http.js.map +1 -0
- package/dist/auto/install.d.ts +5 -0
- package/dist/auto/install.d.ts.map +1 -0
- package/dist/auto/install.js +26 -0
- package/dist/auto/install.js.map +1 -0
- package/dist/auto/libraries.d.ts +3 -0
- package/dist/auto/libraries.d.ts.map +1 -0
- package/dist/auto/libraries.js +108 -0
- package/dist/auto/libraries.js.map +1 -0
- package/dist/auto/module-hooks.d.ts +14 -0
- package/dist/auto/module-hooks.d.ts.map +1 -0
- package/dist/auto/module-hooks.js +90 -0
- package/dist/auto/module-hooks.js.map +1 -0
- package/dist/auto/nest.d.ts +7 -0
- package/dist/auto/nest.d.ts.map +1 -0
- package/dist/auto/nest.js +26 -0
- package/dist/auto/nest.js.map +1 -0
- package/dist/auto/owner.d.ts +19 -0
- package/dist/auto/owner.d.ts.map +1 -0
- package/dist/auto/owner.js +52 -0
- package/dist/auto/owner.js.map +1 -0
- package/dist/auto/prisma.d.ts +3 -0
- package/dist/auto/prisma.d.ts.map +1 -0
- package/dist/auto/prisma.js +55 -0
- package/dist/auto/prisma.js.map +1 -0
- package/dist/auto/sqlite.d.ts +3 -0
- package/dist/auto/sqlite.d.ts.map +1 -0
- package/dist/auto/sqlite.js +31 -0
- package/dist/auto/sqlite.js.map +1 -0
- package/dist/auto/state.d.ts +14 -0
- package/dist/auto/state.d.ts.map +1 -0
- package/dist/auto/state.js +16 -0
- package/dist/auto/state.js.map +1 -0
- package/dist/auto.d.ts +2 -0
- package/dist/auto.d.ts.map +1 -0
- package/dist/auto.js +4 -0
- package/dist/auto.js.map +1 -0
- package/dist/capture.d.ts +3 -1
- package/dist/capture.d.ts.map +1 -1
- package/dist/capture.js +4 -4
- package/dist/capture.js.map +1 -1
- package/dist/client-attributes.d.ts +19 -0
- package/dist/client-attributes.d.ts.map +1 -0
- package/dist/client-attributes.js +56 -0
- package/dist/client-attributes.js.map +1 -0
- package/dist/client-spans.d.ts +6 -4
- package/dist/client-spans.d.ts.map +1 -1
- package/dist/client-spans.js +20 -9
- package/dist/client-spans.js.map +1 -1
- package/dist/db.js +1 -1
- package/dist/db.js.map +1 -1
- package/dist/frameworks/fastify.d.ts.map +1 -1
- package/dist/frameworks/fastify.js +4 -2
- package/dist/frameworks/fastify.js.map +1 -1
- package/dist/frameworks/hono.d.ts +16 -0
- package/dist/frameworks/hono.d.ts.map +1 -1
- package/dist/frameworks/hono.js +4 -4
- package/dist/frameworks/hono.js.map +1 -1
- package/dist/frameworks/koa.d.ts +2 -0
- package/dist/frameworks/koa.d.ts.map +1 -1
- package/dist/frameworks/koa.js +4 -4
- package/dist/frameworks/koa.js.map +1 -1
- package/dist/frameworks/nest-errors.d.ts +10 -0
- package/dist/frameworks/nest-errors.d.ts.map +1 -0
- package/dist/frameworks/nest-errors.js +75 -0
- package/dist/frameworks/nest-errors.js.map +1 -0
- package/dist/frameworks/nest-route.d.ts +31 -0
- package/dist/frameworks/nest-route.d.ts.map +1 -0
- package/dist/frameworks/nest-route.js +58 -0
- package/dist/frameworks/nest-route.js.map +1 -0
- package/dist/frameworks/nest.d.ts +16 -0
- package/dist/frameworks/nest.d.ts.map +1 -0
- package/dist/frameworks/nest.js +73 -0
- package/dist/frameworks/nest.js.map +1 -0
- package/dist/frameworks/node-server.d.ts +3 -0
- package/dist/frameworks/node-server.d.ts.map +1 -1
- package/dist/frameworks/node-server.js +5 -3
- package/dist/frameworks/node-server.js.map +1 -1
- package/dist/graphql/document.d.ts +13 -0
- package/dist/graphql/document.d.ts.map +1 -0
- package/dist/graphql/document.js +62 -0
- package/dist/graphql/document.js.map +1 -0
- package/dist/graphql/index.d.ts +11 -0
- package/dist/graphql/index.d.ts.map +1 -0
- package/dist/graphql/index.js +83 -0
- package/dist/graphql/index.js.map +1 -0
- package/dist/graphql/operation.d.ts +37 -0
- package/dist/graphql/operation.d.ts.map +1 -0
- package/dist/graphql/operation.js +58 -0
- package/dist/graphql/operation.js.map +1 -0
- package/dist/graphql/resolvers.d.ts +5 -0
- package/dist/graphql/resolvers.d.ts.map +1 -0
- package/dist/graphql/resolvers.js +79 -0
- package/dist/graphql/resolvers.js.map +1 -0
- package/dist/graphql/shared.d.ts +14 -0
- package/dist/graphql/shared.d.ts.map +1 -0
- package/dist/graphql/shared.js +21 -0
- package/dist/graphql/shared.js.map +1 -0
- package/dist/http-client.d.ts +8 -0
- package/dist/http-client.d.ts.map +1 -0
- package/dist/http-client.js +132 -0
- package/dist/http-client.js.map +1 -0
- package/dist/hub-connect.d.ts +2 -0
- package/dist/hub-connect.d.ts.map +1 -1
- package/dist/hub-connect.js +3 -1
- package/dist/hub-connect.js.map +1 -1
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/info.d.ts +2 -0
- package/dist/info.d.ts.map +1 -1
- package/dist/info.js +1 -1
- package/dist/info.js.map +1 -1
- package/dist/kit.d.ts +3 -1
- package/dist/kit.d.ts.map +1 -1
- package/dist/kit.js +1 -0
- package/dist/kit.js.map +1 -1
- package/dist/logger.d.ts +4 -4
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +11 -7
- package/dist/logger.js.map +1 -1
- package/dist/logs/bunyan.d.ts +1 -1
- package/dist/logs/bunyan.d.ts.map +1 -1
- package/dist/logs/bunyan.js +2 -3
- package/dist/logs/bunyan.js.map +1 -1
- package/dist/logs/consola.d.ts +1 -1
- package/dist/logs/consola.d.ts.map +1 -1
- package/dist/logs/consola.js +1 -1
- package/dist/logs/consola.js.map +1 -1
- package/dist/logs/console.d.ts +1 -1
- package/dist/logs/console.d.ts.map +1 -1
- package/dist/logs/console.js +5 -3
- package/dist/logs/console.js.map +1 -1
- package/dist/logs/otel.d.ts.map +1 -1
- package/dist/logs/otel.js +1 -3
- package/dist/logs/otel.js.map +1 -1
- package/dist/logs/pino.d.ts +1 -1
- package/dist/logs/pino.d.ts.map +1 -1
- package/dist/logs/pino.js +2 -3
- package/dist/logs/pino.js.map +1 -1
- package/dist/logs/winston.d.ts +1 -1
- package/dist/logs/winston.d.ts.map +1 -1
- package/dist/logs/winston.js +2 -3
- package/dist/logs/winston.js.map +1 -1
- package/dist/loose-logs.d.ts +13 -0
- package/dist/loose-logs.d.ts.map +1 -0
- package/dist/loose-logs.js +21 -0
- package/dist/loose-logs.js.map +1 -0
- package/dist/mcp-find.d.ts +2 -2
- package/dist/mcp-find.d.ts.map +1 -1
- package/dist/mcp-find.js +68 -26
- package/dist/mcp-find.js.map +1 -1
- package/dist/mcp-memory.d.ts +7 -0
- package/dist/mcp-memory.d.ts.map +1 -0
- package/dist/mcp-memory.js +10 -0
- package/dist/mcp-memory.js.map +1 -0
- package/dist/mcp-metrics.d.ts +2 -2
- package/dist/mcp-metrics.d.ts.map +1 -1
- package/dist/mcp-metrics.js +11 -9
- package/dist/mcp-metrics.js.map +1 -1
- package/dist/mcp-overview.d.ts +5 -0
- package/dist/mcp-overview.d.ts.map +1 -0
- package/dist/mcp-overview.js +71 -0
- package/dist/mcp-overview.js.map +1 -0
- package/dist/mcp-page.d.ts +28 -0
- package/dist/mcp-page.d.ts.map +1 -0
- package/dist/mcp-page.js +77 -0
- package/dist/mcp-page.js.map +1 -0
- package/dist/mcp-problems.d.ts +5 -0
- package/dist/mcp-problems.d.ts.map +1 -0
- package/dist/mcp-problems.js +56 -0
- package/dist/mcp-problems.js.map +1 -0
- package/dist/mcp-projects.d.ts +11 -0
- package/dist/mcp-projects.d.ts.map +1 -0
- package/dist/mcp-projects.js +54 -0
- package/dist/mcp-projects.js.map +1 -0
- package/dist/mcp-search.d.ts +5 -0
- package/dist/mcp-search.d.ts.map +1 -0
- package/dist/mcp-search.js +53 -0
- package/dist/mcp-search.js.map +1 -0
- package/dist/mcp-shared.d.ts +83 -4
- package/dist/mcp-shared.d.ts.map +1 -1
- package/dist/mcp-shared.js +3 -0
- package/dist/mcp-shared.js.map +1 -1
- package/dist/mcp-store.d.ts +27 -0
- package/dist/mcp-store.d.ts.map +1 -0
- package/dist/mcp-store.js +56 -0
- package/dist/mcp-store.js.map +1 -0
- package/dist/mcp-tags.d.ts +8 -0
- package/dist/mcp-tags.d.ts.map +1 -0
- package/dist/mcp-tags.js +22 -0
- package/dist/mcp-tags.js.map +1 -0
- package/dist/mcp-traces.d.ts +2 -2
- package/dist/mcp-traces.d.ts.map +1 -1
- package/dist/mcp-traces.js +37 -25
- package/dist/mcp-traces.js.map +1 -1
- package/dist/mcp-traffic.d.ts +5 -0
- package/dist/mcp-traffic.d.ts.map +1 -0
- package/dist/mcp-traffic.js +87 -0
- package/dist/mcp-traffic.js.map +1 -0
- package/dist/mcp.d.ts +7 -4
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +27 -8
- package/dist/mcp.js.map +1 -1
- package/dist/messaging/bullmq.d.ts +4 -0
- package/dist/messaging/bullmq.d.ts.map +1 -0
- package/dist/messaging/bullmq.js +137 -0
- package/dist/messaging/bullmq.js.map +1 -0
- package/dist/messaging/shared.d.ts +10 -4
- package/dist/messaging/shared.d.ts.map +1 -1
- package/dist/messaging/shared.js +13 -4
- package/dist/messaging/shared.js.map +1 -1
- package/dist/messaging/sqs-message.d.ts +35 -0
- package/dist/messaging/sqs-message.d.ts.map +1 -0
- package/dist/messaging/sqs-message.js +66 -0
- package/dist/messaging/sqs-message.js.map +1 -0
- package/dist/messaging/sqs.d.ts +4 -0
- package/dist/messaging/sqs.d.ts.map +1 -0
- package/dist/messaging/sqs.js +104 -0
- package/dist/messaging/sqs.js.map +1 -0
- package/dist/processor.d.ts +2 -1
- package/dist/processor.d.ts.map +1 -1
- package/dist/processor.js +8 -3
- package/dist/processor.js.map +1 -1
- package/dist/request-capture.d.ts +7 -1
- package/dist/request-capture.d.ts.map +1 -1
- package/dist/request-capture.js +14 -1
- package/dist/request-capture.js.map +1 -1
- package/dist/request-naming.d.ts +8 -0
- package/dist/request-naming.d.ts.map +1 -0
- package/dist/request-naming.js +29 -0
- package/dist/request-naming.js.map +1 -0
- package/dist/sampling.d.ts.map +1 -1
- package/dist/sampling.js +2 -2
- package/dist/sampling.js.map +1 -1
- package/dist/search-api.d.ts +8 -0
- package/dist/search-api.d.ts.map +1 -0
- package/dist/search-api.js +21 -0
- package/dist/search-api.js.map +1 -0
- package/dist/sourcemaps.d.ts +15 -0
- package/dist/sourcemaps.d.ts.map +1 -0
- package/dist/sourcemaps.js +68 -0
- package/dist/sourcemaps.js.map +1 -0
- package/dist/spans.d.ts +3 -0
- package/dist/spans.d.ts.map +1 -1
- package/dist/spans.js +9 -1
- package/dist/spans.js.map +1 -1
- package/dist/store-entries.d.ts +34 -0
- package/dist/store-entries.d.ts.map +1 -0
- package/dist/store-entries.js +70 -0
- package/dist/store-entries.js.map +1 -0
- package/dist/store.d.ts +4 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +19 -22
- package/dist/store.js.map +1 -1
- package/dist/tags-api.d.ts +9 -0
- package/dist/tags-api.d.ts.map +1 -0
- package/dist/tags-api.js +16 -0
- package/dist/tags-api.js.map +1 -0
- package/dist/tracing.d.ts +6 -0
- package/dist/tracing.d.ts.map +1 -1
- package/dist/tracing.js +11 -7
- package/dist/tracing.js.map +1 -1
- package/dist/types.d.ts +16 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +3 -2
- package/dist/ui.js.map +1 -1
- package/dist/wizelens.d.ts +3 -1
- package/dist/wizelens.d.ts.map +1 -1
- package/dist/wizelens.js +29 -13
- package/dist/wizelens.js.map +1 -1
- package/package.json +14 -4
package/dist/logs/otel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otel.js","sourceRoot":"","sources":["../../src/logs/otel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAY/D,MAAM,MAAM,GAAG,CAAC,EAAgC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAEnG,8GAA8G;AAC9G,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,OAAO;QACL,MAAM,CAAC,MAAqB,EAAE,GAAa;YACzC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC;YAChD,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC;gBAAE,OAAO;YACtC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACjF,
|
|
1
|
+
{"version":3,"file":"otel.js","sourceRoot":"","sources":["../../src/logs/otel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAY/D,MAAM,MAAM,GAAG,CAAC,EAAgC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAEnG,8GAA8G;AAC9G,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,OAAO;QACL,MAAM,CAAC,MAAqB,EAAE,GAAa;YACzC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC;YAChD,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC;gBAAE,OAAO;YACtC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACjF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC;gBACH,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC;gBAC5G,QAAQ,EAAE,KAAK,IAAI,MAAM;gBACzB,OAAO,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrE,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E,CAAC,CAAC;QACL,CAAC;QACD,UAAU,EAAE,KAAK,IAAmB,EAAE,GAAE,CAAC;QACzC,QAAQ,EAAE,KAAK,IAAmB,EAAE,GAAE,CAAC;KACxC,CAAC;AACJ,CAAC"}
|
package/dist/logs/pino.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { WizeLens } from "../types.js";
|
|
2
|
-
/** Copy pino log lines
|
|
2
|
+
/** Copy pino log lines into WizeLens: into the trace of the request they belong to, or (outside one) as loose lines. Covers every logger made by the same pino copy. */
|
|
3
3
|
export declare function instrumentPino(wizelens: WizeLens, logger: unknown): boolean;
|
|
4
4
|
//# sourceMappingURL=pino.d.ts.map
|
package/dist/logs/pino.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pino.d.ts","sourceRoot":"","sources":["../../src/logs/pino.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pino.d.ts","sourceRoot":"","sources":["../../src/logs/pino.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAoE5C,wKAAwK;AACxK,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAgB3E"}
|
package/dist/logs/pino.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { addCleanup, logSinkOf } from "../adapters/registry.js";
|
|
2
|
-
import { activeSpan } from "../spans.js";
|
|
3
2
|
import { markDirect } from "./captured.js";
|
|
4
3
|
import { errorAttributes, levelFromNumber } from "./levels.js";
|
|
5
4
|
const SERIALIZERS = Symbol.for("pino.serializers");
|
|
@@ -48,7 +47,7 @@ function toEntry(logger, obj, msg, num, keys) {
|
|
|
48
47
|
}
|
|
49
48
|
function wrap(original, keys, sinks) {
|
|
50
49
|
return function (obj, msg, num) {
|
|
51
|
-
if (sinks.size > 0
|
|
50
|
+
if (sinks.size > 0) {
|
|
52
51
|
try {
|
|
53
52
|
const entry = toEntry(this, obj, msg, num, keys);
|
|
54
53
|
if (entry)
|
|
@@ -62,7 +61,7 @@ function wrap(original, keys, sinks) {
|
|
|
62
61
|
return original.call(this, obj, msg, num);
|
|
63
62
|
};
|
|
64
63
|
}
|
|
65
|
-
/** Copy pino log lines
|
|
64
|
+
/** Copy pino log lines into WizeLens: into the trace of the request they belong to, or (outside one) as loose lines. Covers every logger made by the same pino copy. */
|
|
66
65
|
export function instrumentPino(wizelens, logger) {
|
|
67
66
|
const sink = logSinkOf(wizelens);
|
|
68
67
|
if (!sink || !logger || typeof logger !== "object")
|
package/dist/logs/pino.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pino.js","sourceRoot":"","sources":["../../src/logs/pino.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"pino.js","sourceRoot":"","sources":["../../src/logs/pino.ts"],"names":[],"mappings":"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"}
|
package/dist/logs/winston.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { WizeLens } from "../types.js";
|
|
2
|
-
/** Copy winston log lines
|
|
2
|
+
/** Copy winston log lines into WizeLens: into the trace of the request they belong to, or (outside one) as loose lines. Child loggers made from it are covered too. */
|
|
3
3
|
export declare function instrumentWinston(wizelens: WizeLens, logger: unknown): boolean;
|
|
4
4
|
//# sourceMappingURL=winston.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"winston.d.ts","sourceRoot":"","sources":["../../src/logs/winston.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"winston.d.ts","sourceRoot":"","sources":["../../src/logs/winston.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAuC5C,uKAAuK;AACvK,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAwB9E"}
|
package/dist/logs/winston.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { addCleanup, logSinkOf } from "../adapters/registry.js";
|
|
2
|
-
import { activeSpan } from "../spans.js";
|
|
3
2
|
import { markDirect } from "./captured.js";
|
|
4
3
|
import { errorAttributes, formatArgs, levelFromName } from "./levels.js";
|
|
5
4
|
const LEVEL = Symbol.for("level");
|
|
@@ -32,7 +31,7 @@ function toEntry(info) {
|
|
|
32
31
|
const { message, extra } = messageOf(info);
|
|
33
32
|
return { level: levelFromName(level), category, message, attributes: { ...attributes, ...extra, ...errorAttributes(err) } };
|
|
34
33
|
}
|
|
35
|
-
/** Copy winston log lines
|
|
34
|
+
/** Copy winston log lines into WizeLens: into the trace of the request they belong to, or (outside one) as loose lines. Child loggers made from it are covered too. */
|
|
36
35
|
export function instrumentWinston(wizelens, logger) {
|
|
37
36
|
const sink = logSinkOf(wizelens);
|
|
38
37
|
const target = logger;
|
|
@@ -48,7 +47,7 @@ export function instrumentWinston(wizelens, logger) {
|
|
|
48
47
|
const original = target.write;
|
|
49
48
|
target.write = function (info) {
|
|
50
49
|
const level = String(info?.[LEVEL] ?? info?.level ?? "");
|
|
51
|
-
if (sinks.size > 0 &&
|
|
50
|
+
if (sinks.size > 0 && (this.isLevelEnabled?.(level) ?? true)) {
|
|
52
51
|
try {
|
|
53
52
|
const entry = toEntry(info);
|
|
54
53
|
for (const s of sinks)
|
package/dist/logs/winston.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"winston.js","sourceRoot":"","sources":["../../src/logs/winston.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"winston.js","sourceRoot":"","sources":["../../src/logs/winston.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type LogLevel, type LooseLogOptions } from "@wizeworks/lens-core";
|
|
2
|
+
/** Log lines written outside a request (startup, background jobs, timers). */
|
|
3
|
+
export interface LogOptions {
|
|
4
|
+
/** Keep lines written outside a request. Default true, or the WIZELENS_LOGS_OUTSIDE variable. */
|
|
5
|
+
outside?: boolean;
|
|
6
|
+
/** Lowest level kept for lines outside a request. Default "info", or the WIZELENS_LOGS_MIN_LEVEL variable. */
|
|
7
|
+
minLevel?: LogLevel;
|
|
8
|
+
/** Share of lines outside a request below "warn" that are kept, 0 to 1. Default 1, or the WIZELENS_LOGS_SAMPLE_RATE variable. */
|
|
9
|
+
sampleRate?: number;
|
|
10
|
+
}
|
|
11
|
+
/** The options for lines outside a request: the given ones, then the variables, then the defaults. */
|
|
12
|
+
export declare function looseLogsOf(o?: LogOptions, env?: NodeJS.ProcessEnv): LooseLogOptions;
|
|
13
|
+
//# sourceMappingURL=loose-logs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loose-logs.d.ts","sourceRoot":"","sources":["../src/loose-logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE/F,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,iGAAiG;IACjG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8GAA8G;IAC9G,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,iIAAiI;IACjI,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAgBD,sGAAsG;AACtG,wBAAgB,WAAW,CAAC,CAAC,GAAE,UAAe,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,eAAe,CAMrG"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { DEFAULT_LOOSE_LOGS } from "@wizeworks/lens-core";
|
|
2
|
+
const LEVELS = {
|
|
3
|
+
trace: "trace", debug: "debug", info: "info", information: "info", warn: "warn", warning: "warn", error: "error", critical: "critical", fatal: "critical",
|
|
4
|
+
};
|
|
5
|
+
const flag = (v) => {
|
|
6
|
+
const s = v?.trim().toLowerCase();
|
|
7
|
+
return s === "true" || s === "1" || s === "on" || s === "yes" ? true : s === "false" || s === "0" || s === "off" || s === "no" ? false : undefined;
|
|
8
|
+
};
|
|
9
|
+
const rate = (v) => {
|
|
10
|
+
const n = typeof v === "number" ? v : v?.trim() ? Number(v) : NaN;
|
|
11
|
+
return Number.isFinite(n) ? Math.min(1, Math.max(0, n)) : undefined;
|
|
12
|
+
};
|
|
13
|
+
/** The options for lines outside a request: the given ones, then the variables, then the defaults. */
|
|
14
|
+
export function looseLogsOf(o = {}, env = process.env) {
|
|
15
|
+
return {
|
|
16
|
+
outside: o.outside ?? flag(env.WIZELENS_LOGS_OUTSIDE) ?? DEFAULT_LOOSE_LOGS.outside,
|
|
17
|
+
minLevel: o.minLevel ?? LEVELS[env.WIZELENS_LOGS_MIN_LEVEL?.trim().toLowerCase() ?? ""] ?? DEFAULT_LOOSE_LOGS.minLevel,
|
|
18
|
+
sampleRate: rate(o.sampleRate) ?? rate(env.WIZELENS_LOGS_SAMPLE_RATE) ?? DEFAULT_LOOSE_LOGS.sampleRate,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=loose-logs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loose-logs.js","sourceRoot":"","sources":["../src/loose-logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAuC,MAAM,sBAAsB,CAAC;AAY/F,MAAM,MAAM,GAA6B;IACvC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU;CAC1J,CAAC;AAEF,MAAM,IAAI,GAAG,CAAC,CAAqB,EAAuB,EAAE;IAC1D,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClC,OAAO,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACrJ,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,CAAC,CAA8B,EAAsB,EAAE;IAClE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAClE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC,CAAC;AAEF,sGAAsG;AACtG,MAAM,UAAU,WAAW,CAAC,CAAC,GAAe,EAAE,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG;IAClF,OAAO;QACL,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,kBAAkB,CAAC,OAAO;QACnF,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,IAAI,kBAAkB,CAAC,QAAQ;QACtH,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,kBAAkB,CAAC,UAAU;KACvG,CAAC;AACJ,CAAC"}
|
package/dist/mcp-find.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
import { type
|
|
2
|
+
import { type Source } from "./mcp-shared.js";
|
|
3
3
|
/** find_slow_queries and find_n_plus_one. */
|
|
4
|
-
export declare function registerFindTools(server: McpServer,
|
|
4
|
+
export declare function registerFindTools(server: McpServer, src: Source): void;
|
|
5
5
|
//# sourceMappingURL=mcp-find.d.ts.map
|
package/dist/mcp-find.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-find.d.ts","sourceRoot":"","sources":["../src/mcp-find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,
|
|
1
|
+
{"version":3,"file":"mcp-find.d.ts","sourceRoot":"","sources":["../src/mcp-find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAuC,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAgGnF,6CAA6C;AAC7C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAGtE"}
|
package/dist/mcp-find.js
CHANGED
|
@@ -1,42 +1,84 @@
|
|
|
1
|
-
import { findNPlusOneDb, findNPlusOneHttp, queryText } from "@wizeworks/lens-core";
|
|
1
|
+
import { findNPlusOneDb, findNPlusOneHttp, parseSearch, queryText } from "@wizeworks/lens-core";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { json, READ_ONLY } from "./mcp-shared.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
import { findAll, rangeArg } from "./mcp-store.js";
|
|
5
|
+
/** How many slow queries are read, newest first, before the slowest are picked. */
|
|
6
|
+
const SLOW_SCAN = 5_000;
|
|
7
|
+
/** The slowest database spans over `threshold` in the range, with their SQL. Only the picked spans load their trace. */
|
|
8
|
+
async function slowQueries(data, threshold, range, limit) {
|
|
9
|
+
const spans = await findAll(data, "spans", parseSearch(`category:db duration:>=${threshold}ms`), range, SLOW_SCAN);
|
|
10
|
+
const top = spans.sort((a, b) => b.durationMs - a.durationMs).slice(0, limit);
|
|
11
|
+
const traces = new Map();
|
|
12
|
+
const rows = [];
|
|
13
|
+
for (const s of top) {
|
|
14
|
+
const trace = await (traces.get(s.traceId) ?? traces.set(s.traceId, Promise.resolve(data.get(s.traceId, false))).get(s.traceId));
|
|
15
|
+
const span = trace?.spans.find((x) => x.spanId === s.spanId);
|
|
16
|
+
rows.push({ traceId: s.traceId, spanId: s.spanId, durationMs: s.durationMs, query: span ? queryText(span) : s.name, service: s.service });
|
|
17
|
+
}
|
|
18
|
+
return rows;
|
|
8
19
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
20
|
+
/** Requests read to find N+1 candidates with another repeat count, and traces of them loaded. */
|
|
21
|
+
const N1_SCAN = 5_000;
|
|
22
|
+
const N1_LOAD = 200;
|
|
23
|
+
const iso = (ms) => new Date(ms).toISOString();
|
|
24
|
+
/** From the stats: the N+1 insights of the whole range, at the host's threshold. */
|
|
25
|
+
async function fromStats(data, range) {
|
|
26
|
+
const m = await data.page("insights", range, { status: "all" });
|
|
27
|
+
return m.groups
|
|
28
|
+
.filter((g) => g.kind === "n+1-db" || g.kind === "n+1-http")
|
|
29
|
+
.map((g) => ({ kind: g.kind === "n+1-db" ? "db" : "http", shape: g.shape, endpoints: g.endpoints.slice(0, 5), requests: g.occurrences, repeats: g.count, totalMs: Math.round(g.totalMs), lastSeen: iso(g.lastSeenMs), exampleTraceId: g.exampleTraceId }));
|
|
14
30
|
}
|
|
15
|
-
|
|
31
|
+
/** With another threshold: the requests with that many database or HTTP calls, most first, read whole and grouped by shape. */
|
|
32
|
+
async function fromTraces(data, n, range) {
|
|
33
|
+
const requests = await findAll(data, "requests", null, range, N1_SCAN);
|
|
34
|
+
const busy = requests.filter((r) => r.dbCount >= n || r.fetchCount >= n).sort((a, b) => Math.max(b.dbCount, b.fetchCount) - Math.max(a.dbCount, a.fetchCount)).slice(0, N1_LOAD);
|
|
35
|
+
const groups = new Map();
|
|
36
|
+
for (const r of busy) {
|
|
37
|
+
const t = await data.get(r.traceId, false);
|
|
38
|
+
if (!t)
|
|
39
|
+
continue;
|
|
40
|
+
const found = [...findNPlusOneDb(t, n).map((f) => ({ kind: "db", f })), ...findNPlusOneHttp(t, n).map((f) => ({ kind: "http", f }))];
|
|
41
|
+
for (const { kind, f } of found) {
|
|
42
|
+
const g = groups.get(`${kind}|${f.shape}`) ?? { kind, shape: f.shape, endpoints: [], requests: 0, repeats: 0, totalMs: 0, lastSeen: iso(t.startMs), exampleTraceId: t.traceId };
|
|
43
|
+
if (!g.endpoints.includes(r.endpoint) && g.endpoints.length < 5)
|
|
44
|
+
g.endpoints.push(r.endpoint);
|
|
45
|
+
groups.set(`${kind}|${f.shape}`, { ...g, requests: g.requests + 1, repeats: g.repeats + f.count, totalMs: Math.round(g.totalMs + f.totalMs) });
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return [...groups.values()];
|
|
49
|
+
}
|
|
50
|
+
function registerSlowQueries(server, src) {
|
|
16
51
|
const inputSchema = {
|
|
17
|
-
|
|
52
|
+
...src.arg,
|
|
53
|
+
thresholdMs: z.number().min(0).optional().describe(`Default ${src.defaults.slowQueryMs}.`),
|
|
18
54
|
limit: z.number().int().min(1).max(500).optional().describe("Default 20."),
|
|
55
|
+
range: rangeArg("to look"),
|
|
19
56
|
};
|
|
20
|
-
const description = "Find database queries
|
|
57
|
+
const description = "Find the slowest database queries over a threshold, from the whole store.";
|
|
21
58
|
server.registerTool("find_slow_queries", { description, inputSchema, annotations: READ_ONLY }, async (args) => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
.sort((a, b) => b.durationMs - a.durationMs)
|
|
25
|
-
.slice(0, args.limit ?? 20);
|
|
26
|
-
return json(rows);
|
|
59
|
+
const data = await src.open("find_slow_queries", args);
|
|
60
|
+
return json(await slowQueries(data, args.thresholdMs ?? data.slowQueryMs, args.range ?? "24h", args.limit ?? 20));
|
|
27
61
|
});
|
|
28
62
|
}
|
|
29
|
-
function registerNPlusOne(server,
|
|
30
|
-
const inputSchema = {
|
|
31
|
-
|
|
63
|
+
function registerNPlusOne(server, src) {
|
|
64
|
+
const inputSchema = {
|
|
65
|
+
...src.arg,
|
|
66
|
+
minRepeats: z.number().int().min(2).optional().describe(`Default ${src.defaults.nPlusOneThreshold}, the project's threshold.`),
|
|
67
|
+
limit: z.number().int().min(1).max(200).optional().describe("Default 20."),
|
|
68
|
+
range: rangeArg("to look"),
|
|
69
|
+
};
|
|
70
|
+
const description = "Find N+1 patterns (the same SQL or HTTP call shape repeated in one request), grouped by shape, the most time first, from the whole store.";
|
|
32
71
|
server.registerTool("find_n_plus_one", { description, inputSchema, annotations: READ_ONLY }, async (args) => {
|
|
33
|
-
|
|
34
|
-
|
|
72
|
+
const data = await src.open("find_n_plus_one", args);
|
|
73
|
+
const n = args.minRepeats ?? data.nPlusOneThreshold;
|
|
74
|
+
const range = args.range ?? "24h";
|
|
75
|
+
const groups = data.page && n === data.nPlusOneThreshold ? await fromStats(data, range) : await fromTraces(data, n, range);
|
|
76
|
+
return json(groups.sort((a, b) => b.totalMs - a.totalMs).slice(0, args.limit ?? 20));
|
|
35
77
|
});
|
|
36
78
|
}
|
|
37
79
|
/** find_slow_queries and find_n_plus_one. */
|
|
38
|
-
export function registerFindTools(server,
|
|
39
|
-
registerSlowQueries(server,
|
|
40
|
-
registerNPlusOne(server,
|
|
80
|
+
export function registerFindTools(server, src) {
|
|
81
|
+
registerSlowQueries(server, src);
|
|
82
|
+
registerNPlusOne(server, src);
|
|
41
83
|
}
|
|
42
84
|
//# sourceMappingURL=mcp-find.js.map
|
package/dist/mcp-find.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-find.js","sourceRoot":"","sources":["../src/mcp-find.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"mcp-find.js","sourceRoot":"","sources":["../src/mcp-find.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ModelOf, type PageName, type TimeRange, type Trace } from "@wizeworks/lens-core";
|
|
2
|
+
/** get_page and get_overview on the app's own traces, with its thresholds. */
|
|
3
|
+
export declare function memoryPages(traces: () => readonly Trace[], o: {
|
|
4
|
+
slowQueryMs: number;
|
|
5
|
+
nPlusOneThreshold: number;
|
|
6
|
+
}, now?: () => number): <P extends PageName>(page: P, range: TimeRange, params?: Record<string, string>) => Promise<ModelOf<P>>;
|
|
7
|
+
//# sourceMappingURL=mcp-memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-memory.d.ts","sourceRoot":"","sources":["../src/mcp-memory.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,OAAO,EAAE,KAAK,QAAQ,EAA4B,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEzI,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,SAAS,KAAK,EAAE,EAAE,CAAC,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,GAAE,MAAM,MAAiB,IAC/H,CAAC,SAAS,QAAQ,QAAQ,CAAC,SAAS,SAAS,WAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAQ,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAIvH"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Page models for the in-app MCP tools: computed from the traces this app keeps, the way the dashboard does in the browser.
|
|
2
|
+
import { memoryExecutor, pageContext, runPageSync } from "@wizeworks/lens-core";
|
|
3
|
+
/** get_page and get_overview on the app's own traces, with its thresholds. */
|
|
4
|
+
export function memoryPages(traces, o, now = Date.now) {
|
|
5
|
+
return async (page, range, params = {}) => {
|
|
6
|
+
const ex = memoryExecutor(traces(), o);
|
|
7
|
+
return runPageSync(page, pageContext(range, now(), params, { slowQueryMs: o.slowQueryMs }), ex);
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=mcp-memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-memory.js","sourceRoot":"","sources":["../src/mcp-memory.ts"],"names":[],"mappings":"AAAA,4HAA4H;AAC5H,OAAO,EAAE,cAAc,EAA+B,WAAW,EAAE,WAAW,EAA8B,MAAM,sBAAsB,CAAC;AAEzI,8EAA8E;AAC9E,MAAM,UAAU,WAAW,CAAC,MAA8B,EAAE,CAAqD,EAAE,GAAG,GAAiB,IAAI,CAAC,GAAG;IAC7I,OAAO,KAAK,EAAsB,IAAO,EAAE,KAAgB,EAAE,MAAM,GAA2B,EAAE,EAAuB,EAAE;QACvH,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACvC,OAAO,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAClG,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/mcp-metrics.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
import { type
|
|
2
|
+
import { type Source } from "./mcp-shared.js";
|
|
3
3
|
/** list_metrics and get_metric, when the data source has metrics. */
|
|
4
|
-
export declare function registerMetricTools(server: McpServer,
|
|
4
|
+
export declare function registerMetricTools(server: McpServer, src: Source): void;
|
|
5
5
|
//# sourceMappingURL=mcp-metrics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-metrics.d.ts","sourceRoot":"","sources":["../src/mcp-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,
|
|
1
|
+
{"version":3,"file":"mcp-metrics.d.ts","sourceRoot":"","sources":["../src/mcp-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAmB,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AA2E/D,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAKxE"}
|
package/dist/mcp-metrics.js
CHANGED
|
@@ -36,21 +36,23 @@ function detailOf(d) {
|
|
|
36
36
|
hiddenLines: d.hidden,
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
-
function registerListMetrics(server,
|
|
39
|
+
function registerListMetrics(server, src, ranges) {
|
|
40
40
|
const inputSchema = {
|
|
41
|
+
...src.arg,
|
|
41
42
|
range: z.enum(ranges).optional().describe(`Time range. Default ${ranges.includes("1h") ? "1h" : ranges[0]}.`),
|
|
42
43
|
service: z.string().optional().describe("Only this service."),
|
|
43
44
|
q: z.string().optional().describe("Only metrics whose name has this text."),
|
|
44
45
|
};
|
|
45
46
|
const description = "List metrics (CPU, memory, GC, request rates, app metrics) with their newest values, and a runtime summary per service.";
|
|
46
47
|
server.registerTool("list_metrics", { description, inputSchema, annotations: READ_ONLY }, async (args) => {
|
|
47
|
-
|
|
48
|
+
const data = await src.open("list_metrics", args);
|
|
48
49
|
const range = args.range ?? (ranges.includes("1h") ? "1h" : ranges[0]);
|
|
49
50
|
return json(catalogOf(await data.metrics(range, { service: args.service ?? "", q: args.q ?? "" })));
|
|
50
51
|
});
|
|
51
52
|
}
|
|
52
|
-
function registerGetMetric(server,
|
|
53
|
+
function registerGetMetric(server, src, ranges) {
|
|
53
54
|
const inputSchema = {
|
|
55
|
+
...src.arg,
|
|
54
56
|
name: z.string().min(1).describe("Metric name, for example process.cpu.utilization."),
|
|
55
57
|
range: z.enum(ranges).optional().describe("Time range. Default 1h."),
|
|
56
58
|
service: z.string().optional().describe("Only this service."),
|
|
@@ -59,7 +61,7 @@ function registerGetMetric(server, data, audit, ranges) {
|
|
|
59
61
|
};
|
|
60
62
|
const description = "Get one metric over time: summary values and up to 12 points per line, formatted in its unit.";
|
|
61
63
|
server.registerTool("get_metric", { description, inputSchema, annotations: READ_ONLY }, async (args) => {
|
|
62
|
-
|
|
64
|
+
const data = await src.open("get_metric", args);
|
|
63
65
|
const range = args.range ?? (ranges.includes("1h") ? "1h" : ranges[0]);
|
|
64
66
|
const params = { metric: args.name, service: args.service ?? "", group: args.group ?? "", stat: args.stat ?? "" };
|
|
65
67
|
const m = await data.metrics(range, params);
|
|
@@ -67,11 +69,11 @@ function registerGetMetric(server, data, audit, ranges) {
|
|
|
67
69
|
});
|
|
68
70
|
}
|
|
69
71
|
/** list_metrics and get_metric, when the data source has metrics. */
|
|
70
|
-
export function registerMetricTools(server,
|
|
71
|
-
if (!
|
|
72
|
+
export function registerMetricTools(server, src) {
|
|
73
|
+
if (!src.defaults.metrics)
|
|
72
74
|
return;
|
|
73
|
-
const ranges = (
|
|
74
|
-
registerListMetrics(server,
|
|
75
|
-
registerGetMetric(server,
|
|
75
|
+
const ranges = (src.defaults.metricRanges?.length ? src.defaults.metricRanges : ALL_RANGES);
|
|
76
|
+
registerListMetrics(server, src, ranges);
|
|
77
|
+
registerGetMetric(server, src, ranges);
|
|
76
78
|
}
|
|
77
79
|
//# sourceMappingURL=mcp-metrics.js.map
|
package/dist/mcp-metrics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-metrics.js","sourceRoot":"","sources":["../src/mcp-metrics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAwC,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"mcp-metrics.js","sourceRoot":"","sources":["../src/mcp-metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { type Source } from "./mcp-shared.js";
|
|
3
|
+
/** get_overview: the dashboard's overview for a morning report. On a host with several projects, no `project` reads them all. */
|
|
4
|
+
export declare function registerOverviewTool(server: McpServer, src: Source): void;
|
|
5
|
+
//# sourceMappingURL=mcp-overview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-overview.d.ts","sourceRoot":"","sources":["../src/mcp-overview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAwD,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAgEpG,iIAAiI;AACjI,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAYzE"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { json, READ_ONLY } from "./mcp-shared.js";
|
|
3
|
+
const RANGES = ["1h", "6h", "24h", "7d"];
|
|
4
|
+
const TOP_ERRORS = 10;
|
|
5
|
+
const SEVERITY = { unhealthy: 0, degraded: 1, healthy: 2, idle: 3 };
|
|
6
|
+
const iso = (ms) => new Date(ms).toISOString();
|
|
7
|
+
const round = (v) => (v == null ? null : Math.round(v * 100) / 100);
|
|
8
|
+
const headline = (h) => ({ value: round(h.value), previous: round(h.previous), changePercent: round(h.change) });
|
|
9
|
+
const serviceOf = (r) => ({ name: r.name, kind: r.kind, status: r.status, requests: r.requests, errors: r.errors, errorRatePercent: round(r.errorRate), avgMs: round(r.avgMs), p95Ms: round(r.p95Ms) });
|
|
10
|
+
const errorOf = (g) => ({
|
|
11
|
+
type: g.type,
|
|
12
|
+
message: g.message,
|
|
13
|
+
service: g.service,
|
|
14
|
+
endpoint: g.endpoint,
|
|
15
|
+
count: g.count,
|
|
16
|
+
critical: g.critical,
|
|
17
|
+
firstSeen: iso(g.firstSeenMs),
|
|
18
|
+
lastSeen: iso(g.lastSeenMs),
|
|
19
|
+
traceId: g.traceIds[0] ?? null,
|
|
20
|
+
});
|
|
21
|
+
const insightOf = (i) => ({ title: i.title, impact: i.impact, occurrences: i.occurrences, totalMs: round(i.totalMs), endpoints: i.endpoints.slice(0, 3) });
|
|
22
|
+
/** One project's morning report: traffic against the window before, every service's health, the top errors, and the biggest insights. */
|
|
23
|
+
async function reportOf(data, range) {
|
|
24
|
+
const [ov, svc, err] = await Promise.all([data.page("overview", range), data.page("services", range), data.page("errors", range)]);
|
|
25
|
+
const services = [...svc.rows].sort((a, b) => SEVERITY[a.status] - SEVERITY[b.status] || b.requests - a.requests);
|
|
26
|
+
return {
|
|
27
|
+
window: { from: iso(ov.meta.window.from), to: iso(ov.meta.window.to), comparedWith: ov.meta.compareLabel },
|
|
28
|
+
stillSettling: ov.meta.settling ?? 0,
|
|
29
|
+
requests: headline(ov.headlines.total),
|
|
30
|
+
errorRatePercent: headline(ov.headlines.errorRate),
|
|
31
|
+
avgDurationMs: headline(ov.headlines.avgDuration),
|
|
32
|
+
needsAttention: services.filter((s) => s.status === "unhealthy" || s.status === "degraded").map((s) => `${s.name}: ${s.status}`),
|
|
33
|
+
services: services.map(serviceOf),
|
|
34
|
+
exceptions: err.exceptions,
|
|
35
|
+
topErrors: [...err.groups].sort((a, b) => b.count - a.count).slice(0, TOP_ERRORS).map(errorOf),
|
|
36
|
+
insights: ov.insights.map(insightOf),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/** Every project at once, the ones that need attention first, with totals across them. */
|
|
40
|
+
function summaryOf(range, reports) {
|
|
41
|
+
const sorted = [...reports].sort((a, b) => b.report.needsAttention.length - a.report.needsAttention.length || (b.report.requests.value ?? 0) - (a.report.requests.value ?? 0));
|
|
42
|
+
const services = reports.flatMap((r) => r.report.services);
|
|
43
|
+
return {
|
|
44
|
+
range,
|
|
45
|
+
totals: {
|
|
46
|
+
projects: reports.length,
|
|
47
|
+
requests: reports.reduce((t, r) => t + (r.report.requests.value ?? 0), 0),
|
|
48
|
+
exceptions: reports.reduce((t, r) => t + r.report.exceptions, 0),
|
|
49
|
+
services: services.length,
|
|
50
|
+
unhealthy: services.filter((s) => s.status === "unhealthy").length,
|
|
51
|
+
degraded: services.filter((s) => s.status === "degraded").length,
|
|
52
|
+
},
|
|
53
|
+
projects: sorted.map(({ project, report }) => ({ project: project.name, projectId: project.id, ...report })),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/** get_overview: the dashboard's overview for a morning report. On a host with several projects, no `project` reads them all. */
|
|
57
|
+
export function registerOverviewTool(server, src) {
|
|
58
|
+
if (!src.defaults.overview)
|
|
59
|
+
return;
|
|
60
|
+
const inputSchema = { ...src.arg, range: z.enum(RANGES).optional().describe("Time range, compared with the one before it. Default 24h.") };
|
|
61
|
+
const description = "A health report: requests, error rate, and duration against the window before; every service's status, traffic, errors, and p95; the top errors; and the biggest performance insights. Without `project` on a multi-project host, it covers every project. Good for a daily or morning report.";
|
|
62
|
+
server.registerTool("get_overview", { description, inputSchema, annotations: READ_ONLY }, async (args) => {
|
|
63
|
+
const range = args.range ?? "24h";
|
|
64
|
+
const named = args.project;
|
|
65
|
+
if (named || !src.each)
|
|
66
|
+
return json({ range, ...(await reportOf(await src.open("get_overview", args), range)) });
|
|
67
|
+
const all = await src.each("get_overview", args);
|
|
68
|
+
return json(summaryOf(range, await Promise.all(all.map(async ({ project, data }) => ({ project, report: await reportOf(data, range) })))));
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=mcp-overview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-overview.js","sourceRoot":"","sources":["../src/mcp-overview.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAuC,SAAS,EAAe,MAAM,iBAAiB,CAAC;AAEpG,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAyC,CAAC;AACjF,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,QAAQ,GAAyC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAE1G,MAAM,GAAG,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACvD,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AACnF,MAAM,QAAQ,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE3H,MAAM,SAAS,GAAG,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAEpN,MAAM,OAAO,GAAG,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,IAAI;IACZ,OAAO,EAAE,CAAC,CAAC,OAAO;IAClB,OAAO,EAAE,CAAC,CAAC,OAAO;IAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;IACpB,KAAK,EAAE,CAAC,CAAC,KAAK;IACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;IACpB,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7B,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI;CAC/B,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAEzK,yIAAyI;AACzI,KAAK,UAAU,QAAQ,CAAC,IAAmB,EAAE,KAAgB;IAC3D,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,IAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,IAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACtI,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClH,OAAO;QACL,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;QAC1G,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC;QACpC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;QACtC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC;QAClD,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC;QACjD,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAChI,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;QACjC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;QAC9F,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;KACrC,CAAC;AACJ,CAAC;AAID,0FAA0F;AAC1F,SAAS,SAAS,CAAC,KAAgB,EAAE,OAAkD;IACrF,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/K,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3D,OAAO;QACL,KAAK;QACL,MAAM,EAAE;YACN,QAAQ,EAAE,OAAO,CAAC,MAAM;YACxB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YACzE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAChE,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM;YAClE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM;SACjE;QACD,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;KAC7G,CAAC;AACJ,CAAC;AAED,iIAAiI;AACjI,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,GAAW;IACjE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ;QAAE,OAAO;IACnC,MAAM,WAAW,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC,EAAE,CAAC;IAC3I,MAAM,WAAW,GACf,gSAAgS,CAAC;IACnS,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACvG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QAClC,MAAM,KAAK,GAAI,IAA6B,CAAC,OAAO,CAAC;QACrD,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACjH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7I,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { type Source } from "./mcp-shared.js";
|
|
3
|
+
/** The dashboard pages an agent may read, with what each holds and the parameters it takes. */
|
|
4
|
+
export declare const MCP_PAGES: {
|
|
5
|
+
readonly overview: "Headlines, charts, top errors, insights, and services. service: a service name.";
|
|
6
|
+
readonly services: "Every service with status, traffic, errors, and latency. service: the selected row.";
|
|
7
|
+
readonly service: "One service: endpoints, dependencies, versions, and errors. service (required): a name.";
|
|
8
|
+
readonly endpoint: "One endpoint: latency, errors, slowest requests, users affected. service, endpoint (\"GET /api/orders/{id}\"), both required.";
|
|
9
|
+
readonly requests: "Request list with totals. method, status (5xx, 4xx, 200), duration (slow, >1s), service, endpoint, user, q, sort, page, size.";
|
|
10
|
+
readonly traces: "Trace list. status (ok, error), duration, service, q, sort (time, duration), page, size.";
|
|
11
|
+
readonly errors: "Error groups. status (unresolved, resolved, ignored, all), service, type, endpoint, user, critical=1, new=1, q, sort (recent, count), page, size.";
|
|
12
|
+
readonly error: "One error group: occurrences over time, endpoints, users affected, stack trace. group (required): a group key from errors.";
|
|
13
|
+
readonly database: "Queries by shape, slowest and most called, N+1 and slow query counts. service, q, table, operation, database, sort, page, size.";
|
|
14
|
+
readonly query: "One query shape: calls, latency, endpoints. q (required): the shape from database.";
|
|
15
|
+
readonly insights: "Performance insights (N+1, slow queries, duplicates). area, impact, status, service, endpoint, q, key.";
|
|
16
|
+
readonly logs: "Log lines with level counts. level, exact=1, service, category, trace, user, q, page, size.";
|
|
17
|
+
readonly rendering: "Browser page views and components. q.";
|
|
18
|
+
readonly route: "One browser route. route (required).";
|
|
19
|
+
readonly "log-patterns": "Log lines grouped into patterns, with counts. level, exact=1, service, pattern, origin.";
|
|
20
|
+
readonly traffic: "Requests, errors, and latency per time bucket and per endpoint. service, endpoint, buckets (16, 24, 48), from, to (ms).";
|
|
21
|
+
readonly problems: "Problems: anomalies grouped with a suspected cause. service, sensitivity (high, medium, low), problem, at, focus.";
|
|
22
|
+
readonly uptime: "Uptime checks: status, response time, incidents. check (one check id).";
|
|
23
|
+
readonly users: "Signed-in users by requests. q, page, size.";
|
|
24
|
+
readonly user: "One user: requests, failures, errors they hit, slowest requests. user (required).";
|
|
25
|
+
};
|
|
26
|
+
/** get_page and get_alerts. */
|
|
27
|
+
export declare function registerPageTools(server: McpServer, src: Source): void;
|
|
28
|
+
//# sourceMappingURL=mcp-page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-page.d.ts","sourceRoot":"","sources":["../src/mcp-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAmC,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAG/E,+FAA+F;AAC/F,eAAO,MAAM,SAAS;uBACV,iFAAiF;uBACjF,qFAAqF;sBACtF,yFAAyF;uBACxF,+HAA+H;uBAC/H,+HAA+H;qBACjI,0FAA0F;qBAC1F,mJAAmJ;oBACpJ,4HAA4H;uBACzH,iIAAiI;oBACpI,oFAAoF;uBACjF,wGAAwG;mBAC5G,6FAA6F;wBACxF,uCAAuC;oBAC3C,sCAAsC;6BAC7B,yFAAyF;sBAChG,yHAAyH;uBACxH,mHAAmH;qBACrH,wEAAwE;oBACzE,6CAA6C;mBAC9C,mFAAmF;CACrC,CAAC;AAoDvD,+BAA+B;AAC/B,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAGtE"}
|