@oh-hai/cli 0.4.3 → 0.4.4
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 +21 -0
- package/dist/commands/fleet.js +37 -29
- package/dist/commands/fleet.js.map +1 -1
- package/dist/commands/messaging/capability.d.ts +0 -1
- package/dist/commands/messaging/capability.js +12 -13
- package/dist/commands/messaging/capability.js.map +1 -1
- package/dist/commands/messaging/sessions-http.d.ts +14 -3
- package/dist/commands/messaging/sessions-http.js +14 -3
- package/dist/commands/messaging/sessions-http.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,27 @@ 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.4 — 2026-08-18
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- `oh-hai fleet ls` takes its scope from the **`GET /v1/sessions` response** (`scope`) instead of the
|
|
12
|
+
public capability document. The §16.4 grant became per-account on the Hub side, and
|
|
13
|
+
`/.well-known/ma2h` is unauthenticated — it has no caller to answer for — so the endpoint that
|
|
14
|
+
serves the rows is now the one that states what it served. `--json` still reports
|
|
15
|
+
`data.scope` as `account` | `own` | `unknown`, and a Hub that reports no scope is captioned
|
|
16
|
+
`unknown` rather than guessed at or inferred from which rows came back.
|
|
17
|
+
|
|
18
|
+
The `own` caption now names **both** reasons a list can be narrowed — the account has not enabled
|
|
19
|
+
Agent messaging, or the deployment forces own-only — because the CLI cannot tell them apart and
|
|
20
|
+
naming only one sends the user to the wrong lever.
|
|
21
|
+
|
|
22
|
+
The capability document still advertises `sessions.agent_list_visibility`, but per MA2H SCP #62 it
|
|
23
|
+
states the deployment **ceiling** rather than the effective grant, so reading it as the answer
|
|
24
|
+
overstates the case for an account that has not enabled Agent messaging. That is why the scope
|
|
25
|
+
moved to the authenticated response; 0.4.1 through 0.4.3 read the ceiling and can therefore caption
|
|
26
|
+
a narrowed list as account-wide. ([#860](https://github.com/autnmy/oh-hai/issues/860))
|
|
27
|
+
|
|
7
28
|
## 0.4.3 — 2026-08-18
|
|
8
29
|
|
|
9
30
|
### Added
|
package/dist/commands/fleet.js
CHANGED
|
@@ -7,19 +7,21 @@
|
|
|
7
7
|
// * An agent ALWAYS sees its own sessions. Unconditional by §16.4, and deliberately so: a
|
|
8
8
|
// restarted or crash-looping agent must be able to find and clear its stale leases before it
|
|
9
9
|
// hits the live-session cap, and gating that read would wedge exactly that agent.
|
|
10
|
-
// * It sees the whole ACCOUNT only
|
|
11
|
-
// §16.4 makes same-account-agent listing an explicit MAY —
|
|
12
|
-
// dashboards, not the required discovery path" —
|
|
10
|
+
// * It sees the whole ACCOUNT only when its account has opted into the §8.0 inter-agent leg and
|
|
11
|
+
// the deployment's ceiling permits it. §16.4 makes same-account-agent listing an explicit MAY —
|
|
12
|
+
// "an optimization for fleet dashboards, not the required discovery path" — and this Hub binds
|
|
13
|
+
// that MAY to the account's own opt-in (issue #860).
|
|
13
14
|
//
|
|
14
15
|
// A list that silently narrowed from "the fleet" to "just me" would be actively misleading: the
|
|
15
|
-
// user would conclude the other agents are gone. So the
|
|
16
|
-
//
|
|
17
|
-
//
|
|
16
|
+
// user would conclude the other agents are gone. So the SERVER states the scope it applied, on the
|
|
17
|
+
// very response that carried the rows, and this command prints that. It does NOT read the
|
|
18
|
+
// capability document: the answer is per-account and that document is public and unauthenticated,
|
|
19
|
+
// so it has no caller to answer for. A Hub that reports no scope is captioned "unknown" — never
|
|
20
|
+
// guessed at, and never inferred from which rows happen to have come back.
|
|
18
21
|
import { buildOk, serializeEnvelope } from "../envelope.js";
|
|
19
22
|
import { sanitizeForTerminal } from "../terminal.js";
|
|
20
23
|
import { parseSubcommandArgs } from "./flags.js";
|
|
21
24
|
import { resolveSubmitIdentity } from "./messaging/identity.js";
|
|
22
|
-
import { fetchCapability } from "./messaging/capability.js";
|
|
23
25
|
import { listSessions } from "./messaging/sessions-http.js";
|
|
24
26
|
import { nonNegativeInt, positiveInt, strictBoolFlag, stringFlag } from "./messaging/shared.js";
|
|
25
27
|
const SUBCOMMANDS = ["ls"];
|
|
@@ -67,14 +69,15 @@ export async function fleetCommand(ctx) {
|
|
|
67
69
|
// ("dev-team · issue #612") and is searched, not recalled.
|
|
68
70
|
(labelFilter === undefined || (s.label ?? "").toLowerCase().includes(labelFilter.toLowerCase()));
|
|
69
71
|
const identity = await resolveSubmitIdentity(ctx);
|
|
70
|
-
const rows = await listSessions(ctx, identity.token, {
|
|
72
|
+
const { sessions: rows, scope: served } = await listSessions(ctx, identity.token, {
|
|
73
|
+
limit,
|
|
74
|
+
...(offset !== undefined ? { offset } : {}),
|
|
75
|
+
});
|
|
71
76
|
const live = includeTerminal ? rows : rows.filter((s) => s.state === "active");
|
|
72
77
|
const sessions = filtered ? live.filter(matches) : live;
|
|
73
|
-
//
|
|
74
|
-
//
|
|
75
|
-
const
|
|
76
|
-
const accountWide = capability?.sessions?.agent_list_visibility;
|
|
77
|
-
const scope = describeScope(accountWide, rows, identity.agentId);
|
|
78
|
+
// `undefined` means the Hub did not say, which is reported as uncertainty rather than guessed
|
|
79
|
+
// either way (see the file header).
|
|
80
|
+
const scope = describeScope(served);
|
|
78
81
|
const effectiveOffset = offset ?? 0;
|
|
79
82
|
const nextOffset = Math.min(effectiveOffset + rows.length, SESSION_OFFSET_MAX);
|
|
80
83
|
const hasMore = rows.length === limit && effectiveOffset < SESSION_OFFSET_MAX;
|
|
@@ -84,8 +87,11 @@ export async function fleetCommand(ctx) {
|
|
|
84
87
|
count: sessions.length,
|
|
85
88
|
// The SCOPE belongs in the machine envelope too, not just the human caption: a script that
|
|
86
89
|
// cannot tell "no other agents are live" from "this Hub won't tell me about them" will
|
|
87
|
-
// reach the wrong conclusion just as readily as a person would.
|
|
88
|
-
|
|
90
|
+
// reach the wrong conclusion just as readily as a person would. Emitted as an EXPLICIT
|
|
91
|
+
// "unknown" string rather than left absent — `buildOk` prunes undefined keys, so a missing
|
|
92
|
+
// scope would vanish from `data` and a script would have to distinguish an absent key from
|
|
93
|
+
// an unknown answer.
|
|
94
|
+
scope: served ?? "unknown",
|
|
89
95
|
// The FILTERS ride in the envelope for the same reason `scope` does: a script that cannot
|
|
90
96
|
// tell "nothing matched" from "nothing is live" reaches the wrong conclusion, and an empty
|
|
91
97
|
// `count` alone cannot distinguish them.
|
|
@@ -152,21 +158,23 @@ function describeFilters(kind, project, label) {
|
|
|
152
158
|
parts.push(`--label ${sanitizeForTerminal(label)}`);
|
|
153
159
|
return parts.join(" ");
|
|
154
160
|
}
|
|
155
|
-
/** Say what this list covers, without overclaiming
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
if (
|
|
167
|
-
return "scope:
|
|
161
|
+
/** Say what this list covers, without overclaiming — reporting what the SERVER stated it served
|
|
162
|
+
* (issue #860) rather than inferring it.
|
|
163
|
+
*
|
|
164
|
+
* The `own` caption names BOTH causes because the CLI genuinely cannot tell them apart from here:
|
|
165
|
+
* the account has not opted into the inter-agent leg, or the deployment's ceiling forces own-only
|
|
166
|
+
* for everyone. Naming only the first would send a user to a Settings toggle that cannot fix an
|
|
167
|
+
* operator's ceiling; naming only the second would send them to an operator when the fix is one
|
|
168
|
+
* click of their own. So both are stated, actionable one first. */
|
|
169
|
+
function describeScope(served) {
|
|
170
|
+
if (served === "account")
|
|
171
|
+
return "scope: every session in this account.";
|
|
172
|
+
if (served === "own") {
|
|
173
|
+
return ("scope: THIS AGENT's sessions only. Either this account has not enabled Agent messaging " +
|
|
174
|
+
"(Settings → Agent messaging — the account owner can turn it on), or this Hub's deployment forces own-only " +
|
|
175
|
+
"for every account. Other agents may well be live; an account human always sees the whole account.");
|
|
168
176
|
}
|
|
169
|
-
return "scope:
|
|
177
|
+
return "scope: this Hub did not report which scope it served, so whether other agents' sessions are listed here is unknown.";
|
|
170
178
|
}
|
|
171
179
|
/** Project one session to terminal-safe, single-line columns.
|
|
172
180
|
*
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/commands/fleet.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,20 +75,19 @@ export async function fetchCapability(ctx) {
|
|
|
75
75
|
return undefined;
|
|
76
76
|
}
|
|
77
77
|
const doc = body;
|
|
78
|
-
// `
|
|
79
|
-
//
|
|
80
|
-
//
|
|
81
|
-
//
|
|
82
|
-
// that
|
|
78
|
+
// `sessions` is read for its `enabled` flag (the §8.7.1 session-drain gate below), so a value that
|
|
79
|
+
// is not an object is dropped rather than cast — a non-object would make `sessions?.enabled` throw
|
|
80
|
+
// or silently read undefined off a string.
|
|
81
|
+
//
|
|
82
|
+
// The per-field `agent_list_visibility` sanitizer that used to live here is GONE with #860: it
|
|
83
|
+
// existed only because `fleet ls` ACTED on that field. The Hub still advertises it — it states the
|
|
84
|
+
// deployment ceiling — but it is only half the §16.4 answer, so the CLI reads the authenticated
|
|
85
|
+
// `scope` on `GET /v1/sessions` instead and ignores this field entirely. Nothing here reads it, so
|
|
86
|
+
// there is nothing to sanitize.
|
|
83
87
|
const sessions = doc.sessions;
|
|
84
|
-
if (sessions
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
delete sessions.agent_list_visibility;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
else if (sessions !== undefined) {
|
|
91
|
-
delete doc.sessions;
|
|
88
|
+
if (sessions === null || typeof sessions !== "object" || Array.isArray(sessions)) {
|
|
89
|
+
if (sessions !== undefined)
|
|
90
|
+
delete doc.sessions;
|
|
92
91
|
}
|
|
93
92
|
const capability = doc;
|
|
94
93
|
CACHE.set(key, capability);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../../../src/commands/messaging/capability.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,0CAA0C;AAC1C,EAAE;AACF,sGAAsG;AACtG,mGAAmG;AACnG,oGAAoG;AACpG,mGAAmG;AACnG,mGAAmG;AACnG,kGAAkG;AAClG,EAAE;AACF,qGAAqG;AACrG,sGAAsG;AACtG,mGAAmG;AACnG,oGAAoG;AACpG,sGAAsG;AACtG,iGAAiG;AACjG,kDAAkD;AAClD,EAAE;AACF,sGAAsG;AACtG,sFAAsF;AAEtF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../../../src/commands/messaging/capability.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,13 +4,24 @@ import type { Session, SessionRegisterRequest } from "./wire.js";
|
|
|
4
4
|
* id, owns the state, and CLAMPS `ttl_seconds` two-sidedly into its advertised bounds, so the
|
|
5
5
|
* returned `ttl_seconds`/`expires_at` are authoritative and may differ from what was asked. */
|
|
6
6
|
export declare function registerSession(ctx: CommandContext, token: string, request: SessionRegisterRequest): Promise<Session>;
|
|
7
|
+
/** The §16.4 scope a list response applied. `undefined` means the Hub did not say — a pre-#860 Hub
|
|
8
|
+
* omits the field — and every caller must render that as "unknown", never as `account`. */
|
|
9
|
+
export type SessionListScope = "account" | "own";
|
|
7
10
|
/** GET /v1/sessions — list (spec §16.4). Scope depends on the CALLER, not on any parameter: an
|
|
8
|
-
* agent always sees its OWN sessions, and sees the whole account only
|
|
9
|
-
*
|
|
11
|
+
* agent always sees its OWN sessions, and sees the whole account only when its account opted into
|
|
12
|
+
* the §8.0 inter-agent leg under a permitting deployment ceiling.
|
|
13
|
+
*
|
|
14
|
+
* THE HUB REPORTS WHICH IT SERVED, and that is why this returns the scope rather than leaving the
|
|
15
|
+
* caller to infer it (issue #860). The answer is per-account, so the public capability document
|
|
16
|
+
* cannot carry it; the response that served the rows is the only surface that can. A Hub that
|
|
17
|
+
* omits the field yields `undefined` — which the caller must NOT read as `account`. */
|
|
10
18
|
export declare function listSessions(ctx: CommandContext, token: string, page?: {
|
|
11
19
|
limit?: number;
|
|
12
20
|
offset?: number;
|
|
13
|
-
}): Promise<
|
|
21
|
+
}): Promise<{
|
|
22
|
+
sessions: Session[];
|
|
23
|
+
scope: SessionListScope | undefined;
|
|
24
|
+
}>;
|
|
14
25
|
/** GET /v1/sessions/:id — read one (spec §16.4). A TERMINAL session is still 200-with-its-state for
|
|
15
26
|
* the advertised retention window; 404 covers unknown AND foreign alike (deliberately
|
|
16
27
|
* indistinguishable, §9.1). */
|
|
@@ -120,8 +120,13 @@ export async function registerSession(ctx, token, request) {
|
|
|
120
120
|
return readSession(await sessionRequest(ctx, token, "POST", "/v1/sessions", request), token, "registration");
|
|
121
121
|
}
|
|
122
122
|
/** GET /v1/sessions — list (spec §16.4). Scope depends on the CALLER, not on any parameter: an
|
|
123
|
-
* agent always sees its OWN sessions, and sees the whole account only
|
|
124
|
-
*
|
|
123
|
+
* agent always sees its OWN sessions, and sees the whole account only when its account opted into
|
|
124
|
+
* the §8.0 inter-agent leg under a permitting deployment ceiling.
|
|
125
|
+
*
|
|
126
|
+
* THE HUB REPORTS WHICH IT SERVED, and that is why this returns the scope rather than leaving the
|
|
127
|
+
* caller to infer it (issue #860). The answer is per-account, so the public capability document
|
|
128
|
+
* cannot carry it; the response that served the rows is the only surface that can. A Hub that
|
|
129
|
+
* omits the field yields `undefined` — which the caller must NOT read as `account`. */
|
|
125
130
|
export async function listSessions(ctx, token, page = {}) {
|
|
126
131
|
const query = new URLSearchParams();
|
|
127
132
|
if (page.limit !== undefined)
|
|
@@ -134,7 +139,13 @@ export async function listSessions(ctx, token, page = {}) {
|
|
|
134
139
|
if (!Array.isArray(sessions) || !sessions.every(isSession)) {
|
|
135
140
|
throw new CliError("server", "the Hub returned a malformed session list (expected { sessions: [{ id, agent_id, state, created_at }] }).");
|
|
136
141
|
}
|
|
137
|
-
|
|
142
|
+
// A malformed `scope` is NOT a hard error — the rows are still good and refusing the whole list
|
|
143
|
+
// over a bad caption would be worse than captioning it honestly. It degrades to `undefined`
|
|
144
|
+
// (→ "unknown"), never to a guess, because the one reading that must never happen is claiming
|
|
145
|
+
// the whole account while holding own-only rows.
|
|
146
|
+
const raw = body.scope;
|
|
147
|
+
const scope = raw === "account" || raw === "own" ? raw : undefined;
|
|
148
|
+
return { sessions: redactDeep(sessions, token, "session list"), scope };
|
|
138
149
|
}
|
|
139
150
|
/** GET /v1/sessions/:id — read one (spec §16.4). A TERMINAL session is still 200-with-its-state for
|
|
140
151
|
* the advertised retention window; 404 covers unknown AND foreign alike (deliberately
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions-http.js","sourceRoot":"","sources":["../../../src/commands/messaging/sessions-http.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sessions-http.js","sourceRoot":"","sources":["../../../src/commands/messaging/sessions-http.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.4",
|
|
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.
|
|
26
|
+
"@oh-hai/ma2h-core": "0.2.2"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/node": "^26.1.0",
|