@oh-hai/cli 0.4.0 → 0.4.2

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 CHANGED
@@ -4,6 +4,35 @@ 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.2 — 2026-08-18
8
+
9
+ ### Added
10
+
11
+ - `oh-hai session start --label-kv <key>=<value>` (repeatable) populates the §16.1 session `labels`
12
+ map. The wire, the schema, the Hub and the session resource all carried this map already; only the
13
+ CLI had no way to set it, so a fan-out worker keying a session off a PR number had to fold it into
14
+ the free-text `--label` where nothing can read it back as a field.
15
+
16
+ Splits on the first `=`, so a value may contain one. Malformed input is a usage error (exit 2)
17
+ before any Hub call — no `=`, empty key or value, a repeated key, an entry over 512 characters, or
18
+ more than 32 entries. Duplicate keys are refused rather than last-wins: a script that meant two
19
+ keys and sent one should hear it from the CLI.
20
+ ([#861](https://github.com/autnmy/oh-hai/issues/861))
21
+
22
+ ## 0.4.1 — 2026-08-17
23
+
24
+ ### Changed
25
+
26
+ - Requires `@oh-hai/ma2h-core` **0.2.1**, re-vendored to the ma2h-protocol pin that adds the
27
+ §16.4.1 `sessions.operator_hard_stop` capability field (SCP #57). **No CLI behaviour change**: the
28
+ field is an optional signal a client may use to detect a Hub whose operator kill-switch is durable,
29
+ and nothing in the CLI reads it yet.
30
+
31
+ Cut anyway so the published CLI stops pinning a stale core. The release workflow only guards that
32
+ the pinned core version **exists** on npm, never that it contains the changes — so a
33
+ changed-but-unreleased core is invisible to CI and only bites the next time it matters.
34
+ ([#855](https://github.com/autnmy/oh-hai/issues/855))
35
+
7
36
  ## 0.4.0 — 2026-08-15
8
37
 
9
38
  ### Fixed
@@ -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>] [--kind <k>] [--project <p>] [--run-id <r>] [--ttl <seconds>]",
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
  "",
@@ -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":"AAAA,sFAAsF;AACtF,mFAAmF;AACnF,kFAAkF;AAClF,kGAAkG;AAelG,MAAM,CAAC,MAAM,QAAQ,GAA2B;IAC9C;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,8DAA8D;QACvE,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,EAAE;QACf,IAAI,EAAE;YACJ,gEAAgE;YAChE,EAAE;YACF,qBAAqB;YACrB,EAAE;YACF,mFAAmF;YACnF,oFAAoF;YACpF,sFAAsF;YACtF,uFAAuF;YACvF,mDAAmD;SACpD,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,+CAA+C;QACxD,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,EAAE;QACf,IAAI,EAAE;YACJ,iEAAiE;YACjE,EAAE;YACF,wCAAwC;YACxC,uEAAuE;YACvE,EAAE;YACF,mFAAmF;YACnF,mFAAmF;YACnF,yEAAyE;YACzE,mFAAmF;YACnF,qCAAqC;SACtC,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,yBAAyB;QAClC,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,EAAE;QACf,IAAI,EAAE;YACJ,kFAAkF;YAClF,EAAE;YACF,+CAA+C;YAC/C,EAAE;YACF,6DAA6D;SAC9D,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,+EAA+E;QACxF,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,EAAE;QACf,IAAI,EAAE;YACJ,0EAA0E;YAC1E,EAAE;YACF,gCAAgC;YAChC,EAAE;YACF,kFAAkF;YAClF,qFAAqF;YACrF,sFAAsF;YACtF,iDAAiD;SAClD,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,+EAA+E;QACxF,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,EAAE;QACf,IAAI,EAAE;YACJ,yEAAyE;YACzE,EAAE;YACF,8EAA8E;YAC9E,0DAA0D;YAC1D,8DAA8D;YAC9D,EAAE;YACF,kFAAkF;YAClF,uFAAuF;YACvF,sFAAsF;YACtF,8EAA8E;YAC9E,oFAAoF;YACpF,oDAAoD;SACrD,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,uCAAuC;QAChD,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,EAAE;QACf,IAAI,EAAE;YACJ,uEAAuE;YACvE,EAAE;YACF,qFAAqF;YACrF,qFAAqF;YACrF,iDAAiD;YACjD,EAAE;YACF,2EAA2E;YAC3E,EAAE;YACF,uFAAuF;YACvF,8FAA8F;YAC9F,qFAAqF;YACrF,wFAAwF;SACzF,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,gCAAgC;QACzC,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;QAChC,IAAI,EAAE;YACJ,wCAAwC;YACxC,EAAE;YACF,oEAAoE;YACpE,6FAA6F;YAC7F,yFAAyF;YACzF,6EAA6E;YAC7E,EAAE;YACF,oFAAoF;YACpF,iEAAiE;YACjE,EAAE;YACF,2FAA2F;YAC3F,8FAA8F;YAC9F,8FAA8F;YAC9F,wEAAwE;SACzE,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,qCAAqC;QAC9C,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;QAChC,IAAI,EAAE;YACJ,6CAA6C;YAC7C,EAAE;YACF,wFAAwF;YACxF,0EAA0E;YAC1E,0FAA0F;YAC1F,8EAA8E;YAC9E,EAAE;YACF,oFAAoF;YACpF,6BAA6B;YAC7B,EAAE;YACF,wFAAwF;YACxF,sFAAsF;SACvF,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,yCAAyC;QAClD,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACzC,IAAI,EAAE;YACJ,gDAAgD;YAChD,EAAE;YACF,2BAA2B;YAC3B,6CAA6C;YAC7C,yDAAyD;YACzD,EAAE;YACF,oBAAoB;SACrB,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,8DAA8D;QACvE,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,CAAC,OAAO,CAAC;QACtB,IAAI,EAAE;YACJ,yDAAyD;YACzD,EAAE;YACF,4EAA4E;YAC5E,EAAE;YACF,6EAA6E;YAC7E,6EAA6E;YAC7E,8EAA8E;YAC9E,8EAA8E;YAC9E,gFAAgF;YAChF,8EAA8E;YAC9E,mFAAmF;YACnF,+EAA+E;YAC/E,6BAA6B;SAC9B,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,oEAAoE;QAC7E,KAAK,EAAE,GAAG;QACV,6FAA6F;QAC7F,oFAAoF;QACpF,WAAW,EAAE,CAAC,QAAQ,CAAC;QACvB,IAAI,EAAE;YACJ,kFAAkF;YAClF,EAAE;YACF,kGAAkG;YAClG,wEAAwE;YACxE,sFAAsF;YACtF,6BAA6B;YAC7B,EAAE;YACF,yFAAyF;YACzF,uFAAuF;YACvF,yFAAyF;YACzF,4FAA4F;YAC5F,uDAAuD;YACvD,EAAE;YACF,6FAA6F;YAC7F,8FAA8F;YAC9F,EAAE;YACF,8FAA8F;YAC9F,+FAA+F;YAC/F,yEAAyE;YACzE,EAAE;YACF,wFAAwF;YACxF,gGAAgG;YAChG,+FAA+F;YAC/F,4FAA4F;YAC5F,+FAA+F;YAC/F,iFAAiF;SAClF,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,iEAAiE;QAC1E,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;QACzC,IAAI,EAAE;YACJ,mFAAmF;YACnF,EAAE;YACF,iGAAiG;YACjG,+DAA+D;YAC/D,8CAA8C;YAC9C,8CAA8C;YAC9C,EAAE;YACF,8FAA8F;YAC9F,4FAA4F;YAC5F,+FAA+F;YAC/F,6FAA6F;YAC7F,8FAA8F;YAC9F,2FAA2F;YAC3F,yFAAyF;YACzF,gFAAgF;SACjF,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,mDAAmD;QAC5D,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,CAAC,IAAI,CAAC;QACnB,IAAI,EAAE;YACJ,gFAAgF;YAChF,EAAE;YACF,6DAA6D;YAC7D,EAAE;YACF,yFAAyF;YACzF,6FAA6F;YAC7F,uFAAuF;YACvF,4FAA4F;YAC5F,6FAA6F;YAC7F,2BAA2B;SAC5B,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,4DAA4D;QACrE,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE;YACJ,gFAAgF;YAChF,EAAE;YACF,sFAAsF;YACtF,EAAE;YACF,0FAA0F;YAC1F,0FAA0F;YAC1F,6FAA6F;YAC7F,8FAA8F;YAC9F,6FAA6F;YAC7F,2FAA2F;YAC3F,sFAAsF;YACtF,6CAA6C;SAC9C,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,oFAAoF;QAC7F,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,EAAE;QACf,IAAI,EAAE;YACJ,kEAAkE;YAClE,EAAE;YACF,oDAAoD;YACpD,EAAE;YACF,+FAA+F;YAC/F,EAAE;YACF,mGAAmG;YACnG,qGAAqG;YACrG,oGAAoG;YACpG,qGAAqG;YACrG,EAAE;YACF,8FAA8F;YAC9F,qGAAqG;YACrG,gGAAgG;YAChG,mGAAmG;YACnG,mGAAmG;YACnG,gGAAgG;SACjG,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,8DAA8D;QACvE,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,EAAE;QACf,IAAI,EAAE;YACJ,gFAAgF;YAChF,EAAE;YACF,oDAAoD;YACpD,EAAE;YACF,wFAAwF;YACxF,yFAAyF;YACzF,2FAA2F;YAC3F,uFAAuF;YACvF,+FAA+F;YAC/F,uFAAuF;YACvF,4FAA4F;YAC5F,0FAA0F;SAC3F,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,yDAAyD;QAClE,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,EAAE;QACf,IAAI,EAAE;YACJ,uFAAuF;YACvF,EAAE;YACF,iCAAiC;YACjC,EAAE;YACF,gGAAgG;YAChG,gGAAgG;YAChG,8FAA8F;YAC9F,4FAA4F;YAC5F,+FAA+F;YAC/F,2EAA2E;SAC5E,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;CACF,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC3D,CAAC"}
@@ -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":"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"}
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.0",
3
+ "version": "0.4.2",
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",
@@ -23,7 +23,7 @@
23
23
  "access": "public"
24
24
  },
25
25
  "dependencies": {
26
- "@oh-hai/ma2h-core": "0.2.0"
26
+ "@oh-hai/ma2h-core": "0.2.1"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/node": "^26.1.0",