@coderifts/agent-guard 4.2.0 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +162 -35
  2. package/dist/cjs/adapters/anthropic.d.ts +90 -0
  3. package/dist/cjs/adapters/anthropic.d.ts.map +1 -0
  4. package/dist/cjs/adapters/anthropic.js +97 -0
  5. package/dist/cjs/adapters/anthropic.js.map +1 -0
  6. package/dist/cjs/adapters/gemini.d.ts +114 -0
  7. package/dist/cjs/adapters/gemini.d.ts.map +1 -0
  8. package/dist/cjs/adapters/gemini.js +110 -0
  9. package/dist/cjs/adapters/gemini.js.map +1 -0
  10. package/dist/cjs/adapters/langgraph.d.ts +117 -0
  11. package/dist/cjs/adapters/langgraph.d.ts.map +1 -0
  12. package/dist/cjs/adapters/langgraph.js +113 -0
  13. package/dist/cjs/adapters/langgraph.js.map +1 -0
  14. package/dist/cjs/adapters/openai.d.ts +93 -0
  15. package/dist/cjs/adapters/openai.d.ts.map +1 -0
  16. package/dist/cjs/adapters/openai.js +97 -0
  17. package/dist/cjs/adapters/openai.js.map +1 -0
  18. package/dist/cjs/index.d.ts +8 -0
  19. package/dist/cjs/index.d.ts.map +1 -1
  20. package/dist/cjs/index.js +26 -1
  21. package/dist/cjs/index.js.map +1 -1
  22. package/dist/esm/adapters/anthropic.d.ts +90 -0
  23. package/dist/esm/adapters/anthropic.d.ts.map +1 -0
  24. package/dist/esm/adapters/anthropic.js +91 -0
  25. package/dist/esm/adapters/anthropic.js.map +1 -0
  26. package/dist/esm/adapters/gemini.d.ts +114 -0
  27. package/dist/esm/adapters/gemini.d.ts.map +1 -0
  28. package/dist/esm/adapters/gemini.js +104 -0
  29. package/dist/esm/adapters/gemini.js.map +1 -0
  30. package/dist/esm/adapters/langgraph.d.ts +117 -0
  31. package/dist/esm/adapters/langgraph.d.ts.map +1 -0
  32. package/dist/esm/adapters/langgraph.js +107 -0
  33. package/dist/esm/adapters/langgraph.js.map +1 -0
  34. package/dist/esm/adapters/openai.d.ts +93 -0
  35. package/dist/esm/adapters/openai.d.ts.map +1 -0
  36. package/dist/esm/adapters/openai.js +91 -0
  37. package/dist/esm/adapters/openai.js.map +1 -0
  38. package/dist/esm/index.d.ts +8 -0
  39. package/dist/esm/index.d.ts.map +1 -1
  40. package/dist/esm/index.js +9 -0
  41. package/dist/esm/index.js.map +1 -1
  42. package/package.json +1 -1
