@openrouter/agent 0.9.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.
Files changed (136) hide show
  1. package/README.md +249 -2
  2. package/THIRD_PARTY_NOTICES.md +25 -0
  3. package/esm/index.d.ts +3 -3
  4. package/esm/index.d.ts.map +1 -1
  5. package/esm/index.js +1 -1
  6. package/esm/index.js.map +1 -1
  7. package/esm/inner-loop/call-model.d.ts.map +1 -1
  8. package/esm/inner-loop/call-model.js +25 -7
  9. package/esm/inner-loop/call-model.js.map +1 -1
  10. package/esm/lib/agent-tool.d.ts +1 -1
  11. package/esm/lib/agent-tool.d.ts.map +1 -1
  12. package/esm/lib/agent-tool.js.map +1 -1
  13. package/esm/lib/async-params.d.ts +14 -0
  14. package/esm/lib/async-params.d.ts.map +1 -1
  15. package/esm/lib/async-params.js +25 -1
  16. package/esm/lib/async-params.js.map +1 -1
  17. package/esm/lib/model-result.d.ts +3 -3
  18. package/esm/lib/model-result.d.ts.map +1 -1
  19. package/esm/lib/model-result.js +45 -21
  20. package/esm/lib/model-result.js.map +1 -1
  21. package/esm/lib/next-turn-params.d.ts.map +1 -1
  22. package/esm/lib/next-turn-params.js +3 -1
  23. package/esm/lib/next-turn-params.js.map +1 -1
  24. package/esm/lib/next-turn-params.test.js +72 -0
  25. package/esm/lib/next-turn-params.test.js.map +1 -1
  26. package/esm/lib/stream-transformers.d.ts +1 -1
  27. package/esm/lib/stream-transformers.d.ts.map +1 -1
  28. package/esm/lib/stream-transformers.js.map +1 -1
  29. package/esm/lib/tool-set-types.d.ts +298 -0
  30. package/esm/lib/tool-set-types.d.ts.map +1 -0
  31. package/esm/lib/tool-set-types.js +2 -0
  32. package/esm/lib/tool-set-types.js.map +1 -0
  33. package/esm/lib/tool-set.d.ts +157 -0
  34. package/esm/lib/tool-set.d.ts.map +1 -0
  35. package/esm/lib/tool-set.js +473 -0
  36. package/esm/lib/tool-set.js.map +1 -0
  37. package/esm/lib/tool-types.d.ts +198 -28
  38. package/esm/lib/tool-types.d.ts.map +1 -1
  39. package/esm/lib/tool-types.js.map +1 -1
  40. package/esm/lib/tool.d.ts +47 -21
  41. package/esm/lib/tool.d.ts.map +1 -1
  42. package/esm/lib/tool.js +13 -3
  43. package/esm/lib/tool.js.map +1 -1
  44. package/esm/mcp/auth/auth-resolver.d.ts +14 -0
  45. package/esm/mcp/auth/auth-resolver.d.ts.map +1 -0
  46. package/esm/mcp/auth/auth-resolver.js +27 -0
  47. package/esm/mcp/auth/auth-resolver.js.map +1 -0
  48. package/esm/mcp/auth/auth-types.d.ts +33 -0
  49. package/esm/mcp/auth/auth-types.d.ts.map +1 -0
  50. package/esm/mcp/auth/auth-types.js +4 -0
  51. package/esm/mcp/auth/auth-types.js.map +1 -0
  52. package/esm/mcp/build-tools.d.ts +29 -0
  53. package/esm/mcp/build-tools.d.ts.map +1 -0
  54. package/esm/mcp/build-tools.js +80 -0
  55. package/esm/mcp/build-tools.js.map +1 -0
  56. package/esm/mcp/cache/cache-store.d.ts +24 -0
  57. package/esm/mcp/cache/cache-store.d.ts.map +1 -0
  58. package/esm/mcp/cache/cache-store.js +20 -0
  59. package/esm/mcp/cache/cache-store.js.map +1 -0
  60. package/esm/mcp/cache/cache-types.d.ts +71 -0
  61. package/esm/mcp/cache/cache-types.d.ts.map +1 -0
  62. package/esm/mcp/cache/cache-types.js +49 -0
  63. package/esm/mcp/cache/cache-types.js.map +1 -0
  64. package/esm/mcp/cache/serialize.d.ts +25 -0
  65. package/esm/mcp/cache/serialize.d.ts.map +1 -0
  66. package/esm/mcp/cache/serialize.js +96 -0
  67. package/esm/mcp/cache/serialize.js.map +1 -0
  68. package/esm/mcp/close-quietly.d.ts +24 -0
  69. package/esm/mcp/close-quietly.d.ts.map +1 -0
  70. package/esm/mcp/close-quietly.js +30 -0
  71. package/esm/mcp/close-quietly.js.map +1 -0
  72. package/esm/mcp/create-mcp-tools.d.ts +13 -0
  73. package/esm/mcp/create-mcp-tools.d.ts.map +1 -0
  74. package/esm/mcp/create-mcp-tools.js +87 -0
  75. package/esm/mcp/create-mcp-tools.js.map +1 -0
  76. package/esm/mcp/elicitation.d.ts +11 -0
  77. package/esm/mcp/elicitation.d.ts.map +1 -0
  78. package/esm/mcp/elicitation.js +51 -0
  79. package/esm/mcp/elicitation.js.map +1 -0
  80. package/esm/mcp/errors.d.ts +91 -0
  81. package/esm/mcp/errors.d.ts.map +1 -0
  82. package/esm/mcp/errors.js +91 -0
  83. package/esm/mcp/errors.js.map +1 -0
  84. package/esm/mcp/handle.d.ts +66 -0
  85. package/esm/mcp/handle.d.ts.map +1 -0
  86. package/esm/mcp/handle.js +323 -0
  87. package/esm/mcp/handle.js.map +1 -0
  88. package/esm/mcp/index.d.ts +13 -0
  89. package/esm/mcp/index.d.ts.map +1 -0
  90. package/esm/mcp/index.js +11 -0
  91. package/esm/mcp/index.js.map +1 -0
  92. package/esm/mcp/mcp-connection.d.ts +150 -0
  93. package/esm/mcp/mcp-connection.d.ts.map +1 -0
  94. package/esm/mcp/mcp-connection.js +478 -0
  95. package/esm/mcp/mcp-connection.js.map +1 -0
  96. package/esm/mcp/mcp-sdk.d.ts +10 -0
  97. package/esm/mcp/mcp-sdk.d.ts.map +1 -0
  98. package/esm/mcp/mcp-sdk.js +37 -0
  99. package/esm/mcp/mcp-sdk.js.map +1 -0
  100. package/esm/mcp/rehydrate.d.ts +76 -0
  101. package/esm/mcp/rehydrate.d.ts.map +1 -0
  102. package/esm/mcp/rehydrate.js +505 -0
  103. package/esm/mcp/rehydrate.js.map +1 -0
  104. package/esm/mcp/resource-tools.d.ts +17 -0
  105. package/esm/mcp/resource-tools.d.ts.map +1 -0
  106. package/esm/mcp/resource-tools.js +155 -0
  107. package/esm/mcp/resource-tools.js.map +1 -0
  108. package/esm/mcp/result-mapper.d.ts +19 -0
  109. package/esm/mcp/result-mapper.d.ts.map +1 -0
  110. package/esm/mcp/result-mapper.js +40 -0
  111. package/esm/mcp/result-mapper.js.map +1 -0
  112. package/esm/mcp/schema/json-schema-guards.d.ts +14 -0
  113. package/esm/mcp/schema/json-schema-guards.d.ts.map +1 -0
  114. package/esm/mcp/schema/json-schema-guards.js +19 -0
  115. package/esm/mcp/schema/json-schema-guards.js.map +1 -0
  116. package/esm/mcp/schema/json-schema-to-zod.d.ts +20 -0
  117. package/esm/mcp/schema/json-schema-to-zod.d.ts.map +1 -0
  118. package/esm/mcp/schema/json-schema-to-zod.js +72 -0
  119. package/esm/mcp/schema/json-schema-to-zod.js.map +1 -0
  120. package/esm/mcp/tool-wrapper.d.ts +41 -0
  121. package/esm/mcp/tool-wrapper.d.ts.map +1 -0
  122. package/esm/mcp/tool-wrapper.js +131 -0
  123. package/esm/mcp/tool-wrapper.js.map +1 -0
  124. package/esm/mcp/transport-types.d.ts +45 -0
  125. package/esm/mcp/transport-types.d.ts.map +1 -0
  126. package/esm/mcp/transport-types.js +2 -0
  127. package/esm/mcp/transport-types.js.map +1 -0
  128. package/esm/mcp/types.d.ts +119 -0
  129. package/esm/mcp/types.d.ts.map +1 -0
  130. package/esm/mcp/types.js +2 -0
  131. package/esm/mcp/types.js.map +1 -0
  132. package/esm/mcp/version.d.ts +3 -0
  133. package/esm/mcp/version.d.ts.map +1 -0
  134. package/esm/mcp/version.js +5 -0
  135. package/esm/mcp/version.js.map +1 -0
  136. package/package.json +44 -7
