@fabric-harness/sdk 2.1.1 → 2.2.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 (155) hide show
  1. package/NOTICE +11 -0
  2. package/connector-spec/channel.md +61 -0
  3. package/connector-spec/tooling.md +14 -0
  4. package/dist/agent-definition.d.ts +8 -0
  5. package/dist/agent-definition.d.ts.map +1 -1
  6. package/dist/agent-definition.js +27 -4
  7. package/dist/agent-definition.js.map +1 -1
  8. package/dist/agent.d.ts.map +1 -1
  9. package/dist/agent.js +3 -0
  10. package/dist/agent.js.map +1 -1
  11. package/dist/approval-notifier.d.ts +63 -0
  12. package/dist/approval-notifier.d.ts.map +1 -0
  13. package/dist/approval-notifier.js +152 -0
  14. package/dist/approval-notifier.js.map +1 -0
  15. package/dist/attachment-store.d.ts +12 -0
  16. package/dist/attachment-store.d.ts.map +1 -1
  17. package/dist/attachment-store.js +61 -3
  18. package/dist/attachment-store.js.map +1 -1
  19. package/dist/channel-contract.d.ts +29 -0
  20. package/dist/channel-contract.d.ts.map +1 -0
  21. package/dist/channel-contract.js +153 -0
  22. package/dist/channel-contract.js.map +1 -0
  23. package/dist/channel-runtime.d.ts +7 -0
  24. package/dist/channel-runtime.d.ts.map +1 -0
  25. package/dist/channel-runtime.js +6 -0
  26. package/dist/channel-runtime.js.map +1 -0
  27. package/dist/conversation-projection.d.ts.map +1 -1
  28. package/dist/conversation-projection.js +12 -5
  29. package/dist/conversation-projection.js.map +1 -1
  30. package/dist/conversation-stream.d.ts +3 -0
  31. package/dist/conversation-stream.d.ts.map +1 -1
  32. package/dist/conversation-stream.js +14 -0
  33. package/dist/conversation-stream.js.map +1 -1
  34. package/dist/cost-budget.d.ts +5 -0
  35. package/dist/cost-budget.d.ts.map +1 -1
  36. package/dist/cost-budget.js +20 -0
  37. package/dist/cost-budget.js.map +1 -1
  38. package/dist/error.d.ts +16 -4
  39. package/dist/error.d.ts.map +1 -1
  40. package/dist/error.js +30 -5
  41. package/dist/error.js.map +1 -1
  42. package/dist/filesystem.d.ts +3 -3
  43. package/dist/filesystem.d.ts.map +1 -1
  44. package/dist/in-memory-submission-store.d.ts +4 -0
  45. package/dist/in-memory-submission-store.d.ts.map +1 -1
  46. package/dist/in-memory-submission-store.js +45 -0
  47. package/dist/in-memory-submission-store.js.map +1 -1
  48. package/dist/index.d.ts +24 -9
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +11 -4
  51. package/dist/index.js.map +1 -1
  52. package/dist/job-invoke.d.ts +43 -0
  53. package/dist/job-invoke.d.ts.map +1 -0
  54. package/dist/job-invoke.js +56 -0
  55. package/dist/job-invoke.js.map +1 -0
  56. package/dist/mcp.d.ts +53 -0
  57. package/dist/mcp.d.ts.map +1 -1
  58. package/dist/mcp.js +145 -20
  59. package/dist/mcp.js.map +1 -1
  60. package/dist/model.d.ts +22 -8
  61. package/dist/model.d.ts.map +1 -1
  62. package/dist/model.js +465 -230
  63. package/dist/model.js.map +1 -1
  64. package/dist/network-enforcement.d.ts +16 -0
  65. package/dist/network-enforcement.d.ts.map +1 -0
  66. package/dist/network-enforcement.js +36 -0
  67. package/dist/network-enforcement.js.map +1 -0
  68. package/dist/observability.d.ts +36 -0
  69. package/dist/observability.d.ts.map +1 -0
  70. package/dist/observability.js +89 -0
  71. package/dist/observability.js.map +1 -0
  72. package/dist/operational-metrics.d.ts +53 -0
  73. package/dist/operational-metrics.d.ts.map +1 -0
  74. package/dist/operational-metrics.js +119 -0
  75. package/dist/operational-metrics.js.map +1 -0
  76. package/dist/otel-observer.d.ts +3 -0
  77. package/dist/otel-observer.d.ts.map +1 -1
  78. package/dist/otel-observer.js +21 -9
  79. package/dist/otel-observer.js.map +1 -1
  80. package/dist/persistence-bundle-contract.d.ts +7 -0
  81. package/dist/persistence-bundle-contract.d.ts.map +1 -0
  82. package/dist/persistence-bundle-contract.js +86 -0
  83. package/dist/persistence-bundle-contract.js.map +1 -0
  84. package/dist/persistence-bundle.d.ts +56 -0
  85. package/dist/persistence-bundle.d.ts.map +1 -0
  86. package/dist/persistence-bundle.js +2 -0
  87. package/dist/persistence-bundle.js.map +1 -0
  88. package/dist/persistent-agent.d.ts +1 -1
  89. package/dist/persistent-agent.js +1 -1
  90. package/dist/policied-sandbox.d.ts +3 -0
  91. package/dist/policied-sandbox.d.ts.map +1 -1
  92. package/dist/policied-sandbox.js +25 -16
  93. package/dist/policied-sandbox.js.map +1 -1
  94. package/dist/policy.d.ts +8 -1
  95. package/dist/policy.d.ts.map +1 -1
  96. package/dist/policy.js +104 -19
  97. package/dist/policy.js.map +1 -1
  98. package/dist/redaction.js +1 -1
  99. package/dist/redaction.js.map +1 -1
  100. package/dist/sandbox-ref.d.ts +37 -2
  101. package/dist/sandbox-ref.d.ts.map +1 -1
  102. package/dist/sandbox-ref.js +164 -3
  103. package/dist/sandbox-ref.js.map +1 -1
  104. package/dist/sandbox.d.ts +26 -0
  105. package/dist/sandbox.d.ts.map +1 -1
  106. package/dist/sandbox.js +67 -19
  107. package/dist/sandbox.js.map +1 -1
  108. package/dist/secret-provider.d.ts +24 -0
  109. package/dist/secret-provider.d.ts.map +1 -0
  110. package/dist/secret-provider.js +36 -0
  111. package/dist/secret-provider.js.map +1 -0
  112. package/dist/session-submission-executor.d.ts +15 -0
  113. package/dist/session-submission-executor.d.ts.map +1 -0
  114. package/dist/session-submission-executor.js +79 -0
  115. package/dist/session-submission-executor.js.map +1 -0
  116. package/dist/session.d.ts +1 -1
  117. package/dist/session.d.ts.map +1 -1
  118. package/dist/session.js +24 -10
  119. package/dist/session.js.map +1 -1
  120. package/dist/store.d.ts +3 -0
  121. package/dist/store.d.ts.map +1 -1
  122. package/dist/store.js +28 -0
  123. package/dist/store.js.map +1 -1
  124. package/dist/strict.d.ts +20 -7
  125. package/dist/strict.d.ts.map +1 -1
  126. package/dist/strict.js +9 -3
  127. package/dist/strict.js.map +1 -1
  128. package/dist/submission-context.d.ts +5 -0
  129. package/dist/submission-context.d.ts.map +1 -1
  130. package/dist/submission-context.js.map +1 -1
  131. package/dist/submission-runner.d.ts +4 -0
  132. package/dist/submission-runner.d.ts.map +1 -1
  133. package/dist/submission-runner.js +13 -4
  134. package/dist/submission-runner.js.map +1 -1
  135. package/dist/submission-store.d.ts +6 -0
  136. package/dist/submission-store.d.ts.map +1 -1
  137. package/dist/submission-store.js.map +1 -1
  138. package/dist/testing-contracts.d.ts +4 -0
  139. package/dist/testing-contracts.d.ts.map +1 -1
  140. package/dist/testing-contracts.js +2 -0
  141. package/dist/testing-contracts.js.map +1 -1
  142. package/dist/tools.d.ts +4 -0
  143. package/dist/tools.d.ts.map +1 -1
  144. package/dist/tools.js.map +1 -1
  145. package/dist/types.d.ts +4 -2
  146. package/dist/types.d.ts.map +1 -1
  147. package/dist/types.js.map +1 -1
  148. package/dist/virtual-sandbox.d.ts.map +1 -1
  149. package/dist/virtual-sandbox.js +9 -2
  150. package/dist/virtual-sandbox.js.map +1 -1
  151. package/package.json +12 -6
  152. package/dist/lite.d.ts +0 -19
  153. package/dist/lite.d.ts.map +0 -1
  154. package/dist/lite.js +0 -19
  155. package/dist/lite.js.map +0 -1