@@ -0,0 +1,93 @@
1
+ /**
2
+ * OpenAI tool-calling adapter over withCodeRifts (ID632 slice 1 — reference adapter).
3
+ *
4
+ * Thin SHAPE converter only. Guard logic stays in withCodeRifts; this module:
5
+ * 1. calls withCodeRifts with the same input shape,
6
+ * 2. maps each ProtectedTool → OpenAI chat.completions tool definition,
7
+ * 3. returns OpenAI-shaped tools PLUS the untouched assurance objects
8
+ * (registry_report, composition_assurance, receipt_thread).
9
+ *
10
+ * Honesty (do not "upgrade" assurance):
11
+ * - composition_assurance is passed through EXACTLY as the core reported it
12
+ * (COMPOSITION_CALL_POLICY_COMPLETE may still be false; inescapable_runtime may be false).
13
+ * - The adapter converts tool SHAPE for the model API; it does not claim product-level
14
+ * inescapability the core does not claim.
15
+ *
16
+ * Only-protected-tools (6/D at the adapter surface):
17
+ * - `tools` is derived ONLY from the frozen registry's ProtectedTool list.
18
+ * - Raw tools never appear in the returned OpenAI table. The host may still hold a raw
19
+ * reference outside this table; that boundary stays the host's responsibility.
20
+ *
21
+ * Ergonomics (5–10 lines): pass raw tools + client + operation → OpenAI-ready guarded tools.
22
+ * LangGraph / Anthropic adapters follow the same thin-converter pattern later.
23
+ */
24
+ import type { WithCodeRiftsInput, WithCodeRiftsResult, CompositionAssurance, ReceiptThreadHandle } from '../with-coderifts.js';
25
+ import type { ProtectedTool, RegistryCoverageReport } from '../tool-registry.js';
26
+ /**
27
+ * OpenAI chat.completions `tools[]` element (function tool).
28
+ * @see https://platform.openai.com/docs/guides/function-calling
29
+ */
30
+ export type OpenAIFunctionTool = {
31
+ type: 'function';
32
+ function: {
33
+ name: string;
34
+ description?: string;
35
+ /** JSON Schema object for the function arguments (OpenAI `parameters`). */
36
+ parameters: Record<string, unknown>;
37
+ };
38
+ };
39
+ /**
40
+ * Result of withCodeRiftsOpenAI — OpenAI tool definitions + core assurance, unflattened.
41
+ *
42
+ * `tools` is the ONLY list intended for the model/runtime tool table. `protected_tools` is the
43
+ * same guarded list (with execute) for host dispatch after tool_calls — never the raw tools.
44
+ */
45
+ export type WithCodeRiftsOpenAIResult = {
46
+ /** OpenAI-shaped tools for chat.completions — only protected/guarded tools. */
47
+ tools: OpenAIFunctionTool[];
48
+ /**
49
+ * Guarded ProtectedTool list from withCodeRifts (same tools as `tools`, with execute).
50
+ * Host dispatches model tool_calls through these only. Never raw tools.
51
+ */
52
+ protected_tools: ProtectedTool[];
53
+ /** Untouched registry report — registry's own truth. */
54
+ registry_report: RegistryCoverageReport;
55
+ /**
56
+ * Product-level assurance — deliberately narrower than the registry.
57
+ * Passed through untouched; may still show inescapable_runtime:false and
58
+ * residual composition_call_policy_incomplete.
59
+ */
60
+ composition_assurance: CompositionAssurance;
61
+ /** Per-composition receipt cursor — NOT product-truth chain evidence. */
62
+ receipt_thread: ReceiptThreadHandle;
63
+ repository?: string;
64
+ };
65
+ /**
66
+ * Map one ProtectedTool → OpenAI function tool definition (shape only; no execute).
67
+ * Prefer tool.inputSchema when it is a plain object; otherwise empty object schema.
68
+ */
69
+ export declare function protectedToolToOpenAI(tool: ProtectedTool): OpenAIFunctionTool;
70
+ /**
71
+ * Convert a list of ProtectedTool into OpenAI tool definitions.
72
+ * Does NOT call the guard — pure shape map over an already-protected list.
73
+ */
74
+ export declare function toOpenAITools(protectedTools: readonly ProtectedTool[]): OpenAIFunctionTool[];
75
+ /**
76
+ * Build OpenAI-ready guarded tools from raw tools + client + operation.
77
+ *
78
+ * Calls withCodeRifts internally (guard logic stays in the core). Returns:
79
+ * - `tools` — OpenAI chat.completions shape (function tools only)
80
+ * - `protected_tools` — same guarded tools for host execute dispatch
81
+ * - assurance objects from the core, passed through untouched
82
+ *
83
+ * @param input Same shape as withCodeRifts (WithCodeRiftsInput).
84
+ */
85
+ export declare function withCodeRiftsOpenAI(input: WithCodeRiftsInput): WithCodeRiftsOpenAIResult;
86
+ /**
87
+ * Shape-only adapter over an existing WithCodeRiftsResult (composition style).
88
+ * Prefer withCodeRiftsOpenAI when starting from raw tools.
89
+ *
90
+ * Does not re-run the guard; does not invent assurance.
91
+ */
92
+ export declare function openAIToolAdapter(result: WithCodeRiftsResult): WithCodeRiftsOpenAIResult;
93
+ //# sourceMappingURL=openai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/adapters/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEjF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,2EAA2E;QAC3E,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;CACH,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,+EAA+E;IAC/E,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B;;;OAGG;IACH,eAAe,EAAE,aAAa,EAAE,CAAC;IACjC,wDAAwD;IACxD,eAAe,EAAE,sBAAsB,CAAC;IACxC;;;;OAIG;IACH,qBAAqB,EAAE,oBAAoB,CAAC;IAC5C,yEAAyE;IACzE,cAAc,EAAE,mBAAmB,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAQF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,kBAAkB,CAgB7E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,GAAG,kBAAkB,EAAE,CAE5F;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,yBAAyB,CAGxF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,GAAG,yBAAyB,CAcxF"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * OpenAI tool-calling adapter over withCodeRifts (ID632 slice 1 — reference adapter).
3
+ *
4
+ * Thin SHAPE converter only. Guard logic stays in withCodeRifts; this module:
5
+ * 1. calls withCodeRifts with the same input shape,
6
+ * 2. maps each ProtectedTool → OpenAI chat.completions tool definition,
7
+ * 3. returns OpenAI-shaped tools PLUS the untouched assurance objects
8
+ * (registry_report, composition_assurance, receipt_thread).
9
+ *
10
+ * Honesty (do not "upgrade" assurance):
11
+ * - composition_assurance is passed through EXACTLY as the core reported it
12
+ * (COMPOSITION_CALL_POLICY_COMPLETE may still be false; inescapable_runtime may be false).
13
+ * - The adapter converts tool SHAPE for the model API; it does not claim product-level
14
+ * inescapability the core does not claim.
15
+ *
16
+ * Only-protected-tools (6/D at the adapter surface):
17
+ * - `tools` is derived ONLY from the frozen registry's ProtectedTool list.
18
+ * - Raw tools never appear in the returned OpenAI table. The host may still hold a raw
19
+ * reference outside this table; that boundary stays the host's responsibility.
20
+ *
21
+ * Ergonomics (5–10 lines): pass raw tools + client + operation → OpenAI-ready guarded tools.
22
+ * LangGraph / Anthropic adapters follow the same thin-converter pattern later.
23
+ */
24
+ import { withCodeRifts } from '../with-coderifts.js';
25
+ /** Empty JSON Schema object — used when a ProtectedTool has no inputSchema. */
26
+ const EMPTY_PARAMETERS = Object.freeze({
27
+ type: 'object',
28
+ properties: {},
29
+ });
30
+ /**
31
+ * Map one ProtectedTool → OpenAI function tool definition (shape only; no execute).
32
+ * Prefer tool.inputSchema when it is a plain object; otherwise empty object schema.
33
+ */
34
+ export function protectedToolToOpenAI(tool) {
35
+ const parameters = tool.inputSchema != null
36
+ && typeof tool.inputSchema === 'object'
37
+ && !Array.isArray(tool.inputSchema)
38
+ ? tool.inputSchema
39
+ : { ...EMPTY_PARAMETERS };
40
+ const fn = {
41
+ name: tool.name,
42
+ parameters,
43
+ };
44
+ if (tool.description != null && tool.description !== '') {
45
+ fn.description = tool.description;
46
+ }
47
+ return { type: 'function', function: fn };
48
+ }
49
+ /**
50
+ * Convert a list of ProtectedTool into OpenAI tool definitions.
51
+ * Does NOT call the guard — pure shape map over an already-protected list.
52
+ */
53
+ export function toOpenAITools(protectedTools) {
54
+ return protectedTools.map(protectedToolToOpenAI);
55
+ }
56
+ /**
57
+ * Build OpenAI-ready guarded tools from raw tools + client + operation.
58
+ *
59
+ * Calls withCodeRifts internally (guard logic stays in the core). Returns:
60
+ * - `tools` — OpenAI chat.completions shape (function tools only)
61
+ * - `protected_tools` — same guarded tools for host execute dispatch
62
+ * - assurance objects from the core, passed through untouched
63
+ *
64
+ * @param input Same shape as withCodeRifts (WithCodeRiftsInput).
65
+ */
66
+ export function withCodeRiftsOpenAI(input) {
67
+ const core = withCodeRifts(input);
68
+ return openAIToolAdapter(core);
69
+ }
70
+ /**
71
+ * Shape-only adapter over an existing WithCodeRiftsResult (composition style).
72
+ * Prefer withCodeRiftsOpenAI when starting from raw tools.
73
+ *
74
+ * Does not re-run the guard; does not invent assurance.
75
+ */
76
+ export function openAIToolAdapter(result) {
77
+ const protected_tools = result.tools;
78
+ const tools = toOpenAITools(protected_tools);
79
+ const out = {
80
+ tools,
81
+ protected_tools,
82
+ registry_report: result.registry_report,
83
+ composition_assurance: result.composition_assurance,
84
+ receipt_thread: result.receipt_thread,
85
+ };
86
+ if (result.repository !== undefined) {
87
+ out.repository = result.repository;
88
+ }
89
+ return out;
90
+ }
91
+ //# sourceMappingURL=openai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/adapters/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAkDrD,+EAA+E;AAC/E,MAAM,gBAAgB,GAA4B,MAAM,CAAC,MAAM,CAAC;IAC9D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,EAAE;CACf,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAmB;IACvD,MAAM,UAAU,GACd,IAAI,CAAC,WAAW,IAAI,IAAI;WACrB,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;WACpC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QACjC,CAAC,CAAE,IAAI,CAAC,WAAuC;QAC/C,CAAC,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAE9B,MAAM,EAAE,GAAmC;QACzC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU;KACX,CAAC;IACF,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,EAAE,CAAC;QACxD,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,cAAwC;IACpE,OAAO,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,MAAM,IAAI,GAAwB,aAAa,CAAC,KAAK,CAAC,CAAC;IACvD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA2B;IAC3D,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC;IACrC,MAAM,KAAK,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;IAC7C,MAAM,GAAG,GAA8B;QACrC,KAAK;QACL,eAAe;QACf,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAC;IACF,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -54,4 +54,12 @@ export { coverageReport } from './coverage-report.js';
54
54
  export type { CoverageReportInput, CoverageReport, Applicability, PlacementId, PlacementStrength, OverallCoverage, HonestClaimKey, PerPlacementRow, RuntimePlacementInput, MergePlacementInput, DeployPlacementInput, ContentPlacementInput, } from './coverage-report.js';
