@oh-hai/cli 0.4.1 → 0.4.3
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/CHANGELOG.md +31 -0
- package/dist/commands/fleet.js +54 -6
- package/dist/commands/fleet.js.map +1 -1
- package/dist/commands/messaging/sessions-http.js +18 -1
- package/dist/commands/messaging/sessions-http.js.map +1 -1
- package/dist/commands/registry.js +12 -3
- package/dist/commands/registry.js.map +1 -1
- package/dist/commands/session.js +109 -1
- package/dist/commands/session.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,37 @@ Notable changes to the `oh-hai` CLI. Versions follow [semver](https://semver.org
|
|
|
4
4
|
pushing a `cli-vX.Y.Z` tag (runbook: `docs/runbooks/cli-release.md` in the repo), which publishes the
|
|
5
5
|
npm package and attaches the standalone binaries to the GitHub Release.
|
|
6
6
|
|
|
7
|
+
## 0.4.3 — 2026-08-18
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- `oh-hai fleet ls --kind <k> --project <p> --label <substring>` — selection over the page the Hub
|
|
12
|
+
served, so a coordinator with dozens of live sessions stops grepping the table. `--kind` and
|
|
13
|
+
`--project` are exact; `--label` is a case-insensitive substring. They compose as AND, and with
|
|
14
|
+
`--all`.
|
|
15
|
+
|
|
16
|
+
Applied client-side (the endpoint defines no such parameters), which means a filter can match
|
|
17
|
+
nothing on the current page while matching further back — so an empty filtered result names the
|
|
18
|
+
filter that produced it and still prints the pager hint, rather than reading as "nothing is
|
|
19
|
+
running". Matching is against the raw server strings rather than the terminal-sanitized display
|
|
20
|
+
forms. `--json` gains `data.filters`.
|
|
21
|
+
([#862](https://github.com/autnmy/oh-hai/issues/862))
|
|
22
|
+
|
|
23
|
+
## 0.4.2 — 2026-08-18
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- `oh-hai session start --label-kv <key>=<value>` (repeatable) populates the §16.1 session `labels`
|
|
28
|
+
map. The wire, the schema, the Hub and the session resource all carried this map already; only the
|
|
29
|
+
CLI had no way to set it, so a fan-out worker keying a session off a PR number had to fold it into
|
|
30
|
+
the free-text `--label` where nothing can read it back as a field.
|
|
31
|
+
|
|
32
|
+
Splits on the first `=`, so a value may contain one. Malformed input is a usage error (exit 2)
|
|
33
|
+
before any Hub call — no `=`, empty key or value, a repeated key, an entry over 512 characters, or
|
|
34
|
+
more than 32 entries. Duplicate keys are refused rather than last-wins: a script that meant two
|
|
35
|
+
keys and sent one should hear it from the CLI.
|
|
36
|
+
([#861](https://github.com/autnmy/oh-hai/issues/861))
|
|
37
|
+
|
|
7
38
|
## 0.4.1 — 2026-08-17
|
|
8
39
|
|
|
9
40
|
### Changed
|
package/dist/commands/fleet.js
CHANGED
|
@@ -27,6 +27,12 @@ const FLEET_LS_OPTIONS = {
|
|
|
27
27
|
limit: { type: "string" },
|
|
28
28
|
offset: { type: "string" },
|
|
29
29
|
all: { type: "boolean" },
|
|
30
|
+
// Selection over the page the Hub served. CLIENT-SIDE on purpose: `GET /v1/sessions` defines no
|
|
31
|
+
// such query parameters, and inventing them would be a server change this does not need — the
|
|
32
|
+
// existing `--limit`/`--offset` bounds already govern what arrives.
|
|
33
|
+
kind: { type: "string" },
|
|
34
|
+
project: { type: "string" },
|
|
35
|
+
label: { type: "string" },
|
|
30
36
|
};
|
|
31
37
|
/** The Hub's own `SESSION_LIST_MAX` / `SESSION_OFFSET_MAX`, mirrored so the "(more …)" hint is
|
|
32
38
|
* computed against the window the Hub ACTUALLY served — a raw request above the ceiling is
|
|
@@ -47,9 +53,23 @@ export async function fleetCommand(ctx) {
|
|
|
47
53
|
// `strictBoolFlag`, not a lenient truthiness check: `--all=treu` must be a usage error rather than
|
|
48
54
|
// silently showing the narrower list, which reads as "those sessions are gone".
|
|
49
55
|
const includeTerminal = strictBoolFlag(flags.all, "--all");
|
|
56
|
+
// Matched against the RAW server strings, never the terminal-sanitized display forms below: a
|
|
57
|
+
// label carrying a control character still matches what the user typed, and sanitization stays a
|
|
58
|
+
// presentation concern rather than quietly becoming a selection rule.
|
|
59
|
+
const kindFilter = stringFlag(flags.kind);
|
|
60
|
+
const projectFilter = stringFlag(flags.project);
|
|
61
|
+
const labelFilter = stringFlag(flags.label);
|
|
62
|
+
const filtered = kindFilter !== undefined || projectFilter !== undefined || labelFilter !== undefined;
|
|
63
|
+
const matches = (s) => (kindFilter === undefined || s.kind === kindFilter) &&
|
|
64
|
+
(projectFilter === undefined || s.project === projectFilter) &&
|
|
65
|
+
// Substring and case-INSENSITIVE, unlike the two exact matches: `kind` and `project` are chosen
|
|
66
|
+
// from a small vocabulary a caller knows exactly, while `label` is free text a human wrote
|
|
67
|
+
// ("dev-team · issue #612") and is searched, not recalled.
|
|
68
|
+
(labelFilter === undefined || (s.label ?? "").toLowerCase().includes(labelFilter.toLowerCase()));
|
|
50
69
|
const identity = await resolveSubmitIdentity(ctx);
|
|
51
70
|
const rows = await listSessions(ctx, identity.token, { limit, ...(offset !== undefined ? { offset } : {}) });
|
|
52
|
-
const
|
|
71
|
+
const live = includeTerminal ? rows : rows.filter((s) => s.state === "active");
|
|
72
|
+
const sessions = filtered ? live.filter(matches) : live;
|
|
53
73
|
// Best-effort caption input (see the file header). `undefined` anywhere below means "the Hub did
|
|
54
74
|
// not say", which is reported as uncertainty rather than guessed either way.
|
|
55
75
|
const capability = await fetchCapability(ctx);
|
|
@@ -66,6 +86,14 @@ export async function fleetCommand(ctx) {
|
|
|
66
86
|
// cannot tell "no other agents are live" from "this Hub won't tell me about them" will
|
|
67
87
|
// reach the wrong conclusion just as readily as a person would.
|
|
68
88
|
scope: accountWide === undefined ? "unknown" : accountWide ? "account" : "own",
|
|
89
|
+
// The FILTERS ride in the envelope for the same reason `scope` does: a script that cannot
|
|
90
|
+
// tell "nothing matched" from "nothing is live" reaches the wrong conclusion, and an empty
|
|
91
|
+
// `count` alone cannot distinguish them.
|
|
92
|
+
filters: {
|
|
93
|
+
...(kindFilter !== undefined ? { kind: kindFilter } : {}),
|
|
94
|
+
...(projectFilter !== undefined ? { project: projectFilter } : {}),
|
|
95
|
+
...(labelFilter !== undefined ? { label: labelFilter } : {}),
|
|
96
|
+
},
|
|
69
97
|
has_more: hasMore,
|
|
70
98
|
next_offset: nextOffset,
|
|
71
99
|
})));
|
|
@@ -81,11 +109,19 @@ export async function fleetCommand(ctx) {
|
|
|
81
109
|
ctx.io.err(`(more — re-run with --offset ${nextOffset})`);
|
|
82
110
|
};
|
|
83
111
|
if (sessions.length === 0) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
112
|
+
// A FILTERED empty result has to say the filter is why, and it takes precedence over the
|
|
113
|
+
// live-only wording: "No live sessions" in front of a user who passed `--kind worker` reads as
|
|
114
|
+
// "nothing is running", when the truth may be that plenty is running and none of it is a worker.
|
|
115
|
+
// The filter is applied client-side over ONE page, so it can also match nothing here while
|
|
116
|
+
// matching further back — which is why the pager hint below still fires.
|
|
117
|
+
ctx.io.log(filtered
|
|
118
|
+
? `No ${includeTerminal ? "" : "live "}sessions in this window matched ${describeFilters(kindFilter, projectFilter, labelFilter)}.` +
|
|
119
|
+
(hasMore ? " Keep paging (below) — the filter is applied to one page at a time." : "")
|
|
120
|
+
: includeTerminal
|
|
121
|
+
? "No sessions."
|
|
122
|
+
: hasMore
|
|
123
|
+
? "No live sessions in this window — every row here is closed or expired. Keep paging (below), or --all to include them."
|
|
124
|
+
: "No live sessions. (Add --all to include closed/expired ones.)");
|
|
89
125
|
ctx.io.err(scope);
|
|
90
126
|
more();
|
|
91
127
|
return;
|
|
@@ -104,6 +140,18 @@ export async function fleetCommand(ctx) {
|
|
|
104
140
|
ctx.io.err(scope);
|
|
105
141
|
more();
|
|
106
142
|
}
|
|
143
|
+
/** Name the filters in effect, so an empty result says WHY it is empty rather than implying the
|
|
144
|
+
* fleet is. Sanitized: these are user-supplied strings echoed back to a terminal. */
|
|
145
|
+
function describeFilters(kind, project, label) {
|
|
146
|
+
const parts = [];
|
|
147
|
+
if (kind !== undefined)
|
|
148
|
+
parts.push(`--kind ${sanitizeForTerminal(kind)}`);
|
|
149
|
+
if (project !== undefined)
|
|
150
|
+
parts.push(`--project ${sanitizeForTerminal(project)}`);
|
|
151
|
+
if (label !== undefined)
|
|
152
|
+
parts.push(`--label ${sanitizeForTerminal(label)}`);
|
|
153
|
+
return parts.join(" ");
|
|
154
|
+
}
|
|
107
155
|
/** Say what this list covers, without overclaiming. When the capability read failed we can still
|
|
108
156
|
* prove ONE direction from the rows: a session belonging to another agent could only have come
|
|
109
157
|
* from an account-wide read. The reverse is not provable — seeing only your own sessions is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/commands/fleet.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,oEAAoE;AACpE,EAAE;AACF,kGAAkG;AAClG,sEAAsE;AACtE,EAAE;AACF,4FAA4F;AAC5F,iGAAiG;AACjG,sFAAsF;AACtF,oGAAoG;AACpG,0FAA0F;AAC1F,sFAAsF;AACtF,EAAE;AACF,gGAAgG;AAChG,gGAAgG;AAChG,iGAAiG;AACjG,yEAAyE;AAEzE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGhG,MAAM,WAAW,GAAG,CAAC,IAAI,CAAU,CAAC;AAEpC,MAAM,gBAAgB,GAAG;IACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/commands/fleet.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,oEAAoE;AACpE,EAAE;AACF,kGAAkG;AAClG,sEAAsE;AACtE,EAAE;AACF,4FAA4F;AAC5F,iGAAiG;AACjG,sFAAsF;AACtF,oGAAoG;AACpG,0FAA0F;AAC1F,sFAAsF;AACtF,EAAE;AACF,gGAAgG;AAChG,gGAAgG;AAChG,iGAAiG;AACjG,yEAAyE;AAEzE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGhG,MAAM,WAAW,GAAG,CAAC,IAAI,CAAU,CAAC;AAEpC,MAAM,gBAAgB,GAAG;IACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IACxB,gGAAgG;IAChG,8FAA8F;IAC9F,oEAAoE;IACpE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CACjB,CAAC;AAEX;;;qFAGqF;AACrF,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,YAAY,GAAG,SAAS,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAmB;IACpD,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAChF,MAAM,KAAK,GAAG,MAAiC,CAAC;IAEhD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC1J,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,wBAAwB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9J,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzG,oGAAoG;IACpG,iGAAiG;IACjG,mGAAmG;IACnG,gFAAgF;IAChF,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE3D,8FAA8F;IAC9F,iGAAiG;IACjG,sEAAsE;IACtE,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,UAAU,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,CAAC;IACtG,MAAM,OAAO,GAAG,CAAC,CAAU,EAAW,EAAE,CACtC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;QACnD,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC;QAC5D,gGAAgG;QAChG,2FAA2F;QAC3F,2DAA2D;QAC3D,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEnG,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7G,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAExD,iGAAiG;IACjG,6EAA6E;IAC7E,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,UAAU,EAAE,QAAQ,EAAE,qBAAqB,CAAC;IAChE,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEjE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,eAAe,GAAG,kBAAkB,CAAC;IAE9E,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,GAAG,CAAC,EAAE,CAAC,GAAG,CACR,iBAAiB,CACf,OAAO,CAAC,UAAU,EAAE;YAClB,QAAQ;YACR,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,2FAA2F;YAC3F,uFAAuF;YACvF,gEAAgE;YAChE,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;YAC9E,0FAA0F;YAC1F,2FAA2F;YAC3F,yCAAyC;YACzC,OAAO,EAAE;gBACP,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7D;YACD,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,UAAU;SACxB,CAAC,CACH,CACF,CAAC;QACF,OAAO;IACT,CAAC;IAED,iGAAiG;IACjG,0FAA0F;IAC1F,iGAAiG;IACjG,8FAA8F;IAC9F,6FAA6F;IAC7F,MAAM,IAAI,GAAG,GAAS,EAAE;QACtB,IAAI,OAAO;YAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,gCAAgC,UAAU,GAAG,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,yFAAyF;QACzF,+FAA+F;QAC/F,iGAAiG;QACjG,2FAA2F;QAC3F,yEAAyE;QACzE,GAAG,CAAC,EAAE,CAAC,GAAG,CACR,QAAQ;YACN,CAAC,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,mCAAmC,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,GAAG;gBAC/H,CAAC,OAAO,CAAC,CAAC,CAAC,qEAAqE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,CAAC,CAAC,eAAe;gBACf,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,OAAO;oBACP,CAAC,CAAC,uHAAuH;oBACzH,CAAC,CAAC,+DAA+D,CACxE,CAAC;QACF,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,EAAE,CAAC;QACP,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG;QACd,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QAChH,GAAG,OAAO;KACX,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,GAAmB,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5H,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,GAAG,CAAC,EAAE,CAAC,GAAG,CACR,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAC3K,CAAC;IACJ,CAAC;IACD,6FAA6F;IAC7F,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClB,IAAI,EAAE,CAAC;AACT,CAAC;AAED;sFACsF;AACtF,SAAS,eAAe,CAAC,IAAa,EAAE,OAAgB,EAAE,KAAc;IACtE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1E,IAAI,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnF,IAAI,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7E,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;;wFAGwF;AACxF,SAAS,aAAa,CAAC,WAAgC,EAAE,IAAe,EAAE,WAAmB;IAC3F,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,qFAAqF,CAAC;IACvH,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,CACL,0GAA0G;YAC1G,2HAA2H,CAC5H,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,EAAE,CAAC;QACjD,OAAO,uHAAuH,CAAC;IACjI,CAAC;IACD,OAAO,qHAAqH,CAAC;AAC/H,CAAC;AAYD;;;;;oFAKoF;AACpF,SAAS,KAAK,CAAC,OAAgB,EAAE,WAAmB;IAClD,MAAM,KAAK,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChI,OAAO;QACL,OAAO,EAAE,SAAS,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QAChE,GAAG,EAAE,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;QACnD,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3B,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC;QACzB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;KAChC,CAAC;AACJ,CAAC;AAED;;mEAEmE;AACnE,SAAS,WAAW,CAAC,OAAgB;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IACrD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,GAAG,CAAC;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IACxD,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,GAAG,CAAC;IACnC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC;AACtC,CAAC"}
|
|
@@ -39,7 +39,24 @@ function isSession(value) {
|
|
|
39
39
|
return false;
|
|
40
40
|
if (typeof state !== "string" || !SESSION_STATES.has(state))
|
|
41
41
|
return false;
|
|
42
|
-
|
|
42
|
+
if (!isIsoTimestamp(createdAt) || !isIsoTimestamp(expiresAt))
|
|
43
|
+
return false;
|
|
44
|
+
// OPTIONAL FREE-TEXT FIELDS ARE TYPE-CHECKED TOO, not just the required ones. The guard's promise
|
|
45
|
+
// is `value is Session`, so leaving these unchecked made the type a lie for every consumer — and
|
|
46
|
+
// #862 turned that from latent into reachable by FILTERING on them: a Hub returning `label: 123`
|
|
47
|
+
// made `--label` call `.toLowerCase()` on a number and die with a generic TypeError instead of
|
|
48
|
+
// this module's "malformed session list" error, while a numeric `kind`/`project` silently became
|
|
49
|
+
// a non-match, which reads as "no such session" rather than "this Hub sent nonsense".
|
|
50
|
+
//
|
|
51
|
+
// `null` is treated as ABSENT rather than rejected: it is what a JSON encoder emits for an unset
|
|
52
|
+
// optional, and the display path already coalesces it. Only a present-but-wrong-TYPE value is a
|
|
53
|
+
// malformed response.
|
|
54
|
+
const { label, kind, project } = value;
|
|
55
|
+
for (const field of [label, kind, project]) {
|
|
56
|
+
if (field !== undefined && field !== null && typeof field !== "string")
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
return true;
|
|
43
60
|
}
|
|
44
61
|
/** Parse a `{ session: … }` body and redact the bearer from every string in it before any caller
|
|
45
62
|
* can print it (§5.4) — the same JSON round-trip `listMessages` uses, and it fails CLOSED: a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions-http.js","sourceRoot":"","sources":["../../../src/commands/messaging/sessions-http.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,mGAAmG;AACnG,mGAAmG;AACnG,gGAAgG;AAChG,uFAAuF;AACvF,EAAE;AACF,iGAAiG;AACjG,8FAA8F;AAC9F,wEAAwE;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG5E,2EAA2E;AAC3E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAEhE,iGAAiG;AACjG,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,KAAgC,CAAC;IACxH,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IACvE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACzF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1E,
|
|
1
|
+
{"version":3,"file":"sessions-http.js","sourceRoot":"","sources":["../../../src/commands/messaging/sessions-http.ts"],"names":[],"mappings":"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"}
|
|
@@ -229,7 +229,8 @@ export const COMMANDS = [
|
|
|
229
229
|
help: [
|
|
230
230
|
"oh-hai session — the MA2H v0.5 §16 session: an addressing scope for ONE live run.",
|
|
231
231
|
"",
|
|
232
|
-
"Usage: oh-hai session start [--label <l>] [--
|
|
232
|
+
"Usage: oh-hai session start [--label <l>] [--label-kv <k>=<v>]... [--kind <k>] [--project <p>]",
|
|
233
|
+
" [--run-id <r>] [--ttl <seconds>]",
|
|
233
234
|
" oh-hai session status [--id <sess_…>]",
|
|
234
235
|
" oh-hai session close [--id <sess_…>]",
|
|
235
236
|
"",
|
|
@@ -251,11 +252,19 @@ export const COMMANDS = [
|
|
|
251
252
|
help: [
|
|
252
253
|
"oh-hai fleet — discover the sessions this credential can see (cli spec §4.13).",
|
|
253
254
|
"",
|
|
254
|
-
"Usage: oh-hai fleet ls [--all] [--
|
|
255
|
+
"Usage: oh-hai fleet ls [--all] [--kind <k>] [--project <p>] [--label <substring>]",
|
|
256
|
+
" [--limit <n>] [--offset <n>]",
|
|
255
257
|
"",
|
|
256
258
|
"Prints one row per session with the exact ADDRESS to copy into `--to`, plus state, age,",
|
|
257
259
|
"label, kind and project. Live sessions only by default; --all includes closed/expired ones,",
|
|
258
|
-
"which the Hub retains for a window.
|
|
260
|
+
"which the Hub retains for a window.",
|
|
261
|
+
"",
|
|
262
|
+
"--kind and --project match exactly; --label is a case-insensitive SUBSTRING. They compose as",
|
|
263
|
+
"AND, and with --all. Filtering is applied to the page the Hub served, so a filter can match",
|
|
264
|
+
"nothing here while matching further back — an empty filtered result says which filter produced",
|
|
265
|
+
"it and still points at the next window.",
|
|
266
|
+
"",
|
|
267
|
+
"The SCOPE is not a flag — you always see your own",
|
|
259
268
|
"sessions, and other agents' only where the Hub permits same-account listing (§16.4, off by",
|
|
260
269
|
"default). The command says which one it printed rather than letting a narrowed list read as",
|
|
261
270
|
"'nobody else is running'.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/commands/registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/commands/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/session.js
CHANGED
|
@@ -28,18 +28,121 @@ const SESSION_COMMAND_OPTIONS = {
|
|
|
28
28
|
// reads it claims to support it.
|
|
29
29
|
session: { type: "string" },
|
|
30
30
|
label: { type: "string" },
|
|
31
|
+
// REPEATABLE, and named apart from the singular free-text `--label` on purpose: they are different
|
|
32
|
+
// kinds of thing. `--label` is a human-readable caption ("dev-team · issue #612"); `--label-kv` is
|
|
33
|
+
// the §16.1 `labels` MAP, which a peer or a fleet dashboard can key on. Folding a PR number into
|
|
34
|
+
// the caption makes it findable only by substring; putting it here makes it a field.
|
|
35
|
+
"label-kv": { type: "string", multiple: true },
|
|
31
36
|
kind: { type: "string" },
|
|
32
37
|
project: { type: "string" },
|
|
33
38
|
"run-id": { type: "string" },
|
|
34
39
|
ttl: { type: "string" },
|
|
35
40
|
};
|
|
41
|
+
/** §16.1 caps, mirrored from the Hub (server/src/routes/sessions.ts) so an over-cap map is a usage
|
|
42
|
+
* error here rather than a round-trip and a 422 — and, more to the point, rather than a slice of the
|
|
43
|
+
* per-credential registration budget spent on a request that could never have been accepted. Same
|
|
44
|
+
* reason `--ttl` is parse-capped locally before the Hub clamps it. */
|
|
45
|
+
const MAX_LABELS = 32;
|
|
46
|
+
const MAX_LABEL_FIELD_LEN = 512;
|
|
47
|
+
/**
|
|
48
|
+
* Quote a user-supplied value for an error message so it can carry no terminal escape.
|
|
49
|
+
*
|
|
50
|
+
* `JSON.stringify` ALONE IS NOT ENOUGH, which is the trap this closes: it escapes C0 (below 0x20)
|
|
51
|
+
* plus `"` and `\\`, and passes DEL (0x7f) and the C1 range (0x80-0x9f) through RAW. This CLI's own
|
|
52
|
+
* `sanitizeForTerminal` treats all three as dangerous, and it is right to — the non-JSON error path
|
|
53
|
+
* writes `cliError.message` straight to stderr with no sanitizing of its own.
|
|
54
|
+
*
|
|
55
|
+
* So the range JSON misses is ESCAPED rather than stripped: a caller who typed a DEL should see
|
|
56
|
+
* `\\u007f` and understand what was rejected, not read a message that looks like it refused
|
|
57
|
+
* something perfectly ordinary.
|
|
58
|
+
*/
|
|
59
|
+
function quoteForError(value) {
|
|
60
|
+
return JSON.stringify(value).replace(/[\u007f-\u009f]/g, (ch) => `\\u${(ch.codePointAt(0) ?? 0).toString(16).padStart(4, "0")}`);
|
|
61
|
+
}
|
|
62
|
+
/** Control characters the Hub refuses in registration fields — matches its `hasControlChars`
|
|
63
|
+
* (server/src/http/validation.ts) exactly, so the two cannot disagree about what is legal. */
|
|
64
|
+
function hasControlChars(value) {
|
|
65
|
+
for (const ch of value) {
|
|
66
|
+
const cp = ch.codePointAt(0);
|
|
67
|
+
if (cp <= 0x1f || cp === 0x7f)
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Parse repeated `key=value` into the §16.1 `labels` map, or throw a usage CliError (exit 2).
|
|
74
|
+
*
|
|
75
|
+
* Splits on the FIRST `=` so a value may contain one (`--label-kv url=https://x?a=b`); a key may not,
|
|
76
|
+
* which costs nothing — these are identifiers, and the alternative is a quoting rule nobody remembers.
|
|
77
|
+
*
|
|
78
|
+
* EVERY MALFORMED SHAPE IS AN ERROR, not a silent drop. A duplicate key in particular: last-wins is
|
|
79
|
+
* the tempting default and it is wrong here, because a script that meant two keys and sent one should
|
|
80
|
+
* learn that from the CLI rather than from a fleet view that is quietly missing a field.
|
|
81
|
+
*
|
|
82
|
+
* EVERY INTERPOLATED USER VALUE GOES THROUGH `quoteForError`, without exception. The non-JSON error
|
|
83
|
+
* path writes `cliError.message` straight to stderr (`cli.ts`) with no `sanitizeForTerminal`, so a
|
|
84
|
+
* raw key echoed into a message is a terminal-escape injection — landing precisely in the error that
|
|
85
|
+
* REJECTS the input, which is the worst possible moment for it. Note it is `quoteForError` and not
|
|
86
|
+
* bare `JSON.stringify`: the latter passes DEL and C1 through untouched, which a test here proves.
|
|
87
|
+
*/
|
|
88
|
+
function parseLabelMap(raw) {
|
|
89
|
+
const entries = raw === undefined ? [] : Array.isArray(raw) ? raw : [raw];
|
|
90
|
+
if (entries.length === 0)
|
|
91
|
+
return undefined;
|
|
92
|
+
// NULL-PROTOTYPE, and this is a correctness fix rather than hygiene. `labels["__proto__"] = v` on a
|
|
93
|
+
// plain object hits `Object.prototype`'s legacy setter instead of creating an own property, so the
|
|
94
|
+
// key vanishes from `Object.keys` AND from `JSON.stringify` — the Hub would receive `{}` while the
|
|
95
|
+
// caller believed it had set a label, and even the duplicate check below could not see it. The
|
|
96
|
+
// §16.1 map permits arbitrary string keys, so silently dropping one is a wrong answer, not a
|
|
97
|
+
// narrow one. `JSON.stringify` serializes a null-prototype object normally.
|
|
98
|
+
const labels = Object.create(null);
|
|
99
|
+
for (const entry of entries) {
|
|
100
|
+
if (typeof entry !== "string")
|
|
101
|
+
throw new CliError("usage", `--label-kv must be "key=value", got ${quoteForError(entry)}`);
|
|
102
|
+
const i = entry.indexOf("=");
|
|
103
|
+
if (i < 0)
|
|
104
|
+
throw new CliError("usage", `--label-kv must be "key=value" (no "=" found), got ${quoteForError(entry)}`);
|
|
105
|
+
const rawKey = entry.slice(0, i);
|
|
106
|
+
const rawValue = entry.slice(i + 1);
|
|
107
|
+
// CONTROL CHARACTERS ARE CHECKED ON THE RAW SLICES, BEFORE `trim()`, and the order is the whole
|
|
108
|
+
// point. Trimming removes leading/trailing control characters, so checking afterwards misses
|
|
109
|
+
// exactly the inputs that matter: `branch=release\n` would trim to a clean `release`, pass, and
|
|
110
|
+
// register a SILENTLY ALTERED value — the drop-instead-of-refuse failure this parser rejects
|
|
111
|
+
// everywhere else. An embedded one (`release\nnext`) survives trim and would be caught either
|
|
112
|
+
// way, which is what made the ordering easy to get wrong.
|
|
113
|
+
//
|
|
114
|
+
// The Hub refuses these too, but its registration RATE LIMITER runs before that validation, so
|
|
115
|
+
// letting one through spends a slice of the per-credential §16.1 budget to earn a 422 — breaking
|
|
116
|
+
// this command's promise that every malformed shape costs no Hub call.
|
|
117
|
+
if (hasControlChars(rawKey) || hasControlChars(rawValue)) {
|
|
118
|
+
throw new CliError("usage", `--label-kv ${quoteForError(entry)} contains a control character, which the Hub refuses (§16.1).`);
|
|
119
|
+
}
|
|
120
|
+
const key = rawKey.trim();
|
|
121
|
+
const value = rawValue.trim();
|
|
122
|
+
if (key === "")
|
|
123
|
+
throw new CliError("usage", `--label-kv has an empty key, got ${quoteForError(entry)}`);
|
|
124
|
+
if (value === "")
|
|
125
|
+
throw new CliError("usage", `--label-kv has an empty value for ${quoteForError(key)} — omit the flag instead.`);
|
|
126
|
+
if (Object.prototype.hasOwnProperty.call(labels, key)) {
|
|
127
|
+
throw new CliError("usage", `--label-kv repeats the key ${quoteForError(key)} — each key may be given once.`);
|
|
128
|
+
}
|
|
129
|
+
if (key.length > MAX_LABEL_FIELD_LEN || value.length > MAX_LABEL_FIELD_LEN) {
|
|
130
|
+
throw new CliError("usage", `--label-kv ${quoteForError(key)} exceeds the ${MAX_LABEL_FIELD_LEN}-character limit the Hub enforces (§16.1).`);
|
|
131
|
+
}
|
|
132
|
+
labels[key] = value;
|
|
133
|
+
}
|
|
134
|
+
if (Object.keys(labels).length > MAX_LABELS) {
|
|
135
|
+
throw new CliError("usage", `--label-kv accepts at most ${MAX_LABELS} entries (§16.1); got ${Object.keys(labels).length}.`);
|
|
136
|
+
}
|
|
137
|
+
return labels;
|
|
138
|
+
}
|
|
36
139
|
/** A day is a generous parse ceiling for `--ttl`; the Hub then clamps two-sidedly into its own
|
|
37
140
|
* advertised bounds, so this only rejects a value that is obviously a mistake (a millisecond
|
|
38
141
|
* count pasted into a seconds flag) before it costs a round-trip. */
|
|
39
142
|
const MAX_TTL_SECONDS = 86_400;
|
|
40
143
|
/** Flags that belong to `start` alone — they DESCRIBE a session being created, so on `status`/`close`
|
|
41
144
|
* (which SELECT an existing one) they are meaningless. */
|
|
42
|
-
const START_ONLY = ["label", "kind", "project", "run-id", "ttl"];
|
|
145
|
+
const START_ONLY = ["label", "label-kv", "kind", "project", "run-id", "ttl"];
|
|
43
146
|
/** Flags that SELECT an existing session — meaningless on `start`, which mints a new one. `--id` is
|
|
44
147
|
* refused with its own message below (the Hub owns the id); `--session` is refused here because
|
|
45
148
|
* `session start --session sess_old` reads as "use that one" and would silently mint a DIFFERENT
|
|
@@ -66,12 +169,17 @@ async function sessionStart(ctx, flags) {
|
|
|
66
169
|
throw new CliError("usage", "--id is not valid for 'session start' — the Hub mints the id (§16.1).");
|
|
67
170
|
}
|
|
68
171
|
const ttl = flags.ttl !== undefined ? positiveInt(stringFlag(flags.ttl), "--ttl", "a positive integer number of seconds", MAX_TTL_SECONDS) : undefined;
|
|
172
|
+
// Parsed BEFORE the identity is resolved, so a malformed map costs no credential lookup and no Hub
|
|
173
|
+
// call — the §16.1 registration budget is per-credential and a request that could never be accepted
|
|
174
|
+
// must not spend from it.
|
|
175
|
+
const labels = parseLabelMap(flags["label-kv"]);
|
|
69
176
|
const identity = await resolveSubmitIdentity(ctx);
|
|
70
177
|
const session = await registerSession(ctx, identity.token, {
|
|
71
178
|
...(stringFlag(flags["run-id"]) !== undefined ? { run_id: stringFlag(flags["run-id"]) } : {}),
|
|
72
179
|
...(stringFlag(flags.label) !== undefined ? { label: stringFlag(flags.label) } : {}),
|
|
73
180
|
...(stringFlag(flags.project) !== undefined ? { project: stringFlag(flags.project) } : {}),
|
|
74
181
|
kind: stringFlag(flags.kind) ?? "cli",
|
|
182
|
+
...(labels !== undefined ? { labels } : {}),
|
|
75
183
|
...(ttl !== undefined ? { ttl_seconds: ttl } : {}),
|
|
76
184
|
});
|
|
77
185
|
// So a later command in the SAME process attaches rather than minting a second session.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,0FAA0F;AAC1F,EAAE;AACF,kGAAkG;AAClG,oGAAoG;AACpG,mGAAmG;AACnG,oGAAoG;AACpG,EAAE;AACF,kGAAkG;AAClG,kGAAkG;AAClG,+FAA+F;AAC/F,gGAAgG;AAChG,kEAAkE;AAElE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAE1D,MAAM,uBAAuB,GAAG;IAC9B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACtB,qFAAqF;IACrF,gFAAgF;IAChF,6FAA6F;IAC7F,iCAAiC;IACjC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC5B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CACf,CAAC;AAEX;;sEAEsE;AACtE,MAAM,eAAe,GAAG,MAAM,CAAC;AAE/B;2DAC2D;AAC3D,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oh-hai/cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "OH HAI — the `oh-hai` CLI: reach a human from your agent through an MA2H Hub (notify / ask / task), and reach another agent over the v0.5 inter-agent leg (sessions, addressed sends, bridge, fleet).",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|