@sentropic/h2a-runtime 0.85.25 → 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
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Intention groups for the runtime `h2a --help` command list.
3
+ *
4
+ * WHY
5
+ * ---
6
+ * The runtime registers 46 top-level commands. Commander lists them flat, in
7
+ * registration order, under a single `Commands:` heading — an inventory, not a
8
+ * guide. This module assigns every command to an intention group so a human can
9
+ * find the right command by asking "what am I trying to do?".
10
+ *
11
+ * SOURCE OF THE VOCABULARY
12
+ * ------------------------
13
+ * `docs/cli-help-grouping-vocabulary.md` — committed in this repo. It vendors, in
14
+ * full and verbatim, the load-bearing passages of an unpublished internal design
15
+ * study (STUDY rung — proposal only) that is on no git ref, so no reader can fetch
16
+ * it; the vendored file is therefore the citable authority, and no source comment
17
+ * or command output prints a path to the study itself. Its excerpt 3 reads:
18
+ *
19
+ * > `h2a --help` should render these as a short "Start / Observe / Coordinate /
20
+ * > Work / Set up" guide, then link to namespaces. It should not print the full
21
+ * > protocol implementation inventory first.
22
+ *
23
+ * The five daily words below are taken from that sentence, and each group's
24
+ * membership is justified by the excerpt named in its comment. Two further groups
25
+ * come from elsewhere in the same vendored set, and one is not a group at all:
26
+ *
27
+ * - `SESSION_RECOVERY` — excerpt 4: `session recover`, "Make recovery semantics
28
+ * explicit", plus the third of the three loops, "Process/session supervision
29
+ * loop: heartbeat, lease, crash/stop detection, and backend recovery".
30
+ * - `TRANSPORT` — excerpt 5, last table row: "`h2a remote …` and `h2a relay …` |
31
+ * Quarantined transport/bridge compatibility … | The primary user journey".
32
+ * - `LLM_LOCAL` — NOT from the study; see excerpt 6 and the group's own comment.
33
+ * It is a labelled bucket for two commands that ship, not an intention.
34
+ *
35
+ * There is no fallback group on this surface. An unclassified command keeps
36
+ * Commander's default `Commands:` heading, which is exactly what the "none left in
37
+ * the default bucket" test detects — so a missing entry is loud, and never filed
38
+ * under a heading it has not earned.
39
+ *
40
+ * SCOPE
41
+ * -----
42
+ * Help-rendering only. This module is pure data plus two pure functions; it
43
+ * never participates in dispatch. Nothing here changes which command runs, what
44
+ * it prints, or what it exits with. The study's open decisions S1–S6 are
45
+ * deliberately NOT encoded: no group promises an ownership boundary, a rename,
46
+ * a deprecation, or a future spelling.
47
+ */
48
+ /** Stable identifiers for the groups, in the order the help renders them. */
49
+ export type H2aRuntimeHelpGroupId = "START" | "OBSERVE" | "COORDINATE" | "SET_UP" | "SESSION_RECOVERY" | "TRANSPORT" | "LLM_LOCAL" | "HELP";
50
+ export interface H2aRuntimeHelpGroup {
51
+ readonly id: H2aRuntimeHelpGroupId;
52
+ /** Commander help heading. Trailing `:` matches Commander's own headings. */
53
+ readonly heading: string;
54
+ /** Primary command names (Commander `.name()`), not aliases. */
55
+ readonly commands: readonly string[];
56
+ }
57
+ /**
58
+ * The groups, in render order.
59
+ *
60
+ * Two separate properties hold here, and they are enforced at different strengths.
61
+ * Both rungs are named so neither claim is broader than its evidence. (An earlier
62
+ * revision of this comment cited a single file `cli-help-groups.test.ts` that was
63
+ * never written — a comment asserting a guard that does not exist. Both citations
64
+ * below are to tests that exist and run.)
65
+ *
66
+ * 1. NO COMMAND IS LEFT IN COMMANDER'S DEFAULT BUCKET — enforced.
67
+ * `packages/h2a/test/cli-command-map.test.js:181`, "the runtime help groups
68
+ * every command by intention, none left in the default bucket", spawns the
69
+ * built runtime's `--help` and asserts the output contains no `Commands:`
70
+ * heading. A command missing from every list below keeps that default heading,
71
+ * so the test fires. It is in the `.js` suite deliberately: `*.test.ts` under
72
+ * this package is not executed by `scripts/run-tests.mjs` (nor type-checked —
73
+ * `tsconfig.json` excludes it), so a `.test.ts` here would be inert.
74
+ *
75
+ * 2. EACH COMMAND APPEARS IN AT MOST ONE `commands` LIST — enforced.
76
+ * `packages/h2a/test/cli-command-map.test.js:456`, "no runtime command is
77
+ * listed in two intention groups", imports `H2A_RUNTIME_HELP_GROUPS` from the built
78
+ * runtime and counts names across groups. This property has NO structural
79
+ * backstop: `HEADING_BY_COMMAND` below is a `Map`, so a name listed in two
80
+ * groups is silently deduped to the LAST one, and the drift test compares
81
+ * sorted UNIQUE names, so it would not notice either. The duplicate would
82
+ * simply render under the wrong heading. Hence the explicit test.
83
+ *
84
+ * What is NOT enforced, stated rather than implied: nothing checks that a command
85
+ * is in the *right* group. Group membership is a judgement, warranted by
86
+ * `docs/cli-help-grouping-vocabulary.md` and by the per-group comments below.
87
+ */
88
+ export declare const H2A_RUNTIME_HELP_GROUPS: readonly H2aRuntimeHelpGroup[];
89
+ /** Render order of the group headings, for the `groupItems` override. */
90
+ export declare const H2A_RUNTIME_HELP_GROUP_HEADINGS: readonly string[];
91
+ /**
92
+ * Heading for a top-level command name, or `undefined` when the command is not
93
+ * classified. An unclassified command keeps Commander's default `Commands:`
94
+ * heading rather than disappearing — a new command is always visible, even
95
+ * before someone groups it.
96
+ */
97
+ export declare function runtimeHelpGroupHeadingFor(name: string): string | undefined;
98
+ /** Minimal shape this module needs from a Commander command. */
99
+ interface HelpGroupableCommand {
100
+ name(): string;
101
+ helpGroup(heading: string): unknown;
102
+ }
103
+ /**
104
+ * Assign a help group to every top-level command that has one. Called once,
105
+ * after all commands are registered and before `parseAsync`. Purely additive:
106
+ * `helpGroup()` only affects the heading a command is listed under.
107
+ */
108
+ export declare function applyRuntimeHelpGroups(commands: readonly HelpGroupableCommand[]): void;
109
+ /**
110
+ * Commander's `Help.groupItems`, reordered.
111
+ *
112
+ * Commander emits groups "in order of appearance in unsortedItems", i.e. command
113
+ * registration order — which would scatter our headings. This override builds
114
+ * the same map, then re-emits it with the declared group headings first, in
115
+ * `H2A_RUNTIME_HELP_GROUPS` order, followed by any other heading in its original
116
+ * relative order.
117
+ *
118
+ * The same method also groups OPTIONS (`Options:` / `Global Options:`). Those
119
+ * headings are not in our order list, so they fall through the
120
+ * "any other heading" branch and keep Commander's behaviour untouched.
121
+ */
122
+ export declare function groupRuntimeHelpItems<T>(unsortedItems: readonly T[], visibleItems: readonly T[], getGroup: (item: T) => string): Map<string, T[]>;
123
+ export {};
124
+ //# sourceMappingURL=cli-help-groups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-help-groups.d.ts","sourceRoot":"","sources":["../src/cli-help-groups.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,6EAA6E;AAC7E,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,kBAAkB,GAClB,WAAW,GACX,WAAW,GACX,MAAM,CAAC;AAEX,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,qBAAqB,CAAC;IACnC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,mBAAmB,EAuJjE,CAAC;AAQF,yEAAyE;AACzE,eAAO,MAAM,+BAA+B,EAAE,SAAS,MAAM,EACN,CAAC;AAExD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE3E;AAED,gEAAgE;AAChE,UAAU,oBAAoB;IAC5B,IAAI,IAAI,MAAM,CAAC;IACf,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,GACxC,IAAI,CAKN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,aAAa,EAAE,SAAS,CAAC,EAAE,EAC3B,YAAY,EAAE,SAAS,CAAC,EAAE,EAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC5B,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAyBlB"}
@@ -0,0 +1,297 @@
1
+ /**
2
+ * Intention groups for the runtime `h2a --help` command list.
3
+ *
4
+ * WHY
5
+ * ---
6
+ * The runtime registers 46 top-level commands. Commander lists them flat, in
7
+ * registration order, under a single `Commands:` heading — an inventory, not a
8
+ * guide. This module assigns every command to an intention group so a human can
9
+ * find the right command by asking "what am I trying to do?".
10
+ *
11
+ * SOURCE OF THE VOCABULARY
12
+ * ------------------------
13
+ * `docs/cli-help-grouping-vocabulary.md` — committed in this repo. It vendors, in
14
+ * full and verbatim, the load-bearing passages of an unpublished internal design
15
+ * study (STUDY rung — proposal only) that is on no git ref, so no reader can fetch
16
+ * it; the vendored file is therefore the citable authority, and no source comment
17
+ * or command output prints a path to the study itself. Its excerpt 3 reads:
18
+ *
19
+ * > `h2a --help` should render these as a short "Start / Observe / Coordinate /
20
+ * > Work / Set up" guide, then link to namespaces. It should not print the full
21
+ * > protocol implementation inventory first.
22
+ *
23
+ * The five daily words below are taken from that sentence, and each group's
24
+ * membership is justified by the excerpt named in its comment. Two further groups
25
+ * come from elsewhere in the same vendored set, and one is not a group at all:
26
+ *
27
+ * - `SESSION_RECOVERY` — excerpt 4: `session recover`, "Make recovery semantics
28
+ * explicit", plus the third of the three loops, "Process/session supervision
29
+ * loop: heartbeat, lease, crash/stop detection, and backend recovery".
30
+ * - `TRANSPORT` — excerpt 5, last table row: "`h2a remote …` and `h2a relay …` |
31
+ * Quarantined transport/bridge compatibility … | The primary user journey".
32
+ * - `LLM_LOCAL` — NOT from the study; see excerpt 6 and the group's own comment.
33
+ * It is a labelled bucket for two commands that ship, not an intention.
34
+ *
35
+ * There is no fallback group on this surface. An unclassified command keeps
36
+ * Commander's default `Commands:` heading, which is exactly what the "none left in
37
+ * the default bucket" test detects — so a missing entry is loud, and never filed
38
+ * under a heading it has not earned.
39
+ *
40
+ * SCOPE
41
+ * -----
42
+ * Help-rendering only. This module is pure data plus two pure functions; it
43
+ * never participates in dispatch. Nothing here changes which command runs, what
44
+ * it prints, or what it exits with. The study's open decisions S1–S6 are
45
+ * deliberately NOT encoded: no group promises an ownership boundary, a rename,
46
+ * a deprecation, or a future spelling.
47
+ */
48
+ /**
49
+ * The groups, in render order.
50
+ *
51
+ * Two separate properties hold here, and they are enforced at different strengths.
52
+ * Both rungs are named so neither claim is broader than its evidence. (An earlier
53
+ * revision of this comment cited a single file `cli-help-groups.test.ts` that was
54
+ * never written — a comment asserting a guard that does not exist. Both citations
55
+ * below are to tests that exist and run.)
56
+ *
57
+ * 1. NO COMMAND IS LEFT IN COMMANDER'S DEFAULT BUCKET — enforced.
58
+ * `packages/h2a/test/cli-command-map.test.js:181`, "the runtime help groups
59
+ * every command by intention, none left in the default bucket", spawns the
60
+ * built runtime's `--help` and asserts the output contains no `Commands:`
61
+ * heading. A command missing from every list below keeps that default heading,
62
+ * so the test fires. It is in the `.js` suite deliberately: `*.test.ts` under
63
+ * this package is not executed by `scripts/run-tests.mjs` (nor type-checked —
64
+ * `tsconfig.json` excludes it), so a `.test.ts` here would be inert.
65
+ *
66
+ * 2. EACH COMMAND APPEARS IN AT MOST ONE `commands` LIST — enforced.
67
+ * `packages/h2a/test/cli-command-map.test.js:456`, "no runtime command is
68
+ * listed in two intention groups", imports `H2A_RUNTIME_HELP_GROUPS` from the built
69
+ * runtime and counts names across groups. This property has NO structural
70
+ * backstop: `HEADING_BY_COMMAND` below is a `Map`, so a name listed in two
71
+ * groups is silently deduped to the LAST one, and the drift test compares
72
+ * sorted UNIQUE names, so it would not notice either. The duplicate would
73
+ * simply render under the wrong heading. Hence the explicit test.
74
+ *
75
+ * What is NOT enforced, stated rather than implied: nothing checks that a command
76
+ * is in the *right* group. Group membership is a judgement, warranted by
77
+ * `docs/cli-help-grouping-vocabulary.md` and by the per-group comments below.
78
+ */
79
+ export const H2A_RUNTIME_HELP_GROUPS = [
80
+ {
81
+ // Vendored excerpt 3, § "Daily operator surface — top level", these rows:
82
+ // > | Start a work session | `h2a run <runtime>` |
83
+ // > | Return to one | `h2a attach <session>` |
84
+ // > | End or continue one | `h2a stop <session>` / `h2a resume <session>` |
85
+ //
86
+ // The seven bare host-adapter names are the shortcut spelling of
87
+ // `h2a run <runtime>`; the study calls `<runtime>`:
88
+ // > a host adapter such as `claude`/`codex`
89
+ id: "START",
90
+ heading: "Start — begin, return to, or end a work session:",
91
+ commands: [
92
+ "run",
93
+ "codex",
94
+ "claude",
95
+ "agy",
96
+ "gemini",
97
+ "mistral",
98
+ "opencode",
99
+ "shell",
100
+ "attach",
101
+ "resume",
102
+ "stop",
103
+ ],
104
+ },
105
+ {
106
+ // Vendored excerpt 3, § "Daily operator surface — top level", these rows:
107
+ // > | See work sessions | `h2a ls` |
108
+ // > | Read its recent activity | `h2a logs <session>` |
109
+ // > | See the big picture | `h2a status --human` |
110
+ id: "OBSERVE",
111
+ heading: "Observe — see what is running and what needs attention:",
112
+ commands: ["ls", "status", "agents", "diff", "sync-status"],
113
+ },
114
+ {
115
+ // Vendored excerpt 3, § "Daily operator surface — top level", these rows:
116
+ // > | Coordinate directly | `h2a send <peer> <message>` |
117
+ // > | Hand work to an agent | `h2a delegate <runtime> <task>` |
118
+ // > | Supervise delegated work | `h2a jobs …` |
119
+ //
120
+ // plus vendored excerpt 5, § "Specialist namespaces and delegation":
121
+ // > Explicit governance and coordination concepts.
122
+ id: "COORDINATE",
123
+ heading: "Coordinate — hand work to agents and talk to peers:",
124
+ commands: ["delegate", "jobs", "relay", "conductor-launch", "wake-request"],
125
+ },
126
+ {
127
+ // Vendored excerpt 3, § "Daily operator surface — top level", these rows:
128
+ // > | Connect this host | `h2a connect` |
129
+ // > | Enroll with sentropic | `h2a enroll …` |
130
+ // > | Diagnose | `h2a doctor` |
131
+ //
132
+ // Credential and endpoint plumbing lives here because of the `connect` row's
133
+ // boundary — these commands set up *this host*, not a provider route:
134
+ // > It does not configure a provider account.
135
+ id: "SET_UP",
136
+ heading: "Set up — connect this host, its credentials, and diagnostics:",
137
+ commands: [
138
+ "install",
139
+ "connect",
140
+ "disconnect",
141
+ "config",
142
+ "auth",
143
+ "secrets",
144
+ "refresh",
145
+ "workspace",
146
+ "plugin",
147
+ "check",
148
+ // Not from the vendored study — `tmux` postdates it. Grouped alongside
149
+ // `config` (which already manages "the local tmux profile") because it
150
+ // is the same kind of work: local tmux naming and status-surface setup
151
+ // on this host, not a provider route or a session lifecycle action.
152
+ "tmux",
153
+ ],
154
+ },
155
+ {
156
+ // Vendored excerpt 4, § "Advanced session controls", the `session recover` row:
157
+ // > Make recovery semantics explicit: byte-faithful restore, host-continuable resume, or best effort.
158
+ //
159
+ // and § "Three loop distinction" #3:
160
+ // > **Process/session supervision loop:** heartbeat, lease, crash/stop detection, and backend recovery.
161
+ //
162
+ // NOTE the runtime's `enroll` is the LIVE-SESSION REGISTRY plumbing that
163
+ // feeds `ls`/`restore`. It is NOT the study's `h2a enroll …` (sentropic
164
+ // enrollment/binding), which does not exist yet. Grouping it by what it
165
+ // actually does keeps the help honest; no rename is implied.
166
+ id: "SESSION_RECOVERY",
167
+ heading: "Recover & supervise sessions (advanced):",
168
+ commands: [
169
+ "restore",
170
+ "relaunch",
171
+ "resume-throttled",
172
+ "layout",
173
+ "rename",
174
+ "enroll",
175
+ "lineage",
176
+ ],
177
+ },
178
+ {
179
+ // TWO sections warrant this heading, and they are not the same section.
180
+ // The earlier comment here attributed the whole heading to excerpt 5, but
181
+ // excerpt 5 does not contain "not the session front door" — that sentence is
182
+ // one section later. Accurate quotation, wrong address; both halves are now
183
+ // vendored against the section that actually carries them.
184
+ //
185
+ // Vendored excerpt 5, § "Specialist namespaces and delegation", last row:
186
+ // > Quarantined transport/bridge compatibility. `relay` is the taught bridge noun.
187
+ // > The primary user journey or any new generic remote-control vocabulary.
188
+ //
189
+ // Vendored excerpt 9, § "Compatibility and migration", the `h2a remote …` row:
190
+ // > Preserve as native transport compatibility namespace. Do not teach it as the session front door.
191
+ //
192
+ // These commands move bytes between here and a session backend.
193
+ id: "TRANSPORT",
194
+ heading: "Transport & bridges (compatibility — not the session front door):",
195
+ commands: ["sync", "sync-files", "forward", "browser", "migrate"],
196
+ },
197
+ {
198
+ // A SEMANTIC bucket for two named, known commands — NOT a fallback. This
199
+ // surface has no fallback group at all (see the header): an unclassified
200
+ // command keeps Commander's default heading and trips the test.
201
+ //
202
+ // Not a study group. `account` and `llm-mesh` manage the local LLM account
203
+ // pool and the local gateway/mesh. Vendored excerpt 6 lists the areas h2a
204
+ // should NOT own:
205
+ // > `h2a gateway`, `h2a provider`, `h2a account`, `h2a catalogue`, or `h2a failover`.
206
+ // > A command that lists or selects sentropic account pools, raw upstream model identifiers, sticky
207
+ //
208
+ // PRECISION the earlier wording lacked. It said the study "lists exactly
209
+ // these", which was true of one command and stranded for the other:
210
+ // `account` is named DIRECTLY by the first bullet; `llm-mesh` is named
211
+ // NOWHERE in the study and is covered by the second bullet only through what
212
+ // it does (multi-account, cross-provider fallback = account pools + failover).
213
+ // The bucket is warranted for both; only one is warranted by name.
214
+ //
215
+ // They nevertheless SHIP today. Forcing them into an operator group would
216
+ // launder that contradiction, and hiding them would be dishonest — so they
217
+ // get a labelled bucket. This is a finding about the command set, not a
218
+ // deprecation: both commands keep working exactly as before.
219
+ id: "LLM_LOCAL",
220
+ heading: "Local LLM account & gateway (outside the design study's operator grouping):",
221
+ commands: ["account", "llm-mesh"],
222
+ },
223
+ {
224
+ // Commander's built-in help command. Not an operator intention.
225
+ id: "HELP",
226
+ heading: "Help:",
227
+ commands: ["help"],
228
+ },
229
+ ];
230
+ const HEADING_BY_COMMAND = new Map(H2A_RUNTIME_HELP_GROUPS.flatMap((group) => group.commands.map((name) => [name, group.heading])));
231
+ /** Render order of the group headings, for the `groupItems` override. */
232
+ export const H2A_RUNTIME_HELP_GROUP_HEADINGS = H2A_RUNTIME_HELP_GROUPS.map((group) => group.heading);
233
+ /**
234
+ * Heading for a top-level command name, or `undefined` when the command is not
235
+ * classified. An unclassified command keeps Commander's default `Commands:`
236
+ * heading rather than disappearing — a new command is always visible, even
237
+ * before someone groups it.
238
+ */
239
+ export function runtimeHelpGroupHeadingFor(name) {
240
+ return HEADING_BY_COMMAND.get(name);
241
+ }
242
+ /**
243
+ * Assign a help group to every top-level command that has one. Called once,
244
+ * after all commands are registered and before `parseAsync`. Purely additive:
245
+ * `helpGroup()` only affects the heading a command is listed under.
246
+ */
247
+ export function applyRuntimeHelpGroups(commands) {
248
+ for (const command of commands) {
249
+ const heading = runtimeHelpGroupHeadingFor(command.name());
250
+ if (heading !== undefined)
251
+ command.helpGroup(heading);
252
+ }
253
+ }
254
+ /**
255
+ * Commander's `Help.groupItems`, reordered.
256
+ *
257
+ * Commander emits groups "in order of appearance in unsortedItems", i.e. command
258
+ * registration order — which would scatter our headings. This override builds
259
+ * the same map, then re-emits it with the declared group headings first, in
260
+ * `H2A_RUNTIME_HELP_GROUPS` order, followed by any other heading in its original
261
+ * relative order.
262
+ *
263
+ * The same method also groups OPTIONS (`Options:` / `Global Options:`). Those
264
+ * headings are not in our order list, so they fall through the
265
+ * "any other heading" branch and keep Commander's behaviour untouched.
266
+ */
267
+ export function groupRuntimeHelpItems(unsortedItems, visibleItems, getGroup) {
268
+ const collected = new Map();
269
+ // Commander seeds the key order from every item, visible or not.
270
+ for (const item of unsortedItems) {
271
+ const group = getGroup(item);
272
+ if (!collected.has(group))
273
+ collected.set(group, []);
274
+ }
275
+ for (const item of visibleItems) {
276
+ const group = getGroup(item);
277
+ const bucket = collected.get(group);
278
+ if (bucket === undefined)
279
+ collected.set(group, [item]);
280
+ else
281
+ bucket.push(item);
282
+ }
283
+ const ordered = new Map();
284
+ for (const heading of H2A_RUNTIME_HELP_GROUP_HEADINGS) {
285
+ const items = collected.get(heading);
286
+ // Commander drops empty groups itself (formatItemList on an empty list
287
+ // renders nothing), but skipping them here keeps the map honest.
288
+ if (items !== undefined && items.length > 0)
289
+ ordered.set(heading, items);
290
+ }
291
+ for (const [heading, items] of collected) {
292
+ if (!ordered.has(heading))
293
+ ordered.set(heading, items);
294
+ }
295
+ return ordered;
296
+ }
297
+ //# sourceMappingURL=cli-help-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-help-groups.js","sourceRoot":"","sources":["../src/cli-help-groups.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"enroll.d.ts","sourceRoot":"","sources":["../src/enroll.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMpE,6EAA6E;AAC7E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,wBAAgB,SAAS,CACvB,MAAM,GAAE,MAAM,CAAC,UAA0B,GACxC,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;6DACyD;IACzD,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,iBAAiB,CAAC;IACjD,gFAAgF;IAChF,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,EACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,aAAa,GAAG,SAAS,CAY3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,YAAY,GAAE,MAA8B,EAC5C,IAAI,GAAE,oBAAyB,GAC9B,UAAU,CA6EZ;AAMD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,YAAY,CAC1B,IAAI,EAAE,gBAAgB,EACtB,YAAY,GAAE,MAA8B,GAC3C,UAAU,CA4BZ;AAgBD,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAYF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,GAAE,MAAoC,GACjD,kBAAkB,CAsHpB"}
1
+ {"version":3,"file":"enroll.d.ts","sourceRoot":"","sources":["../src/enroll.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAUpE,6EAA6E;AAC7E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,wBAAgB,SAAS,CACvB,MAAM,GAAE,MAAM,CAAC,UAA0B,GACxC,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;6DACyD;IACzD,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,iBAAiB,CAAC;IACjD,gFAAgF;IAChF,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,EACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,aAAa,GAAG,SAAS,CAY3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,YAAY,GAAE,MAA8B,EAC5C,IAAI,GAAE,oBAAyB,GAC9B,UAAU,CAiHZ;AAMD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,YAAY,CAC1B,IAAI,EAAE,gBAAgB,EACtB,YAAY,GAAE,MAA8B,GAC3C,UAAU,CA6BZ;AAgBD,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAYF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,GAAE,MAAoC,GACjD,kBAAkB,CAsHpB"}
package/dist/enroll.js CHANGED
@@ -20,6 +20,7 @@ import { homedir } from "node:os";
20
20
  import { basename, dirname, join, resolve } from "node:path";
21
21
  import { advanceJob, coerceRegistryTool, enroll, loadRegistry, markEnded, resolveRegistryPath, } from "./registry.js";
22
22
  import { emitJobDone } from "./h2a-jobs.js";
23
+ import { SESSION_CLASS_ENV, sessionClassFromEnv, } from "./session-class.js";
23
24
  export function readStdin(stream = process.stdin) {
24
25
  return new Promise((resolvePromise) => {
25
26
  let data = "";
@@ -84,6 +85,25 @@ export function handleClaudeHook(hook, rawPayload, registryPath = resolveRegistr
84
85
  const cwd = typeof payload.cwd === "string" ? payload.cwd : process.cwd();
85
86
  const env = opts.env ?? process.env;
86
87
  const envJobId = env.REMOTE_JOB_ID;
88
+ const envSessionClass = env[SESSION_CLASS_ENV];
89
+ const parsedSessionClass = sessionClassFromEnv(envSessionClass);
90
+ // A malformed marker is evidence of a broken managed launch. Do not turn it
91
+ // into a human row: the hook must fail closed rather than upgrade a job.
92
+ if (envSessionClass !== undefined && !parsedSessionClass) {
93
+ return { ok: false, error: `invalid ${SESSION_CLASS_ENV}` };
94
+ }
95
+ // A hook payload has no intrinsic role or session kind. Only managed
96
+ // launchers stamp H2A_SESSION_CLASS; without it, admitting this event as a
97
+ // human would be the same fail-open that let background h2a-run hooks come
98
+ // back after restore. REMOTE_JOB_ID is separately authoritative for the
99
+ // older delegated-job channel.
100
+ if (!envJobId && !parsedSessionClass) {
101
+ return { ok: true };
102
+ }
103
+ // REMOTE_JOB_ID is itself a durable job marker. If its registry row was
104
+ // concurrently pruned, preserve the conservative background class instead
105
+ // of falling through to an ordinary human hook enrollment.
106
+ const sessionClass = envJobId ? "background" : parsedSessionClass;
87
107
  if (hook === "claude-start") {
88
108
  // H1 — if this claude session IS a delegated job (REMOTE_JOB_ID stamped on
89
109
  // its tmux env by startJob), LINK its conversation uuid onto the job entry
@@ -99,12 +119,21 @@ export function handleClaudeHook(hook, rawPayload, registryPath = resolveRegistr
99
119
  cwd: job.cwd,
100
120
  source: job.source,
101
121
  convId: id,
122
+ sessionClass: "background",
102
123
  role: "job",
103
124
  }, registryPath);
104
125
  return { ok: true, jobId: job.id };
105
126
  }
106
127
  }
107
- enroll({ id, tool: "claude", kind: "local", cwd, convId: id, source: "hook" }, registryPath);
128
+ enroll({
129
+ id,
130
+ tool: "claude",
131
+ kind: "local",
132
+ cwd,
133
+ convId: id,
134
+ source: "hook",
135
+ sessionClass,
136
+ }, registryPath);
108
137
  return { ok: true };
109
138
  }
110
139
  // claude-end: is this session a DELEGATED JOB? Resolve by REMOTE_JOB_ID (the
@@ -131,7 +160,15 @@ export function handleClaudeHook(hook, rawPayload, registryPath = resolveRegistr
131
160
  // Not a job — enroll-if-missing so the end of an unknown session still
132
161
  // leaves a (terminated) trace, then mark it ended.
133
162
  if (!markEnded(id, registryPath)) {
134
- enroll({ id, tool: "claude", kind: "local", cwd, convId: id, source: "hook" }, registryPath);
163
+ enroll({
164
+ id,
165
+ tool: "claude",
166
+ kind: "local",
167
+ cwd,
168
+ convId: id,
169
+ source: "hook",
170
+ sessionClass,
171
+ }, registryPath);
135
172
  markEnded(id, registryPath);
136
173
  }
137
174
  return { ok: true };
@@ -160,6 +197,7 @@ export function manualEnroll(opts, registryPath = resolveRegistryPath()) {
160
197
  kind: "local",
161
198
  cwd,
162
199
  source: "run",
200
+ sessionClass: "human",
163
201
  ...(opts.conv !== undefined ? { convId: opts.conv } : {}),
164
202
  ...(opts.label !== undefined ? { label: opts.label } : {}),
165
203
  ...(pid !== undefined ? { pid } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"enroll.js","sourceRoot":"","sources":["../src/enroll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enroll.js","sourceRoot":"","sources":["../src/enroll.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env node
2
+ import { projectStatusForH2a } from "./status-projection.js";
2
3
  import { type RegistryEntry } from "./registry.js";
3
4
  import { projectRemoteAgents } from "./agents-projection.js";
4
5
  export declare const packageName = "@sentropic/h2a-runtime";
@@ -110,6 +111,9 @@ export { main as dispatch };
110
111
  * stdout (double-consensus 2026-07-02: consume the typed projection, not text).
111
112
  */
112
113
  export declare function projectAgentsForH2a(): ReturnType<typeof projectRemoteAgents>;
114
+ export { projectStatusForH2a };
115
+ /** Open the detailed watcher only for an exact, currently managed session. */
116
+ export declare function openStatusWindowForH2a(session: string): boolean;
113
117
  /**
114
118
  * h2a-facing surface: read-only tmux pane snapshot for the canevas ③ session
115
119
  * view, consumed by `@sentropic/h2a`'s canevas adapter via lazy `import()`.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}