@intutic/clawde 2.2.0 → 2.4.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 (44) hide show
  1. package/README.md +5 -3
  2. package/dist/client.d.ts +26 -3
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +104 -15
  5. package/dist/client.js.map +1 -1
  6. package/dist/control-plane.d.ts +314 -13
  7. package/dist/control-plane.d.ts.map +1 -1
  8. package/dist/control-plane.js +665 -20
  9. package/dist/control-plane.js.map +1 -1
  10. package/dist/errors.d.ts +13 -3
  11. package/dist/errors.d.ts.map +1 -1
  12. package/dist/errors.js +15 -3
  13. package/dist/errors.js.map +1 -1
  14. package/dist/evidence.d.ts +22 -0
  15. package/dist/evidence.d.ts.map +1 -0
  16. package/dist/evidence.js +114 -0
  17. package/dist/evidence.js.map +1 -0
  18. package/dist/git-context.d.ts +27 -0
  19. package/dist/git-context.d.ts.map +1 -0
  20. package/dist/git-context.js +114 -0
  21. package/dist/git-context.js.map +1 -0
  22. package/dist/index.d.ts +4 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +14 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/integrity.d.ts +23 -0
  27. package/dist/integrity.d.ts.map +1 -0
  28. package/dist/integrity.js +89 -0
  29. package/dist/integrity.js.map +1 -0
  30. package/dist/refusals.d.ts +39 -15
  31. package/dist/refusals.d.ts.map +1 -1
  32. package/dist/refusals.js +69 -16
  33. package/dist/refusals.js.map +1 -1
  34. package/dist/toon.d.ts +22 -0
  35. package/dist/toon.d.ts.map +1 -0
  36. package/dist/toon.js +115 -0
  37. package/dist/toon.js.map +1 -0
  38. package/dist/types.d.ts +1182 -1
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/upstream.d.ts +8 -0
  41. package/dist/upstream.d.ts.map +1 -0
  42. package/dist/upstream.js +17 -0
  43. package/dist/upstream.js.map +1 -0
  44. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"control-plane.js","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control-plane.js","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -16,13 +16,23 @@ export declare class ClawdeVerdictError extends ClawdeError {
16
16
  }
17
17
  /**
18
18
  * The proxy refused the request: a policy block, a reask, a loop run held for
19
- * review, a spend cap or a DLP block. Never retried — the same request would be
20
- * refused again. `code` is the proxy's error code and `message` its reason.
19
+ * review, a spend cap, a DLP block, or a tool call the model made that the
20
+ * proxy withheld. Never retried — the same request would be refused again.
21
+ * `code` is the proxy's refusal code, `message` its reason, and `ruleId` the
22
+ * rule that decided, when the proxy names one (every refusal it answers with
23
+ * a 200 does).
21
24
  */
22
25
  export declare class ClawdeBlockedError extends ClawdeVerdictError {
23
26
  verdict: RefusalVerdict;
24
27
  readonly code: string;
25
28
  readonly status: number;
26
- constructor(verdict: RefusalVerdict, code: string, status: number, message: string);
29
+ readonly ruleId: string | undefined;
30
+ /**
31
+ * Seconds until the refusal stops applying, from the proxy's `Retry-After`:
32
+ * set on `RATE_LIMITED` (the next minute) and `BUDGET_EXCEEDED` (the
33
+ * budget's reset). Undefined for a refusal that retrying will not change.
34
+ */
35
+ readonly retryAfterSeconds: number | undefined;
36
+ constructor(verdict: RefusalVerdict, code: string, status: number, message: string, ruleId?: string, retryAfterSeconds?: number);
27
37
  }
