harnery 0.42.0 → 0.43.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/commander.d.ts +16 -0
- package/dist/commander.d.ts.map +1 -1
- package/dist/commander.js +18 -0
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +54 -4
- package/dist/commands/tunnel.d.ts +65 -0
- package/dist/commands/tunnel.d.ts.map +1 -1
- package/dist/commands/tunnel.js +290 -101
- package/dist/commands/web-fetch.d.ts +3 -2
- package/dist/commands/web-fetch.d.ts.map +1 -1
- package/dist/commands/web-fetch.js +25 -19
- package/dist/commands/web.d.ts +7 -1
- package/dist/commands/web.d.ts.map +1 -1
- package/dist/commands/web.js +9 -3
- package/dist/core/agents/render/prompt-context.d.ts.map +1 -1
- package/dist/core/agents/render/prompt-context.js +11 -5
- package/dist/core/agents/render/session-context.d.ts.map +1 -1
- package/dist/core/agents/render/session-context.js +57 -13
- package/dist/core/agents/state/names.d.ts +43 -3
- package/dist/core/agents/state/names.d.ts.map +1 -1
- package/dist/core/agents/state/names.js +87 -3
- package/dist/core/events/v3/support-storage/pack-reader.d.ts.map +1 -1
- package/dist/core/events/v3/support-storage/pack-reader.js +42 -16
- package/dist/core/hooks/cli.js +87 -18
- package/dist/core/hooks/fork-lineage.d.ts +40 -0
- package/dist/core/hooks/fork-lineage.d.ts.map +1 -0
- package/dist/core/hooks/fork-lineage.js +62 -0
- package/dist/core/hooks/resolve/transcript.d.ts +16 -0
- package/dist/core/hooks/resolve/transcript.d.ts.map +1 -1
- package/dist/core/hooks/resolve/transcript.js +84 -0
- package/dist/core/hooks/shell-rm.d.ts +2 -0
- package/dist/core/hooks/shell-rm.d.ts.map +1 -0
- package/dist/core/hooks/shell-rm.js +105 -0
- package/dist/core/hooks/shell-tokens.d.ts +12 -0
- package/dist/core/hooks/shell-tokens.d.ts.map +1 -0
- package/dist/core/hooks/shell-tokens.js +97 -0
- package/dist/core/hooks/shell-waiter.d.ts.map +1 -1
- package/dist/core/hooks/shell-waiter.js +3 -93
- package/dist/core/semantic/contract.d.ts +5 -5
- package/dist/core/storage/process-log.d.ts +12 -0
- package/dist/core/storage/process-log.d.ts.map +1 -1
- package/dist/core/storage/process-log.js +10 -2
- package/dist/lib/tunnel/allowlist.d.ts +44 -0
- package/dist/lib/tunnel/allowlist.d.ts.map +1 -0
- package/dist/lib/tunnel/allowlist.js +204 -0
- package/dist/lib/tunnel/current-address.d.ts +41 -0
- package/dist/lib/tunnel/current-address.d.ts.map +1 -0
- package/dist/lib/tunnel/current-address.js +123 -0
- package/dist/lib/tunnel/gate.js +13 -6
- package/dist/lib/tunnel/processes.d.ts +39 -0
- package/dist/lib/tunnel/processes.d.ts.map +1 -0
- package/dist/lib/tunnel/processes.js +121 -0
- package/dist/lib/tunnel/state.d.ts +28 -3
- package/dist/lib/tunnel/state.d.ts.map +1 -1
- package/dist/lib/tunnel/state.js +98 -27
- package/package.json +2 -1
- package/src/commander.ts +32 -0
- package/src/commands/agents.ts +97 -11
- package/src/commands/tunnel.ts +394 -116
- package/src/commands/web-fetch.ts +30 -19
- package/src/commands/web.ts +9 -3
- package/src/core/agents/render/prompt-context.ts +25 -8
- package/src/core/agents/render/session-context.ts +83 -16
- package/src/core/agents/state/names.ts +117 -6
- package/src/core/events/v3/support-storage/pack-reader.ts +45 -19
- package/src/core/hooks/cli.ts +106 -17
- package/src/core/hooks/fork-lineage.ts +82 -0
- package/src/core/hooks/resolve/transcript.ts +88 -0
- package/src/core/hooks/shell-rm.ts +103 -0
- package/src/core/hooks/shell-tokens.ts +96 -0
- package/src/core/hooks/shell-waiter.ts +4 -91
- package/src/core/storage/process-log.ts +17 -2
- package/src/lib/tunnel/allowlist.ts +208 -0
- package/src/lib/tunnel/current-address.ts +158 -0
- package/src/lib/tunnel/gate.ts +16 -8
- package/src/lib/tunnel/processes.ts +149 -0
- package/src/lib/tunnel/state.ts +123 -27
package/dist/commander.d.ts
CHANGED
|
@@ -204,5 +204,21 @@ export interface HarneryLogStorageCommandOptions extends Pick<HarneryContextOpts
|
|
|
204
204
|
commands?: readonly ("storage" | "logs")[];
|
|
205
205
|
}
|
|
206
206
|
export declare function registerHarneryLogStorageCommands(parent: Command, options?: HarneryLogStorageCommandOptions): Promise<Command>;
|
|
207
|
+
export interface HarneryTunnelCommandOptions {
|
|
208
|
+
emit?: EmitContext;
|
|
209
|
+
context?: HarneryProgramContext;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Mount `tunnel` under `parent`, for a host whose own program does not come
|
|
213
|
+
* from `createHarneryProgram` (a host CLI that exposes the tunnel as one of its
|
|
214
|
+
* command families).
|
|
215
|
+
*/
|
|
216
|
+
export declare function registerHarneryTunnelCommand(parent: Command, options?: HarneryTunnelCommandOptions): Promise<Command>;
|
|
217
|
+
export type { RefreshCurrentOptions, RefreshCurrentResult } from "./commands/tunnel.js";
|
|
218
|
+
/**
|
|
219
|
+
* `tunnel allow add --current` as a function: allow this machine's public
|
|
220
|
+
* addresses and optionally reload running gates, keeping their URLs.
|
|
221
|
+
*/
|
|
222
|
+
export declare function refreshTunnelCurrentAddress(options: import("./commands/tunnel.js").RefreshCurrentOptions): Promise<import("./commands/tunnel.js").RefreshCurrentResult>;
|
|
207
223
|
export declare function createHarneryProgram(opts?: HarneryContextOpts): Command;
|
|
208
224
|
//# sourceMappingURL=commander.d.ts.map
|
package/dist/commander.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commander.d.ts","sourceRoot":"","sources":["../src/commander.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commander.d.ts","sourceRoot":"","sources":["../src/commander.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAEhC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED,8CAA8C;AAC9C,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;CAC7C;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;AAEnD,MAAM,WAAW,qBAAqB;IACpC,0FAA0F;IAC1F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,wBAAwB,EAAE,YAAY,CAAC;IAC7D;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,2BAA2B,EAAE,gBAAgB,CAAC;IACxE,0EAA0E;IAC1E,sBAAsB,CAAC,EAAE,MAAM,OAAO,CACpC,OAAO,2BAA2B,EAAE,gBAAgB,GAAG,SAAS,CACjE,CAAC;IACF;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,KAAK,MAAM,GAAG,SAAS,CAAC;IACzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvE;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,4BAA4B,EAAE,8BAA8B,CAAC;IAC9E,qFAAqF;IACrF,2BAA2B,CAAC,EAAE,SAAS,OAAO,+BAA+B,EAAE,0BAA0B,EAAE,CAAC;IAC5G,mGAAmG;IACnG,iBAAiB,CAAC,EAAE,OAAO,yBAAyB,EAAE,mBAAmB,CAAC;IAC1E,iGAAiG;IACjG,aAAa,CAAC,EAAE;QACd,OAAO,EAAE,OAAO,iCAAiC,EAAE,0BAA0B,CAAC;QAC9E,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,SAAS,OAAO,kCAAkC,EAAE,2BAA2B,EAAE,CAAC;KACnG,CAAC;IACF;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACjE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACxC,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IAC5C,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3D,KAAK,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC;IACrF,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACpE,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,EAAE,WAkCzB,CAAC;AAEF,kFAAkF;AAClF,MAAM,WAAW,+BACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,EAAE,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC;CAC5C;AAED,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,OAAO,CAAC,CAIlB;AAED,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAExF;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,OAAO,sBAAsB,EAAE,qBAAqB,GAC5D,OAAO,CAAC,OAAO,sBAAsB,EAAE,oBAAoB,CAAC,CAG9D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAiB3E"}
|
package/dist/commander.js
CHANGED
|
@@ -67,6 +67,24 @@ export async function registerHarneryLogStorageCommands(parent, options = {}) {
|
|
|
67
67
|
}
|
|
68
68
|
return parent;
|
|
69
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Mount `tunnel` under `parent`, for a host whose own program does not come
|
|
72
|
+
* from `createHarneryProgram` (a host CLI that exposes the tunnel as one of its
|
|
73
|
+
* command families).
|
|
74
|
+
*/
|
|
75
|
+
export async function registerHarneryTunnelCommand(parent, options = {}) {
|
|
76
|
+
const { registerTunnelCommand } = await import("./commands/tunnel.js");
|
|
77
|
+
registerTunnelCommand(parent, options.emit ?? defaultEmit, options.context);
|
|
78
|
+
return parent;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* `tunnel allow add --current` as a function: allow this machine's public
|
|
82
|
+
* addresses and optionally reload running gates, keeping their URLs.
|
|
83
|
+
*/
|
|
84
|
+
export async function refreshTunnelCurrentAddress(options) {
|
|
85
|
+
const { refreshCurrentAddress } = await import("./commands/tunnel.js");
|
|
86
|
+
return refreshCurrentAddress(options);
|
|
87
|
+
}
|
|
70
88
|
export function createHarneryProgram(opts = {}) {
|
|
71
89
|
const program = new Command();
|
|
72
90
|
const emit = opts.emit ?? defaultEmit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAcH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAS1E,OAAO,EAGL,qBAAqB,EAMtB,MAAM,yBAAyB,CAAC;AAejC,OAAO,EAKL,KAAK,4BAA4B,EAClC,MAAM,wCAAwC,CAAC;AAMhD,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/agents.js
CHANGED
|
@@ -28,6 +28,7 @@ import { SESSION_NAME_DISPLAY_NOTE, sessionNameDisplayPending, } from "../core/a
|
|
|
28
28
|
import { agentDisplayName } from "../core/agents/state/activity-log.js";
|
|
29
29
|
import { buildLifecycleSuggestedName, buildSuggestedName, readHeartbeat as readHeartbeatCache, } from "../core/agents/state/heartbeat-writer.js";
|
|
30
30
|
import { describeLiveAuthorityBlockV3, liveAuthorityBlockHintV3, liveAuthorityBlockV3, readLiveCoordinationRow, readLiveCoordinationRows, } from "../core/agents/state/live-coordination-view.js";
|
|
31
|
+
import { forkRelationLabels, resolveForkAncestry } from "../core/agents/state/names.js";
|
|
31
32
|
import { foldSessionState, } from "../core/agents/state/session-state.js";
|
|
32
33
|
import { turnChangesStatusRow } from "../core/agents/turn-changes.js";
|
|
33
34
|
import { turnElapsedStatusRow } from "../core/agents/turn-elapsed.js";
|
|
@@ -35,6 +36,7 @@ import { coordFreshnessSeconds, resolveBinName, sessionFinalizationConfig, } fro
|
|
|
35
36
|
import { EVENT_ADAPTER_IDS_V3, normalizeEventAdapterIdV3, } from "../core/events/v3/adapter-id.js";
|
|
36
37
|
import { readEventV3ControlState } from "../core/events/v3/control.js";
|
|
37
38
|
import { projectCoordinationViewV3, readCoordinationViewV3, } from "../core/events/v3/coordination-view.js";
|
|
39
|
+
import { nativeInstanceIdV3 } from "../core/events/v3/live-route-observer.js";
|
|
38
40
|
import { liveInstanceIdV3 } from "../core/events/v3/live-routing.js";
|
|
39
41
|
import { countSummarizedSinceV3, listDiagnosticSummariesV3, } from "../core/events/v3/producers/diagnostic-summaries.js";
|
|
40
42
|
import { listHookIntakeGroupsV3, listHookIntakeRecordsV3, } from "../core/events/v3/producers/intake.js";
|
|
@@ -227,6 +229,7 @@ export function registerAgentsCommand(program, emitParam, programContext, binNam
|
|
|
227
229
|
.description("Declare this session's task lifecycle: active, blocked, or done")
|
|
228
230
|
.option("--reason <text>", "Explain the lifecycle declaration")
|
|
229
231
|
.option("--session-id <id>", "Target the heartbeat with this session_id directly, bypassing the ppid walk.")
|
|
232
|
+
.option("--force-ancestor", "Allow a fork to change its fork ancestor's lifecycle (only on explicit operator instruction)")
|
|
230
233
|
.action((state, opts) => {
|
|
231
234
|
runLifecycle(state, opts);
|
|
232
235
|
});
|
|
@@ -236,6 +239,7 @@ export function registerAgentsCommand(program, emitParam, programContext, binNam
|
|
|
236
239
|
.option("--session-id <id>", "Native adapter session id to finalize")
|
|
237
240
|
.option("--instance-id <id>", "Canonical V3 instance id to finalize")
|
|
238
241
|
.option("--outcome <outcome>", "succeeded | failed | cancelled | timed_out | denied | interrupted | unknown", "succeeded")
|
|
242
|
+
.option("--force-ancestor", "Allow a fork to finalize its fork ancestor's session (only on explicit operator instruction)")
|
|
239
243
|
.action((opts) => {
|
|
240
244
|
runEndSession(opts);
|
|
241
245
|
});
|
|
@@ -361,6 +365,30 @@ const SESSION_OUTCOMES = new Set([
|
|
|
361
365
|
"interrupted",
|
|
362
366
|
"unknown",
|
|
363
367
|
]);
|
|
368
|
+
/**
|
|
369
|
+
* Refuse when the calling session targets one of its recorded fork ancestors.
|
|
370
|
+
* A fork's transcript is full of its parent's name, task, and claims, so a
|
|
371
|
+
* fork that "cleans up its earlier self" is usually cutting off a live parent
|
|
372
|
+
* (2026-10-07: a fork offered to close its running parent). Returns the
|
|
373
|
+
* refusal message, or null when the call may proceed.
|
|
374
|
+
*/
|
|
375
|
+
function forkAncestorRefusal(root, targetIds, force, action) {
|
|
376
|
+
if (force)
|
|
377
|
+
return null;
|
|
378
|
+
const ids = new Set(targetIds.filter((id) => !!id));
|
|
379
|
+
if (ids.size === 0)
|
|
380
|
+
return null;
|
|
381
|
+
const self = resolveOwner() ?? sessionIdentityFromEnv();
|
|
382
|
+
if (!self || ids.has(self))
|
|
383
|
+
return null;
|
|
384
|
+
const ancestor = resolveForkAncestry(root, self).find((a) => ids.has(a.instance_id));
|
|
385
|
+
if (!ancestor)
|
|
386
|
+
return null;
|
|
387
|
+
const label = ancestor.name ? `agent-${ancestor.name}` : ancestor.instance_id;
|
|
388
|
+
return (`${label} is this session's fork ancestor: this conversation was branched from it, so its ` +
|
|
389
|
+
`name, task, and files in your context are its own, and it may still be running. Refusing to ` +
|
|
390
|
+
`${action} it. Rerun with --force-ancestor only when the operator explicitly asked for that.`);
|
|
391
|
+
}
|
|
364
392
|
function runEndSession(opts) {
|
|
365
393
|
const root = monorepoRoot();
|
|
366
394
|
if (!root)
|
|
@@ -386,6 +414,11 @@ function runEndSession(opts) {
|
|
|
386
414
|
return failCommand("session_identity_missing", "live V3 generation disappeared");
|
|
387
415
|
}
|
|
388
416
|
const state = record.state;
|
|
417
|
+
if (opts.instanceId || opts.sessionId) {
|
|
418
|
+
const refusal = forkAncestorRefusal(root, [target, state.session_id, nativeInstanceIdV3(state.instance_id)], opts.forceAncestor, "finalize");
|
|
419
|
+
if (refusal)
|
|
420
|
+
return failCommand("session_is_fork_ancestor", refusal);
|
|
421
|
+
}
|
|
389
422
|
if (state.delegations.length > 0) {
|
|
390
423
|
return failCommand("session_work_open", `cannot finalize while ${state.delegations.length} delegated child(ren) remain open`);
|
|
391
424
|
}
|
|
@@ -1472,6 +1505,14 @@ function runLifecycle(rawState, opts) {
|
|
|
1472
1505
|
}
|
|
1473
1506
|
if (!opts.sessionId)
|
|
1474
1507
|
ensureAdapterSession(root);
|
|
1508
|
+
if (opts.sessionId) {
|
|
1509
|
+
const refusal = forkAncestorRefusal(root, [opts.sessionId], opts.forceAncestor, "change the lifecycle of");
|
|
1510
|
+
if (refusal) {
|
|
1511
|
+
emit.error({ code: "session_is_fork_ancestor", message: refusal });
|
|
1512
|
+
process.exitCode = 1;
|
|
1513
|
+
return;
|
|
1514
|
+
}
|
|
1515
|
+
}
|
|
1475
1516
|
const myOwner = opts.sessionId ?? resolveOwner() ?? sessionIdentityFromEnv();
|
|
1476
1517
|
if (!myOwner) {
|
|
1477
1518
|
emit.error(sessionResolutionFailure(root, "not in an agent session; ppid walk found no pid-map entry (pass --session-id to bypass)"));
|
|
@@ -1790,8 +1831,16 @@ function runStatus(opts) {
|
|
|
1790
1831
|
? Math.max(0, Math.floor((Date.now() - startedAtMs) / 1000))
|
|
1791
1832
|
: 0;
|
|
1792
1833
|
const { livePeers, stale: peersStale } = collectStatusPeerHealth(root, myOwner);
|
|
1793
|
-
//
|
|
1834
|
+
// Recorded fork relations label the parent and forks so a fork cannot read
|
|
1835
|
+
// its live parent as its own earlier session; they sort first.
|
|
1836
|
+
const relations = forkRelationLabels(root, myOwner, new Set(livePeers.map((p) => p.instance_id)));
|
|
1837
|
+
// Sort: related sessions, then file-holders (by file count desc), then idle
|
|
1838
|
+
// peers by recency.
|
|
1794
1839
|
livePeers.sort((a, b) => {
|
|
1840
|
+
const ar = relations.has(a.instance_id) ? 1 : 0;
|
|
1841
|
+
const br = relations.has(b.instance_id) ? 1 : 0;
|
|
1842
|
+
if (ar !== br)
|
|
1843
|
+
return br - ar;
|
|
1795
1844
|
const af = a.files_touched?.length ?? 0;
|
|
1796
1845
|
const bf = b.files_touched?.length ?? 0;
|
|
1797
1846
|
if (af !== bf)
|
|
@@ -1802,7 +1851,7 @@ function runStatus(opts) {
|
|
|
1802
1851
|
const filesStr = formatList(filesHeld.map((p) => basename(p)), 4, "0 held");
|
|
1803
1852
|
// Cross-machine presence (ADR 0016): sessions on other machines, advisory.
|
|
1804
1853
|
const remoteMachines = readRemoteMachines(root);
|
|
1805
|
-
const peersStr = formatPeers(livePeers, 4, peersStale, remoteMachines);
|
|
1854
|
+
const peersStr = formatPeers(livePeers, 4, peersStale, remoteMachines, relations);
|
|
1806
1855
|
const ctxUsage = readContextUsage(hb.native_session_id ?? hb.session_id, hb.platform);
|
|
1807
1856
|
let ctxStr;
|
|
1808
1857
|
if (!ctxUsage) {
|
|
@@ -1971,14 +2020,15 @@ function formatList(items, cap, emptyLabel) {
|
|
|
1971
2020
|
const shown = items.slice(0, cap).join(", ");
|
|
1972
2021
|
return `${shown}, +${items.length - cap} more`;
|
|
1973
2022
|
}
|
|
1974
|
-
function formatPeers(peers, cap, staleCount, remoteMachines = []) {
|
|
2023
|
+
function formatPeers(peers, cap, staleCount, remoteMachines = [], relations = new Map()) {
|
|
1975
2024
|
if (peers.length === 0 && staleCount === 0 && remoteMachines.length === 0)
|
|
1976
2025
|
return "none";
|
|
1977
2026
|
const labels = peers.map((p) => {
|
|
1978
2027
|
const name = p.name || "unnamed";
|
|
1979
2028
|
const plat = formatPlatformLabel(p.platform);
|
|
1980
2029
|
const files = p.files_touched?.length ?? 0;
|
|
1981
|
-
const
|
|
2030
|
+
const relation = relations.get(p.instance_id);
|
|
2031
|
+
const base = relation ? `${name} (${plat}, ${relation})` : `${name} (${plat})`;
|
|
1982
2032
|
return files > 0 ? `${base}, ${files} files` : base;
|
|
1983
2033
|
});
|
|
1984
2034
|
let main;
|
|
@@ -1,10 +1,48 @@
|
|
|
1
1
|
import type { Command } from "commander";
|
|
2
2
|
import type { EmitContext, HarneryProgramContext } from "../commander.js";
|
|
3
|
+
import { type DetectOptions, detectPublicAddresses } from "../lib/tunnel/current-address.js";
|
|
3
4
|
import { type TunnelProvider, type TunnelState } from "../lib/tunnel/state.js";
|
|
4
5
|
export declare function tunnelLogDestinations(name: string, provider: TunnelProvider, env?: NodeJS.ProcessEnv, root?: string): {
|
|
5
6
|
gate: string;
|
|
6
7
|
provider: string;
|
|
7
8
|
};
|
|
9
|
+
export interface GateLaunch {
|
|
10
|
+
command: string;
|
|
11
|
+
/** Arguments before the gate's own `--name` and `--port`. */
|
|
12
|
+
arguments: string[];
|
|
13
|
+
}
|
|
14
|
+
export interface GateLaunchInputs {
|
|
15
|
+
/** Absolute path of `lib/tunnel/gate.ts` beside this file, whether or not it exists. */
|
|
16
|
+
gateScript: string;
|
|
17
|
+
gateScriptExists: boolean;
|
|
18
|
+
/** True when this process runs on Bun (so `execPath` is a Bun binary). */
|
|
19
|
+
underBun: boolean;
|
|
20
|
+
execPath: string;
|
|
21
|
+
/** The script this process was started with (`argv[1]`): the host CLI's entry or bundle. */
|
|
22
|
+
entryScript: string | undefined;
|
|
23
|
+
entryScriptExists: boolean;
|
|
24
|
+
bunOnPath: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* How to start the gate worker, which is a `Bun.serve` process (HTTP and
|
|
28
|
+
* WebSocket reverse proxy):
|
|
29
|
+
* 1. From a source or package checkout, `gate.ts` sits beside this module and
|
|
30
|
+
* runs directly.
|
|
31
|
+
* 2. Inside a single-file bundle there is no such file. The CLI then
|
|
32
|
+
* re-executes itself with the hidden `tunnel gate` task, which loads the
|
|
33
|
+
* gate in-process. This uses the running Bun binary, so Bun need not be
|
|
34
|
+
* on PATH.
|
|
35
|
+
* Null means neither works (a Node host with no Bun, or an unknown entry).
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveGateLaunch(i: GateLaunchInputs): GateLaunch | null;
|
|
38
|
+
/**
|
|
39
|
+
* How to start the log wrapper that rotates each process's output. Beside a
|
|
40
|
+
* source or package checkout the default (this package's own wrapper file)
|
|
41
|
+
* works; inside a single-file bundle the CLI re-executes itself with the hidden
|
|
42
|
+
* `tunnel log-worker` task instead.
|
|
43
|
+
*/
|
|
44
|
+
export declare function resolveWorkerLaunch(i: GateLaunchInputs): GateLaunch | undefined;
|
|
45
|
+
export declare function downOne(name: string, killed: Set<number>): number;
|
|
8
46
|
/**
|
|
9
47
|
* Restart ONE instance's gate in place, deliberately leaving the provider
|
|
10
48
|
* process running.
|
|
@@ -20,5 +58,32 @@ export declare function reloadOne(state: TunnelState): Promise<{
|
|
|
20
58
|
ok: boolean;
|
|
21
59
|
message: string;
|
|
22
60
|
}>;
|
|
61
|
+
export interface RefreshCurrentOptions {
|
|
62
|
+
emit?: EmitContext;
|
|
63
|
+
/** Reload running Cloudflare gates after an allowlist change, keeping their URLs. */
|
|
64
|
+
reload: boolean;
|
|
65
|
+
/** Speak only when the allowlist changed or no address could be detected. */
|
|
66
|
+
quiet?: boolean;
|
|
67
|
+
/** Lookup timeout and retries; a sync that must not stall offline passes small ones. */
|
|
68
|
+
detectOptions?: DetectOptions;
|
|
69
|
+
/** Replaces the lookup (tests). */
|
|
70
|
+
detect?: typeof detectPublicAddresses;
|
|
71
|
+
}
|
|
72
|
+
export interface RefreshCurrentResult {
|
|
73
|
+
/** False only when a requested reload of a live gate failed. A failed lookup is a warning, not a failure. */
|
|
74
|
+
ok: boolean;
|
|
75
|
+
/** The allowlist gained or lost an entry. */
|
|
76
|
+
changed: boolean;
|
|
77
|
+
/** Entries newly allowed. */
|
|
78
|
+
added: string[];
|
|
79
|
+
removed: string[];
|
|
80
|
+
warnings: string[];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* `tunnel allow add --current`: allow this machine's own public addresses, as
|
|
84
|
+
* Cloudflare sees them, and drop the ones allowed by the previous refresh.
|
|
85
|
+
* Exported so a host CLI can run it before `tunnel up` and from its own sync.
|
|
86
|
+
*/
|
|
87
|
+
export declare function refreshCurrentAddress(options: RefreshCurrentOptions): Promise<RefreshCurrentResult>;
|
|
23
88
|
export declare function registerTunnelCommand(program: Command, emitParam: EmitContext, contextParam?: HarneryProgramContext): void;
|
|
24
89
|
//# sourceMappingURL=tunnel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../../src/commands/tunnel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../../src/commands/tunnel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAiB1E,OAAO,EACL,KAAK,aAAa,EAClB,qBAAqB,EAEtB,MAAM,kCAAkC,CAAC;AAQ1C,OAAO,EAYL,KAAK,cAAc,EACnB,KAAK,WAAW,EAGjB,MAAM,wBAAwB,CAAC;AAyDhC,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,cAAc,EACxB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,SAAgB,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAcpC;AAmHD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,wFAAwF;IACxF,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,GAAG,UAAU,GAAG,IAAI,CAWxE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,gBAAgB,GAAG,UAAU,GAAG,SAAS,CAM/E;AA2iBD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CA0BjE;AA2DD;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAwF7F;AAoQD,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,qFAAqF;IACrF,MAAM,EAAE,OAAO,CAAC;IAChB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wFAAwF;IACxF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,qBAAqB,CAAC;CACvC;AAED,MAAM,WAAW,oBAAoB;IACnC,6GAA6G;IAC7G,EAAE,EAAE,OAAO,CAAC;IACZ,6CAA6C;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAuC/B;AAaD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,WAAW,EACtB,YAAY,CAAC,EAAE,qBAAqB,GACnC,IAAI,CA+GN"}
|