@sentropic/h2a-runtime 0.85.24 → 0.86.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 (68) hide show
  1. package/dist/cli-help-groups.d.ts +124 -0
  2. package/dist/cli-help-groups.d.ts.map +1 -0
  3. package/dist/cli-help-groups.js +297 -0
  4. package/dist/cli-help-groups.js.map +1 -0
  5. package/dist/enroll.d.ts.map +1 -1
  6. package/dist/enroll.js +40 -2
  7. package/dist/enroll.js.map +1 -1
  8. package/dist/index.d.ts +4 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +314 -27
  11. package/dist/index.js.map +1 -1
  12. package/dist/llm-gateway-runtime/accounts.d.ts.map +1 -1
  13. package/dist/llm-gateway-runtime/accounts.js +2 -6
  14. package/dist/llm-gateway-runtime/accounts.js.map +1 -1
  15. package/dist/llm-gateway-runtime/index.d.ts.map +1 -1
  16. package/dist/llm-gateway-runtime/index.js +9 -1
  17. package/dist/llm-gateway-runtime/index.js.map +1 -1
  18. package/dist/llm-gateway-runtime/model-catalog.d.ts +10 -3
  19. package/dist/llm-gateway-runtime/model-catalog.d.ts.map +1 -1
  20. package/dist/llm-gateway-runtime/model-catalog.js +49 -119
  21. package/dist/llm-gateway-runtime/model-catalog.js.map +1 -1
  22. package/dist/llm-gateway-runtime/proxy-anthropic.d.ts.map +1 -1
  23. package/dist/llm-gateway-runtime/proxy-anthropic.js +117 -24
  24. package/dist/llm-gateway-runtime/proxy-anthropic.js.map +1 -1
  25. package/dist/llm-gateway-runtime/proxy-gemini.d.ts.map +1 -1
  26. package/dist/llm-gateway-runtime/proxy-gemini.js +0 -2
  27. package/dist/llm-gateway-runtime/proxy-gemini.js.map +1 -1
  28. package/dist/llm-gateway-runtime/proxy-openai.d.ts +4 -7
  29. package/dist/llm-gateway-runtime/proxy-openai.d.ts.map +1 -1
  30. package/dist/llm-gateway-runtime/proxy-openai.js +18 -13
  31. package/dist/llm-gateway-runtime/proxy-openai.js.map +1 -1
  32. package/dist/llm-gateway-runtime/session-ledger.d.ts +34 -0
  33. package/dist/llm-gateway-runtime/session-ledger.d.ts.map +1 -1
  34. package/dist/llm-gateway-runtime/session-ledger.js +216 -6
  35. package/dist/llm-gateway-runtime/session-ledger.js.map +1 -1
  36. package/dist/llm-mesh.d.ts +3 -0
  37. package/dist/llm-mesh.d.ts.map +1 -1
  38. package/dist/llm-mesh.js +23 -0
  39. package/dist/llm-mesh.js.map +1 -1
  40. package/dist/protocol-local.d.ts +3 -0
  41. package/dist/protocol-local.d.ts.map +1 -1
  42. package/dist/protocol-local.js +7 -0
  43. package/dist/protocol-local.js.map +1 -1
  44. package/dist/registry.d.ts +53 -4
  45. package/dist/registry.d.ts.map +1 -1
  46. package/dist/registry.js +109 -6
  47. package/dist/registry.js.map +1 -1
  48. package/dist/restore.d.ts +75 -4
  49. package/dist/restore.d.ts.map +1 -1
  50. package/dist/restore.js +268 -24
  51. package/dist/restore.js.map +1 -1
  52. package/dist/session-class.d.ts +10 -0
  53. package/dist/session-class.d.ts.map +1 -0
  54. package/dist/session-class.js +11 -0
  55. package/dist/session-class.js.map +1 -0
  56. package/dist/status-projection.d.ts +97 -0
  57. package/dist/status-projection.d.ts.map +1 -0
  58. package/dist/status-projection.js +464 -0
  59. package/dist/status-projection.js.map +1 -0
  60. package/dist/tmux-name-migration.d.ts +52 -0
  61. package/dist/tmux-name-migration.d.ts.map +1 -0
  62. package/dist/tmux-name-migration.js +408 -0
  63. package/dist/tmux-name-migration.js.map +1 -0
  64. package/dist/tmux.d.ts +54 -1
  65. package/dist/tmux.d.ts.map +1 -1
  66. package/dist/tmux.js +232 -16
  67. package/dist/tmux.js.map +1 -1
  68. package/package.json +6 -2
