@kindgi/tools 0.1.7-rc.0 → 0.1.8-rc.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.
@@ -1 +1 @@
1
- {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"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"}
package/dist/define.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  // Copyright (C) 2026 Kindgi Inc.
3
- import { compileInlineSchema, compileJsonSchema, createSpecRegistry, isZodSchema, loadZodConverter, loadZodConverterSync, toJSONSchemaSync, } from '@kindgi/schema';
3
+ import { SchemaCompileBudgetError, compileInlineSchema, compileJsonSchema, createSpecRegistry, isZodSchema, loadZodConverter, loadZodConverterSync, toJSONSchemaSync, } from '@kindgi/schema';
4
4
  import { schemaOptions } from './invoke.js';
5
5
  import { getToolSpecSynthesizer } from './spec-registry.js';
6
6
  import toolSchema from './tool.schema.json' with { type: 'json' };
@@ -54,6 +54,9 @@ function compilesAsSchema(schema, where, tool) {
54
54
  return undefined;
55
55
  }
56
56
  catch (cause) {
57
+ // A compile the tenant's budget refused says nothing about the schema.
58
+ if (cause instanceof SchemaCompileBudgetError)
59
+ throw cause;
57
60
  return {
58
61
  code: 'invalid-schema',
59
62
  message: `Tool ${where} schema does not compile: ${cause instanceof Error ? cause.message : String(cause)}${strictHint(cause)}`,
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"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"}
package/dist/http.js CHANGED
@@ -2,6 +2,10 @@
2
2
  // Copyright (C) 2026 Kindgi Inc.
3
3
  import { bearerValueProblem, headerValueProblem } from '@kindgi/types';
4
4
  import { registerToolSpecSynthesizer } from './spec-registry.js';
5
+ /** What a synthesized handler reads of a response body when the runtime sets no cap. */
6
+ const DEFAULT_MAX_RESPONSE_BYTES = 10 * 1024 * 1024;
7
+ /** The most of a failed call's body read for its error message (which keeps 512 characters). */
8
+ const ERROR_BODY_BYTES = 2048;
5
9
  /**
6
10
  * First-party synthesizer for `HttpToolSpec` (kind: 'http').
7
11
  *
@@ -36,15 +40,21 @@ import { registerToolSpecSynthesizer } from './spec-registry.js';
36
40
  * from input; send as `Content-Type: text/plain`.
37
41
  * 6. `fetch()` with an AbortController that inherits from
38
42
  * `ctx.abortSignal` and adds a `timeoutMs` deadline (default
39
- * 30_000). Aborts propagate as `handler-error`.
43
+ * 30_000). The deadline and the signal cover reading the body
44
+ * too. Aborts propagate as `handler-error`.
40
45
  * 7. Status is checked against `successStatus` (default 200-299).
41
46
  * Failures throw with the response body as the message.
42
47
  * 8. Response body is parsed as JSON (default) or returned as
43
- * text. Output JSON-Schema validation runs in the invoke
44
- * pipeline; handler doesn't validate.
48
+ * text. It's read up to `maxResponseBytes` (default 10 MiB);
49
+ * a longer body fails the call. Output JSON-Schema validation
50
+ * runs in the invoke pipeline; handler doesn't validate.
45
51
  */
46
52
  function buildHttpHandler(spec, toolId, options = {}) {
47
53
  const doFetch = options.fetch ?? fetch;
54
+ const maxResponseBytes = options.maxResponseBytes ?? DEFAULT_MAX_RESPONSE_BYTES;
55
+ if (!Number.isSafeInteger(maxResponseBytes) || maxResponseBytes < 1) {
56
+ throw new RangeError(`http-tool "${toolId}": maxResponseBytes must be a positive whole number of bytes; got ${String(maxResponseBytes)}`);
57
+ }
48
58
  return async (input, ctx) => {
49
59
  const inputObj = coerceInputToObject(input, toolId);
50
60
  const { url, consumedKeys } = substituteUrl(spec.urlTemplate, inputObj, toolId);
@@ -75,40 +85,49 @@ function buildHttpHandler(spec, toolId, options = {}) {
75
85
  throw ctx.abortSignal.reason ?? new Error('aborted');
76
86
  }
77
87
  ctx.abortSignal.addEventListener('abort', upstreamAbort, { once: true });
78
- let response;
88
+ // The deadline and the caller's signal stay on until the body is
89
+ // read: a server that answers fast and then trickles its body
90
+ // would otherwise hold the call open past both.
79
91
  try {
80
- response = await doFetch(url, {
92
+ const response = await doFetch(url, {
81
93
  method: spec.method,
82
94
  headers,
83
95
  ...(body !== undefined && { body }),
84
96
  signal: controller.signal,
85
97
  });
98
+ return await readResponse(response, spec, toolId, maxResponseBytes, controller.signal);
86
99
  }
87
100
  finally {
88
101
  clearTimeout(timeoutHandle);
89
102
  ctx.abortSignal.removeEventListener('abort', upstreamAbort);
90
103
  }
91
- const successMin = spec.successStatus?.min ?? 200;
92
- const successMax = spec.successStatus?.max ?? 299;
93
- if (response.status < successMin || response.status > successMax) {
94
- const text = await safeText(response);
95
- throw new Error(`http-tool "${toolId}" got status ${response.status} ${response.statusText || ''} — ${text.slice(0, 512)}`);
96
- }
97
- const parseJson = spec.parseJson ?? true;
98
- if (!parseJson) {
99
- return await response.text();
100
- }
101
- const rawText = await response.text();
102
- if (rawText.length === 0)
103
- return null;
104
- try {
105
- return JSON.parse(rawText);
106
- }
107
- catch (cause) {
108
- throw new Error(`http-tool "${toolId}" response was not valid JSON: ${cause instanceof Error ? cause.message : String(cause)}`);
109
- }
110
104
  };
111
105
  }
106
+ /** Steps 7 and 8: the status, then the body, read while `signal` holds. */
107
+ async function readResponse(response, spec, toolId, maxResponseBytes, signal) {
108
+ const successMin = spec.successStatus?.min ?? 200;
109
+ const successMax = spec.successStatus?.max ?? 299;
110
+ if (response.status < successMin || response.status > successMax) {
111
+ const text = await safeText(response, signal);
112
+ throw new Error(`http-tool "${toolId}" got status ${response.status} ${response.statusText || ''} — ${text.slice(0, 512)}`);
113
+ }
114
+ const read = await readBodyText(response, maxResponseBytes, signal);
115
+ if (read.truncated) {
116
+ throw new Error(`http-tool "${toolId}": the response body is longer than ${maxResponseBytes} bytes, the most this tool reads`);
117
+ }
118
+ const parseJson = spec.parseJson ?? true;
119
+ if (!parseJson) {
120
+ return read.text;
121
+ }
122
+ if (read.text.length === 0)
123
+ return null;
124
+ try {
125
+ return JSON.parse(read.text);
126
+ }
127
+ catch (cause) {
128
+ throw new Error(`http-tool "${toolId}" response was not valid JSON: ${cause instanceof Error ? cause.message : String(cause)}`);
129
+ }
130
+ }
112
131
  // Register at module load. Framework barrel imports this module
113
132
  // (`packages/tools/src/index.ts`) so any consumer that pulls in
114
133
  // `@kindgi/tools` gets the 'http' kind registered automatically.
@@ -218,11 +237,63 @@ function buildBody(spec, input, consumedKeys) {
218
237
  const template = spec.requestBody.template;
219
238
  return { body: substituteTemplate(template, input), contentType: 'text/plain' };
220
239
  }
221
- async function safeText(response) {
240
+ /**
241
+ * Reads a response body as UTF-8 text, as `response.text()` does, but
242
+ * at most `maxBytes` of it, and only while `signal` holds. Past
243
+ * `maxBytes` it cancels the body and returns what it read, marked
244
+ * truncated. When `signal` aborts it cancels the body and throws the
245
+ * signal's reason, whatever the `fetch` in use does with the signal.
246
+ */
247
+ async function readBodyText(response, maxBytes, signal) {
248
+ if (response.body === null) {
249
+ if (signal.aborted)
250
+ throw signal.reason;
251
+ return { text: '', truncated: false };
252
+ }
253
+ const reader = response.body.getReader();
254
+ const cancel = () => {
255
+ reader.cancel(signal.reason).catch(() => undefined);
256
+ };
257
+ signal.addEventListener('abort', cancel, { once: true });
258
+ if (signal.aborted)
259
+ cancel();
260
+ const decoder = new TextDecoder();
261
+ let text = '';
262
+ let bytes = 0;
263
+ try {
264
+ for (;;) {
265
+ // A cancel ends a pending read as done, and some fetches error the
266
+ // body instead: either way, an aborted signal's reason is the error.
267
+ const chunk = await reader.read().catch((cause) => {
268
+ throw signal.aborted ? signal.reason : cause;
269
+ });
270
+ if (signal.aborted)
271
+ throw signal.reason;
272
+ if (chunk.done)
273
+ return { text: text + decoder.decode(), truncated: false };
274
+ const room = maxBytes - bytes;
275
+ if (chunk.value.byteLength > room) {
276
+ text += decoder.decode(chunk.value.subarray(0, room), { stream: true });
277
+ reader.cancel().catch(() => undefined);
278
+ return { text, truncated: true };
279
+ }
280
+ bytes += chunk.value.byteLength;
281
+ text += decoder.decode(chunk.value, { stream: true });
282
+ }
283
+ }
284
+ finally {
285
+ signal.removeEventListener('abort', cancel);
286
+ }
287
+ }
288
+ /** A failed call's body for its error message; a body that can't be read says so. */
289
+ async function safeText(response, signal) {
222
290
  try {
223
- return await response.text();
291
+ return (await readBodyText(response, ERROR_BODY_BYTES, signal)).text;
224
292
  }
225
- catch {
293
+ catch (cause) {
294
+ // Past the deadline or cancelled, the call fails as that.
295
+ if (signal.aborted)
296
+ throw cause;
226
297
  return '<no body>';
227
298
  }
228
299
  }
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAmC,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAGlG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,SAAS,gBAAgB,CACvB,IAAkB,EAClB,MAAc,EACd,UAAsC,EAAE;IAExC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACvC,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEhF,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,kBAAkB,CAAC,CAAC,IAAI,iCAAiC,OAAO,8BAA8B,CACnH,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,SAAS,CACP,OAAO,EACP,IAAI,CAAC,aAAa,EAClB,GAAG,EACH,MAAM,EACN,MAAM,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,MAAM,CAAC,CACzD,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtE,IAAI,IAAI,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7F,OAAO,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;QACxC,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,UAAU,CAC9B,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,cAAc,MAAM,qBAAqB,SAAS,IAAI,CAAC,CAAC,EACzF,SAAS,CACV,CAAC;QACF,4DAA4D;QAC5D,0DAA0D;QAC1D,MAAM,aAAa,GAAG,GAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3E,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC5B,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC;QACD,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzE,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;gBAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO;gBACP,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC;gBACnC,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,GAAG,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,GAAG,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,GAAG,CAAC;QAClD,IAAI,QAAQ,CAAC,MAAM,GAAG,UAAU,IAAI,QAAQ,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YACjE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,gBAAgB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC3G,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC/G,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,gEAAgE;AAChE,gEAAgE;AAChE,iEAAiE;AACjE,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEtD,SAAS,mBAAmB,CAAC,KAAc,EAAE,MAAc;IACzD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,wDAAwD,OAAO,KAAK,EAAE,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,aAAa,CACpB,QAAgB,EAChB,KAA8B,EAC9B,MAAc;IAEd,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,GAAW,EAAE,EAAE;QAC5D,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,8BAA8B,GAAG,8BAA8B,CACpF,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,IACE,KAAK,KAAK,IAAI;YACd,KAAK,KAAK,SAAS;YACnB,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,KAAK,KAAK,UAAU;YAC3B,OAAO,KAAK,KAAK,QAAQ,EACzB,CAAC;YACD,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,uBAAuB,GAAG,+BAA+B,OAAO,KAAK,EAAE,CAC5F,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,QAAgB,EAAE,KAA8B;IAC1E,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,GAAW,EAAE,EAAE;QACvD,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,GAAG,GAAG,CAAC,CAAC,mDAAmD;QAC3F,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,IAAkB,EAClB,GAAgB,EAChB,MAAc;IAEd,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,yJAAyJ,CAC9K,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,SAAS,CAChB,OAA+B,EAC/B,IAAkB,EAClB,IAAiB,EACjB,MAAc,EACd,cAAsB;IAEtB,yEAAyE;IACzE,2EAA2E;IAC3E,+DAA+D;IAC/D,MAAM,OAAO,GACX,IAAI,CAAC,IAAI,KAAK,QAAQ;QACpB,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC;QACpC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACzC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAC1E,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,iBAAiB,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,oBAAoB,MAAM,SAAS,OAAO,2DAA2D,CACxL,CAAC;IACJ,CAAC;IACD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,CAAC,aAAa,GAAG,UAAU,cAAc,EAAE,CAAC;YACnD,OAAO;QACT,KAAK,QAAQ;YACX,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC;YAC1C,OAAO;IACX,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAChB,IAAkB,EAClB,KAA8B,EAC9B,YAAiC;IAEjC,iDAAiD;IACjD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACrD,CAAC;IACD,MAAM,IAAI,GAAgC,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,YAAY,CAAC;IACjF,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC;QACD,8DAA8D;QAC9D,mEAAmE;QACnE,qEAAqE;QACrE,qDAAqD;QACrD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC9E,CAAC;IACD,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC1E,CAAC;IACD,kBAAkB;IAClB,MAAM,QAAQ,GAAI,IAAI,CAAC,WAAkD,CAAC,QAAQ,CAAC;IACnF,OAAO,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AAClF,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAAkB;IACxC,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,CAAC;IACrB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"invoke-env.d.ts","sourceRoot":"","sources":["../src/invoke-env.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAc,IAAI,EAAE,MAAM,YAAY,CAAC;AAKnD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,EACpC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,EAAE,qBAAqB,CAAC,CAmB7E"}
1
+ {"version":3,"file":"invoke-env.d.ts","sourceRoot":"","sources":["../src/invoke-env.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAc,IAAI,EAAE,MAAM,YAAY,CAAC;AASnD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,EACpC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,EAAE,qBAAqB,CAAC,CAmB7E"}
@@ -12,7 +12,11 @@
12
12
  */
13
13
  import { compileInlineSchema } from '@kindgi/schema';
14
14
  import { ToolPreconditionError } from './precondition.js';
15
- /** Compiled env schemas, by schema object (a tool's are defined once and reused). */
15
+ /**
16
+ * Compiled env schemas, by schema object (a tool's are defined once and
17
+ * reused). Each keeps its schema's cache key, not its validator
18
+ * (`compileInlineSchema`), so the cache's bounds hold.
19
+ */
16
20
  const compiled = new WeakMap();
17
21
  /**
18
22
  * The env the handler gets: the declared names, each with its value. Undefined when the tool
@@ -1 +1 @@
1
- {"version":3,"file":"invoke-env.js","sourceRoot":"","sources":["../src/invoke-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invoke-env.js","sourceRoot":"","sources":["../src/invoke-env.ts"],"names":[],"mappings":"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"}
package/dist/invoke.d.ts CHANGED
@@ -28,8 +28,8 @@ export interface InvokeToolOptions {
28
28
  * 3. Validate the return value against `tool.output` schema (unless the
29
29
  * caller opts out).
30
30
  *
31
- * Validation cost is amortised via a schema-object-keyed cache — the second
32
- * invocation of the same tool reuses the compiled Ajv validator.
31
+ * Each schema compiles once and is then taken from the schema cache (see
32
+ * `held`): a later call compiles it again only once the cache has dropped it.
33
33
  */
34
34
  export declare function invokeTool<TInput = unknown, TOutput = unknown>(tool: Tool<TInput, TOutput>, input: unknown, ctx: ToolContext, options?: InvokeToolOptions): Promise<Result<TOutput, ToolError>>;
35
35
  //# sourceMappingURL=invoke.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../src/invoke.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAKV,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAc,IAAI,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAgBhE;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,wBAAwB,CAErF;AA8DD,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CACzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,UAAU,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAClE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3B,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,WAAW,EAChB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAyCrC"}
1
+ {"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../src/invoke.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAKV,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAc,IAAI,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAKhE;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,wBAAwB,CAErF;AA8ED,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CACzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,UAAU,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAClE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3B,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,WAAW,EAChB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAyCrC"}
package/dist/invoke.js CHANGED
@@ -1,17 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  // Copyright (C) 2026 Kindgi Inc.
3
- import { compileJsonSchema, parseWithSchema } from '@kindgi/schema';
3
+ import { holdJsonSchema, parseWithSchema } from '@kindgi/schema';
4
4
  import { isToolPreconditionError } from './precondition.js';
5
- /**
6
- * Cache compiled validators keyed by the schema *object reference*. Tools
7
- * are defined once and reused, so schema identity is stable — the WeakMap
8
- * releases entries when the tool is dropped. A pack's tools' validators
9
- * and an MCP server's are cached apart (`schemaOptions`).
10
- */
11
- const caches = {
12
- input: { pack: new WeakMap(), mcp: new WeakMap() },
13
- output: { pack: new WeakMap(), mcp: new WeakMap() },
14
- };
15
5
  const PACK_SCHEMAS = { dialects: ['2020-12'] };
16
6
  const MCP_SCHEMAS = { strict: false };
17
7
  /**
@@ -23,22 +13,36 @@ const MCP_SCHEMAS = { strict: false };
23
13
  export function schemaOptions(tool) {
24
14
  return tool.transport === 'mcp' ? MCP_SCHEMAS : PACK_SCHEMAS;
25
15
  }
16
+ /**
17
+ * Each schema's validator, held by schema object (a tool's are defined
18
+ * once and reused) and by what it's compiled for. A holder keeps a JSON
19
+ * schema's cache key, not its validator (`holdJsonSchema`), so the cache
20
+ * is all that keeps the validator: once the cache drops it, the next call
21
+ * compiles it again, a recompile the tenant's budget counts. A schema
22
+ * JSON can't carry is held as compiled, not compiled on every call.
23
+ */
24
+ const held = new WeakMap();
26
25
  /**
27
26
  * A compiled validator. Input validators fill in each property's JSON
28
27
  * Schema `default` (`useDefaults`) — the data they check is a copy of the
29
28
  * caller's.
30
29
  */
31
30
  function compile(schema, side, tool) {
32
- const cache = caches[side][tool.transport === 'mcp' ? 'mcp' : 'pack'];
33
- const cached = cache.get(schema);
34
- if (cached !== undefined)
35
- return cached;
36
- const validator = compileJsonSchema(schema, {
37
- ...schemaOptions(tool),
38
- ...(side === 'input' && { useDefaults: true }),
39
- });
40
- cache.set(schema, validator);
41
- return validator;
31
+ let holders = held.get(schema);
32
+ if (holders === undefined) {
33
+ holders = new Map();
34
+ held.set(schema, holders);
35
+ }
36
+ const purpose = `${side} ${tool.transport === 'mcp' ? 'mcp' : 'pack'}`;
37
+ let validator = holders.get(purpose);
38
+ if (validator === undefined) {
39
+ validator = holdJsonSchema(schema, {
40
+ ...schemaOptions(tool),
41
+ ...(side === 'input' && { useDefaults: true }),
42
+ });
43
+ holders.set(purpose, validator);
44
+ }
45
+ return validator();
42
46
  }
43
47
  /**
44
48
  * The input a handler receives: validated against `tool.input` with its
@@ -84,8 +88,8 @@ function inputError(toolId, errors) {
84
88
  * 3. Validate the return value against `tool.output` schema (unless the
85
89
  * caller opts out).
86
90
  *
87
- * Validation cost is amortised via a schema-object-keyed cache — the second
88
- * invocation of the same tool reuses the compiled Ajv validator.
91
+ * Each schema compiles once and is then taken from the schema cache (see
92
+ * `held`): a later call compiles it again only once the cache has dropped it.
89
93
  */
90
94
  export async function invokeTool(tool, input, ctx, options = {}) {
91
95
  const prepared = await prepareInput(tool, input);
@@ -1 +1 @@
1
- {"version":3,"file":"invoke.js","sourceRoot":"","sources":["../src/invoke.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invoke.js","sourceRoot":"","sources":["../src/invoke.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Result, TenantId, ToolId } from '@kindgi/types';
1
+ import type { OrgId, ProjectId, Result, TenantId, ToolId } from '@kindgi/types';
2
2
  import type { ToolError } from './errors.js';
3
3
  import type { AnyTool } from './types.js';
4
4
  /**
@@ -64,6 +64,18 @@ export interface ToolRegistry {
64
64
  * turn's tools through the returned registry.
65
65
  */
66
66
  forTenant(tenantId: TenantId): Promise<ToolRegistry>;
67
+ /**
68
+ * The registry for one project of a tenant: only the tools a run in
69
+ * `projectId` may reach (the deployment's rule; the Kindgi runtime's:
70
+ * the project's own, and an MCP endpoint's scoped to it, its org or the
71
+ * tenant). Callers that resolve a run's tools use it when present, else
72
+ * `forTenant`. Absent: every tool of the tenant is reachable.
73
+ */
74
+ forProject?(input: {
75
+ readonly tenantId: TenantId;
76
+ readonly projectId: ProjectId;
77
+ readonly orgId?: OrgId;
78
+ }): Promise<ToolRegistry>;
67
79
  /**
68
80
  * Optional cache invalidation. Storage-backed implementations call
69
81
  * this from the write path (`POST /v1/tools`, unregister, reinstate)
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,KAAK,EAGV,SAAS,EAIV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;OASG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChF;;;;;OAKG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5C,2FAA2F;IAC3F,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACpE;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IACtE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACjD;;;;OAIG;IACH,IAAI,IAAI,SAAS,OAAO,EAAE,CAAC;IAC3B,4DAA4D;IAC5D,GAAG,IAAI,SAAS,MAAM,EAAE,CAAC;IACzB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACxC;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrD;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,SAAS,OAAO,EAAO,GAAG,YAAY,CAkK9E"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEhF,OAAO,KAAK,EAGV,SAAS,EAIV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;OASG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChF;;;;;OAKG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5C,2FAA2F;IAC3F,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACpE;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IACtE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACjD;;;;OAIG;IACH,IAAI,IAAI,SAAS,OAAO,EAAE,CAAC;IAC3B,4DAA4D;IAC5D,GAAG,IAAI,SAAS,MAAM,EAAE,CAAC;IACzB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACxC;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrD;;;;;;OAMG;IACH,UAAU,CAAC,CAAC,KAAK,EAAE;QACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;QAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;KACxB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1B;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,SAAS,OAAO,EAAO,GAAG,YAAY,CAkK9E"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAa5B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA0G5C;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA2B,EAAE;IAC9D,oEAAoE;IACpE,2CAA2C;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgC,CAAC;IACtD,4EAA4E;IAC5E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,4FAA4F;IAC5F,SAAS,YAAY,CAAC,EAAU;QAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;aACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;aACzC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,QAAQ,GAAiB;QAC7B,QAAQ,CAAC,IAAa,EAAE,OAA6B;YACnD,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;gBACrB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAA8B;oBACrC,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,yBAAyB;oBAClE,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjC,IAAI,OAAO,EAAE,OAAO,KAAK,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC1C,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAsB;oBAC7B,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,+BAA+B,EAAE,GAAG;oBAC7C,EAAE;iBACH,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,CAAC;YACD,4CAA4C;YAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;YAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAsB;oBAC7B,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,+BAA+B,EAAE,GAAG;oBAC7C,EAAE;iBACH,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACvC,CAAC;QACD,UAAU,CAAC,EAAU,EAAE,OAAe;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,GAAG,GAAsB;wBAC7B,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,+BAA+B,EAAE,GAAG;wBAC7C,EAAE;qBACH,CAAC;oBACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;gBACrC,CAAC;gBACD,MAAM,GAAG,GAA6B;oBACpC,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,SAAS,EAAE,qBAAqB,OAAO,cAAc;oBAC9D,EAAE;oBACF,OAAO;iBACR,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,EAAU,EAAE,KAAa;YAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAClD,MAAM,GAAG,GAAsB;oBAC7B,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,+BAA+B,EAAE,GAAG;oBAC7C,EAAE;iBACH,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,CAAC;YACD,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAClC,MAAM,GAAG,GAA6B;oBACpC,IAAI,EAAE,uBAAuB;oBAC7B,OAAO,EAAE,kBAAkB,KAAK,eAAe,EAAE,+BAA+B;oBAChF,EAAE;oBACF,KAAK;iBACN,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAiC;oBACxC,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EAAE,SAAS,EAAE,gCAAgC,KAAK,iBAAiB,SAAS;yBAChF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBACrC,IAAI,CAAC,IAAI,CAAC,GAAG;oBAChB,EAAE;oBACF,KAAK;oBACL,iBAAiB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACnE,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClC,iEAAiE;YACjE,8DAA8D;YAC9D,uCAAuC;YACvC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,GAAG,GAA6B;oBACpC,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,SAAS,EAAE,kBAAkB,MAAM,yCAAyC;oBACrF,EAAE;oBACF,OAAO,EAAE,MAAM;iBAChB,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,CAAC;QAClE,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,UAAU,CAAC,EAAU,EAAE,OAAe;YACpC,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;QAC9C,CAAC;QACD,IAAI;YACF,MAAM,GAAG,GAAc,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnC,IAAI,IAAI,KAAK,SAAS;wBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,GAAG;YACD,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,QAAQ,CAAC,EAAU;YACjB,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,SAAS;YACb,wDAAwD;YACxD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -22,6 +22,12 @@ export interface ToolSpecSynthesizerOptions {
22
22
  * server's own host). Absent: the global `fetch`.
23
23
  */
24
24
  readonly fetch?: typeof fetch;
25
+ /**
26
+ * The most bytes a synthesized handler reads of a response body,
27
+ * counted as `fetch` hands them over (after it decodes gzip or br).
28
+ * Past it the call fails, naming the cap. Absent: 10 MiB.
29
+ */
30
+ readonly maxResponseBytes?: number;
25
31
  }
26
32
  export type ToolSpecSynthesizer<TSpec extends ToolSpec = ToolSpec> = (spec: TSpec, toolId: string, options?: ToolSpecSynthesizerOptions) => (input: unknown, ctx: ToolContext) => Promise<unknown>;
27
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"spec-registry.d.ts","sourceRoot":"","sources":["../src/spec-registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAExD;;;;;;;;;;;;;GAaG;AACH,oDAAoD;AACpD,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CAC/B;AAED,MAAM,MAAM,mBAAmB,CAAC,KAAK,SAAS,QAAQ,GAAG,QAAQ,IAAI,CACnE,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,0BAA0B,KACjC,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAO5D;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,SAAS,QAAQ,EAChE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,GACtC,IAAI,CAON;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAEpF;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEjE"}
1
+ {"version":3,"file":"spec-registry.d.ts","sourceRoot":"","sources":["../src/spec-registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAExD;;;;;;;;;;;;;GAaG;AACH,oDAAoD;AACpD,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,MAAM,mBAAmB,CAAC,KAAK,SAAS,QAAQ,GAAG,QAAQ,IAAI,CACnE,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,0BAA0B,KACjC,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAO5D;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,SAAS,QAAQ,EAChE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,GACtC,IAAI,CAON;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAEpF;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"spec-registry.js","sourceRoot":"","sources":["../src/spec-registry.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAmCjC,iEAAiE;AACjE,uEAAuE;AACvE,kDAAkD;AAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;AAExD;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAmB,EACnB,WAAuC;IAEvC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,kCAAkC,IAAI,qIAAqI,CAC5K,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,WAAkC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,IAAY;IACzD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"spec-registry.js","sourceRoot":"","sources":["../src/spec-registry.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAyCjC,iEAAiE;AACjE,uEAAuE;AACvE,kDAAkD;AAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;AAExD;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAmB,EACnB,WAAuC;IAEvC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,kCAAkC,IAAI,qIAAqI,CAC5K,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,WAAkC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,IAAY;IACzD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}
@@ -20,7 +20,7 @@ export declare function toolContextForTest(overrides?: Partial<ToolContext>): To
20
20
  * Test only: in a run, the runtime decides a pack tool's env itself, from its env store, and
21
21
  * calls `invokeTool`.
22
22
  *
23
- * ```ts
23
+ * ```ts excerpt
24
24
  * const result = await invokeToolForTest(findOrder, { orderId: 'ord_1001' }, {
25
25
  * env: { ORDERS_BASE_URL: 'https://orders.example.com' },
26
26
  * });
@@ -27,7 +27,7 @@ export function toolContextForTest(overrides = {}) {
27
27
  * Test only: in a run, the runtime decides a pack tool's env itself, from its env store, and
28
28
  * calls `invokeTool`.
29
29
  *
30
- * ```ts
30
+ * ```ts excerpt
31
31
  * const result = await invokeToolForTest(findOrder, { orderId: 'ord_1001' }, {
32
32
  * env: { ORDERS_BASE_URL: 'https://orders.example.com' },
33
33
  * });
package/dist/types.d.ts CHANGED
@@ -499,7 +499,8 @@ export interface HttpToolSpec {
499
499
  */
500
500
  readonly requestBody?: HttpRequestBodySpec;
501
501
  /**
502
- * Wall-clock timeout in milliseconds. Enforced via AbortController.
502
+ * Wall-clock timeout in milliseconds, for the whole call: the request
503
+ * and reading the response body. Enforced via AbortController.
503
504
  * Defaults to 30_000 (30s) when absent — matches typical vendor
504
505
  * SLOs.
505
506
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kindgi/tools",
3
- "version": "0.1.7-rc.0",
3
+ "version": "0.1.8-rc.0",
4
4
  "description": "Tool authoring shape + registry + invocation for Kindgi. A tool is a typed, effect-declared unit of work — the same definition runs in-process for one flow, over MCP for another. Pure — no kernel dependency; the kernel bridges tools to node handlers separately.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -30,9 +30,9 @@
30
30
  "type-manifest.json"
31
31
  ],
32
32
  "dependencies": {
33
- "@kindgi/log": "0.1.7-rc.0",
34
- "@kindgi/schema": "0.1.7-rc.0",
35
- "@kindgi/types": "0.1.7-rc.0",
33
+ "@kindgi/log": "0.1.8-rc.0",
34
+ "@kindgi/schema": "0.1.8-rc.0",
35
+ "@kindgi/types": "0.1.8-rc.0",
36
36
  "ajv": "^8.17.1",
37
37
  "ajv-formats": "^3.0.1",
38
38
  "semver": "^7.6.3"
@@ -46,7 +46,8 @@
46
46
  }
47
47
  },
48
48
  "devDependencies": {
49
- "@kindgi/specs": "0.1.7-rc.0",
49
+ "@kindgi/bounds": "0.1.8-rc.0",
50
+ "@kindgi/specs": "0.1.8-rc.0",
50
51
  "@types/node": "^22.10.5",
51
52
  "@types/semver": "^7.5.8",
52
53
  "typescript": "^5.7.3",
package/src/define.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  // Copyright (C) 2026 Kindgi Inc.
3
3
 
4
4
  import {
5
+ SchemaCompileBudgetError,
5
6
  compileInlineSchema,
6
7
  compileJsonSchema,
7
8
  createSpecRegistry,
@@ -92,6 +93,8 @@ function compilesAsSchema(
92
93
  compileJsonSchema(schema as Readonly<Record<string, unknown>>, schemaOptions(tool));
93
94
  return undefined;
94
95
  } catch (cause) {
96
+ // A compile the tenant's budget refused says nothing about the schema.
97
+ if (cause instanceof SchemaCompileBudgetError) throw cause;
95
98
  return {
96
99
  code: 'invalid-schema',
97
100
  message: `Tool ${where} schema does not compile: ${cause instanceof Error ? cause.message : String(cause)}${strictHint(cause)}`,
package/src/http.ts CHANGED
@@ -6,6 +6,12 @@ import { bearerValueProblem, headerValueProblem } from '@kindgi/types';
6
6
  import { type ToolSpecSynthesizerOptions, registerToolSpecSynthesizer } from './spec-registry.js';
7
7
  import type { HttpAuthSpec, HttpRequestBodySpec, HttpToolSpec, ToolContext } from './types.js';
8
8
 
9
+ /** What a synthesized handler reads of a response body when the runtime sets no cap. */
10
+ const DEFAULT_MAX_RESPONSE_BYTES = 10 * 1024 * 1024;
11
+
12
+ /** The most of a failed call's body read for its error message (which keeps 512 characters). */
13
+ const ERROR_BODY_BYTES = 2048;
14
+
9
15
  /**
10
16
  * First-party synthesizer for `HttpToolSpec` (kind: 'http').
11
17
  *
@@ -40,12 +46,14 @@ import type { HttpAuthSpec, HttpRequestBodySpec, HttpToolSpec, ToolContext } fro
40
46
  * from input; send as `Content-Type: text/plain`.
41
47
  * 6. `fetch()` with an AbortController that inherits from
42
48
  * `ctx.abortSignal` and adds a `timeoutMs` deadline (default
43
- * 30_000). Aborts propagate as `handler-error`.
49
+ * 30_000). The deadline and the signal cover reading the body
50
+ * too. Aborts propagate as `handler-error`.
44
51
  * 7. Status is checked against `successStatus` (default 200-299).
45
52
  * Failures throw with the response body as the message.
46
53
  * 8. Response body is parsed as JSON (default) or returned as
47
- * text. Output JSON-Schema validation runs in the invoke
48
- * pipeline; handler doesn't validate.
54
+ * text. It's read up to `maxResponseBytes` (default 10 MiB);
55
+ * a longer body fails the call. Output JSON-Schema validation
56
+ * runs in the invoke pipeline; handler doesn't validate.
49
57
  */
50
58
  function buildHttpHandler(
51
59
  spec: HttpToolSpec,
@@ -53,6 +61,12 @@ function buildHttpHandler(
53
61
  options: ToolSpecSynthesizerOptions = {},
54
62
  ): (input: unknown, ctx: ToolContext) => Promise<unknown> {
55
63
  const doFetch = options.fetch ?? fetch;
64
+ const maxResponseBytes = options.maxResponseBytes ?? DEFAULT_MAX_RESPONSE_BYTES;
65
+ if (!Number.isSafeInteger(maxResponseBytes) || maxResponseBytes < 1) {
66
+ throw new RangeError(
67
+ `http-tool "${toolId}": maxResponseBytes must be a positive whole number of bytes; got ${String(maxResponseBytes)}`,
68
+ );
69
+ }
56
70
  return async (input, ctx) => {
57
71
  const inputObj = coerceInputToObject(input, toolId);
58
72
  const { url, consumedKeys } = substituteUrl(spec.urlTemplate, inputObj, toolId);
@@ -99,42 +113,59 @@ function buildHttpHandler(
99
113
  }
100
114
  ctx.abortSignal.addEventListener('abort', upstreamAbort, { once: true });
101
115
 
102
- let response: Response;
116
+ // The deadline and the caller's signal stay on until the body is
117
+ // read: a server that answers fast and then trickles its body
118
+ // would otherwise hold the call open past both.
103
119
  try {
104
- response = await doFetch(url, {
120
+ const response = await doFetch(url, {
105
121
  method: spec.method,
106
122
  headers,
107
123
  ...(body !== undefined && { body }),
108
124
  signal: controller.signal,
109
125
  });
126
+ return await readResponse(response, spec, toolId, maxResponseBytes, controller.signal);
110
127
  } finally {
111
128
  clearTimeout(timeoutHandle);
112
129
  ctx.abortSignal.removeEventListener('abort', upstreamAbort);
113
130
  }
131
+ };
132
+ }
114
133
 
115
- const successMin = spec.successStatus?.min ?? 200;
116
- const successMax = spec.successStatus?.max ?? 299;
117
- if (response.status < successMin || response.status > successMax) {
118
- const text = await safeText(response);
119
- throw new Error(
120
- `http-tool "${toolId}" got status ${response.status} ${response.statusText || ''} — ${text.slice(0, 512)}`,
121
- );
122
- }
134
+ /** Steps 7 and 8: the status, then the body, read while `signal` holds. */
135
+ async function readResponse(
136
+ response: Response,
137
+ spec: HttpToolSpec,
138
+ toolId: string,
139
+ maxResponseBytes: number,
140
+ signal: AbortSignal,
141
+ ): Promise<unknown> {
142
+ const successMin = spec.successStatus?.min ?? 200;
143
+ const successMax = spec.successStatus?.max ?? 299;
144
+ if (response.status < successMin || response.status > successMax) {
145
+ const text = await safeText(response, signal);
146
+ throw new Error(
147
+ `http-tool "${toolId}" got status ${response.status} ${response.statusText || ''} — ${text.slice(0, 512)}`,
148
+ );
149
+ }
123
150
 
124
- const parseJson = spec.parseJson ?? true;
125
- if (!parseJson) {
126
- return await response.text();
127
- }
128
- const rawText = await response.text();
129
- if (rawText.length === 0) return null;
130
- try {
131
- return JSON.parse(rawText);
132
- } catch (cause) {
133
- throw new Error(
134
- `http-tool "${toolId}" response was not valid JSON: ${cause instanceof Error ? cause.message : String(cause)}`,
135
- );
136
- }
137
- };
151
+ const read = await readBodyText(response, maxResponseBytes, signal);
152
+ if (read.truncated) {
153
+ throw new Error(
154
+ `http-tool "${toolId}": the response body is longer than ${maxResponseBytes} bytes, the most this tool reads`,
155
+ );
156
+ }
157
+ const parseJson = spec.parseJson ?? true;
158
+ if (!parseJson) {
159
+ return read.text;
160
+ }
161
+ if (read.text.length === 0) return null;
162
+ try {
163
+ return JSON.parse(read.text);
164
+ } catch (cause) {
165
+ throw new Error(
166
+ `http-tool "${toolId}" response was not valid JSON: ${cause instanceof Error ? cause.message : String(cause)}`,
167
+ );
168
+ }
138
169
  }
139
170
 
140
171
  // Register at module load. Framework barrel imports this module
@@ -281,10 +312,61 @@ function buildBody(
281
312
  return { body: substituteTemplate(template, input), contentType: 'text/plain' };
282
313
  }
283
314
 
284
- async function safeText(response: Response): Promise<string> {
315
+ /**
316
+ * Reads a response body as UTF-8 text, as `response.text()` does, but
317
+ * at most `maxBytes` of it, and only while `signal` holds. Past
318
+ * `maxBytes` it cancels the body and returns what it read, marked
319
+ * truncated. When `signal` aborts it cancels the body and throws the
320
+ * signal's reason, whatever the `fetch` in use does with the signal.
321
+ */
322
+ async function readBodyText(
323
+ response: Response,
324
+ maxBytes: number,
325
+ signal: AbortSignal,
326
+ ): Promise<{ readonly text: string; readonly truncated: boolean }> {
327
+ if (response.body === null) {
328
+ if (signal.aborted) throw signal.reason;
329
+ return { text: '', truncated: false };
330
+ }
331
+ const reader = response.body.getReader();
332
+ const cancel = (): void => {
333
+ reader.cancel(signal.reason).catch(() => undefined);
334
+ };
335
+ signal.addEventListener('abort', cancel, { once: true });
336
+ if (signal.aborted) cancel();
337
+ const decoder = new TextDecoder();
338
+ let text = '';
339
+ let bytes = 0;
340
+ try {
341
+ for (;;) {
342
+ // A cancel ends a pending read as done, and some fetches error the
343
+ // body instead: either way, an aborted signal's reason is the error.
344
+ const chunk = await reader.read().catch((cause: unknown) => {
345
+ throw signal.aborted ? signal.reason : cause;
346
+ });
347
+ if (signal.aborted) throw signal.reason;
348
+ if (chunk.done) return { text: text + decoder.decode(), truncated: false };
349
+ const room = maxBytes - bytes;
350
+ if (chunk.value.byteLength > room) {
351
+ text += decoder.decode(chunk.value.subarray(0, room), { stream: true });
352
+ reader.cancel().catch(() => undefined);
353
+ return { text, truncated: true };
354
+ }
355
+ bytes += chunk.value.byteLength;
356
+ text += decoder.decode(chunk.value, { stream: true });
357
+ }
358
+ } finally {
359
+ signal.removeEventListener('abort', cancel);
360
+ }
361
+ }
362
+
363
+ /** A failed call's body for its error message; a body that can't be read says so. */
364
+ async function safeText(response: Response, signal: AbortSignal): Promise<string> {
285
365
  try {
286
- return await response.text();
287
- } catch {
366
+ return (await readBodyText(response, ERROR_BODY_BYTES, signal)).text;
367
+ } catch (cause) {
368
+ // Past the deadline or cancelled, the call fails as that.
369
+ if (signal.aborted) throw cause;
288
370
  return '<no body>';
289
371
  }
290
372
  }
package/src/invoke-env.ts CHANGED
@@ -18,7 +18,11 @@ import type { Result } from '@kindgi/types';
18
18
  import { ToolPreconditionError } from './precondition.js';
19
19
  import type { JsonSchema, Tool } from './types.js';
20
20
 
21
- /** Compiled env schemas, by schema object (a tool's are defined once and reused). */
21
+ /**
22
+ * Compiled env schemas, by schema object (a tool's are defined once and
23
+ * reused). Each keeps its schema's cache key, not its validator
24
+ * (`compileInlineSchema`), so the cache's bounds hold.
25
+ */
22
26
  const compiled = new WeakMap<object, CompiledInlineSchema>();
23
27
 
24
28
  /**
package/src/invoke.ts CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  import type { ValidateFunction } from 'ajv';
5
5
 
6
- import { compileJsonSchema, parseWithSchema } from '@kindgi/schema';
6
+ import { holdJsonSchema, parseWithSchema } from '@kindgi/schema';
7
7
  import type { CompileJsonSchemaOptions } from '@kindgi/schema';
8
8
  import type { Result } from '@kindgi/types';
9
9
 
@@ -17,17 +17,6 @@ import type {
17
17
  import { isToolPreconditionError } from './precondition.js';
18
18
  import type { JsonSchema, Tool, ToolContext } from './types.js';
19
19
 
20
- /**
21
- * Cache compiled validators keyed by the schema *object reference*. Tools
22
- * are defined once and reused, so schema identity is stable — the WeakMap
23
- * releases entries when the tool is dropped. A pack's tools' validators
24
- * and an MCP server's are cached apart (`schemaOptions`).
25
- */
26
- const caches = {
27
- input: { pack: new WeakMap<JsonSchema, ValidateFunction>(), mcp: new WeakMap() },
28
- output: { pack: new WeakMap<JsonSchema, ValidateFunction>(), mcp: new WeakMap() },
29
- } as const;
30
-
31
20
  const PACK_SCHEMAS: CompileJsonSchemaOptions = { dialects: ['2020-12'] };
32
21
  const MCP_SCHEMAS: CompileJsonSchemaOptions = { strict: false };
33
22
 
@@ -41,6 +30,16 @@ export function schemaOptions(tool: Pick<Tool, 'transport'>): CompileJsonSchemaO
41
30
  return tool.transport === 'mcp' ? MCP_SCHEMAS : PACK_SCHEMAS;
42
31
  }
43
32
 
33
+ /**
34
+ * Each schema's validator, held by schema object (a tool's are defined
35
+ * once and reused) and by what it's compiled for. A holder keeps a JSON
36
+ * schema's cache key, not its validator (`holdJsonSchema`), so the cache
37
+ * is all that keeps the validator: once the cache drops it, the next call
38
+ * compiles it again, a recompile the tenant's budget counts. A schema
39
+ * JSON can't carry is held as compiled, not compiled on every call.
40
+ */
41
+ const held = new WeakMap<object, Map<string, () => ValidateFunction>>();
42
+
44
43
  /**
45
44
  * A compiled validator. Input validators fill in each property's JSON
46
45
  * Schema `default` (`useDefaults`) — the data they check is a copy of the
@@ -51,15 +50,21 @@ function compile(
51
50
  side: 'input' | 'output',
52
51
  tool: Pick<Tool, 'transport'>,
53
52
  ): ValidateFunction {
54
- const cache = caches[side][tool.transport === 'mcp' ? 'mcp' : 'pack'];
55
- const cached = cache.get(schema);
56
- if (cached !== undefined) return cached;
57
- const validator = compileJsonSchema(schema as Readonly<Record<string, unknown>>, {
58
- ...schemaOptions(tool),
59
- ...(side === 'input' && { useDefaults: true }),
60
- });
61
- cache.set(schema, validator);
62
- return validator;
53
+ let holders = held.get(schema);
54
+ if (holders === undefined) {
55
+ holders = new Map();
56
+ held.set(schema, holders);
57
+ }
58
+ const purpose = `${side} ${tool.transport === 'mcp' ? 'mcp' : 'pack'}`;
59
+ let validator = holders.get(purpose);
60
+ if (validator === undefined) {
61
+ validator = holdJsonSchema(schema as Readonly<Record<string, unknown>>, {
62
+ ...schemaOptions(tool),
63
+ ...(side === 'input' && { useDefaults: true }),
64
+ });
65
+ holders.set(purpose, validator);
66
+ }
67
+ return validator();
63
68
  }
64
69
 
65
70
  /**
@@ -121,8 +126,8 @@ export interface InvokeToolOptions {
121
126
  * 3. Validate the return value against `tool.output` schema (unless the
122
127
  * caller opts out).
123
128
  *
124
- * Validation cost is amortised via a schema-object-keyed cache — the second
125
- * invocation of the same tool reuses the compiled Ajv validator.
129
+ * Each schema compiles once and is then taken from the schema cache (see
130
+ * `held`): a later call compiles it again only once the cache has dropped it.
126
131
  */
127
132
  export async function invokeTool<TInput = unknown, TOutput = unknown>(
128
133
  tool: Tool<TInput, TOutput>,
package/src/registry.ts CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  import semver from 'semver';
5
5
 
6
- import type { Result, TenantId, ToolId } from '@kindgi/types';
6
+ import type { OrgId, ProjectId, Result, TenantId, ToolId } from '@kindgi/types';
7
7
 
8
8
  import type {
9
9
  DuplicateToolVersionError,
@@ -79,6 +79,18 @@ export interface ToolRegistry {
79
79
  * turn's tools through the returned registry.
80
80
  */
81
81
  forTenant(tenantId: TenantId): Promise<ToolRegistry>;
82
+ /**
83
+ * The registry for one project of a tenant: only the tools a run in
84
+ * `projectId` may reach (the deployment's rule; the Kindgi runtime's:
85
+ * the project's own, and an MCP endpoint's scoped to it, its org or the
86
+ * tenant). Callers that resolve a run's tools use it when present, else
87
+ * `forTenant`. Absent: every tool of the tenant is reachable.
88
+ */
89
+ forProject?(input: {
90
+ readonly tenantId: TenantId;
91
+ readonly projectId: ProjectId;
92
+ readonly orgId?: OrgId;
93
+ }): Promise<ToolRegistry>;
82
94
  /**
83
95
  * Optional cache invalidation. Storage-backed implementations call
84
96
  * this from the write path (`POST /v1/tools`, unregister, reinstate)
@@ -26,6 +26,12 @@ export interface ToolSpecSynthesizerOptions {
26
26
  * server's own host). Absent: the global `fetch`.
27
27
  */
28
28
  readonly fetch?: typeof fetch;
29
+ /**
30
+ * The most bytes a synthesized handler reads of a response body,
31
+ * counted as `fetch` hands them over (after it decodes gzip or br).
32
+ * Past it the call fails, naming the cap. Absent: 10 MiB.
33
+ */
34
+ readonly maxResponseBytes?: number;
29
35
  }
30
36
 
31
37
  export type ToolSpecSynthesizer<TSpec extends ToolSpec = ToolSpec> = (
@@ -34,7 +34,7 @@ export function toolContextForTest(overrides: Partial<ToolContext> = {}): ToolCo
34
34
  * Test only: in a run, the runtime decides a pack tool's env itself, from its env store, and
35
35
  * calls `invokeTool`.
36
36
  *
37
- * ```ts
37
+ * ```ts excerpt
38
38
  * const result = await invokeToolForTest(findOrder, { orderId: 'ord_1001' }, {
39
39
  * env: { ORDERS_BASE_URL: 'https://orders.example.com' },
40
40
  * });
package/src/types.ts CHANGED
@@ -524,7 +524,8 @@ export interface HttpToolSpec {
524
524
  */
525
525
  readonly requestBody?: HttpRequestBodySpec;
526
526
  /**
527
- * Wall-clock timeout in milliseconds. Enforced via AbortController.
527
+ * Wall-clock timeout in milliseconds, for the whole call: the request
528
+ * and reading the response body. Enforced via AbortController.
528
529
  * Defaults to 30_000 (30s) when absent — matches typical vendor
529
530
  * SLOs.
530
531
  */