From cb7d31c362eaa175970a6236ac569a38270d6bea Mon Sep 17 00:00:00 2001 From: Maximo Guk <62088388+Maximo-Guk@users.noreply.github.com> Date: Sat, 26 Apr 2025 14:01:15 -0500 Subject: [PATCH 1/2] Add syncpack lint job --- .github/workflows/test-and-check.yml | 2 + .syncpackrc.cjs | 4 +- apps/docs-autorag/package.json | 6 +- apps/sandbox-container/package.json | 9 +- apps/workers-bindings/package.json | 6 +- apps/workers-observability/package.json | 6 +- package.json | 3 - packages/mcp-common/package.json | 8 +- packages/mcp-common/src/server.ts | 7 +- packages/mcp-observability/package.json | 2 +- pnpm-lock.yaml | 875 +++--------------------- 11 files changed, 135 insertions(+), 793 deletions(-) diff --git a/.github/workflows/test-and-check.yml b/.github/workflows/test-and-check.yml index 0b8d1fe4..6425dfd8 100644 --- a/.github/workflows/test-and-check.yml +++ b/.github/workflows/test-and-check.yml @@ -21,6 +21,8 @@ jobs: cache: 'pnpm' - name: Install dependencies run: pnpm install + - name: Syncpack lint + run: pnpm syncpack lint - name: Run linter run: pnpm check:turbo - name: Run linter (formatting) diff --git a/.syncpackrc.cjs b/.syncpackrc.cjs index 6122b07f..c126f7da 100644 --- a/.syncpackrc.cjs +++ b/.syncpackrc.cjs @@ -14,12 +14,12 @@ const config = { { label: 'Sentry types that are compatible with toucan-js', dependencies: ['@sentry/types', '@sentry/tracing'], - pinVersion: '7.76.0', + pinVersion: '8.9.2', }, { label: 'toucan-js that is compatible with pinned sentry types', dependencies: ['toucan-js'], - pinVersion: '3.3.1', + pinVersion: '4.1.1', }, { label: 'pin vitest compatible with @cloudflare/vitest-pool-workers', diff --git a/apps/docs-autorag/package.json b/apps/docs-autorag/package.json index afe82dca..b5bde227 100644 --- a/apps/docs-autorag/package.json +++ b/apps/docs-autorag/package.json @@ -12,12 +12,12 @@ "test": "vitest run" }, "dependencies": { - "@cloudflare/workers-oauth-provider": "0.0.2", + "@cloudflare/workers-oauth-provider": "0.0.3", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.9.0", + "@modelcontextprotocol/sdk": "1.10.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.62", + "agents": "0.0.67", "cloudflare": "4.2.0", "hono": "4.7.6", "mime": "4.0.6", diff --git a/apps/sandbox-container/package.json b/apps/sandbox-container/package.json index 3abbb739..5bb509d5 100644 --- a/apps/sandbox-container/package.json +++ b/apps/sandbox-container/package.json @@ -18,26 +18,23 @@ "eval:ci": "start-server-and-test --expect 404 eval:server http://localhost:8976 'vitest run --testTimeout=60000 --config vitest.config.evals.ts'" }, "dependencies": { - "@cloudflare/workers-oauth-provider": "0.0.2", + "@cloudflare/workers-oauth-provider": "0.0.3", "@hono/node-server": "1.13.8", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.9.0", + "@modelcontextprotocol/sdk": "1.10.2", "@n8n/json-schema-to-zod": "1.1.0", "@repo/eval-tools": "workspace:*", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", "@types/node": "22.14.1", - "agents": "0.0.62", + "agents": "0.0.67", "cron-schedule": "5.0.4", "esbuild": "0.25.1", "hono": "4.7.6", "mime": "4.0.6", - "octokit": "4.1.2", - "partyserver": "0.0.65", "simple-git-hooks": "2.12.1", "tsx": "4.19.3", "vitest-evals": "0.1.4", - "workers-mcp": "0.1.0-3", "zod": "3.24.2" }, "devDependencies": { diff --git a/apps/workers-bindings/package.json b/apps/workers-bindings/package.json index f093f1a5..0852c2a5 100644 --- a/apps/workers-bindings/package.json +++ b/apps/workers-bindings/package.json @@ -22,12 +22,12 @@ "wrangler": "4.10.0" }, "dependencies": { - "@cloudflare/workers-oauth-provider": "0.0.2", - "@modelcontextprotocol/sdk": "1.9.0", + "@cloudflare/workers-oauth-provider": "0.0.3", + "@modelcontextprotocol/sdk": "1.10.2", "@n8n/json-schema-to-zod": "1.1.0", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.62", + "agents": "0.0.67", "hono": "4.7.6", "zod": "3.24.2" } diff --git a/apps/workers-observability/package.json b/apps/workers-observability/package.json index 740a2db6..5e5a8601 100644 --- a/apps/workers-observability/package.json +++ b/apps/workers-observability/package.json @@ -12,12 +12,12 @@ "test": "vitest run" }, "dependencies": { - "@cloudflare/workers-oauth-provider": "0.0.2", + "@cloudflare/workers-oauth-provider": "0.0.3", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.9.0", + "@modelcontextprotocol/sdk": "1.10.2", "@repo/mcp-common": "workspace:*", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.62", + "agents": "0.0.67", "cloudflare": "4.2.0", "hono": "4.7.6", "zod": "3.24.2" diff --git a/package.json b/package.json index 62f7ca5f..1ff7fd2a 100644 --- a/package.json +++ b/package.json @@ -52,8 +52,5 @@ "overrides": { "esbuild": "0.25.1" } - }, - "dependencies": { - "workers-observability": "link:apps/workers-observability" } } diff --git a/packages/mcp-common/package.json b/packages/mcp-common/package.json index 77ae3edf..5ac98ff7 100644 --- a/packages/mcp-common/package.json +++ b/packages/mcp-common/package.json @@ -11,14 +11,14 @@ "test:coverage": "run-vitest-coverage" }, "dependencies": { - "@cloudflare/workers-oauth-provider": "0.0.2", + "@cloudflare/workers-oauth-provider": "0.0.3", "@hono/zod-validator": "0.4.3", - "@modelcontextprotocol/sdk": "1.9.0", + "@modelcontextprotocol/sdk": "1.10.2", "@repo/mcp-observability": "workspace:*", - "agents": "0.0.62", + "agents": "0.0.67", "cloudflare": "4.2.0", "hono": "4.7.6", - "toucan-js": "^4.1.1", + "toucan-js": "4.1.1", "zod": "3.24.2" }, "devDependencies": { diff --git a/packages/mcp-common/src/server.ts b/packages/mcp-common/src/server.ts index 9f4642c5..c467e7cd 100644 --- a/packages/mcp-common/src/server.ts +++ b/packages/mcp-common/src/server.ts @@ -7,6 +7,8 @@ import { MetricsTracker, SessionStart, ToolCall } from '../../mcp-observability/ import { McpError } from './mcp-error' import type { ToolCallback } from '@modelcontextprotocol/sdk/server/mcp.js' +import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js' +import type { ServerNotification, ServerRequest } from '@modelcontextprotocol/sdk/types.js' import type { SentryClient } from './sentry' export class CloudflareMCPServer extends McpServer { @@ -54,7 +56,10 @@ export class CloudflareMCPServer extends McpServer { this.tool = (name: string, ...rest: unknown[]): ReturnType => { const toolCb = rest[rest.length - 1] as ToolCallback const replacementToolCb: ToolCallback = (arg1, arg2) => { - const toolCall = toolCb(arg1 as { [x: string]: any } & { signal: AbortSignal }, arg2) + const toolCall = toolCb( + arg1 as { [x: string]: any } & RequestHandlerExtra, + arg2 + ) // There are 4 cases to track: try { if (isPromise(toolCall)) { diff --git a/packages/mcp-observability/package.json b/packages/mcp-observability/package.json index 08f8fb9e..09a06c6a 100644 --- a/packages/mcp-observability/package.json +++ b/packages/mcp-observability/package.json @@ -12,7 +12,7 @@ "bin": "bin" }, "dependencies": { - "@modelcontextprotocol/sdk": "1.9.0", + "@modelcontextprotocol/sdk": "1.10.2", "wrangler": "4.10.0", "zod": "3.24.2", "@types/node": "22.14.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4cf76d12..5fb55192 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,10 +10,6 @@ overrides: importers: .: - dependencies: - workers-observability: - specifier: link:apps/workers-observability - version: link:apps/workers-observability devDependencies: '@changesets/cli': specifier: 2.28.1 @@ -55,14 +51,14 @@ importers: apps/docs-autorag: dependencies: '@cloudflare/workers-oauth-provider': - specifier: 0.0.2 - version: 0.0.2 + specifier: 0.0.3 + version: 0.0.3 '@hono/zod-validator': specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.9.0 - version: 1.9.0 + specifier: 1.10.2 + version: 1.10.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -70,8 +66,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.62 - version: 0.0.62(@cloudflare/workers-types@4.20250416.0) + specifier: 0.0.67 + version: 0.0.67(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -107,8 +103,8 @@ importers: apps/sandbox-container: dependencies: '@cloudflare/workers-oauth-provider': - specifier: 0.0.2 - version: 0.0.2 + specifier: 0.0.3 + version: 0.0.3 '@hono/node-server': specifier: 1.13.8 version: 1.13.8(hono@4.7.6) @@ -116,8 +112,8 @@ importers: specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.9.0 - version: 1.9.0 + specifier: 1.10.2 + version: 1.10.2 '@n8n/json-schema-to-zod': specifier: 1.1.0 version: 1.1.0(zod@3.24.2) @@ -134,8 +130,8 @@ importers: specifier: 22.14.1 version: 22.14.1 agents: - specifier: 0.0.62 - version: 0.0.62(@cloudflare/workers-types@4.20250416.0) + specifier: 0.0.67 + version: 0.0.67(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cron-schedule: specifier: 5.0.4 version: 5.0.4 @@ -148,12 +144,6 @@ importers: mime: specifier: 4.0.6 version: 4.0.6 - octokit: - specifier: 4.1.2 - version: 4.1.2 - partyserver: - specifier: 0.0.65 - version: 0.0.65(@cloudflare/workers-types@4.20250416.0) simple-git-hooks: specifier: 2.12.1 version: 2.12.1 @@ -163,9 +153,6 @@ importers: vitest-evals: specifier: 0.1.4 version: 0.1.4(vitest@3.0.9) - workers-mcp: - specifier: 0.1.0-3 - version: 0.1.0-3 zod: specifier: 3.24.2 version: 3.24.2 @@ -195,11 +182,11 @@ importers: apps/workers-bindings: dependencies: '@cloudflare/workers-oauth-provider': - specifier: 0.0.2 - version: 0.0.2 + specifier: 0.0.3 + version: 0.0.3 '@modelcontextprotocol/sdk': - specifier: 1.9.0 - version: 1.9.0 + specifier: 1.10.2 + version: 1.10.2 '@n8n/json-schema-to-zod': specifier: 1.1.0 version: 1.1.0(zod@3.24.2) @@ -210,8 +197,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.62 - version: 0.0.62(@cloudflare/workers-types@4.20250416.0) + specifier: 0.0.67 + version: 0.0.67(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) hono: specifier: 4.7.6 version: 4.7.6 @@ -241,14 +228,14 @@ importers: apps/workers-observability: dependencies: '@cloudflare/workers-oauth-provider': - specifier: 0.0.2 - version: 0.0.2 + specifier: 0.0.3 + version: 0.0.3 '@hono/zod-validator': specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.9.0 - version: 1.9.0 + specifier: 1.10.2 + version: 1.10.2 '@repo/mcp-common': specifier: workspace:* version: link:../../packages/mcp-common @@ -256,8 +243,8 @@ importers: specifier: workspace:* version: link:../../packages/mcp-observability agents: - specifier: 0.0.62 - version: 0.0.62(@cloudflare/workers-types@4.20250416.0) + specifier: 0.0.67 + version: 0.0.67(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -357,20 +344,20 @@ importers: packages/mcp-common: dependencies: '@cloudflare/workers-oauth-provider': - specifier: 0.0.2 - version: 0.0.2 + specifier: 0.0.3 + version: 0.0.3 '@hono/zod-validator': specifier: 0.4.3 version: 0.4.3(hono@4.7.6)(zod@3.24.2) '@modelcontextprotocol/sdk': - specifier: 1.9.0 - version: 1.9.0 + specifier: 1.10.2 + version: 1.10.2 '@repo/mcp-observability': specifier: workspace:* version: link:../mcp-observability agents: - specifier: 0.0.62 - version: 0.0.62(@cloudflare/workers-types@4.20250416.0) + specifier: 0.0.67 + version: 0.0.67(@cloudflare/workers-types@4.20250416.0)(react@17.0.2) cloudflare: specifier: 4.2.0 version: 4.2.0 @@ -378,7 +365,7 @@ importers: specifier: 4.7.6 version: 4.7.6 toucan-js: - specifier: ^4.1.1 + specifier: 4.1.1 version: 4.1.1 zod: specifier: 3.24.2 @@ -415,8 +402,8 @@ importers: packages/mcp-observability: dependencies: '@modelcontextprotocol/sdk': - specifier: 1.9.0 - version: 1.9.0 + specifier: 1.10.2 + version: 1.10.2 '@types/node': specifier: 22.14.1 version: 22.14.1 @@ -565,12 +552,6 @@ packages: '@changesets/write@0.4.0': resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@clack/core@0.3.5': - resolution: {integrity: sha512-5cfhQNH+1VQ2xLQlmzXMqUoiaH0lRBq9/CLW9lTyMbuKLC3+xEK01tHVvyut++mLOn5urSHmkm6I0Lg9MaJSTQ==} - - '@clack/prompts@0.8.2': - resolution: {integrity: sha512-6b9Ab2UiZwJYA9iMyboYyW9yJvAO9V753ZhS+DHKEjZRKAxPPOb7MXXu84lsPFG+vZt6FRFniZ8rXi+zCIw4yQ==} - '@cloudflare/kv-asset-handler@0.4.0': resolution: {integrity: sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==} engines: {node: '>=18.0.0'} @@ -651,8 +632,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-oauth-provider@0.0.2': - resolution: {integrity: sha512-/4ITlItqtmG077CBdo/14c4GNrhLDQ9Y/+mDMEppzXz5g0gVbYjzZGtXrQFQG1mfOHNfXmNxgVwin2eh0X423Q==} + '@cloudflare/workers-oauth-provider@0.0.3': + resolution: {integrity: sha512-KxDYmfb30XSYRkj3FYmN/FZPBIXv5w6hlE8vcukMI9fx9PfxIeTM3eRkrJU0kac6XKPAvkx7vW6anLkCh1PFow==} '@cloudflare/workers-types@4.20250414.0': resolution: {integrity: sha512-ZHl8LiyUMWiIxYqpasen8Lc75Ef+0afqL26TEd95eRIi5kgkEbjDJ7uIUnpxMoZTRI0J8Hy5YEPtt4nFXt+TpA==} @@ -1011,18 +992,14 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@jsdoc/salty@0.2.9': - resolution: {integrity: sha512-yYxMVH7Dqw6nO0d5NIV8OQWnitU8k6vXH8NtgqAfIa/IUqRMxRv/NUJJ08VEKbAakwxlgBl5PJdrU0dMPStsnw==} - engines: {node: '>=v12.0.0'} - '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - '@modelcontextprotocol/sdk@1.9.0': - resolution: {integrity: sha512-Jq2EUCQpe0iyO5FGpzVYDNFR6oR53AIrwph9yWl7uSc7IWUMsrmpmSaTGra5hQNunXpM+9oit85p924jWuHzUA==} + '@modelcontextprotocol/sdk@1.10.2': + resolution: {integrity: sha512-rb6AMp2DR4SN+kc6L1ta2NCpApyA9WYNx3CrTSZvGxq9wH71bRur+zRqPfg0vQ9mjywR7qZdX2RGHOPq3ss+tA==} engines: {node: '>=18'} '@n8n/json-schema-to-zod@1.1.0': @@ -1046,125 +1023,6 @@ packages: resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} engines: {node: '>=12.4.0'} - '@octokit/app@15.1.6': - resolution: {integrity: sha512-WELCamoCJo9SN0lf3SWZccf68CF0sBNPQuLYmZ/n87p5qvBJDe9aBtr5dHkh7T9nxWZ608pizwsUbypSzZAiUw==} - engines: {node: '>= 18'} - - '@octokit/auth-app@7.2.1': - resolution: {integrity: sha512-4jaopCVOtWN0V8qCx/1s2pkRqC6tcvIQM3kFB99eIpsP53GfsoIKO08D94b83n/V3iGihHmxWR2lXzE0NicUGg==} - engines: {node: '>= 18'} - - '@octokit/auth-oauth-app@8.1.4': - resolution: {integrity: sha512-71iBa5SflSXcclk/OL3lJzdt4iFs56OJdpBGEBl1wULp7C58uiswZLV6TdRaiAzHP1LT8ezpbHlKuxADb+4NkQ==} - engines: {node: '>= 18'} - - '@octokit/auth-oauth-device@7.1.5': - resolution: {integrity: sha512-lR00+k7+N6xeECj0JuXeULQ2TSBB/zjTAmNF2+vyGPDEFx1dgk1hTDmL13MjbSmzusuAmuJD8Pu39rjp9jH6yw==} - engines: {node: '>= 18'} - - '@octokit/auth-oauth-user@5.1.4': - resolution: {integrity: sha512-4tJRofMHm6ZCd3O2PVgboBbQ/lNtacREeaihet0+wCATZmvPK+jjg2K6NjBfY69An3yzQdmkcMeiaOOoxOPr7Q==} - engines: {node: '>= 18'} - - '@octokit/auth-token@5.1.2': - resolution: {integrity: sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==} - engines: {node: '>= 18'} - - '@octokit/auth-unauthenticated@6.1.3': - resolution: {integrity: sha512-d5gWJla3WdSl1yjbfMpET+hUSFCE15qM0KVSB0H1shyuJihf/RL1KqWoZMIaonHvlNojkL9XtLFp8QeLe+1iwA==} - engines: {node: '>= 18'} - - '@octokit/core@6.1.5': - resolution: {integrity: sha512-vvmsN0r7rguA+FySiCsbaTTobSftpIDIpPW81trAmsv9TGxg3YCujAxRYp/Uy8xmDgYCzzgulG62H7KYUFmeIg==} - engines: {node: '>= 18'} - - '@octokit/endpoint@10.1.4': - resolution: {integrity: sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==} - engines: {node: '>= 18'} - - '@octokit/graphql@8.2.2': - resolution: {integrity: sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA==} - engines: {node: '>= 18'} - - '@octokit/oauth-app@7.1.6': - resolution: {integrity: sha512-OMcMzY2WFARg80oJNFwWbY51TBUfLH4JGTy119cqiDawSFXSIBujxmpXiKbGWQlvfn0CxE6f7/+c6+Kr5hI2YA==} - engines: {node: '>= 18'} - - '@octokit/oauth-authorization-url@7.1.1': - resolution: {integrity: sha512-ooXV8GBSabSWyhLUowlMIVd9l1s2nsOGQdlP2SQ4LnkEsGXzeCvbSbCPdZThXhEFzleGPwbapT0Sb+YhXRyjCA==} - engines: {node: '>= 18'} - - '@octokit/oauth-methods@5.1.5': - resolution: {integrity: sha512-Ev7K8bkYrYLhoOSZGVAGsLEscZQyq7XQONCBBAl2JdMg7IT3PQn/y8P0KjloPoYpI5UylqYrLeUcScaYWXwDvw==} - engines: {node: '>= 18'} - - '@octokit/openapi-types@24.2.0': - resolution: {integrity: sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==} - - '@octokit/openapi-types@25.0.0': - resolution: {integrity: sha512-FZvktFu7HfOIJf2BScLKIEYjDsw6RKc7rBJCdvCTfKsVnx2GEB/Nbzjr29DUdb7vQhlzS/j8qDzdditP0OC6aw==} - - '@octokit/openapi-webhooks-types@10.4.0': - resolution: {integrity: sha512-HMiF7FUiVBYfp8pPijMTkWuPELQB6XkPftrnSuK1C1YXaaq2+0ganiQkorEQfXTmhtwlgHJwXT6P8miVhIyjQA==} - - '@octokit/plugin-paginate-graphql@5.2.4': - resolution: {integrity: sha512-pLZES1jWaOynXKHOqdnwZ5ULeVR6tVVCMm+AUbp0htdcyXDU95WbkYdU4R2ej1wKj5Tu94Mee2Ne0PjPO9cCyA==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '>=6' - - '@octokit/plugin-paginate-rest@11.6.0': - resolution: {integrity: sha512-n5KPteiF7pWKgBIBJSk8qzoZWcUkza2O6A0za97pMGVrGfPdltxrfmfF5GucHYvHGZD8BdaZmmHGz5cX/3gdpw==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '>=6' - - '@octokit/plugin-paginate-rest@12.0.0': - resolution: {integrity: sha512-MPd6WK1VtZ52lFrgZ0R2FlaoiWllzgqFHaSZxvp72NmoDeZ0m8GeJdg4oB6ctqMTYyrnDYp592Xma21mrgiyDA==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '>=6' - - '@octokit/plugin-rest-endpoint-methods@13.5.0': - resolution: {integrity: sha512-9Pas60Iv9ejO3WlAX3maE1+38c5nqbJXV5GrncEfkndIpZrJ/WPMRd2xYDcPPEt5yzpxcjw9fWNoPhsSGzqKqw==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '>=6' - - '@octokit/plugin-retry@7.2.1': - resolution: {integrity: sha512-wUc3gv0D6vNHpGxSaR3FlqJpTXGWgqmk607N9L3LvPL4QjaxDgX/1nY2mGpT37Khn+nlIXdljczkRnNdTTV3/A==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '>=6' - - '@octokit/plugin-throttling@9.6.1': - resolution: {integrity: sha512-bt3EBUkeKUzDQXRCcFrR9SWVqlLFRRqcCrr6uAorWt6NXTyjMKqcGrFmXqJy9NCbnKgiIZ2OXWq04theFc76Jg==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': ^6.1.3 - - '@octokit/request-error@6.1.8': - resolution: {integrity: sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==} - engines: {node: '>= 18'} - - '@octokit/request@9.2.3': - resolution: {integrity: sha512-Ma+pZU8PXLOEYzsWf0cn/gY+ME57Wq8f49WTXA8FMHp2Ps9djKw//xYJ1je8Hm0pR2lU9FUGeJRWOtxq6olt4w==} - engines: {node: '>= 18'} - - '@octokit/types@13.10.0': - resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==} - - '@octokit/types@14.0.0': - resolution: {integrity: sha512-VVmZP0lEhbo2O1pdq63gZFiGCKkm8PPp8AUOijlwPO6hojEVjspA0MWKP7E4hbvGxzFKNqKr6p0IYtOH/Wf/zA==} - - '@octokit/webhooks-methods@5.1.1': - resolution: {integrity: sha512-NGlEHZDseJTCj8TMMFehzwa9g7On4KJMPVHDSrHxCQumL6uSQR8wIkP/qesv52fXqV1BPf4pTxwtS31ldAt9Xg==} - engines: {node: '>= 18'} - - '@octokit/webhooks@13.8.0': - resolution: {integrity: sha512-3PCWyFBNbW2+Ox36VAkSqlPoIb96NZiPcICRYySHZrDTM2NuNxvrjPeaQDj2egqILs9EZFObRTHVMe4XxXJV7w==} - engines: {node: '>= 18'} - '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} @@ -1291,9 +1149,6 @@ packages: '@sideway/pinpoint@2.0.0': resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - '@silvia-odwyer/photon-node@0.3.3': - resolution: {integrity: sha512-30nDWTHQ7/d1xGnO41ol5tnBA1Bmo2N6h9HNPByBbIYU2xCYB9g4o4zB6vxAq15ixrBRTjb1Nnz1K0Jli3Hxnw==} - '@sindresorhus/merge-streams@2.3.0': resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} @@ -1301,9 +1156,6 @@ packages: '@standard-schema/spec@1.0.0': resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} - '@types/aws-lambda@8.10.149': - resolution: {integrity: sha512-NXSZIhfJjnXqJgtS7IwutqIF/SOy1Wz5Px4gUY1RWITp3AYTyuJS4xaXr/bIJY1v15XMzrJ5soGnPM+7uigZjA==} - '@types/diff-match-patch@1.0.36': resolution: {integrity: sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==} @@ -1319,15 +1171,6 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/linkify-it@5.0.0': - resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} - - '@types/markdown-it@14.1.2': - resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==} - - '@types/mdurl@2.0.0': - resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} - '@types/mock-fs@4.13.4': resolution: {integrity: sha512-mXmM0o6lULPI8z3XNnQCpL0BGxPwx1Ul1wXYEPBGl4efShyxW2Rln0JOPEWGyZaYZMM6OVXM/15zUuFMY52ljg==} @@ -1467,8 +1310,20 @@ packages: resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} engines: {node: '>= 8.0.0'} - agents@0.0.62: - resolution: {integrity: sha512-jxBdXzEi4g0JY/ZWxxCsYmPsFoAy04vDFIALPofo5IIzN2mf0yPFWoIcCaJRU3NO2KsyAH1OmWJIWuRq7QuN0w==} + agents@0.0.67: + resolution: {integrity: sha512-Bjn8w9230xcgeP/UKvWbZVvQvPuCpA1S0f8X6859xSvkviAcKWgHidnyRBUMUCniljNTzbU1ZgR8YWveJ4xbqg==} + peerDependencies: + react: '*' + + ai@4.3.10: + resolution: {integrity: sha512-jw+ahNu+T4SHj9gtraIKtYhanJI6gj2IZ5BFcfEHgoyQVMln5a5beGjzl/nQSX6FxyLqJ/UBpClRa279EEKK/Q==} + engines: {node: '>=18'} + peerDependencies: + react: ^18 || ^19 || ^19.0.0-rc + zod: ^3.23.8 + peerDependenciesMeta: + react: + optional: true ai@4.3.6: resolution: {integrity: sha512-cRL/9zFfPRRfVUOk+ll5FHy08FVc692voFzXWJ2YPD9KS+mkjDPp72QT9Etr0ZD/mdlJZHYq4ZHIts7nRpdD6A==} @@ -1508,10 +1363,6 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - array-back@6.2.2: - resolution: {integrity: sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==} - engines: {node: '>=12.17'} - array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} @@ -1560,9 +1411,6 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - before-after-hook@3.0.2: - resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} - better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} @@ -1580,9 +1428,6 @@ packages: resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} engines: {node: '>=18'} - bottleneck@2.19.5: - resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} - brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -1601,15 +1446,6 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - cache-point@3.0.1: - resolution: {integrity: sha512-itTIMLEKbh6Dw5DruXbxAgcyLnh/oPGVLBfTPqBOftASxHe8bAeXy7JkO4F0LvHqht7XqP5O/09h5UcHS2w0FA==} - engines: {node: '>=12.17'} - peerDependencies: - '@75lb/nature': latest - peerDependenciesMeta: - '@75lb/nature': - optional: true - call-bind-apply-helpers@1.0.1: resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} engines: {node: '>= 0.4'} @@ -1626,10 +1462,6 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - catharsis@0.9.0: - resolution: {integrity: sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==} - engines: {node: '>= 10'} - chai@5.2.0: resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} engines: {node: '>=12'} @@ -1701,9 +1533,6 @@ packages: resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} engines: {node: '>=18'} - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -1753,10 +1582,6 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - current-module-paths@1.1.2: - resolution: {integrity: sha512-H4s4arcLx/ugbu1XkkgSvcUZax0L6tXUqnppGniQb8l5VjUKGHoayXE5RiriiPhYDd+kjZnaok1Uig13PKtKYQ==} - engines: {node: '>=12.17'} - data-uri-to-buffer@2.0.2: resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} @@ -1889,10 +1714,6 @@ packages: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} @@ -1950,10 +1771,6 @@ packages: escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -2141,9 +1958,6 @@ packages: resolution: {integrity: sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==} engines: {node: '>=8.0.0'} - fast-content-type-parse@2.0.1: - resolution: {integrity: sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -2175,15 +1989,6 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} - file-set@5.2.2: - resolution: {integrity: sha512-/KgJI1V/QaDK4enOk/E2xMFk1cTWJghEr7UmWiRZfZ6upt6gQCfMn4jJ7aOm64OKurj4TaVnSSgSDqv5ZKYA3A==} - engines: {node: '>=12.17'} - peerDependencies: - '@75lb/nature': latest - peerDependenciesMeta: - '@75lb/nature': - optional: true - fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -2241,10 +2046,6 @@ packages: from@0.1.7: resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} - fs-extra@11.3.0: - resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} - engines: {node: '>=14.14'} - fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} @@ -2587,23 +2388,6 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - js2xmlparser@4.0.2: - resolution: {integrity: sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==} - - jsdoc-api@9.3.4: - resolution: {integrity: sha512-di8lggLACEttpyAZ6WjKKafUP4wC4prAGjt40nMl7quDpp2nD7GmLt6/WxhRu9Q6IYoAAySsNeidBXYVAMwlqg==} - engines: {node: '>=12.17'} - peerDependencies: - '@75lb/nature': latest - peerDependenciesMeta: - '@75lb/nature': - optional: true - - jsdoc@4.0.4: - resolution: {integrity: sha512-zeFezwyXeG4syyYHbvh1A967IAqq/67yXtXvuL5wnqCkFZe8I0vKfm+EO+YEvLguo6w9CDUbrAXVtJSHh2E8rw==} - engines: {node: '>=12.0.0'} - hasBin: true - jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -2639,21 +2423,9 @@ packages: jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - - just-filter-object@3.2.0: - resolution: {integrity: sha512-OeorYJxmp2zhy/0LxjS1UjbJ7XMY8M4gVa1RRKxnIVheCYmng2E2hE0lEbDGv4aRh/HI7FgNUXtOMnmNxpoXRQ==} - - just-map-values@3.2.0: - resolution: {integrity: sha512-TyqCKtK3NxiUgOjRYMIKURvBTHesi3XzomDY0QVPZ3rYzLCF+nNq5rSi0B/L5aOd/WMTZo6ukzA4wih4HUbrDg==} - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - klaw@3.0.0: - resolution: {integrity: sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==} - kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} @@ -2733,9 +2505,6 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - linkify-it@5.0.0: - resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -2773,33 +2542,15 @@ packages: map-stream@0.1.0: resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} - markdown-it-anchor@8.6.7: - resolution: {integrity: sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==} - peerDependencies: - '@types/markdown-it': '*' - markdown-it: '*' - - markdown-it@14.1.0: - resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} - hasBin: true - marked@15.0.7: resolution: {integrity: sha512-dgLIeKGLx5FwziAnsk4ONoGwHwGPJzselimvlVskE9XLN4Orv9u2VA3GWw/lYUqjfA0rUT/6fqKwfZJapP9BEg==} engines: {node: '>= 18'} hasBin: true - marked@4.3.0: - resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} - engines: {node: '>= 12'} - hasBin: true - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - mdurl@2.0.0: - resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} - media-typer@1.1.0: resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} engines: {node: '>= 0.8'} @@ -2873,11 +2624,6 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - mock-fs@5.5.0: resolution: {integrity: sha512-d/P1M/RacgM3dB0sJ8rjeRNXxtapkPCUnMGmIN0ixJ16F/E4GUZCvWcSGfWGz8eaXYvn1s9baUwNjI4LOPEjiA==} engines: {node: '>=12.0.0'} @@ -2934,20 +2680,10 @@ packages: resolution: {integrity: sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==} engines: {node: ^18.17.0 || >=20.5.0} - npm-path@2.0.4: - resolution: {integrity: sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==} - engines: {node: '>=0.8'} - hasBin: true - npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - npm-which@3.0.1: - resolution: {integrity: sha512-CM8vMpeFQ7MAPin0U3wzDhSGV0hMHNwHU0wjo402IVizPDrs45jSfSuoC+wThevY88LQti8VvaAnqYAeVy3I1A==} - engines: {node: '>=4.2.0'} - hasBin: true - object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -2964,10 +2700,6 @@ packages: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - object-to-spawn-args@2.0.1: - resolution: {integrity: sha512-6FuKFQ39cOID+BMZ3QaphcC8Y4cw6LXBLyIgPU+OhIYwviJamPAn+4mITapnSBQrejB+NNp+FMskhD8Cq+Ys3w==} - engines: {node: '>=8.0.0'} - object.assign@4.1.5: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} @@ -2984,10 +2716,6 @@ packages: resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} engines: {node: '>= 0.4'} - octokit@4.1.2: - resolution: {integrity: sha512-0kcTxJOK3yQrJsRb8wKa28hlTze4QOz4sLuUnfXXnhboDhFKgv8LxS86tFwbsafDW9JZ08ByuVAE8kQbYJIZkA==} - engines: {node: '>= 18'} - ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} @@ -3064,13 +2792,8 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - partyserver@0.0.65: - resolution: {integrity: sha512-7Kuwm1vX+p1wSL6gW0/nnehZOXYQWNp7Ywushh6n+90tRjtK303unyonQuWlDvZBM3s9GBaVpQA5x3LZ0CLUHw==} - peerDependencies: - '@cloudflare/workers-types': ^4.20240729.0 - - partyserver@0.0.66: - resolution: {integrity: sha512-GyC1uy4dvC4zPkwdzHqCkQ1J1CMiI0swIJQ0qqsJh16WNkEo5QHuU3l3ikLO8t+Yq0cRr0qO8++xbr11h+107w==} + partyserver@0.0.67: + resolution: {integrity: sha512-GQ0fjJ7n5r5LrsFHFUkGR3Bd50YdBZaDNjvRTi8PowZgI5fvCFliT/XdDpRVuwfDDk0jb9es2cXcaAh1z5GsLA==} peerDependencies: '@cloudflare/workers-types': ^4.20240729.0 @@ -3181,10 +2904,6 @@ packages: engines: {node: '>= 0.10'} hasBin: true - punycode.js@2.3.1: - resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} - engines: {node: '>=6'} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -3233,9 +2952,6 @@ packages: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} - requizzle@0.2.4: - resolution: {integrity: sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==} - resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -3550,25 +3266,14 @@ packages: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} - tmp-promise@3.0.3: - resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} - tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} - tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - toad-cache@3.7.0: - resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} - engines: {node: '>=12'} - toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} @@ -3593,10 +3298,6 @@ packages: peerDependencies: typescript: '>=4.2.0' - ts-blank-space@0.4.4: - resolution: {integrity: sha512-G6GkD6oEJ7j5gG2e5qAizfE4Ap7JXMpnN0CEp9FEt4LExdaqsdwB90aQsaAwcKhiSxVk5KoqFW9xfxTQ4lBUnQ==} - engines: {node: '>=18.0.0'} - ts-toolbelt@9.6.0: resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==} @@ -3678,18 +3379,12 @@ packages: engines: {node: '>=14.17'} hasBin: true - uc.micro@2.1.0: - resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - underscore@1.13.7: - resolution: {integrity: sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==} - undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -3707,20 +3402,10 @@ packages: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} engines: {node: '>=18'} - universal-github-app-jwt@2.2.2: - resolution: {integrity: sha512-dcmbeSrOdTnsjGjUfAlqNDJrhxXizjAz94ija9Qw8YkZ1uu0d+GoZzyH+Jb9tIIqvGsadUfwg+22k5aDqqwzbw==} - - universal-user-agent@7.0.2: - resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==} - universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} @@ -3815,10 +3500,6 @@ packages: engines: {node: '>=12.0.0'} hasBin: true - walk-back@5.1.1: - resolution: {integrity: sha512-e/FRLDVdZQWFrAzU6Hdvpm7D7m2ina833gIKLptQykRK49mmCYHLHq7UqjPDbxbKLZkTkW1rFqbengdE3sLfdw==} - engines: {node: '>=12.17'} - web-streams-polyfill@4.0.0-beta.3: resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} engines: {node: '>= 14'} @@ -3836,10 +3517,6 @@ packages: resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -3863,11 +3540,6 @@ packages: workers-ai-provider@0.3.0: resolution: {integrity: sha512-NCnwRJ0OVgyVIZwbHRmn+8A80vi4iXxnjvLaxn0CCYMsooVKgf52rEIcbap5FJNd7fx3nLOi2OgNKjqS1ipz5A==} - workers-mcp@0.1.0-3: - resolution: {integrity: sha512-PCgcGZnFvtk0WkbUsA9nDd5qqwv310L7on0/hlJZ9hQZkJMntGf5v3L2X3mLSDs9WSDF6jSedxlvWCtIXrKbEg==} - engines: {node: '>=16.17.0'} - hasBin: true - wrangler@4.10.0: resolution: {integrity: sha512-fTE4hZ79msEUt8+HEjl/8Q72haCyzPLu4PgrU3L81ysmjrMEdiYfUPqnvCkBUVtJvrDNdctTEimkufT1Y0ipNg==} engines: {node: '>=18.0.0'} @@ -3907,9 +3579,6 @@ packages: utf-8-validate: optional: true - xmlcreate@2.0.4: - resolution: {integrity: sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==} - y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -3940,6 +3609,9 @@ packages: zod@3.24.2: resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==} + zod@3.24.3: + resolution: {integrity: sha512-HhY1oqzWCQWuUqvBFnsyrtZRhyPeR7SUGv+C4+MsisMuVfSPx8HpwWqH8tRahSlt6M3PiFAcoeFhZAqIXTxoSg==} + snapshots: '@aashutoshrathi/word-wrap@1.2.6': {} @@ -3957,6 +3629,13 @@ snapshots: secure-json-parse: 2.7.0 zod: 3.24.2 + '@ai-sdk/provider-utils@2.2.7(zod@3.24.3)': + dependencies: + '@ai-sdk/provider': 1.1.3 + nanoid: 3.3.8 + secure-json-parse: 2.7.0 + zod: 3.24.3 + '@ai-sdk/provider@1.1.3': dependencies: json-schema: 0.4.0 @@ -3971,6 +3650,16 @@ snapshots: optionalDependencies: zod: 3.24.2 + '@ai-sdk/react@1.2.9(react@17.0.2)(zod@3.24.3)': + dependencies: + '@ai-sdk/provider-utils': 2.2.7(zod@3.24.3) + '@ai-sdk/ui-utils': 1.2.8(zod@3.24.3) + react: 17.0.2 + swr: 2.3.3(react@17.0.2) + throttleit: 2.1.0 + optionalDependencies: + zod: 3.24.3 + '@ai-sdk/ui-utils@1.2.8(zod@3.24.2)': dependencies: '@ai-sdk/provider': 1.1.3 @@ -3978,6 +3667,13 @@ snapshots: zod: 3.24.2 zod-to-json-schema: 3.24.5(zod@3.24.2) + '@ai-sdk/ui-utils@1.2.8(zod@3.24.3)': + dependencies: + '@ai-sdk/provider': 1.1.3 + '@ai-sdk/provider-utils': 2.2.7(zod@3.24.3) + zod: 3.24.3 + zod-to-json-schema: 3.24.5(zod@3.24.3) + '@babel/code-frame@7.26.2': dependencies: '@babel/helper-validator-identifier': 7.25.9 @@ -4169,17 +3865,6 @@ snapshots: human-id: 4.1.1 prettier: 2.8.8 - '@clack/core@0.3.5': - dependencies: - picocolors: 1.1.1 - sisteransi: 1.0.5 - - '@clack/prompts@0.8.2': - dependencies: - '@clack/core': 0.3.5 - picocolors: 1.1.1 - sisteransi: 1.0.5 - '@cloudflare/kv-asset-handler@0.4.0': dependencies: mime: 3.0.0 @@ -4244,9 +3929,9 @@ snapshots: '@cloudflare/workerd-windows-64@1.20250409.0': optional: true - '@cloudflare/workers-oauth-provider@0.0.2': + '@cloudflare/workers-oauth-provider@0.0.3': dependencies: - '@cloudflare/workers-types': 4.20250414.0 + '@cloudflare/workers-types': 4.20250416.0 '@cloudflare/workers-types@4.20250414.0': {} @@ -4501,10 +4186,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@jsdoc/salty@0.2.9': - dependencies: - lodash: 4.17.21 - '@manypkg/find-root@1.1.0': dependencies: '@babel/runtime': 7.26.10 @@ -4521,7 +4202,7 @@ snapshots: globby: 11.1.0 read-yaml-file: 1.1.0 - '@modelcontextprotocol/sdk@1.9.0': + '@modelcontextprotocol/sdk@1.10.2': dependencies: content-type: 1.0.5 cors: 2.8.5 @@ -4554,164 +4235,6 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} - '@octokit/app@15.1.6': - dependencies: - '@octokit/auth-app': 7.2.1 - '@octokit/auth-unauthenticated': 6.1.3 - '@octokit/core': 6.1.5 - '@octokit/oauth-app': 7.1.6 - '@octokit/plugin-paginate-rest': 12.0.0(@octokit/core@6.1.5) - '@octokit/types': 14.0.0 - '@octokit/webhooks': 13.8.0 - - '@octokit/auth-app@7.2.1': - dependencies: - '@octokit/auth-oauth-app': 8.1.4 - '@octokit/auth-oauth-user': 5.1.4 - '@octokit/request': 9.2.3 - '@octokit/request-error': 6.1.8 - '@octokit/types': 14.0.0 - toad-cache: 3.7.0 - universal-github-app-jwt: 2.2.2 - universal-user-agent: 7.0.2 - - '@octokit/auth-oauth-app@8.1.4': - dependencies: - '@octokit/auth-oauth-device': 7.1.5 - '@octokit/auth-oauth-user': 5.1.4 - '@octokit/request': 9.2.3 - '@octokit/types': 14.0.0 - universal-user-agent: 7.0.2 - - '@octokit/auth-oauth-device@7.1.5': - dependencies: - '@octokit/oauth-methods': 5.1.5 - '@octokit/request': 9.2.3 - '@octokit/types': 14.0.0 - universal-user-agent: 7.0.2 - - '@octokit/auth-oauth-user@5.1.4': - dependencies: - '@octokit/auth-oauth-device': 7.1.5 - '@octokit/oauth-methods': 5.1.5 - '@octokit/request': 9.2.3 - '@octokit/types': 14.0.0 - universal-user-agent: 7.0.2 - - '@octokit/auth-token@5.1.2': {} - - '@octokit/auth-unauthenticated@6.1.3': - dependencies: - '@octokit/request-error': 6.1.8 - '@octokit/types': 14.0.0 - - '@octokit/core@6.1.5': - dependencies: - '@octokit/auth-token': 5.1.2 - '@octokit/graphql': 8.2.2 - '@octokit/request': 9.2.3 - '@octokit/request-error': 6.1.8 - '@octokit/types': 14.0.0 - before-after-hook: 3.0.2 - universal-user-agent: 7.0.2 - - '@octokit/endpoint@10.1.4': - dependencies: - '@octokit/types': 14.0.0 - universal-user-agent: 7.0.2 - - '@octokit/graphql@8.2.2': - dependencies: - '@octokit/request': 9.2.3 - '@octokit/types': 14.0.0 - universal-user-agent: 7.0.2 - - '@octokit/oauth-app@7.1.6': - dependencies: - '@octokit/auth-oauth-app': 8.1.4 - '@octokit/auth-oauth-user': 5.1.4 - '@octokit/auth-unauthenticated': 6.1.3 - '@octokit/core': 6.1.5 - '@octokit/oauth-authorization-url': 7.1.1 - '@octokit/oauth-methods': 5.1.5 - '@types/aws-lambda': 8.10.149 - universal-user-agent: 7.0.2 - - '@octokit/oauth-authorization-url@7.1.1': {} - - '@octokit/oauth-methods@5.1.5': - dependencies: - '@octokit/oauth-authorization-url': 7.1.1 - '@octokit/request': 9.2.3 - '@octokit/request-error': 6.1.8 - '@octokit/types': 14.0.0 - - '@octokit/openapi-types@24.2.0': {} - - '@octokit/openapi-types@25.0.0': {} - - '@octokit/openapi-webhooks-types@10.4.0': {} - - '@octokit/plugin-paginate-graphql@5.2.4(@octokit/core@6.1.5)': - dependencies: - '@octokit/core': 6.1.5 - - '@octokit/plugin-paginate-rest@11.6.0(@octokit/core@6.1.5)': - dependencies: - '@octokit/core': 6.1.5 - '@octokit/types': 13.10.0 - - '@octokit/plugin-paginate-rest@12.0.0(@octokit/core@6.1.5)': - dependencies: - '@octokit/core': 6.1.5 - '@octokit/types': 14.0.0 - - '@octokit/plugin-rest-endpoint-methods@13.5.0(@octokit/core@6.1.5)': - dependencies: - '@octokit/core': 6.1.5 - '@octokit/types': 13.10.0 - - '@octokit/plugin-retry@7.2.1(@octokit/core@6.1.5)': - dependencies: - '@octokit/core': 6.1.5 - '@octokit/request-error': 6.1.8 - '@octokit/types': 14.0.0 - bottleneck: 2.19.5 - - '@octokit/plugin-throttling@9.6.1(@octokit/core@6.1.5)': - dependencies: - '@octokit/core': 6.1.5 - '@octokit/types': 13.10.0 - bottleneck: 2.19.5 - - '@octokit/request-error@6.1.8': - dependencies: - '@octokit/types': 14.0.0 - - '@octokit/request@9.2.3': - dependencies: - '@octokit/endpoint': 10.1.4 - '@octokit/request-error': 6.1.8 - '@octokit/types': 14.0.0 - fast-content-type-parse: 2.0.1 - universal-user-agent: 7.0.2 - - '@octokit/types@13.10.0': - dependencies: - '@octokit/openapi-types': 24.2.0 - - '@octokit/types@14.0.0': - dependencies: - '@octokit/openapi-types': 25.0.0 - - '@octokit/webhooks-methods@5.1.1': {} - - '@octokit/webhooks@13.8.0': - dependencies: - '@octokit/openapi-webhooks-types': 10.4.0 - '@octokit/request-error': 6.1.8 - '@octokit/webhooks-methods': 5.1.1 - '@opentelemetry/api@1.9.0': {} '@polka/url@1.0.0-next.28': {} @@ -4794,14 +4317,10 @@ snapshots: '@sideway/pinpoint@2.0.0': {} - '@silvia-odwyer/photon-node@0.3.3': {} - '@sindresorhus/merge-streams@2.3.0': {} '@standard-schema/spec@1.0.0': {} - '@types/aws-lambda@8.10.149': {} - '@types/diff-match-patch@1.0.36': {} '@types/eslint@8.56.10': @@ -4815,15 +4334,6 @@ snapshots: '@types/json5@0.0.29': {} - '@types/linkify-it@5.0.0': {} - - '@types/markdown-it@14.1.2': - dependencies: - '@types/linkify-it': 5.0.0 - '@types/mdurl': 2.0.0 - - '@types/mdurl@2.0.0': {} - '@types/mock-fs@4.13.4': dependencies: '@types/node': 22.14.1 @@ -5002,17 +4512,32 @@ snapshots: dependencies: humanize-ms: 1.2.1 - agents@0.0.62(@cloudflare/workers-types@4.20250416.0): + agents@0.0.67(@cloudflare/workers-types@4.20250416.0)(react@17.0.2): dependencies: - '@modelcontextprotocol/sdk': 1.9.0 + '@modelcontextprotocol/sdk': 1.10.2 + ai: 4.3.10(react@17.0.2)(zod@3.24.3) cron-schedule: 5.0.4 nanoid: 5.1.5 - partyserver: 0.0.66(@cloudflare/workers-types@4.20250416.0) + partyserver: 0.0.67(@cloudflare/workers-types@4.20250416.0) partysocket: 1.1.3 + react: 17.0.2 + zod: 3.24.3 transitivePeerDependencies: - '@cloudflare/workers-types' - supports-color + ai@4.3.10(react@17.0.2)(zod@3.24.3): + dependencies: + '@ai-sdk/provider': 1.1.3 + '@ai-sdk/provider-utils': 2.2.7(zod@3.24.3) + '@ai-sdk/react': 1.2.9(react@17.0.2)(zod@3.24.3) + '@ai-sdk/ui-utils': 1.2.8(zod@3.24.3) + '@opentelemetry/api': 1.9.0 + jsondiffpatch: 0.6.0 + zod: 3.24.3 + optionalDependencies: + react: 17.0.2 + ai@4.3.6(react@17.0.2)(zod@3.24.2): dependencies: '@ai-sdk/provider': 1.1.3 @@ -5050,8 +4575,6 @@ snapshots: argparse@2.0.1: {} - array-back@6.2.2: {} - array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 @@ -5124,8 +4647,6 @@ snapshots: balanced-match@1.0.2: {} - before-after-hook@3.0.2: {} - better-path-resolve@1.0.0: dependencies: is-windows: 1.0.2 @@ -5150,8 +4671,6 @@ snapshots: transitivePeerDependencies: - supports-color - bottleneck@2.19.5: {} - brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -5169,10 +4688,6 @@ snapshots: cac@6.7.14: {} - cache-point@3.0.1: - dependencies: - array-back: 6.2.2 - call-bind-apply-helpers@1.0.1: dependencies: es-errors: 1.3.0 @@ -5193,10 +4708,6 @@ snapshots: callsites@3.1.0: {} - catharsis@0.9.0: - dependencies: - lodash: 4.17.21 - chai@5.2.0: dependencies: assertion-error: 2.0.1 @@ -5274,8 +4785,6 @@ snapshots: commander@13.1.0: {} - commander@2.20.3: {} - concat-map@0.0.1: {} concurrently@9.1.2: @@ -5326,8 +4835,6 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - current-module-paths@1.1.2: {} - data-uri-to-buffer@2.0.2: {} data-view-buffer@1.0.1: @@ -5438,8 +4945,6 @@ snapshots: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - entities@4.5.0: {} - env-paths@2.2.1: {} error-ex@1.3.2: @@ -5564,8 +5069,6 @@ snapshots: escape-html@1.0.3: {} - escape-string-regexp@2.0.0: {} - escape-string-regexp@4.0.0: {} eslint-config-prettier@9.1.0(eslint@8.57.0): @@ -5820,8 +5323,6 @@ snapshots: dependencies: pure-rand: 6.1.0 - fast-content-type-parse@2.0.1: {} - fast-deep-equal@3.1.3: {} fast-glob@3.3.3: @@ -5850,11 +5351,6 @@ snapshots: dependencies: flat-cache: 3.2.0 - file-set@5.2.2: - dependencies: - array-back: 6.2.2 - fast-glob: 3.3.3 - fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -5916,12 +5412,6 @@ snapshots: from@0.1.7: {} - fs-extra@11.3.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - fs-extra@7.0.1: dependencies: graceful-fs: 4.2.11 @@ -6259,38 +5749,6 @@ snapshots: dependencies: argparse: 2.0.1 - js2xmlparser@4.0.2: - dependencies: - xmlcreate: 2.0.4 - - jsdoc-api@9.3.4: - dependencies: - array-back: 6.2.2 - cache-point: 3.0.1 - current-module-paths: 1.1.2 - file-set: 5.2.2 - jsdoc: 4.0.4 - object-to-spawn-args: 2.0.1 - walk-back: 5.1.1 - - jsdoc@4.0.4: - dependencies: - '@babel/parser': 7.26.10 - '@jsdoc/salty': 0.2.9 - '@types/markdown-it': 14.1.2 - bluebird: 3.7.2 - catharsis: 0.9.0 - escape-string-regexp: 2.0.0 - js2xmlparser: 4.0.2 - klaw: 3.0.0 - markdown-it: 14.1.0 - markdown-it-anchor: 8.6.7(@types/markdown-it@14.1.2)(markdown-it@14.1.0) - marked: 4.3.0 - mkdirp: 1.0.4 - requizzle: 0.2.4 - strip-json-comments: 3.1.1 - underscore: 1.13.7 - jsesc@3.1.0: {} json-buffer@3.0.1: {} @@ -6319,24 +5777,10 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonfile@6.1.0: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - - just-filter-object@3.2.0: {} - - just-map-values@3.2.0: {} - keyv@4.5.4: dependencies: json-buffer: 3.0.1 - klaw@3.0.0: - dependencies: - graceful-fs: 4.2.11 - kleur@3.0.3: {} lazy-ass@1.6.0: {} @@ -6394,10 +5838,6 @@ snapshots: lines-and-columns@1.2.4: {} - linkify-it@5.0.0: - dependencies: - uc.micro: 2.1.0 - locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -6431,28 +5871,10 @@ snapshots: map-stream@0.1.0: {} - markdown-it-anchor@8.6.7(@types/markdown-it@14.1.2)(markdown-it@14.1.0): - dependencies: - '@types/markdown-it': 14.1.2 - markdown-it: 14.1.0 - - markdown-it@14.1.0: - dependencies: - argparse: 2.0.1 - entities: 4.5.0 - linkify-it: 5.0.0 - mdurl: 2.0.0 - punycode.js: 2.3.1 - uc.micro: 2.1.0 - marked@15.0.7: {} - marked@4.3.0: {} - math-intrinsics@1.1.0: {} - mdurl@2.0.0: {} - media-typer@1.1.0: {} merge-descriptors@2.0.0: {} @@ -6530,8 +5952,6 @@ snapshots: minimist@1.2.8: {} - mkdirp@1.0.4: {} - mock-fs@5.5.0: {} mri@1.2.0: {} @@ -6565,20 +5985,10 @@ snapshots: semver: 7.7.1 validate-npm-package-name: 6.0.0 - npm-path@2.0.4: - dependencies: - which: 1.3.1 - npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - npm-which@3.0.1: - dependencies: - commander: 2.20.3 - npm-path: 2.0.4 - which: 1.3.1 - object-assign@4.1.1: {} object-inspect@1.13.2: {} @@ -6587,8 +5997,6 @@ snapshots: object-keys@1.1.1: {} - object-to-spawn-args@2.0.1: {} - object.assign@4.1.5: dependencies: call-bind: 1.0.7 @@ -6615,19 +6023,6 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.0.0 - octokit@4.1.2: - dependencies: - '@octokit/app': 15.1.6 - '@octokit/core': 6.1.5 - '@octokit/oauth-app': 7.1.6 - '@octokit/plugin-paginate-graphql': 5.2.4(@octokit/core@6.1.5) - '@octokit/plugin-paginate-rest': 11.6.0(@octokit/core@6.1.5) - '@octokit/plugin-rest-endpoint-methods': 13.5.0(@octokit/core@6.1.5) - '@octokit/plugin-retry': 7.2.1(@octokit/core@6.1.5) - '@octokit/plugin-throttling': 9.6.1(@octokit/core@6.1.5) - '@octokit/request-error': 6.1.8 - '@octokit/types': 13.10.0 - ohash@2.0.11: {} on-finished@2.4.1: @@ -6712,12 +6107,7 @@ snapshots: parseurl@1.3.3: {} - partyserver@0.0.65(@cloudflare/workers-types@4.20250416.0): - dependencies: - '@cloudflare/workers-types': 4.20250416.0 - nanoid: 5.1.5 - - partyserver@0.0.66(@cloudflare/workers-types@4.20250416.0): + partyserver@0.0.67(@cloudflare/workers-types@4.20250416.0): dependencies: '@cloudflare/workers-types': 4.20250416.0 nanoid: 5.1.5 @@ -6794,8 +6184,6 @@ snapshots: dependencies: event-stream: 3.3.4 - punycode.js@2.3.1: {} - punycode@2.3.1: {} pure-rand@6.1.0: {} @@ -6845,10 +6233,6 @@ snapshots: require-directory@2.1.1: {} - requizzle@0.2.4: - dependencies: - lodash: 4.17.21 - resolve-from@4.0.0: {} resolve-from@5.0.0: {} @@ -7238,22 +6622,14 @@ snapshots: tinyspy@3.0.2: {} - tmp-promise@3.0.3: - dependencies: - tmp: 0.2.3 - tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 - tmp@0.2.3: {} - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - toad-cache@3.7.0: {} - toidentifier@1.0.1: {} totalist@3.0.1: {} @@ -7272,10 +6648,6 @@ snapshots: dependencies: typescript: 5.5.4 - ts-blank-space@0.4.4: - dependencies: - typescript: 5.5.4 - ts-toolbelt@9.6.0: {} tsconfig-paths@3.15.0: @@ -7367,8 +6739,6 @@ snapshots: typescript@5.5.4: {} - uc.micro@2.1.0: {} - ufo@1.5.4: {} unbox-primitive@1.0.2: @@ -7378,8 +6748,6 @@ snapshots: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - underscore@1.13.7: {} - undici-types@5.26.5: {} undici-types@6.21.0: {} @@ -7398,14 +6766,8 @@ snapshots: unicorn-magic@0.3.0: {} - universal-github-app-jwt@2.2.2: {} - - universal-user-agent@7.0.2: {} - universalify@0.1.2: {} - universalify@2.0.1: {} - unpipe@1.0.0: {} uri-js@4.4.1: @@ -7498,8 +6860,6 @@ snapshots: transitivePeerDependencies: - debug - walk-back@5.1.1: {} - web-streams-polyfill@4.0.0-beta.3: {} webidl-conversions@3.0.1: {} @@ -7525,10 +6885,6 @@ snapshots: gopd: 1.0.1 has-tostringtag: 1.0.2 - which@1.3.1: - dependencies: - isexe: 2.0.0 - which@2.0.2: dependencies: isexe: 2.0.0 @@ -7558,25 +6914,6 @@ snapshots: dependencies: '@cloudflare/workers-types': 4.20250414.0 - workers-mcp@0.1.0-3: - dependencies: - '@clack/prompts': 0.8.2 - '@modelcontextprotocol/sdk': 1.9.0 - '@silvia-odwyer/photon-node': 0.3.3 - chalk: 5.4.1 - fs-extra: 11.3.0 - hono: 4.7.6 - jsdoc-api: 9.3.4 - just-filter-object: 3.2.0 - just-map-values: 3.2.0 - npm-which: 3.0.1 - tmp-promise: 3.0.3 - ts-blank-space: 0.4.4 - tsx: 4.19.3 - transitivePeerDependencies: - - '@75lb/nature' - - supports-color - wrangler@4.10.0(@cloudflare/workers-types@4.20250416.0): dependencies: '@cloudflare/kv-asset-handler': 0.4.0 @@ -7623,8 +6960,6 @@ snapshots: ws@8.18.0: {} - xmlcreate@2.0.4: {} - y18n@5.0.8: {} yargs-parser@21.1.1: {} @@ -7651,6 +6986,12 @@ snapshots: dependencies: zod: 3.24.2 + zod-to-json-schema@3.24.5(zod@3.24.3): + dependencies: + zod: 3.24.3 + zod@3.22.3: {} zod@3.24.2: {} + + zod@3.24.3: {} From bf6eb72515bbe7ab103e001ae11d9255b017d498 Mon Sep 17 00:00:00 2001 From: Maximo Guk <62088388+Maximo-Guk@users.noreply.github.com> Date: Sat, 26 Apr 2025 14:01:22 -0500 Subject: [PATCH 2/2] Dont use empty object in tool calls --- packages/mcp-common/src/tools/account.ts | 71 ++++++++++------------ packages/mcp-common/src/tools/r2_bucket.ts | 2 +- packages/mcp-common/src/tools/worker.ts | 2 +- 3 files changed, 35 insertions(+), 40 deletions(-) diff --git a/packages/mcp-common/src/tools/account.ts b/packages/mcp-common/src/tools/account.ts index ad8326a6..493d2474 100644 --- a/packages/mcp-common/src/tools/account.ts +++ b/packages/mcp-common/src/tools/account.ts @@ -6,48 +6,43 @@ import { type CloudflareMcpAgent } from '../types/cloudflare-mcp-agent' export function registerAccountTools(agent: CloudflareMcpAgent) { // Tool to list all accounts - agent.server.tool( - 'accounts_list', - 'List all accounts in your Cloudflare account', - {}, - async () => { - try { - const results = await handleAccountsList({ - client: getCloudflareClient(agent.props.accessToken), + agent.server.tool('accounts_list', 'List all accounts in your Cloudflare account', async () => { + try { + const results = await handleAccountsList({ + client: getCloudflareClient(agent.props.accessToken), + }) + // Sort accounts by created_on date (newest first) + const accounts = results + // order by created_on desc ( newest first ) + .sort((a, b) => { + if (!a.created_on) return 1 + if (!b.created_on) return -1 + return new Date(b.created_on).getTime() - new Date(a.created_on).getTime() }) - // Sort accounts by created_on date (newest first) - const accounts = results - // order by created_on desc ( newest first ) - .sort((a, b) => { - if (!a.created_on) return 1 - if (!b.created_on) return -1 - return new Date(b.created_on).getTime() - new Date(a.created_on).getTime() - }) - return { - content: [ - { - type: 'text', - text: JSON.stringify({ - accounts, - count: accounts.length, - }), - }, - ], - } - } catch (e) { - agent.server.recordError(e) - return { - content: [ - { - type: 'text', - text: `Error listing accounts: ${e instanceof Error && e.message}`, - }, - ], - } + return { + content: [ + { + type: 'text', + text: JSON.stringify({ + accounts, + count: accounts.length, + }), + }, + ], + } + } catch (e) { + agent.server.recordError(e) + return { + content: [ + { + type: 'text', + text: `Error listing accounts: ${e instanceof Error && e.message}`, + }, + ], } } - ) + }) const activeAccountIdParam = z .string() diff --git a/packages/mcp-common/src/tools/r2_bucket.ts b/packages/mcp-common/src/tools/r2_bucket.ts index 3be7eb8b..fb200173 100644 --- a/packages/mcp-common/src/tools/r2_bucket.ts +++ b/packages/mcp-common/src/tools/r2_bucket.ts @@ -688,7 +688,7 @@ export function registerR2BucketTools(agent: CloudflareMcpAgent) { // } // ) - // agent.server.tool('r2_metrics_list', 'List metrics for an R2 bucket', {}, async () => { + // agent.server.tool('r2_metrics_list', 'List metrics for an R2 bucket', async () => { // const account_id = agent.getActiveAccountId() // if (!account_id) { // return MISSING_ACCOUNT_ID_RESPONSE diff --git a/packages/mcp-common/src/tools/worker.ts b/packages/mcp-common/src/tools/worker.ts index 99126879..132e6ded 100644 --- a/packages/mcp-common/src/tools/worker.ts +++ b/packages/mcp-common/src/tools/worker.ts @@ -15,7 +15,7 @@ const workerNameParam = z.string().describe('The name of the worker script to re export function registerWorkersTools(agent: CloudflareMcpAgent) { // Tool to list all workers - agent.server.tool('workers_list', 'List all Workers in your Cloudflare account', {}, async () => { + agent.server.tool('workers_list', 'List all Workers in your Cloudflare account', async () => { const accountId = agent.getActiveAccountId() if (!accountId) { return {