@corenel/harness 0.20.0 → 0.21.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 (131) hide show
  1. package/dist/chat/engine.d.ts +47 -0
  2. package/dist/chat/engine.d.ts.map +1 -0
  3. package/dist/chat/engine.js +803 -0
  4. package/dist/chat/engine.js.map +1 -0
  5. package/dist/chat/events.d.ts +5 -0
  6. package/dist/chat/events.d.ts.map +1 -0
  7. package/dist/chat/events.js +100 -0
  8. package/dist/chat/events.js.map +1 -0
  9. package/dist/chat/index.d.ts +9 -0
  10. package/dist/chat/index.d.ts.map +1 -0
  11. package/dist/chat/index.js +9 -0
  12. package/dist/chat/index.js.map +1 -0
  13. package/dist/chat/liveFold.d.ts +10 -0
  14. package/dist/chat/liveFold.d.ts.map +1 -0
  15. package/dist/chat/liveFold.js +31 -0
  16. package/dist/chat/liveFold.js.map +1 -0
  17. package/dist/chat/messages.d.ts +20 -0
  18. package/dist/chat/messages.d.ts.map +1 -0
  19. package/dist/chat/messages.js +56 -0
  20. package/dist/chat/messages.js.map +1 -0
  21. package/dist/chat/persist.d.ts +39 -0
  22. package/dist/chat/persist.d.ts.map +1 -0
  23. package/dist/chat/persist.js +107 -0
  24. package/dist/chat/persist.js.map +1 -0
  25. package/dist/chat/runWatchdog.d.ts +21 -0
  26. package/dist/chat/runWatchdog.d.ts.map +1 -0
  27. package/dist/chat/runWatchdog.js +92 -0
  28. package/dist/chat/runWatchdog.js.map +1 -0
  29. package/dist/chat/stitch.d.ts +26 -0
  30. package/dist/chat/stitch.d.ts.map +1 -0
  31. package/dist/chat/stitch.js +40 -0
  32. package/dist/chat/stitch.js.map +1 -0
  33. package/dist/chat/types.d.ts +163 -0
  34. package/dist/chat/types.d.ts.map +1 -0
  35. package/dist/chat/types.js +2 -0
  36. package/dist/chat/types.js.map +1 -0
  37. package/dist/core/loop.d.ts.map +1 -1
  38. package/dist/core/loop.js +50 -15
  39. package/dist/core/loop.js.map +1 -1
  40. package/dist/core/spawn.d.ts +10 -0
  41. package/dist/core/spawn.d.ts.map +1 -1
  42. package/dist/core/spawn.js +28 -5
  43. package/dist/core/spawn.js.map +1 -1
  44. package/dist/fileSchema.js +1 -1
  45. package/dist/guardrail/builtins.d.ts.map +1 -1
  46. package/dist/guardrail/builtins.js +11 -6
  47. package/dist/guardrail/builtins.js.map +1 -1
  48. package/dist/guardrail/guardrail.d.ts +8 -0
  49. package/dist/guardrail/guardrail.d.ts.map +1 -1
  50. package/dist/guardrail/guardrail.js +12 -0
  51. package/dist/guardrail/guardrail.js.map +1 -1
  52. package/dist/guardrail/index.d.ts +1 -1
  53. package/dist/guardrail/index.d.ts.map +1 -1
  54. package/dist/guardrail/index.js +1 -1
  55. package/dist/guardrail/index.js.map +1 -1
  56. package/dist/guardrail/serialize.d.ts.map +1 -1
  57. package/dist/guardrail/serialize.js +3 -0
  58. package/dist/guardrail/serialize.js.map +1 -1
  59. package/dist/guardrail/validate.d.ts.map +1 -1
  60. package/dist/guardrail/validate.js +4 -0
  61. package/dist/guardrail/validate.js.map +1 -1
  62. package/dist/orchestrator/sidecarTools.d.ts.map +1 -1
  63. package/dist/orchestrator/sidecarTools.js +8 -4
  64. package/dist/orchestrator/sidecarTools.js.map +1 -1
  65. package/dist/prompts/fitProject.d.ts +6 -0
  66. package/dist/prompts/fitProject.d.ts.map +1 -0
  67. package/dist/prompts/fitProject.js +6 -0
  68. package/dist/prompts/fitProject.js.map +1 -0
  69. package/dist/prompts/library/defaults.generated.js +7 -7
  70. package/dist/prompts/library/defaults.generated.js.map +1 -1
  71. package/dist/prompts/library/index.d.ts +2 -1
  72. package/dist/prompts/library/index.d.ts.map +1 -1
  73. package/dist/prompts/library/index.js +11 -16
  74. package/dist/prompts/library/index.js.map +1 -1
  75. package/dist/providers/gateway.d.ts +1 -0
  76. package/dist/providers/gateway.d.ts.map +1 -1
  77. package/dist/providers/gateway.js +1 -0
  78. package/dist/providers/gateway.js.map +1 -1
  79. package/dist/sidecar/askUserBroker.d.ts +40 -0
  80. package/dist/sidecar/askUserBroker.d.ts.map +1 -0
  81. package/dist/sidecar/askUserBroker.js +103 -0
  82. package/dist/sidecar/askUserBroker.js.map +1 -0
  83. package/dist/sidecar/fleetJwe.d.ts +25 -0
  84. package/dist/sidecar/fleetJwe.d.ts.map +1 -0
  85. package/dist/sidecar/fleetJwe.js +115 -0
  86. package/dist/sidecar/fleetJwe.js.map +1 -0
  87. package/dist/sidecar/host.d.ts +77 -1
  88. package/dist/sidecar/host.d.ts.map +1 -1
  89. package/dist/sidecar/host.js +220 -6
  90. package/dist/sidecar/host.js.map +1 -1
  91. package/dist/sidecar/identity.d.ts +4 -0
  92. package/dist/sidecar/identity.d.ts.map +1 -1
  93. package/dist/sidecar/memberGate.d.ts.map +1 -1
  94. package/dist/sidecar/memberGate.js +5 -0
  95. package/dist/sidecar/memberGate.js.map +1 -1
  96. package/dist/sidecar/server.d.ts +46 -4
  97. package/dist/sidecar/server.d.ts.map +1 -1
  98. package/dist/sidecar/server.js +523 -13
  99. package/dist/sidecar/server.js.map +1 -1
  100. package/dist/systemParts.d.ts +0 -1
  101. package/dist/systemParts.d.ts.map +1 -1
  102. package/dist/systemParts.js +6 -2
  103. package/dist/systemParts.js.map +1 -1
  104. package/dist/todos.d.ts +8 -0
  105. package/dist/todos.d.ts.map +1 -1
  106. package/dist/todos.js +21 -17
  107. package/dist/todos.js.map +1 -1
  108. package/dist/tools/builtins.d.ts +8 -0
  109. package/dist/tools/builtins.d.ts.map +1 -1
  110. package/dist/tools/builtins.js +21 -1
  111. package/dist/tools/builtins.js.map +1 -1
  112. package/dist/tools/namespaces.d.ts +8 -0
  113. package/dist/tools/namespaces.d.ts.map +1 -1
  114. package/dist/tools/namespaces.js +18 -0
  115. package/dist/tools/namespaces.js.map +1 -1
  116. package/dist/tools/skillTool.d.ts.map +1 -1
  117. package/dist/tools/skillTool.js +22 -1
  118. package/dist/tools/skillTool.js.map +1 -1
  119. package/dist/tools/toolFacts.d.ts +9 -0
  120. package/dist/tools/toolFacts.d.ts.map +1 -0
  121. package/dist/tools/toolFacts.js +19 -0
  122. package/dist/tools/toolFacts.js.map +1 -0
  123. package/dist/tools/toolSearch.d.ts +25 -6
  124. package/dist/tools/toolSearch.d.ts.map +1 -1
  125. package/dist/tools/toolSearch.js +62 -14
  126. package/dist/tools/toolSearch.js.map +1 -1
  127. package/dist/tools/workflowTool.d.ts +34 -0
  128. package/dist/tools/workflowTool.d.ts.map +1 -0
  129. package/dist/tools/workflowTool.js +122 -0
  130. package/dist/tools/workflowTool.js.map +1 -0
  131. package/package.json +6 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleetJwe.d.ts","sourceRoot":"","sources":["../../sidecar/fleetJwe.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,WAAW,iBAAiB;IAAG,SAAS,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,SAAS,CAAA;CAAE;AAEpF,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,OAAO,YAAY,CAAC;AA0BjC;;gEAEgE;AAChE,wBAAsB,SAAS,CAC7B,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,UAA8B,EAAE,GAAG,GAAE,UAA8B,GAC5H,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAKlC;AAQD;2FAC2F;AAC3F,wBAAsB,qBAAqB,IAAI,OAAO,CAAC;IAAE,SAAS,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC,CAMzG;AAED,sFAAsF;AACtF,wBAAsB,0BAA0B,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAO3F;AAED,sIAAsI;AACtI,wBAAsB,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBrG;AAED;sGACsG;AACtG,wBAAsB,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwBrG"}
