agentskeptic 2.3.0 → 3.0.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 (68) hide show
  1. package/README.md +1 -1
  2. package/dist/commercial/postTrustDecisionBlocked.d.ts +11 -0
  3. package/dist/commercial/postTrustDecisionBlocked.d.ts.map +1 -0
  4. package/dist/commercial/postTrustDecisionBlocked.js +33 -0
  5. package/dist/commercial/postTrustDecisionBlocked.js.map +1 -0
  6. package/dist/commercial/trustDecisionRecord.d.ts +45 -0
  7. package/dist/commercial/trustDecisionRecord.d.ts.map +1 -0
  8. package/dist/commercial/trustDecisionRecord.js +65 -0
  9. package/dist/commercial/trustDecisionRecord.js.map +1 -0
  10. package/dist/commercial/trustDecisionRecord.schema.test.d.ts +2 -0
  11. package/dist/commercial/trustDecisionRecord.schema.test.d.ts.map +1 -0
  12. package/dist/commercial/trustDecisionRecord.schema.test.js +35 -0
  13. package/dist/commercial/trustDecisionRecord.schema.test.js.map +1 -0
  14. package/dist/decisionBlocker.d.ts +4 -0
  15. package/dist/decisionBlocker.d.ts.map +1 -1
  16. package/dist/decisionBlocker.js +5 -2
  17. package/dist/decisionBlocker.js.map +1 -1
  18. package/dist/decisionGate.assertSafe.test.js +3 -3
  19. package/dist/decisionGate.assertSafe.test.js.map +1 -1
  20. package/dist/decisionGate.d.ts +4 -0
  21. package/dist/decisionGate.d.ts.map +1 -1
  22. package/dist/decisionGate.js +13 -5
  23. package/dist/decisionGate.js.map +1 -1
  24. package/dist/finalizeIrreversibleTrustBlock.d.ts +12 -0
  25. package/dist/finalizeIrreversibleTrustBlock.d.ts.map +1 -0
  26. package/dist/finalizeIrreversibleTrustBlock.js +13 -0
  27. package/dist/finalizeIrreversibleTrustBlock.js.map +1 -0
  28. package/dist/index.d.ts +3 -3
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +2 -3
  31. package/dist/index.js.map +1 -1
  32. package/dist/langGraphCheckpointTrustGate.d.ts +8 -1
  33. package/dist/langGraphCheckpointTrustGate.d.ts.map +1 -1
  34. package/dist/langGraphCheckpointTrustGate.js +27 -14
  35. package/dist/langGraphCheckpointTrustGate.js.map +1 -1
  36. package/dist/publicDistribution.generated.d.ts +1 -1
  37. package/dist/publicDistribution.generated.js +1 -1
  38. package/dist/schemaLoad.d.ts +1 -1
  39. package/dist/schemaLoad.d.ts.map +1 -1
  40. package/dist/schemaLoad.js +5 -0
  41. package/dist/schemaLoad.js.map +1 -1
  42. package/dist/sdk/_generated/openapi-types.d.ts +111 -0
  43. package/dist/sdk/_generated/openapi-types.d.ts.map +1 -1
  44. package/dist/sdk/deprecatedPublicApi.d.ts +1 -1
  45. package/dist/sdk/deprecatedPublicApi.d.ts.map +1 -1
  46. package/dist/sdk/deprecatedPublicApi.js +2 -2
  47. package/dist/sdk/deprecatedPublicApi.js.map +1 -1
  48. package/dist/trustDecisionBlockedError.d.ts +16 -0
  49. package/dist/trustDecisionBlockedError.d.ts.map +1 -0
  50. package/dist/trustDecisionBlockedError.js +21 -0
  51. package/dist/trustDecisionBlockedError.js.map +1 -0
  52. package/package.json +7 -7
  53. package/schemas/agentskeptic-error-codes.json +42 -0
  54. package/schemas/ci/verification-truth.manifest.json +27 -0
  55. package/schemas/ci/verification-truth.manifest.schema.json +47 -0
  56. package/schemas/openapi-commercial-v1.in.yaml +138 -0
  57. package/schemas/openapi-commercial-v1.yaml +139 -1
  58. package/schemas/trust-certificate-snapshot-v1.schema.json +36 -0
  59. package/schemas/trust-decision-record-v1.schema.json +72 -0
  60. package/scripts/emit-primary-marketing.cjs +1 -0
  61. package/dist/decisionUnsafeError.d.ts +0 -8
  62. package/dist/decisionUnsafeError.d.ts.map +0 -1
  63. package/dist/decisionUnsafeError.js +0 -12
  64. package/dist/decisionUnsafeError.js.map +0 -1
  65. package/dist/langGraphCheckpointTrustUnsafeError.d.ts +0 -8
  66. package/dist/langGraphCheckpointTrustUnsafeError.d.ts.map +0 -1
  67. package/dist/langGraphCheckpointTrustUnsafeError.js +0 -12
  68. package/dist/langGraphCheckpointTrustUnsafeError.js.map +0 -1
