@clampd/sdk 0.15.1 → 0.16.1

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.
@@ -60,21 +60,37 @@ export interface ExtractedDescriptor {
60
60
  */
61
61
  export declare function extractToolDescriptor(value: unknown): ExtractedDescriptor | null;
62
62
  /**
63
- * Inspect a {@link ProxyResponse} and throw
64
- * {@link ClampdUnregisteredToolError} if the gateway denied the call
65
- * specifically because the tool descriptor is missing or unclassified.
63
+ * Inspect a {@link ProxyResponse} and throw a typed exception if the
64
+ * gateway denied the call for a descriptor-related reason.
66
65
  *
67
- * No-op for any other denial reason — the caller is expected to throw
68
- * its own {@link ClampdBlockedError} downstream.
66
+ * Three prefixes on `denial_reason` are handled:
69
67
  *
70
- * Detection is string-prefix on `denial_reason`:
68
+ * - `tool_not_registered:<name>` {@link ClampdUnregisteredToolError}
69
+ * (descriptor missing entirely)
70
+ * - `tool_not_classified:<name>` → {@link ClampdUnregisteredToolError}
71
+ * (descriptor exists but rejected classification at registration time)
72
+ * - `descriptor_hash_mismatch:<...>` → {@link ClampdDescriptorMismatchError}
73
+ * (descriptor exists but the hash sent doesn't match any approved
74
+ * version — rug-pull-detection signal)
71
75
  *
72
- * - `tool_not_registered:<name>` descriptor missing entirely
73
- * - `tool_not_classified:<name>` descriptor exists but rejected
74
- * classification at registration time
76
+ * For `descriptor_hash_mismatch`, the attempted hash is parsed from the
77
+ * reason text (`"with hash <hex>"`) and attached to the error.
78
+ *
79
+ * No-op for any other denial reason — the caller is expected to throw
80
+ * its own {@link ClampdBlockedError} downstream.
75
81
  *
76
82
  * Mirrors the prefix scheme used by the Python SDK's
77
- * `_raise_if_unregistered`.
83
+ * `_raise_for_descriptor_errors`.
84
+ */
85
+ export declare function raiseForDescriptorErrors(toolName: string, resp: ProxyResponse | undefined): void;
86
+ /**
87
+ * Backward-compat alias for {@link raiseForDescriptorErrors}.
88
+ *
89
+ * Originally only handled `tool_not_registered:` / `tool_not_classified:`
90
+ * prefixes. It now also throws {@link ClampdDescriptorMismatchError}
91
+ * on `descriptor_hash_mismatch:` — kept under the old name so existing
92
+ * call sites (interceptor, langchain, stream-guard, guardrails) keep
93
+ * working without a rename touching every wrapper.
78
94
  */
79
95
  export declare function raiseIfUnregistered(toolName: string, resp: ProxyResponse | undefined): void;
80
96
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"_frameworkAdapters.d.ts","sourceRoot":"","sources":["../src/_frameworkAdapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKjD;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AA0CD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAgDhF;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,aAAa,GAAG,SAAS,GAC9B,IAAI,CAUN;AAID;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,CAAC"}
1
+ {"version":3,"file":"_frameworkAdapters.d.ts","sourceRoot":"","sources":["../src/_frameworkAdapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQjD;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AA0CD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAgDhF;AAQD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,aAAa,GAAG,SAAS,GAC9B,IAAI,CAeN;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,aAAa,GAAG,SAAS,GAC9B,IAAI,CAEN;AAID;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,CAAC"}
@@ -24,7 +24,7 @@
24
24
  * typing so loading the SDK does not require LangChain / OpenAI /
25
25
  * Anthropic SDKs to be installed.
26
26
  */
27
- import { ClampdUnregisteredToolError } from "./errors.js";
27
+ import { ClampdDescriptorMismatchError, ClampdUnregisteredToolError, } from "./errors.js";
28
28
  import { createRequire } from "node:module";
29
29
  const _moduleRequire = createRequire(import.meta.url);
30
30
  /**
@@ -131,25 +131,34 @@ export function extractToolDescriptor(value) {
131
131
  }
132
132
  return null;
133
133
  }
134
- // ── Unregistered-tool detection ─────────────────────────────────────
134
+ // ── Descriptor-error detection ──────────────────────────────────────
135
+ /** Regex matching the `with hash <hex>` fragment the gateway embeds in
136
+ * `descriptor_hash_mismatch:` denial reasons. */
137
+ const DESCRIPTOR_HASH_RE = /with hash ([0-9a-fA-F]+)/;
135
138
  /**
136
- * Inspect a {@link ProxyResponse} and throw
137
- * {@link ClampdUnregisteredToolError} if the gateway denied the call
138
- * specifically because the tool descriptor is missing or unclassified.
139
+ * Inspect a {@link ProxyResponse} and throw a typed exception if the
140
+ * gateway denied the call for a descriptor-related reason.
139
141
  *
140
- * No-op for any other denial reason — the caller is expected to throw
141
- * its own {@link ClampdBlockedError} downstream.
142
+ * Three prefixes on `denial_reason` are handled:
143
+ *
144
+ * - `tool_not_registered:<name>` → {@link ClampdUnregisteredToolError}
145
+ * (descriptor missing entirely)
146
+ * - `tool_not_classified:<name>` → {@link ClampdUnregisteredToolError}
147
+ * (descriptor exists but rejected classification at registration time)
148
+ * - `descriptor_hash_mismatch:<...>` → {@link ClampdDescriptorMismatchError}
149
+ * (descriptor exists but the hash sent doesn't match any approved
150
+ * version — rug-pull-detection signal)
142
151
  *
143
- * Detection is string-prefix on `denial_reason`:
152
+ * For `descriptor_hash_mismatch`, the attempted hash is parsed from the
153
+ * reason text (`"with hash <hex>"`) and attached to the error.
144
154
  *
145
- * - `tool_not_registered:<name>`descriptor missing entirely
146
- * - `tool_not_classified:<name>` descriptor exists but rejected
147
- * classification at registration time
155
+ * No-op for any other denial reason the caller is expected to throw
156
+ * its own {@link ClampdBlockedError} downstream.
148
157
  *
149
158
  * Mirrors the prefix scheme used by the Python SDK's
150
- * `_raise_if_unregistered`.
159
+ * `_raise_for_descriptor_errors`.
151
160
  */
152
- export function raiseIfUnregistered(toolName, resp) {
161
+ export function raiseForDescriptorErrors(toolName, resp) {
153
162
  if (!resp || resp.allowed)
154
163
  return;
155
164
  const reason = resp.denial_reason;
@@ -159,6 +168,23 @@ export function raiseIfUnregistered(toolName, resp) {
159
168
  reason.startsWith("tool_not_classified:")) {
160
169
  throw new ClampdUnregisteredToolError(toolName);
161
170
  }
171
+ if (reason.startsWith("descriptor_hash_mismatch:")) {
172
+ const match = DESCRIPTOR_HASH_RE.exec(reason);
173
+ const attemptedHash = match ? match[1] : undefined;
174
+ throw new ClampdDescriptorMismatchError(toolName, { attemptedHash });
175
+ }
176
+ }
177
+ /**
178
+ * Backward-compat alias for {@link raiseForDescriptorErrors}.
179
+ *
180
+ * Originally only handled `tool_not_registered:` / `tool_not_classified:`
181
+ * prefixes. It now also throws {@link ClampdDescriptorMismatchError}
182
+ * on `descriptor_hash_mismatch:` — kept under the old name so existing
183
+ * call sites (interceptor, langchain, stream-guard, guardrails) keep
184
+ * working without a rename touching every wrapper.
185
+ */
186
+ export function raiseIfUnregistered(toolName, resp) {
187
+ raiseForDescriptorErrors(toolName, resp);
162
188
  }
163
189
  // ── Process-local descriptor cache ──────────────────────────────────
164
190
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"_frameworkAdapters.js","sourceRoot":"","sources":["../src/_frameworkAdapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_frameworkAdapters.js","sourceRoot":"","sources":["../src/_frameworkAdapters.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -79,7 +79,6 @@ export interface WrapOptions {
79
79
  * chunks are buffered and guarded before release. Default: true.
80
80
  * Set to false to explicitly disable (a warning will be logged). */
81
81
  guardStream?: boolean;
82
- schemaRegistry?: Record<string, string>;
83
82
  }
84
83
  /**
85
84
  * Get or create a ClampdClient for the given agentId.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,qHAAqH;AACrH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAMpD;AAID,eAAO,IAAI,aAAa,EAAE,YAAY,GAAG,IAAW,CAAC;AACrD,uFAAuF;AACvF,eAAO,MAAM,YAAY,2BAAkC,CAAC;AAC5D,4EAA4E;AAC5E,eAAO,MAAM,YAAY,qBAA4B,CAAC;AACtD,yDAAyD;AACzD,eAAO,IAAI,YAAY,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,CAAC;AAIvE,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;wEAEoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAID;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAyC1H;AAID,wBAAgB,IAAI,CAAC,IAAI,GAAE,WAAgB,GAAG,YAAY,CA6BzD;AAID;;;GAGG;AACH,wBAAgB,MAAM,IAAI,IAAI,CAK7B"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,qHAAqH;AACrH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAMpD;AAID,eAAO,IAAI,aAAa,EAAE,YAAY,GAAG,IAAW,CAAC;AACrD,uFAAuF;AACvF,eAAO,MAAM,YAAY,2BAAkC,CAAC;AAC5D,4EAA4E;AAC5E,eAAO,MAAM,YAAY,qBAA4B,CAAC;AACtD,yDAAyD;AACzD,eAAO,IAAI,YAAY,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,CAAC;AAIvE,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;wEAEoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAID;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAyC1H;AAID,wBAAgB,IAAI,CAAC,IAAI,GAAE,WAAgB,GAAG,YAAY,CA6BzD;AAID;;;GAGG;AACH,wBAAgB,MAAM,IAAI,IAAI,CAK7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,oEAAoE;AAEpE,qHAAqH;AACrH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClE,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAA8B,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,eAAe,CAAE,GAA+B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC5H,CAAC;AAED,qEAAqE;AAErE,MAAM,CAAC,IAAI,aAAa,GAAwB,IAAI,CAAC;AACrD,uFAAuF;AACvF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAwB,CAAC;AAC5D,4EAA4E;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;AACtD,yDAAyD;AACzD,MAAM,CAAC,IAAI,YAAY,GAA6C,EAAE,CAAC;AAuEvE,oEAAoE;AAEpE;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,IAAkF;IAC1G,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;IAEnE,+CAA+C;IAC/C,IAAI,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,OAAO,YAAY,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;IACpC,CAAC;IAED,uDAAuD;IACvD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,iBAAiB,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC;QACxE,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEhE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;gBAC9B,OAAO;gBACP,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,YAAY,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB;gBACzF,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,YAAY,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;gBACzE,MAAM;aACP,CAAC,CAAC;YACH,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAClC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4DAA4D;YAC5D,mEAAmE,CACpE,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,YAAY,CAAC;QACtB,OAAO;QACP,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAC9D,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAClD,MAAM,EAAE,IAAI,EAAE,MAAM;KACrB,CAAC,CAAC;AACL,CAAC;AAED,qEAAqE;AAErE,MAAM,UAAU,IAAI,CAAC,OAAoB,EAAE;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;IAClE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,uBAAuB,CAAC;IAChG,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAE9D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IAED,YAAY,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAEtC,6BAA6B;IAC7B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,IAAI,GAAG;gBAAE,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,aAAa,GAAG,IAAI,YAAY,CAAC;QAC/B,OAAO;QACP,UAAU;QACV,MAAM;QACN,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM;KAC5C,CAAC,CAAC;IACH,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACzC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,sEAAsE;AAEtE;;;GAGG;AACH,MAAM,UAAU,MAAM;IACpB,aAAa,GAAG,IAAI,CAAC;IACrB,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,YAAY,GAAG,EAAE,CAAC;AACpB,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -49,4 +49,31 @@ export declare class ClampdUnregisteredToolError extends Error {
49
49
  hint?: string;
50
50
  });
51
51
  }
52
+ /**
53
+ * Thrown when a tool call is denied because the descriptor hash sent to
54
+ * the gateway doesn't match any approved hash for that tool name.
55
+ *
56
+ * Distinct from {@link ClampdUnregisteredToolError} (the tool is unknown
57
+ * entirely) and from {@link import("./interceptor.js").ClampdBlockedError}
58
+ * (a policy / risk / scope decision against an *approved* descriptor):
59
+ * this error means the descriptor exists, but its current hash isn't on
60
+ * the approved list — most often the tool's name / description /
61
+ * parameter schema changed since the dashboard approved it (rug-pull
62
+ * detection) and the new version needs to be approved.
63
+ *
64
+ * The SDK raises this when the gateway returns a `denial_reason`
65
+ * starting with `"descriptor_hash_mismatch:"`. The optional
66
+ * `attemptedHash` field is parsed from the reason text when present
67
+ * (gateway includes it as `"... with hash <hex> ..."`). Mirrors
68
+ * `clampd._errors.ClampdDescriptorMismatchError` in the Python SDK.
69
+ */
70
+ export declare class ClampdDescriptorMismatchError extends Error {
71
+ readonly toolName: string;
72
+ readonly attemptedHash: string | undefined;
73
+ readonly hint: string;
74
+ constructor(toolName: string, opts?: {
75
+ attemptedHash?: string;
76
+ hint?: string;
77
+ });
78
+ }
52
79
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;;GAWG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAYrE;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;CASvD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;;GAWG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAYrE;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;CASvD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAG3B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;CAuBnD"}
package/dist/errors.js CHANGED
@@ -63,4 +63,49 @@ export class ClampdUnregisteredToolError extends Error {
63
63
  this.hint = hint;
64
64
  }
65
65
  }
66
+ /**
67
+ * Thrown when a tool call is denied because the descriptor hash sent to
68
+ * the gateway doesn't match any approved hash for that tool name.
69
+ *
70
+ * Distinct from {@link ClampdUnregisteredToolError} (the tool is unknown
71
+ * entirely) and from {@link import("./interceptor.js").ClampdBlockedError}
72
+ * (a policy / risk / scope decision against an *approved* descriptor):
73
+ * this error means the descriptor exists, but its current hash isn't on
74
+ * the approved list — most often the tool's name / description /
75
+ * parameter schema changed since the dashboard approved it (rug-pull
76
+ * detection) and the new version needs to be approved.
77
+ *
78
+ * The SDK raises this when the gateway returns a `denial_reason`
79
+ * starting with `"descriptor_hash_mismatch:"`. The optional
80
+ * `attemptedHash` field is parsed from the reason text when present
81
+ * (gateway includes it as `"... with hash <hex> ..."`). Mirrors
82
+ * `clampd._errors.ClampdDescriptorMismatchError` in the Python SDK.
83
+ */
84
+ export class ClampdDescriptorMismatchError extends Error {
85
+ toolName;
86
+ attemptedHash;
87
+ hint;
88
+ constructor(toolName, opts) {
89
+ let hint;
90
+ if (opts?.hint !== undefined) {
91
+ hint = opts.hint;
92
+ }
93
+ else if (opts?.attemptedHash) {
94
+ hint =
95
+ `Approve hash ${opts.attemptedHash.slice(0, 16)}... in the ` +
96
+ `dashboard for tool '${toolName}'.`;
97
+ }
98
+ else {
99
+ hint =
100
+ `Approve the new descriptor hash for tool '${toolName}' ` +
101
+ `in the dashboard.`;
102
+ }
103
+ super(`Tool '${toolName}' descriptor hash does not match any approved ` +
104
+ `version. ${hint}`);
105
+ this.name = "ClampdDescriptorMismatchError";
106
+ this.toolName = toolName;
107
+ this.attemptedHash = opts?.attemptedHash;
108
+ this.hint = hint;
109
+ }
110
+ }
66
111
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClC,QAAQ,CAAS;IACjB,WAAW,CAAS;IACpB,SAAS,CAAS;IAElC,YAAY,QAAgB,EAAE,WAAmB,EAAE,SAAiB;QAClE,KAAK,CACH,6CAA6C,QAAQ,oBAAoB,WAAW,kBAAkB,SAAS,MAAM;YACnH,kCAAkC;YAClC,yEAAyE;YACzE,yFAAyF,CAC5F,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpC,QAAQ,CAAS;IACjB,IAAI,CAAS;IAE7B,YAAY,QAAgB,EAAE,IAAwB;QACpD,MAAM,IAAI,GACR,IAAI,EAAE,IAAI;YACV,6BAA6B,QAAQ,+DAA+D,CAAC;QACvG,KAAK,CAAC,SAAS,QAAQ,oCAAoC,IAAI,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClC,QAAQ,CAAS;IACjB,WAAW,CAAS;IACpB,SAAS,CAAS;IAElC,YAAY,QAAgB,EAAE,WAAmB,EAAE,SAAiB;QAClE,KAAK,CACH,6CAA6C,QAAQ,oBAAoB,WAAW,kBAAkB,SAAS,MAAM;YACnH,kCAAkC;YAClC,yEAAyE;YACzE,yFAAyF,CAC5F,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpC,QAAQ,CAAS;IACjB,IAAI,CAAS;IAE7B,YAAY,QAAgB,EAAE,IAAwB;QACpD,MAAM,IAAI,GACR,IAAI,EAAE,IAAI;YACV,6BAA6B,QAAQ,+DAA+D,CAAC;QACvG,KAAK,CAAC,SAAS,QAAQ,oCAAoC,IAAI,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACtC,QAAQ,CAAS;IACjB,aAAa,CAAqB;IAClC,IAAI,CAAS;IAE7B,YACE,QAAgB,EAChB,IAAgD;QAEhD,IAAI,IAAY,CAAC;QACjB,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,IAAI,EAAE,aAAa,EAAE,CAAC;YAC/B,IAAI;gBACF,gBAAgB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa;oBAC5D,uBAAuB,QAAQ,IAAI,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI;gBACF,6CAA6C,QAAQ,IAAI;oBACzD,mBAAmB,CAAC;QACxB,CAAC;QACD,KAAK,CACH,SAAS,QAAQ,gDAAgD;YAC/D,YAAY,IAAI,EAAE,CACrB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,aAAa,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -43,6 +43,16 @@ export declare function extractOpenAIToolNames(params: Record<string, unknown> |
43
43
  * Returns `undefined` when no tool names can be extracted (no tools or empty array).
44
44
  */
45
45
  export declare function extractAnthropicToolNames(params: Record<string, unknown> | undefined): string[] | undefined;
46
+ /**
47
+ * Concatenate user/tool/function content from OpenAI-format messages.
48
+ * Returns "" when nothing scannable is present.
49
+ */
50
+ export declare function extractPromptTextOpenAI(messages: Array<Record<string, unknown>>): string;
51
+ /**
52
+ * Concatenate user/tool content from Anthropic-format messages.
53
+ * Handles both string content and list-of-content-blocks shapes.
54
+ */
55
+ export declare function extractPromptTextAnthropic(messages: Array<Record<string, unknown>>): string;
46
56
  /**
47
57
  * Extract user/tool/function messages from OpenAI format and scan for prompt injection.
48
58
  */
@@ -59,5 +69,5 @@ export declare function scanOutputContent(client: ClampdClient, content: string,
59
69
  /**
60
70
  * Guard a single tool call through the proxy with delegation context.
61
71
  */
62
- export declare function guardToolCallWithDelegation(client: ClampdClient, agentId: string, toolName: string, toolArgs: Record<string, unknown>, targetUrl: string, failOpen: boolean, authorizedTools?: string[]): Promise<void>;
72
+ export declare function guardToolCallWithDelegation(client: ClampdClient, agentId: string, toolName: string, toolArgs: Record<string, unknown>, targetUrl: string, failOpen: boolean, authorizedTools?: string[], promptContext?: string): Promise<void>;
63
73
  //# sourceMappingURL=guardrails.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../src/guardrails.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AAQ9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAI/D;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,OAAO,EACrB,SAAS,GAAE,MAAW,EACtB,QAAQ,GAAE,OAAe,EACzB,UAAU,GAAE,MAAW,GACtB,OAAO,CAAC,IAAI,CAAC,CAcf;AAID;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAarF;AAID;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAOxG;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAO3G;AAID;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAoCf;AAID;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAoBf;AAID;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EACjB,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
1
+ {"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../src/guardrails.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AAQ9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAI/D;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,OAAO,EACrB,SAAS,GAAE,MAAW,EACtB,QAAQ,GAAE,OAAe,EACzB,UAAU,GAAE,MAAW,GACtB,OAAO,CAAC,IAAI,CAAC,CAcf;AAID;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAarF;AAID;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAOxG;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAO3G;AAUD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACvC,MAAM,CAMR;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACvC,MAAM,CAeR;AAID;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAuBf;AAID;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAoBf;AAID;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EACjB,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
@@ -97,16 +97,51 @@ export function extractAnthropicToolNames(params) {
97
97
  .filter((n) => !!n);
98
98
  return names.length > 0 ? names : undefined;
99
99
  }
100
- // ── Input scanning helpers ──────────────────────────────────────
100
+ // ── Prompt-context extraction ───────────────────────────────────
101
+ //
102
+ // Pure helpers used by both the scan_input pipeline (sent to /v1/scan-input
103
+ // once per LLM invocation) AND the openai/anthropic wrappers (sent as
104
+ // `prompt_context` on every subsequent client.proxy() call so the
105
+ // gateway's prompt-scoped rules — R013/R014/R015/R031/R032/R038 — fire
106
+ // on tool-call traffic, not just standalone scan_input calls).
101
107
  /**
102
- * Extract user/tool/function messages from OpenAI format and scan for prompt injection.
108
+ * Concatenate user/tool/function content from OpenAI-format messages.
109
+ * Returns "" when nothing scannable is present.
103
110
  */
104
- export async function scanInputOpenAI(client, messages, failOpen) {
105
- const userMessages = messages
111
+ export function extractPromptTextOpenAI(messages) {
112
+ return messages
106
113
  .filter((m) => m.role === "user" || m.role === "tool" || m.role === "function")
107
114
  .map((m) => typeof m.content === "string" ? m.content : JSON.stringify(m.content))
108
115
  .filter(Boolean)
109
116
  .join("\n");
117
+ }
118
+ /**
119
+ * Concatenate user/tool content from Anthropic-format messages.
120
+ * Handles both string content and list-of-content-blocks shapes.
121
+ */
122
+ export function extractPromptTextAnthropic(messages) {
123
+ return messages
124
+ .filter((m) => m.role === "user" || m.role === "tool" || m.role === "function")
125
+ .map((m) => {
126
+ if (typeof m.content === "string")
127
+ return m.content;
128
+ if (Array.isArray(m.content)) {
129
+ return m.content
130
+ .filter((b) => b.type === "text")
131
+ .map((b) => b.text)
132
+ .join("\n");
133
+ }
134
+ return JSON.stringify(m.content);
135
+ })
136
+ .filter(Boolean)
137
+ .join("\n");
138
+ }
139
+ // ── Input scanning helpers ──────────────────────────────────────
140
+ /**
141
+ * Extract user/tool/function messages from OpenAI format and scan for prompt injection.
142
+ */
143
+ export async function scanInputOpenAI(client, messages, failOpen) {
144
+ const userMessages = extractPromptTextOpenAI(messages);
110
145
  if (!userMessages.trim())
111
146
  return;
112
147
  try {
@@ -140,21 +175,7 @@ export async function scanInputOpenAI(client, messages, failOpen) {
140
175
  * Handles both string and array (content blocks) format.
141
176
  */
142
177
  export async function scanInputAnthropic(client, messages, failOpen) {
143
- const userMessages = messages
144
- .filter((m) => m.role === "user" || m.role === "tool" || m.role === "function")
145
- .map((m) => {
146
- if (typeof m.content === "string")
147
- return m.content;
148
- if (Array.isArray(m.content)) {
149
- return m.content
150
- .filter((b) => b.type === "text")
151
- .map((b) => b.text)
152
- .join("\n");
153
- }
154
- return JSON.stringify(m.content);
155
- })
156
- .filter(Boolean)
157
- .join("\n");
178
+ const userMessages = extractPromptTextAnthropic(messages);
158
179
  if (!userMessages.trim())
159
180
  return;
160
181
  try {
@@ -212,7 +233,7 @@ export async function scanOutputContent(client, content, failOpen) {
212
233
  /**
213
234
  * Guard a single tool call through the proxy with delegation context.
214
235
  */
215
- export async function guardToolCallWithDelegation(client, agentId, toolName, toolArgs, targetUrl, failOpen, authorizedTools) {
236
+ export async function guardToolCallWithDelegation(client, agentId, toolName, toolArgs, targetUrl, failOpen, authorizedTools, promptContext) {
216
237
  await withDelegation(agentId, async () => {
217
238
  const delegation = getDelegation();
218
239
  const proxyParams = { ...toolArgs };
@@ -229,7 +250,7 @@ export async function guardToolCallWithDelegation(client, agentId, toolName, too
229
250
  // the parameter schema, so an on-the-fly hash would miss the
230
251
  // registered one and trip rug-pull detection.
231
252
  const registeredHash = _registeredDescriptors.get(toolName);
232
- const res = await client.proxy(toolName, proxyParams, targetUrl, undefined, registeredHash, authorizedTools);
253
+ const res = await client.proxy(toolName, proxyParams, targetUrl, promptContext, registeredHash, authorizedTools);
233
254
  raiseIfUnregistered(toolName, res);
234
255
  if (res.allowed && res.scope_token) {
235
256
  setScopeToken(res.scope_token);
@@ -1 +1 @@
1
- {"version":3,"file":"guardrails.js","sourceRoot":"","sources":["../src/guardrails.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guardrails.js","sourceRoot":"","sources":["../src/guardrails.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -33,7 +33,7 @@ export { makeAgentJwt } from "./auth.js";
33
33
  export type { ProxyResponse, ScanResponse, ScanOutputResponse } from "./client.js";
34
34
  export { registerTool, type RegisterToolOptions, type RegisterToolClassificationOptions, type RegisterToolClassificationOnly, } from "./register.js";
35
35
  export { TAXONOMY, validateClassification, computeScope, type ToolClassification, type CategorySpec, type SubcategorySpec, } from "./taxonomy.js";
36
- export { ClampdClassificationError, ClampdUnregisteredToolError } from "./errors.js";
36
+ export { ClampdClassificationError, ClampdUnregisteredToolError, ClampdDescriptorMismatchError } from "./errors.js";
37
37
  export { contractHash, type ToolContract } from "./contract-hash.js";
38
38
  declare function guard<TArgs extends unknown[], TReturn>(fn: (...args: TArgs) => Promise<TReturn>, opts: GuardOptions): (...args: TArgs) => Promise<TReturn>;
39
39
  declare function tools(toolDefs: OpenAITool[], opts: WrapOptions): OpenAITool[];
@@ -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
@@ -18,16 +18,15 @@
18
18
  * const safeTools = clampd.tools(myTools, { agentId: "my-agent" });
19
19
  * ```
20
20
  */
21
- import { createHash } from "node:crypto";
22
21
  import { ClampdBlockedError } from "./interceptor.js";
23
- import { ClampdUnregisteredToolError } from "./errors.js";
22
+ import { ClampdDescriptorMismatchError, ClampdUnregisteredToolError } from "./errors.js";
24
23
  import { withDelegation, getDelegation, delegationHeaders } from "./delegation.js";
25
24
  import { scanForSchemaInjection } from "./schema-injection.js";
26
25
  import { guardOpenAIStream, guardAnthropicStream } from "./stream-guard.js";
27
26
  import { setScopeToken, withScopeToken } from "./tool-verify.js";
28
- import { getClient, init, _reset, sortedStringify } from "./config.js";
27
+ import { getClient, init, _reset } from "./config.js";
29
28
  import { contractHash } from "./contract-hash.js";
30
- import { inspectResponse, schemaInjectionPreScan, extractOpenAIToolNames, extractAnthropicToolNames, scanInputOpenAI, scanInputAnthropic, scanOutputContent, guardToolCallWithDelegation } from "./guardrails.js";
29
+ import { inspectResponse, schemaInjectionPreScan, extractOpenAIToolNames, extractAnthropicToolNames, extractPromptTextOpenAI, extractPromptTextAnthropic, scanInputOpenAI, scanInputAnthropic, scanOutputContent, guardToolCallWithDelegation } from "./guardrails.js";
31
30
  import { registerTool as _registerTool } from "./register.js";
32
31
  import { raiseIfUnregistered, _registeredDescriptors } from "./_frameworkAdapters.js";
33
32
  // ── Public API ──────────────────────────────────────────────────────
@@ -43,7 +42,7 @@ export { makeAgentJwt } from "./auth.js";
43
42
  // ── Explicit tool registration ──────────────────────────────────────
44
43
  export { registerTool, } from "./register.js";
45
44
  export { TAXONOMY, validateClassification, computeScope, } from "./taxonomy.js";
46
- export { ClampdClassificationError, ClampdUnregisteredToolError } from "./errors.js";
45
+ export { ClampdClassificationError, ClampdUnregisteredToolError, ClampdDescriptorMismatchError } from "./errors.js";
47
46
  export { contractHash } from "./contract-hash.js";
48
47
  /** Recursively freeze an object and all nested objects/arrays. */
49
48
  function deepFreeze(obj) {
@@ -111,11 +110,13 @@ function guard(fn, opts) {
111
110
  catch (e) {
112
111
  if (e instanceof ClampdBlockedError)
113
112
  throw e;
114
- // Re-throw the typed unregistered error untouched — it carries
115
- // the actionable hint and must not be reshaped into a generic
116
- // ClampdBlockedError.
113
+ // Re-throw the typed unregistered / descriptor-mismatch errors
114
+ // untouched — they carry actionable hints and must not be
115
+ // reshaped into a generic ClampdBlockedError.
117
116
  if (e instanceof ClampdUnregisteredToolError)
118
117
  throw e;
118
+ if (e instanceof ClampdDescriptorMismatchError)
119
+ throw e;
119
120
  if (!failOpen)
120
121
  throw new ClampdBlockedError({
121
122
  request_id: "error", allowed: false, risk_score: 1.0,
@@ -181,6 +182,8 @@ function tools(toolDefs, opts) {
181
182
  throw e;
182
183
  if (e instanceof ClampdUnregisteredToolError)
183
184
  throw e;
185
+ if (e instanceof ClampdDescriptorMismatchError)
186
+ throw e;
184
187
  if (!failOpen)
185
188
  throw new ClampdBlockedError({
186
189
  request_id: "error", allowed: false, risk_score: 1.0,
@@ -207,6 +210,13 @@ function openai(client, opts) {
207
210
  const guardedCreate = async (...args) => {
208
211
  const params = args[0];
209
212
  const _authorizedTools = extractOpenAIToolNames(params);
213
+ // Capture the prompt context once so subsequent client.proxy() calls
214
+ // can forward it. Lets the gateway's prompt-scoped rules (R013/R014/
215
+ // R015/R031/R032/R038) fire on tool-call traffic, not just standalone
216
+ // /v1/scan-input.
217
+ const _promptContext = params?.messages
218
+ ? (extractPromptTextOpenAI(params.messages) || undefined)
219
+ : undefined;
210
220
  // ── STREAMING ──
211
221
  // Scan input, then wrap the stream to intercept tool calls as they complete.
212
222
  if (params?.stream) {
@@ -228,6 +238,7 @@ function openai(client, opts) {
228
238
  targetUrl,
229
239
  failOpen,
230
240
  authorizedTools: _authorizedTools,
241
+ promptContext: _promptContext,
231
242
  });
232
243
  }
233
244
  else {
@@ -259,28 +270,6 @@ function openai(client, opts) {
259
270
  return response;
260
271
  }
261
272
  for (const tc of choice.message.tool_calls) {
262
- // Schema registry hash verification
263
- if (opts.schemaRegistry && tc.function.name in opts.schemaRegistry) {
264
- const toolDef = params?.tools
265
- ?.find((t) => t.function?.name === tc.function.name);
266
- if (toolDef) {
267
- const fn = toolDef.function;
268
- const hashInput = `${fn.name ?? ""}|${fn.description ?? ""}|${sortedStringify(fn.parameters ?? {})}`;
269
- const currentHash = createHash("sha256").update(hashInput).digest("hex");
270
- const expected = opts.schemaRegistry[tc.function.name].replace(/^sha256:/, "");
271
- if (currentHash !== expected) {
272
- throw new ClampdBlockedError({
273
- request_id: "descriptor-mismatch",
274
- allowed: false,
275
- risk_score: 0.95,
276
- denial_reason: `Tool descriptor hash mismatch for ${tc.function.name}: expected ${expected}, got ${currentHash}`,
277
- latency_ms: 0,
278
- degraded_stages: [],
279
- session_flags: [],
280
- });
281
- }
282
- }
283
- }
284
273
  let toolArgs;
285
274
  try {
286
275
  toolArgs = typeof tc.function.arguments === "string"
@@ -290,7 +279,7 @@ function openai(client, opts) {
290
279
  catch {
291
280
  toolArgs = { raw: tc.function.arguments };
292
281
  }
293
- await guardToolCallWithDelegation(clampdClient, opts.agentId ?? "", tc.function.name, toolArgs, targetUrl, failOpen, _authorizedTools);
282
+ await guardToolCallWithDelegation(clampdClient, opts.agentId ?? "", tc.function.name, toolArgs, targetUrl, failOpen, _authorizedTools, _promptContext);
294
283
  }
295
284
  return response;
296
285
  };
@@ -325,6 +314,11 @@ function anthropic(client, opts) {
325
314
  const guardedCreate = async (...args) => {
326
315
  const params = args[0];
327
316
  const _authorizedTools = extractAnthropicToolNames(params);
317
+ // See clampd.openai() comment — captures prompt context once so
318
+ // every subsequent client.proxy() call carries it.
319
+ const _promptContext = params?.messages
320
+ ? (extractPromptTextAnthropic(params.messages) || undefined)
321
+ : undefined;
328
322
  // ── STREAMING ──
329
323
  // Scan input, then wrap the stream to intercept tool_use blocks as they complete.
330
324
  if (params?.stream) {
@@ -345,6 +339,7 @@ function anthropic(client, opts) {
345
339
  targetUrl,
346
340
  failOpen,
347
341
  authorizedTools: _authorizedTools,
342
+ promptContext: _promptContext,
348
343
  });
349
344
  }
350
345
  else {
@@ -381,7 +376,7 @@ function anthropic(client, opts) {
381
376
  if (block.type !== "tool_use")
382
377
  continue;
383
378
  const toolArgs = typeof block.input === "object" ? block.input : {};
384
- await guardToolCallWithDelegation(clampdClient, opts.agentId ?? "", block.name ?? "unknown", toolArgs, targetUrl, failOpen, _authorizedTools);
379
+ await guardToolCallWithDelegation(clampdClient, opts.agentId ?? "", block.name ?? "unknown", toolArgs, targetUrl, failOpen, _authorizedTools, _promptContext);
385
380
  }
386
381
  return response;
387
382
  };
@@ -435,11 +430,14 @@ function adk(opts) {
435
430
  }
436
431
  catch (e) {
437
432
  // ADK callbacks can't propagate exceptions cleanly through the
438
- // model loop — surface the unregistered hint as the error
439
- // string so the agent author sees the actionable fix.
433
+ // model loop — surface the unregistered / mismatch hint as the
434
+ // error string so the agent author sees the actionable fix.
440
435
  if (e instanceof ClampdUnregisteredToolError) {
441
436
  return { error: e.message };
442
437
  }
438
+ if (e instanceof ClampdDescriptorMismatchError) {
439
+ return { error: e.message };
440
+ }
443
441
  if (e instanceof ClampdBlockedError) {
444
442
  return { error: e.response.denial_reason || "Blocked by Clampd gateway" };
445
443
  }
@@ -511,6 +509,8 @@ function vercelAI(toolDefs, opts) {
511
509
  throw e;
512
510
  if (e instanceof ClampdUnregisteredToolError)
513
511
  throw e;
512
+ if (e instanceof ClampdDescriptorMismatchError)
513
+ throw e;
514
514
  if (!failOpen)
515
515
  throw new ClampdBlockedError({
516
516
  request_id: "error", allowed: false, risk_score: 1.0,
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":"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"}
@@ -57,29 +57,19 @@ export interface RegisterToolOptions {
57
57
  * `guard()` for runtime rug-pull detection to be clean.
58
58
  */
59
59
  paramSchema?: object;
60
- /**
61
- * Organisation id the descriptor belongs to. Falls back to the
62
- * `CLAMPD_ORG_ID` env var if unset. Required by the backend route
63
- * `/v1/orgs/{orgId}/tool-descriptors/register`.
64
- */
65
- orgId?: string;
66
- /**
67
- * Dashboard API base URL. Falls back to `CLAMPD_DASHBOARD_URL`, then
68
- * the gateway URL registered via `init()`, then
69
- * `http://localhost:3000`.
70
- */
71
- dashboardUrl?: string;
72
- /** API key for dashboard auth. Falls back to `CLAMPD_API_KEY`. */
60
+ /** API key for gateway auth. Falls back to `CLAMPD_API_KEY`. */
73
61
  apiKey?: string;
74
62
  }
75
63
  /**
76
64
  * Common backend-routing fields shared by the new overload shapes.
77
65
  * Mirrors the routing fields on {@link RegisterToolOptions} so the
78
66
  * three forms accept the same env-fallback semantics.
67
+ *
68
+ * Since v0.16 the SDK only contacts the gateway. The gateway resolves
69
+ * the org from the `X-AG-Key` header — no `orgId` or `dashboardUrl`
70
+ * needed.
79
71
  */
80
72
  interface RegisterToolRouting {
81
- orgId?: string;
82
- dashboardUrl?: string;
83
73
  apiKey?: string;
84
74
  }
85
75
  /**
@@ -110,15 +100,17 @@ export type RegisterToolClassificationOnly = ToolClassification & RegisterToolRo
110
100
  * already enforces it — callers who bypass `ToolClassification` via
111
101
  * `as any` will get a `ClampdClassificationError`.
112
102
  * 2. POSTs `{ name, category, subcategory, operation, description,
113
- * source: "sdk" }` to
114
- * `/v1/orgs/{orgId}/tool-descriptors/register` on the dashboard
115
- * API.
103
+ * param_schema }` to `/v1/register` on the gateway. The gateway
104
+ * resolves the org from the `X-AG-Key` header, validates the
105
+ * taxonomy triple, publishes a ShadowEvent that ag-control mirrors
106
+ * to the `tool_descriptors` table.
116
107
  * 3. Records the resulting `(toolName, descriptorHash)` pair in a
117
108
  * process-local map so framework callbacks can look up the
118
109
  * authoritative hash later, instead of recomputing one from
119
110
  * partial information.
120
111
  * 4. Never throws on network failure — logs a warning and returns.
121
- * App startup must not be blocked by a dashboard outage.
112
+ * App startup must not be blocked by a gateway outage; tools will
113
+ * still be auto-captured on first runtime call.
122
114
  */
123
115
  export declare function registerTool(opts: RegisterToolOptions): Promise<void>;
124
116
  export declare function registerTool(name: string, opts: RegisterToolClassificationOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAWvB;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,cAAc,EAAE,kBAAkB,CAAC;IACnC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,iCAAiC,GAAG,kBAAkB,GAChE,mBAAmB,GAAG;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEJ;;;;;GAKG;AACH,MAAM,MAAM,8BAA8B,GAAG,kBAAkB,GAC7D,mBAAmB,CAAC;AAItB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7E,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iCAAiC,GACtC,OAAO,CAAC,IAAI,CAAC,CAAC;AACjB,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,8BAA8B,GACnC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAWvB;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,cAAc,EAAE,kBAAkB,CAAC;IACnC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,UAAU,mBAAmB;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,iCAAiC,GAAG,kBAAkB,GAChE,mBAAmB,GAAG;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEJ;;;;;GAKG;AACH,MAAM,MAAM,8BAA8B,GAAG,kBAAkB,GAC7D,mBAAmB,CAAC;AAItB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7E,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iCAAiC,GACtC,OAAO,CAAC,IAAI,CAAC,CAAC;AACjB,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,8BAA8B,GACnC,OAAO,CAAC,IAAI,CAAC,CAAC"}
package/dist/register.js CHANGED
@@ -34,7 +34,7 @@
34
34
  * / `paramSchema` override — the tool object is the source of truth,
35
35
  * mixing the two is almost always a mistake.
36
36
  */
37
- import { computeScope, validateClassification, } from "./taxonomy.js";
37
+ import { validateClassification, } from "./taxonomy.js";
38
38
  import { ClampdClassificationError } from "./errors.js";
39
39
  import { sharedConfig } from "./config.js";
40
40
  import { contractHash } from "./contract-hash.js";
@@ -61,16 +61,21 @@ export async function registerTool(arg1, arg2) {
61
61
  parameters: paramSchema,
62
62
  });
63
63
  _registeredDescriptors.set(name, descriptorHash);
64
- const orgId = opts.orgId ?? process.env.CLAMPD_ORG_ID ?? "";
65
- if (!orgId) {
66
- console.warn("[clampd] registerTool: no orgId provided (and CLAMPD_ORG_ID is unset); skipping backend registration.");
64
+ // ── POST to gateway /v1/register ─────────────────────────────────────
65
+ //
66
+ // The SDK only ever talks to the gateway. The gateway publishes a
67
+ // ShadowEvent that ag-control consumes and upserts into Postgres; the
68
+ // dashboard reads that table for display. CLAMPD_DASHBOARD_URL /
69
+ // CLAMPD_ORG_ID are no longer used by registerTool — the gateway
70
+ // resolves the org from the X-AG-Key.
71
+ const apiKey = opts.apiKey ?? process.env.CLAMPD_API_KEY ?? "";
72
+ if (!apiKey) {
73
+ console.warn("[clampd] registerTool: no apiKey provided (and CLAMPD_API_KEY is unset); skipping backend registration.");
67
74
  return;
68
75
  }
69
- const dashboardUrl = (opts.dashboardUrl ??
70
- process.env.CLAMPD_DASHBOARD_URL ??
71
- sharedConfig.gatewayUrl ??
72
- "http://localhost:3000").replace(/\/$/, "");
73
- const apiKey = opts.apiKey ?? process.env.CLAMPD_API_KEY ?? "";
76
+ const gatewayUrl = (sharedConfig.gatewayUrl ??
77
+ process.env.CLAMPD_GATEWAY_URL ??
78
+ "http://localhost:8080").replace(/\/$/, "");
74
79
  const body = {
75
80
  name,
76
81
  category: classification.category,
@@ -78,11 +83,8 @@ export async function registerTool(arg1, arg2) {
78
83
  operation: classification.operation,
79
84
  description,
80
85
  param_schema: paramSchema,
81
- descriptor_hash: descriptorHash,
82
- source: "sdk",
83
- scope: computeScope(classification),
84
86
  };
85
- const url = `${dashboardUrl}/v1/orgs/${encodeURIComponent(orgId)}/tool-descriptors/register`;
87
+ const url = `${gatewayUrl}/v1/register`;
86
88
  try {
87
89
  const resp = await fetch(url, {
88
90
  method: "POST",
@@ -94,12 +96,12 @@ export async function registerTool(arg1, arg2) {
94
96
  });
95
97
  if (!resp.ok) {
96
98
  const text = await resp.text().catch(() => `HTTP ${resp.status}`);
97
- console.warn(`[clampd] registerTool: backend returned ${resp.status} for ${name}: ${text}`);
99
+ console.warn(`[clampd] registerTool: gateway returned ${resp.status} for ${name}: ${text}`);
98
100
  }
99
101
  }
100
102
  catch (err) {
101
103
  const msg = err instanceof Error ? err.message : String(err);
102
- console.warn(`[clampd] registerTool: failed to reach dashboard for ${name}: ${msg}`);
104
+ console.warn(`[clampd] registerTool: failed to reach gateway for ${name}: ${msg}`);
103
105
  }
104
106
  }
105
107
  // ── Internal: argument normalisation ────────────────────────────────
@@ -127,8 +129,6 @@ function _normalizeArgs(arg1, arg2) {
127
129
  operation: arg2.operation,
128
130
  };
129
131
  const routing = {
130
- orgId: arg2.orgId,
131
- dashboardUrl: arg2.dashboardUrl,
132
132
  apiKey: arg2.apiKey,
133
133
  };
134
134
  // Form 2: registerTool(name, opts)
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,11 @@ export interface StreamGuardOptions {
11
11
  targetUrl?: string;
12
12
  failOpen?: boolean;
13
13
  authorizedTools?: string[];
14
+ /** Captured by the openai/anthropic wrappers from the LLM request's
15
+ * messages, forwarded on every guarded tool call so the gateway's
16
+ * prompt-scoped rules (R013/R014/R015/R031/R032/R038) fire on
17
+ * tool-call traffic. */
18
+ promptContext?: string;
14
19
  }
15
20
  /**
16
21
  * Wraps an OpenAI streaming async iterable to intercept tool calls.
@@ -1 +1 @@
1
- {"version":3,"file":"stream-guard.d.ts","sourceRoot":"","sources":["../src/stream-guard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAQ/D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAgHD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,EAC9B,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,kBAAkB,GACvB,aAAa,CAAC,OAAO,CAAC,CAqGxB;AAID;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,EAC9B,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,kBAAkB,GACvB,aAAa,CAAC,OAAO,CAAC,CAgFxB"}
1
+ {"version":3,"file":"stream-guard.d.ts","sourceRoot":"","sources":["../src/stream-guard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAQ/D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;6BAGyB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiHD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,EAC9B,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,kBAAkB,GACvB,aAAa,CAAC,OAAO,CAAC,CAqGxB;AAID;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,EAC9B,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,kBAAkB,GACvB,aAAa,CAAC,OAAO,CAAC,CAgFxB"}
@@ -6,7 +6,7 @@
6
6
  * Text/content chunks pass through immediately with zero added latency.
7
7
  */
8
8
  import { ClampdBlockedError } from "./interceptor.js";
9
- import { ClampdUnregisteredToolError } from "./errors.js";
9
+ import { ClampdDescriptorMismatchError, ClampdUnregisteredToolError } from "./errors.js";
10
10
  import { raiseIfUnregistered, _registeredDescriptors } from "./_frameworkAdapters.js";
11
11
  import { withDelegation, getDelegation, getCallerAgentId } from "./delegation.js";
12
12
  // ── Proxy helper ─────────────────────────────────────────────────
@@ -23,7 +23,7 @@ async function guardToolCall(client, toolName, toolArgs, opts) {
23
23
  }
24
24
  try {
25
25
  const registeredHash = _registeredDescriptors.get(toolName);
26
- const res = await client.proxy(toolName, proxyParams, opts.targetUrl ?? "", undefined, registeredHash, opts.authorizedTools);
26
+ const res = await client.proxy(toolName, proxyParams, opts.targetUrl ?? "", opts.promptContext, registeredHash, opts.authorizedTools);
27
27
  raiseIfUnregistered(toolName, res);
28
28
  if (!res.allowed) {
29
29
  // Respect failOpen for gateway errors
@@ -38,6 +38,8 @@ async function guardToolCall(client, toolName, toolArgs, opts) {
38
38
  throw e;
39
39
  if (e instanceof ClampdUnregisteredToolError)
40
40
  throw e;
41
+ if (e instanceof ClampdDescriptorMismatchError)
42
+ throw e;
41
43
  if (!opts.failOpen)
42
44
  throw new ClampdBlockedError({
43
45
  request_id: "error",
@@ -1 +1 @@
1
- {"version":3,"file":"stream-guard.js","sourceRoot":"","sources":["../src/stream-guard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAkElF,oEAAoE;AAEpE,KAAK,UAAU,aAAa,CAC1B,MAAoB,EACpB,QAAgB,EAChB,QAAiC,EACjC,IAAwB;IAExB,MAAM,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,WAAW,GAA4B,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7D,IAAI,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,WAAW,CAAC,WAAW,GAAG;gBACxB,eAAe,EAAE,gBAAgB,EAAE;gBACnC,gBAAgB,EAAE,UAAU,CAAC,KAAK;gBAClC,mBAAmB,EAAE,UAAU,CAAC,OAAO;aACxC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B,QAAQ,EACR,WAAW,EACX,IAAI,CAAC,SAAS,IAAI,EAAE,EACpB,SAAS,EACT,cAAc,EACd,IAAI,CAAC,eAAe,CACrB,CAAC;YACF,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjB,sCAAsC;gBACtC,IAAI,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;oBACvC,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,kBAAkB;gBAAE,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,YAAY,2BAA2B;gBAAE,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,kBAAkB,CAAC;oBAC/C,UAAU,EAAE,OAAO;oBACnB,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,GAAG;oBACf,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;oBACxB,UAAU,EAAE,CAAC;oBACb,eAAe,EAAE,EAAE;oBACnB,aAAa,EAAE,EAAE;iBAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oEAAoE;AAEpE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAA8B,EAC9B,MAAoB,EACpB,IAAwB;IAExB,MAAM,eAAe,GAAG,KAAK,SAAS,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiC,CAAC;QACzD,6EAA6E;QAC7E,MAAM,cAAc,GAAkB,EAAE,CAAC;QACzC,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,QAAuB,CAAC;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAElC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;gBACvC,0DAA0D;gBAC1D,0DAA0D;gBAC1D,6CAA6C;gBAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,KAAK,CAAC;oBACZ,SAAS;gBACX,CAAC;gBACD,oDAAoD;gBACpD,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;oBAC1B,uCAAuC;oBACvC,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;wBAC7B,MAAM,OAAO,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC9C,IAAI,QAAiC,CAAC;wBACtC,IAAI,CAAC;4BACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACjC,CAAC;wBAAC,MAAM,CAAC;4BACP,QAAQ,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;wBAC9B,CAAC;wBACD,MAAM,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACvD,CAAC;oBAED,8BAA8B;oBAC9B,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;wBACtC,MAAM,QAAQ,CAAC;oBACjB,CAAC;oBACD,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC1B,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,YAAY,GAAG,KAAK,CAAC;oBAErB,6BAA6B;oBAC7B,MAAM,KAAK,CAAC;oBACZ,SAAS;gBACX,CAAC;gBAED,MAAM,KAAK,CAAC;gBACZ,SAAS;YACX,CAAC;YAED,yCAAyC;YACzC,YAAY,GAAG,IAAI,CAAC;YACpB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE;wBACf,KAAK,EAAE,GAAG;wBACV,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS;wBACzC,iBAAiB,EAAE,EAAE;qBACtB,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;gBAC7B,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;oBACvC,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAClC,CAAC;gBACD,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;oBAChC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YACD,0DAA0D;YAC1D,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,gDAAgD;QAChD,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9C,IAAI,QAAiC,CAAC;gBACtC,IAAI,CAAC;oBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;gBAC9B,CAAC;gBACD,MAAM,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACvD,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;gBACtC,MAAM,QAAQ,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,oEAAoE;IACpE,0EAA0E;IAC1E,OAAO,IAAI,KAAK,CAAC,MAAgB,EAAE;QACjC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC;gBAClC,OAAO,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC;YACjC,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;KACF,CAA2B,CAAC;AAC/B,CAAC;AAED,oEAAoE;AAEpE;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA8B,EAC9B,MAAoB,EACpB,IAAwB;IAExB,MAAM,eAAe,GAAG,KAAK,SAAS,CAAC;QACrC,IAAI,eAAe,GAAoC,IAAI,CAAC;QAE5D,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,QAAgC,CAAC;YAE/C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,qBAAqB,CAAC,CAAC,CAAC;oBAC3B,IAAI,KAAK,CAAC,aAAa,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;wBAC7C,mCAAmC;wBACnC,eAAe,GAAG;4BAChB,UAAU,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;4BAC5B,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,IAAI,SAAS;4BAC3C,aAAa,EAAE,EAAE;4BACjB,cAAc,EAAE,CAAC,KAAK,CAAC;yBACxB,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,kCAAkC;wBAClC,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;oBAC3B,IAAI,eAAe,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,kBAAkB,EAAE,CAAC;wBAChE,8CAA8C;wBAC9C,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;4BAC7B,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;wBAC/D,CAAC;wBACD,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACN,4BAA4B;wBAC5B,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;oBAC1B,IAAI,eAAe,IAAI,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,UAAU,EAAE,CAAC;wBAClE,iCAAiC;wBACjC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACvD,IAAI,QAAiC,CAAC;wBACtC,IAAI,CAAC;4BACH,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChD,CAAC;wBAAC,MAAM,CAAC;4BACP,QAAQ,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;wBAC9B,CAAC;wBAED,MAAM,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;wBAElE,oCAAoC;wBACpC,KAAK,MAAM,QAAQ,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC;4BACtD,MAAM,QAAQ,CAAC;wBACjB,CAAC;wBACD,eAAe,GAAG,IAAI,CAAC;oBACzB,CAAC;yBAAM,CAAC;wBACN,iCAAiC;wBACjC,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED;oBACE,kEAAkE;oBAClE,MAAM,KAAK,CAAC;oBACZ,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,IAAI,KAAK,CAAC,MAAgB,EAAE;QACjC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC;gBAClC,OAAO,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC;YACjC,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;KACF,CAA2B,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"stream-guard.js","sourceRoot":"","sources":["../src/stream-guard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clampd/sdk",
3
- "version": "0.15.1",
3
+ "version": "0.16.1",
4
4
  "description": "Runtime security SDK for AI agents \u2014 guard tool calls in 1 line",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",