55
55
  export { withCodeRifts, foldTableSettledCalls, guardedFractionAmongRoutes, } from './with-coderifts.js';
56
56
  export type { WithCodeRiftsInput, WithCodeRiftsResult, WithCodeRiftsRegistryConfig, CompositionAssurance, SettledCallObservation, CallRoute, CallTerminal, TableSettledCallRouteCounts, ReceiptThreadHandle, ReceiptCursorSkipReason, } from './with-coderifts.js';
57
+ export { withCodeRiftsOpenAI, openAIToolAdapter, toOpenAITools, protectedToolToOpenAI, } from './adapters/openai.js';
58
+ export type { OpenAIFunctionTool, WithCodeRiftsOpenAIResult, } from './adapters/openai.js';
59
+ export { withCodeRiftsAnthropic, anthropicToolAdapter, toAnthropicTools, protectedToolToAnthropic, } from './adapters/anthropic.js';
60
+ export type { AnthropicTool, WithCodeRiftsAnthropicResult, } from './adapters/anthropic.js';
61
+ export { withCodeRiftsLangGraph, langGraphToolAdapter, toLangGraphTools, protectedToolToLangGraph, } from './adapters/langgraph.js';
62
+ export type { LangGraphToolDescriptor, WithCodeRiftsLangGraphResult, } from './adapters/langgraph.js';
63
+ export { withCodeRiftsGemini, geminiToolAdapter, toGeminiTools, protectedToolToFunctionDeclaration, } from './adapters/gemini.js';
64
+ export type { GeminiFunctionDeclaration, GeminiTool, WithCodeRiftsGeminiResult, } from './adapters/gemini.js';
57
65
  //# sourceMappingURL=index.d.ts.map
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC7F,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAExG,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC1G,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EACL,mBAAmB,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EACnF,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,GAC7E,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,GAC3G,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,uBAAuB,EACvB,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,UAAU,EACV,SAAS,EACT,sBAAsB,EACtB,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACjG,YAAY,EACV,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAC7E,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,IAAI,oBAAoB,GAClG,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAClF,YAAY,EACV,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,UAAU,EACV,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EACV,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAC9E,UAAU,EAAE,eAAe,EAAE,gBAAgB,GAC9C,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EACV,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,qBAAqB,EAC7E,sBAAsB,EAAE,YAAY,EAAE,gBAAgB,GACvD,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AACzE,YAAY,EACV,eAAe,EAAE,gBAAgB,EAAE,uBAAuB,GAC3D,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EACV,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAClF,eAAe,EAAE,cAAc,EAAE,eAAe,EAChD,qBAAqB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,GACxF,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,kBAAkB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,oBAAoB,EAC1F,sBAAsB,EAAE,SAAS,EAAE,YAAY,EAAE,2BAA2B,EAC5E,mBAAmB,EAAE,uBAAuB,GAC7C,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,aAAa,EACb,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,kCAAkC,GACnC,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,yBAAyB,EACzB,UAAU,EACV,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -59,4 +59,13 @@ export { coverageReport } from './coverage-report.js';
59
59
  // guardToolRegistry with a mandatory operation; reports the registry's untouched report + a narrower
