@openrouter/agent 0.8.0 → 0.10.0
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/README.md +732 -7
- package/THIRD_PARTY_NOTICES.md +25 -0
- package/esm/index.d.ts +20 -5
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +10 -3
- package/esm/index.js.map +1 -1
- package/esm/inner-loop/call-model.d.ts.map +1 -1
- package/esm/inner-loop/call-model.js +63 -46
- package/esm/inner-loop/call-model.js.map +1 -1
- package/esm/inner-loop/resume-tool-results.d.ts +128 -0
- package/esm/inner-loop/resume-tool-results.d.ts.map +1 -0
- package/esm/inner-loop/resume-tool-results.js +244 -0
- package/esm/inner-loop/resume-tool-results.js.map +1 -0
- package/esm/lib/agent-tool.d.ts +92 -0
- package/esm/lib/agent-tool.d.ts.map +1 -0
- package/esm/lib/agent-tool.js +211 -0
- package/esm/lib/agent-tool.js.map +1 -0
- package/esm/lib/async-params.d.ts +96 -0
- package/esm/lib/async-params.d.ts.map +1 -1
- package/esm/lib/async-params.js +30 -1
- package/esm/lib/async-params.js.map +1 -1
- package/esm/lib/async-tool-registry.d.ts +134 -0
- package/esm/lib/async-tool-registry.d.ts.map +1 -0
- package/esm/lib/async-tool-registry.js +352 -0
- package/esm/lib/async-tool-registry.js.map +1 -0
- package/esm/lib/async-tools.d.ts +23 -0
- package/esm/lib/async-tools.d.ts.map +1 -0
- package/esm/lib/async-tools.js +19 -0
- package/esm/lib/async-tools.js.map +1 -0
- package/esm/lib/conversation-state.d.ts +1 -0
- package/esm/lib/conversation-state.d.ts.map +1 -1
- package/esm/lib/conversation-state.js +8 -0
- package/esm/lib/conversation-state.js.map +1 -1
- package/esm/lib/doom-loop.d.ts +533 -0
- package/esm/lib/doom-loop.d.ts.map +1 -0
- package/esm/lib/doom-loop.js +1221 -0
- package/esm/lib/doom-loop.js.map +1 -0
- package/esm/lib/hooks-schemas.d.ts +33 -0
- package/esm/lib/hooks-schemas.d.ts.map +1 -1
- package/esm/lib/hooks-schemas.js +54 -0
- package/esm/lib/hooks-schemas.js.map +1 -1
- package/esm/lib/hooks-types.d.ts +6 -2
- package/esm/lib/hooks-types.d.ts.map +1 -1
- package/esm/lib/hooks-types.js.map +1 -1
- package/esm/lib/model-result.d.ts +648 -12
- package/esm/lib/model-result.d.ts.map +1 -1
- package/esm/lib/model-result.js +2784 -164
- package/esm/lib/model-result.js.map +1 -1
- package/esm/lib/next-turn-params.d.ts.map +1 -1
- package/esm/lib/next-turn-params.js +3 -1
- package/esm/lib/next-turn-params.js.map +1 -1
- package/esm/lib/next-turn-params.test.js +72 -0
- package/esm/lib/next-turn-params.test.js.map +1 -1
- package/esm/lib/reusable-stream.d.ts +9 -0
- package/esm/lib/reusable-stream.d.ts.map +1 -1
- package/esm/lib/reusable-stream.js +17 -0
- package/esm/lib/reusable-stream.js.map +1 -1
- package/esm/lib/stream-transformers.d.ts +21 -1
- package/esm/lib/stream-transformers.d.ts.map +1 -1
- package/esm/lib/stream-transformers.js +45 -0
- package/esm/lib/stream-transformers.js.map +1 -1
- package/esm/lib/tool-check.d.ts +76 -0
- package/esm/lib/tool-check.d.ts.map +1 -0
- package/esm/lib/tool-check.js +241 -0
- package/esm/lib/tool-check.js.map +1 -0
- package/esm/lib/tool-concurrency.d.ts +42 -0
- package/esm/lib/tool-concurrency.d.ts.map +1 -0
- package/esm/lib/tool-concurrency.js +80 -0
- package/esm/lib/tool-concurrency.js.map +1 -0
- package/esm/lib/tool-context.d.ts +45 -1
- package/esm/lib/tool-context.d.ts.map +1 -1
- package/esm/lib/tool-context.js +60 -1
- package/esm/lib/tool-context.js.map +1 -1
- package/esm/lib/tool-executor.d.ts +52 -9
- package/esm/lib/tool-executor.d.ts.map +1 -1
- package/esm/lib/tool-executor.js +253 -21
- package/esm/lib/tool-executor.js.map +1 -1
- package/esm/lib/tool-orchestrator.d.ts.map +1 -1
- package/esm/lib/tool-orchestrator.js +87 -50
- package/esm/lib/tool-orchestrator.js.map +1 -1
- package/esm/lib/tool-set-types.d.ts +298 -0
- package/esm/lib/tool-set-types.d.ts.map +1 -0
- package/esm/lib/tool-set-types.js +2 -0
- package/esm/lib/tool-set-types.js.map +1 -0
- package/esm/lib/tool-set.d.ts +157 -0
- package/esm/lib/tool-set.d.ts.map +1 -0
- package/esm/lib/tool-set.js +473 -0
- package/esm/lib/tool-set.js.map +1 -0
- package/esm/lib/tool-task.d.ts +157 -0
- package/esm/lib/tool-task.d.ts.map +1 -0
- package/esm/lib/tool-task.js +206 -0
- package/esm/lib/tool-task.js.map +1 -0
- package/esm/lib/tool-types.d.ts +667 -38
- package/esm/lib/tool-types.d.ts.map +1 -1
- package/esm/lib/tool-types.js +59 -10
- package/esm/lib/tool-types.js.map +1 -1
- package/esm/lib/tool.d.ts +227 -19
- package/esm/lib/tool.d.ts.map +1 -1
- package/esm/lib/tool.js +206 -6
- package/esm/lib/tool.js.map +1 -1
- package/esm/mcp/auth/auth-resolver.d.ts +14 -0
- package/esm/mcp/auth/auth-resolver.d.ts.map +1 -0
- package/esm/mcp/auth/auth-resolver.js +27 -0
- package/esm/mcp/auth/auth-resolver.js.map +1 -0
- package/esm/mcp/auth/auth-types.d.ts +33 -0
- package/esm/mcp/auth/auth-types.d.ts.map +1 -0
- package/esm/mcp/auth/auth-types.js +4 -0
- package/esm/mcp/auth/auth-types.js.map +1 -0
- package/esm/mcp/build-tools.d.ts +29 -0
- package/esm/mcp/build-tools.d.ts.map +1 -0
- package/esm/mcp/build-tools.js +80 -0
- package/esm/mcp/build-tools.js.map +1 -0
- package/esm/mcp/cache/cache-store.d.ts +24 -0
- package/esm/mcp/cache/cache-store.d.ts.map +1 -0
- package/esm/mcp/cache/cache-store.js +20 -0
- package/esm/mcp/cache/cache-store.js.map +1 -0
- package/esm/mcp/cache/cache-types.d.ts +71 -0
- package/esm/mcp/cache/cache-types.d.ts.map +1 -0
- package/esm/mcp/cache/cache-types.js +49 -0
- package/esm/mcp/cache/cache-types.js.map +1 -0
- package/esm/mcp/cache/serialize.d.ts +25 -0
- package/esm/mcp/cache/serialize.d.ts.map +1 -0
- package/esm/mcp/cache/serialize.js +96 -0
- package/esm/mcp/cache/serialize.js.map +1 -0
- package/esm/mcp/close-quietly.d.ts +24 -0
- package/esm/mcp/close-quietly.d.ts.map +1 -0
- package/esm/mcp/close-quietly.js +30 -0
- package/esm/mcp/close-quietly.js.map +1 -0
- package/esm/mcp/create-mcp-tools.d.ts +13 -0
- package/esm/mcp/create-mcp-tools.d.ts.map +1 -0
- package/esm/mcp/create-mcp-tools.js +87 -0
- package/esm/mcp/create-mcp-tools.js.map +1 -0
- package/esm/mcp/elicitation.d.ts +11 -0
- package/esm/mcp/elicitation.d.ts.map +1 -0
- package/esm/mcp/elicitation.js +51 -0
- package/esm/mcp/elicitation.js.map +1 -0
- package/esm/mcp/errors.d.ts +91 -0
- package/esm/mcp/errors.d.ts.map +1 -0
- package/esm/mcp/errors.js +91 -0
- package/esm/mcp/errors.js.map +1 -0
- package/esm/mcp/handle.d.ts +66 -0
- package/esm/mcp/handle.d.ts.map +1 -0
- package/esm/mcp/handle.js +323 -0
- package/esm/mcp/handle.js.map +1 -0
- package/esm/mcp/index.d.ts +13 -0
- package/esm/mcp/index.d.ts.map +1 -0
- package/esm/mcp/index.js +11 -0
- package/esm/mcp/index.js.map +1 -0
- package/esm/mcp/mcp-connection.d.ts +150 -0
- package/esm/mcp/mcp-connection.d.ts.map +1 -0
- package/esm/mcp/mcp-connection.js +478 -0
- package/esm/mcp/mcp-connection.js.map +1 -0
- package/esm/mcp/mcp-sdk.d.ts +10 -0
- package/esm/mcp/mcp-sdk.d.ts.map +1 -0
- package/esm/mcp/mcp-sdk.js +37 -0
- package/esm/mcp/mcp-sdk.js.map +1 -0
- package/esm/mcp/rehydrate.d.ts +76 -0
- package/esm/mcp/rehydrate.d.ts.map +1 -0
- package/esm/mcp/rehydrate.js +505 -0
- package/esm/mcp/rehydrate.js.map +1 -0
- package/esm/mcp/resource-tools.d.ts +17 -0
- package/esm/mcp/resource-tools.d.ts.map +1 -0
- package/esm/mcp/resource-tools.js +155 -0
- package/esm/mcp/resource-tools.js.map +1 -0
- package/esm/mcp/result-mapper.d.ts +19 -0
- package/esm/mcp/result-mapper.d.ts.map +1 -0
- package/esm/mcp/result-mapper.js +40 -0
- package/esm/mcp/result-mapper.js.map +1 -0
- package/esm/mcp/schema/json-schema-guards.d.ts +14 -0
- package/esm/mcp/schema/json-schema-guards.d.ts.map +1 -0
- package/esm/mcp/schema/json-schema-guards.js +19 -0
- package/esm/mcp/schema/json-schema-guards.js.map +1 -0
- package/esm/mcp/schema/json-schema-to-zod.d.ts +20 -0
- package/esm/mcp/schema/json-schema-to-zod.d.ts.map +1 -0
- package/esm/mcp/schema/json-schema-to-zod.js +72 -0
- package/esm/mcp/schema/json-schema-to-zod.js.map +1 -0
- package/esm/mcp/tool-wrapper.d.ts +41 -0
- package/esm/mcp/tool-wrapper.d.ts.map +1 -0
- package/esm/mcp/tool-wrapper.js +131 -0
- package/esm/mcp/tool-wrapper.js.map +1 -0
- package/esm/mcp/transport-types.d.ts +45 -0
- package/esm/mcp/transport-types.d.ts.map +1 -0
- package/esm/mcp/transport-types.js +2 -0
- package/esm/mcp/transport-types.js.map +1 -0
- package/esm/mcp/types.d.ts +119 -0
- package/esm/mcp/types.d.ts.map +1 -0
- package/esm/mcp/types.js +2 -0
- package/esm/mcp/types.js.map +1 -0
- package/esm/mcp/version.d.ts +3 -0
- package/esm/mcp/version.d.ts.map +1 -0
- package/esm/mcp/version.js +5 -0
- package/esm/mcp/version.js.map +1 -0
- package/package.json +70 -5
package/esm/lib/tool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/lib/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EACV,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,uBAAuB,EACvB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,IAAI,EACJ,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAKzB;;;;GAIG;AACH,KAAK,2BAA2B,CAC9B,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B;IACF,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,OAAO,EAAE,CACP,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,KACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpD,2DAA2D;IAC3D,aAAa,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5E,CAAC;AAEF;;GAEG;AACH,KAAK,8BAA8B,CACjC,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,EACP,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B;IACF,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,OAAO,EAAE,CACP,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,KACzD,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAChC,2DAA2D;IAC3D,aAAa,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;CAClE,CAAC;AAEF;;GAEG;AACH,KAAK,mBAAmB,CACtB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,MAAM,SAAS,QAAQ,EACvB,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B;IACF,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,OAAO,EAAE,CACP,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,KACzD,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,2DAA2D;IAC3D,aAAa,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5E,CAAC;AAEF;;GAEG;AACH,KAAK,gBAAgB,CACnB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,IACxD;IACF,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,OAAO,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,KAAK,cAAc,CACjB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B;IACF,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,YAAY,EAAE,CACZ,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,KACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAClE,kBAAkB,CAAC,EAAE,CACnB,SAAS,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,KACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpD,2DAA2D;IAC3D,aAAa,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5E,CAAC;AAEF;;;GAGG;AACH,KAAK,2BAA2B,CAC9B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,IACxD;IACF,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,eAAe,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,OAAO,EACH,CAAC,CACC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,KACnE,OAAO,CAAC,GACb,CAAC,CACC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,KACnE,cAAc,CAAC,OAAO,CAAC,CAAC,GAC7B,KAAK,CAAC;IACV,2DAA2D;IAC3D,aAAa,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;CACzE,CAAC;AAuBF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAMH,wBAAgB,IAAI,CAClB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,MAAM,SAAS,QAAQ,EACvB,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,EAE7B,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,GAChE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;AAG7E,wBAAgB,IAAI,CAClB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,EAE7B,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,GACnD,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;AAG5D,wBAAgB,IAAI,CAClB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;AAGvF,wBAAgB,IAAI,CAClB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,EAE7B,MAAM,EAAE,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,GAChE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;AAGnE,wBAAgB,IAAI,CAClB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,EACP,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,EAE7B,MAAM,EAAE,8BAA8B,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,GACnE,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;AAM7E,wBAAgB,IAAI,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,MAAM,EAAE,2BAA2B,CAAC,OAAO,CAAC,GAC3C,IAAI,CAAC;AAyLR;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,cAAc,EACjD,MAAM,EAAE,OAAO,CACb,gBAAgB,EAChB;IACE,IAAI,EAAE,CAAC,CAAC;CACT,CACF,GACA,UAAU,CAAC,CAAC,CAAC,CAKf;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAKpE"}
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/lib/tool.ts"],"names":[],"mappings":"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"}
|
package/esm/lib/tool.js
CHANGED
|
@@ -1,10 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { agentToolBuilder } from './agent-tool.js';
|
|
2
|
+
import { TASK_TOOL_NAME } from './tool-check.js';
|
|
3
|
+
import { isClientTool, SHARED_CONTEXT_KEY, ToolType } from './tool-types.js';
|
|
2
4
|
// Implementation
|
|
3
5
|
export function tool(config) {
|
|
6
|
+
if (config === undefined) {
|
|
7
|
+
return tool;
|
|
8
|
+
}
|
|
4
9
|
// 'shared' is reserved for shared context — forbid it as a tool name
|
|
5
10
|
if (config.name === SHARED_CONTEXT_KEY) {
|
|
6
11
|
throw new Error(`Tool name "${SHARED_CONTEXT_KEY}" is reserved for shared context. Choose a different name.`);
|
|
7
12
|
}
|
|
13
|
+
// 'task' is reserved for the universal task-interaction tool the engine
|
|
14
|
+
// registers alongside long-running tools.
|
|
15
|
+
if (config.name === TASK_TOOL_NAME) {
|
|
16
|
+
throw new Error(`Tool name "${TASK_TOOL_NAME}" is reserved for the built-in task-interaction tool. Choose a different name.`);
|
|
17
|
+
}
|
|
18
|
+
// Unified run tool (new kind). Checked before the legacy branches so a
|
|
19
|
+
// config carrying `run` never routes through execute-keyed logic —
|
|
20
|
+
// but AFTER the name guard, keeping every released path on its exact
|
|
21
|
+
// current control flow.
|
|
22
|
+
if ('run' in config && typeof config.run === 'function') {
|
|
23
|
+
return buildUnifiedTool(config);
|
|
24
|
+
}
|
|
8
25
|
// Check for HITL tool (has onToolCalled hook)
|
|
9
26
|
if ('onToolCalled' in config && typeof config.onToolCalled === 'function') {
|
|
10
27
|
// outputSchema is required at the type level for HITL configs, but
|
|
@@ -33,6 +50,18 @@ export function tool(config) {
|
|
|
33
50
|
if (config.requireApproval !== undefined) {
|
|
34
51
|
fn.requireApproval = config.requireApproval;
|
|
35
52
|
}
|
|
53
|
+
if (config.loopKey !== undefined) {
|
|
54
|
+
fn.loopKey = config.loopKey;
|
|
55
|
+
}
|
|
56
|
+
if (config.timeoutMs !== undefined) {
|
|
57
|
+
fn.timeoutMs = config.timeoutMs;
|
|
58
|
+
}
|
|
59
|
+
if (config.maxConcurrency !== undefined) {
|
|
60
|
+
fn.maxConcurrency = config.maxConcurrency;
|
|
61
|
+
}
|
|
62
|
+
if (config.strict !== undefined) {
|
|
63
|
+
fn.strict = config.strict;
|
|
64
|
+
}
|
|
36
65
|
if (config.onResponseReceived !== undefined) {
|
|
37
66
|
fn.onResponseReceived = config.onResponseReceived;
|
|
38
67
|
}
|
|
@@ -64,6 +93,18 @@ export function tool(config) {
|
|
|
64
93
|
if (config.requireApproval !== undefined) {
|
|
65
94
|
fn.requireApproval = config.requireApproval;
|
|
66
95
|
}
|
|
96
|
+
if (config.loopKey !== undefined) {
|
|
97
|
+
fn.loopKey = config.loopKey;
|
|
98
|
+
}
|
|
99
|
+
if (config.timeoutMs !== undefined) {
|
|
100
|
+
fn.timeoutMs = config.timeoutMs;
|
|
101
|
+
}
|
|
102
|
+
if (config.maxConcurrency !== undefined) {
|
|
103
|
+
fn.maxConcurrency = config.maxConcurrency;
|
|
104
|
+
}
|
|
105
|
+
if (config.strict !== undefined) {
|
|
106
|
+
fn.strict = config.strict;
|
|
107
|
+
}
|
|
67
108
|
return {
|
|
68
109
|
type: ToolType.Function,
|
|
69
110
|
function: fn,
|
|
@@ -92,9 +133,21 @@ export function tool(config) {
|
|
|
92
133
|
if (config.requireApproval !== undefined) {
|
|
93
134
|
fn.requireApproval = config.requireApproval;
|
|
94
135
|
}
|
|
136
|
+
if (config.loopKey !== undefined) {
|
|
137
|
+
fn.loopKey = config.loopKey;
|
|
138
|
+
}
|
|
139
|
+
if (config.timeoutMs !== undefined) {
|
|
140
|
+
fn.timeoutMs = config.timeoutMs;
|
|
141
|
+
}
|
|
142
|
+
if (config.maxConcurrency !== undefined) {
|
|
143
|
+
fn.maxConcurrency = config.maxConcurrency;
|
|
144
|
+
}
|
|
95
145
|
if ('toModelOutput' in config && config.toModelOutput !== undefined) {
|
|
96
146
|
fn.toModelOutput = config.toModelOutput;
|
|
97
147
|
}
|
|
148
|
+
if (config.strict !== undefined) {
|
|
149
|
+
fn.strict = config.strict;
|
|
150
|
+
}
|
|
98
151
|
return {
|
|
99
152
|
type: ToolType.Function,
|
|
100
153
|
function: fn,
|
|
@@ -120,6 +173,18 @@ export function tool(config) {
|
|
|
120
173
|
...(config.requireApproval !== undefined && {
|
|
121
174
|
requireApproval: config.requireApproval,
|
|
122
175
|
}),
|
|
176
|
+
...(config.loopKey !== undefined && {
|
|
177
|
+
loopKey: config.loopKey,
|
|
178
|
+
}),
|
|
179
|
+
...(config.timeoutMs !== undefined && {
|
|
180
|
+
timeoutMs: config.timeoutMs,
|
|
181
|
+
}),
|
|
182
|
+
...(config.maxConcurrency !== undefined && {
|
|
183
|
+
maxConcurrency: config.maxConcurrency,
|
|
184
|
+
}),
|
|
185
|
+
...(config.strict !== undefined && {
|
|
186
|
+
strict: config.strict,
|
|
187
|
+
}),
|
|
123
188
|
...('toModelOutput' in config &&
|
|
124
189
|
config.toModelOutput !== undefined && {
|
|
125
190
|
toModelOutput: config.toModelOutput,
|
|
@@ -130,8 +195,122 @@ export function tool(config) {
|
|
|
130
195
|
function: functionObj,
|
|
131
196
|
};
|
|
132
197
|
}
|
|
133
|
-
|
|
134
|
-
|
|
198
|
+
/** Copy shared config fields onto a function object when present. */
|
|
199
|
+
function assignCommonToolFields(fn, config) {
|
|
200
|
+
const fields = [
|
|
201
|
+
'description',
|
|
202
|
+
'strict',
|
|
203
|
+
'contextSchema',
|
|
204
|
+
'nextTurnParams',
|
|
205
|
+
'requireApproval',
|
|
206
|
+
'loopKey',
|
|
207
|
+
'timeoutMs',
|
|
208
|
+
'maxConcurrency',
|
|
209
|
+
'toModelOutput',
|
|
210
|
+
'eventSchema',
|
|
211
|
+
'ack',
|
|
212
|
+
'graceMs',
|
|
213
|
+
'pollAfterMs',
|
|
214
|
+
'check',
|
|
215
|
+
'logLimits',
|
|
216
|
+
];
|
|
217
|
+
for (const field of fields) {
|
|
218
|
+
if (config[field] !== undefined) {
|
|
219
|
+
fn[field] = config[field];
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Bind one deferred completion method: resolve the entry shape, prepend the
|
|
225
|
+
* tool itself to any `run` tools, and dispatch through `resumeToolResults`.
|
|
226
|
+
* The resume module is imported lazily to avoid a static
|
|
227
|
+
* tool.ts → call-model.ts → model-result.ts import cycle.
|
|
228
|
+
*/
|
|
229
|
+
function bindDeferredCompletion(toolValue, toEntry) {
|
|
230
|
+
return async (client, request, options) => {
|
|
231
|
+
const { resumeToolResults } = await import('../inner-loop/resume-tool-results.js');
|
|
232
|
+
const run = request.run;
|
|
233
|
+
return resumeToolResults(client, {
|
|
234
|
+
state: request.state,
|
|
235
|
+
tools: [
|
|
236
|
+
toolValue,
|
|
237
|
+
],
|
|
238
|
+
// Ownership guard: a taskId handed to an external system must not
|
|
239
|
+
// settle a DIFFERENT tool's task through this tool's methods.
|
|
240
|
+
...(isClientTool(toolValue) && {
|
|
241
|
+
expectToolName: toolValue.function.name,
|
|
242
|
+
}),
|
|
243
|
+
results: [
|
|
244
|
+
{
|
|
245
|
+
taskId: request.taskId,
|
|
246
|
+
...toEntry(request),
|
|
247
|
+
},
|
|
248
|
+
],
|
|
249
|
+
...(request.ifSettled !== undefined && {
|
|
250
|
+
ifSettled: request.ifSettled,
|
|
251
|
+
}),
|
|
252
|
+
...(run !== undefined && {
|
|
253
|
+
run: {
|
|
254
|
+
...run,
|
|
255
|
+
tools: [
|
|
256
|
+
toolValue,
|
|
257
|
+
...(run.tools ?? []).filter((t) => t !== toolValue),
|
|
258
|
+
],
|
|
259
|
+
},
|
|
260
|
+
}),
|
|
261
|
+
}, options);
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Build a unified `run` tool from a config. Deferred tools additionally get
|
|
266
|
+
* the typed `.resolve()/.fail()/.cancel()` completion methods.
|
|
267
|
+
*/
|
|
268
|
+
function buildUnifiedTool(config) {
|
|
269
|
+
const lifecycle = ('lifecycle' in config ? config.lifecycle : undefined) ?? 'sync';
|
|
270
|
+
// Long-running lifecycles require an outputSchema: the result settles
|
|
271
|
+
// after the round (possibly in another process) and must be validatable
|
|
272
|
+
// without the run's return-type inference. Type level enforces this too;
|
|
273
|
+
// JavaScript callers can bypass types.
|
|
274
|
+
if (lifecycle !== 'sync' && config.outputSchema === undefined) {
|
|
275
|
+
throw new Error(`Tool "${config.name}" (lifecycle: '${lifecycle}') must declare an outputSchema. Long-running results are validated when they settle — possibly long after the round that started them.`);
|
|
276
|
+
}
|
|
277
|
+
const fn = {
|
|
278
|
+
lifecycle,
|
|
279
|
+
name: config.name,
|
|
280
|
+
inputSchema: config.inputSchema,
|
|
281
|
+
run: config.run,
|
|
282
|
+
};
|
|
283
|
+
if (config.outputSchema !== undefined) {
|
|
284
|
+
fn['outputSchema'] = config.outputSchema;
|
|
285
|
+
}
|
|
286
|
+
assignCommonToolFields(fn, config);
|
|
287
|
+
const toolValue = {
|
|
288
|
+
type: ToolType.Function,
|
|
289
|
+
function: fn,
|
|
290
|
+
};
|
|
291
|
+
if (lifecycle !== 'deferred') {
|
|
292
|
+
return toolValue;
|
|
293
|
+
}
|
|
294
|
+
return Object.assign(toolValue, {
|
|
295
|
+
resolve: bindDeferredCompletion(toolValue, (request) => ({
|
|
296
|
+
output: request['output'],
|
|
297
|
+
})),
|
|
298
|
+
fail: bindDeferredCompletion(toolValue, (request) => ({
|
|
299
|
+
error: request['error'] instanceof Error
|
|
300
|
+
? request['error'].message
|
|
301
|
+
: String(request['error'] ?? 'Task failed'),
|
|
302
|
+
})),
|
|
303
|
+
cancel: bindDeferredCompletion(toolValue, (request) => ({
|
|
304
|
+
error: typeof request['reason'] === 'string' ? request['reason'] : 'Task cancelled',
|
|
305
|
+
status: 'cancelled',
|
|
306
|
+
})),
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
// Attach the agent builder as a namespaced property (expando properties on a
|
|
310
|
+
// function declaration merge into its type). `tool.agent()` keeps a
|
|
311
|
+
// dedicated builder because its config shape genuinely differs (an `agent`
|
|
312
|
+
// run-spec factory + `result` mapper instead of `run`).
|
|
313
|
+
tool.agent = agentToolBuilder;
|
|
135
314
|
/**
|
|
136
315
|
* Creates an OpenRouter server-executed tool. OpenRouter runs the tool (web
|
|
137
316
|
* search, datetime, image generation, etc.) and returns the output item in
|
|
@@ -143,19 +322,28 @@ export function tool(config) {
|
|
|
143
322
|
* in this SDK. Provide the `type` literal and the remaining fields narrow
|
|
144
323
|
* to match the chosen tool.
|
|
145
324
|
*
|
|
325
|
+
* Each server tool carries a stable tool-set `id` (default `server:${type}`)
|
|
326
|
+
* so activation APIs can address it. Override via the optional second argument.
|
|
327
|
+
*
|
|
146
328
|
* @example
|
|
147
329
|
* ```typescript
|
|
148
330
|
* const tools = [
|
|
149
331
|
* serverTool({ type: 'web_search_2025_08_26', engine: 'exa', maxResults: 10 }),
|
|
150
332
|
* serverTool({ type: 'openrouter:datetime', parameters: { timezone: 'UTC' } }),
|
|
151
333
|
* serverTool({ type: 'image_generation', size: '1024x1024', quality: 'high' }),
|
|
334
|
+
* serverTool({ type: 'web_search_2025_08_26' }, { id: 'server:public_search' }),
|
|
152
335
|
* ];
|
|
153
336
|
* ```
|
|
154
337
|
*/
|
|
155
|
-
export function serverTool(config) {
|
|
338
|
+
export function serverTool(config, options) {
|
|
339
|
+
if (options?.id === '') {
|
|
340
|
+
throw new Error('Server tool ID must not be empty');
|
|
341
|
+
}
|
|
342
|
+
const id = (options?.id ?? `server:${config.type}`);
|
|
156
343
|
return {
|
|
157
344
|
_brand: 'server-tool',
|
|
158
345
|
config,
|
|
346
|
+
id,
|
|
159
347
|
};
|
|
160
348
|
}
|
|
161
349
|
/**
|
|
@@ -164,12 +352,24 @@ export function serverTool(config) {
|
|
|
164
352
|
* the tool's runtime behavior and wire shape are unchanged — only its type (and
|
|
165
353
|
* the runtime {@link isMcpTool} check) now identify it as MCP-originated. Used
|
|
166
354
|
* by `@openrouter/mcp` to mark wrapped remote tools.
|
|
355
|
+
*
|
|
356
|
+
* `options.loopKey` attaches a doom-loop identity to the wrapped tool —
|
|
357
|
+
* the only injection point for MCP tools, whose remote definitions cannot
|
|
358
|
+
* carry client-side functions. Like every other tool hook it is a computed
|
|
359
|
+
* function over the call's arguments (or `false` to exempt).
|
|
167
360
|
*/
|
|
168
|
-
export function markMcp(toolToMark) {
|
|
169
|
-
|
|
361
|
+
export function markMcp(toolToMark, options) {
|
|
362
|
+
const marked = {
|
|
170
363
|
...toolToMark,
|
|
171
364
|
_mcp: true,
|
|
172
365
|
};
|
|
366
|
+
if (options?.loopKey !== undefined && isClientTool(marked)) {
|
|
367
|
+
marked.function = {
|
|
368
|
+
...marked.function,
|
|
369
|
+
loopKey: options.loopKey,
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
return marked;
|
|
173
373
|
}
|
|
174
374
|
//#endregion
|
|
175
375
|
//# sourceMappingURL=tool.js.map
|
package/esm/lib/tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/lib/tool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/lib/tool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AA0BjD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAue7E,iBAAiB;AACjB,MAAM,UAAU,IAAI,CAClB,MAOwD;IAExD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qEAAqE;IACrE,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,cAAc,kBAAkB,4DAA4D,CAC7F,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,0CAA0C;IAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,cAAc,cAAc,gFAAgF,CAC7G,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,mEAAmE;IACnE,qEAAqE;IACrE,wBAAwB;IACxB,IAAI,KAAK,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QACxD,OAAO,gBAAgB,CACrB,MAEkE,CACnE,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,IAAI,cAAc,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;QAC1E,mEAAmE;QACnE,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CACb,cAAc,QAAQ,uIAAuI,CAC9J,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAA0D;YAChE,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;QAEF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,oEAAoE;YACpE,iDAAiD;YAE/C,EAGD,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QACzC,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,EAAE,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,CAAC;QAED,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAC5C,EAAE,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACpD,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAkD;YACxD,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;QAEF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,oEAAoE;YACpE,iDAAiD;YAE/C,EAGD,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QACzC,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,EAAE,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,IAAI,aAAa,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChE,MAAM,EAAE,GAAG;YACT,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,OAAO,EAAE,MAAM,CAAC,OAAO;SACoD,CAAC;QAE9E,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,oEAAoE;YACpE,iDAAiD;YAE/C,EAGD,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QACzC,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,EAAE,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,eAAe,IAAI,MAAM,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACpE,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,sDAAsD;IACtD,MAAM,WAAW,GAAG;QAClB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI;YACtC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI;YACvC,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI;YACxC,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI;YAC1C,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI;YAClC,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI;YACpC,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;QACF,GAAG,CAAC,eAAe,IAAI,MAAM;YAC3B,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI;YACpC,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC;KACL,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;QACvB,QAAQ,EAAE,WAAW;KACtB,CAAC;AACJ,CAAC;AAqFD,qEAAqE;AACrE,SAAS,sBAAsB,CAC7B,EAA2B,EAC3B,MAA+B;IAE/B,MAAM,MAAM,GAAG;QACb,aAAa;QACb,QAAQ;QACR,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,SAAS;QACT,WAAW;QACX,gBAAgB;QAChB,eAAe;QACf,aAAa;QACb,KAAK;QACL,SAAS;QACT,aAAa;QACb,OAAO;QACP,WAAW;KACH,CAAC;IACX,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YAChC,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAC7B,SAAe,EACf,OAAsE;IAMtE,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACxC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,sCAAsC,CAAC,CAAC;QACnF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,OAAO,iBAAiB,CACtB,MAAM,EACN;YACE,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE;gBACL,SAAS;aACV;YACD,kEAAkE;YAClE,8DAA8D;YAC9D,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI;gBAC7B,cAAc,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI;aACxC,CAAC;YACF,OAAO,EAAE;gBACP;oBACE,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,GAAG,OAAO,CAAC,OAAO,CAAC;iBACX;aACX;YACD,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI;gBACrC,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC;YACF,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI;gBACvB,GAAG,EAAE;oBACH,GAAG,GAAG;oBACN,KAAK,EAAE;wBACL,SAAS;wBACT,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;qBACpD;iBACF;aACF,CAAC;SACH,EACD,OAAO,CACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CACvB,MAEkE;IAElE,MAAM,SAAS,GAAkB,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC;IAElG,sEAAsE;IACtE,wEAAwE;IACxE,yEAAyE;IACzE,uCAAuC;IACvC,IAAI,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CACb,SAAS,MAAM,CAAC,IAAI,kBAAkB,SAAS,yIAAyI,CACzL,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAA4B;QAClC,SAAS;QACT,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,GAAG,EAAE,MAAM,CAAC,GAAG;KAChB,CAAC;IACF,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,EAAE,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;IAC3C,CAAC;IACD,sBAAsB,CAAC,EAAE,EAAE,MAAiC,CAAC,CAAC;IAE9D,MAAM,SAAS,GAAG;QAChB,IAAI,EAAE,QAAQ,CAAC,QAAQ;QACvB,QAAQ,EAAE,EAAwC;KACnD,CAAC;IAEF,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;QAC9B,OAAO,EAAE,sBAAsB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACvD,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;SAC1B,CAAC,CAAC;QACH,IAAI,EAAE,sBAAsB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACpD,KAAK,EACH,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK;gBAC/B,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO;gBAC1B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC;SAChD,CAAC,CAAC;QACH,MAAM,EAAE,sBAAsB,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACtD,KAAK,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB;YACnF,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;KACJ,CAAS,CAAC;AACb,CAAC;AAED,6EAA6E;AAC7E,oEAAoE;AACpE,2EAA2E;AAC3E,wDAAwD;AACxD,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC;AAkB9B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,UAAU,CACxB,MAKC,EACD,OAAgC;IAEhC,IAAI,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,IAAK,UAAU,MAAM,CAAC,IAAI,EAAY,CAAQ,CAAC;IACtE,OAAO;QACL,MAAM,EAAE,aAAa;QACrB,MAAM;QACN,EAAE;KACH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,OAAO,CACrB,UAAa,EACb,OAEC;IAED,MAAM,MAAM,GAAG;QACb,GAAG,UAAU;QACb,IAAI,EAAE,IAAa;KACpB,CAAC;IACF,IAAI,OAAO,EAAE,OAAO,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,MAAM,CAAC,QAAQ,GAAG;YAChB,GAAG,MAAM,CAAC,QAAQ;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,YAAY"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { OAuthClientProvider } from '@modelcontextprotocol/client';
|
|
2
|
+
import type { MCPAuth } from './auth-types.js';
|
|
3
|
+
/**
|
|
4
|
+
* The transport-level pieces derived from an {@link MCPAuth}: static headers to
|
|
5
|
+
* merge into `requestInit`, and/or an OAuth provider to hand to the transport.
|
|
6
|
+
* Both flow into the same connected client, so discovery and tool calls share
|
|
7
|
+
* one authenticated session.
|
|
8
|
+
*/
|
|
9
|
+
export interface ResolvedAuth {
|
|
10
|
+
headers: Record<string, string>;
|
|
11
|
+
authProvider?: OAuthClientProvider;
|
|
12
|
+
}
|
|
13
|
+
export declare function resolveAuth(auth: MCPAuth | undefined): ResolvedAuth;
|
|
14
|
+
//# sourceMappingURL=auth-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-resolver.d.ts","sourceRoot":"","sources":["../../../src/mcp/auth/auth-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,YAAY,CAyBnE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export function resolveAuth(auth) {
|
|
2
|
+
if (auth === undefined) {
|
|
3
|
+
return {
|
|
4
|
+
headers: {},
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
switch (auth.kind) {
|
|
8
|
+
case 'bearer':
|
|
9
|
+
return {
|
|
10
|
+
headers: {
|
|
11
|
+
Authorization: `Bearer ${auth.token}`,
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
case 'headers':
|
|
15
|
+
return {
|
|
16
|
+
headers: {
|
|
17
|
+
...auth.headers,
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
case 'oauth':
|
|
21
|
+
return {
|
|
22
|
+
headers: {},
|
|
23
|
+
authProvider: auth.provider,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=auth-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-resolver.js","sourceRoot":"","sources":["../../../src/mcp/auth/auth-resolver.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,WAAW,CAAC,IAAyB;IACnD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO;YACL,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO;gBACL,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;iBACtC;aACF,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,OAAO,EAAE;oBACP,GAAG,IAAI,CAAC,OAAO;iBAChB;aACF,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE,IAAI,CAAC,QAAQ;aAC5B,CAAC;IACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { OAuthClientProvider } from '@modelcontextprotocol/client';
|
|
2
|
+
/**
|
|
3
|
+
* The OAuth provider contract expected by {@link MCPAuth}'s `oauth` variant.
|
|
4
|
+
*
|
|
5
|
+
* Re-exported under our own name so consumers can type their provider without
|
|
6
|
+
* importing from `@modelcontextprotocol/client` directly — that import path is
|
|
7
|
+
* an implementation detail of this package and has changed once already.
|
|
8
|
+
*/
|
|
9
|
+
export type MCPOAuthClientProvider = OAuthClientProvider;
|
|
10
|
+
/**
|
|
11
|
+
* Authentication for a remote MCP server. Supplied once and reused by the
|
|
12
|
+
* connected client for tool discovery and every subsequent tool call.
|
|
13
|
+
*
|
|
14
|
+
* - `bearer`: a static bearer token sent as `Authorization: Bearer <token>`.
|
|
15
|
+
* - `headers`: arbitrary static headers (e.g. API keys, custom auth schemes).
|
|
16
|
+
* - `oauth`: a user-supplied {@link OAuthClientProvider} that owns token
|
|
17
|
+
* acquisition/refresh. Preferred over caching static tokens.
|
|
18
|
+
*/
|
|
19
|
+
export type MCPAuth = {
|
|
20
|
+
kind: 'bearer';
|
|
21
|
+
token: string;
|
|
22
|
+
} | {
|
|
23
|
+
kind: 'headers';
|
|
24
|
+
headers: Readonly<Record<string, string>>;
|
|
25
|
+
} | {
|
|
26
|
+
kind: 'oauth';
|
|
27
|
+
provider: OAuthClientProvider;
|
|
28
|
+
};
|
|
29
|
+
export declare function isOAuthAuth(auth: MCPAuth | undefined): auth is {
|
|
30
|
+
kind: 'oauth';
|
|
31
|
+
provider: OAuthClientProvider;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=auth-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-types.d.ts","sourceRoot":"","sources":["../../../src/mcp/auth/auth-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAEzD;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,GACf;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC3C,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,CAAC;AAEN,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,IAAI;IAC9D,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,CAEA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-types.js","sourceRoot":"","sources":["../../../src/mcp/auth/auth-types.ts"],"names":[],"mappings":"AAkCA,MAAM,UAAU,WAAW,CAAC,IAAyB;IAInD,OAAO,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Client } from '@modelcontextprotocol/client';
|
|
2
|
+
import type { Tool, ToolLoopKey } from '../lib/tool-types.js';
|
|
3
|
+
import type { UnconvertibleSchemaMode } from './schema/json-schema-to-zod.js';
|
|
4
|
+
import type { McpToolDef } from './tool-wrapper.js';
|
|
5
|
+
import type { ResourcesOption } from './types.js';
|
|
6
|
+
export interface BuildToolsOptions {
|
|
7
|
+
client: Client;
|
|
8
|
+
toolDefs: readonly McpToolDef[];
|
|
9
|
+
namePrefix?: string;
|
|
10
|
+
includeTools?: readonly string[];
|
|
11
|
+
excludeTools?: readonly string[];
|
|
12
|
+
schemaMode?: UnconvertibleSchemaMode;
|
|
13
|
+
emitProgress?: boolean;
|
|
14
|
+
/** Per-tool doom-loop identities, keyed by unprefixed MCP tool name. */
|
|
15
|
+
loopKeys?: Readonly<Record<string, ToolLoopKey<Record<string, unknown>>>>;
|
|
16
|
+
signal?: AbortSignal;
|
|
17
|
+
resources?: ResourcesOption;
|
|
18
|
+
/** Whether the server advertised the resources capability. */
|
|
19
|
+
serverHasResources: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** Apply allow/deny filters to discovered MCP tool definitions. */
|
|
22
|
+
export declare function filterToolDefs(defs: readonly McpToolDef[], includeTools?: readonly string[], excludeTools?: readonly string[]): McpToolDef[];
|
|
23
|
+
/**
|
|
24
|
+
* Build the full ordered tool list for a handle: filtered + wrapped MCP tools,
|
|
25
|
+
* plus synthetic resource tools when enabled. Throws on a name collision so two
|
|
26
|
+
* tools never silently shadow each other in `callModel`.
|
|
27
|
+
*/
|
|
28
|
+
export declare function buildTools(options: BuildToolsOptions): Tool[];
|
|
29
|
+
//# sourceMappingURL=build-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/build-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,8DAA8D;IAC9D,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AASD,mEAAmE;AACnE,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,UAAU,EAAE,EAC3B,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,EAChC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAC/B,UAAU,EAAE,CASd;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,EAAE,CAwC7D"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { MCPError } from './errors.js';
|
|
2
|
+
import { buildResourceTools } from './resource-tools.js';
|
|
3
|
+
import { wrapMcpTool } from './tool-wrapper.js';
|
|
4
|
+
function resourcesEnabled(option) {
|
|
5
|
+
if (option === undefined) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
return option === true || (typeof option === 'object' && option !== null);
|
|
9
|
+
}
|
|
10
|
+
/** Apply allow/deny filters to discovered MCP tool definitions. */
|
|
11
|
+
export function filterToolDefs(defs, includeTools, excludeTools) {
|
|
12
|
+
const include = includeTools !== undefined ? new Set(includeTools) : undefined;
|
|
13
|
+
const exclude = new Set(excludeTools ?? []);
|
|
14
|
+
return defs.filter((def) => {
|
|
15
|
+
if (include !== undefined && !include.has(def.name)) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
return !exclude.has(def.name);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Build the full ordered tool list for a handle: filtered + wrapped MCP tools,
|
|
23
|
+
* plus synthetic resource tools when enabled. Throws on a name collision so two
|
|
24
|
+
* tools never silently shadow each other in `callModel`.
|
|
25
|
+
*/
|
|
26
|
+
export function buildTools(options) {
|
|
27
|
+
const filtered = filterToolDefs(options.toolDefs, options.includeTools, options.excludeTools);
|
|
28
|
+
const wrapOptions = {
|
|
29
|
+
client: options.client,
|
|
30
|
+
...(options.namePrefix !== undefined && {
|
|
31
|
+
namePrefix: options.namePrefix,
|
|
32
|
+
}),
|
|
33
|
+
...(options.schemaMode !== undefined && {
|
|
34
|
+
schemaMode: options.schemaMode,
|
|
35
|
+
}),
|
|
36
|
+
...(options.emitProgress !== undefined && {
|
|
37
|
+
emitProgress: options.emitProgress,
|
|
38
|
+
}),
|
|
39
|
+
...(options.loopKeys !== undefined && {
|
|
40
|
+
loopKeys: options.loopKeys,
|
|
41
|
+
}),
|
|
42
|
+
...(options.signal !== undefined && {
|
|
43
|
+
signal: options.signal,
|
|
44
|
+
}),
|
|
45
|
+
};
|
|
46
|
+
const tools = filtered.map((def) => wrapMcpTool(def, wrapOptions));
|
|
47
|
+
if (options.serverHasResources && resourcesEnabled(options.resources)) {
|
|
48
|
+
tools.push(...buildResourceTools({
|
|
49
|
+
client: options.client,
|
|
50
|
+
...(options.namePrefix !== undefined && {
|
|
51
|
+
namePrefix: options.namePrefix,
|
|
52
|
+
}),
|
|
53
|
+
...(options.signal !== undefined && {
|
|
54
|
+
signal: options.signal,
|
|
55
|
+
}),
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
assertNoDuplicateNames(tools);
|
|
59
|
+
return tools;
|
|
60
|
+
}
|
|
61
|
+
function toolName(tool) {
|
|
62
|
+
if ('function' in tool && typeof tool.function.name === 'string') {
|
|
63
|
+
return tool.function.name;
|
|
64
|
+
}
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
function assertNoDuplicateNames(tools) {
|
|
68
|
+
const seen = new Set();
|
|
69
|
+
for (const tool of tools) {
|
|
70
|
+
const name = toolName(tool);
|
|
71
|
+
if (name === undefined) {
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
if (seen.has(name)) {
|
|
75
|
+
throw new MCPError(`Duplicate tool name "${name}". Use toolNamePrefix or excludeTools to disambiguate.`);
|
|
76
|
+
}
|
|
77
|
+
seen.add(name);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=build-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-tools.js","sourceRoot":"","sources":["../../src/mcp/build-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { SerializedMCPServer } from './cache-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Pluggable cache for MCP server snapshots. Implement this to back the cache
|
|
4
|
+
* with Redis, a database, or the filesystem. All methods may be async.
|
|
5
|
+
*
|
|
6
|
+
* SECURITY: when `cacheCredentials` is enabled, stored snapshots contain bearer
|
|
7
|
+
* tokens/headers — treat the store as a secret store (encrypt at rest, scope
|
|
8
|
+
* access) and namespace keys by principal in multi-tenant setups.
|
|
9
|
+
*/
|
|
10
|
+
export interface MCPCacheStore {
|
|
11
|
+
get(key: string): Promise<SerializedMCPServer | null> | SerializedMCPServer | null;
|
|
12
|
+
set(key: string, value: SerializedMCPServer): Promise<void> | void;
|
|
13
|
+
delete?(key: string): Promise<void> | void;
|
|
14
|
+
}
|
|
15
|
+
/** Default in-process cache backed by a `Map`. Not shared across processes. */
|
|
16
|
+
export declare class InMemoryMCPCacheStore implements MCPCacheStore {
|
|
17
|
+
private readonly entries;
|
|
18
|
+
get(key: string): SerializedMCPServer | null;
|
|
19
|
+
set(key: string, value: SerializedMCPServer): void;
|
|
20
|
+
delete(key: string): void;
|
|
21
|
+
}
|
|
22
|
+
/** Default cache key for a server URL. Override via `cache.key` for multi-tenant. */
|
|
23
|
+
export declare function defaultCacheKey(url: string): string;
|
|
24
|
+
//# sourceMappingURL=cache-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-store.d.ts","sourceRoot":"","sources":["../../../src/mcp/cache/cache-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,mBAAmB,GAAG,IAAI,CAAC;IACnF,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnE,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC5C;AAED,+EAA+E;AAC/E,qBAAa,qBAAsB,YAAW,aAAa;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;IAElE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAI5C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAIlD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAG1B;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Default in-process cache backed by a `Map`. Not shared across processes. */
|
|
2
|
+
export class InMemoryMCPCacheStore {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.entries = new Map();
|
|
5
|
+
}
|
|
6
|
+
get(key) {
|
|
7
|
+
return this.entries.get(key) ?? null;
|
|
8
|
+
}
|
|
9
|
+
set(key, value) {
|
|
10
|
+
this.entries.set(key, value);
|
|
11
|
+
}
|
|
12
|
+
delete(key) {
|
|
13
|
+
this.entries.delete(key);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/** Default cache key for a server URL. Override via `cache.key` for multi-tenant. */
|
|
17
|
+
export function defaultCacheKey(url) {
|
|
18
|
+
return `openrouter-mcp:${url}`;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=cache-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-store.js","sourceRoot":"","sources":["../../../src/mcp/cache/cache-store.ts"],"names":[],"mappings":"AAgBA,+EAA+E;AAC/E,MAAM,OAAO,qBAAqB;IAAlC;QACmB,YAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IAapE,CAAC;IAXC,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACvC,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAA0B;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;CACF;AAED,qFAAqF;AACrF,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,kBAAkB,GAAG,EAAE,CAAC;AACjC,CAAC"}
|