@clampd/sdk 0.12.0 → 0.13.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.
package/dist/config.d.ts CHANGED
@@ -42,6 +42,28 @@ export interface InitOptions {
42
42
  export interface GuardOptions {
43
43
  agentId?: string;
44
44
  toolName: string;
45
+ /**
46
+ * Human-readable tool description. Required for stable, contract-based
47
+ * descriptor hashing (shared with `registerTool()` and the dashboard).
48
+ * When omitted, the SDK falls back to `""` — the tool still works but
49
+ * its hash won't match a pre-registered descriptor, so rug-pull
50
+ * detection degrades to "unknown, informational only" rather than
51
+ * matching an approved entry.
52
+ */
53
+ description?: string;
54
+ /**
55
+ * JSON-Schema describing the tool's parameters. Required (along with
56
+ * `description`) for the hash to match a registered descriptor. When
57
+ * omitted, defaults to `{}` — same degradation as above.
58
+ */
59
+ paramSchema?: object;
60
+ /**
61
+ * Escape hatch: supply a precomputed descriptor hash. When set, the
62
+ * SDK bypasses `description` + `paramSchema` and uses this value
63
+ * verbatim. Useful if the caller already called `registerTool()` and
64
+ * cached the returned hash.
65
+ */
66
+ descriptorHash?: string;
45
67
  targetUrl?: string;
46
68
  failOpen?: boolean;
47
69
  checkResponse?: boolean;
@@ -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,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;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 +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":"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"}
@@ -0,0 +1,17 @@
1
+ export interface ToolContract {
2
+ /** Canonical tool name (e.g. "database.query"). */
3
+ name: string;
4
+ /** Human-readable description (shown to the LLM and in the dashboard). */
5
+ description: string;
6
+ /** JSON-Schema describing the tool's parameters. May be `{}` when unknown. */
7
+ parameters: object;
8
+ }
9
+ /**
10
+ * Compute the canonical descriptor hash for a tool contract.
11
+ *
12
+ * Deterministic: identical input always yields the same output. The
13
+ * canonicalisation is key-sorted JSON with no whitespace — reordering
14
+ * an object's fields does not change the hash.
15
+ */
16
+ export declare function contractHash(contract: ToolContract): string;
17
+ //# sourceMappingURL=contract-hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-hash.d.ts","sourceRoot":"","sources":["../src/contract-hash.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAO3D"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Canonical contract hash for a tool descriptor.
3
+ *
4
+ * Single source of truth: the hash is a SHA-256 over the
5
+ * JSON-canonicalised tuple `{name, description, parameters}`. Must be
6
+ * computed identically by:
7
+ *
8
+ * - The SDK's `guard()` (when wrapping a tool call)
9
+ * - The SDK's `registerTool()` (when declaring a tool up-front)
10
+ * - dashboard-api's `/tool-descriptors/:org/register` endpoint
11
+ * - Any future admin tooling that writes to `tool_descriptors.descriptor_hash`
12
+ *
13
+ * Prior to SDK v0.13.0 the SDK used `sha256(toolName + ":" + fn.toString())`
14
+ * and the server used `sha256(org_id + ":" + name + ":sdk")`. Neither
15
+ * agreed with the other, so runtime rug-pull detection could not
16
+ * distinguish "admin approved a different hash" from "caller produced a
17
+ * different hash because `fn.toString()` happens to be different today".
18
+ * Both routes now pass through this function so the hash is content-
19
+ * addressed: anything that changes the external tool contract (name,
20
+ * description, parameter schema) changes the hash; nothing else does.
21
+ */
22
+ import { createHash } from "node:crypto";
23
+ import { sortedStringify } from "./config.js";
24
+ /**
25
+ * Compute the canonical descriptor hash for a tool contract.
26
+ *
27
+ * Deterministic: identical input always yields the same output. The
28
+ * canonicalisation is key-sorted JSON with no whitespace — reordering
29
+ * an object's fields does not change the hash.
30
+ */
31
+ export function contractHash(contract) {
32
+ const canonical = sortedStringify({
33
+ name: contract.name,
34
+ description: contract.description ?? "",
35
+ parameters: contract.parameters ?? {},
36
+ });
37
+ return createHash("sha256").update(canonical).digest("hex");
38
+ }
39
+ //# sourceMappingURL=contract-hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-hash.js","sourceRoot":"","sources":["../src/contract-hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAW9C;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,QAAsB;IACjD,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;QACvC,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;KACtC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC"}
package/dist/index.d.ts CHANGED
@@ -34,6 +34,7 @@ export type { ProxyResponse, ScanResponse, ScanOutputResponse } from "./client.j
34
34
  export { registerTool, type RegisterToolOptions } from "./register.js";
35
35
  export { TAXONOMY, validateClassification, computeScope, type ToolClassification, type CategorySpec, type SubcategorySpec, } from "./taxonomy.js";
36
36
  export { ClampdClassificationError } from "./errors.js";
37
+ export { contractHash, type ToolContract } from "./contract-hash.js";
37
38
  declare function guard<TArgs extends unknown[], TReturn>(fn: (...args: TArgs) => Promise<TReturn>, opts: GuardOptions): (...args: TArgs) => Promise<TReturn>;
38
39
  declare function tools(toolDefs: OpenAITool[], opts: WrapOptions): OpenAITool[];
39
40
  type AnyFunction = (...args: any[]) => Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAiC,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,EAAa,IAAI,EAAE,MAAM,EAAmB,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE5G,OAAO,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,EAAE,kBAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAChH,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKzD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGnF,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EACL,QAAQ,EACR,sBAAsB,EACtB,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAcxD,iBAAS,KAAK,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EAC7C,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,EACxC,IAAI,EAAE,YAAY,GACjB,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAmEtC;AAID,iBAAS,KAAK,CACZ,QAAQ,EAAE,UAAU,EAAE,EACtB,IAAI,EAAE,WAAW,GAChB,UAAU,EAAE,CAmDd;AA+BD,KAAK,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAIxD,iBAAS,MAAM,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE;QAAE,WAAW,EAAE;YAAE,MAAM,EAAE,WAAW,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,EAC1E,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,WAAW,GAChB,CAAC,CA+HH;AAID,iBAAS,SAAS,CAAC,CAAC,SAAS;IAAE,QAAQ,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,CAAA;CAAE,EAChE,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,WAAW,GAChB,CAAC,CA6FH;AAID,UAAU,UAAU;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,YAAY;IACpB,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnG,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxF;AAED,iBAAS,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAkE3C;AAID,UAAU,YAAY;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,iBAAS,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACtD,QAAQ,EAAE,CAAC,EACX,IAAI,EAAE,WAAW,GAChB,CAAC,CAiEH;AAID;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEnE;AAID,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AAEvD,QAAA,MAAM,MAAM;;;;;;;;;;;;;CAAkJ,CAAC;AAC/J,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -25,6 +25,7 @@ import { scanForSchemaInjection } from "./schema-injection.js";
25
25
  import { guardOpenAIStream, guardAnthropicStream } from "./stream-guard.js";
26
26
  import { setScopeToken, withScopeToken } from "./tool-verify.js";
27
27
  import { getClient, init, _reset, sortedStringify } from "./config.js";
28
+ import { contractHash } from "./contract-hash.js";
28
29
  import { inspectResponse, schemaInjectionPreScan, extractOpenAIToolNames, extractAnthropicToolNames, scanInputOpenAI, scanInputAnthropic, scanOutputContent, guardToolCallWithDelegation } from "./guardrails.js";
29
30
  import { registerTool as _registerTool } from "./register.js";
30
31
  // ── Public API ──────────────────────────────────────────────────────
@@ -41,6 +42,7 @@ export { makeAgentJwt } from "./auth.js";
41
42
  export { registerTool } from "./register.js";
42
43
  export { TAXONOMY, validateClassification, computeScope, } from "./taxonomy.js";
43
44
  export { ClampdClassificationError } from "./errors.js";
45
+ export { contractHash } from "./contract-hash.js";
44
46
  /** Recursively freeze an object and all nested objects/arrays. */
45
47
  function deepFreeze(obj) {
46
48
  Object.freeze(obj);
@@ -54,9 +56,20 @@ function deepFreeze(obj) {
54
56
  function guard(fn, opts) {
55
57
  const client = getClient({ agentId: opts.agentId });
56
58
  const { toolName, targetUrl = "", failOpen = false, checkResponse: shouldCheckResponse = false } = opts;
57
- // Compute tool descriptor hash for rug-pull detection
58
- const hashInput = `${toolName}:${fn.toString()}`;
59
- const descriptorHash = createHash("sha256").update(hashInput).digest("hex");
59
+ // Descriptor hash is content-addressed over the TOOL CONTRACT
60
+ // (name + description + paramSchema), NOT the fn source text. This
61
+ // matches `registerTool()` and the dashboard server-side hash, so a
62
+ // tool pre-registered via `registerTool()` and later wrapped via
63
+ // `guard()` produces identical hashes — rug-pull detection only fires
64
+ // when the contract itself actually changes, not on trivial source
65
+ // differences (closures, bundling, minification). Callers may
66
+ // override with an explicit `descriptorHash`.
67
+ const descriptorHash = opts.descriptorHash
68
+ ?? contractHash({
69
+ name: toolName,
70
+ description: opts.description ?? "",
71
+ parameters: opts.paramSchema ?? {},
72
+ });
60
73
  return async (...args) => {
61
74
  return withDelegation(opts.agentId ?? client.agentId, async () => {
62
75
  const params = args.length === 1 && typeof args[0] === "object" && args[0] !== null && !Array.isArray(args[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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"}
@@ -81,6 +81,10 @@ export interface WrapFunctionOptions<TArgs extends unknown[]> {
81
81
  blockOnDeny?: boolean;
82
82
  /** Optional prompt context forwarded to the gateway. */
83
83
  promptContext?: string;
84
+ /** Tool description — used to compute descriptor_hash for rug-pull detection. */
85
+ description?: string;
86
+ /** JSON Schema of tool parameters — used to compute descriptor_hash. */
87
+ paramSchema?: Record<string, unknown>;
84
88
  }
85
89
  /**
86
90
  * Wrap any async function so every invocation first passes through the
@@ -166,7 +170,10 @@ export declare class ClampdGuard {
166
170
  * @returns An object containing both the function result and the raw
167
171
  * `ProxyResponse` from the gateway.
168
172
  */
169
- execute<T>(tool: string, params: Record<string, unknown>, fn: () => Promise<T>, targetUrl?: string): Promise<{
173
+ execute<T>(tool: string, params: Record<string, unknown>, fn: () => Promise<T>, targetUrl?: string, opts?: {
174
+ description?: string;
175
+ paramSchema?: Record<string, unknown>;
176
+ }): Promise<{
170
177
  result: T;
171
178
  proxyResponse: ProxyResponse;
172
179
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@
10
10
  *
11
11
  * No external dependencies — pure TypeScript.
12
12
  */
13
+ import { contractHash } from "./contract-hash.js";
13
14
  import { setScopeToken, withScopeToken } from "./tool-verify.js";
14
15
  // ── Error ─────────────────────────────────────────────────────────
15
16
  /**
@@ -71,12 +72,19 @@ function defaultExtractParams(args) {
71
72
  * ```
72
73
  */
73
74
  export function wrapFunction(fn, opts) {
74
- const { client, toolName, targetUrl = "", paramExtractor, blockOnDeny = true, promptContext, } = opts;
75
+ const { client, toolName, targetUrl = "", paramExtractor, blockOnDeny = true, promptContext, description, paramSchema, } = opts;
76
+ const descriptorHash = description !== undefined || paramSchema !== undefined
77
+ ? contractHash({
78
+ name: toolName,
79
+ description: description ?? "",
80
+ parameters: paramSchema ?? {},
81
+ })
82
+ : undefined;
75
83
  return async (...args) => {
76
84
  const params = paramExtractor
77
85
  ? paramExtractor(...args)
78
86
  : defaultExtractParams(args);
79
- const proxyRes = await client.proxy(toolName, params, targetUrl, promptContext);
87
+ const proxyRes = await client.proxy(toolName, params, targetUrl, promptContext, descriptorHash);
80
88
  if (!proxyRes.allowed && blockOnDeny) {
81
89
  throw new ClampdBlockedError(proxyRes);
82
90
  }
@@ -106,8 +114,13 @@ export function wrapOpenAITools(tools, opts) {
106
114
  if (typeof originalExecute !== "function") {
107
115
  return tool;
108
116
  }
117
+ const descriptorHash = contractHash({
118
+ name: tool.function.name,
119
+ description: tool.function.description ?? "",
120
+ parameters: tool.function.parameters ?? {},
121
+ });
109
122
  const wrappedExecute = async (args) => {
110
- const proxyRes = await client.proxy(tool.function.name, args, targetUrl);
123
+ const proxyRes = await client.proxy(tool.function.name, args, targetUrl, undefined, descriptorHash);
111
124
  if (!proxyRes.allowed && blockOnDeny) {
112
125
  throw new ClampdBlockedError(proxyRes);
113
126
  }
@@ -169,9 +182,16 @@ export class ClampdGuard {
169
182
  * @returns An object containing both the function result and the raw
170
183
  * `ProxyResponse` from the gateway.
171
184
  */
172
- async execute(tool, params, fn, targetUrl) {
185
+ async execute(tool, params, fn, targetUrl, opts) {
173
186
  const url = targetUrl ?? this.defaultTargetUrl;
174
- const proxyResponse = await this.client.proxy(tool, params, url);
187
+ const descriptorHash = opts && (opts.description !== undefined || opts.paramSchema !== undefined)
188
+ ? contractHash({
189
+ name: tool,
190
+ description: opts.description ?? "",
191
+ parameters: opts.paramSchema ?? {},
192
+ })
193
+ : undefined;
194
+ const proxyResponse = await this.client.proxy(tool, params, url, undefined, descriptorHash);
175
195
  if (!proxyResponse.allowed) {
176
196
  throw new ClampdBlockedError(proxyResponse);
177
197
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAuCjE,qEAAqE;AAErE;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3B,QAAQ,CAAgB;IACxB,YAAY,CAAW;IACvB,YAAY,CAAW;IAEvC,YAAY,QAAuB;QACjC,MAAM,KAAK,GAAG;YACZ,YAAY,QAAQ,CAAC,aAAa,IAAI,gBAAgB,UAAU,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;SAClG,CAAC;QACF,IAAI,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC;IACnD,CAAC;CACF;AA2CD;;;GAGG;AACH,SAAS,oBAAoB,CAAC,IAAe;IAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IACE,MAAM,KAAK,IAAI;YACf,OAAO,MAAM,KAAK,QAAQ;YAC1B,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EACtB,CAAC;YACD,OAAO,MAAiC,CAAC;QAC3C,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAC1B,EAAwC,EACxC,IAAgC;IAEhC,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,cAAc,EACd,WAAW,GAAG,IAAI,EAClB,aAAa,EACb,WAAW,EACX,WAAW,GACZ,GAAG,IAAI,CAAC;IAET,MAAM,cAAc,GAClB,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;QACpD,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,WAAW,IAAI,EAAE;YAC9B,UAAU,EAAG,WAAsB,IAAI,EAAE;SAC1C,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,KAAK,EAAE,GAAG,IAAW,EAAoB,EAAE;QAChD,MAAM,MAAM,GAAG,cAAc;YAC3B,CAAC,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;YACzB,CAAC,CAAC,oBAAoB,CAAC,IAAiB,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CACjC,QAAQ,EACR,MAAM,EACN,SAAS,EACT,aAAa,EACb,cAAc,CACf,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QAED,kEAAkE;QAClE,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC7C,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACpC,OAAO,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC;AAqBD;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAmB,EACnB,IAA4B;IAE5B,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAE5D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAE9C,oEAAoE;QACpE,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,cAAc,GAAG,YAAY,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACxB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE;YAC5C,UAAU,EAAG,IAAI,CAAC,QAAQ,CAAC,UAAqB,IAAI,EAAE;SACvD,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,KAAK,EAC1B,IAA6B,EACX,EAAE;YACpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAClB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,cAAc,CACf,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC;gBACrC,MAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC7C,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACpC,OAAO,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,gEAAgE;QAChE,OAAO;YACL,GAAG,IAAI;YACP,QAAQ,EAAE;gBACR,GAAG,IAAI,CAAC,QAAQ;gBAChB,OAAO,EAAE,cAAc;aACxB;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAYD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,WAAW;IACL,MAAM,CAAe;IACrB,gBAAgB,CAAS;IAE1C,YAAY,MAAoB,EAAE,IAAyB;QACzD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,EAAE,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CACT,IAAY,EACZ,MAA+B;QAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CACX,IAAY,EACZ,MAA+B,EAC/B,EAAoB,EACpB,SAAkB,EAClB,IAAsE;QAEtE,MAAM,GAAG,GAAG,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC;QAE/C,MAAM,cAAc,GAClB,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;YACxE,CAAC,CAAC,YAAY,CAAC;gBACX,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBACnC,UAAU,EAAG,IAAI,CAAC,WAAsB,IAAI,EAAE;aAC/C,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC3C,IAAI,EACJ,MAAM,EACN,GAAG,EACH,SAAS,EACT,cAAc,CACf,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;YAC9B,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACnE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;QAC1B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACnC,CAAC;CACF"}
@@ -32,6 +32,12 @@ export interface RegisterToolOptions {
32
32
  classification: ToolClassification;
33
33
  /** Optional human description surfaced in the dashboard. */
34
34
  description?: string;
35
+ /**
36
+ * JSON-Schema describing the tool's parameters. Participates in the
37
+ * canonical contract hash, so it must match the schema supplied to
38
+ * `guard()` for runtime rug-pull detection to be clean.
39
+ */
40
+ paramSchema?: object;
35
41
  /**
36
42
  * Organisation id the descriptor belongs to. Falls back to the
37
43
  * `CLAMPD_ORG_ID` env var if unset. Required by the backend route
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAMvB,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,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqE3E"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAOvB,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;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmF3E"}
package/dist/register.js CHANGED
@@ -22,6 +22,7 @@
22
22
  import { computeScope, validateClassification, } from "./taxonomy.js";
23
23
  import { ClampdClassificationError } from "./errors.js";
24
24
  import { sharedConfig } from "./config.js";
25
+ import { contractHash } from "./contract-hash.js";
25
26
  // ── Implementation ──────────────────────────────────────────────────
26
27
  /**
27
28
  * Register a classified tool descriptor with the Clampd backend.
@@ -59,12 +60,25 @@ export async function registerTool(opts) {
59
60
  sharedConfig.gatewayUrl ??
60
61
  "http://localhost:3000").replace(/\/$/, "");
61
62
  const apiKey = opts.apiKey ?? process.env.CLAMPD_API_KEY ?? "";
63
+ // Compute the contract hash client-side and send it to the server.
64
+ // The server validates it matches its own computation (same formula)
65
+ // and stores it as the authoritative descriptor_hash. Subsequent
66
+ // `guard()` calls compute the same hash and the gateway can then
67
+ // distinguish "approved hash" from "rug-pull" cleanly.
68
+ const paramSchema = opts.paramSchema ?? {};
69
+ const descriptorHash = contractHash({
70
+ name,
71
+ description: description ?? "",
72
+ parameters: paramSchema,
73
+ });
62
74
  const body = {
63
75
  name,
64
76
  category: classification.category,
65
77
  subcategory: classification.subcategory,
66
78
  operation: classification.operation,
67
79
  description,
80
+ param_schema: paramSchema,
81
+ descriptor_hash: descriptorHash,
68
82
  source: "sdk",
69
83
  scope: computeScope(classification),
70
84
  };
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACL,YAAY,EACZ,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgC3C,uEAAuE;AAEvE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAyB;IAC1D,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAEnD,mEAAmE;IACnE,0DAA0D;IAC1D,IACE,CAAC,sBAAsB,CACrB,cAAc,CAAC,QAAQ,EACvB,cAAc,CAAC,WAAW,EAC1B,cAAc,CAAC,SAAS,CACzB,EACD,CAAC;QACD,MAAM,IAAI,yBAAyB,CACjC,cAAc,CAAC,QAAQ,EACvB,cAAc,CAAC,WAAW,EAC1B,cAAc,CAAC,SAAS,CACzB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;IAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CACV,uGAAuG,CACxG,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,CACnB,IAAI,CAAC,YAAY;QACjB,OAAO,CAAC,GAAG,CAAC,oBAAoB;QAChC,YAAY,CAAC,UAAU;QACvB,uBAAuB,CACxB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAErB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;IAE/D,MAAM,IAAI,GAAG;QACX,IAAI;QACJ,QAAQ,EAAE,cAAc,CAAC,QAAQ;QACjC,WAAW,EAAE,cAAc,CAAC,WAAW;QACvC,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,WAAW;QACX,MAAM,EAAE,KAAc;QACtB,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC;KACpC,CAAC;IAEF,MAAM,GAAG,GAAG,GAAG,YAAY,YAAY,kBAAkB,CAAC,KAAK,CAAC,4BAA4B,CAAC;IAE7F,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,UAAU,EAAE,MAAM;aACnB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CACV,2CAA2C,IAAI,CAAC,MAAM,QAAQ,IAAI,KAAK,IAAI,EAAE,CAC9E,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CACV,wDAAwD,IAAI,KAAK,GAAG,EAAE,CACvE,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.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.12.0",
3
+ "version": "0.13.1",
4
4
  "description": "Runtime security SDK for AI agents — guard tool calls in 1 line",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",