@@ -0,0 +1,43 @@
1
+ import type { DefinedAgent } from './agent-definition.js';
2
+ import type { FabricActor, JsonObject } from './types.js';
3
+ export interface JobInvocationReceipt {
4
+ runId: string;
5
+ acceptedAt: string;
6
+ statusUrl?: string;
7
+ eventsUrl?: string;
8
+ }
9
+ export interface NamedJobInvocation<TInput = JsonObject> {
10
+ job: string;
11
+ input: TInput;
12
+ idempotencyKey?: string;
13
+ }
14
+ export interface JobInvocationOptions<TInput = JsonObject> {
15
+ input: TInput;
16
+ idempotencyKey?: string;
17
+ }
18
+ export interface JobInvocationContext {
19
+ runId: string;
20
+ job: string;
21
+ chain: readonly string[];
22
+ tenantId?: string;
23
+ actor?: FabricActor;
24
+ }
25
+ interface RuntimeInvocation extends NamedJobInvocation<unknown> {
26
+ parentRunId?: string;
27
+ tenantId?: string;
28
+ actor?: FabricActor;
29
+ chain: readonly string[];
30
+ }
31
+ export interface JobInvocationRuntime {
32
+ invoke(request: RuntimeInvocation): Promise<JobInvocationReceipt>;
33
+ maxDepth?: number;
34
+ }
35
+ export declare function configureJobInvocationRuntime(next: JobInvocationRuntime): void;
36
+ export declare function resetJobInvocationRuntime(): void;
37
+ export declare function registerJobName<TInput, TOutput>(job: DefinedAgent<TInput, TOutput>, name: string): void;
38
+ export declare function currentJobInvocation(): JobInvocationContext | undefined;
39
+ export declare function runWithJobInvocation<T>(context: JobInvocationContext, fn: () => Promise<T> | T): Promise<T> | T;
40
+ export declare function invoke<TInput = JsonObject>(job: DefinedAgent<TInput, unknown>, options: JobInvocationOptions<TInput>): Promise<JobInvocationReceipt>;
41
+ export declare function invoke<TInput = JsonObject>(request: NamedJobInvocation<TInput>): Promise<JobInvocationReceipt>;
42
+ export {};
43
+ //# sourceMappingURL=job-invoke.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-invoke.d.ts","sourceRoot":"","sources":["../src/job-invoke.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB,CAAC,MAAM,GAAG,UAAU;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB,CAAC,MAAM,GAAG,UAAU;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,UAAU,iBAAkB,SAAQ,kBAAkB,CAAC,OAAO,CAAC;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAE9E;AAED,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAGvG;AAED,wBAAgB,oBAAoB,IAAI,oBAAoB,GAAG,SAAS,CAEvE;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAE/G;AAED,wBAAgB,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AACtJ,wBAAgB,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { AsyncLocalStorage } from 'node:async_hooks';
2
+ const storage = new AsyncLocalStorage();
3
+ const names = new WeakMap();
4
+ let runtime;
5
+ export function configureJobInvocationRuntime(next) {
6
+ runtime = next;
7
+ }
8
+ export function resetJobInvocationRuntime() {
9
+ runtime = undefined;
10
+ }
11
+ export function registerJobName(job, name) {
12
+ if (!name)
13
+ throw new Error('registerJobName requires a non-empty name.');
14
+ names.set(job, name);
15
+ }
16
+ export function currentJobInvocation() {
17
+ return storage.getStore();
18
+ }
19
+ export function runWithJobInvocation(context, fn) {
20
+ return storage.run(context, fn);
21
+ }
22
+ export function invoke(jobOrRequest, maybeOptions) {
23
+ if (!runtime)
24
+ throw new Error('[fabric-harness] invoke() called before a finite-job runtime was configured.');
25
+ const request = resolveRequest(jobOrRequest, maybeOptions);
26
+ const parent = currentJobInvocation();
27
+ const chain = [...(parent?.chain ?? []), request.job];
28
+ const maxDepth = runtime.maxDepth ?? 16;
29
+ if (chain.length > maxDepth) {
30
+ throw new Error(`[fabric-harness] invoke() exceeded maximum nested job depth ${maxDepth}: ${chain.join(' -> ')}`);
31
+ }
32
+ if (parent?.chain.includes(request.job)) {
33
+ throw new Error(`[fabric-harness] invoke() cycle detected: ${chain.join(' -> ')}`);
34
+ }
35
+ return runtime.invoke({
36
+ ...request,
37
+ chain,
38
+ ...(parent ? { parentRunId: parent.runId } : {}),
39
+ ...(parent?.tenantId ? { tenantId: parent.tenantId } : {}),
40
+ ...(parent?.actor ? { actor: parent.actor } : {}),
41
+ });
42
+ }
43
+ function resolveRequest(jobOrRequest, maybeOptions) {
44
+ if (typeof jobOrRequest === 'function') {
45
+ if (!maybeOptions)
46
+ throw new Error('[fabric-harness] invoke(job, options) requires options.');
47
+ const name = names.get(jobOrRequest) ?? jobOrRequest.__fabricAgent?.name;
48
+ if (!name)
49
+ throw new Error('[fabric-harness] invoke() target has no registered name. Use invoke({ job: "name", input }).');
50
+ return { job: name, ...maybeOptions };
51
+ }
52
+ if (!jobOrRequest.job)
53
+ throw new Error('[fabric-harness] invoke() requires a non-empty job name.');
54
+ return jobOrRequest;
55
+ }
56
+ //# sourceMappingURL=job-invoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-invoke.js","sourceRoot":"","sources":["../src/job-invoke.ts"],"names":[],"mappings":"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"}
package/dist/mcp.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import type { OAuthClientProvider } from '@modelcontextprotocol/sdk/client/auth.js';
2
+ import type { OAuthClientInformationMixed, OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth.js';
1
3
  import type { ToolDef } from './tools.js';
2
4
  import type { JsonObject } from './types.js';
3
5
  export interface McpToolDescriptor {
@@ -10,12 +12,18 @@ export interface McpClientLike {
10
12
  callTool(input: {
11
13
  name: string;
12
14
  arguments?: unknown;
15
+ }, options?: {
16
+ signal?: AbortSignal;
13
17
  }): Promise<unknown>;
14
18
  }
15
19
  export interface CreateMcpToolsOptions {
16
20
  prefix?: string;
17
21
  effect?: 'read' | 'write' | 'execute' | 'none';
18
22
  source?: string;
23
+ /** Only expose remote tool names matching these exact names or `*` globs. */
24
+ allowTools?: string[];
25
+ /** Hide matching remote tool names even when allowed. */
26
+ denyTools?: string[];
19
27
  }
20
28
  export type McpTransport = 'streamable-http' | 'sse';
21
29
  type HeaderInput = Record<string, string> | Array<[string, string]> | Headers;
@@ -28,12 +36,57 @@ export interface McpServerOptions {
28
36
  fetch?: typeof fetch;
29
37
  clientName?: string;
30
38
  clientVersion?: string;
39
+ /** OAuth provider used by the MCP SDK for authorization and automatic token refresh. */
40
+ authProvider?: OAuthClientProvider;
41
+ /** Authorization code received at the configured callback URL. */
42
+ authorizationCode?: string;
43
+ /** Only expose remote tool names matching these exact names or `*` globs. */
44
+ allowTools?: string[];
45
+ /** Hide matching remote tool names even when allowed. */
46
+ denyTools?: string[];
47
+ /** Streamable HTTP reconnect policy for resumable server event streams. */
48
+ reconnection?: {
49
+ initialReconnectionDelay?: number;
50
+ maxReconnectionDelay?: number;
51
+ reconnectionDelayGrowFactor?: number;
52
+ maxRetries?: number;
53
+ };
31
54
  }
32
55
  export interface McpServerConnection {
33
56
  name: string;
34
57
  tools: ToolDef[];
58
+ /** Close the current transport and discover tools again using the same auth configuration. */
59
+ reconnect(): Promise<void>;
35
60
  close(): Promise<void>;
36
61
  }
62
+ export interface McpClientCredentialsOptions {
63
+ clientId: string;
64
+ clientSecret: string;
65
+ clientName?: string;
66
+ scope?: string;
67
+ }
68
+ /** OAuth client-credentials provider with MCP SDK token refresh handling. */
69
+ export declare function createMcpClientCredentialsAuth(options: McpClientCredentialsOptions): OAuthClientProvider;
70
+ export interface McpAuthorizationCodeState {
71
+ clientInformation?: OAuthClientInformationMixed;
72
+ tokens?: OAuthTokens;
73
+ codeVerifier?: string;
74
+ }
75
+ export interface McpAuthorizationCodeOptions {
76
+ redirectUrl: string | URL;
77
+ clientName: string;
78
+ clientId?: string;
79
+ clientSecret?: string;
80
+ scopes?: string[];
81
+ /** Called with the provider authorization URL; open it in the user's browser. */
82
+ onAuthorizationUrl(url: URL): void | Promise<void>;
83
+ /** Load OAuth material from application-owned encrypted storage. Defaults to process memory. */
84
+ loadState?: () => McpAuthorizationCodeState | undefined | Promise<McpAuthorizationCodeState | undefined>;
85
+ /** Persist OAuth material in application-owned encrypted storage. Defaults to process memory. */
86
+ saveState?: (state: McpAuthorizationCodeState) => void | Promise<void>;
87
+ }
88
+ /** Authorization-code + PKCE provider; the MCP SDK refreshes stored tokens automatically. */
89
+ export declare function createMcpAuthorizationCodeAuth(options: McpAuthorizationCodeOptions): OAuthClientProvider;
37
90
  export declare function createMcpTools(client: McpClientLike, options?: CreateMcpToolsOptions): Promise<ToolDef[]>;
38
91
  export declare function connectMcpServer(name: string, options: McpServerOptions): Promise<McpServerConnection>;
39
92
  export {};
package/dist/mcp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,UAAU,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,KAAK,CAAC;AAErD,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC;AAE9E,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAClB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAmBnH;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAqB5G"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
package/dist/mcp.js CHANGED
@@ -1,7 +1,66 @@
1
1
  import { Client } from '@modelcontextprotocol/sdk/client/index.js';
2
2
  import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
3
+ import { ClientCredentialsProvider } from '@modelcontextprotocol/sdk/client/auth-extensions.js';
4
+ /** OAuth client-credentials provider with MCP SDK token refresh handling. */
5
+ export function createMcpClientCredentialsAuth(options) {
6
+ return new ClientCredentialsProvider(options);
7
+ }
8
+ /** Authorization-code + PKCE provider; the MCP SDK refreshes stored tokens automatically. */
9
+ export function createMcpAuthorizationCodeAuth(options) {
10
+ let memoryState = {};
11
+ const load = async () => options.loadState ? await options.loadState() ?? {} : memoryState;
12
+ const save = async (state) => {
13
+ memoryState = state;
14
+ await options.saveState?.(state);
15
+ };
16
+ const metadata = {
17
+ client_name: options.clientName,
18
+ redirect_uris: [String(options.redirectUrl)],
19
+ grant_types: ['authorization_code', 'refresh_token'],
20
+ response_types: ['code'],
21
+ token_endpoint_auth_method: options.clientSecret ? 'client_secret_basic' : 'none',
22
+ ...(options.scopes?.length ? { scope: options.scopes.join(' ') } : {}),
23
+ };
24
+ const staticClient = options.clientId ? {
25
+ client_id: options.clientId,
26
+ ...(options.clientSecret ? { client_secret: options.clientSecret } : {}),
27
+ } : undefined;
28
+ return {
29
+ redirectUrl: options.redirectUrl,
30
+ clientMetadata: metadata,
31
+ async clientInformation() { return staticClient ?? (await load()).clientInformation; },
32
+ async saveClientInformation(clientInformation) { await save({ ...(await load()), clientInformation }); },
33
+ async tokens() { return (await load()).tokens; },
34
+ async saveTokens(tokens) { await save({ ...(await load()), tokens }); },
35
+ redirectToAuthorization: options.onAuthorizationUrl,
36
+ async saveCodeVerifier(codeVerifier) { await save({ ...(await load()), codeVerifier }); },
37
+ async codeVerifier() {
38
+ const verifier = (await load()).codeVerifier;
39
+ if (!verifier)
40
+ throw new Error('MCP OAuth code verifier was not found in the configured state store.');
41
+ return verifier;
42
+ },
43
+ async invalidateCredentials(scope) {
44
+ const current = await load();
45
+ if (scope === 'all')
46
+ return save({});
47
+ if (scope === 'client') {
48
+ const { clientInformation: _removed, ...next } = current;
49
+ return save(next);
50
+ }
51
+ if (scope === 'tokens') {
52
+ const { tokens: _removed, ...next } = current;
53
+ return save(next);
54
+ }
55
+ if (scope === 'verifier') {
56
+ const { codeVerifier: _removed, ...next } = current;
57
+ return save(next);
58
+ }
59
+ },
60
+ };
61
+ }
3
62
  export async function createMcpTools(client, options = {}) {
4
- const tools = await client.listTools();
63
+ const tools = filterMcpTools(await client.listTools(), options.allowTools, options.denyTools);
5
64
  return tools.map((tool) => {
6
65
  const publicName = `${options.prefix ?? 'mcp'}_${tool.name}`.replace(/[^a-zA-Z0-9_-]/g, '_');
7
66
  const def = {
@@ -15,7 +74,7 @@ export async function createMcpTools(client, options = {}) {
15
74
  tool: tool.name,
16
75
  },
17
76
  },
18
- execute: async (input) => client.callTool({ name: tool.name, arguments: input }),
77
+ execute: async (input, context) => client.callTool({ name: tool.name, arguments: input }, context?.signal ? { signal: context.signal } : undefined),
19
78
  };
20
79
  return def;
21
80
  });
@@ -23,32 +82,68 @@ export async function createMcpTools(client, options = {}) {
23
82
  export async function connectMcpServer(name, options) {
24
83
  const url = options.url instanceof URL ? options.url : new URL(options.url);
25
84
  const requestInit = mergeRequestInit(options.requestInit, options.headers);
26
- const transport = await createTransport(url, options.transport ?? 'streamable-http', requestInit, options.fetch);
27
- const client = new Client({
28
- name: options.clientName ?? 'fabric-harness',
29
- version: options.clientVersion ?? '0.0.0',
30
- });
85
+ let client;
86
+ let closed = false;
87
+ let authorizationCode = options.authorizationCode;
88
+ const connection = { name, tools: [], reconnect, close };
89
+ async function reconnect() {
90
+ if (closed)
91
+ throw new Error(`MCP connection "${name}" is closed.`);
92
+ const prior = client;
93
+ client = undefined;
94
+ await prior?.close().catch(() => undefined);
95
+ const transport = await createTransport(url, options.transport ?? 'streamable-http', requestInit, options);
96
+ if (authorizationCode && 'finishAuth' in transport) {
97
+ await transport.finishAuth(authorizationCode);
98
+ authorizationCode = undefined;
99
+ }
100
+ const next = new Client({
101
+ name: options.clientName ?? 'fabric-harness',
102
+ version: options.clientVersion ?? '0.0.0',
103
+ });
104
+ await next.connect(transport);
105
+ const listed = await next.listTools();
106
+ const allowed = filterMcpTools(listed.tools, options.allowTools, options.denyTools);
107
+ client = next;
108
+ connection.tools.splice(0, connection.tools.length, ...createConnectedMcpTools(name, () => requireClient(), allowed));
109
+ }
110
+ function requireClient() {
111
+ if (!client)
112
+ throw new Error(`MCP connection "${name}" is not connected.`);
113
+ return client;
114
+ }
115
+ async function close() {
116
+ if (closed)
117
+ return;
118
+ closed = true;
119
+ const active = client;
120
+ client = undefined;
121
+ await active?.close().catch(() => undefined);
122
+ }
31
123
  try {
32
- await client.connect(transport);
33
- const { tools } = await client.listTools();
34
- return {
35
- name,
36
- tools: createConnectedMcpTools(name, client, tools),
37
- close: () => client.close(),
38
- };
124
+ await reconnect();
125
+ return connection;
39
126
  }
40
127
  catch (error) {
41
- await client.close().catch(() => undefined);
128
+ await client?.close().catch(() => undefined);
129
+ client = undefined;
42
130
  throw error;
43
131
  }
44
132
  }
45
- async function createTransport(url, transport, requestInit, fetchImpl) {
46
- const transportOptions = fetchImpl ? { requestInit, fetch: fetchImpl } : { requestInit };
133
+ async function createTransport(url, transport, requestInit, options) {
134
+ const transportOptions = {
135
+ requestInit,
136
+ ...(options.fetch ? { fetch: options.fetch } : {}),
137
+ ...(options.authProvider ? { authProvider: options.authProvider } : {}),
138
+ };
47
139
  if (transport === 'sse') {
48
140
  const { SSEClientTransport } = await import('@modelcontextprotocol/sdk/client/sse.js');
49
141
  return new SSEClientTransport(url, transportOptions);
50
142
  }
51
- return new StreamableHTTPClientTransport(url, transportOptions);
143
+ return new StreamableHTTPClientTransport(url, {
144
+ ...transportOptions,
145
+ ...(options.reconnection ? { reconnectionOptions: normalizeReconnection(options.reconnection) } : {}),
146
+ });
52
147
  }
53
148
  function createConnectedMcpTools(serverName, client, tools) {
54
149
  const names = new Set();
@@ -69,8 +164,19 @@ function createConnectedMcpTools(serverName, client, tools) {
69
164
  tool: tool.name,
70
165
  },
71
166
  },
72
- async execute(args) {
73
- const result = await client.callTool({ name: tool.name, arguments: args });
167
+ async execute(args, context) {
168
+ let result;
169
+ try {
170
+ result = await client().callTool({ name: tool.name, arguments: args }, undefined, context?.signal ? { signal: context.signal } : undefined);
171
+ }
172
+ catch (error) {
173
+ if (context?.signal?.aborted) {
174
+ throw context.signal.reason instanceof Error
175
+ ? context.signal.reason
176
+ : new DOMException('MCP tool call aborted.', 'AbortError');
177
+ }
178
+ throw error;
179
+ }
74
180
  const text = formatMcpResult(result);
75
181
  if (result.isError)
76
182
  throw new Error(text);
@@ -79,6 +185,25 @@ function createConnectedMcpTools(serverName, client, tools) {
79
185
  };
80
186
  });
81
187
  }
188
+ function normalizeReconnection(options) {
189
+ return {
190
+ initialReconnectionDelay: options.initialReconnectionDelay ?? 1_000,
191
+ maxReconnectionDelay: options.maxReconnectionDelay ?? 30_000,
192
+ reconnectionDelayGrowFactor: options.reconnectionDelayGrowFactor ?? 1.5,
193
+ maxRetries: options.maxRetries ?? 2,
194
+ };
195
+ }
196
+ function filterMcpTools(tools, allow, deny) {
197
+ return tools.filter((tool) => {
198
+ if (deny?.some((pattern) => matchesToolPattern(tool.name, pattern)))
199
+ return false;
200
+ return !allow || allow.some((pattern) => matchesToolPattern(tool.name, pattern));
201
+ });
202
+ }
203
+ function matchesToolPattern(name, pattern) {
204
+ const escaped = pattern.replace(/[.+?^${}()|[\]\\]/g, '\\$&').replace(/\*/g, '.*');
205
+ return new RegExp(`^${escaped}$`).test(name);
206
+ }
82
207
  function mergeRequestInit(requestInit, headers) {
83
208
  if (!headers)
84
209
  return requestInit ?? {};
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAoEhG,6EAA6E;AAC7E,MAAM,UAAU,8BAA8B,CAAC,OAAoC;IACjF,OAAO,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAChD,CAAC;AAsBD,6FAA6F;AAC7F,MAAM,UAAU,8BAA8B,CAAC,OAAoC;IACjF,IAAI,WAAW,GAA8B,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAC3F,MAAM,IAAI,GAAG,KAAK,EAAE,KAAgC,EAAE,EAAE;QACtD,WAAW,GAAG,KAAK,CAAC;QACpB,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC;IACF,MAAM,QAAQ,GAAwB;QACpC,WAAW,EAAE,OAAO,CAAC,UAAU;QAC/B,aAAa,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5C,WAAW,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;QACpD,cAAc,EAAE,CAAC,MAAM,CAAC;QACxB,0BAA0B,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM;QACjF,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvE,CAAC;IACF,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtC,SAAS,EAAE,OAAO,CAAC,QAAQ;QAC3B,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpD,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,cAAc,EAAE,QAAQ;QACxB,KAAK,CAAC,iBAAiB,KAAK,OAAO,YAAY,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACtF,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,IAAI,MAAM,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACxG,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAChD,KAAK,CAAC,UAAU,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,uBAAuB,EAAE,OAAO,CAAC,kBAAkB;QACnD,KAAK,CAAC,gBAAgB,CAAC,YAAY,IAAI,MAAM,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QACzF,KAAK,CAAC,YAAY;YAChB,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC;YAC7C,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;YACvG,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,CAAC,qBAAqB,CAAC,KAAK;YAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,EAAE,CAAC;YAC7B,IAAI,KAAK,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;gBACzD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;gBAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YACD,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzB,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;gBACpD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAqB,EAAE,UAAiC,EAAE;IAC7F,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9F,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAC7F,MAAM,GAAG,GAAY;YACnB,IAAI,EAAE,UAAU;YAChB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,QAAQ,EAAE;gBACR,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;gBACnC,GAAG,EAAE;oBACH,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;oBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB;aACF;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAChD,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EACrC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CACzD;SACF,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAAyB;IAC5E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3E,IAAI,MAA0B,CAAC;IAC/B,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAClD,MAAM,UAAU,GAAwB,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAE9E,KAAK,UAAU,SAAS;QACtB,IAAI,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,cAAc,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,CAAC;QACrB,MAAM,GAAG,SAAS,CAAC;QACnB,MAAM,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,IAAI,iBAAiB,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3G,IAAI,iBAAiB,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;YACnD,MAAM,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAC9C,iBAAiB,GAAG,SAAS,CAAC;QAChC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC;YACtB,IAAI,EAAE,OAAO,CAAC,UAAU,IAAI,gBAAgB;YAC5C,OAAO,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO;SAC1C,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,OAAO,CAAC,SAA6C,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACpF,MAAM,GAAG,IAAI,CAAC;QACd,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IACxH,CAAC;IAED,SAAS,aAAa;QACpB,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,qBAAqB,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,UAAU,KAAK;QAClB,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,GAAG,IAAI,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,CAAC;QACtB,MAAM,GAAG,SAAS,CAAC;QACnB,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,EAAE,CAAC;QAClB,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,GAAG,SAAS,CAAC;QACnB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAQ,EAAE,SAAuB,EAAE,WAAwB,EAAE,OAAyB;IACnH,MAAM,gBAAgB,GAAG;QACvB,WAAW;QACX,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC;IACF,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,yCAAyC,CAAC,CAAC;QACvF,OAAO,IAAI,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,6BAA6B,CAAC,GAAG,EAAE;QAC5C,GAAG,gBAAgB;QACnB,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtG,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAkB,EAAE,MAAoB,EAAE,KAAa;IACtF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,mCAAmC,QAAQ,IAAI,CAAC,CAAC;QACvG,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC;YACpD,WAAW,EAAE,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC;YACnD,QAAQ,EAAE;gBACR,MAAM,EAAE,SAAS;gBACjB,GAAG,EAAE;oBACH,MAAM,EAAE,UAAU;oBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB;aACF;YACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;gBACzB,IAAI,MAA+C,CAAC;gBACpD,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC,QAAQ,CAC9B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAA2C,EAAE,EAC3E,SAAS,EACT,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CACzD,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;wBAC7B,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,YAAY,KAAK;4BAC1C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;4BACvB,CAAC,CAAC,IAAI,YAAY,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC;oBAC/D,CAAC;oBACD,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,GAAG,eAAe,CAAC,MAAwB,CAAC,CAAC;gBACvD,IAAK,MAAyB,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9D,OAAO,IAAI,CAAC;YACd,CAAC;SACgB,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAsD;IACnF,OAAO;QACL,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,IAAI,KAAK;QACnE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,MAAM;QAC5D,2BAA2B,EAAE,OAAO,CAAC,2BAA2B,IAAI,GAAG;QACvE,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAA6B,KAAU,EAAE,KAA2B,EAAE,IAA0B;IACrH,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAClF,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,OAAe;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnF,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAoC,EAAE,OAAgC;IAC9F,IAAI,CAAC,OAAO;QAAE,OAAO,WAAW,IAAI,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC;QAAE,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjF,OAAO,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,aAAa,CAAC,OAAoB;IACzC,IAAI,OAAO,YAAY,OAAO;QAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC3C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB,EAAE,QAAgB;IAC1D,OAAO,QAAQ,oBAAoB,CAAC,UAAU,CAAC,KAAK,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;AACvF,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAChF,OAAO,SAAS,IAAI,SAAS,CAAC;AAChC,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAkB,EAAE,IAAU;IAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;IACpD,MAAM,KAAK,GAAG,CAAC,aAAa,YAAY,kBAAkB,UAAU,IAAI,CAAC,CAAC;IAC1E,IAAI,KAAK,IAAI,KAAK,KAAK,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAgC;IAC5D,OAAO;QACL,GAAI,WAA0B;QAC9B,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,QAAQ;QAClC,UAAU,EAAG,WAAwC,CAAC,UAAoD,IAAI,EAAE;QAChH,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,MAAsB;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,gBAAgB,CAAC,CAAC;QAC5E,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,gBAAgB,CAAC,CAAC;QAC5E,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,cAAc,QAAQ,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,cAAc,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,gBAAgB,CAAC,CAAC;QACzJ,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,WAAW,GAAG,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,IAAI,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzG,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,gCAAgC,CAAC;AAChF,CAAC"}
package/dist/model.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import type { RateLimiter } from './rate-limiter.js';
2
- import type { ToolDef } from './tools.js';
3
- export type ModelMessageRole = 'system' | 'user' | 'assistant' | 'tool';
1
+ import type { RateLimiter } from "./rate-limiter.js";
2
+ import type { ToolDef } from "./tools.js";
3
+ export type ModelMessageRole = "system" | "user" | "assistant" | "tool";
4
4
  export interface ModelMessage {
5
5
  role: ModelMessageRole;
6
6
  content: string;
@@ -25,7 +25,7 @@ export interface ModelToolSchema {
25
25
  * default when unset) requests no reasoning. Providers that don't support
26
26
  * reasoning ignore the level — see `ModelMetadata.supportsReasoning`.
27
27
  */
28
- export type ThinkingLevel = 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
28
+ export type ThinkingLevel = "off" | "minimal" | "low" | "medium" | "high" | "xhigh";
29
29
  export interface ModelRequest {
30
30
  model?: string;
31
31
  messages: ModelMessage[];
@@ -76,7 +76,7 @@ export interface ModelUsage {
76
76
  * Attribution dimensions for cost tracking. Stamped by the loop from
77
77
  * the agent/session/model/provider/turn context.
78
78
  */
79
- attribution?: import('./cost-budget.js').CostAttribution;
79
+ attribution?: import("./cost-budget.js").CostAttribution;
80
80
  }
81
81
  export interface ModelStreamChunk {
82
82
  /** Incremental output text content. */
@@ -126,7 +126,7 @@ export interface ModelAttemptEvent {
126
126
  model?: string;
127
127
  attempt: number;
128
128
  maxAttempts: number;
129
- status: 'start' | 'success' | 'retry' | 'error';
129
+ status: "start" | "success" | "retry" | "error";
130
130
  durationMs?: number;
131
131
  error?: string;
132
132
  usage?: ModelUsage;
@@ -136,13 +136,16 @@ export interface OpenAICompatibleProviderOptions {
136
136
  baseUrl: string;
137
137
  apiKey: string;
138
138
  defaultModel?: string;
139
- headers?: Record<string, string>;
139
+ /** Static headers or headers resolved immediately before each request. */
140
+ headers?: Record<string, string> | (() => Record<string, string> | Promise<Record<string, string>>);
140
141
  /**
141
142
  * Optional per-request bearer token resolver. When set, it is awaited on every request and used
142
143
  * in place of `apiKey` for the `authorization` header. Required for providers whose credentials
143
144
  * rotate (e.g. Databricks OAuth principal tokens) so long-lived agents don't pin a stale token.
144
145
  */
145
146
  tokenProvider?: () => string | Promise<string>;
147
+ /** Fetch implementation for tests, custom transports, and private-network enforcement. */
148
+ fetchImpl?: typeof fetch;
146
149
  /** Optional rate limiter. Acquire one token per request, keyed by `<name>:<apiKeyHash8>`. */
147
150
  rateLimiter?: RateLimiter;
148
151
  }
@@ -216,9 +219,12 @@ export declare class OpenAICompatibleModelProvider implements ModelProvider {
216
219
  private readonly headers;
217
220
  private readonly rateLimiter;
218
221
  private readonly rateLimitKey;
222
+ private readonly fetchImpl;
219
223
  constructor(options: OpenAICompatibleProviderOptions);
220
224
  /** Resolves the bearer token for a request: the rotating `tokenProvider` if set, else `apiKey`. */
221
225
  protected authToken(): Promise<string>;
226
+ /** Resolve dynamic headers per attempt so request-scoped metadata never becomes stale. */
227
+ protected requestHeaders(): Promise<Record<string, string>>;
222
228
  generate(request: ModelRequest): Promise<ModelResponse>;
223
229
  stream(request: ModelRequest): AsyncGenerator<ModelStreamChunk>;
224
230
  }
@@ -316,7 +322,7 @@ export declare function parseRetryAfterMs(headerValue: string | null | undefined
316
322
  export interface OpenAIChatCompletion {
317
323
  choices?: Array<{
318
324
  message?: {
319
- content?: string;
325
+ content?: OpenAIMessageContent;
320
326
  reasoning_content?: string;
321
327
  tool_calls?: OpenAIToolCall[];
322
328
  };
@@ -327,6 +333,14 @@ export interface OpenAIChatCompletion {
327
333
  total_tokens?: number;
328
334
  };
329
335
  }
336
+ type OpenAIMessageContent = string | Array<{
337
+ type?: string;
338
+ text?: string;
339
+ summary?: Array<{
340
+ type?: string;
341
+ text?: string;
342
+ }>;
343
+ }>;
330
344
  interface OpenAIToolCall {
331
345
  id: string;
332
346
  function: {
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}