@corenel/harness 0.12.0 → 0.14.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/dist/audit/recorder.d.ts +6 -1
- package/dist/audit/recorder.d.ts.map +1 -1
- package/dist/audit/recorder.js +9 -2
- package/dist/audit/recorder.js.map +1 -1
- package/dist/audit/runAudit.d.ts.map +1 -1
- package/dist/audit/runAudit.js +2 -0
- package/dist/audit/runAudit.js.map +1 -1
- package/dist/conversation.d.ts +33 -0
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +44 -1
- package/dist/conversation.js.map +1 -1
- package/dist/core/compactHistory.d.ts +27 -18
- package/dist/core/compactHistory.d.ts.map +1 -1
- package/dist/core/compactHistory.js +106 -40
- package/dist/core/compactHistory.js.map +1 -1
- package/dist/core/fileChanges.d.ts +18 -0
- package/dist/core/fileChanges.d.ts.map +1 -0
- package/dist/core/fileChanges.js +85 -0
- package/dist/core/fileChanges.js.map +1 -0
- package/dist/core/foldBlocks.d.ts +43 -0
- package/dist/core/foldBlocks.d.ts.map +1 -0
- package/dist/core/foldBlocks.js +114 -0
- package/dist/core/foldBlocks.js.map +1 -0
- package/dist/core/foldTypes.d.ts +25 -0
- package/dist/core/foldTypes.d.ts.map +1 -0
- package/dist/core/foldTypes.js +2 -0
- package/dist/core/foldTypes.js.map +1 -0
- package/dist/core/loop.d.ts +29 -5
- package/dist/core/loop.d.ts.map +1 -1
- package/dist/core/loop.js +166 -70
- package/dist/core/loop.js.map +1 -1
- package/dist/core/recovery.d.ts +1 -0
- package/dist/core/recovery.d.ts.map +1 -1
- package/dist/core/recovery.js +12 -0
- package/dist/core/recovery.js.map +1 -1
- package/dist/core/spawn.d.ts +4 -0
- package/dist/core/spawn.d.ts.map +1 -1
- package/dist/core/spawn.js +11 -4
- package/dist/core/spawn.js.map +1 -1
- package/dist/core/summarize.d.ts +9 -3
- package/dist/core/summarize.d.ts.map +1 -1
- package/dist/core/summarize.js +97 -42
- package/dist/core/summarize.js.map +1 -1
- package/dist/dag/executeNode.d.ts +5 -0
- package/dist/dag/executeNode.d.ts.map +1 -1
- package/dist/dag/executeNode.js +5 -1
- package/dist/dag/executeNode.js.map +1 -1
- package/dist/guardrail/permission-service.d.ts.map +1 -1
- package/dist/guardrail/permission-service.js +11 -2
- package/dist/guardrail/permission-service.js.map +1 -1
- package/dist/guardrail/serialize.d.ts.map +1 -1
- package/dist/guardrail/serialize.js +4 -0
- package/dist/guardrail/serialize.js.map +1 -1
- package/dist/guardrail/validate.d.ts.map +1 -1
- package/dist/guardrail/validate.js +3 -1
- package/dist/guardrail/validate.js.map +1 -1
- package/dist/orchestrator/record.d.ts +94 -5
- package/dist/orchestrator/record.d.ts.map +1 -1
- package/dist/orchestrator/record.js +186 -5
- package/dist/orchestrator/record.js.map +1 -1
- package/dist/orchestrator/sidecarTools.d.ts +5 -0
- package/dist/orchestrator/sidecarTools.d.ts.map +1 -1
- package/dist/orchestrator/sidecarTools.js +53 -15
- package/dist/orchestrator/sidecarTools.js.map +1 -1
- package/dist/prompts/library/defaults.generated.js +2 -2
- package/dist/prompts/library/defaults.generated.js.map +1 -1
- package/dist/sessions/directivesStore.d.ts +9 -0
- package/dist/sessions/directivesStore.d.ts.map +1 -0
- package/dist/sessions/directivesStore.js +54 -0
- package/dist/sessions/directivesStore.js.map +1 -0
- package/dist/sessions/fileSessionStore.d.ts +2 -2
- package/dist/sessions/fileSessionStore.d.ts.map +1 -1
- package/dist/sessions/fileSessionStore.js +19 -8
- package/dist/sessions/fileSessionStore.js.map +1 -1
- package/dist/sessions/foldStorage.d.ts +15 -0
- package/dist/sessions/foldStorage.d.ts.map +1 -0
- package/dist/sessions/foldStorage.js +121 -0
- package/dist/sessions/foldStorage.js.map +1 -0
- package/dist/sessions/jsonl.d.ts +6 -0
- package/dist/sessions/jsonl.d.ts.map +1 -1
- package/dist/sessions/jsonl.js +15 -1
- package/dist/sessions/jsonl.js.map +1 -1
- package/dist/sidecar/deviceKeys.d.ts +75 -0
- package/dist/sidecar/deviceKeys.d.ts.map +1 -0
- package/dist/sidecar/deviceKeys.js +142 -0
- package/dist/sidecar/deviceKeys.js.map +1 -0
- package/dist/sidecar/host.d.ts +144 -24
- package/dist/sidecar/host.d.ts.map +1 -1
- package/dist/sidecar/host.js +306 -16
- package/dist/sidecar/host.js.map +1 -1
- package/dist/sidecar/identity.d.ts +41 -17
- package/dist/sidecar/identity.d.ts.map +1 -1
- package/dist/sidecar/identity.js +10 -21
- package/dist/sidecar/identity.js.map +1 -1
- package/dist/sidecar/server.d.ts +197 -28
- package/dist/sidecar/server.d.ts.map +1 -1
- package/dist/sidecar/server.js +701 -110
- package/dist/sidecar/server.js.map +1 -1
- package/dist/sidecar/testing.d.ts +97 -0
- package/dist/sidecar/testing.d.ts.map +1 -0
- package/dist/sidecar/testing.js +259 -0
- package/dist/sidecar/testing.js.map +1 -0
- package/dist/sidecar/wsChannel.d.ts +8 -1
- package/dist/sidecar/wsChannel.d.ts.map +1 -1
- package/dist/sidecar/wsChannel.js +17 -1
- package/dist/sidecar/wsChannel.js.map +1 -1
- package/dist/tools/callAgent.d.ts.map +1 -1
- package/dist/tools/callAgent.js +33 -13
- package/dist/tools/callAgent.js.map +1 -1
- package/dist/tools/foldTools.d.ts +5 -0
- package/dist/tools/foldTools.d.ts.map +1 -0
- package/dist/tools/foldTools.js +123 -0
- package/dist/tools/foldTools.js.map +1 -0
- package/dist/tools/orchestration.js +1 -1
- package/dist/tools/orchestration.js.map +1 -1
- package/dist/tools/skillTool.d.ts.map +1 -1
- package/dist/tools/skillTool.js +7 -2
- package/dist/tools/skillTool.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { EcPublicJwk } from '@corenel/protocol';
|
|
2
|
+
export declare const SERVER_PROOF_DOMAIN = "corenel-sidecar/server-proof/v1";
|
|
3
|
+
export declare const CLIENT_PROOF_DOMAIN = "corenel-sidecar/client-proof/v1";
|
|
4
|
+
/** A 32-byte base64url value: nonces, jkts, code randoms. */
|
|
5
|
+
export declare const B64URL_32: RegExp;
|
|
6
|
+
export declare function bytesToB64url(bytes: Uint8Array): string;
|
|
7
|
+
export declare function b64urlToBytes(s: string): Uint8Array;
|
|
8
|
+
/** 32 random bytes, base64url. */
|
|
9
|
+
export declare function randomToken(): string;
|
|
10
|
+
/**
|
|
11
|
+
* STRICT: a P-256 PUBLIC key and nothing else. Any private part (`d`), any
|
|
12
|
+
* other curve or key type, a malformed coordinate -- refused. Returns the
|
|
13
|
+
* key reduced to its four public members, or null.
|
|
14
|
+
*/
|
|
15
|
+
export declare function asEcPublicJwk(v: unknown): EcPublicJwk | null;
|
|
16
|
+
/** RFC 7638 thumbprint of a P-256 public key. */
|
|
17
|
+
export declare function jwkThumbprint(jwk: EcPublicJwk): Promise<string>;
|
|
18
|
+
/** Something that can sign as one key, without exposing it. */
|
|
19
|
+
export interface KeySigner {
|
|
20
|
+
publicJwk: EcPublicJwk;
|
|
21
|
+
jkt: string;
|
|
22
|
+
sign(data: Uint8Array): Promise<Uint8Array>;
|
|
23
|
+
}
|
|
24
|
+
/** A signer over a Web Crypto private key (non-extractable in the browser). */
|
|
25
|
+
export declare function signerFromKeyPair(pair: {
|
|
26
|
+
privateKey: CryptoKey;
|
|
27
|
+
publicKey: CryptoKey;
|
|
28
|
+
}): Promise<KeySigner>;
|
|
29
|
+
/** A signer over a PRIVATE JWK (the node daemon's key, the CLI's device key).
|
|
30
|
+
* The private key is imported non-extractable. */
|
|
31
|
+
export declare function signerFromPrivateJwk(privateJwk: JsonWebKey): Promise<KeySigner>;
|
|
32
|
+
/** A fresh P-256 key pair as JWKs (the daemon key, a CLI device key). */
|
|
33
|
+
export declare function generatePrivateJwk(): Promise<JsonWebKey>;
|
|
34
|
+
/** Verify `sig` (base64url raw r||s) over `data` with `jwk`. Never throws:
|
|
35
|
+
* anything malformed is simply not a valid signature. */
|
|
36
|
+
export declare function verifySignature(jwk: EcPublicJwk, data: Uint8Array, sig: string): Promise<boolean>;
|
|
37
|
+
/** What the SIDECAR signs. `subject` is the device id for a device hello, the
|
|
38
|
+
* submitted key's jkt for an enrollment or upgrade, '' for none. */
|
|
39
|
+
export declare function serverProofPayload(p: {
|
|
40
|
+
clientNonce: string;
|
|
41
|
+
serverNonce: string;
|
|
42
|
+
sidecarId: string;
|
|
43
|
+
sidecarJkt: string;
|
|
44
|
+
subject: string;
|
|
45
|
+
}): Uint8Array;
|
|
46
|
+
/** What the CLIENT signs: the other role's domain, the nonces the other way
|
|
47
|
+
* round, and the key it pinned the sidecar by. */
|
|
48
|
+
export declare function clientProofPayload(p: {
|
|
49
|
+
serverNonce: string;
|
|
50
|
+
clientNonce: string;
|
|
51
|
+
sidecarId: string;
|
|
52
|
+
sidecarJkt: string;
|
|
53
|
+
subject: string;
|
|
54
|
+
}): Uint8Array;
|
|
55
|
+
/** The short form of a key fingerprint people compare by eye: its first 8
|
|
56
|
+
* characters. The full thumbprint is what is actually pinned and checked. */
|
|
57
|
+
export declare function shortFingerprint(jkt: string): string;
|
|
58
|
+
/** Proof that the client knows a pairing code, bound to THIS exchange:
|
|
59
|
+
* HMAC-SHA256 keyed by the code's hash (`codeHash`, base64url SHA-256 of its
|
|
60
|
+
* random part -- exactly what the daemon stores) over the client-proof
|
|
61
|
+
* payload. The daemon, holding only hashes, can check it; nobody who has not
|
|
62
|
+
* seen the code can make it; and it is useless outside this exchange. */
|
|
63
|
+
export declare function codeProof(codeHash: string, payload: Uint8Array): Promise<string>;
|
|
64
|
+
/** base64url SHA-256 of a code's random part: what the daemon stores, and
|
|
65
|
+
* the HMAC key of `codeProof`. */
|
|
66
|
+
export declare function codeHash(secret: string): Promise<string>;
|
|
67
|
+
/** Constant-time string compare (equal-length base64url values). */
|
|
68
|
+
export declare function sameB64(a: string, b: string): boolean;
|
|
69
|
+
/** An enrollment code: `<32 random bytes b64url>.<sidecar jkt>`. The daemon
|
|
70
|
+
* stores only the hash of the random part; the jkt is what the client pins. */
|
|
71
|
+
export declare function parseEnrollmentCode(code: string): {
|
|
72
|
+
secret: string;
|
|
73
|
+
sidecarJkt: string;
|
|
74
|
+
} | null;
|
|
75
|
+
//# sourceMappingURL=deviceKeys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deviceKeys.d.ts","sourceRoot":"","sources":["../../sidecar/deviceKeys.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,mBAAmB,oCAAoC,CAAC;AACrE,eAAO,MAAM,mBAAmB,oCAAoC,CAAC;AAOrE,6DAA6D;AAC7D,eAAO,MAAM,SAAS,QAAwB,CAAC;AAE/C,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAIvD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,CAMnD;AAED,kCAAkC;AAClC,wBAAgB,WAAW,IAAI,MAAM,CAIpC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAO5D;AAED,iDAAiD;AACjD,wBAAsB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAKrE;AAED,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,WAAW,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC7C;AAED,+EAA+E;AAC/E,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CASjH;AAED;kDACkD;AAClD,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CASrF;AAED,yEAAyE;AACzE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CAG9D;AAED;yDACyD;AACzD,wBAAsB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvG;AAID;oEACoE;AACpE,wBAAgB,kBAAkB,CAAC,CAAC,EAAE;IACpC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAClG,GAAG,UAAU,CAEb;AAED;kDACkD;AAClD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE;IACpC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAClG,GAAG,UAAU,CAEb;AAED;6EAC6E;AAC7E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;yEAIyE;AACzE,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAGtF;AAED;kCACkC;AAClC,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9D;AAED,oEAAoE;AACpE,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAKrD;AAED;+EAC+E;AAC/E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG/F"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
export const SERVER_PROOF_DOMAIN = 'corenel-sidecar/server-proof/v1';
|
|
2
|
+
export const CLIENT_PROOF_DOMAIN = 'corenel-sidecar/client-proof/v1';
|
|
3
|
+
const ECDSA = { name: 'ECDSA', namedCurve: 'P-256' };
|
|
4
|
+
const SIGN = { name: 'ECDSA', hash: 'SHA-256' };
|
|
5
|
+
/** base64url of a P-256 coordinate: exactly 32 bytes, 43 characters. */
|
|
6
|
+
const COORD = /^[A-Za-z0-9_-]{43}$/;
|
|
7
|
+
/** A 32-byte base64url value: nonces, jkts, code randoms. */
|
|
8
|
+
export const B64URL_32 = /^[A-Za-z0-9_-]{43}$/;
|
|
9
|
+
export function bytesToB64url(bytes) {
|
|
10
|
+
let bin = '';
|
|
11
|
+
for (let i = 0; i < bytes.length; i++)
|
|
12
|
+
bin += String.fromCharCode(bytes[i]);
|
|
13
|
+
return btoa(bin).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
14
|
+
}
|
|
15
|
+
export function b64urlToBytes(s) {
|
|
16
|
+
const b64 = s.replace(/-/g, '+').replace(/_/g, '/');
|
|
17
|
+
const bin = atob(b64 + '='.repeat((4 - (b64.length % 4)) % 4));
|
|
18
|
+
const out = new Uint8Array(bin.length);
|
|
19
|
+
for (let i = 0; i < bin.length; i++)
|
|
20
|
+
out[i] = bin.charCodeAt(i);
|
|
21
|
+
return out;
|
|
22
|
+
}
|
|
23
|
+
/** 32 random bytes, base64url. */
|
|
24
|
+
export function randomToken() {
|
|
25
|
+
const b = new Uint8Array(32);
|
|
26
|
+
crypto.getRandomValues(b);
|
|
27
|
+
return bytesToB64url(b);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* STRICT: a P-256 PUBLIC key and nothing else. Any private part (`d`), any
|
|
31
|
+
* other curve or key type, a malformed coordinate -- refused. Returns the
|
|
32
|
+
* key reduced to its four public members, or null.
|
|
33
|
+
*/
|
|
34
|
+
export function asEcPublicJwk(v) {
|
|
35
|
+
if (typeof v !== 'object' || v === null || Array.isArray(v))
|
|
36
|
+
return null;
|
|
37
|
+
const r = v;
|
|
38
|
+
if ('d' in r)
|
|
39
|
+
return null;
|
|
40
|
+
if (r.kty !== 'EC' || r.crv !== 'P-256')
|
|
41
|
+
return null;
|
|
42
|
+
if (typeof r.x !== 'string' || typeof r.y !== 'string' || !COORD.test(r.x) || !COORD.test(r.y))
|
|
43
|
+
return null;
|
|
44
|
+
return { kty: 'EC', crv: 'P-256', x: r.x, y: r.y };
|
|
45
|
+
}
|
|
46
|
+
/** RFC 7638 thumbprint of a P-256 public key. */
|
|
47
|
+
export async function jwkThumbprint(jwk) {
|
|
48
|
+
// Members in lexicographic order, no whitespace (RFC 7638 section 3.2).
|
|
49
|
+
const canonical = `{"crv":"${jwk.crv}","kty":"${jwk.kty}","x":"${jwk.x}","y":"${jwk.y}"}`;
|
|
50
|
+
const digest = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(canonical));
|
|
51
|
+
return bytesToB64url(new Uint8Array(digest));
|
|
52
|
+
}
|
|
53
|
+
/** A signer over a Web Crypto private key (non-extractable in the browser). */
|
|
54
|
+
export async function signerFromKeyPair(pair) {
|
|
55
|
+
const exported = await crypto.subtle.exportKey('jwk', pair.publicKey);
|
|
56
|
+
const publicJwk = asEcPublicJwk({ kty: exported.kty, crv: exported.crv, x: exported.x, y: exported.y });
|
|
57
|
+
if (!publicJwk)
|
|
58
|
+
throw new Error('not a P-256 key');
|
|
59
|
+
return {
|
|
60
|
+
publicJwk,
|
|
61
|
+
jkt: await jwkThumbprint(publicJwk),
|
|
62
|
+
sign: async (data) => new Uint8Array(await crypto.subtle.sign(SIGN, pair.privateKey, new Uint8Array(data))),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/** A signer over a PRIVATE JWK (the node daemon's key, the CLI's device key).
|
|
66
|
+
* The private key is imported non-extractable. */
|
|
67
|
+
export async function signerFromPrivateJwk(privateJwk) {
|
|
68
|
+
const publicJwk = asEcPublicJwk({ kty: privateJwk.kty, crv: privateJwk.crv, x: privateJwk.x, y: privateJwk.y });
|
|
69
|
+
if (!publicJwk || typeof privateJwk.d !== 'string')
|
|
70
|
+
throw new Error('not a P-256 private key');
|
|
71
|
+
const key = await crypto.subtle.importKey('jwk', { ...privateJwk, key_ops: ['sign'] }, ECDSA, false, ['sign']);
|
|
72
|
+
return {
|
|
73
|
+
publicJwk,
|
|
74
|
+
jkt: await jwkThumbprint(publicJwk),
|
|
75
|
+
sign: async (data) => new Uint8Array(await crypto.subtle.sign(SIGN, key, new Uint8Array(data))),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/** A fresh P-256 key pair as JWKs (the daemon key, a CLI device key). */
|
|
79
|
+
export async function generatePrivateJwk() {
|
|
80
|
+
const pair = await crypto.subtle.generateKey(ECDSA, true, ['sign', 'verify']);
|
|
81
|
+
return crypto.subtle.exportKey('jwk', pair.privateKey);
|
|
82
|
+
}
|
|
83
|
+
/** Verify `sig` (base64url raw r||s) over `data` with `jwk`. Never throws:
|
|
84
|
+
* anything malformed is simply not a valid signature. */
|
|
85
|
+
export async function verifySignature(jwk, data, sig) {
|
|
86
|
+
try {
|
|
87
|
+
if (typeof sig !== 'string' || !/^[A-Za-z0-9_-]{86}$/.test(sig))
|
|
88
|
+
return false;
|
|
89
|
+
const key = await crypto.subtle.importKey('jwk', { kty: jwk.kty, crv: jwk.crv, x: jwk.x, y: jwk.y }, ECDSA, false, ['verify']);
|
|
90
|
+
return await crypto.subtle.verify(SIGN, key, new Uint8Array(b64urlToBytes(sig)), new Uint8Array(data));
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const enc = (parts) => new TextEncoder().encode(JSON.stringify(parts));
|
|
97
|
+
/** What the SIDECAR signs. `subject` is the device id for a device hello, the
|
|
98
|
+
* submitted key's jkt for an enrollment or upgrade, '' for none. */
|
|
99
|
+
export function serverProofPayload(p) {
|
|
100
|
+
return enc([SERVER_PROOF_DOMAIN, p.clientNonce, p.serverNonce, p.sidecarId, p.sidecarJkt, p.subject]);
|
|
101
|
+
}
|
|
102
|
+
/** What the CLIENT signs: the other role's domain, the nonces the other way
|
|
103
|
+
* round, and the key it pinned the sidecar by. */
|
|
104
|
+
export function clientProofPayload(p) {
|
|
105
|
+
return enc([CLIENT_PROOF_DOMAIN, p.serverNonce, p.clientNonce, p.sidecarId, p.sidecarJkt, p.subject]);
|
|
106
|
+
}
|
|
107
|
+
/** The short form of a key fingerprint people compare by eye: its first 8
|
|
108
|
+
* characters. The full thumbprint is what is actually pinned and checked. */
|
|
109
|
+
export function shortFingerprint(jkt) {
|
|
110
|
+
return jkt.slice(0, 8);
|
|
111
|
+
}
|
|
112
|
+
/** Proof that the client knows a pairing code, bound to THIS exchange:
|
|
113
|
+
* HMAC-SHA256 keyed by the code's hash (`codeHash`, base64url SHA-256 of its
|
|
114
|
+
* random part -- exactly what the daemon stores) over the client-proof
|
|
115
|
+
* payload. The daemon, holding only hashes, can check it; nobody who has not
|
|
116
|
+
* seen the code can make it; and it is useless outside this exchange. */
|
|
117
|
+
export async function codeProof(codeHash, payload) {
|
|
118
|
+
const key = await crypto.subtle.importKey('raw', new Uint8Array(b64urlToBytes(codeHash)), { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
|
|
119
|
+
return bytesToB64url(new Uint8Array(await crypto.subtle.sign('HMAC', key, new Uint8Array(payload))));
|
|
120
|
+
}
|
|
121
|
+
/** base64url SHA-256 of a code's random part: what the daemon stores, and
|
|
122
|
+
* the HMAC key of `codeProof`. */
|
|
123
|
+
export async function codeHash(secret) {
|
|
124
|
+
const d = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(secret));
|
|
125
|
+
return bytesToB64url(new Uint8Array(d));
|
|
126
|
+
}
|
|
127
|
+
/** Constant-time string compare (equal-length base64url values). */
|
|
128
|
+
export function sameB64(a, b) {
|
|
129
|
+
if (a.length !== b.length)
|
|
130
|
+
return false;
|
|
131
|
+
let diff = 0;
|
|
132
|
+
for (let i = 0; i < a.length; i++)
|
|
133
|
+
diff |= a.charCodeAt(i) ^ b.charCodeAt(i);
|
|
134
|
+
return diff === 0;
|
|
135
|
+
}
|
|
136
|
+
/** An enrollment code: `<32 random bytes b64url>.<sidecar jkt>`. The daemon
|
|
137
|
+
* stores only the hash of the random part; the jkt is what the client pins. */
|
|
138
|
+
export function parseEnrollmentCode(code) {
|
|
139
|
+
const m = /^([A-Za-z0-9_-]{43})\.([A-Za-z0-9_-]{43})$/.exec(code);
|
|
140
|
+
return m ? { secret: m[1], sidecarJkt: m[2] } : null;
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=deviceKeys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deviceKeys.js","sourceRoot":"","sources":["../../sidecar/deviceKeys.ts"],"names":[],"mappings":"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"}
|
package/dist/sidecar/host.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { AgentTool, IMemoryProvider, IKeyValueStore, ISearchProvider, ISessionStore, PermissionRequest, AskQuestion, AskAnswers, AgentEvent, PermissionDecision, DaemonRunActivity, DaemonRegistration, AgentPause, HostSummary, ProcInfo, RunRecordInfo, SessionInfo, SessionRepoSpec, SessionSnapshotInfo, CrewMemoryInfo, SidecarConfigEntry, WebPushSubscription, ChecksState, WorkspaceLockRef, TaskSpec, TaskAutonomy, RunPlanView, DaemonApprovalChoice, DaemonApprovalOffer, DaemonApprovalsState, CrewAgentRef, CrewDeployReply } from '@corenel/protocol';
|
|
1
|
+
import type { AgentTool, IMemoryProvider, IKeyValueStore, ISearchProvider, ISessionStore, PermissionRequest, AskQuestion, AskAnswers, AgentEvent, PermissionDecision, DaemonRunActivity, DaemonRegistration, AgentPause, HostSummary, ProcInfo, RunRecordInfo, RunHistoryCrew, SessionInfo, SessionRepoSpec, SessionSnapshotInfo, CrewMemoryInfo, SidecarConfigEntry, WebPushSubscription, ChecksState, WorkspaceLockRef, TaskSpec, TaskAutonomy, RunPlanView, DaemonApprovalChoice, DaemonApprovalOffer, DaemonApprovalsState, CrewAgentRef, CrewDeployReply, DeviceSummary } from '@corenel/protocol';
|
|
2
2
|
import type { FileService } from '@corenel/protocol';
|
|
3
|
+
import { type KeySigner } from './deviceKeys';
|
|
3
4
|
import { type SidecarChannel, type SidecarMsg, type SidecarInfo, type AcpPromptPart, type AcpModeInfo, type AcpStartOptions, type RoomOpenRequest, type RoomSummary, type RoomFinding, type RoomFindingEdit } from '@corenel/protocol';
|
|
4
5
|
/** The host's live capabilities a connected sidecar may proxy into. Only the ones
|
|
5
6
|
* provided are reachable; a proxy call to a missing one is rejected. */
|
|
@@ -17,9 +18,35 @@ export interface HostProviders {
|
|
|
17
18
|
}
|
|
18
19
|
export interface SidecarHostOptions {
|
|
19
20
|
channel: SidecarChannel;
|
|
20
|
-
/**
|
|
21
|
-
*
|
|
22
|
-
|
|
21
|
+
/** A single-use enrollment code, `<random>.<sidecar key jkt>`. Its suffix is
|
|
22
|
+
* the sidecar key this connection is PINNED to. The code itself is never
|
|
23
|
+
* sent: only a proof of knowing it, and only after the daemon proved the
|
|
24
|
+
* pinned key. Used when there is no `device`; needs `deviceKey`. */
|
|
25
|
+
enroll?: string;
|
|
26
|
+
/** This client's device on this daemon (spec 2026-09-29-device-enrollment-
|
|
27
|
+
* design): its id and the sidecar key it pinned when it enrolled. Preferred
|
|
28
|
+
* over a code; needs `deviceKey`. Nothing secret. These two are the only
|
|
29
|
+
* ways to authenticate (surface B -- the connection, not policy authority,
|
|
30
|
+
* which stays with the host); with neither, `connect()` rejects without
|
|
31
|
+
* sending anything. */
|
|
32
|
+
device?: {
|
|
33
|
+
id: string;
|
|
34
|
+
sidecarJkt: string;
|
|
35
|
+
};
|
|
36
|
+
/** Signs as this client's key for THIS sidecar (one key per client and
|
|
37
|
+
* sidecar). The private key never leaves it. Needed for `device` and
|
|
38
|
+
* `enroll`. */
|
|
39
|
+
deviceKey?: KeySigner;
|
|
40
|
+
/** The daemon recorded this client's key (the welcome that answered an
|
|
41
|
+
* enrollment). The caller must PERSIST `id` and the pinned `sidecarJkt` and
|
|
42
|
+
* pass them as `device` from then on. Called before `connect()` resolves; a
|
|
43
|
+
* throw is caught. Supplying it (with a `deviceKey`) is also what makes the
|
|
44
|
+
* hello announce DEVICES_FEATURE: without it a daemon refuses a code hello,
|
|
45
|
+
* since the device it recorded would be thrown away. */
|
|
46
|
+
onDeviceIssued?: (device: {
|
|
47
|
+
id: string;
|
|
48
|
+
sidecarJkt: string;
|
|
49
|
+
}) => void;
|
|
23
50
|
/** The host's dot-dir name (e.g. '.corenel', '.prompd'), sent informationally in
|
|
24
51
|
* `hello` so the sidecar knows it for future workspace-state features. */
|
|
25
52
|
stateDir?: string;
|
|
@@ -42,21 +69,20 @@ export interface SidecarHostOptions {
|
|
|
42
69
|
* sidecar.ts); this end only carries them. Additive: omitting them keeps the
|
|
43
70
|
* per-clientId behaviour every daemon had before. */
|
|
44
71
|
accounts?: string[];
|
|
45
|
-
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* browser's own Clerk session token, which must never cross this socket.
|
|
55
|
-
* A throw is treated exactly like `null`: the connection still pairs, only
|
|
56
|
-
* unverified. */
|
|
72
|
+
/** Answers the daemon's `identity-challenge` (spec amendment 2026-09-25b),
|
|
73
|
+
* at pairing and at every re-check a team daemon sends later. Resolves the
|
|
74
|
+
* ASSERTION (a short-lived token this host obtained from corenel-api naming
|
|
75
|
+
* the given daemon and nonce), or `null` for "no identity to offer" -- never
|
|
76
|
+
* the browser's own Clerk session token, which must never cross this
|
|
77
|
+
* socket. A throw is treated exactly like `null`. A daemon that verifies
|
|
78
|
+
* identity REFUSES a connection that offers none (spec
|
|
79
|
+
* 2026-09-29-device-enrollment-design, Phase 2), so the caller is the one
|
|
80
|
+
* that knows, and can say, why it had nothing to offer. */
|
|
57
81
|
onIdentityChallenge?: (c: {
|
|
58
82
|
nonce: string;
|
|
59
83
|
sidecarId: string;
|
|
84
|
+
jkt: string;
|
|
85
|
+
orgId?: string;
|
|
60
86
|
}) => Promise<string | null>;
|
|
61
87
|
/** The host's live stores. Only the ones provided are reachable; a proxy call
|
|
62
88
|
* to a missing provider is rejected. */
|
|
@@ -152,6 +178,19 @@ export interface ProcWatcher {
|
|
|
152
178
|
signal?: string;
|
|
153
179
|
}) => void;
|
|
154
180
|
}
|
|
181
|
+
/** Prefix of the error a connection rejects with when the daemon's key is not
|
|
182
|
+
* the one this client pinned (or it cannot prove it holds it). A caller shows
|
|
183
|
+
* this state as its own, never as a generic connection failure, and never
|
|
184
|
+
* retries it. */
|
|
185
|
+
export declare const SIDECAR_KEY_MISMATCH = "sidecar key mismatch";
|
|
186
|
+
/** The mismatch error, recognisable by `isSidecarKeyMismatch`. */
|
|
187
|
+
export declare function sidecarKeyMismatchError(): Error;
|
|
188
|
+
/** Prefix of the error `connect()` rejects with when this client has nothing
|
|
189
|
+
* to pair with (no device key, no code). */
|
|
190
|
+
export declare const SIDECAR_NOT_PAIRED = "sidecar not paired";
|
|
191
|
+
export declare function isSidecarKeyMismatch(e: unknown): boolean;
|
|
192
|
+
export declare const SIDECAR_NOT_ADMITTED = "sidecar did not admit this account";
|
|
193
|
+
export declare function isSidecarAccountRefusal(e: unknown): boolean;
|
|
155
194
|
export declare class SidecarHost {
|
|
156
195
|
private readonly ch;
|
|
157
196
|
private readonly opts;
|
|
@@ -229,11 +268,57 @@ export declare class SidecarHost {
|
|
|
229
268
|
* reports null, "not told"), never coerced. */
|
|
230
269
|
private identity;
|
|
231
270
|
private info;
|
|
271
|
+
/** This client's device on this daemon: given, or just recorded. */
|
|
272
|
+
private device;
|
|
273
|
+
/** How the CURRENT hello authenticates, and what its proofs are bound to. */
|
|
274
|
+
private mode;
|
|
275
|
+
private clientNonce;
|
|
276
|
+
/** The sidecar key this connection is pinned to. */
|
|
277
|
+
private pinnedJkt;
|
|
278
|
+
/** The device id (device hello) or the offered key's jkt (enroll) that both
|
|
279
|
+
* proofs name. */
|
|
280
|
+
private proofSubject;
|
|
281
|
+
/** Whether a proof exchange is expected on this connection at all. */
|
|
282
|
+
private expectProof;
|
|
283
|
+
/** The sidecar key this connection VERIFIED, once it has. */
|
|
284
|
+
private verifiedSidecarJkt;
|
|
285
|
+
/** The sidecar id the daemon signed into its server-proof. An identity
|
|
286
|
+
* challenge is answered only for this daemon, and only once it proved the
|
|
287
|
+
* pinned key: an assertion is never fetched for a peer that has not. */
|
|
288
|
+
private provenSidecarId;
|
|
289
|
+
/** An identity challenge arrived from the proven daemon during this
|
|
290
|
+
* handshake: the device credential was accepted (SIDECAR_NOT_ADMITTED). */
|
|
291
|
+
private challengedInHandshake;
|
|
292
|
+
/** The credential failed before sending (a malformed code, no key). */
|
|
293
|
+
private credentialError;
|
|
294
|
+
/** The pairing code's random part, for `codeProof` (enroll only). */
|
|
295
|
+
private codeSecret;
|
|
296
|
+
private devicesSeq;
|
|
297
|
+
private readonly devicesPending;
|
|
232
298
|
private readonly imported;
|
|
233
299
|
private welcome;
|
|
234
300
|
constructor(opts: SidecarHostOptions);
|
|
301
|
+
/** The hello's credential: the device if this client has one, else the
|
|
302
|
+
* enrollment code. Exactly one is sent, and no secret. Sets up what the
|
|
303
|
+
* proof exchange will be bound to. Without either (or without a key) there
|
|
304
|
+
* is nothing to pair with and `credentialError` is set. */
|
|
305
|
+
private credentialFields;
|
|
306
|
+
/** This client's device on this daemon (given, or just recorded), or
|
|
307
|
+
* undefined when it is still pairing by code. */
|
|
308
|
+
deviceCredential(): {
|
|
309
|
+
id: string;
|
|
310
|
+
sidecarJkt: string;
|
|
311
|
+
} | undefined;
|
|
312
|
+
/** The sidecar key this connection verified, or null before it has. */
|
|
313
|
+
sidecarKeyJkt(): string | null;
|
|
314
|
+
/** The daemon's `server-proof`: check it is the PINNED key and that it
|
|
315
|
+
* signed THIS exchange, then prove this client's key. On any
|
|
316
|
+
* failure nothing more is sent: the connection is dropped and `connect()`
|
|
317
|
+
* rejects with the key-mismatch error. */
|
|
318
|
+
private answerServerProof;
|
|
319
|
+
private failKeyMismatch;
|
|
235
320
|
/** Authenticate, then import the sidecar's tools. Resolves with their names,
|
|
236
|
-
* or rejects if the sidecar
|
|
321
|
+
* or rejects if the sidecar refuses the credential or protocol, or proves a key other than the pinned one.
|
|
237
322
|
*
|
|
238
323
|
* `timeoutMs`, when given, rejects the connection if no `welcome`/`denied`
|
|
239
324
|
* ever arrives -- a handshake that silently never completes (a peer that
|
|
@@ -245,9 +330,10 @@ export declare class SidecarHost {
|
|
|
245
330
|
/** Answers the daemon's `identity-challenge`. `onIdentityChallenge` resolving
|
|
246
331
|
* a string sends it as the assertion; resolving `null`, having no handler
|
|
247
332
|
* at all, or THROWING all send `identity-assert` with no assertion -- every
|
|
248
|
-
* one of those is a considered "no identity to offer",
|
|
249
|
-
*
|
|
250
|
-
* whatever assertion the callback hands back
|
|
333
|
+
* one of those is a considered "no identity to offer", which the daemon
|
|
334
|
+
* refuses at once rather than waiting out its bound. The Clerk token itself
|
|
335
|
+
* never reaches this class: only whatever assertion the callback hands back
|
|
336
|
+
* does. A malformed `orgId` is not forwarded. */
|
|
251
337
|
private answerIdentityChallenge;
|
|
252
338
|
/** Drop the connection: unregister imported tools and fail anything in flight. */
|
|
253
339
|
disconnect(reason?: string): void;
|
|
@@ -367,7 +453,11 @@ export declare class SidecarHost {
|
|
|
367
453
|
* An empty list means no record, which a caller renders rather than treats
|
|
368
454
|
* as an error — a daemon that keeps none is a normal daemon.
|
|
369
455
|
*/
|
|
370
|
-
runHistory(agent: string, limit?: number): Promise<RunRecordInfo[]>;
|
|
456
|
+
runHistory(agent: string, limit?: number, crew?: RunHistoryCrew): Promise<RunRecordInfo[]>;
|
|
457
|
+
/** True when `runHistory` can be asked about one crew (global vs a
|
|
458
|
+
* workspace). An older daemon answers every question from the global crew,
|
|
459
|
+
* so a caller must know before it trusts a workspace answer. */
|
|
460
|
+
supportsRunHistoryScope(): boolean;
|
|
371
461
|
/**
|
|
372
462
|
* One run's kept events, as the daemon stored them.
|
|
373
463
|
*
|
|
@@ -536,6 +626,11 @@ export declare class SidecarHost {
|
|
|
536
626
|
/** Write one config file whole. The daemon re-checks `path` against its own
|
|
537
627
|
* allowlist; a refusal arrives as a rejection carrying the daemon's reason. */
|
|
538
628
|
configWrite(path: string, content: string): Promise<void>;
|
|
629
|
+
/** True when this daemon can append to a config file without a rewrite. */
|
|
630
|
+
supportsConfigAppend(): boolean;
|
|
631
|
+
/** Append to one config file (O_APPEND daemon-side). Only call when
|
|
632
|
+
* supportsConfigAppend(); an older daemon would refuse the message. */
|
|
633
|
+
configAppend(path: string, content: string): Promise<void>;
|
|
539
634
|
/** Delete one config file or subtree (recursive, idempotent). */
|
|
540
635
|
configDelete(path: string): Promise<void>;
|
|
541
636
|
private configCall;
|
|
@@ -558,6 +653,28 @@ export declare class SidecarHost {
|
|
|
558
653
|
* directories. Feature-detected so a client offers a destructive control only
|
|
559
654
|
* where the daemon would actually honour it. */
|
|
560
655
|
supportsHostsAdmin(): boolean;
|
|
656
|
+
/** Whether the connected daemon keeps paired devices (enrollment codes,
|
|
657
|
+
* device credentials, `devices-list`/`devices-revoke`). */
|
|
658
|
+
supportsDevices(): boolean;
|
|
659
|
+
/** Every device paired with this daemon, with `self` marking this one. */
|
|
660
|
+
listDevices(): Promise<{
|
|
661
|
+
ok: true;
|
|
662
|
+
devices: DeviceSummary[];
|
|
663
|
+
} | {
|
|
664
|
+
ok: false;
|
|
665
|
+
error: string;
|
|
666
|
+
}>;
|
|
667
|
+
/** Revoke one device: it can never connect again, and its live connections
|
|
668
|
+
* close. `ok: false` is the daemon's considered refusal (this client's own
|
|
669
|
+
* device, an unknown one), so it resolves; only a dropped connection
|
|
670
|
+
* rejects. Resolves with the COMPLETE list afterwards. */
|
|
671
|
+
revokeDevice(deviceId: string): Promise<{
|
|
672
|
+
ok: true;
|
|
673
|
+
devices: DeviceSummary[];
|
|
674
|
+
} | {
|
|
675
|
+
ok: false;
|
|
676
|
+
error: string;
|
|
677
|
+
}>;
|
|
561
678
|
/** Whether the connected daemon serves an MCP surface at all. `mcp-list`
|
|
562
679
|
* answers an empty list either way (see sidecar.ts), so this is advisory --
|
|
563
680
|
* a caller uses it to decide whether to bother asking, not as a gate. */
|
|
@@ -723,9 +840,12 @@ export declare class SidecarHost {
|
|
|
723
840
|
}>;
|
|
724
841
|
/** True when the daemon answers run-plan-get. */
|
|
725
842
|
supportsRunPlan(): boolean;
|
|
726
|
-
/** One run's plan from its record
|
|
727
|
-
*
|
|
728
|
-
|
|
843
|
+
/** One run's plan from its record; `output: true` adds what the run
|
|
844
|
+
* produced. `ok: false` is the daemon's answer; only a dropped connection
|
|
845
|
+
* rejects. Ask only when supportsRunPlan() is true. */
|
|
846
|
+
runPlanGet(runId: string, opts?: {
|
|
847
|
+
output?: boolean;
|
|
848
|
+
}): Promise<{
|
|
729
849
|
ok: true;
|
|
730
850
|
plan: RunPlanView | null;
|
|
731
851
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../sidecar/host.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../sidecar/host.ts"],"names":[],"mappings":"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"}
|