@@ -0,0 +1,119 @@
1
+ import type { Tool, ToolLoopKey } from '../lib/tool-types.js';
2
+ import type { MCPAuth } from './auth/auth-types.js';
3
+ import type { MCPCacheStore } from './cache/cache-store.js';
4
+ import type { UnconvertibleSchemaMode } from './schema/json-schema-to-zod.js';
5
+ import type { MCPProtocolNegotiation, MCPProtocolRevision, MCPTransportKind } from './transport-types.js';
6
+ export type { MCPProtocolNegotiation, MCPProtocolRevision, MCPTransportKind };
7
+ /**
8
+ * Response to a server-initiated elicitation request. `accept` must carry
9
+ * `content` matching the server's `requestedSchema`.
10
+ */
11
+ export type ElicitationResponse = {
12
+ action: 'accept';
13
+ content: Record<string, unknown>;
14
+ } | {
15
+ action: 'decline';
16
+ } | {
17
+ action: 'cancel';
18
+ };
19
+ /**
20
+ * Handler for server-initiated `elicitation/create` requests during a tool
21
+ * call. If omitted from options, requests are auto-declined so a tool call
22
+ * needing input fails gracefully rather than hanging.
23
+ */
24
+ export type ElicitationHandler = (request: {
25
+ message: string;
26
+ requestedSchema: Record<string, unknown>;
27
+ }) => Promise<ElicitationResponse> | ElicitationResponse;
28
+ /** How MCP resources are exposed to the model. */
29
+ export type ResourcesOption = boolean | {
30
+ mode?: 'synthetic-tools';
31
+ };
32
+ export interface CreateMCPToolsOptions {
33
+ /** Remote MCP server endpoint. */
34
+ url: string | URL;
35
+ /** Transport to use; defaults to `streamableHttp` with SSE fallback. */
36
+ transport?: MCPTransportKind;
37
+ /** Authentication, supplied once and reused for discovery + every call. */
38
+ auth?: MCPAuth;
39
+ /** Custom fetch implementation for all network requests. */
40
+ fetch?: typeof fetch;
41
+ /** Client identity sent during `initialize`. */
42
+ clientInfo?: {
43
+ name: string;
44
+ version: string;
45
+ };
46
+ /** Prefix applied to every wrapped tool name (e.g. `"github_"`). */
47
+ toolNamePrefix?: string;
48
+ /**
49
+ * Allow-list of MCP tool names to expose. Applies to discovered MCP tools
50
+ * only; synthetic `list_resources`/`read_resource` tools are controlled
51
+ * exclusively by `resources`.
52
+ */
53
+ includeTools?: readonly string[];
54
+ /**
55
+ * Deny-list of MCP tool names to skip. Applies to discovered MCP tools only;
56
+ * synthetic `list_resources`/`read_resource` tools are controlled
57
+ * exclusively by `resources`.
58
+ */
59
+ excludeTools?: readonly string[];
60
+ /** Behavior when a tool's JSON Schema can't be fully represented in Zod. */
61
+ onUnconvertibleSchema?: UnconvertibleSchemaMode;
62
+ /** Cache store + key for automatic rehydrate-on-hit / write-on-miss. */
63
+ cache?: {
64
+ store: MCPCacheStore;
65
+ key?: string;
66
+ };
67
+ /** Persist resolved tokens/session into the snapshot. Off by default. */
68
+ cacheCredentials?: boolean;
69
+ /** Re-list tools when a cached snapshot is older than this. */
70
+ staleness?: {
71
+ maxAgeMs?: number;
72
+ };
73
+ /** Expose resources as synthetic `list_resources`/`read_resource` tools. */
74
+ resources?: ResourcesOption;
75
+ /** Map MCP progress notifications to generator-tool events. Default true. */
76
+ emitProgress?: boolean;
77
+ /**
78
+ * Doom-loop identities for wrapped tools (see the `doomLoop` option on
79
+ * `callModel`), keyed by the tool's UNPREFIXED MCP name. Any `ToolLoopKey`
80
+ * form: a function computing key material, a declarative field-name array
81
+ * (e.g. `{ run_command: ['command', 'cwd'] }`), or `false` to exempt a
82
+ * tool. Takes precedence over a server-advertised
83
+ * `_meta['openrouter/loopKey']` declaration. Function forms are
84
+ * client-side only (they cannot be cached or transported); prefer field
85
+ * lists where possible.
86
+ */
87
+ loopKeys?: Readonly<Record<string, ToolLoopKey<Record<string, unknown>>>>;
88
+ /** Auto-refresh tools on `tools/list_changed`. Default true when connected. */
89
+ autoRefreshOnListChanged?: boolean;
90
+ /** Handler for server-initiated elicitation; auto-declines when omitted. */
91
+ onElicitation?: ElicitationHandler;
92
+ /** Protocol-revision negotiation policy; defaults to `auto`. */
93
+ protocolNegotiation?: MCPProtocolNegotiation;
94
+ /** Ceiling on the `server/discover` probe, in ms; defaults to 30000. */
95
+ probeTimeoutMs?: number;
96
+ /** Abort signal threaded into every underlying `callTool`. */
97
+ signal?: AbortSignal;
98
+ }
99
+ /**
100
+ * Handle returned by {@link createMCPTools}/`rehydrateMCPTools`. Holds a live
101
+ * connection (unless rehydrated offline) and the wrapped tools.
102
+ */
103
+ export interface MCPToolsHandle {
104
+ /** Tools ready to pass into `callModel({ tools })`. */
105
+ readonly tools: readonly Tool[];
106
+ readonly serverInfo?: {
107
+ name?: string;
108
+ version?: string;
109
+ };
110
+ /** Snapshot for persistence; omits credentials unless `cacheCredentials`. */
111
+ serialize(): Promise<import('./cache/cache-types.js').SerializedMCPServer>;
112
+ /** Force a fresh `listTools()` and rebuild the tool set. */
113
+ refresh(): Promise<readonly Tool[]>;
114
+ /** Subscribe to auto-refreshes triggered by `tools/list_changed`. */
115
+ onToolsChanged(listener: (tools: readonly Tool[]) => void): () => void;
116
+ /** Close the transport and underlying client. */
117
+ close(): Promise<void>;
118
+ }
119
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;AAE9E;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IACE,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,GACD;IACE,MAAM,EAAE,SAAS,CAAC;CACnB,GACD;IACE,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEN;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C,KAAK,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;AAEzD,kDAAkD;AAClD,MAAM,MAAM,eAAe,GACvB,OAAO,GACP;IACE,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAEN,MAAM,WAAW,qBAAqB;IACpC,kCAAkC;IAClC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAClB,wEAAwE;IACxE,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,2EAA2E;IAC3E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,gDAAgD;IAChD,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,4EAA4E;IAC5E,qBAAqB,CAAC,EAAE,uBAAuB,CAAC;IAChD,wEAAwE;IACxE,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,aAAa,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+DAA+D;IAC/D,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,4EAA4E;IAC5E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,6EAA6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,+EAA+E;IAC/E,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,4EAA4E;IAC5E,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,sBAAsB,CAAC;IAC7C,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,6EAA6E;IAC7E,SAAS,IAAI,OAAO,CAAC,OAAO,wBAAwB,EAAE,mBAAmB,CAAC,CAAC;IAC3E,4DAA4D;IAC5D,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACpC,qEAAqE;IACrE,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACvE,iDAAiD;IACjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /** This package's version, self-reported to MCP servers as `clientInfo`. */
2
+ export declare const PACKAGE_VERSION = "0.10.0";
3
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/mcp/version.ts"],"names":[],"mappings":"AAGA,4EAA4E;AAC5E,eAAO,MAAM,eAAe,WAAW,CAAC"}
@@ -0,0 +1,5 @@
1
+ // DO NOT EDIT — generated from package.json by scripts/gen-version.mjs.
2
+ // Run `pnpm --filter @openrouter/agent gen:version` after bumping the version.
3
+ /** This package's version, self-reported to MCP servers as `clientInfo`. */
4
+ export const PACKAGE_VERSION = '0.10.0';
5
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/mcp/version.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,+EAA+E;AAE/E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrouter/agent",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "author": "OpenRouter",
5
5
  "description": "Agent toolkit for building AI applications with OpenRouter — tool orchestration, streaming, multi-turn conversations, and format compatibility.",
