@zackbart/connecta 0.2.1 → 0.4.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 (65) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/dist/catalog.d.ts.map +1 -1
  3. package/dist/catalog.js +62 -0
  4. package/dist/catalog.js.map +1 -1
  5. package/dist/connectors/api.d.ts +14 -0
  6. package/dist/connectors/api.d.ts.map +1 -1
  7. package/dist/connectors/api.js +18 -1
  8. package/dist/connectors/api.js.map +1 -1
  9. package/dist/connectors/remote-mcp.d.ts.map +1 -1
  10. package/dist/connectors/remote-mcp.js +22 -8
  11. package/dist/connectors/remote-mcp.js.map +1 -1
  12. package/dist/credentials.d.ts.map +1 -1
  13. package/dist/credentials.js +4 -1
  14. package/dist/credentials.js.map +1 -1
  15. package/dist/errors.d.ts +53 -0
  16. package/dist/errors.d.ts.map +1 -0
  17. package/dist/errors.js +89 -0
  18. package/dist/errors.js.map +1 -0
  19. package/dist/execute.d.ts.map +1 -1
  20. package/dist/execute.js +10 -6
  21. package/dist/execute.js.map +1 -1
  22. package/dist/index.d.ts +20 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +6 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/json-schema.d.ts +3 -0
  27. package/dist/json-schema.d.ts.map +1 -0
  28. package/dist/json-schema.js +6 -0
  29. package/dist/json-schema.js.map +1 -0
  30. package/dist/meta-tools.d.ts +31 -2
  31. package/dist/meta-tools.d.ts.map +1 -1
  32. package/dist/meta-tools.js +75 -31
  33. package/dist/meta-tools.js.map +1 -1
  34. package/dist/node.d.ts +1 -0
  35. package/dist/node.d.ts.map +1 -1
  36. package/dist/node.js.map +1 -1
  37. package/dist/server.d.ts +2 -0
  38. package/dist/server.d.ts.map +1 -1
  39. package/dist/server.js +5 -1
  40. package/dist/server.js.map +1 -1
  41. package/dist/storage/file.d.ts +6 -2
  42. package/dist/storage/file.d.ts.map +1 -1
  43. package/dist/storage/file.js +3 -2
  44. package/dist/storage/file.js.map +1 -1
  45. package/dist/validate.d.ts +39 -0
  46. package/dist/validate.d.ts.map +1 -0
  47. package/dist/validate.js +66 -0
  48. package/dist/validate.js.map +1 -0
  49. package/dist/version.d.ts +1 -1
  50. package/dist/version.js +1 -1
  51. package/package.json +8 -1
  52. package/src/catalog.ts +61 -0
  53. package/src/connectors/api.ts +25 -1
  54. package/src/connectors/remote-mcp.ts +32 -13
  55. package/src/credentials.ts +4 -1
  56. package/src/errors.ts +126 -0
  57. package/src/execute.ts +13 -6
  58. package/src/index.ts +24 -0
  59. package/src/json-schema.ts +11 -0
  60. package/src/meta-tools.ts +102 -46
  61. package/src/node.ts +1 -0
  62. package/src/server.ts +7 -1
  63. package/src/storage/file.ts +12 -3
  64. package/src/validate.ts +96 -0
  65. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EACV,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,MAAM,EAEP,MAAM,YAAY,CAAC;AAKpB,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,4BAA4B,QAAS,CAAC;AA+CnD,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKvD;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,EACvB,MAAM,EAAE,OAAO,GACd,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,sBAAsB,EACjC,MAAM,GAAE;IACN,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvB,GACL,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAqU7B;AAmBD,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,sBAAsB,IAEnB,UAAU;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,OAAO,CAAC,UAAU,CAAC,CA4C/D;AAeD,uFAAuF;AACvF,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACnC,GACA,IAAI,CA2BN"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EACV,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,MAAM,EAEP,MAAM,YAAY,CAAC;AAKpB,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,4BAA4B,QAAS,CAAC;AA+CnD,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKvD;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,EACvB,MAAM,EAAE,OAAO,GACd,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,sBAAsB,EACjC,MAAM,GAAE;IACN,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvB,GACL,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA2U7B;AAmBD,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,sBAAsB,IAEnB,UAAU;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,OAAO,CAAC,UAAU,CAAC,CA4C/D;AAeD,uFAAuF;AACvF,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACnC,GACA,IAAI,CA2BN"}