package/README.md CHANGED
@@ -330,7 +330,7 @@ Everything beyond core contract verification lives in **[`docs/agentskeptic.md`]
330
330
 
331
331
  **Why SQLite:** same note as under [Contract path](#contract-path-registry--events) (file-backed demo DB; read-only verification SQL).
332
332
 
333
- **`npm test`** runs `node scripts/verify.mjs --profile=default` (build, tests, first-run, adoption, assurance, commercial harness, TTFV, etc. no Postgres). Stage order: **[`docs/testing.md`](docs/testing.md)**.
333
+ **`npm test`** runs **`npm run verification:truth`** (regeneration + contract gate, Postgres distribution, then full journey suite). Requires **`DATABASE_URL`** and **`TELEMETRY_DATABASE_URL`** (see [`website/.env.example`](website/.env.example)). Ordering: **[`docs/testing.md`](docs/testing.md)**.
334
334
 
335
335
  **Full CI parity** (Postgres + Playwright for Debug Console): set **`POSTGRES_ADMIN_URL`** and **`POSTGRES_VERIFICATION_URL`**, then **`npm run test:ci`**. See **[`docs/testing.md`](docs/testing.md)**, [`.github/workflows/ci.yml`](.github/workflows/ci.yml), and: `docker run -d --name etl-pg -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres:16`.
336
336
 
@@ -0,0 +1,11 @@
1
+ import type { TrustDecisionRecordV1 } from "./trustDecisionRecord.js";
2
+ /**
3
+ * Emission allowed iff commercial origin (**`LICENSE_API_BASE_URL`**) and API key coexist.
4
+ * Import rules forbid reading the metering-preflight env pair (`LICENSE_PREFLIGHT` + `_ENABLED`); see repo guard tests.
5
+ */
6
+ export declare function commercialTrustDecisionIngestConfigured(): boolean;
7
+ /**
8
+ * Best-effort POST to **`/api/v1/funnel/trust-decision-blocked`**. Never throws; never logs secrets.
9
+ */
10
+ export declare function postTrustDecisionBlocked(record: TrustDecisionRecordV1): Promise<void>;
11
+ //# sourceMappingURL=postTrustDecisionBlocked.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postTrustDecisionBlocked.d.ts","sourceRoot":"","sources":["../../src/commercial/postTrustDecisionBlocked.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAStE;;;GAGG;AACH,wBAAgB,uCAAuC,IAAI,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB3F"}
@@ -0,0 +1,33 @@
1
+ import { LICENSE_API_BASE_URL } from "../generated/commercialBuildFlags.js";
2
+ import { postVerifyOutcomeBestEffort } from "../sdk/transport.js";
3
+ function resolveBearerApiKey() {
4
+ return (process.env.AGENTSKEPTIC_API_KEY?.trim() || process.env.WORKFLOW_VERIFIER_API_KEY?.trim() || null);
5
+ }
6
+ /**
7
+ * Emission allowed iff commercial origin (**`LICENSE_API_BASE_URL`**) and API key coexist.
8
+ * Import rules forbid reading the metering-preflight env pair (`LICENSE_PREFLIGHT` + `_ENABLED`); see repo guard tests.
9
+ */
10
+ export function commercialTrustDecisionIngestConfigured() {
11
+ return LICENSE_API_BASE_URL.trim().length > 0 && resolveBearerApiKey() !== null;
12
+ }
13
+ /**
14
+ * Best-effort POST to **`/api/v1/funnel/trust-decision-blocked`**. Never throws; never logs secrets.
15
+ */
16
+ export async function postTrustDecisionBlocked(record) {
17
+ const base = LICENSE_API_BASE_URL.replace(/\/$/, "");
18
+ if (base.length === 0) {
19
+ return;
20
+ }
21
+ const apiKey = resolveBearerApiKey();
22
+ if (!apiKey) {
23
+ return;
24
+ }
25
+ const url = `${base}/api/v1/funnel/trust-decision-blocked`;
26
+ const headers = {
27
+ Authorization: `Bearer ${apiKey}`,
28
+ "Content-Type": "application/json",
29
+ };
30
+ headers["x-request-id"] = crypto.randomUUID();
31
+ await postVerifyOutcomeBestEffort({ url, body: record, headers, timeoutMs: 400 });
32
+ }
33
+ //# sourceMappingURL=postTrustDecisionBlocked.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postTrustDecisionBlocked.js","sourceRoot":"","sources":["../../src/commercial/postTrustDecisionBlocked.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,SAAS,mBAAmB;IAC1B,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,EAAE,IAAI,IAAI,CAClG,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uCAAuC;IACrD,OAAO,oBAAoB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,EAAE,KAAK,IAAI,CAAC;AAClF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAA6B;IAC1E,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,IAAI,uCAAuC,CAAC;IAC3D,MAAM,OAAO,GAA2B;QACtC,aAAa,EAAE,UAAU,MAAM,EAAE;QACjC,cAAc,EAAE,kBAAkB;KACnC,CAAC;IACF,OAAO,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAE9C,MAAM,2BAA2B,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;AACpF,CAAC"}
@@ -0,0 +1,45 @@
1
+ import type { OutcomeCertificateV1 } from "../outcomeCertificate.js";
2
+ import { type TrustDecision } from "../trustDecision.js";
3
+ export type TrustGateKind = "contract_sql_irreversible" | "langgraph_checkpoint_terminal";
4
+ /** Wire + stored shape for trust decision ingestion (aligned with **`schemas/trust-decision-record-v1.schema.json`**). */
5
+ export type TrustDecisionRecordV1 = {
6
+ schema_version: 1;
7
+ trust_decision: TrustDecision;
8
+ gate_kind: TrustGateKind;
9
+ routing: {
10
+ routing_key: string;
11
+ team?: string;
12
+ owner_slug?: string;
13
+ };
14
+ certificate_snapshot: TrustCertificateSnapshotV1;
15
+ human_blocker_lines: string[];
16
+ };
17
+ export type TrustCertificateSnapshotV1 = {
18
+ schema_version: 1;
19
+ workflow_id: string;
20
+ run_kind: OutcomeCertificateV1["runKind"];
21
+ state_relation: OutcomeCertificateV1["stateRelation"];
22
+ high_stakes_reliance: OutcomeCertificateV1["highStakesReliance"];
23
+ reason_codes: string[];
24
+ first_problem: {
25
+ seq: number;
26
+ tool_id: string;
27
+ observed_trunc: string;
28
+ expected_trunc: string;
29
+ } | null;
30
+ };
31
+ /** Max UTF-8 size for serialized **`TrustDecisionRecordV1`** posted to hosted ingest. */
32
+ export declare const MAX_TRUST_DECISION_RECORD_UTF8 = 65536;
33
+ export declare function buildCertificateSnapshotV1(cert: OutcomeCertificateV1): TrustCertificateSnapshotV1;
34
+ export type BuildTrustDecisionRecordRoutingOpts = {
35
+ workflowIdFallback: string;
36
+ ownerRoutingKey?: string;
37
+ routingTeam?: string;
38
+ ownerSlug?: string;
39
+ };
40
+ export declare function buildTrustDecisionRecordV1(params: {
41
+ certificate: OutcomeCertificateV1;
42
+ gateKind: TrustGateKind;
43
+ routingOpts: BuildTrustDecisionRecordRoutingOpts;
44
+ }): TrustDecisionRecordV1;
45
+ //# sourceMappingURL=trustDecisionRecord.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trustDecisionRecord.d.ts","sourceRoot":"","sources":["../../src/commercial/trustDecisionRecord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEvF,MAAM,MAAM,aAAa,GAAG,2BAA2B,GAAG,+BAA+B,CAAC;AAE1F,0HAA0H;AAC1H,MAAM,MAAM,qBAAqB,GAAG;IAClC,cAAc,EAAE,CAAC,CAAC;IAClB,cAAc,EAAE,aAAa,CAAC;IAC9B,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,oBAAoB,EAAE,0BAA0B,CAAC;IACjD,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,cAAc,EAAE,CAAC,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC1C,cAAc,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACtD,oBAAoB,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IACjE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EACT;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;KACxB,GACD,IAAI,CAAC;CACV,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,8BAA8B,QAAQ,CAAC;AAkBpD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,oBAAoB,GAAG,0BAA0B,CAoBjG;AAED,MAAM,MAAM,mCAAmC,GAAG;IAChD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IACjD,WAAW,EAAE,oBAAoB,CAAC;IAClC,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,mCAAmC,CAAC;CAClD,GAAG,qBAAqB,CA0BxB"}
@@ -0,0 +1,65 @@
1
+ import { firstProblemStepForCertificate, formatDecisionBlockerForHumans } from "../decisionBlocker.js";
2
+ import { trustDecisionFromCertificate } from "../trustDecision.js";
3
+ /** Max UTF-8 size for serialized **`TrustDecisionRecordV1`** posted to hosted ingest. */
4
+ export const MAX_TRUST_DECISION_RECORD_UTF8 = 65536;
5
+ function truncateUtf16CodeUnits(s, max) {
6
+ const t = s.length <= max ? s : `${s.slice(0, max - 1)}…`;
7
+ return t.length <= max ? t : t.slice(0, max);
8
+ }
9
+ function sortedUniqueReasonCodes(details, cap) {
10
+ const raw = details.map((d) => d.code);
11
+ const out = [];
12
+ for (const c of [...new Set(raw)].sort((a, b) => a.localeCompare(b))) {
13
+ const t = c.length > 256 ? c.slice(0, 255) + "…" : c;
14
+ out.push(t);
15
+ if (out.length >= cap)
16
+ break;
17
+ }
18
+ return out;
19
+ }
20
+ export function buildCertificateSnapshotV1(cert) {
21
+ const codes = sortedUniqueReasonCodes(cert.explanation.details, 24);
22
+ const primary = firstProblemStepForCertificate(cert);
23
+ return {
24
+ schema_version: 1,
25
+ workflow_id: cert.workflowId,
26
+ run_kind: cert.runKind,
27
+ state_relation: cert.stateRelation,
28
+ high_stakes_reliance: cert.highStakesReliance,
29
+ reason_codes: codes,
30
+ first_problem: primary === null
31
+ ? null
32
+ : {
33
+ seq: primary.seq,
34
+ tool_id: primary.toolId ?? "unknown",
35
+ observed_trunc: truncateUtf16CodeUnits(primary.observedOutcome, 512),
36
+ expected_trunc: truncateUtf16CodeUnits(primary.expectedOutcome, 512),
37
+ },
38
+ };
39
+ }
40
+ export function buildTrustDecisionRecordV1(params) {
41
+ const { certificate, gateKind } = params;
42
+ const { lines } = formatDecisionBlockerForHumans(certificate);
43
+ const routing_key = params.routingOpts.ownerRoutingKey ?? params.routingOpts.workflowIdFallback;
44
+ const routing = { routing_key };
45
+ if (params.routingOpts.routingTeam !== undefined && params.routingOpts.routingTeam.length > 0) {
46
+ routing.team = params.routingOpts.routingTeam;
47
+ }
48
+ if (params.routingOpts.ownerSlug !== undefined && params.routingOpts.ownerSlug.length > 0) {
49
+ routing.owner_slug = params.routingOpts.ownerSlug;
50
+ }
51
+ const record = {
52
+ schema_version: 1,
53
+ trust_decision: trustDecisionFromCertificate(certificate),
54
+ gate_kind: gateKind,
55
+ routing,
56
+ certificate_snapshot: buildCertificateSnapshotV1(certificate),
57
+ human_blocker_lines: lines,
58
+ };
59
+ const size = Buffer.byteLength(JSON.stringify(record), "utf8");
60
+ if (size > MAX_TRUST_DECISION_RECORD_UTF8) {
61
+ throw new Error(`buildTrustDecisionRecordV1: record exceeds MAX_TRUST_DECISION_RECORD_UTF8 (${size} > ${MAX_TRUST_DECISION_RECORD_UTF8})`);
62
+ }
63
+ return record;
64
+ }
65
+ //# sourceMappingURL=trustDecisionRecord.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trustDecisionRecord.js","sourceRoot":"","sources":["../../src/commercial/trustDecisionRecord.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=trustDecisionRecord.schema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trustDecisionRecord.schema.test.d.ts","sourceRoot":"","sources":["../../src/commercial/trustDecisionRecord.schema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { loadSchemaValidator } from "../schemaLoad.js";
3
+ import { buildTrustDecisionRecordV1 } from "./trustDecisionRecord.js";
4
+ const minimalCertNoSafe = {
5
+ schemaVersion: 1,
6
+ workflowId: "wf_x",
7
+ runKind: "contract_sql",
8
+ stateRelation: "does_not_match",
9
+ highStakesReliance: "prohibited",
10
+ relianceRationale: "x",
11
+ intentSummary: "x",
12
+ explanation: { headline: "h", details: [{ code: "C", message: "m" }] },
13
+ steps: [
14
+ {
15
+ seq: 0,
16
+ toolId: "t",
17
+ declaredAction: "a",
18
+ expectedOutcome: "e",
19
+ observedOutcome: "o",
20
+ },
21
+ ],
22
+ humanReport: "r",
23
+ };
24
+ describe("trust decision record ingest shape", () => {
25
+ it("validates TrustDecisionRecordV1 envelope", () => {
26
+ const record = buildTrustDecisionRecordV1({
27
+ certificate: minimalCertNoSafe,
28
+ gateKind: "contract_sql_irreversible",
29
+ routingOpts: { workflowIdFallback: "wf_x" },
30
+ });
31
+ const v = loadSchemaValidator("trust-decision-record-v1");
32
+ expect(v(record)).toBe(true);
33
+ });
34
+ });
35
+ //# sourceMappingURL=trustDecisionRecord.schema.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trustDecisionRecord.schema.test.js","sourceRoot":"","sources":["../../src/commercial/trustDecisionRecord.schema.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,MAAM,iBAAiB,GAAyB;IAC9C,aAAa,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,cAAc;IACvB,aAAa,EAAE,gBAAgB;IAC/B,kBAAkB,EAAE,YAAY;IAChC,iBAAiB,EAAE,GAAG;IACtB,aAAa,EAAE,GAAG;IAClB,WAAW,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;IACtE,KAAK,EAAE;QACL;YACE,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,GAAG;YACX,cAAc,EAAE,GAAG;YACnB,eAAe,EAAE,GAAG;YACpB,eAAe,EAAE,GAAG;SACrB;KACF;IACD,WAAW,EAAE,GAAG;CACjB,CAAC;AAEF,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,MAAM,GAAG,0BAA0B,CAAC;YACxC,WAAW,EAAE,iBAAiB;YAC9B,QAAQ,EAAE,2BAA2B;YACrC,WAAW,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE;SAC5C,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;QAC1D,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,5 +1,9 @@
1
1
  import type { OutcomeCertificateV1 } from "./outcomeCertificate.js";
2
2
  import { type TrustDecision } from "./trustDecision.js";
3
+ /**
4
+ * Exported for Trust Decision Record snapshots — same selection rules as **`formatDecisionBlockerForHumans`**.
5
+ */
6
+ export declare function firstProblemStepForCertificate(certificate: OutcomeCertificateV1): OutcomeCertificateV1["steps"][0] | null;
3
7
  /**
4
8
  * Fixed six-line human blocker for operators (Requirement 4 contract).
5
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"decisionBlocker.d.ts","sourceRoot":"","sources":["../src/decisionBlocker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAgCtF;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,oBAAoB,GAAG;IACjF,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAoCA"}
1
+ {"version":3,"file":"decisionBlocker.d.ts","sourceRoot":"","sources":["../src/decisionBlocker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAqBtF;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,oBAAoB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CASzH;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,oBAAoB,GAAG;IACjF,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAoCA"}
@@ -19,7 +19,10 @@ function inferStepStatus(step) {
19
19
  return "verified";
20
20
  return "non_verified";
21
21
  }
22
- function pickPrimaryStep(certificate) {
22
+ /**
23
+ * Exported for Trust Decision Record snapshots — same selection rules as **`formatDecisionBlockerForHumans`**.
24
+ */
25
+ export function firstProblemStepForCertificate(certificate) {
23
26
  const steps = [...certificate.steps].sort((a, b) => a.seq - b.seq);
24
27
  if (steps.length === 0)
25
28
  return null;
@@ -38,7 +41,7 @@ function pickPrimaryStep(certificate) {
38
41
  export function formatDecisionBlockerForHumans(certificate) {
39
42
  const trustDecision = trustDecisionFromCertificate(certificate);
40
43
  const codes = sortedUniqueCodes(certificate.explanation.details.map((d) => d.code), 5);
41
- const primary = pickPrimaryStep(certificate);
44
+ const primary = firstProblemStepForCertificate(certificate);
42
45
  const line3 = trustDecision === "safe"
43
46
  ? "First problem step: n/a"
44
47
  : primary !== null
@@ -1 +1 @@
1
- {"version":3,"file":"decisionBlocker.js","sourceRoot":"","sources":["../src/decisionBlocker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decisionBlocker.js","sourceRoot":"","sources":["../src/decisionBlocker.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { fileURLToPath } from "node:url";
5
5
  import { DatabaseSync } from "node:sqlite";
6
6
  import { afterAll, beforeAll, describe, expect, it } from "vitest";
7
7
  import { createDecisionGateImpl } from "./decisionGate.js";
8
- import { DecisionUnsafeError } from "./decisionUnsafeError.js";
8
+ import { TrustDecisionBlockedError } from "./trustDecisionBlockedError.js";
9
9
  const root = join(dirname(fileURLToPath(import.meta.url)), "..");
10
10
  describe("DecisionGate.assertSafeForIrreversibleAction", () => {
11
11
  /** Seeded SQLite under tmp — `examples/demo.db` is gitignored and absent on clean CI. */
@@ -22,7 +22,7 @@ describe("DecisionGate.assertSafeForIrreversibleAction", () => {
22
22
  afterAll(() => {
23
23
  rmSync(workDir, { recursive: true, force: true });
24
24
  });
25
- it("throws DecisionUnsafeError when DB does not match (wf_missing)", async () => {
25
+ it("throws TrustDecisionBlockedError when DB does not match (wf_missing)", async () => {
26
26
  const eventsPath = join(root, "examples", "events.ndjson");
27
27
  const registryPath = join(root, "examples", "tools.json");
28
28
  const lines = readFileSync(eventsPath, "utf8").split(/\r?\n/).filter((l) => l.trim().length > 0);
@@ -41,7 +41,7 @@ describe("DecisionGate.assertSafeForIrreversibleAction", () => {
41
41
  }
42
42
  }
43
43
  await expect(gate.assertSafeForIrreversibleAction()).rejects.toSatisfy((e) => {
44
- if (!(e instanceof DecisionUnsafeError))
44
+ if (!(e instanceof TrustDecisionBlockedError))
45
45
  return false;
46
46
  if (e.trustDecision !== "unsafe")
47
47
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"decisionGate.assertSafe.test.js","sourceRoot":"","sources":["../src/decisionGate.assertSafe.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decisionGate.assertSafe.test.js","sourceRoot":"","sources":["../src/decisionGate.assertSafe.test.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,10 @@ export type CreateDecisionGateOptions = {
8
8
  verificationPolicy?: VerificationPolicy;
9
9
  logStep?: (line: object) => void;
10
10
  truthReport?: (report: string) => void;
11
+ /** Overrides **`routing.routing_key`** in **`TrustDecisionRecordV1`** (default **`workflowId`**). */
12
+ ownerRoutingKey?: string;
13
+ routingTeam?: string;
14
+ ownerSlug?: string;
11
15
  };
12
16
  export type DecisionGate = {
13
17
  appendRunEvent(value: unknown): void;
@@ -1 +1 @@
1
- {"version":3,"file":"decisionGate.d.ts","sourceRoot":"","sources":["../src/decisionGate.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAC;AAKjC,OAAO,KAAK,EAA0C,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAW7G,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,YAAY,IAAI,MAAM,CAAC;IACvB,qBAAqB,IAAI,IAAI,CAAC;IAC9B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IACpC,mBAAmB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrD,+BAA+B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,yBAAyB,GAAG,YAAY,CA+FvF"}
1
+ {"version":3,"file":"decisionGate.d.ts","sourceRoot":"","sources":["../src/decisionGate.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAC;AAKjC,OAAO,KAAK,EAA0C,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAU7G,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,qGAAqG;IACrG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,YAAY,IAAI,MAAM,CAAC;IACvB,qBAAqB,IAAI,IAAI,CAAC;IAC9B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IACpC,mBAAmB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrD,+BAA+B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,yBAAyB,GAAG,YAAY,CAwGvF"}
@@ -8,8 +8,7 @@ import { loadSchemaValidator } from "./schemaLoad.js";
8
8
  import { resolveVerificationPolicyInput } from "./verificationPolicy.js";
9
9
  import { TruthLayerError } from "./truthLayerError.js";
10
10
  import { trustDecisionFromCertificate } from "./trustDecision.js";
11
- import { formatDecisionBlockerForHumans } from "./decisionBlocker.js";
12
- import { DecisionUnsafeError } from "./decisionUnsafeError.js";
11
+ import { finalizeIrreversibleBlockThrow } from "./finalizeIrreversibleTrustBlock.js";
13
12
  const validateEvent = loadSchemaValidator("event");
14
13
  function verificationDatabaseFromUrl(databaseUrl, projectRoot) {
15
14
  return parseVerificationDatabaseUrl(databaseUrl, projectRoot);
@@ -86,10 +85,19 @@ export function createDecisionGateImpl(options) {
86
85
  };
87
86
  api.assertSafeForIrreversibleAction = async () => {
88
87
  const certificate = await api.evaluateCertificate();
89
- if (trustDecisionFromCertificate(certificate) !== "safe") {
90
- const { lines } = formatDecisionBlockerForHumans(certificate);
91
- throw new DecisionUnsafeError(certificate, lines);
88
+ if (trustDecisionFromCertificate(certificate) === "safe") {
89
+ return;
92
90
  }
91
+ await finalizeIrreversibleBlockThrow({
92
+ certificate,
93
+ gateKind: "contract_sql_irreversible",
94
+ routingOpts: {
95
+ workflowIdFallback: options.workflowId,
96
+ ownerRoutingKey: options.ownerRoutingKey,
97
+ routingTeam: options.routingTeam,
98
+ ownerSlug: options.ownerSlug,
99
+ },
100
+ });
93
101
  };
94
102
  return api;
95
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decisionGate.js","sourceRoot":"","sources":["../src/decisionGate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decisionGate.js","sourceRoot":"","sources":["../src/decisionGate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { OutcomeCertificateV1 } from "./outcomeCertificate.js";
2
+ import { type BuildTrustDecisionRecordRoutingOpts, type TrustGateKind } from "./commercial/trustDecisionRecord.js";
3
+ /**
4
+ * Mandatory emit (**best-effort**) then **`TrustDecisionBlockedError`**.
5
+ * Caller must only invoke after determining trust is not **`safe`** from the outcome certificate.
6
+ */
7
+ export declare function finalizeIrreversibleBlockThrow(params: {
8
+ certificate: OutcomeCertificateV1;
9
+ gateKind: TrustGateKind;
10
+ routingOpts: BuildTrustDecisionRecordRoutingOpts;
11
+ }): Promise<never>;
12
+ //# sourceMappingURL=finalizeIrreversibleTrustBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finalizeIrreversibleTrustBlock.d.ts","sourceRoot":"","sources":["../src/finalizeIrreversibleTrustBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAEL,KAAK,mCAAmC,EACxC,KAAK,aAAa,EACnB,MAAM,qCAAqC,CAAC;AAI7C;;;GAGG;AACH,wBAAsB,8BAA8B,CAAC,MAAM,EAAE;IAC3D,WAAW,EAAE,oBAAoB,CAAC;IAClC,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,mCAAmC,CAAC;CAClD,GAAG,OAAO,CAAC,KAAK,CAAC,CAIjB"}
@@ -0,0 +1,13 @@
1
+ import { buildTrustDecisionRecordV1, } from "./commercial/trustDecisionRecord.js";
2
+ import { postTrustDecisionBlocked } from "./commercial/postTrustDecisionBlocked.js";
3
+ import { TrustDecisionBlockedError } from "./trustDecisionBlockedError.js";
4
+ /**
5
+ * Mandatory emit (**best-effort**) then **`TrustDecisionBlockedError`**.
6
+ * Caller must only invoke after determining trust is not **`safe`** from the outcome certificate.
7
+ */
8
+ export async function finalizeIrreversibleBlockThrow(params) {
9
+ const record = buildTrustDecisionRecordV1(params);
10
+ await postTrustDecisionBlocked(record);
11
+ throw new TrustDecisionBlockedError(record, params.certificate);
12
+ }
13
+ //# sourceMappingURL=finalizeIrreversibleTrustBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finalizeIrreversibleTrustBlock.js","sourceRoot":"","sources":["../src/finalizeIrreversibleTrustBlock.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,GAG3B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,MAIpD;IACC,MAAM,MAAM,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,IAAI,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;AAClE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -9,11 +9,11 @@ export { verifyWorkflow, createDecisionGate, verifyAgentskeptic, runQuickVerify,
9
9
  export type { CreateDecisionGateOptions, DecisionGate } from "./decisionGate.js";
10
10
  export { classifyLangGraphCheckpointTrustEligibility } from "./langGraphCheckpointTrustGate.js";
11
11
  export type { CreateLangGraphCheckpointTrustGateOptions, LangGraphCheckpointTrustEligibility, LangGraphCheckpointTrustGate, } from "./langGraphCheckpointTrustGate.js";
12
- export { LangGraphCheckpointTrustUnsafeError } from "./langGraphCheckpointTrustUnsafeError.js";
13
12
  export { trustDecisionFromCertificate } from "./trustDecision.js";
14
13
  export type { TrustDecision } from "./trustDecision.js";
15
- export { formatDecisionBlockerForHumans } from "./decisionBlocker.js";
16
- export { DecisionUnsafeError } from "./decisionUnsafeError.js";
14
+ export { formatDecisionBlockerForHumans, firstProblemStepForCertificate } from "./decisionBlocker.js";
15
+ export { TrustDecisionBlockedError } from "./trustDecisionBlockedError.js";
16
+ export type { TrustDecisionRecordV1, TrustCertificateSnapshotV1, TrustGateKind, } from "./commercial/trustDecisionRecord.js";
17
17
  export { loadSchemaValidator } from "./schemaLoad.js";
18
18
  export type { SchemaValidatorName } from "./schemaLoad.js";
19
19
  export { quickReportToStdoutLine } from "./quickVerify/runQuickVerify.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,10 +4,9 @@ export { buildOutcomeCertificateFromWorkflowResult, buildOutcomeCertificateFromQ
4
4
  export { loadToolsRegistry, verifyRunStateFromEvents } from "./pipeline.js";
5
5
  export { verifyWorkflow, createDecisionGate, verifyAgentskeptic, runQuickVerify, runQuickVerifyToValidatedReport, assertLangGraphCheckpointProductionGate, createLangGraphCheckpointTrustGate, } from "./sdk/deprecatedPublicApi.js";
6
6
  export { classifyLangGraphCheckpointTrustEligibility } from "./langGraphCheckpointTrustGate.js";
7
- export { LangGraphCheckpointTrustUnsafeError } from "./langGraphCheckpointTrustUnsafeError.js";
8
7
  export { trustDecisionFromCertificate } from "./trustDecision.js";
9
- export { formatDecisionBlockerForHumans } from "./decisionBlocker.js";
10
- export { DecisionUnsafeError } from "./decisionUnsafeError.js";
8
+ export { formatDecisionBlockerForHumans, firstProblemStepForCertificate } from "./decisionBlocker.js";
9
+ export { TrustDecisionBlockedError } from "./trustDecisionBlockedError.js";
11
10
  export { loadSchemaValidator } from "./schemaLoad.js";
12
11
  export { quickReportToStdoutLine } from "./quickVerify/runQuickVerify.js";
13
12
  export { DEFAULT_QUICK_VERIFY_PRODUCT_TRUTH, buildQuickVerifyProductTruth, } from "./quickVerify/quickVerifyProductTruth.js";
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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"}
@@ -17,7 +17,11 @@ export declare function classifyLangGraphCheckpointTrustEligibility(input: {
17
17
  /**
18
18
  * LangGraph production wedge: succeeds only on terminal row **B** (matches + all checkpoint verdicts verified).
19
19
  */
20
- export declare function assertLangGraphCheckpointProductionGate(certificate: OutcomeCertificateV1): void;
20
+ export declare function assertLangGraphCheckpointProductionGate(certificate: OutcomeCertificateV1, routingOpts?: {
21
+ ownerRoutingKey?: string;
22
+ routingTeam?: string;
23
+ ownerSlug?: string;
24
+ }): Promise<void>;
21
25
  export type CreateLangGraphCheckpointTrustGateOptions = {
22
26
  workflowId: string;
23
27
  registryPath: string;
@@ -26,6 +30,9 @@ export type CreateLangGraphCheckpointTrustGateOptions = {
26
30
  verificationPolicy?: VerificationPolicy;
27
31
  logStep?: (line: object) => void;
28
32
  truthReport?: (report: string) => void;
33
+ ownerRoutingKey?: string;
34
+ routingTeam?: string;
35
+ ownerSlug?: string;
29
36
  };
30
37
  export type LangGraphCheckpointTrustGate = {
31
38
  appendRunEvent(value: unknown): void;
@@ -1 +1 @@
1
- {"version":3,"file":"langGraphCheckpointTrustGate.d.ts","sourceRoot":"","sources":["../src/langGraphCheckpointTrustGate.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAY,iBAAiB,EAAwB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChH,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAC;AAUjC,MAAM,MAAM,mCAAmC,GAC3C;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAClB;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,2CAA2C,CAAC,KAAK,EAAE;IACjE,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACzC,GAAG,mCAAmC,CActC;AAED;;GAEG;AACH,wBAAgB,uCAAuC,CAAC,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAiB/F;AAED,MAAM,MAAM,yCAAyC,GAAG;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,YAAY,IAAI,MAAM,CAAC;IACvB,8EAA8E;IAC9E,kBAAkB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpD,uCAAuC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D,CAAC;AAEF,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,yCAAyC,GACjD,4BAA4B,CAgF9B"}
1
+ {"version":3,"file":"langGraphCheckpointTrustGate.d.ts","sourceRoot":"","sources":["../src/langGraphCheckpointTrustGate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAY,iBAAiB,EAAwB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChH,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAC;AAUjC,MAAM,MAAM,mCAAmC,GAC3C;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAClB;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,2CAA2C,CAAC,KAAK,EAAE;IACjE,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACzC,GAAG,mCAAmC,CActC;AAcD;;GAEG;AACH,wBAAsB,uCAAuC,CAC3D,WAAW,EAAE,oBAAoB,EACjC,WAAW,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACnF,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,MAAM,MAAM,yCAAyC,GAAG;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,YAAY,IAAI,MAAM,CAAC;IACvB,8EAA8E;IAC9E,kBAAkB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpD,uCAAuC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D,CAAC;AAEF,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,yCAAyC,GACjD,4BAA4B,CAoF9B"}