6
6
  "keywords": [
@@ -92,11 +92,34 @@
92
92
  "types": "./esm/lib/turn-context.d.ts",
93
93
  "default": "./esm/lib/turn-context.js"
94
94
  },
95
+ "./tool-set": {
96
+ "types": "./esm/lib/tool-set.d.ts",
97
+ "default": "./esm/lib/tool-set.js"
98
+ },
95
99
  "./openrouter": {
96
100
  "types": "./esm/openrouter.d.ts",
97
101
  "default": "./esm/openrouter.js"
98
102
  },
99
- "./package.json": "./package.json",
103
+ "./mcp": {
104
+ "types": "./esm/mcp/index.d.ts",
105
+ "default": "./esm/mcp/index.js"
106
+ },
107
+ "./mcp/create-mcp-tools": {
108
+ "types": "./esm/mcp/create-mcp-tools.d.ts",
109
+ "default": "./esm/mcp/create-mcp-tools.js"
110
+ },
111
+ "./mcp/types": {
112
+ "types": "./esm/mcp/types.d.ts",
113
+ "default": "./esm/mcp/types.js"
114
+ },
115
+ "./mcp/schema": {
116
+ "types": "./esm/mcp/schema/json-schema-to-zod.d.ts",
117
+ "default": "./esm/mcp/schema/json-schema-to-zod.js"
118
+ },
119
+ "./mcp/cache": {
120
+ "types": "./esm/mcp/cache/cache-store.d.ts",
121
+ "default": "./esm/mcp/cache/cache-store.js"
122
+ },
100
123
  "./tool-concurrency": {
101
124
  "types": "./esm/lib/tool-concurrency.d.ts",
102
125
  "default": "./esm/lib/tool-concurrency.js"
@@ -120,7 +143,8 @@
120
143
  "./agent-tool": {
121
144
  "types": "./esm/lib/agent-tool.d.ts",
122
145
  "default": "./esm/lib/agent-tool.js"
123
- }
146
+ },
147
+ "./package.json": "./package.json"
124
148
  },