package/dist/execute.js CHANGED
@@ -2,6 +2,7 @@ import { z } from "zod";
2
2
  import { compactSchema, rankTools, summarizeDescription } from "./catalog.js";
3
3
  import { recordToolActivity } from "./activity.js";
4
4
  import { errorResult, jsonResult } from "./meta-tools.js";
5
+ import { classifyCallError, ConnectorCallError } from "./errors.js";
5
6
  import { unwrapMcpResult } from "./mcp-result.js";
6
7
  /** ~6k tokens. Sandbox code should filter data down before returning. */
7
8
  const MAX_RESULT_CHARS = 24_000;
@@ -140,7 +141,7 @@ export async function buildSandboxProviders(registry, baseUrl, logger, activity,
140
141
  const started = Date.now();
141
142
  try {
142
143
  timer = setTimeout(() => {
143
- controller.abort(new Error(`Tool call timed out after ${hostCallTimeoutMs}ms`));
144
+ controller.abort(new ConnectorCallError("timeout", `Tool call timed out after ${hostCallTimeoutMs}ms`));
144
145
  }, hostCallTimeoutMs);
145
146
  const pending = resolved.connector.callTool(resolved.toolName, args ?? {}, ctx);
146
147
  const value = unwrapForSandbox(resolved.connector.kind, await Promise.race([pending, cancelled]));
@@ -158,16 +159,16 @@ export async function buildSandboxProviders(registry, baseUrl, logger, activity,
158
159
  }
159
160
  catch (err) {
160
161
  registry.recordFailure(resolved.connector.id, Date.now() - started, err);
161
- const timedOut = /timed out|timeout/i.test(msg(err));
162
+ const details = classifyCallError(err);
162
163
  recordToolActivity(activity, {
163
164
  connectorId: resolved.connector.id,
164
165
  toolName: resolved.toolName,
165
166
  address: `${resolved.connector.id}.${resolved.toolName}`,
166
167
  source: "execute_code",
167
- outcome: timedOut ? "timeout" : "error",
168
+ outcome: details.code === "timeout" ? "timeout" : "error",
168
169
  durationMs: Date.now() - started,
169
170
  attempts: 1,
170
- errorCode: timedOut ? "timeout" : "connector_call_failed",
171
+ errorCode: details.code,
171
172
  });
172
173
  throw err;
173
174
  }
@@ -205,7 +206,10 @@ export async function buildSandboxProviders(registry, baseUrl, logger, activity,
205
206
  logger.warn(`[connecta] execute_code: tool "${connector.id}.${t.name}" sanitizes to duplicate "${key}" — skipped`);
206
207
  continue;
207
208
  }
208
- fns[key] = async (args) => callAddress(`${connector.id}.${t.name}`, args);
209
+ // `await` (not a bare promise return) so a synchronous throw inside
210
+ // callAddress never sits handler-less for the thenable-adoption
211
+ // microtask — workerd reports that gap as an unhandled rejection.
212
+ fns[key] = async (args) => await callAddress(`${connector.id}.${t.name}`, args);
209
213
  }
210
214
  if (Object.keys(fns).length > 0) {
211
215
  providers.push({ name: ns, fns });
@@ -222,7 +226,7 @@ export async function buildSandboxProviders(registry, baseUrl, logger, activity,
222
226
  if (calls.length > EXECUTE_MAX_BATCH_CALLS) {
223
227
  throw new Error(`connecta.batch accepts at most ${EXECUTE_MAX_BATCH_CALLS} calls`);
224
228
  }
225
- return Promise.all(calls.map(async (call) => {
229
+ return await Promise.all(calls.map(async (call) => {
226
230
  const item = call;
227
231
  try {
228
232
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -49,6 +49,22 @@ export interface ConnectaConfig {
49
49
  * stash the full text for get_result paging. Default 50_000.
50
50
  */
51
51
  maxResultBytes?: number;
52
+ /**
53
+ * Deadline (ms) applied to call_tool/batch_call calls that pass no
54
+ * `timeoutMs`, giving the connector both a budget (`ctx.timeoutMs`) and a
55
+ * cancellation signal (`ctx.signal`). An explicit per-call `timeoutMs` always
56
+ * wins. **Opt-in — undefined by default**, because switching it on globally
57
+ * would put a deadline on every call in an existing deployment and the
58
+ * failure mode is a working long-running call starting to time out.
59
+ * `execute_code` host calls are unaffected; they already carry a 15 s bound.
60
+ *
61
+ * Bounds a single attempt, not the whole call — the same as an explicit
62
+ * `timeoutMs` has always done. A call that also passes `maxRetries` can
63
+ * therefore run to roughly `(maxRetries + 1)` times this value plus backoff.
64
+ * `maxRetries` defaults to 0, so this is the total for every call that does
65
+ * not explicitly ask to retry.
66
+ */
67
+ defaultToolTimeoutMs?: number;
52
68
  serverInfo?: {
53
69
  name?: string;
54
70
  version?: string;
@@ -81,6 +97,10 @@ export interface Connecta {
81
97
  export declare function createConnecta(config: ConnectaConfig): Connecta;
82
98
  export { remoteMcp } from "./connectors/remote-mcp.js";
83
99
  export { api } from "./connectors/api.js";
100
+ export { ConnectorCallError } from "./errors.js";
101
+ export type { ConnectorCallErrorCode, CallErrorDetails } from "./errors.js";
102
+ export { validateToolInput } from "./validate.js";
103
+ export type { ValidateToolInputOptions } from "./validate.js";
84
104
  export { bearerToken } from "./auth/bearer.js";
85
105
  export { memoryStorage } from "./storage/memory.js";
86
106
  export { CONNECTA_VERSION } from "./version.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -52,6 +52,7 @@ export function createConnecta(config) {
52
52
  activityReadGate: config.activityReadGate,
53
53
  activityDeploymentId: config.activityDeploymentId,
54
54
  executor: config.executor,
55
+ defaultToolTimeoutMs: config.defaultToolTimeoutMs,
55
56
  credentialVault,
56
57
  deploymentInfo: config.deploymentInfo,
57
58
  branding: config.branding,
@@ -65,6 +66,11 @@ export function createConnecta(config) {
65
66
  }
66
67
  export { remoteMcp } from "./connectors/remote-mcp.js";
67
68
  export { api } from "./connectors/api.js";
69
+ export { ConnectorCallError } from "./errors.js";
70
+ // The same argument validation api() performs, usable by connectors that
71
+ // implement the Connector interface directly. Returns the error rather than
72
+ // throwing so the caller decides what to do with it.
73
+ export { validateToolInput } from "./validate.js";
68
74
  export { bearerToken } from "./auth/bearer.js";
69
75
  export { memoryStorage } from "./storage/memory.js";
70
76
  export { CONNECTA_VERSION } from "./version.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAsGhD,SAAS,aAAa;IACpB,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAChD,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,SAAS,aAAa,CAAC,IAA4B;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAsB;IACnD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,aAAa,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;IAChD,MAAM,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3E,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CACb,iEAAiE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpH,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,CAAC,uBAAuB;QACpD,CAAC,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,uBAAuB,CAAC;QAC9D,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE;QAC/C,OAAO;QACP,MAAM;QACN,eAAe;QACf,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;QACvD,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,kBAAkB,CAAC;QACjC,QAAQ;QACR,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;QAChC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE;YACV,GAAG,MAAM,CAAC,UAAU;YACpB,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,IAAI,UAAU;YAC3C,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,IAAI,gBAAgB;SACxD;QACD,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,eAAe;QACf,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAC5B,OAAO,CACL,OAAO,EACP,GAAG,IAAI,OAAQ,GAA+B,CAAC,SAAS,KAAK,UAAU;YACrE,CAAC,CAAE,GAAsD;YACzD,CAAC,CAAC,SAAS,CACd;QACH,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,yEAAyE;AACzE,4EAA4E;AAC5E,qDAAqD;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAyChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { Validator } from "@cfworker/json-schema";
2
+ export type { OutputUnit, Schema, SchemaDraft, ValidationResult, } from "@cfworker/json-schema";
3
+ //# sourceMappingURL=json-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,YAAY,EACV,UAAU,EACV,MAAM,EACN,WAAW,EACX,gBAAgB,GACjB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,6 @@
1
+ // Public re-export of the JSON Schema validator connecta itself uses, so
2
+ // downstream code that validates at build time (a manifest generator asserting
3
+ // its own output, say) resolves the same implementation and version through an
4
+ // explicit subpath rather than through npm hoisting.
5
+ export { Validator } from "@cfworker/json-schema";
6
+ //# sourceMappingURL=json-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,+EAA+E;AAC/E,+EAA+E;AAC/E,qDAAqD;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC"}
@@ -13,6 +13,31 @@ export interface ToolResult {
13
13
  }
14
14
  export declare function jsonResult(obj: unknown): ToolResult;
15
15
  export declare function errorResult(message: string): ToolResult;
16
+ /**
17
+ * The longest the engine will park a synchronous inbound request in *waiting
18
+ * alone*. The engine already treats ~15 s as the outer bound of one reasonable
19
+ * connector call (EXECUTE_HOST_CALL_TIMEOUT_MS), so sleeping for minutes trades
20
+ * a fast, informative failure for a hung one. A connector-reported window this
21
+ * long isn't truncated — it's declined (see `retryBackoffMs`) and reported
22
+ * verbatim as `error.retryAfterMs`, so the agent, which can afford to wait,
23
+ * decides when to re-issue.
24
+ */
25
+ export declare const MAX_RETRY_BACKOFF_MS = 10000;
26
+ /**
27
+ * How long to wait before the next attempt, or `undefined` for "don't retry".
28
+ *
29
+ * A connector that read a `Retry-After` header knows the window exactly, so it
30
+ * is honoured **exactly or not at all**: truncating an exponential *guess* is
31
+ * harmless, but truncating a *known* window means deliberately retrying inside
32
+ * a rate limit — the harm this channel exists to prevent. A window longer than
33
+ * `MAX_RETRY_BACKOFF_MS` therefore declines the retry rather than shortening
34
+ * it. (`retryAfterMs` is normalized non-negative, so `0` means "retry now".)
35
+ * Connectors that report no window keep the historical exponential guess.
36
+ *
37
+ * Waits are per attempt, matching the per-attempt `timeoutMs` race in
38
+ * `runCall`. Exported for direct testing.
39
+ */
40
+ export declare function retryBackoffMs(attempt: number, retryAfterMs: number | undefined): number | undefined;
16
41
  export interface SearchArgs {
17
42
  query?: string;
18
43
  connector?: string;
@@ -73,11 +98,14 @@ export interface SkillArgs {
73
98
  /**
74
99
  * The nine meta-tool handlers over a registry. Exported for direct testing;
75
100
  * registerMetaTools() wires them onto an McpServer. `opts.maxResultBytes`
76
- * overrides the registry's default result-size cap. (execute_code, the optional
77
- * tenth tool, is registered separately by registerExecuteTool.)
101
+ * overrides the registry's default result-size cap; `opts.defaultToolTimeoutMs`
102
+ * supplies a deadline for calls that don't carry one. (execute_code, the
103
+ * optional tenth tool, is registered separately by registerExecuteTool.)
78
104
  */
79
105
  export declare function createMetaTools(registry: Registry, baseUrl: string, opts?: {
80
106
  maxResultBytes?: number;
107
+ /** Deadline applied when a call passes no `timeoutMs`. Off when unset. */
108
+ defaultToolTimeoutMs?: number;
81
109
  activity?: ActivityRequestContext;
82
110
  }): {
83
111
  skills(args?: SkillArgs): Promise<ToolResult>;
@@ -94,6 +122,7 @@ export declare function createMetaTools(registry: Registry, baseUrl: string, opt
94
122
  export declare function registerMetaTools(server: McpServer, registry: Registry, ctx: {
95
123
  baseUrl: string;
96
124
  maxResultBytes?: number;
125
+ defaultToolTimeoutMs?: number;
97
126
  activity?: ActivityRequestContext;
98
127
  }): void;
99
128
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"meta-tools.d.ts","sourceRoot":"","sources":["../src/meta-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta-tools.d.ts","sourceRoot":"","sources":["../src/meta-tools.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { z } from "zod";
2
2
  import { compactSchema, rankTools, summarizeDescription } from "./catalog.js";
3
3
  import { recordToolActivity, } from "./activity.js";
4
4
  import { unwrapMcpResult } from "./mcp-result.js";
5
+ import { classifyCallError, ConnectorCallError, messageLooksRetryable, } from "./errors.js";
5
6
  import { AVAILABLE_SKILLS } from "./skills.js";
6
7
  const RESULT_TTL_SECONDS = 900;
7
8
  export function jsonResult(obj) {
@@ -21,12 +22,46 @@ function msg(err) {
21
22
  const DEFAULT_SEARCH_LIMIT = 25;
22
23
  const enc = new TextEncoder();
23
24
  const dec = new TextDecoder();
25
+ /**
26
+ * The longest the engine will park a synchronous inbound request in *waiting
27
+ * alone*. The engine already treats ~15 s as the outer bound of one reasonable
28
+ * connector call (EXECUTE_HOST_CALL_TIMEOUT_MS), so sleeping for minutes trades
29
+ * a fast, informative failure for a hung one. A connector-reported window this
30
+ * long isn't truncated — it's declined (see `retryBackoffMs`) and reported
31
+ * verbatim as `error.retryAfterMs`, so the agent, which can afford to wait,
32
+ * decides when to re-issue.
33
+ */
34
+ export const MAX_RETRY_BACKOFF_MS = 10_000;
35
+ /** A finite, positive integer number of milliseconds, or undefined. */
36
+ function normalizeTimeoutMs(value) {
37
+ if (value === undefined || !Number.isFinite(value) || !(value > 0)) {
38
+ return undefined;
39
+ }
40
+ return Math.max(1, Math.trunc(value));
41
+ }
42
+ /**
43
+ * How long to wait before the next attempt, or `undefined` for "don't retry".
44
+ *
45
+ * A connector that read a `Retry-After` header knows the window exactly, so it
46
+ * is honoured **exactly or not at all**: truncating an exponential *guess* is
47
+ * harmless, but truncating a *known* window means deliberately retrying inside
48
+ * a rate limit — the harm this channel exists to prevent. A window longer than
49
+ * `MAX_RETRY_BACKOFF_MS` therefore declines the retry rather than shortening
50
+ * it. (`retryAfterMs` is normalized non-negative, so `0` means "retry now".)
51
+ * Connectors that report no window keep the historical exponential guess.
52
+ *
53
+ * Waits are per attempt, matching the per-attempt `timeoutMs` race in
54
+ * `runCall`. Exported for direct testing.
55
+ */
56
+ export function retryBackoffMs(attempt, retryAfterMs) {
57
+ if (retryAfterMs === undefined) {
58
+ return Math.min(250 * 2 ** (attempt - 1), 1_000);
59
+ }
60
+ return retryAfterMs <= MAX_RETRY_BACKOFF_MS ? retryAfterMs : undefined;
61
+ }
62
+ /** Details for failures that never reached a connector (no thrown value). */
24
63
  function errorDetails(code, message) {
25
- return {
26
- code,
27
- message,
28
- retryable: /timeout|timed out|econnreset|econnrefused|temporar|rate.?limit|429|502|503|504|refcountedcanceler|different request/i.test(message),
29
- };
64
+ return { code, message, retryable: messageLooksRetryable(message) };
30
65
  }
31
66
  /** True if `b` is a UTF-8 continuation byte (0b10xxxxxx). */
32
67
  function isContinuationByte(b) {
@@ -148,11 +183,13 @@ async function guardValue(value, results, cap) {
148
183
  /**
149
184
  * The nine meta-tool handlers over a registry. Exported for direct testing;
150
185
  * registerMetaTools() wires them onto an McpServer. `opts.maxResultBytes`
151
- * overrides the registry's default result-size cap. (execute_code, the optional
152
- * tenth tool, is registered separately by registerExecuteTool.)
186
+ * overrides the registry's default result-size cap; `opts.defaultToolTimeoutMs`
187
+ * supplies a deadline for calls that don't carry one. (execute_code, the
188
+ * optional tenth tool, is registered separately by registerExecuteTool.)
153
189
  */
154
190
  export function createMetaTools(registry, baseUrl, opts = {}) {
155
191
  const cap = opts.maxResultBytes ?? registry.maxResultBytes;
192
+ const defaultToolTimeoutMs = normalizeTimeoutMs(opts.defaultToolTimeoutMs);
156
193
  // createMetaTools() is called once per inbound MCP request. Sharing this
157
194
  // identity lets remote connectors reuse one downstream client inside that
158
195
  // request without leaking request-bound I/O into the next one.
@@ -187,11 +224,10 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
187
224
  ...(errorCode ? { errorCode } : {}),
188
225
  });
189
226
  };
190
- const failed = (code, message) => {
227
+ const failed = (error) => {
191
228
  const durationMs = Date.now() - started;
192
- const error = errorDetails(code, message);
193
229
  const diagnostics = timing();
194
- record(code === "timeout" ? "timeout" : "error", code);
230
+ record(error.code === "timeout" ? "timeout" : "error", error.code);
195
231
  return {
196
232
  toolResult: call.resultMode === "value"
197
233
  ? jsonResult({
@@ -201,7 +237,7 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
201
237
  attempts,
202
238
  ...(call.diagnostics ? { timing: diagnostics } : {}),
203
239
  })
204
- : errorResult(message),
240
+ : errorResult(error.message),
205
241
  durationMs,
206
242
  attempts,
207
243
  timing: diagnostics,
@@ -209,13 +245,13 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
209
245
  };
210
246
  };
211
247
  if (!resolved) {
212
- return failed("unknown_address", `Unknown address "${call.address}"`);
248
+ return failed(errorDetails("unknown_address", `Unknown address "${call.address}"`));
213
249
  }
214
250
  const results = registry.resultsStorage();
215
251
  const fields = call.fields && call.fields.length > 0 ? call.fields : null;
216
- const timeoutMs = call.timeoutMs && call.timeoutMs > 0
217
- ? Math.max(1, Math.trunc(call.timeoutMs))
218
- : undefined;
252
+ // An explicit per-call deadline always wins; the config default only fills
253
+ // the gap, and stays off entirely when the deployment sets none.
254
+ const timeoutMs = normalizeTimeoutMs(call.timeoutMs) ?? defaultToolTimeoutMs;
219
255
  const maxRetries = Math.min(2, Math.max(0, Math.trunc(call.maxRetries ?? 0)));
220
256
  const catalogStarted = Date.now();
221
257
  let definition;
@@ -224,16 +260,18 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
224
260
  }
225
261
  catch (err) {
226
262
  catalogMs += Date.now() - catalogStarted;
227
- return failed("catalog_lookup_failed", msg(err));
263
+ // classifyCallError so a typed auth_required thrown while listing tools
264
+ // (e.g. a revoked downstream OAuth grant) keeps its code.
265
+ return failed(classifyCallError(err, "catalog_lookup_failed"));
228
266
  }
229
267
  catalogMs += Date.now() - catalogStarted;
230
268
  if (!definition) {
231
- return failed("unknown_tool", `Unknown tool "${resolved.toolName}" on connector "${resolved.connector.id}"`);
269
+ return failed(errorDetails("unknown_tool", `Unknown tool "${resolved.toolName}" on connector "${resolved.connector.id}"`));
232
270
  }
233
271
  const explicitlyReadOnly = definition.annotations?.readOnlyHint === true &&
234
272
  definition.annotations?.destructiveHint !== true;
235
273
  if (!explicitlyReadOnly && !options.allowDestructive) {
236
- return failed("destructive_tool_requires_approval", `Tool "${call.address}" is not explicitly read-only. Invoke it through call_destructive_tool so the MCP host can request explicit approval.`);
274
+ return failed(errorDetails("destructive_tool_requires_approval", `Tool "${call.address}" is not explicitly read-only. Invoke it through call_destructive_tool so the MCP host can request explicit approval.`));
237
275
  }
238
276
  const retrySafe = definition.annotations?.readOnlyHint === true ||
239
277
  definition.annotations?.idempotentHint === true;
@@ -251,7 +289,7 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
251
289
  pending,
252
290
  new Promise((_, reject) => {
253
291
  timer = setTimeout(() => {
254
- reject(new Error(`Tool call timed out after ${timeoutMs}ms`));
292
+ reject(new ConnectorCallError("timeout", `Tool call timed out after ${timeoutMs}ms`));
255
293
  controller?.abort();
256
294
  }, timeoutMs);
257
295
  }),
@@ -268,17 +306,23 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
268
306
  catch (err) {
269
307
  // Includes connector setup, downstream execution, and timeout wait.
270
308
  connectorMs += Date.now() - connectorStarted;
271
- const details = errorDetails("connector_call_failed", msg(err));
309
+ const details = classifyCallError(err);
272
310
  if (attempts <= maxRetries && retrySafe && details.retryable) {
273
- const backoffStarted = Date.now();
274
- await new Promise((resolve) => setTimeout(resolve, Math.min(250 * 2 ** (attempts - 1), 1_000)));
275
- backoffMs += Date.now() - backoffStarted;
276
- continue;
311
+ const wait = retryBackoffMs(attempts, details.retryAfterMs);
312
+ if (wait !== undefined) {
313
+ const backoffStarted = Date.now();
314
+ if (wait > 0) {
315
+ await new Promise((resolve) => setTimeout(resolve, wait));
316
+ }
317
+ backoffMs += Date.now() - backoffStarted;
318
+ continue;
319
+ }
320
+ // The reported window is longer than the engine will park a
321
+ // synchronous request for. Fall through to failure with
322
+ // retryAfterMs reported verbatim so the agent can re-issue.
277
323
  }
278
324
  registry.recordFailure(resolved.connector.id, Date.now() - started, err);
279
- return failed(/timed out|timeout/i.test(msg(err))
280
- ? "timeout"
281
- : "connector_call_failed", msg(err));
325
+ return failed(details);
282
326
  }
283
327
  finally {
284
328
  if (timer)
@@ -346,7 +390,7 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
346
390
  }
347
391
  catch (err) {
348
392
  resultProcessingMs += Date.now() - processingStarted;
349
- return failed("result_processing_failed", msg(err));
393
+ return failed(errorDetails("result_processing_failed", msg(err)));
350
394
  }
351
395
  }
352
396
  return {
@@ -592,12 +636,11 @@ export function createMetaTools(registry, baseUrl, opts = {}) {
592
636
  const results = settled.map((s, i) => {
593
637
  const address = args.calls[i].address;
594
638
  if (s.status === "rejected") {
595
- const message = msg(s.reason);
596
639
  return {
597
640
  address,
598
641
  ok: false,
599
- error: message,
600
- errorDetails: errorDetails("batch_call_failed", message),
642
+ error: msg(s.reason),
643
+ errorDetails: classifyCallError(s.reason, "batch_call_failed"),
601
644
  };
602
645
  }
603
646
  const r = s.value;
@@ -711,6 +754,7 @@ const READ_ONLY_LOCAL = {
711
754
  export function registerMetaTools(server, registry, ctx) {
712
755
  const mt = createMetaTools(registry, ctx.baseUrl, {
713
756
  maxResultBytes: ctx.maxResultBytes,
757
+ defaultToolTimeoutMs: ctx.defaultToolTimeoutMs,
714
758
  activity: ctx.activity,
715
759
  });
716
760
  server.registerTool("skills", {