60
60
  // composition assurance; optional onEvent (pass-through) + onSettledCall (table settled-call observation).
61
61
  export { withCodeRifts, foldTableSettledCalls, guardedFractionAmongRoutes, } from './with-coderifts.js';
62
+ // ID632 slice 1 — thin OpenAI tool-calling adapter over withCodeRifts (reference adapter).
63
+ // Shape converter only; assurance objects pass through untouched.
64
+ export { withCodeRiftsOpenAI, openAIToolAdapter, toOpenAITools, protectedToolToOpenAI, } from './adapters/openai.js';
65
+ // ID632 slice 2 — thin Anthropic tool_use adapter (same pattern; only the tool shape differs).
66
+ export { withCodeRiftsAnthropic, anthropicToolAdapter, toAnthropicTools, protectedToolToAnthropic, } from './adapters/anthropic.js';
67
+ // ID632 slice 3 — thin LangChain/LangGraph tool adapter (plain descriptors; no framework dep).
68
+ export { withCodeRiftsLangGraph, langGraphToolAdapter, toLangGraphTools, protectedToolToLangGraph, } from './adapters/langgraph.js';
69
+ // ID632 slice 4 — thin Google Gemini function-calling adapter (functionDeclarations wrapper).
70
+ export { withCodeRiftsGemini, geminiToolAdapter, toGeminiTools, protectedToolToFunctionDeclaration, } from './adapters/gemini.js';
62
71
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAClE,2FAA2F;AAC3F,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE7F,wGAAwG;AACxG,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAK5B,sGAAsG;AACtG,+DAA+D;AAC/D,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAE1G,+FAA+F;AAC/F,6FAA6F;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,+FAA+F;AAC/F,OAAO,EACL,mBAAmB,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EACnF,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,GAC7E,MAAM,oBAAoB,CAAC;AA6B5B,8FAA8F;AAC9F,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,mGAAmG;AACnG,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAexB,qGAAqG;AACrG,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAShC,kGAAkG;AAClG,wFAAwF;AACxF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKjG,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE7D,qGAAqG;AACrG,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAalF,uGAAuG;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAM/C,oGAAoG;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,yGAAyG;AACzG,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAKzE,uGAAuG;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAOtD,gGAAgG;AAChG,qGAAqG;AACrG,2GAA2G;AAC3G,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAClE,2FAA2F;AAC3F,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE7F,wGAAwG;AACxG,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAK5B,sGAAsG;AACtG,+DAA+D;AAC/D,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAE1G,+FAA+F;AAC/F,6FAA6F;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,+FAA+F;AAC/F,OAAO,EACL,mBAAmB,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EACnF,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,GAC7E,MAAM,oBAAoB,CAAC;AA6B5B,8FAA8F;AAC9F,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,mGAAmG;AACnG,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAexB,qGAAqG;AACrG,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAShC,kGAAkG;AAClG,wFAAwF;AACxF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKjG,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE7D,qGAAqG;AACrG,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAalF,uGAAuG;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAM/C,oGAAoG;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,yGAAyG;AACzG,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAKzE,uGAAuG;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAOtD,gGAAgG;AAChG,qGAAqG;AACrG,2GAA2G;AAC3G,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAO7B,2FAA2F;AAC3F,kEAAkE;AAClE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAM9B,+FAA+F;AAC/F,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAMjC,+FAA+F;AAC/F,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAMjC,8FAA8F;AAC9F,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,kCAAkC,GACnC,MAAM,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coderifts/agent-guard",
3
- "version": "4.2.0",
3
+ "version": "4.3.0",
4
4
  "description": "Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded fail-closed, and enforced⟺executed (P0 client-enforcement pack).",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",