28
38
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI5B;AAED,uGAAuG;AACvG,qBAAa,qBAAsB,SAAQ,WAAW;gBACxC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,yBAA0B,SAAQ,WAAW;gBAC5C,OAAO,EAAE,MAAM;CAI5B;AAED,2HAA2H;AAC3H,qBAAa,kBAAmB,SAAQ,WAAW;IAC1C,OAAO,EAAE,MAAM,CAAA;gBAEV,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK7C;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,kBAAkB;IACzC,OAAO,EAAE,cAAc,CAAA;IACtC,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,MAAM,EAAE,MAAM,CAAA;gBAElB,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAMnF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI5B;AAED,uGAAuG;AACvG,qBAAa,qBAAsB,SAAQ,WAAW;gBACxC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,yBAA0B,SAAQ,WAAW;gBAC5C,OAAO,EAAE,MAAM;CAI5B;AAED,2HAA2H;AAC3H,qBAAa,kBAAmB,SAAQ,WAAW;IAC1C,OAAO,EAAE,MAAM,CAAA;gBAEV,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK7C;AAED;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,kBAAkB;IACzC,OAAO,EAAE,cAAc,CAAA;IACtC,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,MAAM,EAAE,MAAM,CAAA;IAC9B,SAAgB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C;;;;OAIG;IACH,SAAgB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAA;gBAEzC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM;CAQhI"}
package/dist/errors.js CHANGED
@@ -35,17 +35,29 @@ class ClawdeVerdictError extends ClawdeError {
35
35
  exports.ClawdeVerdictError = ClawdeVerdictError;
36
36
  /**
37
37
  * The proxy refused the request: a policy block, a reask, a loop run held for
38
- * review, a spend cap or a DLP block. Never retried — the same request would be
39
- * refused again. `code` is the proxy's error code and `message` its reason.
38
+ * review, a spend cap, a DLP block, or a tool call the model made that the
39
+ * proxy withheld. Never retried — the same request would be refused again.
40
+ * `code` is the proxy's refusal code, `message` its reason, and `ruleId` the
41
+ * rule that decided, when the proxy names one (every refusal it answers with
42
+ * a 200 does).
40
43
  */
41
44
  class ClawdeBlockedError extends ClawdeVerdictError {
42
45
  code;
43
46
  status;
44
- constructor(verdict, code, status, message) {
47
+ ruleId;
48
+ /**
49
+ * Seconds until the refusal stops applying, from the proxy's `Retry-After`:
50
+ * set on `RATE_LIMITED` (the next minute) and `BUDGET_EXCEEDED` (the
51
+ * budget's reset). Undefined for a refusal that retrying will not change.
52
+ */
53
+ retryAfterSeconds;
54
+ constructor(verdict, code, status, message, ruleId, retryAfterSeconds) {
45
55
  super(verdict, message);
46
56
  this.name = 'ClawdeBlockedError';
47
57
  this.code = code;
48
58
  this.status = status;
59
+ this.ruleId = ruleId;
60
+ this.retryAfterSeconds = retryAfterSeconds;
49
61
  }
50
62
  }
51
63
  exports.ClawdeBlockedError = ClawdeBlockedError;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AALD,kCAKC;AAED,uGAAuG;AACvG,MAAa,qBAAsB,SAAQ,WAAW;IACpD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AALD,sDAKC;AAED,MAAa,yBAA0B,SAAQ,WAAW;IACxD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAA;IACzC,CAAC;CACF;AALD,8DAKC;AAED,2HAA2H;AAC3H,MAAa,kBAAmB,SAAQ,WAAW;IAC1C,OAAO,CAAQ;IAEtB,YAAY,OAAe,EAAE,OAAe;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CACF;AARD,gDAQC;AAED;;;;GAIG;AACH,MAAa,kBAAmB,SAAQ,kBAAkB;IAExC,IAAI,CAAQ;IACZ,MAAM,CAAQ;IAE9B,YAAY,OAAuB,EAAE,IAAY,EAAE,MAAc,EAAE,OAAe;QAChF,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF;AAXD,gDAWC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AALD,kCAKC;AAED,uGAAuG;AACvG,MAAa,qBAAsB,SAAQ,WAAW;IACpD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AALD,sDAKC;AAED,MAAa,yBAA0B,SAAQ,WAAW;IACxD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAA;IACzC,CAAC;CACF;AALD,8DAKC;AAED,2HAA2H;AAC3H,MAAa,kBAAmB,SAAQ,WAAW;IAC1C,OAAO,CAAQ;IAEtB,YAAY,OAAe,EAAE,OAAe;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CACF;AARD,gDAQC;AAED;;;;;;;GAOG;AACH,MAAa,kBAAmB,SAAQ,kBAAkB;IAExC,IAAI,CAAQ;IACZ,MAAM,CAAQ;IACd,MAAM,CAAoB;IAC1C;;;;OAIG;IACa,iBAAiB,CAAoB;IAErD,YAAY,OAAuB,EAAE,IAAY,EAAE,MAAc,EAAE,OAAe,EAAE,MAAe,EAAE,iBAA0B;QAC7H,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAC5C,CAAC;CACF;AApBD,gDAoBC"}
@@ -0,0 +1,22 @@
1
+ import type { EvidenceArchive, EvidenceVerification, SigningJwks } from './types';
2
+ /** The domain the control plane signs evidence archives under. */
3
+ export declare const EVIDENCE_SIGNING_DOMAIN = "intutic-soc2-evidence-v1";
4
+ /**
5
+ * Object keys sorted recursively, arrays in order: the preimage the control
6
+ * plane hashes, because the archive round-trips through storage that does not
7
+ * keep key order.
8
+ */
9
+ export declare function canonicalJson(value: unknown): string;
10
+ /**
11
+ * Checks an evidence archive the way it was sealed: the manifest's hashes,
12
+ * then the signature over the archive hash against the published key its
13
+ * `keyId` names (`jwks`, from `ControlPlaneClient.getSigningKeys()` or a saved
14
+ * copy; null when it could not be had).
15
+ *
16
+ * `verified` is true only for an archive whose hashes match and whose
17
+ * signature a published key accepts. An unsigned archive, or one whose key is
18
+ * not published, is not verified even when its hashes match: nothing then
19
+ * shows who produced it.
20
+ */
21
+ export declare function verifyEvidenceArchive(archive: EvidenceArchive, jwks: SigningJwks | null): EvidenceVerification;
22
+ //# sourceMappingURL=evidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../src/evidence.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAqD,oBAAoB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEpI,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,6BAA6B,CAAA;AAEjE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOpD;AAuCD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,oBAAoB,CA4B9G"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EVIDENCE_SIGNING_DOMAIN = void 0;
4
+ exports.canonicalJson = canonicalJson;
5
+ exports.verifyEvidenceArchive = verifyEvidenceArchive;
6
+ /**
7
+ * Offline verification of a compliance evidence archive: the check
8
+ * `intutic compliance verify` makes, with nothing but the archive and the
9
+ * control plane's published key set, so the answer does not depend on
10
+ * trusting the server that produced the archive.
11
+ *
12
+ * The rules are the sealer's (`soc2EvidenceService.ts` in the control plane):
13
+ * a sha256 manifest over canonical JSON, and an Ed25519 signature over
14
+ * `intutic-soc2-evidence-v1\n<archiveSha256>`, present only when the
15
+ * deployment had a signing key. The CLI's `commands/compliance.ts` applies the
16
+ * same rules; the tests hold both to the archive the control plane's own code
17
+ * sealed (`tools/cli/src/commands/__fixtures__/evidence-archive.json`).
18
+ *
19
+ * @module
20
+ */
21
+ const crypto_1 = require("crypto");
22
+ /** The domain the control plane signs evidence archives under. */
23
+ exports.EVIDENCE_SIGNING_DOMAIN = 'intutic-soc2-evidence-v1';
24
+ /**
25
+ * Object keys sorted recursively, arrays in order: the preimage the control
26
+ * plane hashes, because the archive round-trips through storage that does not
27
+ * keep key order.
28
+ */
29
+ function canonicalJson(value) {
30
+ if (value === null || typeof value !== 'object')
31
+ return JSON.stringify(value);
32
+ if (Array.isArray(value))
33
+ return `[${value.map(canonicalJson).join(',')}]`;
34
+ const entries = Object.entries(value)
35
+ .filter(([, v]) => v !== undefined)
36
+ .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
37
+ return `{${entries.map(([k, v]) => `${JSON.stringify(k)}:${canonicalJson(v)}`).join(',')}}`;
38
+ }
39
+ const sha256Hex = (data) => (0, crypto_1.createHash)('sha256').update(data).digest('hex');
40
+ /** What one manifest entry hashes, or null when the archive has nothing under that name. */
41
+ function sectionContent(archive, name) {
42
+ const category = archive.categories?.find((c) => c.category === name);
43
+ if (category)
44
+ return canonicalJson(category);
45
+ const m = /^framework:([^:]+)(?::(csv|pdf))?$/.exec(name);
46
+ const framework = m ? archive.frameworks?.find((f) => f.coverage?.frameworkId === m[1]) : undefined;
47
+ if (!m || !framework)
48
+ return null;
49
+ // The CSV as its UTF-8 bytes and the PDF decoded, so a file saved out of
50
+ // the archive checks with `sha256sum` alone.
51
+ if (m[2] === 'csv')
52
+ return framework.csv ?? null;
53
+ if (m[2] === 'pdf')
54
+ return framework.pdf === undefined ? null : Buffer.from(framework.pdf, 'base64');
55
+ return canonicalJson(framework);
56
+ }
57
+ function signatureState(sig, archiveSha256, jwks) {
58
+ // A signature made under another domain (another kind of export) or
59
+ // algorithm is not this archive's signature, whatever its bytes.
60
+ if (sig.preimageDomain !== exports.EVIDENCE_SIGNING_DOMAIN || sig.algorithm !== 'Ed25519')
61
+ return 'invalid';
62
+ if (!jwks)
63
+ return 'keys_unavailable';
64
+ const jwk = jwks.keys.find((k) => k['kid'] === sig.keyId);
65
+ if (!jwk)
66
+ return 'unverifiable';
67
+ try {
68
+ const ok = (0, crypto_1.verify)(null, Buffer.from(`${exports.EVIDENCE_SIGNING_DOMAIN}\n${archiveSha256}`, 'utf8'), (0, crypto_1.createPublicKey)({ key: jwk, format: 'jwk' }), Buffer.from(sig.value, 'base64'));
69
+ return ok ? 'valid' : 'invalid';
70
+ }
71
+ catch {
72
+ // A published key this runtime cannot load is one we do not effectively hold.
73
+ return 'unverifiable';
74
+ }
75
+ }
76
+ /**
77
+ * Checks an evidence archive the way it was sealed: the manifest's hashes,
78
+ * then the signature over the archive hash against the published key its
79
+ * `keyId` names (`jwks`, from `ControlPlaneClient.getSigningKeys()` or a saved
80
+ * copy; null when it could not be had).
81
+ *
82
+ * `verified` is true only for an archive whose hashes match and whose
83
+ * signature a published key accepts. An unsigned archive, or one whose key is
84
+ * not published, is not verified even when its hashes match: nothing then
85
+ * shows who produced it.
86
+ */
87
+ function verifyEvidenceArchive(archive, jwks) {
88
+ const rest = { ...archive };
89
+ delete rest['manifest'];
90
+ delete rest['signature'];
91
+ const archiveSha256 = sha256Hex(canonicalJson(rest));
92
+ const manifest = archive.manifest ?? {};
93
+ const archiveHashMatches = archiveSha256 === manifest.archiveSha256;
94
+ const sections = Object.entries(manifest.sections ?? {});
95
+ const sectionMismatches = sections
96
+ .filter(([name, recorded]) => {
97
+ const content = sectionContent(archive, name);
98
+ return content === null || sha256Hex(content) !== recorded;
99
+ })
100
+ .map(([name]) => name);
101
+ const sig = archive.signature ?? null;
102
+ const signature = sig ? signatureState(sig, manifest.archiveSha256 ?? '', jwks) : 'unsigned';
103
+ return {
104
+ archiveSha256,
105
+ archiveHashMatches,
106
+ sectionMismatches,
107
+ sectionsChecked: sections.length,
108
+ signature,
109
+ signingKeyId: sig?.keyId ?? null,
110
+ unsignedReason: sig ? null : (manifest.unsignedReason ?? null),
111
+ verified: archiveHashMatches && sectionMismatches.length === 0 && signature === 'valid',
112
+ };
113
+ }
114
+ //# sourceMappingURL=evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../src/evidence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export interface GitContext {
2
+ /** The `origin` remote as `host/path`, never with credentials. */
3
+ repoUrl?: string;
4
+ branchName?: string;
5
+ commitHash?: string;
6
+ }
7
+ /**
8
+ * A remote reduced to `host/path`: lower-cased host, no scheme, user, password,
9
+ * port, query, fragment or `.git` suffix; null for anything that is not a
10
+ * network remote. A copy of `normalizeGitRemote` in `@intutic/shared-types`
11
+ * (this package has no dependencies), held to the same vectors in
12
+ * `packages/shared-types/fixtures/git-remote-vectors.json`. Normalised here,
13
+ * before it leaves the machine: a CI checkout's remote embeds a token.
14
+ */
15
+ export declare function normalizeGitRemote(remote: string): string | null;
16
+ /**
17
+ * The git context of `cwd`, best effort: a directory that is not a
18
+ * repository, or a machine without git, gives an empty object.
19
+ *
20
+ * A detached HEAD names no branch. That is how CI checks out a pull request,
21
+ * so the branch then comes from `GITHUB_HEAD_REF` (GitHub Actions' pull
22
+ * request head branch), else `fallbackBranch` (`resolveContext().gitBranch`).
23
+ * Values the control plane's session route would refuse are left out rather
24
+ * than failing the registration.
25
+ */
26
+ export declare function resolveGitContext(cwd: string, fallbackBranch?: string): Promise<GitContext>;
27
+ //# sourceMappingURL=git-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-context.d.ts","sourceRoot":"","sources":["../src/git-context.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,UAAU;IACzB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAKD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4BhE;AA0BD;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAcjG"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeGitRemote = normalizeGitRemote;
4
+ exports.resolveGitContext = resolveGitContext;
5
+ /**
6
+ * The repository, branch and HEAD commit a process runs in: what cost per
7
+ * branch, per commit and per pull request is attributed by.
8
+ *
9
+ * The control plane copies a session's git context onto every trace it
10
+ * records under that session (`POST /api/v1/sessions` takes `repoUrl`,
11
+ * `branchName` and `commitHash`, the same fields the sync daemon reports), so
12
+ * this is what `ClawdeClient` registers its session with. Without it, SDK
13
+ * traffic is filed under "No git context".
14
+ *
15
+ * @module
16
+ */
17
+ const child_process_1 = require("child_process");
18
+ /** Schemes git can fetch over the network. `file:` and local paths are not repositories anyone else can name. */
19
+ const NETWORK_SCHEMES = new Set(['http:', 'https:', 'ssh:', 'git:', 'git+ssh:', 'ssh+git:']);
20
+ /**
21
+ * A remote reduced to `host/path`: lower-cased host, no scheme, user, password,
22
+ * port, query, fragment or `.git` suffix; null for anything that is not a
23
+ * network remote. A copy of `normalizeGitRemote` in `@intutic/shared-types`
24
+ * (this package has no dependencies), held to the same vectors in
25
+ * `packages/shared-types/fixtures/git-remote-vectors.json`. Normalised here,
26
+ * before it leaves the machine: a CI checkout's remote embeds a token.
27
+ */
28
+ function normalizeGitRemote(remote) {
29
+ const raw = remote.trim();
30
+ if (!raw || raw.includes('\\') || /^[a-zA-Z]:\//.test(raw))
31
+ return null;
32
+ let host;
33
+ let path;
34
+ if (/^[a-z][a-z0-9+.-]*:\/\//i.test(raw)) {
35
+ let url;
36
+ try {
37
+ url = new URL(raw);
38
+ }
39
+ catch {
40
+ return null;
41
+ }
42
+ if (!NETWORK_SCHEMES.has(url.protocol))
43
+ return null;
44
+ host = url.hostname;
45
+ path = url.pathname;
46
+ }
47
+ else {
48
+ // scp-like: [user[:password]@]host:path. A colon after the first slash
49
+ // makes it a local path, which is how git itself tells them apart.
50
+ const scp = /^(?:[^@/]+@)?([^:/\s]+):([^\s]+)$/.exec(raw);
51
+ if (!scp)
52
+ return null;
53
+ host = scp[1];
54
+ path = cutAtQueryOrFragment(scp[2]);
55
+ }
56
+ path = trimSlashes(trimSlashes(path).replace(/\.git$/, ''));
57
+ if (!host || !path)
58
+ return null;
59
+ return `${host.toLowerCase()}/${path}`;
60
+ }
61
+ // String scans rather than regexes: a remote is input the developer controls,
62
+ // and `[?#].*$` / `\/+$` backtrack quadratically on long runs.
63
+ function cutAtQueryOrFragment(s) {
64
+ for (let i = 0; i < s.length; i++)
65
+ if (s[i] === '?' || s[i] === '#')
66
+ return s.slice(0, i);
67
+ return s;
68
+ }
69
+ function trimSlashes(s) {
70
+ let start = 0;
71
+ let end = s.length;
72
+ while (start < end && s[start] === '/')
73
+ start++;
74
+ while (end > start && s[end - 1] === '/')
75
+ end--;
76
+ return s.slice(start, end);
77
+ }
78
+ function git(cwd, ...args) {
79
+ return new Promise((resolve) => {
80
+ (0, child_process_1.execFile)('git', args, { cwd, timeout: 3_000 }, (err, stdout) => {
81
+ const out = err ? '' : String(stdout).trim();
82
+ resolve(out.length > 0 ? out : undefined);
83
+ });
84
+ });
85
+ }
86
+ /**
87
+ * The git context of `cwd`, best effort: a directory that is not a
88
+ * repository, or a machine without git, gives an empty object.
89
+ *
90
+ * A detached HEAD names no branch. That is how CI checks out a pull request,
91
+ * so the branch then comes from `GITHUB_HEAD_REF` (GitHub Actions' pull
92
+ * request head branch), else `fallbackBranch` (`resolveContext().gitBranch`).
93
+ * Values the control plane's session route would refuse are left out rather
94
+ * than failing the registration.
95
+ */
96
+ async function resolveGitContext(cwd, fallbackBranch) {
97
+ const [remote, head, commit] = await Promise.all([
98
+ git(cwd, 'remote', 'get-url', 'origin'),
99
+ git(cwd, 'rev-parse', '--abbrev-ref', 'HEAD'),
100
+ git(cwd, 'rev-parse', 'HEAD'),
101
+ ]);
102
+ const repoUrl = remote ? normalizeGitRemote(remote) : null;
103
+ const branchName = (head !== 'HEAD' ? head : undefined) || process.env.GITHUB_HEAD_REF || fallbackBranch;
104
+ const context = {};
105
+ if (repoUrl && repoUrl.length <= 512)
106
+ context.repoUrl = repoUrl;
107
+ if (branchName && branchName.length <= 256)
108
+ context.branchName = branchName;
109
+ // A SHA-1 object id; a SHA-256 repository's 64-character id does not fit the column.
110
+ if (commit && /^[0-9a-f]{40}$/.test(commit))
111
+ context.commitHash = commit;
112
+ return context;
113
+ }
114
+ //# sourceMappingURL=git-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-context.js","sourceRoot":"","sources":["../src/git-context.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,11 @@
1
1
  export { ClawdeClient } from './client';
2
2
  export { ControlPlaneClient } from './control-plane';
3
+ export { verifyEvidenceArchive } from './evidence';
4
+ export { verifyIntegrityRoot } from './integrity';
3
5
  export * from './types';
4
6
  export * from './errors';
7
+ export { PROXY_REFUSALS, REFUSAL_HEADER, REFUSAL_RULE_HEADER, STREAM_REFUSAL_MARKER, streamRefusal, type ProxyRefusal, } from './refusals';
8
+ export { UPSTREAM_ATTEMPTS_HEADER, UPSTREAM_FALLBACK_HEADER } from './upstream';
5
9
  export { resolveContext } from './context-resolver';
6
10
  export { normalizeRequest, normalizeResponse } from './schema-enforcer';
7
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,KAAK,YAAY,GAClB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA"}
package/dist/index.js CHANGED
@@ -14,13 +14,26 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.normalizeResponse = exports.normalizeRequest = exports.resolveContext = exports.ControlPlaneClient = exports.ClawdeClient = void 0;
17
+ exports.normalizeResponse = exports.normalizeRequest = exports.resolveContext = exports.UPSTREAM_FALLBACK_HEADER = exports.UPSTREAM_ATTEMPTS_HEADER = exports.streamRefusal = exports.STREAM_REFUSAL_MARKER = exports.REFUSAL_RULE_HEADER = exports.REFUSAL_HEADER = exports.PROXY_REFUSALS = exports.verifyIntegrityRoot = exports.verifyEvidenceArchive = exports.ControlPlaneClient = exports.ClawdeClient = void 0;
18
18
  var client_1 = require("./client");
19
19
  Object.defineProperty(exports, "ClawdeClient", { enumerable: true, get: function () { return client_1.ClawdeClient; } });
20
20
  var control_plane_1 = require("./control-plane");
21
21
  Object.defineProperty(exports, "ControlPlaneClient", { enumerable: true, get: function () { return control_plane_1.ControlPlaneClient; } });
22
+ var evidence_1 = require("./evidence");
23
+ Object.defineProperty(exports, "verifyEvidenceArchive", { enumerable: true, get: function () { return evidence_1.verifyEvidenceArchive; } });
24
+ var integrity_1 = require("./integrity");
25
+ Object.defineProperty(exports, "verifyIntegrityRoot", { enumerable: true, get: function () { return integrity_1.verifyIntegrityRoot; } });
22
26
  __exportStar(require("./types"), exports);
23
27
  __exportStar(require("./errors"), exports);
28
+ var refusals_1 = require("./refusals");
29
+ Object.defineProperty(exports, "PROXY_REFUSALS", { enumerable: true, get: function () { return refusals_1.PROXY_REFUSALS; } });
30
+ Object.defineProperty(exports, "REFUSAL_HEADER", { enumerable: true, get: function () { return refusals_1.REFUSAL_HEADER; } });
31
+ Object.defineProperty(exports, "REFUSAL_RULE_HEADER", { enumerable: true, get: function () { return refusals_1.REFUSAL_RULE_HEADER; } });
32
+ Object.defineProperty(exports, "STREAM_REFUSAL_MARKER", { enumerable: true, get: function () { return refusals_1.STREAM_REFUSAL_MARKER; } });
33
+ Object.defineProperty(exports, "streamRefusal", { enumerable: true, get: function () { return refusals_1.streamRefusal; } });
34
+ var upstream_1 = require("./upstream");
35
+ Object.defineProperty(exports, "UPSTREAM_ATTEMPTS_HEADER", { enumerable: true, get: function () { return upstream_1.UPSTREAM_ATTEMPTS_HEADER; } });
36
+ Object.defineProperty(exports, "UPSTREAM_FALLBACK_HEADER", { enumerable: true, get: function () { return upstream_1.UPSTREAM_FALLBACK_HEADER; } });
24
37
  var context_resolver_1 = require("./context-resolver");
25
38
  Object.defineProperty(exports, "resolveContext", { enumerable: true, get: function () { return context_resolver_1.resolveContext; } });
26
39
  var schema_enforcer_1 = require("./schema-enforcer");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAAuC;AAA9B,sGAAA,YAAY,OAAA;AACrB,iDAAoD;AAA3C,mHAAA,kBAAkB,OAAA;AAC3B,0CAAuB;AACvB,2CAAwB;AACxB,uDAAmD;AAA1C,kHAAA,cAAc,OAAA;AACvB,qDAAuE;AAA9D,mHAAA,gBAAgB,OAAA;AAAE,oHAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAAuC;AAA9B,sGAAA,YAAY,OAAA;AACrB,iDAAoD;AAA3C,mHAAA,kBAAkB,OAAA;AAC3B,uCAAkD;AAAzC,iHAAA,qBAAqB,OAAA;AAC9B,yCAAiD;AAAxC,gHAAA,mBAAmB,OAAA;AAC5B,0CAAuB;AACvB,2CAAwB;AACxB,uCAOmB;AANjB,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA;AACd,+GAAA,mBAAmB,OAAA;AACnB,iHAAA,qBAAqB,OAAA;AACrB,yGAAA,aAAa,OAAA;AAGf,uCAA+E;AAAtE,oHAAA,wBAAwB,OAAA;AAAE,oHAAA,wBAAwB,OAAA;AAC3D,uDAAmD;AAA1C,kHAAA,cAAc,OAAA;AACvB,qDAAuE;AAA9D,mHAAA,gBAAgB,OAAA;AAAE,oHAAA,iBAAiB,OAAA"}
@@ -0,0 +1,23 @@
1
+ import type { IntegrityRootSignatureState, SignedIntegrityRoot, SigningJwks } from './types';
2
+ /**
3
+ * The exact bytes the control plane signed for this root, under the version
4
+ * the root records. Fields joined by U+001F: domain, workspace, loop run (empty
5
+ * for none), leaf schema version, merkle root; from v2 on, a presence tag and
6
+ * the predecessor, so "no predecessor" is not the same bytes as any value.
7
+ */
8
+ export declare function integrityRootPreimage(root: SignedIntegrityRoot): string;
9
+ /**
10
+ * Checks a sealed root's signature against the published key the root itself
11
+ * names (`jwks`, from `ControlPlaneClient.getSigningKeys()` or a saved copy;
12
+ * null when it could not be had). Pass the `root` of
13
+ * `ControlPlaneClient.getIntegrityRoot()`.
14
+ *
15
+ * Only `invalid` says the root was changed: a published key rejected it.
16
+ * `unverifiable` (the key is not published, or the root names an algorithm or
17
+ * preimage version this build cannot check) and `keys_unavailable` are no
18
+ * verdict, and `unsigned` is a deployment that had no signing key. The key is
19
+ * chosen by `signing_key_id` and never by trying others: a root that verifies
20
+ * under some other key is not the same claim.
21
+ */
22
+ export declare function verifyIntegrityRoot(root: SignedIntegrityRoot, jwks: SigningJwks | null): IntegrityRootSignatureState;
23
+ //# sourceMappingURL=integrity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrity.d.ts","sourceRoot":"","sources":["../src/integrity.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAgB5F;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAevE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,2BAA2B,CAmBpH"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.integrityRootPreimage = integrityRootPreimage;
4
+ exports.verifyIntegrityRoot = verifyIntegrityRoot;
5
+ /**
6
+ * Offline verification of a sealed trace root's signature: the check
7
+ * `intutic integrity verify` makes, with nothing but the root and the control
8
+ * plane's published key set, so the answer does not depend on trusting the
9
+ * server that sealed it.
10
+ *
11
+ * The rules are the signer's (`rootSigner.ts` in the control plane) and the
12
+ * CLI's (`commands/integrity.ts`): an Ed25519 signature over a
13
+ * domain-separated preimage of the root's scope, rebuilt here rather than
14
+ * handed over, under the preimage version the root records. The tests hold
15
+ * this, the CLI and the Python SDK to roots the control plane's own signer
16
+ * sealed (`tools/cli/src/commands/__fixtures__/integrity-roots.json`).
17
+ *
18
+ * @module
19
+ */
20
+ const crypto_1 = require("crypto");
21
+ /**
22
+ * Domain tag per preimage version, as the signer writes them. Also the list of
23
+ * versions this build can rebuild: a root naming any other is unverifiable.
24
+ */
25
+ const SIGN_DOMAIN = {
26
+ 1: 'intutic.merkle-root.v1',
27
+ 2: 'intutic.merkle-root.v2',
28
+ };
29
+ /** The version a root was sealed under; absent means 1 (a control plane older than the column). */
30
+ function preimageVersionOf(root) {
31
+ return root.signing_preimage_version ?? 1;
32
+ }
33
+ /**
34
+ * The exact bytes the control plane signed for this root, under the version
35
+ * the root records. Fields joined by U+001F: domain, workspace, loop run (empty
36
+ * for none), leaf schema version, merkle root; from v2 on, a presence tag and
37
+ * the predecessor, so "no predecessor" is not the same bytes as any value.
38
+ */
39
+ function integrityRootPreimage(root) {
40
+ const version = preimageVersionOf(root);
41
+ const domain = SIGN_DOMAIN[version];
42
+ if (domain === undefined) {
43
+ // Guessing an encoding would produce bytes that were never signed, and the
44
+ // key would then say "forged".
45
+ throw new RangeError(`unknown signing preimage version ${version}`);
46
+ }
47
+ const fields = [domain, root.workspace_id, root.loop_run_id ?? '', String(root.leaf_schema_version), root.merkle_root];
48
+ if (version >= 2) {
49
+ // A previous_root the server omitted is the same claim as an explicit null.
50
+ const previous = root.previous_root ?? null;
51
+ fields.push(previous === null ? '0' : '1', previous ?? '');
52
+ }
53
+ return fields.join('\x1f');
54
+ }
55
+ /**
56
+ * Checks a sealed root's signature against the published key the root itself
57
+ * names (`jwks`, from `ControlPlaneClient.getSigningKeys()` or a saved copy;
58
+ * null when it could not be had). Pass the `root` of
59
+ * `ControlPlaneClient.getIntegrityRoot()`.
60
+ *
61
+ * Only `invalid` says the root was changed: a published key rejected it.
62
+ * `unverifiable` (the key is not published, or the root names an algorithm or
63
+ * preimage version this build cannot check) and `keys_unavailable` are no
64
+ * verdict, and `unsigned` is a deployment that had no signing key. The key is
65
+ * chosen by `signing_key_id` and never by trying others: a root that verifies
66
+ * under some other key is not the same claim.
67
+ */
68
+ function verifyIntegrityRoot(root, jwks) {
69
+ if (!root.signature || !root.signing_key_id)
70
+ return 'unsigned';
71
+ if (!jwks)
72
+ return 'keys_unavailable';
73
+ const jwk = jwks.keys.find((k) => k['kid'] === root.signing_key_id);
74
+ if (!jwk)
75
+ return 'unverifiable';
76
+ if (root.signature_alg !== 'EdDSA')
77
+ return 'unverifiable';
78
+ if (SIGN_DOMAIN[preimageVersionOf(root)] === undefined)
79
+ return 'unverifiable';
80
+ try {
81
+ const ok = (0, crypto_1.verify)(null, Buffer.from(integrityRootPreimage(root), 'utf8'), (0, crypto_1.createPublicKey)({ key: jwk, format: 'jwk' }), Buffer.from(root.signature, 'base64'));
82
+ return ok ? 'valid' : 'invalid';
83
+ }
84
+ catch {
85
+ // A published key this runtime cannot load is one we do not effectively hold.
86
+ return 'unverifiable';
87
+ }
88
+ }
89
+ //# sourceMappingURL=integrity.js.map