@@ -0,0 +1,115 @@
1
+ import { asEcPublicJwk, b64urlToBytes, bytesToB64url } from './deviceKeys.js';
2
+ export const JWE_ALG = 'ECDH-ES';
3
+ export const JWE_ENC = 'A256GCM';
4
+ const ECDH = { name: 'ECDH', namedCurve: 'P-256' };
5
+ const HEADER_KEYS = ['alg', 'enc', 'typ', 'epk'];
6
+ const IV_BYTES = 12;
7
+ const TAG_BYTES = 16;
8
+ const B64URL = /^[A-Za-z0-9_-]+$/;
9
+ const te = new TextEncoder();
10
+ const isObj = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
11
+ function concat(...parts) {
12
+ const out = new Uint8Array(parts.reduce((n, p) => n + p.length, 0));
13
+ let at = 0;
14
+ for (const p of parts) {
15
+ out.set(p, at);
16
+ at += p.length;
17
+ }
18
+ return out;
19
+ }
20
+ function u32(n) {
21
+ const out = new Uint8Array(4);
22
+ new DataView(out.buffer).setUint32(0, n);
23
+ return out;
24
+ }
25
+ const lengthPrefixed = (b) => concat(u32(b.length), b);
26
+ /** The Concat KDF of RFC 7518 4.6.2 (NIST SP 800-56A, SHA-256) for a key of at
27
+ * most 256 bits, so one hash round: SHA-256(counter 1 || Z || OtherInfo). For
28
+ * ECDH-ES direct agreement `algorithmId` is the `enc` value. */
29
+ export async function concatKdf(z, algorithmId, keyBits, apu = new Uint8Array(0), apv = new Uint8Array(0)) {
30
+ if (!Number.isInteger(keyBits) || keyBits < 8 || keyBits > 256 || keyBits % 8 !== 0)
31
+ throw new Error('concatKdf derives 8 to 256 bits, in whole bytes');
32
+ const otherInfo = concat(lengthPrefixed(te.encode(algorithmId)), lengthPrefixed(apu), lengthPrefixed(apv), u32(keyBits));
33
+ const digest = new Uint8Array(await crypto.subtle.digest('SHA-256', concat(u32(1), z, otherInfo)));
34
+ return digest.slice(0, keyBits / 8);
35
+ }
36
+ async function contentKey(privateKey, peer, usage) {
37
+ const pub = await crypto.subtle.importKey('jwk', { kty: peer.kty, crv: peer.crv, x: peer.x, y: peer.y }, ECDH, false, []);
38
+ const z = new Uint8Array(await crypto.subtle.deriveBits({ name: 'ECDH', public: pub }, privateKey, 256));
39
+ return crypto.subtle.importKey('raw', await concatKdf(z, JWE_ENC, 256), { name: 'AES-GCM' }, false, [usage]);
40
+ }
41
+ /** A fresh encryption key pair. The private JWK is for the caller to store
42
+ * (mode 0600, like the node signing key); load it back with importEncryptionPrivateKey. */
43
+ export async function generateEncryptionKey() {
44
+ const pair = await crypto.subtle.generateKey(ECDH, true, ['deriveBits']);
45
+ const privateJwk = { ...(await crypto.subtle.exportKey('jwk', pair.privateKey)), key_ops: ['deriveBits'] };
46
+ const publicJwk = asEcPublicJwk({ kty: privateJwk.kty, crv: privateJwk.crv, x: privateJwk.x, y: privateJwk.y });
47
+ if (!publicJwk || typeof privateJwk.d !== 'string')
48
+ throw new Error('not a P-256 key');
49
+ return { publicJwk, privateJwk };
50
+ }
51
+ /** The stored private JWK as a non-extractable ECDH key that can only derive bits. */
52
+ export async function importEncryptionPrivateKey(privateJwk) {
53
+ const pub = asEcPublicJwk({ kty: privateJwk.kty, crv: privateJwk.crv, x: privateJwk.x, y: privateJwk.y });
54
+ if (!pub || typeof privateJwk.d !== 'string')
55
+ throw new Error('not a P-256 private key');
56
+ /* Only a key stored as an encryption key imports. The node signing key is stored as bare { kty, crv, x, y, d } with
57
+ * no key_ops, so a missing key_ops is refused too: a signing key never doubles as a key-agreement key. */
58
+ if (!privateJwk.key_ops?.includes('deriveBits'))
59
+ throw new Error('not an encryption key');
60
+ return crypto.subtle.importKey('jwk', { kty: 'EC', crv: 'P-256', x: pub.x, y: pub.y, d: privateJwk.d }, ECDH, false, ['deriveBits']);
61
+ }
62
+ /** `plaintext` sealed to `recipient`: compact JWE with header { alg: ECDH-ES, enc: A256GCM, typ, epk } and an empty encrypted key. */
63
+ export async function sealJwe(recipient, typ, plaintext) {
64
+ const to = asEcPublicJwk(recipient);
65
+ if (!to)
66
+ throw new Error('the recipient is not a P-256 public key');
67
+ const eph = await crypto.subtle.generateKey(ECDH, true, ['deriveBits']);
68
+ const e = await crypto.subtle.exportKey('jwk', eph.publicKey);
69
+ const epk = asEcPublicJwk({ kty: e.kty, crv: e.crv, x: e.x, y: e.y });
70
+ if (!epk)
71
+ throw new Error('not a P-256 key');
72
+ const header = bytesToB64url(te.encode(JSON.stringify({ alg: JWE_ALG, enc: JWE_ENC, typ, epk })));
73
+ const iv = new Uint8Array(IV_BYTES);
74
+ crypto.getRandomValues(iv);
75
+ const key = await contentKey(eph.privateKey, to, 'encrypt');
76
+ const sealed = new Uint8Array(await crypto.subtle.encrypt({ name: 'AES-GCM', iv, additionalData: te.encode(header), tagLength: TAG_BYTES * 8 }, key, te.encode(plaintext)));
77
+ const ct = sealed.slice(0, sealed.length - TAG_BYTES);
78
+ const tag = sealed.slice(sealed.length - TAG_BYTES);
79
+ return `${header}..${bytesToB64url(iv)}.${bytesToB64url(ct)}.${bytesToB64url(tag)}`;
80
+ }
81
+ /** The plaintext if `jwe` is a compact JWE of purpose `typ` sealed to `privateKey`, else null. Never throws:
82
+ * a wrong key, a wrong typ, any other header member, a changed byte, or a malformed token is null. */
83
+ export async function openJwe(privateKey, typ, jwe) {
84
+ try {
85
+ if (typeof jwe !== 'string')
86
+ return null;
87
+ const parts = jwe.split('.');
88
+ if (parts.length !== 5)
89
+ return null;
90
+ const [h, encryptedKey, ivPart, ctPart, tagPart] = parts;
91
+ if (encryptedKey !== '' || !B64URL.test(h) || !B64URL.test(ivPart) || !B64URL.test(tagPart))
92
+ return null;
93
+ if (ctPart !== '' && !B64URL.test(ctPart))
94
+ return null;
95
+ const header = JSON.parse(new TextDecoder().decode(b64urlToBytes(h)));
96
+ if (!isObj(header) || Object.keys(header).some((k) => !HEADER_KEYS.includes(k)))
97
+ return null;
98
+ if (header.alg !== JWE_ALG || header.enc !== JWE_ENC || header.typ !== typ)
99
+ return null;
100
+ const epk = asEcPublicJwk(header.epk);
101
+ if (!epk)
102
+ return null;
103
+ const iv = new Uint8Array(b64urlToBytes(ivPart));
104
+ const tag = b64urlToBytes(tagPart);
105
+ if (iv.length !== IV_BYTES || tag.length !== TAG_BYTES)
106
+ return null;
107
+ const key = await contentKey(privateKey, epk, 'decrypt');
108
+ const plain = await crypto.subtle.decrypt({ name: 'AES-GCM', iv, additionalData: te.encode(h), tagLength: TAG_BYTES * 8 }, key, concat(b64urlToBytes(ctPart), tag));
109
+ return new TextDecoder('utf-8', { fatal: true }).decode(plain);
110
+ }
111
+ catch {
112
+ return null;
113
+ }
114
+ }
115
+ //# sourceMappingURL=fleetJwe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleetJwe.js","sourceRoot":"","sources":["../../sidecar/fleetJwe.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
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, AccessReply, NodeEvent, PeerMcpToolDecl, MemberReply, AccessOverviewReply, AgentCredReply, AgentCredStatusReply, AgentRunsReply, PeerReply, AgentCredHeader, McpBinding } 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, AccessReply, NodeEvent, PeerMcpToolDecl, MemberReply, AccessOverviewReply, AgentCredReply, AgentCredStatusReply, AgentRunsReply, PeerReply, AgentCredHeader, McpBinding, ChatSummary, ChatTurnSpec, StoredChat } from '@corenel/protocol';
2
+ import type { ChatTurnResult } from '../chat/types';
2
3
  import type { DontAsk, FileService } from '@corenel/protocol';