125
149
  "sideEffects": false,
126
150
  "repository": {
@@ -135,20 +159,33 @@
135
159
  "files": [
136
160
  "esm",
137
161
  "package.json",
138
- "README.md"
162
+ "README.md",
163
+ "THIRD_PARTY_NOTICES.md"
139
164
  ],
140
165
  "dependencies": {
141
166
  "@openrouter/sdk": "^0.13.7",
142
167
  "zod": "^4.0.0"
143
168
  },
169
+ "peerDependencies": {
170
+ "@modelcontextprotocol/client": "^2.0.0"
171
+ },
172
+ "peerDependenciesMeta": {
173
+ "@modelcontextprotocol/client": {
174
+ "optional": true
175
+ }
176
+ },
177
+ "devDependencies": {
178
+ "@modelcontextprotocol/client": "^2.0.0"
179
+ },
144
180
  "scripts": {
145
181
  "lint": "biome check src tests",
146
182
  "lint:fix": "biome check --write src tests",
147
- "build": "tsc",
183
+ "build": "node scripts/gen-version.mjs && tsc",
148
184
  "test": "vitest --run --project unit",
149
- "test:e2e": "vitest --run --project e2e",
185
+ "test:e2e": "vitest --run --project e2e --coverage.enabled=false",
150
186
  "test:watch": "vitest --watch --project unit",
151
187
  "typecheck": "tsc --noEmit -p tsconfig.typecheck.json",
152
- "compile": "tsc"
188
+ "compile": "node scripts/gen-version.mjs && tsc",
189
+ "gen:version": "node scripts/gen-version.mjs"
153
190
  }
154
191
  }