package/dist/restore.js CHANGED
@@ -11,12 +11,20 @@ import { existsSync, mkdirSync, readdirSync, readFileSync, renameSync, statSync,
11
11
  import { homedir } from "node:os";
12
12
  import { dirname, join } from "node:path";
13
13
  import { getLayoutConfig, resolveConfigPath, } from "./config.js";
14
- import { listLive } from "./registry.js";
14
+ import { loadRegistry, looksLikeConversationUuid, persistReconciledConvIds, } from "./registry.js";
15
15
  import { listLocalSessions, slugify } from "./tmux.js";
16
16
  /** claude encodes a cwd into its project-dir name by replacing "/" with "-". */
17
17
  function encodeCwd(cwd) {
18
18
  return cwd.replace(/\//g, "-");
19
19
  }
20
+ /** Project identity is the whole workspace path below ~/src, never its root. */
21
+ function projectForCwd(src, cwd) {
22
+ const prefix = `${src}/`;
23
+ if (!cwd.startsWith(prefix))
24
+ return undefined;
25
+ const project = cwd.slice(prefix.length);
26
+ return project || undefined;
27
+ }
20
28
  /** Discover claude + codex sessions under ~/src/* newer than maxAgeMs. */
21
29
  export function discoverSessions(maxAgeMs, home = homedir()) {
22
30
  const src = join(home, "src");
@@ -34,11 +42,8 @@ export function discoverSessions(maxAgeMs, home = homedir()) {
34
42
  // whole (project names contain "-": sent-tech-design-system) and skip
35
43
  // anything that isn't an existing ~/src/<project> dir (sub-paths encode
36
44
  // ambiguously and the workdir wouldn't exist anyway).
37
- const project = dirName.slice(claudePrefix.length);
38
- const cwd = join(src, project);
39
- const cst = safeStat(cwd);
40
- if (!cst || !statSync(cwd).isDirectory())
41
- continue;
45
+ const encodedProject = dirName.slice(claudePrefix.length);
46
+ const fallbackCwd = join(src, encodedProject);
42
47
  const dir = join(claudeRoot, dirName);
43
48
  let entries;
44
49
  try {
@@ -50,15 +55,32 @@ export function discoverSessions(maxAgeMs, home = homedir()) {
50
55
  for (const f of entries) {
51
56
  if (!f.endsWith(".jsonl"))
52
57
  continue;
53
- const st = safeStat(join(dir, f));
58
+ const file = join(dir, f);
59
+ const st = safeStat(file);
54
60
  if (!st || st.mtimeMs < cutoff)
55
61
  continue;
62
+ // Claude's transcript records its real cwd. Prefer it so a nested job
63
+ // worktree is not collapsed into its repository root by the lossy
64
+ // slash→dash directory encoding. Old transcripts retain the prior
65
+ // direct-child fallback when no cwd is available.
66
+ const meta = firstLineJson(file);
67
+ const transcriptCwd = meta?.cwd ?? meta?.payload?.cwd;
68
+ const cwd = typeof transcriptCwd === "string" && transcriptCwd.startsWith(`${src}/`)
69
+ ? transcriptCwd
70
+ : fallbackCwd;
71
+ const cst = safeStat(cwd);
72
+ if (!cst || !statSync(cwd).isDirectory())
73
+ continue;
74
+ const project = projectForCwd(src, cwd);
75
+ if (!project)
76
+ continue;
56
77
  out.push({
57
78
  project,
58
79
  mtimeMs: st.mtimeMs,
59
80
  tool: "claude",
60
81
  sid: f.replace(/\.jsonl$/, ""),
61
82
  cwd: join(src, project),
83
+ restoreClass: "unclassified",
62
84
  });
63
85
  }
64
86
  }
@@ -78,38 +100,207 @@ export function discoverSessions(maxAgeMs, home = homedir()) {
78
100
  const id = meta?.payload?.id;
79
101
  if (!cwd || !id || !cwd.startsWith(`${src}/`))
80
102
  continue;
81
- const project = cwd.slice(src.length + 1).split("/")[0];
82
- out.push({ project, mtimeMs: st.mtimeMs, tool: "codex", sid: id, cwd });
103
+ const project = projectForCwd(src, cwd);
104
+ if (!project)
105
+ continue;
106
+ out.push({
107
+ project,
108
+ mtimeMs: st.mtimeMs,
109
+ tool: "codex",
110
+ sid: id,
111
+ cwd,
112
+ restoreClass: "unclassified",
113
+ });
83
114
  }
84
115
  }
85
116
  return out;
86
117
  }
87
118
  /**
88
- * REGISTRY-FIRST discovery: live registry entries (local kinds) mapped to
119
+ * Positive restore gate: only an explicitly human, non-ended registry record
120
+ * may become a dev tab. Legacy records and raw transcript scans have no such
121
+ * marker, so they fail closed instead of reviving a job as a human session.
122
+ */
123
+ export function isHumanFacingSession(e) {
124
+ return e.sessionClass === "human" && e.endedAt === undefined;
125
+ }
126
+ /**
127
+ * Last `customTitle` recorded in a claude conversation transcript — i.e. the
128
+ * human-facing session name the SessionStart hook could NOT capture (the hook
129
+ * only sees `session_id`). The transcript is
130
+ * `<home>/.claude/projects/<encode(cwd)>/<convId>.jsonl`; each rename appends a
131
+ * `{"type":"custom-title","customTitle":…}` line, so the LAST one wins. This is
132
+ * the durable label→conversation-uuid bridge that lets `restore` join a `run`
133
+ * entry (which recorded the LABEL as its convId) to the `hook` entry that holds
134
+ * the real conversation uuid. Best-effort: undefined when the transcript is
135
+ * absent/unreadable or the conversation was never titled.
136
+ */
137
+ export function readConversationCustomTitle(home, cwd, convId) {
138
+ const file = join(home, ".claude", "projects", encodeCwd(cwd), `${convId}.jsonl`);
139
+ let raw;
140
+ try {
141
+ raw = readFileSync(file, "utf8");
142
+ }
143
+ catch {
144
+ return undefined; // no transcript / unreadable
145
+ }
146
+ let title;
147
+ for (const line of raw.split("\n")) {
148
+ // Cheap pre-filter: only parse the (rare) custom-title lines.
149
+ if (!line.includes('"custom-title"'))
150
+ continue;
151
+ try {
152
+ const obj = JSON.parse(line);
153
+ if (obj.type === "custom-title" && typeof obj.customTitle === "string") {
154
+ title = obj.customTitle;
155
+ }
156
+ }
157
+ catch {
158
+ // ignore a malformed transcript line — keep the last good title
159
+ }
160
+ }
161
+ return title;
162
+ }
163
+ /**
164
+ * Reconcile `run` ↔ `hook` registry entries for the same live/known session.
165
+ *
166
+ * Root cause: `h2a run` enrolls a `source:"run"`, `kind:"local-tmux"` entry
167
+ * whose `convId` is the LABEL (e.g. `llm-mesh`), while the Claude SessionStart
168
+ * hook enrolls a SEPARATE `source:"hook"`, `kind:"local"` entry that holds the
169
+ * REAL conversation uuid but no label. Nothing joins them, so restore emits
170
+ * `claude --resume llm-mesh` (fails) and the hook entry looks anonymous.
171
+ *
172
+ * Join-key strategy (highest priority first):
173
+ * 1. the run entry ALREADY carries a real conversation uuid → trust it (it was
174
+ * captured at launch, e.g. from an explicit `--resume <uuid>`);
175
+ * 2. same `cwd` + the run entry's `label` equals a hook conversation's
176
+ * `customTitle` (read from its `.jsonl`) → adopt that hook's convId;
177
+ * 3. a canonical-broken convId (missing, or `=== label`, or `=== id`) with no
178
+ * match → UNRESOLVED (skip);
179
+ * 4. a claude session whose cwd HAS known conversations but none matched, and
180
+ * whose convId is not a real uuid → UNRESOLVED (an untrustworthy label);
181
+ * 5. otherwise (no transcript knowledge, e.g. codex, or a never-scanned cwd)
182
+ * trust the recorded convId rather than drop a live session.
183
+ *
184
+ * Pure: `customTitleFor(cwd, convId)` is injected (production reads the jsonl via
185
+ * `readConversationCustomTitle`; tests pass a stub map), so the whole join is
186
+ * unit-testable with plain registry entries.
187
+ */
188
+ export function reconcileRunConvIds(entries, customTitleFor) {
189
+ const hooksByCwd = new Map();
190
+ for (const e of entries) {
191
+ if (e.kind !== "local" || e.source !== "hook" || e.tool !== "claude")
192
+ continue;
193
+ if (!looksLikeConversationUuid(e.convId))
194
+ continue;
195
+ const list = hooksByCwd.get(e.cwd) ?? [];
196
+ list.push({
197
+ convId: e.convId,
198
+ title: customTitleFor(e.cwd, e.convId),
199
+ lastSeenAt: e.lastSeenAt,
200
+ });
201
+ hooksByCwd.set(e.cwd, list);
202
+ }
203
+ const resolvedSid = new Map();
204
+ const unresolvedRunIds = new Set();
205
+ const claimedConvIds = new Set();
206
+ for (const r of entries) {
207
+ if (r.kind !== "local-tmux" || r.source !== "run")
208
+ continue;
209
+ // Delegated jobs / background launches are never restored as human tabs, so
210
+ // don't reconcile (and don't emit a spurious skip note) for them.
211
+ if (!isHumanFacingSession(r))
212
+ continue;
213
+ const hooks = hooksByCwd.get(r.cwd) ?? [];
214
+ // 1. The run entry already carries a real conversation uuid — trust it.
215
+ if (looksLikeConversationUuid(r.convId)) {
216
+ resolvedSid.set(r.id, r.convId);
217
+ claimedConvIds.add(r.convId);
218
+ continue;
219
+ }
220
+ // 2. Join to a hook conversation whose customTitle equals this label.
221
+ if (r.label !== undefined) {
222
+ const matches = hooks.filter((h) => h.title === r.label);
223
+ if (matches.length > 0) {
224
+ const chosen = matches
225
+ .slice()
226
+ .sort((a, b) => b.lastSeenAt.localeCompare(a.lastSeenAt))[0];
227
+ resolvedSid.set(r.id, chosen.convId);
228
+ claimedConvIds.add(chosen.convId);
229
+ continue;
230
+ }
231
+ }
232
+ // 3. Canonical-broken convId (the LABEL was written as the id, or none).
233
+ if (!r.convId || r.convId === r.label || r.convId === r.id) {
234
+ unresolvedRunIds.add(r.id);
235
+ continue;
236
+ }
237
+ // 4. A claude session whose cwd HAS known conversations but none matched the
238
+ // label, and whose convId is not a real uuid, is untrustworthy → skip.
239
+ if (r.tool === "claude" && hooks.length > 0) {
240
+ unresolvedRunIds.add(r.id);
241
+ continue;
242
+ }
243
+ // 5. No transcript knowledge (codex, or a cwd we never scanned): trust the
244
+ // recorded convId as-is rather than dropping a live session.
245
+ resolvedSid.set(r.id, r.convId);
246
+ claimedConvIds.add(r.convId);
247
+ }
248
+ return { resolvedSid, unresolvedRunIds, claimedConvIds };
249
+ }
250
+ /**
251
+ * REGISTRY-FIRST discovery: durable registry entries (local kinds) mapped to
89
252
  * discovered sessions. label/cwd/convId come straight from enrolment, no
90
253
  * mtime guessing. `entries` is injectable for tests (defaults to listLive()).
254
+ *
255
+ * `resolution` (from `reconcileRunConvIds`) rewires convIds so a named `run`
256
+ * session resumes on its REAL conversation uuid, drops a run session that has no
257
+ * resolvable conversation (so restore never emits `--resume <label>`), and
258
+ * dedups the `hook` twin of a conversation already represented by a run session.
259
+ * Omitted (the plain 2-arg call) → legacy behaviour, one session per entry.
91
260
  */
92
- export function registrySessions(home = homedir(), entries = listLive()) {
261
+ export function registrySessions(home = homedir(), entries = loadRegistry(), resolution) {
93
262
  const src = join(home, "src");
94
263
  const out = [];
95
264
  for (const e of entries) {
96
265
  if (e.kind === "remote")
97
266
  continue; // remote groups are filled from SCW
98
- if (e.sessionClass === "background")
267
+ // Only human dev sessions are restorable — never delegated jobs or explicit
268
+ // background launches (they had no human in front of them).
269
+ if (!isHumanFacingSession(e))
99
270
  continue;
100
271
  if (!e.cwd.startsWith(`${src}/`))
101
272
  continue;
102
- const project = e.cwd.slice(src.length + 1).split("/")[0];
273
+ // A run session whose conversation id could not be resolved is skipped here
274
+ // (restore() emits the attach-hint note) — never a broken `--resume <label>`.
275
+ if (resolution &&
276
+ e.kind === "local-tmux" &&
277
+ e.source === "run" &&
278
+ resolution.unresolvedRunIds.has(e.id)) {
279
+ continue;
280
+ }
281
+ // A hook conversation already owned by a run session (same real convId, but
282
+ // the run entry carries the label + tmux name) must not ALSO appear as an
283
+ // anonymous project tab — that is the duplicate the reconciliation removes.
284
+ if (resolution &&
285
+ e.kind === "local" &&
286
+ e.source === "hook" &&
287
+ e.convId !== undefined &&
288
+ resolution.claimedConvIds.has(e.convId)) {
289
+ continue;
290
+ }
291
+ const project = projectForCwd(src, e.cwd);
103
292
  if (!project)
104
293
  continue;
105
294
  const seen = Date.parse(e.lastSeenAt);
295
+ const sid = resolution?.resolvedSid.get(e.id) ?? e.convId ?? "";
106
296
  const session = {
107
297
  project,
108
298
  mtimeMs: Number.isFinite(seen) ? seen : Date.now(),
109
299
  tool: e.tool,
110
- sid: e.convId ?? "",
300
+ sid,
111
301
  cwd: e.cwd,
112
302
  origin: "registry",
303
+ restoreClass: "human",
113
304
  };
114
305
  if (e.label !== undefined)
115
306
  session.label = e.label;
@@ -120,18 +311,22 @@ export function registrySessions(home = homedir(), entries = listLive()) {
120
311
  return out;
121
312
  }
122
313
  /**
123
- * Merge discovery sources: registry entries win; the filesystem scan only
124
- * completes projects that have NO registry entry (tagged origin "scan").
314
+ * Merge discovery sources by session identity, never by project. One live
315
+ * registry row must not make every other conversation under that project vanish.
125
316
  */
126
317
  export function mergeDiscovered(registry, scanned) {
127
- const covered = new Set(registry.map((s) => s.project));
318
+ const known = new Set(registry.map((s) => `${s.tool}\u0000${s.sid}\u0000${s.cwd}`));
128
319
  return [
129
320
  ...registry,
130
321
  ...scanned
131
- .filter((s) => !covered.has(s.project))
322
+ .filter((s) => !known.has(`${s.tool}\u0000${s.sid}\u0000${s.cwd}`))
132
323
  .map((s) => ({ ...s, origin: "scan" })),
133
324
  ];
134
325
  }
326
+ /** Raw scanner candidates are unclassified by construction and cannot restore. */
327
+ export function isRestorableDiscoveredSession(session) {
328
+ return session.restoreClass === "human";
329
+ }
135
330
  /**
136
331
  * Identity slug used to dedup a LOCAL discovered session against a REMOTE tab
137
332
  * (bug #3). Both sides are reduced to lowercase alnum runs so "Sentropic
@@ -224,12 +419,21 @@ export function groupSessions(sessions, cfg) {
224
419
  // Per-project cap: explicit override, else the global default. <= 0 = no
225
420
  // limit (every live session of the project gets a tab) — `remote restore`
226
421
  // then sweeps the WHOLE fleet, duplicates included.
422
+ //
423
+ // The cap ONLY tames the mtime-guessing SCAN fallback, where several rollout
424
+ // files can point at ONE conversation, so keeping only the newest guess is
425
+ // right. REGISTRY-backed sessions are each a DISTINCT, verified-live session
426
+ // keyed by its own identity (tmux slug / convId), so every one is preserved:
427
+ // a repo like `sentropic` legitimately runs several concurrent human sessions
428
+ // and restore must bring back each, not collapse them to one tab.
227
429
  const cap = cfg.multiSession[project] ?? cfg.multiSessionDefault;
228
430
  const limit = cap <= 0 ? Number.POSITIVE_INFINITY : cap;
229
- const arr = (byProject.get(project) ?? [])
431
+ const all = (byProject.get(project) ?? [])
230
432
  .slice()
231
- .sort((a, b) => b.mtimeMs - a.mtimeMs)
232
- .slice(0, limit);
433
+ .sort((a, b) => b.mtimeMs - a.mtimeMs);
434
+ const registryBacked = all.filter((s) => s.origin === "registry");
435
+ const scanned = all.filter((s) => s.origin !== "registry").slice(0, limit);
436
+ const arr = [...registryBacked, ...scanned].sort((a, b) => b.mtimeMs - a.mtimeMs);
233
437
  return arr.map((s, i) => {
234
438
  const tab = {
235
439
  cwd: s.cwd,
@@ -445,10 +649,50 @@ export function restore(opts = {}) {
445
649
  // Remote tabs resolved by the caller from `remote ls` (fill `remote: true`
446
650
  // groups). Computed up-front so they can ALSO dedup the local discovery.
447
651
  const remoteTabs = opts.remoteTabs ?? [];
448
- // Local windows (groups + shared) — REGISTRY-FIRST: live enrolled sessions
449
- // are the truth; the filesystem scan only completes uncovered projects.
652
+ // Local windows (groups + shared) — durable registry rows are the truth.
653
+ // Liveness cannot be a pre-classification filter: a dead tmux session is the
654
+ // very thing restore exists to relaunch.
655
+ //
656
+ // Reconcile run↔hook entries first: a `run` session enrolled with its LABEL as
657
+ // convId is joined to the `hook` conversation carrying the real uuid, so it
658
+ // resumes correctly (and each named session of a repo keeps its own uuid).
659
+ const home = homedir();
660
+ const registryEntries = loadRegistry();
661
+ const resolution = reconcileRunConvIds(registryEntries, (cwd, convId) => readConversationCustomTitle(home, cwd, convId));
662
+ // Persist the resolved conversation ids back onto the run entries so the state
663
+ // is EMITTED, not re-derived (a transcript scan) on every restore. Skipped on
664
+ // --dry-run so a preview stays side-effect-free.
665
+ if (!opts.dryRun) {
666
+ try {
667
+ const updates = new Map();
668
+ for (const [id, sid] of resolution.resolvedSid) {
669
+ const e = registryEntries.find((x) => x.id === id);
670
+ if (e && e.kind === "local-tmux" && e.source === "run" && e.convId !== sid) {
671
+ updates.set(id, sid);
672
+ }
673
+ }
674
+ persistReconciledConvIds(updates);
675
+ }
676
+ catch {
677
+ // best-effort: a persistence hiccup must never break restore
678
+ }
679
+ }
680
+ // Never emit a broken `--resume <label>`: note the un-resumable named sessions
681
+ // with an explicit attach hint instead of silently dropping (or mis-running) them.
682
+ for (const id of resolution.unresolvedRunIds) {
683
+ const e = registryEntries.find((x) => x.id === id);
684
+ if (!e)
685
+ continue;
686
+ const label = e.label ?? e.id;
687
+ stderr.write(`[h2a] restore skipped "${label}": no resolved conversation id ` +
688
+ `(convId ${e.convId ? `"${e.convId}"` : "missing"} is not a real conversation); ` +
689
+ `attach it live with h2a attach ${slugify(label)}\n`);
690
+ }
450
691
  const scanned = discoverSessions(cfg.maxAgeHours * 3600 * 1000);
451
- const allLocal = mergeDiscovered(registrySessions(), scanned);
692
+ const allDiscovered = mergeDiscovered(registrySessions(home, registryEntries, resolution), scanned);
693
+ // Transcript scans lack a durable human/job marker. They are deliberately
694
+ // represented as `unclassified` and filtered here, before grouping/capping.
695
+ const allLocal = allDiscovered.filter(isRestorableDiscoveredSession);
452
696
  // Bug #3: a session moved to a remote Pod must NOT also be re-launched as a
453
697
  // ghost LOCAL tmux. Drop locals already covered by a remote tab.
454
698
  const { kept: sessions, dropped: remoteBacked } = dropRemoteBackedLocals(allLocal, remoteTabs);
@@ -1 +1 @@
1
- {"version":3,"file":"restore.js","sourceRoot":"","sources":["../src/restore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restore.js","sourceRoot":"","sources":["../src/restore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Environment marker propagated through tmux into an agent and its hook
3
+ * children. It deliberately has a narrow vocabulary: restore admits only
4
+ * explicitly human sessions and background launches must never be upgraded by
5
+ * a later hook event.
6
+ */
7
+ export declare const SESSION_CLASS_ENV = "H2A_SESSION_CLASS";
8
+ export type SessionClass = "human" | "background";
9
+ export declare function sessionClassFromEnv(value: string | undefined): SessionClass | undefined;
10
+ //# sourceMappingURL=session-class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-class.d.ts","sourceRoot":"","sources":["../src/session-class.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,YAAY,CAAC;AAElD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,YAAY,GAAG,SAAS,CAE1B"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Environment marker propagated through tmux into an agent and its hook
3
+ * children. It deliberately has a narrow vocabulary: restore admits only
4
+ * explicitly human sessions and background launches must never be upgraded by
5
+ * a later hook event.
6
+ */
7
+ export const SESSION_CLASS_ENV = "H2A_SESSION_CLASS";
8
+ export function sessionClassFromEnv(value) {
9
+ return value === "human" || value === "background" ? value : undefined;
10
+ }
11
+ //# sourceMappingURL=session-class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-class.js","sourceRoot":"","sources":["../src/session-class.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAIrD,MAAM,UAAU,mBAAmB,CACjC,KAAyB;IAEzB,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC"}
@@ -0,0 +1,97 @@
1
+ import type { GatewaySessionState, SessionLedgerEntry } from "./llm-gateway-runtime/session-ledger.js";
2
+ import { type RemoteAgentProjection } from "./agents-projection.js";
3
+ import { type RegistryEntry, type LocalLsRow } from "./registry.js";
4
+ import { type LocalSession } from "./tmux.js";
5
+ import type { LaunchContext } from "./launch-context.js";
6
+ export type H2AGatewayStatusState = "off" | GatewaySessionState | "unavailable" | "unknown";
7
+ export interface H2AGatewayStatusV1 {
8
+ readonly state: H2AGatewayStatusState;
9
+ readonly clientSessionId?: string;
10
+ readonly gatewaySessionId?: string;
11
+ readonly requestedModel?: string;
12
+ readonly upstreamModel?: string;
13
+ /** True means the identifier exceeded its display cap; omit the route. */
14
+ readonly requestedModelTruncated?: boolean;
15
+ readonly upstreamModelTruncated?: boolean;
16
+ readonly provider?: string;
17
+ readonly transport?: string;
18
+ readonly accountId?: string;
19
+ readonly accountLabel?: string;
20
+ readonly previousAccountLabel?: string;
21
+ readonly fallbackAccountLabel?: string;
22
+ readonly retryAfterMs?: number;
23
+ readonly updatedAt?: string;
24
+ readonly reason?: string;
25
+ }
26
+ export interface H2ADelegatedExecutionV1 {
27
+ readonly id: string;
28
+ readonly origin: "mcp:h2a_run" | "cli:h2a-delegate";
29
+ readonly delegatorInstance: string;
30
+ readonly delegatorTmuxSession: string;
31
+ readonly tool: string;
32
+ readonly state: "pending" | "running" | "throttled" | "failed";
33
+ }
34
+ /** A launch record written by the originating MCP sidecar, never by `run`. */
35
+ export interface H2AMcpDelegationAttestationV1 {
36
+ readonly workerTmuxSession: string;
37
+ /** Bind the attestation to this launch, not a later reused tmux name. */
38
+ readonly workerPid: number;
39
+ readonly origin: "mcp:h2a_run";
40
+ readonly delegatorInstance: string;
41
+ readonly delegatorTmuxSession: string;
42
+ }
43
+ export interface H2AStatusRuntimeProjectionV1 {
44
+ readonly kind: "h2a-status-runtime";
45
+ readonly version: 1;
46
+ readonly session: {
47
+ readonly state: "present" | "absent" | "unknown";
48
+ readonly tmuxSession?: string;
49
+ readonly profile?: string;
50
+ readonly path?: string;
51
+ readonly launchContext?: LaunchContext;
52
+ };
53
+ readonly managed: {
54
+ readonly agents: readonly RemoteAgentProjection[];
55
+ readonly rows: readonly LocalLsRow[];
56
+ readonly degraded: boolean;
57
+ /** False until the runtime projection carries every design attention state. */
58
+ readonly attentionComplete: false;
59
+ };
60
+ /** Owner-scoped executions only; never a count of ordinary tmux sessions. */
61
+ readonly delegations: {
62
+ readonly executions: readonly H2ADelegatedExecutionV1[];
63
+ readonly degraded: boolean;
64
+ };
65
+ readonly gateway: H2AGatewayStatusV1;
66
+ readonly warnings: readonly string[];
67
+ }
68
+ export interface ProjectStatusForH2aOptions {
69
+ readonly tmuxSession?: string;
70
+ /** Exact owner attested by the MCP sidecar for the requested tmux session. */
71
+ readonly ownerInstance?: string;
72
+ readonly includeGateway?: boolean;
73
+ /** Gateway-only bar reads do not need registry or delegated-work projection. */
74
+ readonly includeDelegations?: boolean;
75
+ /** The detailed human view alone needs the broad managed-work inventory. */
76
+ readonly includeManagedInventory?: boolean;
77
+ /** Sidecar-owned records that bind generic runtime rows to an MCP launch. */
78
+ readonly delegationAttestations?: readonly H2AMcpDelegationAttestationV1[];
79
+ readonly delegationAttestationsKnown?: boolean;
80
+ readonly fetchImpl?: typeof fetch;
81
+ readonly gatewayTimeoutMs?: number;
82
+ }
83
+ export declare function selectExactGatewayLedgerEntry(values: readonly unknown[], clientSessionId: string): SessionLedgerEntry | undefined;
84
+ export declare function gatewayFromLedger(entry: SessionLedgerEntry, nowMs?: number): H2AGatewayStatusV1;
85
+ export declare function uniqueManagedWork(agents: readonly RemoteAgentProjection[]): RemoteAgentProjection[];
86
+ /**
87
+ * Project only work that carries an explicit delegator identity AND the exact
88
+ * tmux session that made the request. Old background sessions and generic
89
+ * registry jobs cannot be attributed retrospectively, so they degrade J to
90
+ * UNKNOWN rather than being silently omitted or counted for the wrong owner.
91
+ */
92
+ export declare function projectDelegatedExecutions(entries: readonly RegistryEntry[], registryKnown: boolean, tmuxSessions: readonly LocalSession[], delegatorTmuxSession: string | undefined, delegatorInstance: string | undefined, attestations?: readonly H2AMcpDelegationAttestationV1[], attestationsKnown?: boolean, workerPidForTmuxSession?: (session: string) => number | undefined): {
93
+ executions: H2ADelegatedExecutionV1[];
94
+ degraded: boolean;
95
+ };
96
+ export declare function projectStatusForH2a(options?: ProjectStatusForH2aOptions): Promise<H2AStatusRuntimeProjectionV1>;
97
+ //# sourceMappingURL=status-projection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-projection.d.ts","sourceRoot":"","sources":["../src/status-projection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,MAAM,qBAAqB,GAC7B,KAAK,GACL,mBAAmB,GACnB,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,0EAA0E;IAC1E,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAC3C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,kBAAkB,CAAC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CAChE;AAED,8EAA8E;AAC9E,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;QACjD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;KACxC,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAC;QAClD,QAAQ,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,CAAC;QACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,+EAA+E;QAC/E,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC;KACnC,CAAC;IACF,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAC;QACxD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,gFAAgF;IAChF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,4EAA4E;IAC5E,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAC3C,6EAA6E;IAC7E,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC3E,QAAQ,CAAC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAyED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,SAAS,OAAO,EAAE,EAC1B,eAAe,EAAE,MAAM,GACtB,kBAAkB,GAAG,SAAS,CAKhC;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,kBAAkB,EACzB,KAAK,SAAa,GACjB,kBAAkB,CAqGpB;AAyBD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,qBAAqB,EAAE,GACvC,qBAAqB,EAAE,CAczB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,aAAa,EAAE,OAAO,EACtB,YAAY,EAAE,SAAS,YAAY,EAAE,EACrC,oBAAoB,EAAE,MAAM,GAAG,SAAS,EACxC,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,YAAY,GAAE,SAAS,6BAA6B,EAAO,EAC3D,iBAAiB,UAAO,EACxB,uBAAuB,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,SAC7B,GACzB;IAAE,UAAU,EAAE,uBAAuB,EAAE,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CA6G9D;AAsFD,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,4BAA4B,CAAC,CA4FvC"}