3
4
  import { type KeySigner } from './deviceKeys';
4
5
  import { type SpeechStreamMsg, type SidecarChannel, type SidecarMsg, type SidecarInfo, type AcpPromptPart, type AcpModeInfo, type AcpStartOptions, type RoomOpenRequest, type RoomSummary, type RoomFinding, type RoomFindingEdit, type DeployRef, type WorkflowRef, type WorkflowPackagePut, type WorkflowPackageReply, type WorkflowResultsListReply, type WorkflowResultsTakeReply, type WorkflowResultsAckReply, type WorkflowStopReply } from '@corenel/protocol';
@@ -176,6 +177,24 @@ export interface SidecarHostOptions {
176
177
  meta?: Record<string, string>;
177
178
  }) => void;
178
179
  }
180
+ /** One chat ask_user prompt from the daemon (Harness Chat Plan 2, R8). */
181
+ export interface SidecarAskUser {
182
+ id: number;
183
+ runId: string;
184
+ agent: string;
185
+ questions: AskQuestion[];
186
+ deadline: number;
187
+ }
188
+ /** How one daemon chat turn ended. A refused or failed turn resolves too;
189
+ * only a dropped connection rejects. */
190
+ export interface SidecarChatRunResult {
191
+ runId: string | null;
192
+ conversationId: string | null;
193
+ text: string;
194
+ stopReason: string;
195
+ outcome: ChatTurnResult['outcome'];
196
+ error?: string;
197
+ }
179
198
  /** `mcp-call` resolves `ok: false` for a policy refusal (`mcp-error`) rather
180
199
  * than rejecting -- see the field comment on `mcpCallPending` above for why. A
181
200
  * reject here is reserved for the transport dropping mid-call. */
