borgmcp 2.5.0 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -7
- package/dist/assimilate-cmd.d.ts +1 -0
- package/dist/assimilate-cmd.d.ts.map +1 -1
- package/dist/assimilate-cmd.js +58 -30
- package/dist/assimilate-cmd.js.map +1 -1
- package/dist/assimilate-deps.d.ts.map +1 -1
- package/dist/assimilate-deps.js +2 -0
- package/dist/assimilate-deps.js.map +1 -1
- package/dist/claude.js +9 -3
- package/dist/claude.js.map +1 -1
- package/dist/cli-help.d.ts +1 -1
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +7 -4
- package/dist/cli-help.js.map +1 -1
- package/dist/codex-launch.d.ts +2 -2
- package/dist/codex-launch.d.ts.map +1 -1
- package/dist/codex-launch.js +7 -7
- package/dist/codex-launch.js.map +1 -1
- package/dist/first-run-server.d.ts +31 -0
- package/dist/first-run-server.d.ts.map +1 -0
- package/dist/first-run-server.js +117 -0
- package/dist/first-run-server.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -27
- package/dist/index.js.map +1 -1
- package/dist/log-stream.d.ts +4 -8
- package/dist/log-stream.d.ts.map +1 -1
- package/dist/log-stream.js +22 -15
- package/dist/log-stream.js.map +1 -1
- package/dist/opencode-drone.d.ts +11 -5
- package/dist/opencode-drone.d.ts.map +1 -1
- package/dist/opencode-drone.js +236 -48
- package/dist/opencode-drone.js.map +1 -1
- package/dist/opencode-wake-copy.d.ts +2 -0
- package/dist/opencode-wake-copy.d.ts.map +1 -0
- package/dist/opencode-wake-copy.js +8 -0
- package/dist/opencode-wake-copy.js.map +1 -0
- package/dist/regen-format.d.ts +4 -6
- package/dist/regen-format.d.ts.map +1 -1
- package/dist/regen-format.js +10 -14
- package/dist/regen-format.js.map +1 -1
- package/dist/repository-cube-init.d.ts +2 -0
- package/dist/repository-cube-init.d.ts.map +1 -1
- package/dist/repository-cube-init.js +14 -3
- package/dist/repository-cube-init.js.map +1 -1
- package/dist/server-facade.d.ts +2 -0
- package/dist/server-facade.d.ts.map +1 -1
- package/dist/server-facade.js +25 -3
- package/dist/server-facade.js.map +1 -1
- package/dist/setup.js +10 -0
- package/dist/setup.js.map +1 -1
- package/dist/stream-status.d.ts +9 -8
- package/dist/stream-status.d.ts.map +1 -1
- package/dist/stream-status.js +68 -18
- package/dist/stream-status.js.map +1 -1
- package/dist/tool-manifest.js +2 -2
- package/dist/tool-manifest.js.map +1 -1
- package/dist/update-cmd.d.ts +11 -1
- package/dist/update-cmd.d.ts.map +1 -1
- package/dist/update-cmd.js +68 -4
- package/dist/update-cmd.js.map +1 -1
- package/dist/wake-path-health.d.ts +27 -0
- package/dist/wake-path-health.d.ts.map +1 -0
- package/dist/wake-path-health.js +51 -0
- package/dist/wake-path-health.js.map +1 -0
- package/docs/EXTRACTION_PROVENANCE.md +3 -3
- package/docs/LOCAL_SERVER.md +12 -3
- package/docs/RELEASING.md +11 -1
- package/package.json +1 -1
- package/src/assimilate-cmd.ts +66 -27
- package/src/assimilate-deps.ts +9 -0
- package/src/claude.ts +10 -3
- package/src/cli-help.ts +7 -4
- package/src/codex-launch.ts +7 -7
- package/src/first-run-server.ts +178 -0
- package/src/index.ts +24 -28
- package/src/log-stream.ts +36 -25
- package/src/opencode-drone.ts +283 -47
- package/src/opencode-wake-copy.ts +8 -0
- package/src/regen-format.ts +10 -16
- package/src/repository-cube-init.ts +16 -3
- package/src/server-facade.ts +34 -3
- package/src/setup.ts +11 -0
- package/src/stream-status.ts +86 -22
- package/src/tool-manifest.ts +2 -2
- package/src/update-cmd.ts +88 -5
- package/src/wake-path-health.ts +85 -0
package/dist/opencode-drone.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ interface ConnectDeps {
|
|
|
4
4
|
droneLabel: string;
|
|
5
5
|
cubeName: string;
|
|
6
6
|
}
|
|
7
|
+
export type OpenCodeDeliveryState = 'queued' | 'delivered-unconfirmed' | 'retried' | 'failed';
|
|
7
8
|
export interface OpenCodeLaunchKickoff {
|
|
8
9
|
prompt: string;
|
|
9
10
|
nonce: string;
|
|
@@ -23,17 +24,22 @@ export declare function connectOpenCodeDrone(deps: ConnectDeps): Promise<void>;
|
|
|
23
24
|
*/
|
|
24
25
|
export declare function injectInitialKickoff(launch: OpenCodeLaunchKickoff): Promise<boolean>;
|
|
25
26
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
27
|
+
* Queue one durable inbox entry for delivery into the bound OpenCode session.
|
|
28
|
+
* The durable inbox text identifies the OpenCode-generated user message, so
|
|
29
|
+
* retries and replay can confirm an earlier ambiguous submission without
|
|
30
|
+
* supplying an ordering-breaking caller message ID or running it twice.
|
|
28
31
|
*/
|
|
29
|
-
export declare function injectOpenCodeEntry(text: string): Promise<boolean>;
|
|
32
|
+
export declare function injectOpenCodeEntry(text: string, entryId?: string, allowSubmit?: boolean): Promise<boolean>;
|
|
30
33
|
export declare function probeOpenCodeDroneArmed(): Promise<boolean | null>;
|
|
31
34
|
export declare function disconnectOpenCodeDrone(): void;
|
|
32
|
-
export
|
|
35
|
+
export interface OpenCodeConnectionState {
|
|
33
36
|
connected: boolean;
|
|
34
37
|
sessionId: string | null;
|
|
35
38
|
totalEntriesInjected: number;
|
|
36
|
-
|
|
39
|
+
totalEntriesRetried: number;
|
|
40
|
+
deliveryStates: Record<OpenCodeDeliveryState, number>;
|
|
41
|
+
}
|
|
42
|
+
export declare function getOpenCodeConnectionState(): OpenCodeConnectionState;
|
|
37
43
|
export declare function computeOpenCodePort(droneId: string, base?: number): number;
|
|
38
44
|
/** Test-only cleanup for module state and the local cross-process binding. */
|
|
39
45
|
export declare function __resetOpenCodeDroneForTests(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-drone.d.ts","sourceRoot":"","sources":["../src/opencode-drone.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opencode-drone.d.ts","sourceRoot":"","sources":["../src/opencode-drone.ts"],"names":[],"mappings":"AAgCA,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAuBD,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,GACR,uBAAuB,GACvB,SAAS,GACT,QAAQ,CAAC;AA2Bb,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAOD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,MAAqB,GAC3B,qBAAqB,CAKvB;AAcD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB3E;AAubD;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAkC1F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAwD,EACjE,WAAW,GAAE,OAAc,GAC1B,OAAO,CAAC,OAAO,CAAC,CAoDlB;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAavE;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;CACvD;AAED,wBAAgB,0BAA0B,IAAI,uBAAuB,CAiBpE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAc,GAAG,MAAM,CAQjF;AAED,8EAA8E;AAC9E,wBAAgB,4BAA4B,IAAI,IAAI,CAWnD"}
|
package/dist/opencode-drone.js
CHANGED
|
@@ -11,6 +11,8 @@ function log(msg) {
|
|
|
11
11
|
catch { }
|
|
12
12
|
}
|
|
13
13
|
let state = null;
|
|
14
|
+
const OPEN_CODE_DELIVERY_RETRY_DELAYS_MS = [0, 250, 1_000, 3_000];
|
|
15
|
+
const OPEN_CODE_DELIVERY_HISTORY_LIMIT = 256;
|
|
14
16
|
// This is correlation metadata, intentionally not an instruction to the
|
|
15
17
|
// launched agent. A markdown comment keeps it benign in the user-visible
|
|
16
18
|
// kickoff while preserving it in OpenCode's stored message text.
|
|
@@ -28,7 +30,18 @@ export function createOpenCodeLaunchKickoff(kickoff, nonce = randomUUID()) {
|
|
|
28
30
|
};
|
|
29
31
|
}
|
|
30
32
|
const bindingPathsForTests = new Set();
|
|
33
|
+
function abandonOpenCodeDeliveries(current) {
|
|
34
|
+
if (!current)
|
|
35
|
+
return;
|
|
36
|
+
current.connected = false;
|
|
37
|
+
for (const delivery of current.activeDeliveries.values()) {
|
|
38
|
+
delivery.resolve(false);
|
|
39
|
+
}
|
|
40
|
+
current.activeDeliveries.clear();
|
|
41
|
+
current.deliveryQueue.length = 0;
|
|
42
|
+
}
|
|
31
43
|
export async function connectOpenCodeDrone(deps) {
|
|
44
|
+
abandonOpenCodeDeliveries(state);
|
|
32
45
|
state = {
|
|
33
46
|
serverUrl: deps.serverUrl,
|
|
34
47
|
sessionId: null,
|
|
@@ -39,6 +52,13 @@ export async function connectOpenCodeDrone(deps) {
|
|
|
39
52
|
cubeName: deps.cubeName,
|
|
40
53
|
connected: true,
|
|
41
54
|
totalEntriesInjected: 0,
|
|
55
|
+
totalEntriesRetried: 0,
|
|
56
|
+
deliveryQueue: [],
|
|
57
|
+
activeDeliveries: new Map(),
|
|
58
|
+
deliveredEntries: new Map(),
|
|
59
|
+
unconfirmedEntries: new Map(),
|
|
60
|
+
failedEntries: new Map(),
|
|
61
|
+
processingDeliveries: false,
|
|
42
62
|
};
|
|
43
63
|
log(`connected url=${deps.serverUrl} dir=${deps.directory}`);
|
|
44
64
|
}
|
|
@@ -88,15 +108,12 @@ async function listSessions() {
|
|
|
88
108
|
return JSON.parse(body);
|
|
89
109
|
}
|
|
90
110
|
async function getSession(id) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if (status !== 200)
|
|
94
|
-
return null;
|
|
95
|
-
return JSON.parse(body);
|
|
96
|
-
}
|
|
97
|
-
catch {
|
|
111
|
+
const { status, body } = await rawGet(`/session/${id}`);
|
|
112
|
+
if (status === 404)
|
|
98
113
|
return null;
|
|
99
|
-
|
|
114
|
+
if (status !== 200)
|
|
115
|
+
throw new Error(`OpenCode session request failed (${status})`);
|
|
116
|
+
return JSON.parse(body);
|
|
100
117
|
}
|
|
101
118
|
async function listSessionMessages(id) {
|
|
102
119
|
const { status, body } = await rawGet(`/session/${id}/message`);
|
|
@@ -104,9 +121,21 @@ async function listSessionMessages(id) {
|
|
|
104
121
|
throw new Error(`OpenCode session messages request failed (${status})`);
|
|
105
122
|
return JSON.parse(body);
|
|
106
123
|
}
|
|
124
|
+
async function findInjectedMessage(sessionId, text) {
|
|
125
|
+
const messages = await listSessionMessages(sessionId);
|
|
126
|
+
for (let index = messages.length - 1; index >= 0; index--) {
|
|
127
|
+
const message = messages[index];
|
|
128
|
+
if (message?.info?.role !== 'user' || typeof message.info.id !== 'string')
|
|
129
|
+
continue;
|
|
130
|
+
if (message.parts?.some((part) => part.type === 'text' && part.text === text)) {
|
|
131
|
+
return message.info.id;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
107
136
|
async function promptSession(id, bodyObj) {
|
|
108
137
|
const { status } = await rawPost(`/session/${id}/prompt_async`, bodyObj);
|
|
109
|
-
return status
|
|
138
|
+
return status;
|
|
110
139
|
}
|
|
111
140
|
// ---------------------------------------------------------------------------
|
|
112
141
|
// Persist the launch-selected session for the separately spawned MCP child.
|
|
@@ -294,12 +323,142 @@ async function resolveInjectionSession() {
|
|
|
294
323
|
}
|
|
295
324
|
return bound;
|
|
296
325
|
}
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
326
|
+
function rememberBounded(entries, entryId, text) {
|
|
327
|
+
entries.delete(entryId);
|
|
328
|
+
entries.set(entryId, text);
|
|
329
|
+
while (entries.size > OPEN_CODE_DELIVERY_HISTORY_LIMIT) {
|
|
330
|
+
const oldest = entries.keys().next().value;
|
|
331
|
+
if (typeof oldest !== 'string')
|
|
332
|
+
break;
|
|
333
|
+
entries.delete(oldest);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
function waitForDeliveryRetry(attempt) {
|
|
337
|
+
const delay = OPEN_CODE_DELIVERY_RETRY_DELAYS_MS[attempt] ?? 0;
|
|
338
|
+
return delay > 0
|
|
339
|
+
? new Promise((resolve) => setTimeout(resolve, delay))
|
|
340
|
+
: Promise.resolve();
|
|
341
|
+
}
|
|
342
|
+
async function deliverOpenCodeEntry(owner, delivery) {
|
|
343
|
+
let target = null;
|
|
344
|
+
// Before the one allowed POST, retries are safe: no submission has happened.
|
|
345
|
+
// OpenCode must generate the message ID: its run loop treats IDs as
|
|
346
|
+
// lexicographically ordered, so arbitrary caller IDs can persist without
|
|
347
|
+
// ever becoming the active user turn. The unique inbox text correlates the
|
|
348
|
+
// generated message across confirmation and process-replay instead.
|
|
349
|
+
for (let attempt = 0; attempt < OPEN_CODE_DELIVERY_RETRY_DELAYS_MS.length; attempt++) {
|
|
350
|
+
if (state !== owner || !owner.connected)
|
|
351
|
+
return 'failed';
|
|
352
|
+
if (attempt > 0) {
|
|
353
|
+
delivery.state = 'retried';
|
|
354
|
+
owner.totalEntriesRetried++;
|
|
355
|
+
await waitForDeliveryRetry(attempt);
|
|
356
|
+
if (state !== owner || !owner.connected)
|
|
357
|
+
return 'failed';
|
|
358
|
+
}
|
|
359
|
+
if (!target) {
|
|
360
|
+
try {
|
|
361
|
+
target = await resolveInjectionSession();
|
|
362
|
+
}
|
|
363
|
+
catch (err) {
|
|
364
|
+
log(`entry ${delivery.entryId} target unavailable: ${err}`);
|
|
365
|
+
continue;
|
|
366
|
+
}
|
|
367
|
+
if (!target)
|
|
368
|
+
return 'failed';
|
|
369
|
+
}
|
|
370
|
+
try {
|
|
371
|
+
if (await findInjectedMessage(target.id, delivery.text)) {
|
|
372
|
+
return 'delivered';
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
catch (err) {
|
|
376
|
+
log(`entry ${delivery.entryId} confirmation unavailable: ${err}`);
|
|
377
|
+
continue;
|
|
378
|
+
}
|
|
379
|
+
if (!delivery.allowSubmit) {
|
|
380
|
+
continue;
|
|
381
|
+
}
|
|
382
|
+
// prompt_async is not idempotent. Submit at most once, then only poll for
|
|
383
|
+
// the exact text. A transport failure is ambiguous and follows the same
|
|
384
|
+
// confirmation-only path.
|
|
385
|
+
let status = null;
|
|
386
|
+
try {
|
|
387
|
+
status = await promptSession(target.id, {
|
|
388
|
+
parts: [{ type: 'text', text: delivery.text }],
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
catch (err) {
|
|
392
|
+
log(`entry ${delivery.entryId} submission outcome unavailable: ${err}`);
|
|
393
|
+
}
|
|
394
|
+
delivery.state = 'delivered-unconfirmed';
|
|
395
|
+
if (status !== null && status !== 200 && status !== 204) {
|
|
396
|
+
if (status === 404)
|
|
397
|
+
clearBinding();
|
|
398
|
+
return 'failed';
|
|
399
|
+
}
|
|
400
|
+
for (let confirmationAttempt = 0; confirmationAttempt < OPEN_CODE_DELIVERY_RETRY_DELAYS_MS.length; confirmationAttempt++) {
|
|
401
|
+
if (confirmationAttempt > 0) {
|
|
402
|
+
delivery.state = 'retried';
|
|
403
|
+
owner.totalEntriesRetried++;
|
|
404
|
+
await waitForDeliveryRetry(confirmationAttempt);
|
|
405
|
+
if (state !== owner || !owner.connected)
|
|
406
|
+
return 'delivered-unconfirmed';
|
|
407
|
+
delivery.state = 'delivered-unconfirmed';
|
|
408
|
+
}
|
|
409
|
+
try {
|
|
410
|
+
if (await findInjectedMessage(target.id, delivery.text)) {
|
|
411
|
+
return 'delivered';
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
catch (err) {
|
|
415
|
+
log(`entry ${delivery.entryId} post-acceptance confirmation unavailable: ${err}`);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
return 'delivered-unconfirmed';
|
|
419
|
+
}
|
|
420
|
+
// A replay begins from a durable inbox record but cannot know whether the
|
|
421
|
+
// prior process stopped before or after submission. Missing confirmation
|
|
422
|
+
// therefore remains unknown, not a definite delivery failure.
|
|
423
|
+
return delivery.allowSubmit ? 'failed' : 'delivered-unconfirmed';
|
|
424
|
+
}
|
|
425
|
+
async function processOpenCodeDeliveries(owner) {
|
|
426
|
+
if (owner.processingDeliveries)
|
|
427
|
+
return;
|
|
428
|
+
owner.processingDeliveries = true;
|
|
429
|
+
try {
|
|
430
|
+
while (state === owner && owner.deliveryQueue.length > 0) {
|
|
431
|
+
const delivery = owner.deliveryQueue.shift();
|
|
432
|
+
let outcome = 'failed';
|
|
433
|
+
try {
|
|
434
|
+
outcome = await deliverOpenCodeEntry(owner, delivery);
|
|
435
|
+
}
|
|
436
|
+
catch (err) {
|
|
437
|
+
log(`entry ${delivery.entryId} delivery error: ${err}`);
|
|
438
|
+
}
|
|
439
|
+
owner.activeDeliveries.delete(delivery.entryId);
|
|
440
|
+
if (outcome === 'delivered') {
|
|
441
|
+
owner.unconfirmedEntries.delete(delivery.entryId);
|
|
442
|
+
owner.failedEntries.delete(delivery.entryId);
|
|
443
|
+
rememberBounded(owner.deliveredEntries, delivery.entryId, delivery.text);
|
|
444
|
+
owner.totalEntriesInjected++;
|
|
445
|
+
delivery.resolve(true);
|
|
446
|
+
}
|
|
447
|
+
else if (outcome === 'delivered-unconfirmed') {
|
|
448
|
+
owner.failedEntries.delete(delivery.entryId);
|
|
449
|
+
rememberBounded(owner.unconfirmedEntries, delivery.entryId, delivery.text);
|
|
450
|
+
delivery.resolve(false);
|
|
451
|
+
}
|
|
452
|
+
else {
|
|
453
|
+
owner.unconfirmedEntries.delete(delivery.entryId);
|
|
454
|
+
rememberBounded(owner.failedEntries, delivery.entryId, delivery.text);
|
|
455
|
+
delivery.resolve(false);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
finally {
|
|
460
|
+
owner.processingDeliveries = false;
|
|
461
|
+
}
|
|
303
462
|
}
|
|
304
463
|
// ---------------------------------------------------------------------------
|
|
305
464
|
// Public API
|
|
@@ -347,43 +506,60 @@ export async function injectInitialKickoff(launch) {
|
|
|
347
506
|
}
|
|
348
507
|
}
|
|
349
508
|
/**
|
|
350
|
-
*
|
|
351
|
-
*
|
|
509
|
+
* Queue one durable inbox entry for delivery into the bound OpenCode session.
|
|
510
|
+
* The durable inbox text identifies the OpenCode-generated user message, so
|
|
511
|
+
* retries and replay can confirm an earlier ambiguous submission without
|
|
512
|
+
* supplying an ordering-breaking caller message ID or running it twice.
|
|
352
513
|
*/
|
|
353
|
-
export
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
if (await promptSession(target.id, body)) {
|
|
364
|
-
state.totalEntriesInjected++;
|
|
365
|
-
return true;
|
|
514
|
+
export function injectOpenCodeEntry(text, entryId = createHash('sha256').update(text).digest('hex'), allowSubmit = true) {
|
|
515
|
+
const owner = state;
|
|
516
|
+
if (!owner?.connected)
|
|
517
|
+
return Promise.resolve(false);
|
|
518
|
+
const deliveredText = owner.deliveredEntries.get(entryId);
|
|
519
|
+
if (deliveredText !== undefined) {
|
|
520
|
+
if (deliveredText !== text) {
|
|
521
|
+
log(`entry ${entryId} replay text mismatch`);
|
|
522
|
+
rememberBounded(owner.failedEntries, entryId, text);
|
|
523
|
+
return Promise.resolve(false);
|
|
366
524
|
}
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
return false;
|
|
375
|
-
if (await promptSession(replacement.id, body)) {
|
|
376
|
-
state.totalEntriesInjected++;
|
|
377
|
-
return true;
|
|
525
|
+
return Promise.resolve(true);
|
|
526
|
+
}
|
|
527
|
+
const unconfirmedText = owner.unconfirmedEntries.get(entryId);
|
|
528
|
+
if (unconfirmedText !== undefined) {
|
|
529
|
+
if (unconfirmedText !== text) {
|
|
530
|
+
log(`entry ${entryId} unconfirmed replay text mismatch`);
|
|
531
|
+
rememberBounded(owner.failedEntries, entryId, text);
|
|
532
|
+
return Promise.resolve(false);
|
|
378
533
|
}
|
|
379
|
-
|
|
380
|
-
return false;
|
|
534
|
+
return Promise.resolve(false);
|
|
381
535
|
}
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
536
|
+
const active = owner.activeDeliveries.get(entryId);
|
|
537
|
+
if (active) {
|
|
538
|
+
if (active.text !== text) {
|
|
539
|
+
log(`entry ${entryId} active text mismatch`);
|
|
540
|
+
rememberBounded(owner.failedEntries, entryId, text);
|
|
541
|
+
return Promise.resolve(false);
|
|
542
|
+
}
|
|
543
|
+
return active.promise;
|
|
386
544
|
}
|
|
545
|
+
let resolveDelivery;
|
|
546
|
+
const promise = new Promise((resolve) => {
|
|
547
|
+
resolveDelivery = resolve;
|
|
548
|
+
});
|
|
549
|
+
const delivery = {
|
|
550
|
+
entryId,
|
|
551
|
+
text,
|
|
552
|
+
allowSubmit,
|
|
553
|
+
state: 'queued',
|
|
554
|
+
resolve: resolveDelivery,
|
|
555
|
+
promise,
|
|
556
|
+
};
|
|
557
|
+
owner.unconfirmedEntries.delete(entryId);
|
|
558
|
+
owner.failedEntries.delete(entryId);
|
|
559
|
+
owner.activeDeliveries.set(entryId, delivery);
|
|
560
|
+
owner.deliveryQueue.push(delivery);
|
|
561
|
+
void processOpenCodeDeliveries(owner);
|
|
562
|
+
return promise;
|
|
387
563
|
}
|
|
388
564
|
export async function probeOpenCodeDroneArmed() {
|
|
389
565
|
if (!state?.connected)
|
|
@@ -399,18 +575,29 @@ export async function probeOpenCodeDroneArmed() {
|
|
|
399
575
|
return false;
|
|
400
576
|
}
|
|
401
577
|
catch {
|
|
402
|
-
clearBinding();
|
|
403
578
|
return false;
|
|
404
579
|
}
|
|
405
580
|
}
|
|
406
581
|
export function disconnectOpenCodeDrone() {
|
|
582
|
+
abandonOpenCodeDeliveries(state);
|
|
407
583
|
state = null;
|
|
408
584
|
}
|
|
409
585
|
export function getOpenCodeConnectionState() {
|
|
586
|
+
const deliveryStates = {
|
|
587
|
+
queued: 0,
|
|
588
|
+
'delivered-unconfirmed': state?.unconfirmedEntries.size ?? 0,
|
|
589
|
+
retried: 0,
|
|
590
|
+
failed: state?.failedEntries.size ?? 0,
|
|
591
|
+
};
|
|
592
|
+
for (const delivery of state?.activeDeliveries.values() ?? []) {
|
|
593
|
+
deliveryStates[delivery.state]++;
|
|
594
|
+
}
|
|
410
595
|
return {
|
|
411
596
|
connected: state?.connected ?? false,
|
|
412
597
|
sessionId: state?.sessionId ?? null,
|
|
413
598
|
totalEntriesInjected: state?.totalEntriesInjected ?? 0,
|
|
599
|
+
totalEntriesRetried: state?.totalEntriesRetried ?? 0,
|
|
600
|
+
deliveryStates,
|
|
414
601
|
};
|
|
415
602
|
}
|
|
416
603
|
export function computeOpenCodePort(droneId, base = 14096) {
|
|
@@ -424,6 +611,7 @@ export function computeOpenCodePort(droneId, base = 14096) {
|
|
|
424
611
|
}
|
|
425
612
|
/** Test-only cleanup for module state and the local cross-process binding. */
|
|
426
613
|
export function __resetOpenCodeDroneForTests() {
|
|
614
|
+
abandonOpenCodeDeliveries(state);
|
|
427
615
|
state = null;
|
|
428
616
|
for (const path of bindingPathsForTests) {
|
|
429
617
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-drone.js","sourceRoot":"","sources":["../src/opencode-drone.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"opencode-drone.js","sourceRoot":"","sources":["../src/opencode-drone.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode-wake-copy.d.ts","sourceRoot":"","sources":["../src/opencode-wake-copy.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,QAOJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const OPENCODE_WAKE_PATH_GUIDANCE = 'OpenCode wakes through HTTP entry injection into its session through the local HTTP API. ' +
|
|
2
|
+
'Borg writes each entry to the durable inbox before one injection attempt and ' +
|
|
3
|
+
'confirms delivery by the unique persisted entry text; no inbox Monitor or secondary wake loop is used. ' +
|
|
4
|
+
'If injection is rejected or cannot be ' +
|
|
5
|
+
'confirmed, the durable entry remains available and `borg_stream-status` reports ' +
|
|
6
|
+
'it as failed or delivered-unconfirmed; run `borg_read-log unread_only=true` and ' +
|
|
7
|
+
'drain the unread log to recover.';
|
|
8
|
+
//# sourceMappingURL=opencode-wake-copy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode-wake-copy.js","sourceRoot":"","sources":["../src/opencode-wake-copy.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GACtC,2FAA2F;IAC3F,+EAA+E;IAC/E,yGAAyG;IACzG,wCAAwC;IACxC,kFAAkF;IAClF,kFAAkF;IAClF,kCAAkC,CAAC"}
|
package/dist/regen-format.d.ts
CHANGED
|
@@ -12,9 +12,8 @@
|
|
|
12
12
|
* one of `startup` / `resume` / `clear` / `compact`. The `borg-regen`
|
|
13
13
|
* SessionStart hook uses this to detect a `/clear` re-orientation, which is
|
|
14
14
|
* the FIRST time the hook is the SOLE orientation path (the launch kickoff
|
|
15
|
-
* prompt is gone)
|
|
16
|
-
*
|
|
17
|
-
* an operational re-arm.
|
|
15
|
+
* prompt is gone), so the re-injected orientation must instruct an operational
|
|
16
|
+
* Monitor re-arm.
|
|
18
17
|
*
|
|
19
18
|
* Best-effort + total: empty input (manual / TTY run with no stdin),
|
|
20
19
|
* malformed JSON, a missing `source`, or a non-string `source` all return
|
|
@@ -34,9 +33,8 @@ export type AgentKind = 'claude' | 'codex' | 'opencode';
|
|
|
34
33
|
*
|
|
35
34
|
* Agent-branched on the existing env-agnostic signal (BORG_SESSION-style
|
|
36
35
|
* `isCodexRemoteWakeEnabled`), NOT on a mutable server-recorded field:
|
|
37
|
-
* - claude: arm the inbox-file tail Monitor
|
|
38
|
-
*
|
|
39
|
-
* healthy or indeterminate; short only while explicitly broken).
|
|
36
|
+
* - claude: arm the inbox-file tail Monitor, drain unread entries on every
|
|
37
|
+
* wake, and re-arm the Monitor if it exits or is missing.
|
|
40
38
|
* - codex: Borg's activity stream reaches the app-server remote-control inbox
|
|
41
39
|
* channel; each wake is followed by an unread-log drain. Manual full regen
|
|
42
40
|
* + drain is a degraded fallback when remote control is unavailable.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regen-format.d.ts","sourceRoot":"","sources":["../src/regen-format.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"regen-format.d.ts","sourceRoot":"","sources":["../src/regen-format.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS1D;AAED,4EAA4E;AAC5E,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAC/B,MAAM,CAyBR;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACtE,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,IAAI,GACrD;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAOnE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,GAAG,MAAM,CAyBT;AASD,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AAED;;;;;;;;;;;;;GAaG;AAUH,wBAAgB,gBAAgB,IAAI,MAAM,CA0DzC;AAED;;;;;;;GAOG;AAMH,wBAAgB,uBAAuB,IAAI,MAAM,CAoChD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAYpD;AAED;;;;;;;GAOG;AACH;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,eAAe,EAAE,OAAO,GAAG,MAAM,CAWhE;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,EAC7C,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,MAAM,GAAG,IAAI,CAEf;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAKxC,wBAAgB,wBAAwB,IAAI,IAAI,CAI/C;AAUD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQ5F;AAWD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC7C,MAAM,CAgBR;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE;IACN,IAAI,EAAE,GAAG,GAAG;QAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC/C,IAAI,EAAE,GAAG,GAAG;QAAE,yBAAyB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC1D,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,MAAM,EAAE,GAAG,EAAE,CAAC;IAKd,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAGlB,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;CACnB,EACD,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,SAAS,CAAA;CAAO,GAC9B,MAAM,CA0JR;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,MAAM,CAeR"}
|
package/dist/regen-format.js
CHANGED
|
@@ -11,6 +11,7 @@ import { formatDroneAddressToken } from 'borgmcp-shared/drone-address';
|
|
|
11
11
|
import { RUNTIME_METADATA_ADVISORY, renderRuntimeMetadataLines, } from './roster-render.js';
|
|
12
12
|
import { shellEscape } from './shell-escape.js';
|
|
13
13
|
import { resolveInboxMonitorPath } from './self-path.js';
|
|
14
|
+
import { OPENCODE_WAKE_PATH_GUIDANCE } from './opencode-wake-copy.js';
|
|
14
15
|
/**
|
|
15
16
|
* Extract the SessionStart `source` from a Claude Code hook payload (gh#926).
|
|
16
17
|
*
|
|
@@ -18,9 +19,8 @@ import { resolveInboxMonitorPath } from './self-path.js';
|
|
|
18
19
|
* one of `startup` / `resume` / `clear` / `compact`. The `borg-regen`
|
|
19
20
|
* SessionStart hook uses this to detect a `/clear` re-orientation, which is
|
|
20
21
|
* the FIRST time the hook is the SOLE orientation path (the launch kickoff
|
|
21
|
-
* prompt is gone)
|
|
22
|
-
*
|
|
23
|
-
* an operational re-arm.
|
|
22
|
+
* prompt is gone), so the re-injected orientation must instruct an operational
|
|
23
|
+
* Monitor re-arm.
|
|
24
24
|
*
|
|
25
25
|
* Best-effort + total: empty input (manual / TTY run with no stdin),
|
|
26
26
|
* malformed JSON, a missing `source`, or a non-string `source` all return
|
|
@@ -49,9 +49,8 @@ export function parseHookSource(raw) {
|
|
|
49
49
|
*
|
|
50
50
|
* Agent-branched on the existing env-agnostic signal (BORG_SESSION-style
|
|
51
51
|
* `isCodexRemoteWakeEnabled`), NOT on a mutable server-recorded field:
|
|
52
|
-
* - claude: arm the inbox-file tail Monitor
|
|
53
|
-
*
|
|
54
|
-
* healthy or indeterminate; short only while explicitly broken).
|
|
52
|
+
* - claude: arm the inbox-file tail Monitor, drain unread entries on every
|
|
53
|
+
* wake, and re-arm the Monitor if it exits or is missing.
|
|
55
54
|
* - codex: Borg's activity stream reaches the app-server remote-control inbox
|
|
56
55
|
* channel; each wake is followed by an unread-log drain. Manual full regen
|
|
57
56
|
* + drain is a degraded fallback when remote control is unavailable.
|
|
@@ -71,9 +70,7 @@ export function wakePathArming(agentKind, inboxPath, monitorStateRoot) {
|
|
|
71
70
|
].join(' ');
|
|
72
71
|
}
|
|
73
72
|
if (agentKind === 'opencode') {
|
|
74
|
-
return
|
|
75
|
-
'there is no tail-Monitor or `/loop` heartbeat to arm. Cube posts are delivered ' +
|
|
76
|
-
'directly into your active session. Use \`borg_regen\` at any time for fresh context.');
|
|
73
|
+
return OPENCODE_WAKE_PATH_GUIDANCE;
|
|
77
74
|
}
|
|
78
75
|
// gh#client#18: use absolute path to THIS installation's borg-inbox-monitor
|
|
79
76
|
// so the orientation command always resolves to the same version as the
|
|
@@ -85,9 +82,8 @@ export function wakePathArming(agentKind, inboxPath, monitorStateRoot) {
|
|
|
85
82
|
return [
|
|
86
83
|
'Arm your wake path before working:',
|
|
87
84
|
`1. **Inbox Monitor** (wake path) — run a persistent Monitor on \`${monitorCommand}\` so cube posts wake you in real time.`,
|
|
88
|
-
'2. **
|
|
89
|
-
'3. **
|
|
90
|
-
'4. **Recovery tick** — drain `borg_read-log unread_only=true`. If empty, check wake status, set deadline, resume prior work. No full-regen or liveness post on empty; safety probes may still wake.',
|
|
85
|
+
'2. **On every wake** — drain `borg_read-log unread_only=true`. If empty, resume prior work without a full regen or liveness post; safety probes may still wake.',
|
|
86
|
+
'3. **Monitor recovery** — if the Monitor exits or is missing, re-arm it when the exit notification wakes you.',
|
|
91
87
|
].join('\n');
|
|
92
88
|
}
|
|
93
89
|
/**
|
|
@@ -137,8 +133,8 @@ export function formatLeanOrientation(args) {
|
|
|
137
133
|
? '\n_(`/clear` cleared your conversation; Codex remote-control wake remains active. Follow the required Codex wake path below.)_\n'
|
|
138
134
|
: agentKind === 'claude'
|
|
139
135
|
? [
|
|
140
|
-
'\n_(`/clear` cleared Claude\'s
|
|
141
|
-
'_Quiet-clear fallback: if a later turn follows silence, inspect `borg_stream-status` + `borg_roster`; call `borg_regen mode="full"`, drain `borg_read-log unread_only=true`, then re-arm
|
|
136
|
+
'\n_(`/clear` cleared Claude\'s conversation — re-arm the inbox Monitor now.)_',
|
|
137
|
+
'_Quiet-clear fallback: if a later turn follows silence, inspect `borg_stream-status` + `borg_roster`; call `borg_regen mode="full"`, drain `borg_read-log unread_only=true`, then re-arm the Monitor._\n',
|
|
142
138
|
].join('\n')
|
|
143
139
|
: ''
|
|
144
140
|
: '';
|