@coderifts/agent-guard 6.0.0 → 6.1.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.
- package/README.md +44 -2
- package/dist/cjs/adapters/anthropic.d.ts +26 -0
- package/dist/cjs/adapters/anthropic.d.ts.map +1 -1
- package/dist/cjs/adapters/anthropic.js +68 -0
- package/dist/cjs/adapters/anthropic.js.map +1 -1
- package/dist/cjs/adapters/gemini.d.ts +39 -0
- package/dist/cjs/adapters/gemini.d.ts.map +1 -1
- package/dist/cjs/adapters/gemini.js +83 -0
- package/dist/cjs/adapters/gemini.js.map +1 -1
- package/dist/cjs/adapters/langgraph.d.ts +29 -0
- package/dist/cjs/adapters/langgraph.d.ts.map +1 -1
- package/dist/cjs/adapters/langgraph.js +70 -0
- package/dist/cjs/adapters/langgraph.js.map +1 -1
- package/dist/cjs/adapters/openai.d.ts +44 -0
- package/dist/cjs/adapters/openai.d.ts.map +1 -1
- package/dist/cjs/adapters/openai.js +86 -0
- package/dist/cjs/adapters/openai.js.map +1 -1
- package/dist/cjs/execution-time-fingerprint.d.ts +65 -0
- package/dist/cjs/execution-time-fingerprint.d.ts.map +1 -0
- package/dist/cjs/execution-time-fingerprint.js +129 -0
- package/dist/cjs/execution-time-fingerprint.js.map +1 -0
- package/dist/cjs/guard.d.ts.map +1 -1
- package/dist/cjs/guard.js +35 -0
- package/dist/cjs/guard.js.map +1 -1
- package/dist/cjs/index.d.ts +10 -8
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +20 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types.d.ts +23 -1
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/adapters/anthropic.d.ts +26 -0
- package/dist/esm/adapters/anthropic.d.ts.map +1 -1
- package/dist/esm/adapters/anthropic.js +66 -0
- package/dist/esm/adapters/anthropic.js.map +1 -1
- package/dist/esm/adapters/gemini.d.ts +39 -0
- package/dist/esm/adapters/gemini.d.ts.map +1 -1
- package/dist/esm/adapters/gemini.js +81 -0
- package/dist/esm/adapters/gemini.js.map +1 -1
- package/dist/esm/adapters/langgraph.d.ts +29 -0
- package/dist/esm/adapters/langgraph.d.ts.map +1 -1
- package/dist/esm/adapters/langgraph.js +68 -0
- package/dist/esm/adapters/langgraph.js.map +1 -1
- package/dist/esm/adapters/openai.d.ts +44 -0
- package/dist/esm/adapters/openai.d.ts.map +1 -1
- package/dist/esm/adapters/openai.js +84 -0
- package/dist/esm/adapters/openai.js.map +1 -1
- package/dist/esm/execution-time-fingerprint.d.ts +65 -0
- package/dist/esm/execution-time-fingerprint.d.ts.map +1 -0
- package/dist/esm/execution-time-fingerprint.js +123 -0
- package/dist/esm/execution-time-fingerprint.js.map +1 -0
- package/dist/esm/guard.d.ts.map +1 -1
- package/dist/esm/guard.js +35 -0
- package/dist/esm/guard.js.map +1 -1
- package/dist/esm/index.d.ts +10 -8
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +10 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types.d.ts +23 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
27
|
-
exports.protectedToolToFunctionDeclaration = exports.toGeminiTools = exports.geminiToolAdapter = exports.withCodeRiftsGemini = exports.protectedToolToLangGraph = exports.toLangGraphTools = exports.langGraphToolAdapter = exports.withCodeRiftsLangGraph = exports.protectedToolToAnthropic = exports.toAnthropicTools = exports.anthropicToolAdapter = exports.withCodeRiftsAnthropic = exports.protectedToolToOpenAI = exports.toOpenAITools = exports.openAIToolAdapter = exports.withCodeRiftsOpenAI = exports.guardedFractionAmongRoutes = exports.foldTableSettledCalls = exports.withCodeRifts = exports.coverageReport = exports.DEPLOY_REPAIRABLE_REASONS = exports.bindDeploy = exports.deployGate = exports.gateDecision = exports.RegistryConstructionError = void 0;
|
|
26
|
+
exports.classifyByName = exports.resolveArtifacts = exports.RESIDUAL_UNCONDITIONAL_WRITE = exports.conditionalWriteResidual = exports.tokensEqual = exports.buildConditionalWriteBasis = exports.buildFreshnessBasis = exports.collectFreshnessCallContext = exports.artifactIdsForResolve = exports.isWriteStyleCall = exports.freshnessAllowsEnforce = exports.computePathSetTreeHash = exports.contentByteIdentical = exports.assessWriteStylePrior = exports.assessFreshness = exports.deriveProofBanner = exports.attachProofToAgentResponse = exports.renderFinalAnswerProof = exports.EXECUTION_PROOF_SPEC = exports.assertEnforcedReceiptInvariant = exports.hashExecutionResult = exports.buildExecutionProof = exports.deriveKeySignal = exports.pathClass = exports.classifyCommand = exports.projectState = exports.emptySessionState = exports.computeTainted = exports.evaluate = exports.updateSession = exports.SESSION_TAINT_VERSION = exports.SessionTaintTracker = exports.readDecision = exports.EXECUTION_TIME_FP_REASONS = exports.computeCanonicalBundleFingerprint = exports.authorizedFingerprintFromEnvelope = exports.checkExecutionTimeFingerprint = exports.computeBundleFingerprint = exports.computeArtifactDigest = exports.evaluateEnvelope = exports.RECEIPT_PREV_NULL = exports.decodeReceiptBodyPrev = exports.previousReceiptCommitment = exports.verifyReceiptChainLinkage = exports.canonicalJson = exports.computeBodyHash = exports.bindReceiptToEnvelope = exports.DETECTOR_VERSION = exports.builtinDetector = exports.guardToolCall = void 0;
|
|
27
|
+
exports.defaultSerializeGeminiToolResult = exports.bindGeminiGuardOutcome = exports.protectedToolToFunctionDeclaration = exports.toGeminiTools = exports.geminiToolAdapter = exports.withCodeRiftsGemini = exports.defaultSerializeLangGraphToolResult = exports.bindLangGraphGuardOutcome = exports.protectedToolToLangGraph = exports.toLangGraphTools = exports.langGraphToolAdapter = exports.withCodeRiftsLangGraph = exports.defaultSerializeAnthropicToolResult = exports.bindAnthropicGuardOutcome = exports.protectedToolToAnthropic = exports.toAnthropicTools = exports.anthropicToolAdapter = exports.withCodeRiftsAnthropic = exports.defaultSerializeOpenAIToolResult = exports.bindOpenAIGuardOutcome = exports.protectedToolToOpenAI = exports.toOpenAITools = exports.openAIToolAdapter = exports.withCodeRiftsOpenAI = exports.guardedFractionAmongRoutes = exports.foldTableSettledCalls = exports.withCodeRifts = exports.coverageReport = exports.DEPLOY_REPAIRABLE_REASONS = exports.bindDeploy = exports.deployGate = exports.gateDecision = exports.RegistryConstructionError = exports.guardToolRegistry = exports.globToRegExp = exports.matchGlob = exports.blobMapKey = void 0;
|
|
28
28
|
var guard_js_1 = require("./guard.js");
|
|
29
29
|
Object.defineProperty(exports, "guardToolCall", { enumerable: true, get: function () { return guard_js_1.guardToolCall; } });
|
|
30
30
|
var detector_js_1 = require("./detector.js");
|
|
@@ -47,6 +47,12 @@ var enforcement_gate_js_1 = require("./enforcement-gate.js");
|
|
|
47
47
|
Object.defineProperty(exports, "evaluateEnvelope", { enumerable: true, get: function () { return enforcement_gate_js_1.evaluateEnvelope; } });
|
|
48
48
|
Object.defineProperty(exports, "computeArtifactDigest", { enumerable: true, get: function () { return enforcement_gate_js_1.computeArtifactDigest; } });
|
|
49
49
|
Object.defineProperty(exports, "computeBundleFingerprint", { enumerable: true, get: function () { return enforcement_gate_js_1.computeBundleFingerprint; } });
|
|
50
|
+
// ID842 step 1 — host-independent T2 execution-time fingerprint recheck (opt-in requireExecutionStateMatch).
|
|
51
|
+
var execution_time_fingerprint_js_1 = require("./execution-time-fingerprint.js");
|
|
52
|
+
Object.defineProperty(exports, "checkExecutionTimeFingerprint", { enumerable: true, get: function () { return execution_time_fingerprint_js_1.checkExecutionTimeFingerprint; } });
|
|
53
|
+
Object.defineProperty(exports, "authorizedFingerprintFromEnvelope", { enumerable: true, get: function () { return execution_time_fingerprint_js_1.authorizedFingerprintFromEnvelope; } });
|
|
54
|
+
Object.defineProperty(exports, "computeCanonicalBundleFingerprint", { enumerable: true, get: function () { return execution_time_fingerprint_js_1.computeCanonicalBundleFingerprint; } });
|
|
55
|
+
Object.defineProperty(exports, "EXECUTION_TIME_FP_REASONS", { enumerable: true, get: function () { return execution_time_fingerprint_js_1.EXECUTION_TIME_FP_REASONS; } });
|
|
50
56
|
// Guard-local readDecision: present-but-unrecognised execution_action does NOT fall through to
|
|
51
57
|
// the decision map (SDK ladder did — that reinvented permission). Missing action still maps.
|
|
52
58
|
var read_decision_js_1 = require("./read-decision.js");
|
|
@@ -127,27 +133,39 @@ Object.defineProperty(exports, "foldTableSettledCalls", { enumerable: true, get:
|
|
|
127
133
|
Object.defineProperty(exports, "guardedFractionAmongRoutes", { enumerable: true, get: function () { return with_coderifts_js_1.guardedFractionAmongRoutes; } });
|
|
128
134
|
// ID632 slice 1 — thin OpenAI tool-calling adapter over withCodeRifts (reference adapter).
|
|
129
135
|
// Shape converter only; assurance objects pass through untouched.
|
|
136
|
+
// ID827 phase 1 — bindOpenAIGuardOutcome (Option B proof binder; additive, guard@6.1).
|
|
130
137
|
var openai_js_1 = require("./adapters/openai.js");
|
|
131
138
|
Object.defineProperty(exports, "withCodeRiftsOpenAI", { enumerable: true, get: function () { return openai_js_1.withCodeRiftsOpenAI; } });
|
|
132
139
|
Object.defineProperty(exports, "openAIToolAdapter", { enumerable: true, get: function () { return openai_js_1.openAIToolAdapter; } });
|
|
133
140
|
Object.defineProperty(exports, "toOpenAITools", { enumerable: true, get: function () { return openai_js_1.toOpenAITools; } });
|
|
134
141
|
Object.defineProperty(exports, "protectedToolToOpenAI", { enumerable: true, get: function () { return openai_js_1.protectedToolToOpenAI; } });
|
|
142
|
+
Object.defineProperty(exports, "bindOpenAIGuardOutcome", { enumerable: true, get: function () { return openai_js_1.bindOpenAIGuardOutcome; } });
|
|
143
|
+
Object.defineProperty(exports, "defaultSerializeOpenAIToolResult", { enumerable: true, get: function () { return openai_js_1.defaultSerializeOpenAIToolResult; } });
|
|
135
144
|
// ID632 slice 2 — thin Anthropic tool_use adapter (same pattern; only the tool shape differs).
|
|
145
|
+
// ID827 phase 2 — bindAnthropicGuardOutcome (Option B proof binder; additive, guard@6.1).
|
|
136
146
|
var anthropic_js_1 = require("./adapters/anthropic.js");
|
|
137
147
|
Object.defineProperty(exports, "withCodeRiftsAnthropic", { enumerable: true, get: function () { return anthropic_js_1.withCodeRiftsAnthropic; } });
|
|
138
148
|
Object.defineProperty(exports, "anthropicToolAdapter", { enumerable: true, get: function () { return anthropic_js_1.anthropicToolAdapter; } });
|
|
139
149
|
Object.defineProperty(exports, "toAnthropicTools", { enumerable: true, get: function () { return anthropic_js_1.toAnthropicTools; } });
|
|
140
150
|
Object.defineProperty(exports, "protectedToolToAnthropic", { enumerable: true, get: function () { return anthropic_js_1.protectedToolToAnthropic; } });
|
|
151
|
+
Object.defineProperty(exports, "bindAnthropicGuardOutcome", { enumerable: true, get: function () { return anthropic_js_1.bindAnthropicGuardOutcome; } });
|
|
152
|
+
Object.defineProperty(exports, "defaultSerializeAnthropicToolResult", { enumerable: true, get: function () { return anthropic_js_1.defaultSerializeAnthropicToolResult; } });
|
|
141
153
|
// ID632 slice 3 — thin LangChain/LangGraph tool adapter (plain descriptors; no framework dep).
|
|
154
|
+
// ID827 phase 2 — bindLangGraphGuardOutcome (Option B proof binder; additive, guard@6.1).
|
|
142
155
|
var langgraph_js_1 = require("./adapters/langgraph.js");
|
|
143
156
|
Object.defineProperty(exports, "withCodeRiftsLangGraph", { enumerable: true, get: function () { return langgraph_js_1.withCodeRiftsLangGraph; } });
|
|
144
157
|
Object.defineProperty(exports, "langGraphToolAdapter", { enumerable: true, get: function () { return langgraph_js_1.langGraphToolAdapter; } });
|
|
145
158
|
Object.defineProperty(exports, "toLangGraphTools", { enumerable: true, get: function () { return langgraph_js_1.toLangGraphTools; } });
|
|
146
159
|
Object.defineProperty(exports, "protectedToolToLangGraph", { enumerable: true, get: function () { return langgraph_js_1.protectedToolToLangGraph; } });
|
|
160
|
+
Object.defineProperty(exports, "bindLangGraphGuardOutcome", { enumerable: true, get: function () { return langgraph_js_1.bindLangGraphGuardOutcome; } });
|
|
161
|
+
Object.defineProperty(exports, "defaultSerializeLangGraphToolResult", { enumerable: true, get: function () { return langgraph_js_1.defaultSerializeLangGraphToolResult; } });
|
|
147
162
|
// ID632 slice 4 — thin Google Gemini function-calling adapter (functionDeclarations wrapper).
|
|
163
|
+
// ID827 phase 2 — bindGeminiGuardOutcome (Option B proof binder; object response; additive, guard@6.1).
|
|
148
164
|
var gemini_js_1 = require("./adapters/gemini.js");
|
|
149
165
|
Object.defineProperty(exports, "withCodeRiftsGemini", { enumerable: true, get: function () { return gemini_js_1.withCodeRiftsGemini; } });
|
|
150
166
|
Object.defineProperty(exports, "geminiToolAdapter", { enumerable: true, get: function () { return gemini_js_1.geminiToolAdapter; } });
|
|
151
167
|
Object.defineProperty(exports, "toGeminiTools", { enumerable: true, get: function () { return gemini_js_1.toGeminiTools; } });
|
|
152
168
|
Object.defineProperty(exports, "protectedToolToFunctionDeclaration", { enumerable: true, get: function () { return gemini_js_1.protectedToolToFunctionDeclaration; } });
|
|
169
|
+
Object.defineProperty(exports, "bindGeminiGuardOutcome", { enumerable: true, get: function () { return gemini_js_1.bindGeminiGuardOutcome; } });
|
|
170
|
+
Object.defineProperty(exports, "defaultSerializeGeminiToolResult", { enumerable: true, get: function () { return gemini_js_1.defaultSerializeGeminiToolResult; } });
|
|
153
171
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;;AAEH,uCAA2C;AAAlC,yGAAA,aAAa,OAAA;AACtB,6CAAkE;AAAzD,8GAAA,eAAe,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AAC1C,2FAA2F;AAC3F,2DAA6F;AAApF,2HAAA,qBAAqB,OAAA;AAAE,qHAAA,eAAe,OAAA;AAAE,mHAAA,aAAa,OAAA;AAE9D,wGAAwG;AACxG,uDAK4B;AAJ1B,6HAAA,yBAAyB,OAAA;AACzB,6HAAA,yBAAyB,OAAA;AACzB,yHAAA,qBAAqB,OAAA;AACrB,qHAAA,iBAAiB,OAAA;AAMnB,sGAAsG;AACtG,+DAA+D;AAC/D,6DAA0G;AAAjG,uHAAA,gBAAgB,OAAA;AAAE,4HAAA,qBAAqB,OAAA;AAAE,+HAAA,wBAAwB,OAAA;AAE1E,+FAA+F;AAC/F,6FAA6F;AAC7F,uDAAkD;AAAzC,gHAAA,YAAY,OAAA;AAErB,+FAA+F;AAC/F,uDAG4B;AAF1B,uHAAA,mBAAmB,OAAA;AAAE,yHAAA,qBAAqB,OAAA;AAAE,iHAAA,aAAa,OAAA;AAAE,4GAAA,QAAQ,OAAA;AAAE,kHAAA,cAAc,OAAA;AACnF,qHAAA,iBAAiB,OAAA;AAAE,gHAAA,YAAY,OAAA;AAAE,mHAAA,eAAe,OAAA;AAAE,6GAAA,SAAS,OAAA;AAAE,mHAAA,eAAe,OAAA;AA8B9E,8FAA8F;AAC9F,2DAK8B;AAJ5B,yHAAA,mBAAmB,OAAA;AACnB,yHAAA,mBAAmB,OAAA;AACnB,oIAAA,8BAA8B,OAAA;AAC9B,0HAAA,oBAAoB,OAAA;AAGtB,2FAA2F;AAC3F,sFAAsF;AACtF,iEAIiC;AAH/B,+HAAA,sBAAsB,OAAA;AACtB,mIAAA,0BAA0B,OAAA;AAC1B,0HAAA,iBAAiB,OAAA;AASnB,mGAAmG;AACnG,+CAUwB;AATtB,+GAAA,eAAe,OAAA;AACf,qHAAA,qBAAqB,OAAA;AACrB,oHAAA,oBAAoB,OAAA;AACpB,sHAAA,sBAAsB,OAAA;AACtB,sHAAA,sBAAsB,OAAA;AACtB,gHAAA,gBAAgB,OAAA;AAChB,qHAAA,qBAAqB,OAAA;AACrB,2HAAA,2BAA2B,OAAA;AAC3B,mHAAA,mBAAmB,OAAA;AAgBrB,qGAAqG;AACrG,+DAKgC;AAJ9B,kIAAA,0BAA0B,OAAA;AAC1B,mHAAA,WAAW,OAAA;AACX,gIAAA,wBAAwB,OAAA;AACxB,oIAAA,4BAA4B,OAAA;AAU9B,kGAAkG;AAClG,wFAAwF;AACxF,+DAAiG;AAAxF,wHAAA,OAAO,OAAoB;AAAE,sHAAA,cAAc,OAAA;AAAE,kHAAA,UAAU,OAAA;AAKhE,uDAA6D;AAApD,6GAAA,SAAS,OAAA;AAAE,gHAAA,YAAY,OAAA;AAEhC,qGAAqG;AACrG,uDAAkF;AAAzE,qHAAA,iBAAiB,OAAA;AAAE,6HAAA,yBAAyB,OAAA;AAarD,uGAAuG;AACvG,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAMrB,oGAAoG;AACpG,mDAA8C;AAArC,4GAAA,UAAU,OAAA;AAKnB,yGAAyG;AACzG,mDAAyE;AAAhE,4GAAA,UAAU,OAAA;AAAE,2HAAA,yBAAyB,OAAA;AAK9C,uGAAuG;AACvG,2DAAsD;AAA7C,oHAAA,cAAc,OAAA;AAOvB,gGAAgG;AAChG,qGAAqG;AACrG,2GAA2G;AAC3G,yDAI6B;AAH3B,kHAAA,aAAa,OAAA;AACb,0HAAA,qBAAqB,OAAA;AACrB,+HAAA,0BAA0B,OAAA;AAQ5B,2FAA2F;AAC3F,kEAAkE;AAClE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -72,6 +72,19 @@ export interface GuardConfig {
|
|
|
72
72
|
* Default false — API remains opt-in. This package never writes; it only reports and refuses.
|
|
73
73
|
*/
|
|
74
74
|
requireConditionalWrite?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Policy (ID842): T2 execution-time fingerprint recheck immediately before executeFactory.
|
|
77
|
+
* Host-independent — recomputes crbundle.v1 over CURRENT artifacts; does not trust a host-supplied
|
|
78
|
+
* expected_fingerprint for the T2 measurement.
|
|
79
|
+
*
|
|
80
|
+
* Tri-state (least-breaking: keeps boolean semantics; only `'warn'` is new):
|
|
81
|
+
* - false / absent → off (default) — no recheck
|
|
82
|
+
* - true → enforce — hard-block with EXECUTION_STATE_DRIFT on mismatch (step 1 behavior)
|
|
83
|
+
* - 'warn' → report-only — emit `execution_state_drift_observed` on mismatch, still execute
|
|
84
|
+
*
|
|
85
|
+
* Default remains off. warn and enforce are both opt-in; a default flip is a later versioned decision.
|
|
86
|
+
*/
|
|
87
|
+
requireExecutionStateMatch?: boolean | 'warn';
|
|
75
88
|
}
|
|
76
89
|
export interface ToolCallDescriptor {
|
|
77
90
|
toolName: string;
|
|
@@ -209,7 +222,7 @@ export type UnavailableVerdict = {
|
|
|
209
222
|
lkgEnvelope: ReceiptVerifiedEnvelope;
|
|
210
223
|
});
|
|
211
224
|
export type AvailabilityCause = 'TIMEOUT' | 'NETWORK' | 'SERVER_ERROR' | 'RATE_LIMITED';
|
|
212
|
-
export type IntegrityCause = 'INVALID_RESPONSE' | 'UNSUPPORTED_VERSION' | 'SCHEMA_INVALID' | 'RECEIPT_UNVERIFIED' | 'DETECTOR_ERROR' | 'CONFIG_ERROR' | 'PAYLOAD_TOO_LARGE' | 'REQUEST_REJECTED' | 'RECEIPT_ENVELOPE_MISMATCH' | 'DECISION_INCONSISTENT' | 'EXECUTION_ACTION_UNRECOGNISED' | 'ANALYSIS_DEGRADED' | 'ARTIFACT_MISMATCH' | 'RECEIPT_MISSING' | 'MONITORING_UNWIRED' | 'MISSING_ARTIFACT_CONTENT' | 'FRESHNESS_REQUIRED' | 'FRESHNESS_FAILED' | 'CONDITIONAL_WRITE_REQUIRED';
|
|
225
|
+
export type IntegrityCause = 'INVALID_RESPONSE' | 'UNSUPPORTED_VERSION' | 'SCHEMA_INVALID' | 'RECEIPT_UNVERIFIED' | 'DETECTOR_ERROR' | 'CONFIG_ERROR' | 'PAYLOAD_TOO_LARGE' | 'REQUEST_REJECTED' | 'RECEIPT_ENVELOPE_MISMATCH' | 'DECISION_INCONSISTENT' | 'EXECUTION_ACTION_UNRECOGNISED' | 'ANALYSIS_DEGRADED' | 'ARTIFACT_MISMATCH' | 'RECEIPT_MISSING' | 'MONITORING_UNWIRED' | 'MISSING_ARTIFACT_CONTENT' | 'FRESHNESS_REQUIRED' | 'FRESHNESS_FAILED' | 'CONDITIONAL_WRITE_REQUIRED' | 'EXECUTION_STATE_DRIFT';
|
|
213
226
|
export type UnavailableCause = AvailabilityCause | IntegrityCause;
|
|
214
227
|
export interface TriggerDetector {
|
|
215
228
|
version: string;
|
|
@@ -234,5 +247,14 @@ export type GuardEvent = {
|
|
|
234
247
|
durationMs?: number;
|
|
235
248
|
signals?: string[];
|
|
236
249
|
detectorVersion?: string;
|
|
250
|
+
}
|
|
251
|
+
/** ID842 step 3a — warn-mode only: T2 fingerprint drift observed; execution still proceeds. */
|
|
252
|
+
| {
|
|
253
|
+
type: 'execution_state_drift_observed';
|
|
254
|
+
at: string;
|
|
255
|
+
decisionId?: string;
|
|
256
|
+
current_fingerprint: string | null;
|
|
257
|
+
authorized_fingerprint: string | null;
|
|
258
|
+
reason: string;
|
|
237
259
|
};
|
|
238
260
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/cjs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEnG,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAInG,MAAM,MAAM,uBAAuB,GACjC,sBAAsB,GAAG;IAAE,QAAQ,CAAC,iBAAiB,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC;AAEzE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,kBAAkB,CAAC;IACzD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAClC;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;IAC7D;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,gBAAgB,EAAE,oBAAoB,CAAC;IACpE;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
*/
|
|
24
24
|
import type { WithCodeRiftsInput, WithCodeRiftsResult, CompositionAssurance, ReceiptThreadHandle } from '../with-coderifts.js';
|
|
25
25
|
import type { ProtectedTool, RegistryCoverageReport } from '../tool-registry.js';
|
|
26
|
+
import type { GuardOutcome } from '../types.js';
|
|
26
27
|
/**
|
|
27
28
|
* Anthropic Messages API `tools[]` element (tool_use definition).
|
|
28
29
|
* @see https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/overview
|
|
@@ -87,4 +88,29 @@ export declare function withCodeRiftsAnthropic(input: WithCodeRiftsInput): WithC
|
|
|
87
88
|
* Does not re-run the guard; does not invent assurance.
|
|
88
89
|
*/
|
|
89
90
|
export declare function anthropicToolAdapter(result: WithCodeRiftsResult): WithCodeRiftsAnthropicResult;
|
|
91
|
+
/**
|
|
92
|
+
* Minimal Anthropic tool_result content block. No @anthropic-ai/sdk dependency.
|
|
93
|
+
* @see https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/overview
|
|
94
|
+
*/
|
|
95
|
+
export type AnthropicToolResult = {
|
|
96
|
+
type: 'tool_result';
|
|
97
|
+
tool_use_id: string;
|
|
98
|
+
content: string;
|
|
99
|
+
};
|
|
100
|
+
declare const __proofBoundAnthropicBrand: unique symbol;
|
|
101
|
+
export type ProofBoundAnthropicToolResult = AnthropicToolResult & {
|
|
102
|
+
readonly __proofBound: typeof __proofBoundAnthropicBrand;
|
|
103
|
+
};
|
|
104
|
+
export type BindAnthropicGuardOutcomeArgs<T> = {
|
|
105
|
+
/** Anthropic tool_use block id this tool_result answers. */
|
|
106
|
+
tool_use_id: string;
|
|
107
|
+
serialize?: (result: T) => string;
|
|
108
|
+
};
|
|
109
|
+
export declare function defaultSerializeAnthropicToolResult<T>(result: T): string;
|
|
110
|
+
/**
|
|
111
|
+
* Map a full GuardOutcome into an Anthropic tool_result block with proof embedded.
|
|
112
|
+
* Same arm mapping as bindOpenAIGuardOutcome; id field is tool_use_id.
|
|
113
|
+
*/
|
|
114
|
+
export declare function bindAnthropicGuardOutcome<T>(outcome: GuardOutcome<T>, args: BindAnthropicGuardOutcomeArgs<T>): ProofBoundAnthropicToolResult;
|
|
115
|
+
export {};
|
|
90
116
|
//# sourceMappingURL=anthropic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/adapters/anthropic.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;
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/adapters/anthropic.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;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC,iFAAiF;IACjF,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB;;;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,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAgB3E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,GAAG,aAAa,EAAE,CAE1F;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,4BAA4B,CAG9F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,4BAA4B,CAc9F;AAID;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,OAAO,CAAC,MAAM,0BAA0B,EAAE,OAAO,MAAM,CAAC;AACxD,MAAM,MAAM,6BAA6B,GAAG,mBAAmB,GAAG;IAChE,QAAQ,CAAC,YAAY,EAAE,OAAO,0BAA0B,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,6BAA6B,CAAC,CAAC,IAAI;IAC7C,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC;CACnC,CAAC;AAEF,wBAAgB,mCAAmC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAgBxE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EACzC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAC,GACrC,6BAA6B,CA0B/B"}
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
* Mirrors src/adapters/openai.ts — only the target tool shape differs.
|
|
23
23
|
*/
|
|
24
24
|
import { withCodeRifts } from '../with-coderifts.js';
|
|
25
|
+
import { attachProofToAgentResponse } from '../final-answer-proof.js';
|
|
25
26
|
/** Empty JSON Schema object — used when a ProtectedTool has no inputSchema. */
|
|
26
27
|
const EMPTY_INPUT_SCHEMA = Object.freeze({
|
|
27
28
|
type: 'object',
|
|
@@ -88,4 +89,69 @@ export function anthropicToolAdapter(result) {
|
|
|
88
89
|
}
|
|
89
90
|
return out;
|
|
90
91
|
}
|
|
92
|
+
export function defaultSerializeAnthropicToolResult(result) {
|
|
93
|
+
if (typeof result === 'string')
|
|
94
|
+
return result;
|
|
95
|
+
if (typeof result === 'number'
|
|
96
|
+
|| typeof result === 'boolean'
|
|
97
|
+
|| typeof result === 'bigint'
|
|
98
|
+
|| result === null
|
|
99
|
+
|| result === undefined) {
|
|
100
|
+
return String(result);
|
|
101
|
+
}
|
|
102
|
+
try {
|
|
103
|
+
return JSON.stringify(result);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return String(result);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Map a full GuardOutcome into an Anthropic tool_result block with proof embedded.
|
|
111
|
+
* Same arm mapping as bindOpenAIGuardOutcome; id field is tool_use_id.
|
|
112
|
+
*/
|
|
113
|
+
export function bindAnthropicGuardOutcome(outcome, args) {
|
|
114
|
+
const tool_use_id = args.tool_use_id;
|
|
115
|
+
const serialize = args.serialize ?? defaultSerializeAnthropicToolResult;
|
|
116
|
+
let body;
|
|
117
|
+
if (outcome.executed === true) {
|
|
118
|
+
body = serialize(outcome.result);
|
|
119
|
+
}
|
|
120
|
+
else if (outcome.executionAttempted === false) {
|
|
121
|
+
const kind = verdictKind(outcome);
|
|
122
|
+
body =
|
|
123
|
+
`CodeRifts gate did not permit execution (verdict: ${kind}). `
|
|
124
|
+
+ 'No tool result was produced.';
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
const err = 'error' in outcome ? outcome.error : undefined;
|
|
128
|
+
const kind = verdictKind(outcome);
|
|
129
|
+
body =
|
|
130
|
+
`Tool execution failed after gate decision (verdict: ${kind}): ${formatGuardError(err)}`;
|
|
131
|
+
}
|
|
132
|
+
const content = attachProofToAgentResponse(body, outcome.proof);
|
|
133
|
+
const block = {
|
|
134
|
+
type: 'tool_result',
|
|
135
|
+
tool_use_id,
|
|
136
|
+
content,
|
|
137
|
+
};
|
|
138
|
+
return block;
|
|
139
|
+
}
|
|
140
|
+
function verdictKind(outcome) {
|
|
141
|
+
return outcome.verdict && typeof outcome.verdict === 'object' && 'kind' in outcome.verdict
|
|
142
|
+
? String(outcome.verdict.kind)
|
|
143
|
+
: 'UNKNOWN';
|
|
144
|
+
}
|
|
145
|
+
function formatGuardError(err) {
|
|
146
|
+
if (err instanceof Error)
|
|
147
|
+
return err.message || err.name || 'Error';
|
|
148
|
+
if (typeof err === 'string')
|
|
149
|
+
return err;
|
|
150
|
+
try {
|
|
151
|
+
return JSON.stringify(err);
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
return String(err);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
91
157
|
//# sourceMappingURL=anthropic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/adapters/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/adapters/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
*/
|
|
30
30
|
import type { WithCodeRiftsInput, WithCodeRiftsResult, CompositionAssurance, ReceiptThreadHandle } from '../with-coderifts.js';
|
|
31
31
|
import type { ProtectedTool, RegistryCoverageReport } from '../tool-registry.js';
|
|
32
|
+
import type { GuardOutcome } from '../types.js';
|
|
32
33
|
/**
|
|
33
34
|
* One Gemini function declaration (inside functionDeclarations[]).
|
|
34
35
|
* @see https://ai.google.dev/gemini-api/docs/function-calling
|
|
@@ -111,4 +112,42 @@ export declare function withCodeRiftsGemini(input: WithCodeRiftsInput): WithCode
|
|
|
111
112
|
* Does not re-run the guard; does not invent assurance.
|
|
112
113
|
*/
|
|
113
114
|
export declare function geminiToolAdapter(result: WithCodeRiftsResult): WithCodeRiftsGeminiResult;
|
|
115
|
+
/**
|
|
116
|
+
* Minimal Gemini functionResponse part. No @google/generative-ai dependency.
|
|
117
|
+
* `response` is a structured object (not a text string).
|
|
118
|
+
* @see https://ai.google.dev/gemini-api/docs/function-calling
|
|
119
|
+
*/
|
|
120
|
+
export type GeminiFunctionResponse = {
|
|
121
|
+
functionResponse: {
|
|
122
|
+
name: string;
|
|
123
|
+
response: Record<string, unknown>;
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
declare const __proofBoundGeminiBrand: unique symbol;
|
|
127
|
+
export type ProofBoundGeminiFunctionResponse = GeminiFunctionResponse & {
|
|
128
|
+
readonly __proofBound: typeof __proofBoundGeminiBrand;
|
|
129
|
+
};
|
|
130
|
+
export type BindGeminiGuardOutcomeArgs<T> = {
|
|
131
|
+
/** Gemini function name this functionResponse answers. */
|
|
132
|
+
name: string;
|
|
133
|
+
/**
|
|
134
|
+
* Optional result projector into the response.result field.
|
|
135
|
+
* Default keeps JSON-friendly values as-is (objects/arrays/primitives);
|
|
136
|
+
* non-JSON values fall back to String().
|
|
137
|
+
*/
|
|
138
|
+
serialize?: (result: T) => unknown;
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Default Gemini result payload value (structured, not forced through JSON.stringify).
|
|
142
|
+
*/
|
|
143
|
+
export declare function defaultSerializeGeminiToolResult<T>(result: T): unknown;
|
|
144
|
+
/**
|
|
145
|
+
* Map a full GuardOutcome into a Gemini functionResponse part with proof embedded.
|
|
146
|
+
*
|
|
147
|
+
* GEMINI SPECIAL: response is an OBJECT (not a text field):
|
|
148
|
+
* - executed: { result, final_answer_proof, final_answer_proof_text } via attachProofToAgentResponse
|
|
149
|
+
* - blocked/error: { gate_message, final_answer_proof, … } — no fabricated `result` key
|
|
150
|
+
*/
|
|
151
|
+
export declare function bindGeminiGuardOutcome<T>(outcome: GuardOutcome<T>, args: BindGeminiGuardOutcomeArgs<T>): ProofBoundGeminiFunctionResponse;
|
|
152
|
+
export {};
|
|
114
153
|
//# sourceMappingURL=gemini.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/adapters/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;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;
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/adapters/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;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;AACjF,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,aAAa,CAAC;AAGrE;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,oBAAoB,EAAE,yBAAyB,EAAE,CAAC;CACnD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;OAGG;IACH,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB;;;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,kCAAkC,CAAC,IAAI,EAAE,aAAa,GAAG,yBAAyB,CAgBjG;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,GAAG,UAAU,EAAE,CAKpF;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,yBAAyB,CAGxF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,GAAG,yBAAyB,CAcxF;AAID;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,gBAAgB,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;CACH,CAAC;AAEF,OAAO,CAAC,MAAM,uBAAuB,EAAE,OAAO,MAAM,CAAC;AACrD,MAAM,MAAM,gCAAgC,GAAG,sBAAsB,GAAG;IACtE,QAAQ,CAAC,YAAY,EAAE,OAAO,uBAAuB,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI;IAC1C,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAqBtE;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,GAClC,gCAAgC,CAoClC"}
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
* Mirrors src/adapters/openai.ts — only the target tool shape differs.
|
|
29
29
|
*/
|
|
30
30
|
import { withCodeRifts } from '../with-coderifts.js';
|
|
31
|
+
import { attachProofToAgentResponse } from '../final-answer-proof.js';
|
|
31
32
|
/** Empty OpenAPI-like JSON Schema — used when a ProtectedTool has no inputSchema. */
|
|
32
33
|
const EMPTY_PARAMETERS = Object.freeze({
|
|
33
34
|
type: 'object',
|
|
@@ -101,4 +102,84 @@ export function geminiToolAdapter(result) {
|
|
|
101
102
|
}
|
|
102
103
|
return out;
|
|
103
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Default Gemini result payload value (structured, not forced through JSON.stringify).
|
|
107
|
+
*/
|
|
108
|
+
export function defaultSerializeGeminiToolResult(result) {
|
|
109
|
+
if (result === null
|
|
110
|
+
|| result === undefined
|
|
111
|
+
|| typeof result === 'string'
|
|
112
|
+
|| typeof result === 'number'
|
|
113
|
+
|| typeof result === 'boolean') {
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
if (typeof result === 'bigint')
|
|
117
|
+
return String(result);
|
|
118
|
+
if (typeof result === 'object') {
|
|
119
|
+
try {
|
|
120
|
+
// Ensure JSON-serializable by round-trip when possible; on failure keep shallow.
|
|
121
|
+
JSON.stringify(result);
|
|
122
|
+
return result;
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
return String(result);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return String(result);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Map a full GuardOutcome into a Gemini functionResponse part with proof embedded.
|
|
132
|
+
*
|
|
133
|
+
* GEMINI SPECIAL: response is an OBJECT (not a text field):
|
|
134
|
+
* - executed: { result, final_answer_proof, final_answer_proof_text } via attachProofToAgentResponse
|
|
135
|
+
* - blocked/error: { gate_message, final_answer_proof, … } — no fabricated `result` key
|
|
136
|
+
*/
|
|
137
|
+
export function bindGeminiGuardOutcome(outcome, args) {
|
|
138
|
+
const name = args.name;
|
|
139
|
+
const serialize = args.serialize ?? defaultSerializeGeminiToolResult;
|
|
140
|
+
let base;
|
|
141
|
+
if (outcome.executed === true) {
|
|
142
|
+
base = { result: serialize(outcome.result) };
|
|
143
|
+
}
|
|
144
|
+
else if (outcome.executionAttempted === false) {
|
|
145
|
+
const kind = verdictKind(outcome);
|
|
146
|
+
base = {
|
|
147
|
+
gate_message: `CodeRifts gate did not permit execution (verdict: ${kind}). `
|
|
148
|
+
+ 'No tool result was produced.',
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
const err = 'error' in outcome ? outcome.error : undefined;
|
|
153
|
+
const kind = verdictKind(outcome);
|
|
154
|
+
base = {
|
|
155
|
+
gate_message: `Tool execution failed after gate decision (verdict: ${kind}): ${formatGuardError(err)}`,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
// Reuse attachProofToAgentResponse object path → adds final_answer_proof + final_answer_proof_text.
|
|
159
|
+
const bound = attachProofToAgentResponse(base, outcome.proof);
|
|
160
|
+
const part = {
|
|
161
|
+
functionResponse: {
|
|
162
|
+
name,
|
|
163
|
+
response: bound,
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
return part;
|
|
167
|
+
}
|
|
168
|
+
function verdictKind(outcome) {
|
|
169
|
+
return outcome.verdict && typeof outcome.verdict === 'object' && 'kind' in outcome.verdict
|
|
170
|
+
? String(outcome.verdict.kind)
|
|
171
|
+
: 'UNKNOWN';
|
|
172
|
+
}
|
|
173
|
+
function formatGuardError(err) {
|
|
174
|
+
if (err instanceof Error)
|
|
175
|
+
return err.message || err.name || 'Error';
|
|
176
|
+
if (typeof err === 'string')
|
|
177
|
+
return err;
|
|
178
|
+
try {
|
|
179
|
+
return JSON.stringify(err);
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
return String(err);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
104
185
|
//# sourceMappingURL=gemini.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/adapters/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/adapters/gemini.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
*/
|
|
35
35
|
import type { WithCodeRiftsInput, WithCodeRiftsResult, CompositionAssurance, ReceiptThreadHandle } from '../with-coderifts.js';
|
|
36
36
|
import type { ProtectedTool, RegistryCoverageReport } from '../tool-registry.js';
|
|
37
|
+
import type { GuardOutcome } from '../types.js';
|
|
37
38
|
/**
|
|
38
39
|
* Framework-agnostic LangChain/LangGraph tool descriptor (no package import).
|
|
39
40
|
*
|
|
@@ -114,4 +115,32 @@ export declare function withCodeRiftsLangGraph(input: WithCodeRiftsInput): WithC
|
|
|
114
115
|
* Does not re-run the guard; does not invent assurance.
|
|
115
116
|
*/
|
|
116
117
|
export declare function langGraphToolAdapter(result: WithCodeRiftsResult): WithCodeRiftsLangGraphResult;
|
|
118
|
+
/**
|
|
119
|
+
* Minimal LangChain ToolMessage-shaped plain object (no @langchain/* dependency).
|
|
120
|
+
* Host may wrap into ToolMessage: new ToolMessage({ content, tool_call_id, name? }).
|
|
121
|
+
* @see https://js.langchain.com/docs/concepts/messages
|
|
122
|
+
*/
|
|
123
|
+
export type LangGraphToolMessage = {
|
|
124
|
+
content: string;
|
|
125
|
+
tool_call_id: string;
|
|
126
|
+
name?: string;
|
|
127
|
+
};
|
|
128
|
+
declare const __proofBoundLangGraphBrand: unique symbol;
|
|
129
|
+
export type ProofBoundLangGraphToolMessage = LangGraphToolMessage & {
|
|
130
|
+
readonly __proofBound: typeof __proofBoundLangGraphBrand;
|
|
131
|
+
};
|
|
132
|
+
export type BindLangGraphGuardOutcomeArgs<T> = {
|
|
133
|
+
/** LangChain/LangGraph tool_call_id this ToolMessage answers. */
|
|
134
|
+
tool_call_id: string;
|
|
135
|
+
/** Optional tool name (ToolMessage.name). */
|
|
136
|
+
name?: string;
|
|
137
|
+
serialize?: (result: T) => string;
|
|
138
|
+
};
|
|
139
|
+
export declare function defaultSerializeLangGraphToolResult<T>(result: T): string;
|
|
140
|
+
/**
|
|
141
|
+
* Map a full GuardOutcome into a LangGraph/LangChain ToolMessage shape with proof embedded.
|
|
142
|
+
* Same arm mapping as bindOpenAIGuardOutcome; id field is tool_call_id.
|
|
143
|
+
*/
|
|
144
|
+
export declare function bindLangGraphGuardOutcome<T>(outcome: GuardOutcome<T>, args: BindLangGraphGuardOutcomeArgs<T>): ProofBoundLangGraphToolMessage;
|
|
145
|
+
export {};
|
|
117
146
|
//# sourceMappingURL=langgraph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langgraph.d.ts","sourceRoot":"","sources":["../../../src/adapters/langgraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;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;
|
|
1
|
+
{"version":3,"file":"langgraph.d.ts","sourceRoot":"","sources":["../../../src/adapters/langgraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;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;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD;;;;;;;;GAQG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;OAGG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C;;;OAGG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC,iFAAiF;IACjF,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC;;;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;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,uBAAuB,CAqBrF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,GAAG,uBAAuB,EAAE,CAEpG;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,4BAA4B,CAG9F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,4BAA4B,CAc9F;AAID;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,OAAO,CAAC,MAAM,0BAA0B,EAAE,OAAO,MAAM,CAAC;AACxD,MAAM,MAAM,8BAA8B,GAAG,oBAAoB,GAAG;IAClE,QAAQ,CAAC,YAAY,EAAE,OAAO,0BAA0B,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,6BAA6B,CAAC,CAAC,IAAI;IAC7C,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC;CACnC,CAAC;AAEF,wBAAgB,mCAAmC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAgBxE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EACzC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAC,GACrC,8BAA8B,CA4BhC"}
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
* Mirrors src/adapters/openai.ts and anthropic.ts — only the target tool shape differs.
|
|
34
34
|
*/
|
|
35
35
|
import { withCodeRifts } from '../with-coderifts.js';
|
|
36
|
+
import { attachProofToAgentResponse } from '../final-answer-proof.js';
|
|
36
37
|
/** Empty JSON Schema object — used when a ProtectedTool has no inputSchema. */
|
|
37
38
|
const EMPTY_SCHEMA = Object.freeze({
|
|
38
39
|
type: 'object',
|
|
@@ -104,4 +105,71 @@ export function langGraphToolAdapter(result) {
|
|
|
104
105
|
}
|
|
105
106
|
return out;
|
|
106
107
|
}
|
|
108
|
+
export function defaultSerializeLangGraphToolResult(result) {
|
|
109
|
+
if (typeof result === 'string')
|
|
110
|
+
return result;
|
|
111
|
+
if (typeof result === 'number'
|
|
112
|
+
|| typeof result === 'boolean'
|
|
113
|
+
|| typeof result === 'bigint'
|
|
114
|
+
|| result === null
|
|
115
|
+
|| result === undefined) {
|
|
116
|
+
return String(result);
|
|
117
|
+
}
|
|
118
|
+
try {
|
|
119
|
+
return JSON.stringify(result);
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return String(result);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Map a full GuardOutcome into a LangGraph/LangChain ToolMessage shape with proof embedded.
|
|
127
|
+
* Same arm mapping as bindOpenAIGuardOutcome; id field is tool_call_id.
|
|
128
|
+
*/
|
|
129
|
+
export function bindLangGraphGuardOutcome(outcome, args) {
|
|
130
|
+
const tool_call_id = args.tool_call_id;
|
|
131
|
+
const serialize = args.serialize ?? defaultSerializeLangGraphToolResult;
|
|
132
|
+
let body;
|
|
133
|
+
if (outcome.executed === true) {
|
|
134
|
+
body = serialize(outcome.result);
|
|
135
|
+
}
|
|
136
|
+
else if (outcome.executionAttempted === false) {
|
|
137
|
+
const kind = verdictKind(outcome);
|
|
138
|
+
body =
|
|
139
|
+
`CodeRifts gate did not permit execution (verdict: ${kind}). `
|
|
140
|
+
+ 'No tool result was produced.';
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
const err = 'error' in outcome ? outcome.error : undefined;
|
|
144
|
+
const kind = verdictKind(outcome);
|
|
145
|
+
body =
|
|
146
|
+
`Tool execution failed after gate decision (verdict: ${kind}): ${formatGuardError(err)}`;
|
|
147
|
+
}
|
|
148
|
+
const content = attachProofToAgentResponse(body, outcome.proof);
|
|
149
|
+
const msg = {
|
|
150
|
+
content,
|
|
151
|
+
tool_call_id,
|
|
152
|
+
};
|
|
153
|
+
if (args.name != null && args.name !== '') {
|
|
154
|
+
msg.name = args.name;
|
|
155
|
+
}
|
|
156
|
+
return msg;
|
|
157
|
+
}
|
|
158
|
+
function verdictKind(outcome) {
|
|
159
|
+
return outcome.verdict && typeof outcome.verdict === 'object' && 'kind' in outcome.verdict
|
|
160
|
+
? String(outcome.verdict.kind)
|
|
161
|
+
: 'UNKNOWN';
|
|
162
|
+
}
|
|
163
|
+
function formatGuardError(err) {
|
|
164
|
+
if (err instanceof Error)
|
|
165
|
+
return err.message || err.name || 'Error';
|
|
166
|
+
if (typeof err === 'string')
|
|
167
|
+
return err;
|
|
168
|
+
try {
|
|
169
|
+
return JSON.stringify(err);
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
return String(err);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
107
175
|
//# sourceMappingURL=langgraph.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langgraph.js","sourceRoot":"","sources":["../../../src/adapters/langgraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"langgraph.js","sourceRoot":"","sources":["../../../src/adapters/langgraph.ts"],"names":[],"mappings":"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"}
|