@@ -251,6 +270,9 @@ export declare function isSidecarAccountRefusal(e: unknown): boolean;
251
270
  * (slice 4). The device is fine and stays paired; retrying changes nothing
252
271
  * until a fleet admin changes the policy. */
253
272
  export declare function isFleetLoginsRefusal(e: unknown): boolean;
273
+ /** The sidecar's fleet sign-in is paused for a reason that clears by itself (SIGN_IN_PAUSED_DENIED). The device is
274
+ * fine and stays paired, and unlike every other account refusal a retry is expected to succeed later. */
275
+ export declare function isSignInPausedRefusal(e: unknown): boolean;
254
276
  export declare class SidecarHost {
255
277
  private readonly ch;
256
278
  private readonly opts;
@@ -262,6 +284,16 @@ export declare class SidecarHost {
262
284
  private readonly runPending;
263
285
  private cancelSeq;
264
286
  private readonly cancelPending;
287
+ /** Daemon chat (Harness Chat Plan 2): run-inject, chat-list and chat-get replies, by request id. */
288
+ private chatSeq;
289
+ private readonly injectPending;
290
+ private readonly chatListPending;
291
+ private readonly chatGetPending;
292
+ /** Chat ask_user prompts not yet answered or resolved, by the daemon's ask id,
293
+ * so a handler registered after one arrived still sees it. */
294
+ private readonly askUserOpen;
295
+ private readonly askUserHandlers;
296
+ private readonly askUserResolvedHandlers;
265
297
  private acpSeq;
266
298
  private readonly acpPending;
267
299
  private syncSeq;
@@ -655,6 +687,50 @@ export declare class SidecarHost {
655
687
  ok: boolean;
656
688
  reason?: 'no-such-run' | 'unsupported' | 'not-allowed';
657
689
  }>;
690
+ /** True when the connected daemon holds chats (Harness Chat Plan 2):
691
+ * `runChat`, `injectRun`, `listChats`, `getChat` and ask_user prompts. An
692
+ * older daemon would run a chat turn as a plain one-shot run, so check this
693
+ * before calling any of them. */
694
+ supportsChat(): boolean;
695
+ /** One turn of a daemon chat. `chat.conversationId` absent starts a new
696
+ * chat; the daemon mints its id and hands it to `onAccepted` with the run
697
+ * id. Resolves with how the turn ended, a refused or failed one included
698
+ * (with `error`); rejects only when the connection drops mid-turn. */
699
+ runChat(agent: string, text: string, chat: ChatTurnSpec, onEvent: (e: AgentEvent) => void, opts?: {
700
+ onAccepted?: (runId: string, conversationId: string) => void;
701
+ }): Promise<SidecarChatRunResult>;
702
+ /** Messages typed while a chat turn runs; `hard` interrupts it. Never
703
+ * rejects: a refusal or a dropped connection answers `ok: false`. */
704
+ injectRun(runId: string, messages: {
705
+ id: string;
706
+ text: string;
707
+ }[], hard: boolean): Promise<{
708
+ ok: boolean;
709
+ reason?: string;
710
+ }>;
711
+ /** This user's chats with `agent`; the admin may name a `member`. Rejects
712
+ * with the daemon's refusal. */
713
+ listChats(agent: string, opts?: {
714
+ ref?: CrewAgentRef;
715
+ member?: string;
716
+ }): Promise<ChatSummary[]>;
717
+ /** One conversation, to its member or the admin. Rejects with the daemon's
718
+ * refusal (CHAT_NOT_YOURS, CHAT_NOT_FOUND). */
719
+ getChat(agent: string, conversationId: string, opts?: {
720
+ ref?: CrewAgentRef;
721
+ member?: string;
722
+ }): Promise<StoredChat>;
723
+ /** Chat ask_user prompts for this user. Prompts still open when the handler
724
+ * is added are handed to it at once. Returns the unsubscribe function. */
725
+ onAskUser(handler: (ask: SidecarAskUser) => void): () => void;
726
+ /** A prompt was answered on another connection, or timed out: drop it. */
727
+ onAskUserResolved(handler: (r: {
728
+ id: number;
729
+ by: 'client' | 'timeout';
730
+ }) => void): () => void;
731
+ /** Answer prompt `id`; null declines. The first answer from any of this
732
+ * user's or the admin's connections wins; a late one is ignored. */
733
+ answerAskUser(id: number, answers: AskAnswers | null): void;
658
734
  /** True when the connected sidecar's runner supports cancelling a run. */
659
735
  supportsRunCancel(): boolean;
660
736
  /** True when the connected daemon fans a delegated callee's own node events
@@ -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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"}
@@ -1,6 +1,7 @@
1
+ import { CHAT_FEATURE, CHAT_ID_RE } from '@corenel/protocol';
1
2
  import { asEcPublicJwk, jwkThumbprint, verifySignature, randomToken, serverProofPayload, clientProofPayload, parseEnrollmentCode, bytesToB64url, codeProof, codeHash, } from './deviceKeys.js';
2
3
  import { capabilityMissingMessage } from './hostCapability.js';
3
- import { SIDECAR_PROTOCOL, HOST_METHODS, errMessage, RUN_TASK_FEATURE, RUN_PLAN_FEATURE, CREW_DEPLOY_FEATURE, DEVICES_FEATURE, AGENT_ACCESS_FEATURE, AGENT_RUNS_FEATURE, PEER_LINKS_FEATURE, CHILD_EVENTS_FEATURE, PEER_DAEMON_FEATURE, TEAM_MEMBERS_FEATURE, SPEECH_FEATURE, encodePcm16, FLEET_LOGINS_DENIED, isClerkOrgId, WORKFLOW_RUNNER_FEATURE, readWorkflowOkReply, readWorkflowResultsListReply, readWorkflowResultsTakeReply, } from '@corenel/protocol';
4
+ import { SIDECAR_PROTOCOL, HOST_METHODS, errMessage, RUN_TASK_FEATURE, RUN_PLAN_FEATURE, CREW_DEPLOY_FEATURE, DEVICES_FEATURE, AGENT_ACCESS_FEATURE, AGENT_RUNS_FEATURE, PEER_LINKS_FEATURE, CHILD_EVENTS_FEATURE, PEER_DAEMON_FEATURE, TEAM_MEMBERS_FEATURE, SPEECH_FEATURE, encodePcm16, FLEET_LOGINS_DENIED, SIGN_IN_PAUSED_DENIED, isClerkOrgId, WORKFLOW_RUNNER_FEATURE, readWorkflowOkReply, readWorkflowResultsListReply, readWorkflowResultsTakeReply, } from '@corenel/protocol';
4
5
  const NO_WORKFLOWS = 'this daemon does not run workflows';
5
6
  const WRONG_REPLY = 'the daemon answered with the wrong reply';
6
7
  /** A reply that failed its check (protocol workflowWire.ts readers). */
@@ -76,6 +77,12 @@ export function isFleetLoginsRefusal(e) {
76
77
  const msg = e instanceof Error ? e.message : String(e);
77
78
  return msg === `${SIDECAR_NOT_ADMITTED}: ${FLEET_LOGINS_DENIED}`;
78
79
  }
80
+ /** The sidecar's fleet sign-in is paused for a reason that clears by itself (SIGN_IN_PAUSED_DENIED). The device is
81
+ * fine and stays paired, and unlike every other account refusal a retry is expected to succeed later. */
82
+ export function isSignInPausedRefusal(e) {
83
+ const msg = e instanceof Error ? e.message : String(e);
84
+ return msg === `${SIDECAR_NOT_ADMITTED}: ${SIGN_IN_PAUSED_DENIED}`;
85
+ }
79
86
  export class SidecarHost {
80
87
  constructor(opts) {
81
88
  Object.defineProperty(this, "ch", {
@@ -138,6 +145,51 @@ export class SidecarHost {
138
145
  writable: true,
139
146
  value: new Map()
140
147
  });
148
+ /** Daemon chat (Harness Chat Plan 2): run-inject, chat-list and chat-get replies, by request id. */
149
+ Object.defineProperty(this, "chatSeq", {
150
+ enumerable: true,
151
+ configurable: true,
152
+ writable: true,
153
+ value: 0
154
+ });
155
+ Object.defineProperty(this, "injectPending", {
156
+ enumerable: true,
157
+ configurable: true,
158
+ writable: true,
159
+ value: new Map()
160
+ });
161
+ Object.defineProperty(this, "chatListPending", {
162
+ enumerable: true,
163
+ configurable: true,
164
+ writable: true,
165
+ value: new Map()
166
+ });
167
+ Object.defineProperty(this, "chatGetPending", {
168
+ enumerable: true,
169
+ configurable: true,
170
+ writable: true,
171
+ value: new Map()
172
+ });
173
+ /** Chat ask_user prompts not yet answered or resolved, by the daemon's ask id,
174
+ * so a handler registered after one arrived still sees it. */
175
+ Object.defineProperty(this, "askUserOpen", {
176
+ enumerable: true,
177
+ configurable: true,
178
+ writable: true,
179
+ value: new Map()
180
+ });
181
+ Object.defineProperty(this, "askUserHandlers", {
182
+ enumerable: true,
183
+ configurable: true,
184
+ writable: true,
185
+ value: new Set()
186
+ });
187
+ Object.defineProperty(this, "askUserResolvedHandlers", {
188
+ enumerable: true,
189
+ configurable: true,
190
+ writable: true,
191
+ value: new Set()
192
+ });
141
193
  Object.defineProperty(this, "acpSeq", {
142
194
  enumerable: true,
143
195
  configurable: true,
@@ -861,6 +913,18 @@ export class SidecarHost {
861
913
  for (const p of this.cancelPending.values())
862
914
  p({ ok: false, reason: 'unsupported' });
863
915
  this.cancelPending.clear();
916
+ // Same reasoning for an inject: answered, not thrown, so a send during a drop settles.
917
+ for (const p of this.injectPending.values())
918
+ p({ ok: false, reason });
919
+ this.injectPending.clear();
920
+ for (const p of this.chatListPending.values())
921
+ p.reject(new Error(reason));
922
+ this.chatListPending.clear();
923
+ for (const p of this.chatGetPending.values())
924
+ p.reject(new Error(reason));
925
+ this.chatGetPending.clear();
926
+ // The daemon delivers any still-open ask again when the connection comes back.
927
+ this.askUserOpen.clear();
864
928
  for (const p of this.acpPending.values())
865
929
  p.reject(new Error(reason));
866
930
  this.acpPending.clear();
@@ -1159,10 +1223,14 @@ export class SidecarHost {
1159
1223
  }
1160
1224
  case 'run-accepted': {
1161
1225
  const p = this.runPending.get(m.id);
1162
- if (p) {
1163
- p.runId = m.runId;
1226
+ if (!p)
1227
+ return;
1228
+ p.runId = m.runId;
1229
+ // Runtime-validated: a conversation id is only ever a chat id.
1230
+ if (typeof m.conversationId === 'string' && CHAT_ID_RE.test(m.conversationId))
1231
+ p.onAccepted?.(m.runId, m.conversationId);
1232
+ else
1164
1233
  p.onAccepted?.(m.runId);
1165
- }
1166
1234
  return;
1167
1235
  }
1168
1236
  case 'event': {
@@ -1178,7 +1246,10 @@ export class SidecarHost {
1178
1246
  if (!p)
1179
1247
  return;
1180
1248
  this.runPending.delete(m.id);
1181
- p.resolve({ runId: m.runId, text: m.text, stopReason: m.stopReason });
1249
+ p.resolve({
1250
+ runId: m.runId, text: m.text, stopReason: m.stopReason,
1251
+ ...(m.outcome === 'done' || m.outcome === 'stopped' ? { outcome: m.outcome } : {}),
1252
+ });
1182
1253
  return;
1183
1254
  }
1184
1255
  case 'run-error': {
@@ -1186,7 +1257,59 @@ export class SidecarHost {
1186
1257
  if (!p)
1187
1258
  return;
1188
1259
  this.runPending.delete(m.id);
1189
- p.reject(new Error(m.error || 'run failed'));
1260
+ if (p.fail)
1261
+ p.fail(m.error || 'run failed', m.outcome === 'failed' || m.outcome === 'refused' ? m.outcome : undefined);
1262
+ else
1263
+ p.reject(new Error(m.error || 'run failed'));
1264
+ return;
1265
+ }
1266
+ case 'run-inject-result': {
1267
+ const p = this.injectPending.get(m.id);
1268
+ if (!p)
1269
+ return;
1270
+ this.injectPending.delete(m.id);
1271
+ p(m.ok === true ? { ok: true } : { ok: false, ...(typeof m.reason === 'string' ? { reason: m.reason } : {}) });
1272
+ return;
1273
+ }
1274
+ case 'chat-list-result': {
1275
+ const p = this.chatListPending.get(m.id);
1276
+ if (!p)
1277
+ return;
1278
+ this.chatListPending.delete(m.id);
1279
+ if (m.ok)
1280
+ p.resolve(Array.isArray(m.chats) ? m.chats : []);
1281
+ else
1282
+ p.reject(new Error(m.error || 'could not list chats'));
1283
+ return;
1284
+ }
1285
+ case 'chat-get-result': {
1286
+ const p = this.chatGetPending.get(m.id);
1287
+ if (!p)
1288
+ return;
1289
+ this.chatGetPending.delete(m.id);
1290
+ if (m.ok)
1291
+ p.resolve(m.conversation);
1292
+ else
1293
+ p.reject(new Error(m.error || 'could not read the chat'));
1294
+ return;
1295
+ }
1296
+ case 'ask-user': {
1297
+ // Runtime-validated like the rest of what crosses the wire.
1298
+ if (!Number.isSafeInteger(m.id) || typeof m.runId !== 'string' || typeof m.agent !== 'string'
1299
+ || !Array.isArray(m.questions) || typeof m.deadline !== 'number')
1300
+ return;
1301
+ const ask = { id: m.id, runId: m.runId, agent: m.agent, questions: m.questions, deadline: m.deadline };
1302
+ this.askUserOpen.set(ask.id, ask);
1303
+ for (const h of [...this.askUserHandlers])
1304
+ h(ask);
1305
+ return;
1306
+ }
1307
+ case 'ask-user-resolved': {
1308
+ if (!this.askUserOpen.delete(m.id))
1309
+ return;
1310
+ const by = m.by === 'client' ? 'client' : 'timeout';
1311
+ for (const h of [...this.askUserResolvedHandlers])
1312
+ h({ id: m.id, by });
1190
1313
  return;
1191
1314
  }
1192
1315
  case 'cancel-run-result': {
@@ -2103,6 +2226,97 @@ export class SidecarHost {
2103
2226
  this.ch.send({ t: 'cancel-run', id, runId });
2104
2227
  });
2105
2228
  }
2229
+ /** True when the connected daemon holds chats (Harness Chat Plan 2):
2230
+ * `runChat`, `injectRun`, `listChats`, `getChat` and ask_user prompts. An
2231
+ * older daemon would run a chat turn as a plain one-shot run, so check this
2232
+ * before calling any of them. */
2233
+ supportsChat() { return this.features.includes(CHAT_FEATURE); }
2234
+ /** One turn of a daemon chat. `chat.conversationId` absent starts a new
2235
+ * chat; the daemon mints its id and hands it to `onAccepted` with the run
2236
+ * id. Resolves with how the turn ended, a refused or failed one included
2237
+ * (with `error`); rejects only when the connection drops mid-turn. */
2238
+ runChat(agent, text, chat, onEvent, opts) {
2239
+ const id = ++this.runSeq;
2240
+ return new Promise((resolve, reject) => {
2241
+ let runId = null;
2242
+ let conversationId = chat.conversationId ?? null;
2243
+ this.runPending.set(id, {
2244
+ resolve: (r) => resolve({ runId: r.runId, conversationId, text: r.text, stopReason: r.stopReason, outcome: r.outcome ?? 'done' }),
2245
+ reject,
2246
+ fail: (error, outcome) => resolve({ runId, conversationId, text: '', stopReason: '', outcome: outcome ?? 'failed', error }),
2247
+ onEvent,
2248
+ onAccepted: (rid, cid) => {
2249
+ runId = rid;
2250
+ if (cid !== undefined)
2251
+ conversationId = cid;
2252
+ if (conversationId !== null)
2253
+ opts?.onAccepted?.(rid, conversationId);
2254
+ },
2255
+ });
2256
+ this.ch.send({
2257
+ t: 'run', id, agent, input: text,
2258
+ chat: {
2259
+ ...(chat.conversationId !== undefined ? { conversationId: chat.conversationId } : {}),
2260
+ ...(chat.maxUsd !== undefined ? { maxUsd: chat.maxUsd } : {}),
2261
+ ...(chat.ref !== undefined ? { ref: chat.ref } : {}),
2262
+ },
2263
+ });
2264
+ });
2265
+ }
2266
+ /** Messages typed while a chat turn runs; `hard` interrupts it. Never
2267
+ * rejects: a refusal or a dropped connection answers `ok: false`. */
2268
+ injectRun(runId, messages, hard) {
2269
+ const id = ++this.chatSeq;
2270
+ return new Promise((resolve) => {
2271
+ this.injectPending.set(id, resolve);
2272
+ this.ch.send({ t: 'run-inject', id, runId, messages, hard });
2273
+ });
2274
+ }
2275
+ /** This user's chats with `agent`; the admin may name a `member`. Rejects
2276
+ * with the daemon's refusal. */
2277
+ listChats(agent, opts) {
2278
+ const id = ++this.chatSeq;
2279
+ return new Promise((resolve, reject) => {
2280
+ this.chatListPending.set(id, { resolve, reject });
2281
+ this.ch.send({
2282
+ t: 'chat-list', id, agent,
2283
+ ...(opts?.ref !== undefined ? { ref: opts.ref } : {}),
2284
+ ...(opts?.member !== undefined ? { member: opts.member } : {}),
2285
+ });
2286
+ });
2287
+ }
2288
+ /** One conversation, to its member or the admin. Rejects with the daemon's
2289
+ * refusal (CHAT_NOT_YOURS, CHAT_NOT_FOUND). */
2290
+ getChat(agent, conversationId, opts) {
2291
+ const id = ++this.chatSeq;
2292
+ return new Promise((resolve, reject) => {
2293
+ this.chatGetPending.set(id, { resolve, reject });
2294
+ this.ch.send({
2295
+ t: 'chat-get', id, agent, conversationId,
2296
+ ...(opts?.ref !== undefined ? { ref: opts.ref } : {}),
2297
+ ...(opts?.member !== undefined ? { member: opts.member } : {}),
2298
+ });
2299
+ });
2300
+ }
2301
+ /** Chat ask_user prompts for this user. Prompts still open when the handler
2302
+ * is added are handed to it at once. Returns the unsubscribe function. */
2303
+ onAskUser(handler) {
2304
+ this.askUserHandlers.add(handler);
2305
+ for (const ask of [...this.askUserOpen.values()])
2306
+ handler(ask);
2307
+ return () => { this.askUserHandlers.delete(handler); };
2308
+ }
2309
+ /** A prompt was answered on another connection, or timed out: drop it. */
2310
+ onAskUserResolved(handler) {
2311
+ this.askUserResolvedHandlers.add(handler);
2312
+ return () => { this.askUserResolvedHandlers.delete(handler); };
2313
+ }
2314
+ /** Answer prompt `id`; null declines. The first answer from any of this
2315
+ * user's or the admin's connections wins; a late one is ignored. */
2316
+ answerAskUser(id, answers) {
2317
+ this.askUserOpen.delete(id);
2318
+ this.ch.send({ t: 'ask-user-answer', id, answers });
2319
+ }
2106
2320
  /** True when the connected sidecar's runner supports cancelling a run. */
2107
2321
  supportsRunCancel() { return this.features.includes('run-cancel'); }
2108
2322
  /** True when the connected daemon fans a delegated callee's own node events