@oh-hai/cli 0.2.3 → 0.3.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.
- package/CHANGELOG.md +98 -0
- package/README.md +59 -29
- package/dist/commands/ask.js +71 -10
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/bridge.d.ts +2 -0
- package/dist/commands/bridge.js +502 -0
- package/dist/commands/bridge.js.map +1 -0
- package/dist/commands/context.d.ts +22 -0
- package/dist/commands/doctor.js +12 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/fleet.d.ts +2 -0
- package/dist/commands/fleet.js +164 -0
- package/dist/commands/fleet.js.map +1 -0
- package/dist/commands/handlers.js +8 -0
- package/dist/commands/handlers.js.map +1 -1
- package/dist/commands/messages.d.ts +2 -0
- package/dist/commands/messages.js +131 -0
- package/dist/commands/messages.js.map +1 -0
- package/dist/commands/messaging/build.d.ts +10 -1
- package/dist/commands/messaging/build.js +22 -4
- package/dist/commands/messaging/build.js.map +1 -1
- package/dist/commands/messaging/capability.d.ts +42 -0
- package/dist/commands/messaging/capability.js +164 -0
- package/dist/commands/messaging/capability.js.map +1 -0
- package/dist/commands/messaging/http.d.ts +28 -1
- package/dist/commands/messaging/http.js +234 -13
- package/dist/commands/messaging/http.js.map +1 -1
- package/dist/commands/messaging/inbox-entries.d.ts +83 -0
- package/dist/commands/messaging/inbox-entries.js +362 -0
- package/dist/commands/messaging/inbox-entries.js.map +1 -0
- package/dist/commands/messaging/inbox-stream.d.ts +37 -0
- package/dist/commands/messaging/inbox-stream.js +224 -0
- package/dist/commands/messaging/inbox-stream.js.map +1 -0
- package/dist/commands/messaging/session-drain.d.ts +50 -0
- package/dist/commands/messaging/session-drain.js +163 -0
- package/dist/commands/messaging/session-drain.js.map +1 -0
- package/dist/commands/messaging/session-scope.d.ts +93 -0
- package/dist/commands/messaging/session-scope.js +0 -0
- package/dist/commands/messaging/session-scope.js.map +1 -0
- package/dist/commands/messaging/sessions-http.d.ts +20 -0
- package/dist/commands/messaging/sessions-http.js +153 -0
- package/dist/commands/messaging/sessions-http.js.map +1 -0
- package/dist/commands/messaging/shared.d.ts +19 -1
- package/dist/commands/messaging/shared.js +69 -2
- package/dist/commands/messaging/shared.js.map +1 -1
- package/dist/commands/messaging/validate.d.ts +33 -1
- package/dist/commands/messaging/validate.js +78 -0
- package/dist/commands/messaging/validate.js.map +1 -1
- package/dist/commands/messaging/wire.d.ts +180 -3
- package/dist/commands/notify.js +47 -5
- package/dist/commands/notify.js.map +1 -1
- package/dist/commands/registry.js +128 -3
- package/dist/commands/registry.js.map +1 -1
- package/dist/commands/self-test.d.ts +17 -0
- package/dist/commands/self-test.js +472 -0
- package/dist/commands/self-test.js.map +1 -0
- package/dist/commands/session.d.ts +2 -0
- package/dist/commands/session.js +158 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/setup.js +44 -0
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/task.js +61 -11
- package/dist/commands/task.js.map +1 -1
- package/dist/commands/teach.js +84 -4
- package/dist/commands/teach.js.map +1 -1
- package/dist/commands/whoami.js +14 -1
- package/dist/commands/whoami.js.map +1 -1
- package/dist/exit-codes.d.ts +37 -1
- package/dist/exit-codes.js +42 -1
- package/dist/exit-codes.js.map +1 -1
- package/dist/help.js +5 -1
- package/dist/help.js.map +1 -1
- package/dist/watch-lock.js +7 -0
- package/dist/watch-lock.js.map +1 -1
- package/package.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/commands/messaging/http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/commands/messaging/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { CliError } from "../../envelope.js";
|
|
2
|
+
import type { A2hResponse, InboundDirective, InboxEntryDelivery, InboxEntryKind, InterAgentMessage, ReceiptEntry } from "./wire.js";
|
|
3
|
+
/** The §9.7 default freshness window when the Hub advertises no `replay_window_seconds`. Matches the
|
|
4
|
+
* server's own default; a Hub that advertises a different one wins (see `EntryPolicy`). */
|
|
5
|
+
export declare const DEFAULT_REPLAY_WINDOW_SECONDS = 300;
|
|
6
|
+
/** The §13.4 amendment's authorization policy for an addressed `ask`/`task`.
|
|
7
|
+
*
|
|
8
|
+
* `any-in-account` is the explicitly-permissive option the spec blesses ("MAY be as permissive as
|
|
9
|
+
* 'any same-account principal', but it MUST be an explicit, auditable configuration surfaced by
|
|
10
|
+
* tooling — never an implicit default of the runtime"). An EMPTY policy therefore refuses every
|
|
11
|
+
* addressed ask/task rather than defaulting open: "no policy declared" is the one answer that
|
|
12
|
+
* cannot be an implicit default. */
|
|
13
|
+
export type AllowFromPolicy = readonly string[];
|
|
14
|
+
export declare const ALLOW_ANY_IN_ACCOUNT = "any-in-account";
|
|
15
|
+
export interface EntryPolicy {
|
|
16
|
+
/** This bridge's own `agent.id` — the principal half of the §13.4 step-2 addressee check. */
|
|
17
|
+
agentId: string;
|
|
18
|
+
/** This bridge's own CURRENT session — the v0.5 amendment's session qualifier. */
|
|
19
|
+
sessionId: string;
|
|
20
|
+
/** Declared `--allow-from` entries. Empty = no policy declared = every addressed ask/task refused. */
|
|
21
|
+
allowFrom: AllowFromPolicy;
|
|
22
|
+
/** §9.7 replay window in seconds (from the Hub capability when advertised). */
|
|
23
|
+
replayWindowSeconds: number;
|
|
24
|
+
}
|
|
25
|
+
/** The verdict for one entry. `accept` is the ONLY outcome that may be printed. */
|
|
26
|
+
export type EntryVerdict = {
|
|
27
|
+
kind: "accept";
|
|
28
|
+
entryKind: InboxEntryKind;
|
|
29
|
+
ackKey: string;
|
|
30
|
+
}
|
|
31
|
+
/** Never emitted, never acked — left to redelivery. `reason` is CLI-authored (safe to print). */
|
|
32
|
+
| {
|
|
33
|
+
kind: "refuse";
|
|
34
|
+
entryKind: InboxEntryKind | "unknown";
|
|
35
|
+
reason: string;
|
|
36
|
+
};
|
|
37
|
+
/** A §13.4 verification failure. Thrown (not returned) because it is FATAL: the loop must exit with
|
|
38
|
+
* `signature_failure` rather than continue past an entry it could not authenticate. */
|
|
39
|
+
export declare function signatureFailure(reason: string): CliError;
|
|
40
|
+
/**
|
|
41
|
+
* The §9.7 replay cache: `jti`s already seen in this process.
|
|
42
|
+
*
|
|
43
|
+
* In-memory / per-process, exactly like `inbox watch`'s dedup set and for the same documented
|
|
44
|
+
* reason: cross-restart at-most-once needs an idempotent side effect or persisted state, which is
|
|
45
|
+
* the RUNTIME's concern, not the bridge's. What the bridge owns is the in-flight guarantee — no
|
|
46
|
+
* duplicate `jti` inside one supervised run.
|
|
47
|
+
*/
|
|
48
|
+
export declare class ReplayGuard {
|
|
49
|
+
#private;
|
|
50
|
+
/** True the FIRST time this `jti` is offered; false on every repeat. */
|
|
51
|
+
admitJti(jti: string): boolean;
|
|
52
|
+
/** §13.4 step 3: RESERVE the ack key before the work begins, so an overlapping delivery (a stream
|
|
53
|
+
* push racing a drain claim, or a redelivery after the visibility timeout) is deduped in flight
|
|
54
|
+
* rather than only after the fact. Returns false when this key is already reserved. */
|
|
55
|
+
reserve(ackKey: string): boolean;
|
|
56
|
+
/** Drop a reservation whose entry was never emitted (an emit failure), so a redelivery is not
|
|
57
|
+
* permanently suppressed by a reservation that bought nothing. */
|
|
58
|
+
release(ackKey: string): void;
|
|
59
|
+
}
|
|
60
|
+
/** The §8.7.1 ack key per kind (mirrors the reference oracle's `ackKeyOf`): the id a
|
|
61
|
+
* `POST /v1/inbox/ack` consumes. A `response` entry's key is its `resolution_id` — the id of the
|
|
62
|
+
* Response being acknowledged — NOT the message id. */
|
|
63
|
+
export declare function ackKeyOf(entry: InboxEntryDelivery): string;
|
|
64
|
+
export declare function entryKindOf(entry: InboxEntryDelivery): InboxEntryKind;
|
|
65
|
+
/**
|
|
66
|
+
* Structural guard for one §8.7.1 delivery, run at the DRAIN/STREAM boundary before anything else
|
|
67
|
+
* touches it. Fails the whole batch (a `server` error) rather than skipping the bad element: a
|
|
68
|
+
* malformed body is a Hub/proxy contract violation, and silently dropping an element would strand
|
|
69
|
+
* real mail while reporting success.
|
|
70
|
+
*/
|
|
71
|
+
export declare function isInboxEntryDelivery(value: unknown): value is InboxEntryDelivery;
|
|
72
|
+
/**
|
|
73
|
+
* Run the §13.4 duties for one entry, in order, and return the verdict.
|
|
74
|
+
*
|
|
75
|
+
* Throws (fatal, exit 12) on the verification classes; returns `refuse` for the addressee/policy
|
|
76
|
+
* classes. On `accept` the ack key has ALREADY been reserved in `guard` — the caller must emit and
|
|
77
|
+
* ack it, or `release` it if the emit fails.
|
|
78
|
+
*/
|
|
79
|
+
export declare function verifyEntry(entry: InboxEntryDelivery, policy: EntryPolicy, guard: ReplayGuard, nowMs: number): EntryVerdict;
|
|
80
|
+
/** True when a refusal reason describes a BENIGN redelivery — one the Hub must stop redelivering
|
|
81
|
+
* (so it is acked) even though nothing is emitted. Every other refusal leaves the entry unacked. */
|
|
82
|
+
export declare function isBenignRedelivery(verdict: EntryVerdict): boolean;
|
|
83
|
+
export type { A2hResponse, InboundDirective, InboxEntryDelivery, InterAgentMessage, ReceiptEntry };
|
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
// The §13.4 consuming-agent duties, applied to one drained/streamed §8.7.1 entry BEFORE the bridge
|
|
2
|
+
// prints a byte of it (issue #658).
|
|
3
|
+
//
|
|
4
|
+
// WHY THIS IS A SEPARATE MODULE FROM THE LOOP. §13.4 fixes an ORDER — verify → confirm addressee →
|
|
5
|
+
// dedup-reserve → act → ack — and the order is the whole safety property: acking before durable
|
|
6
|
+
// handoff silently drops mail on a crash, and emitting before the addressee check hands an agent a
|
|
7
|
+
// validly-signed entry meant for somebody else. Keeping the checks in one pure function that returns
|
|
8
|
+
// a verdict (rather than scattering them through the reconnect loop) is what makes the order
|
|
9
|
+
// auditable and testable without a Hub.
|
|
10
|
+
//
|
|
11
|
+
// WHAT THE CLI CAN AND CANNOT VERIFY — stated plainly, because the gap is a real one.
|
|
12
|
+
//
|
|
13
|
+
// The §9.7/§9.8 `v1=` MAC is keyed with the HUB's signing key. An agent bearer does not hold it, so
|
|
14
|
+
// no CLI process can recompute it; verifying the MAC is the runtime's job, which is why the bridge
|
|
15
|
+
// forwards `{ <kind>, signature }` BYTE-VERBATIM (mutating the entry — even to prettify it — would
|
|
16
|
+
// break the very signature a defense-in-depth runtime verifies). This mirrors `inbox watch`'s
|
|
17
|
+
// long-standing posture: the authenticated pull channel over TLS is the trust boundary.
|
|
18
|
+
//
|
|
19
|
+
// Everything else §13.4 asks for IS checkable here, and is checked:
|
|
20
|
+
// * the signature header is present and well-formed (`t=`,`jti=`,`v1=`);
|
|
21
|
+
// * `t` is inside the replay window (§9.7) — a stale header is refused, not printed;
|
|
22
|
+
// * `jti` has not been seen before in this process (the §9.7 replay cache);
|
|
23
|
+
// * the entry's SHAPE matches its kind, and carries no cross-type field — §13.4 step 1 is explicit
|
|
24
|
+
// that `payload_sha256` binds only the content fields, so an on-path injector (or a buggy Hub)
|
|
25
|
+
// can append a forbidden `request`/`action`/`state` WITHOUT breaking the signature;
|
|
26
|
+
// * `to` names this agent, and — the v0.5 amendment — when session-qualified, THIS session.
|
|
27
|
+
//
|
|
28
|
+
// FATAL vs. REFUSAL, matching reference/src/agent.ts `runBridgeLoop`. A signature/replay/shape
|
|
29
|
+
// failure is FATAL (exit 12): an entry in the bridge's own mailbox that does not verify means
|
|
30
|
+
// tampering or a broken Hub, never something to skip past. An addressee or policy failure is a
|
|
31
|
+
// REFUSAL: the entry is never emitted and never acked, so it stays queued and the Hub redelivers —
|
|
32
|
+
// which is the honest outcome for mail this bridge is not entitled to consume.
|
|
33
|
+
import { CliError } from "../../envelope.js";
|
|
34
|
+
/** The §9.7 default freshness window when the Hub advertises no `replay_window_seconds`. Matches the
|
|
35
|
+
* server's own default; a Hub that advertises a different one wins (see `EntryPolicy`). */
|
|
36
|
+
export const DEFAULT_REPLAY_WINDOW_SECONDS = 300;
|
|
37
|
+
export const ALLOW_ANY_IN_ACCOUNT = "any-in-account";
|
|
38
|
+
/** A §13.4 verification failure. Thrown (not returned) because it is FATAL: the loop must exit with
|
|
39
|
+
* `signature_failure` rather than continue past an entry it could not authenticate. */
|
|
40
|
+
export function signatureFailure(reason) {
|
|
41
|
+
return new CliError("signature_failure", `refusing to hand on an inbox entry that failed §13.4 verification: ${reason}. An entry in this agent's own mailbox ` +
|
|
42
|
+
"that does not verify means tampering or a broken Hub — it is never something to skip past. Nothing was acked, so " +
|
|
43
|
+
"the Hub still holds the mail; check the Hub before restarting the bridge.");
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The §9.7 replay cache: `jti`s already seen in this process.
|
|
47
|
+
*
|
|
48
|
+
* In-memory / per-process, exactly like `inbox watch`'s dedup set and for the same documented
|
|
49
|
+
* reason: cross-restart at-most-once needs an idempotent side effect or persisted state, which is
|
|
50
|
+
* the RUNTIME's concern, not the bridge's. What the bridge owns is the in-flight guarantee — no
|
|
51
|
+
* duplicate `jti` inside one supervised run.
|
|
52
|
+
*/
|
|
53
|
+
export class ReplayGuard {
|
|
54
|
+
#seenJti = new Set();
|
|
55
|
+
#reserved = new Set();
|
|
56
|
+
/** True the FIRST time this `jti` is offered; false on every repeat. */
|
|
57
|
+
admitJti(jti) {
|
|
58
|
+
if (this.#seenJti.has(jti))
|
|
59
|
+
return false;
|
|
60
|
+
this.#seenJti.add(jti);
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
/** §13.4 step 3: RESERVE the ack key before the work begins, so an overlapping delivery (a stream
|
|
64
|
+
* push racing a drain claim, or a redelivery after the visibility timeout) is deduped in flight
|
|
65
|
+
* rather than only after the fact. Returns false when this key is already reserved. */
|
|
66
|
+
reserve(ackKey) {
|
|
67
|
+
if (this.#reserved.has(ackKey))
|
|
68
|
+
return false;
|
|
69
|
+
this.#reserved.add(ackKey);
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
/** Drop a reservation whose entry was never emitted (an emit failure), so a redelivery is not
|
|
73
|
+
* permanently suppressed by a reservation that bought nothing. */
|
|
74
|
+
release(ackKey) {
|
|
75
|
+
this.#reserved.delete(ackKey);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/** The §8.7.1 ack key per kind (mirrors the reference oracle's `ackKeyOf`): the id a
|
|
79
|
+
* `POST /v1/inbox/ack` consumes. A `response` entry's key is its `resolution_id` — the id of the
|
|
80
|
+
* Response being acknowledged — NOT the message id. */
|
|
81
|
+
export function ackKeyOf(entry) {
|
|
82
|
+
if ("directive" in entry)
|
|
83
|
+
return entry.directive.id;
|
|
84
|
+
if ("message" in entry)
|
|
85
|
+
return entry.message.id;
|
|
86
|
+
if ("response" in entry)
|
|
87
|
+
return entry.response.resolution_id;
|
|
88
|
+
return entry.receipt.id;
|
|
89
|
+
}
|
|
90
|
+
export function entryKindOf(entry) {
|
|
91
|
+
if ("directive" in entry)
|
|
92
|
+
return "directive";
|
|
93
|
+
if ("message" in entry)
|
|
94
|
+
return "message";
|
|
95
|
+
if ("response" in entry)
|
|
96
|
+
return "response";
|
|
97
|
+
return "receipt";
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Structural guard for one §8.7.1 delivery, run at the DRAIN/STREAM boundary before anything else
|
|
101
|
+
* touches it. Fails the whole batch (a `server` error) rather than skipping the bad element: a
|
|
102
|
+
* malformed body is a Hub/proxy contract violation, and silently dropping an element would strand
|
|
103
|
+
* real mail while reporting success.
|
|
104
|
+
*/
|
|
105
|
+
export function isInboxEntryDelivery(value) {
|
|
106
|
+
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
107
|
+
return false;
|
|
108
|
+
const v = value;
|
|
109
|
+
if (typeof v.signature !== "string")
|
|
110
|
+
return false;
|
|
111
|
+
// Exactly ONE kind key. A payload carrying two would be ambiguous about which ack key applies —
|
|
112
|
+
// and about which §9.8 signed context the signature is over.
|
|
113
|
+
const kinds = ["directive", "message", "response", "receipt"].filter((k) => v[k] !== undefined);
|
|
114
|
+
if (kinds.length !== 1)
|
|
115
|
+
return false;
|
|
116
|
+
const payload = v[kinds[0]];
|
|
117
|
+
return payload !== null && typeof payload === "object" && !Array.isArray(payload);
|
|
118
|
+
}
|
|
119
|
+
/** Parse + range-check the detached signature header (§9.7). Returns undefined when it is not
|
|
120
|
+
* well-formed — the caller turns that into the FATAL class, because an entry whose header cannot
|
|
121
|
+
* even be parsed cannot have been authenticated by anyone. */
|
|
122
|
+
function parseSignatureHeader(raw) {
|
|
123
|
+
const parts = new Map();
|
|
124
|
+
for (const segment of raw.split(",")) {
|
|
125
|
+
const eq = segment.indexOf("=");
|
|
126
|
+
if (eq <= 0)
|
|
127
|
+
return undefined;
|
|
128
|
+
const key = segment.slice(0, eq).trim();
|
|
129
|
+
const value = segment.slice(eq + 1).trim();
|
|
130
|
+
if (key === "" || value === "" || parts.has(key))
|
|
131
|
+
return undefined;
|
|
132
|
+
parts.set(key, value);
|
|
133
|
+
}
|
|
134
|
+
const t = parts.get("t");
|
|
135
|
+
const jti = parts.get("jti");
|
|
136
|
+
const v1 = parts.get("v1");
|
|
137
|
+
if (t === undefined || jti === undefined || v1 === undefined)
|
|
138
|
+
return undefined;
|
|
139
|
+
if (!/^\d+$/.test(t))
|
|
140
|
+
return undefined;
|
|
141
|
+
// `v1` is the MAC this process cannot recompute (see the file header) — but a header whose MAC is
|
|
142
|
+
// empty or not hex was never produced by a conformant Hub, and admitting it would let a stripped
|
|
143
|
+
// signature look like a signed one to a runtime downstream.
|
|
144
|
+
if (!/^[0-9a-fA-F]+$/.test(v1))
|
|
145
|
+
return undefined;
|
|
146
|
+
return { t: Number(t), jti };
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Run the §13.4 duties for one entry, in order, and return the verdict.
|
|
150
|
+
*
|
|
151
|
+
* Throws (fatal, exit 12) on the verification classes; returns `refuse` for the addressee/policy
|
|
152
|
+
* classes. On `accept` the ack key has ALREADY been reserved in `guard` — the caller must emit and
|
|
153
|
+
* ack it, or `release` it if the emit fails.
|
|
154
|
+
*/
|
|
155
|
+
export function verifyEntry(entry, policy, guard, nowMs) {
|
|
156
|
+
const kind = entryKindOf(entry);
|
|
157
|
+
// 1a. The detached signature header — presence, shape, freshness, replay.
|
|
158
|
+
const header = parseSignatureHeader(entry.signature);
|
|
159
|
+
if (header === undefined) {
|
|
160
|
+
throw signatureFailure(`the ${kind} entry's MA2H-Signature is missing or malformed`);
|
|
161
|
+
}
|
|
162
|
+
const skewSeconds = Math.abs(Math.floor(nowMs / 1000) - header.t);
|
|
163
|
+
if (skewSeconds > policy.replayWindowSeconds) {
|
|
164
|
+
throw signatureFailure(`the ${kind} entry's signature timestamp is ${skewSeconds}s from now, outside the ${policy.replayWindowSeconds}s replay window (§9.7)`);
|
|
165
|
+
}
|
|
166
|
+
if (!guard.admitJti(header.jti)) {
|
|
167
|
+
throw signatureFailure(`the ${kind} entry replays a jti already delivered in this run (§9.7)`);
|
|
168
|
+
}
|
|
169
|
+
// 1b. Shape validation. §13.4 step 1 makes this part of VERIFICATION, not a nicety: the payload
|
|
170
|
+
// digest binds only the content fields, so unsigned cross-type fields can be appended without
|
|
171
|
+
// breaking the MAC — which is exactly why a shape failure is fatal rather than skippable.
|
|
172
|
+
const shapeError = validateShape(entry);
|
|
173
|
+
if (shapeError !== undefined)
|
|
174
|
+
throw signatureFailure(shapeError);
|
|
175
|
+
// 2. Confirm the addressee — principal AND, for the v0.5 kinds, the session qualifier.
|
|
176
|
+
const addressee = confirmAddressee(entry, policy);
|
|
177
|
+
if (addressee !== undefined)
|
|
178
|
+
return { kind: "refuse", entryKind: kind, reason: addressee };
|
|
179
|
+
// 2b. The v0.5 §13.4 amendment: an EXPLICIT, deployment-declared authorization policy before
|
|
180
|
+
// acting on an addressed ask/task. Never an implicit default (see AllowFromPolicy).
|
|
181
|
+
const authz = checkDeclaredPolicy(entry, policy);
|
|
182
|
+
if (authz !== undefined)
|
|
183
|
+
return { kind: "refuse", entryKind: kind, reason: authz };
|
|
184
|
+
// 3. Reserve the ack key BEFORE the work begins, so an overlapping delivery dedups in flight.
|
|
185
|
+
const ackKey = ackKeyOf(entry);
|
|
186
|
+
if (!guard.reserve(ackKey)) {
|
|
187
|
+
// A benign redelivery of work this run already did durably. The reference acks these rather than
|
|
188
|
+
// refusing: the Hub must stop redelivering something already handled, and re-emitting it would
|
|
189
|
+
// hand the runtime a duplicate. So: ack, do not emit.
|
|
190
|
+
return { kind: "refuse", entryKind: kind, reason: `already handled in this run (${ackKey}) — acking the redelivery without re-emitting` };
|
|
191
|
+
}
|
|
192
|
+
return { kind: "accept", entryKind: kind, ackKey };
|
|
193
|
+
}
|
|
194
|
+
/** True when a refusal reason describes a BENIGN redelivery — one the Hub must stop redelivering
|
|
195
|
+
* (so it is acked) even though nothing is emitted. Every other refusal leaves the entry unacked. */
|
|
196
|
+
export function isBenignRedelivery(verdict) {
|
|
197
|
+
return verdict.kind === "refuse" && verdict.reason.startsWith("already handled in this run");
|
|
198
|
+
}
|
|
199
|
+
// ---- shape validation, per kind ----
|
|
200
|
+
function isNonEmptyString(value) {
|
|
201
|
+
return typeof value === "string" && value !== "";
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Reject an entry whose payload carries a field its kind must not have.
|
|
205
|
+
*
|
|
206
|
+
* The list is not arbitrary: §13.4 step 1 names `request` / `action` / `state` as the cross-type
|
|
207
|
+
* injection an unsigned append can perform on a directive, and §8.7.1 says the Hub STRIPS
|
|
208
|
+
* submitter-side machinery (`state`, `client_ref`, `request.callback` / `action.callback`) before
|
|
209
|
+
* delivering a `message`. Anything from those lists that survives to the client is, by construction,
|
|
210
|
+
* not something a conformant Hub sent — so acting on it would be acting on unsigned data.
|
|
211
|
+
*/
|
|
212
|
+
function forbidden(payload, fields, kind) {
|
|
213
|
+
for (const field of fields) {
|
|
214
|
+
if (payload[field] !== undefined) {
|
|
215
|
+
return `the ${kind} entry carries a forbidden \`${field}\` field, which a conformant Hub strips and the signature does not bind (§13.4 step 1)`;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return undefined;
|
|
219
|
+
}
|
|
220
|
+
function validateShape(entry) {
|
|
221
|
+
if ("directive" in entry) {
|
|
222
|
+
const d = entry.directive;
|
|
223
|
+
if (d.type !== "directive")
|
|
224
|
+
return "the directive entry does not declare type=directive";
|
|
225
|
+
if (!isNonEmptyString(d.id) || !isNonEmptyString(d.from) || !isNonEmptyString(d.to) || !isNonEmptyString(d.title)) {
|
|
226
|
+
return "the directive entry is missing one of the required id/from/to/title strings (inbound-message.schema.json)";
|
|
227
|
+
}
|
|
228
|
+
return forbidden(d, ["request", "action", "state"], "directive");
|
|
229
|
+
}
|
|
230
|
+
if ("message" in entry) {
|
|
231
|
+
const m = entry.message;
|
|
232
|
+
if (m.type !== "notify" && m.type !== "ask" && m.type !== "task") {
|
|
233
|
+
return "the message entry declares no valid type (notify | ask | task)";
|
|
234
|
+
}
|
|
235
|
+
if (!isNonEmptyString(m.id) || !isNonEmptyString(m.from) || !isNonEmptyString(m.to) || !isNonEmptyString(m.title)) {
|
|
236
|
+
return "the message entry is missing one of the required id/from/to/title strings (§8.7.1)";
|
|
237
|
+
}
|
|
238
|
+
// A notify has no request/action track at all, so either one on a notify is cross-type data.
|
|
239
|
+
if (m.type === "notify" && (m.request !== undefined || m.action !== undefined)) {
|
|
240
|
+
return "the message entry is a notify carrying a request/action, which is cross-type data the signature does not bind (§13.4 step 1)";
|
|
241
|
+
}
|
|
242
|
+
return forbidden(m, ["state", "client_ref"], "message");
|
|
243
|
+
}
|
|
244
|
+
if ("response" in entry) {
|
|
245
|
+
const r = entry.response;
|
|
246
|
+
if (!isNonEmptyString(r.in_reply_to) || !isNonEmptyString(r.resolution_id) || !isNonEmptyString(r.resolution)) {
|
|
247
|
+
return "the response entry is missing one of the required in_reply_to/resolution_id/resolution strings (§6)";
|
|
248
|
+
}
|
|
249
|
+
return undefined;
|
|
250
|
+
}
|
|
251
|
+
const rc = entry.receipt;
|
|
252
|
+
if (rc.type !== "receipt")
|
|
253
|
+
return "the receipt entry does not declare type=receipt";
|
|
254
|
+
if (!isNonEmptyString(rc.id) || !isNonEmptyString(rc.in_reply_to) || !isNonEmptyString(rc.event) || !isNonEmptyString(rc.to)) {
|
|
255
|
+
return "the receipt entry is missing one of the required id/in_reply_to/event/to strings (§8.7.1)";
|
|
256
|
+
}
|
|
257
|
+
return undefined;
|
|
258
|
+
}
|
|
259
|
+
// ---- the §13.4 step-2 addressee check ----
|
|
260
|
+
/** Split a §4 address into its principal and optional session qualifier. The FIRST `#` is the
|
|
261
|
+
* separator, matching the wire grammar exactly (a `#`-bearing agent id is inexpressible). */
|
|
262
|
+
function splitAddress(raw) {
|
|
263
|
+
if (!raw.startsWith("agent:"))
|
|
264
|
+
return undefined;
|
|
265
|
+
const rest = raw.slice("agent:".length);
|
|
266
|
+
if (rest === "")
|
|
267
|
+
return undefined;
|
|
268
|
+
const hash = rest.indexOf("#");
|
|
269
|
+
if (hash < 0)
|
|
270
|
+
return { agentId: rest };
|
|
271
|
+
const agentId = rest.slice(0, hash);
|
|
272
|
+
const session = rest.slice(hash + 1);
|
|
273
|
+
if (agentId === "" || session === "")
|
|
274
|
+
return undefined;
|
|
275
|
+
return { agentId, session };
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* §13.4 step 2 plus the v0.5 amendment. Returns a refusal reason, or undefined when `to` is ours.
|
|
279
|
+
*
|
|
280
|
+
* The signature BINDS `to`, so a valid signature proves the Hub intended a specific addressee — but
|
|
281
|
+
* only the recipient checking `to` against its own identity stops an entry validly signed for
|
|
282
|
+
* `agent:X` being acted on by `agent:Y`. The session half matters just as much and is easy to miss:
|
|
283
|
+
* a validly-signed entry for a PRIOR session of the same principal must be refused, not acted on,
|
|
284
|
+
* because the sender addressed a run that no longer exists and its answer would route to the wrong
|
|
285
|
+
* Caller mailbox.
|
|
286
|
+
*
|
|
287
|
+
* A `response` or `receipt` entry is a solicited outcome rather than command surface, but it is
|
|
288
|
+
* still checked: those two carry the strongest session binding of all (§9.8 reconstructs `to` from
|
|
289
|
+
* the DRAIN identity), so a mismatch here means the Hub handed us somebody else's answer.
|
|
290
|
+
*/
|
|
291
|
+
function confirmAddressee(entry, policy) {
|
|
292
|
+
const to = "directive" in entry
|
|
293
|
+
? entry.directive.to
|
|
294
|
+
: "message" in entry
|
|
295
|
+
? entry.message.to
|
|
296
|
+
: "receipt" in entry
|
|
297
|
+
? entry.receipt.to
|
|
298
|
+
: undefined;
|
|
299
|
+
// A `response` entry carries no `to` of its own (§6) — its destination binding lives in the §9.8
|
|
300
|
+
// signed context the Hub reconstructs from the drain identity, which this process cannot recompute
|
|
301
|
+
// (see the file header). Nothing to check locally; the drain itself is credential- and
|
|
302
|
+
// session-scoped, which is the gate that actually delivered it here.
|
|
303
|
+
if (to === undefined)
|
|
304
|
+
return undefined;
|
|
305
|
+
const parsed = splitAddress(to);
|
|
306
|
+
if (parsed === undefined)
|
|
307
|
+
return `addressed to ${JSON.stringify(to)}, which is not a §4 agent address`;
|
|
308
|
+
if (parsed.agentId !== policy.agentId) {
|
|
309
|
+
return `addressed to ${JSON.stringify(to)}, which is not this agent (${policy.agentId})`;
|
|
310
|
+
}
|
|
311
|
+
if (parsed.session !== undefined && parsed.session !== policy.sessionId) {
|
|
312
|
+
return `addressed to session ${parsed.session}, which is not this bridge's current session (${policy.sessionId}) — refusing an entry meant for a prior run (§13.4 v0.5 amendment)`;
|
|
313
|
+
}
|
|
314
|
+
return undefined;
|
|
315
|
+
}
|
|
316
|
+
// ---- the §13.4 declared-authorization-policy amendment ----
|
|
317
|
+
/**
|
|
318
|
+
* "Before ACTING on an addressed `ask`/`task`, a conformant consuming agent MUST evaluate an
|
|
319
|
+
* explicit, deployment-declared authorization policy for which `from` principals may ask/task it."
|
|
320
|
+
*
|
|
321
|
+
* Handing an entry to the agent runtime IS the act, from the bridge's side — once it is on stdout
|
|
322
|
+
* the bridge cannot un-hand it. So the gate is here, before the emit, and it is fail-closed: an
|
|
323
|
+
* empty `--allow-from` refuses every addressed ask/task. That is not a conservative default, it is
|
|
324
|
+
* the ONLY reading of "never an implicit default of the runtime" — a permissive default would be
|
|
325
|
+
* precisely the implicit policy the MUST forbids.
|
|
326
|
+
*
|
|
327
|
+
* Deliberately scoped to ask/task `message` entries. A `notify` asks nothing of the recipient;
|
|
328
|
+
* `directive`s come from the account's own human (the §13.5 trust model the amendment strengthens
|
|
329
|
+
* rather than replaces); `response`/`receipt` are solicited outcomes of this agent's own sends.
|
|
330
|
+
*/
|
|
331
|
+
function checkDeclaredPolicy(entry, policy) {
|
|
332
|
+
if (!("message" in entry))
|
|
333
|
+
return undefined;
|
|
334
|
+
const message = entry.message;
|
|
335
|
+
if (message.type !== "ask" && message.type !== "task")
|
|
336
|
+
return undefined;
|
|
337
|
+
if (policy.allowFrom.length === 0) {
|
|
338
|
+
return (`refusing an addressed ${message.type} from ${message.from}: no authorization policy is declared. §13.4 requires an ` +
|
|
339
|
+
`EXPLICIT, deployment-declared policy for which principals may ask/task this agent — pass ` +
|
|
340
|
+
`--allow-from <agent:id[#sess_…]> (repeatable), or --allow-from ${ALLOW_ANY_IN_ACCOUNT} to accept any same-account ` +
|
|
341
|
+
"principal. The entry was left unacked, so the Hub still holds it.");
|
|
342
|
+
}
|
|
343
|
+
if (policy.allowFrom.includes(ALLOW_ANY_IN_ACCOUNT))
|
|
344
|
+
return undefined;
|
|
345
|
+
const from = splitAddress(message.from);
|
|
346
|
+
if (from === undefined)
|
|
347
|
+
return `refusing an addressed ${message.type}: \`from\` (${JSON.stringify(message.from)}) is not a §4 agent address`;
|
|
348
|
+
for (const allowed of policy.allowFrom) {
|
|
349
|
+
const a = splitAddress(allowed);
|
|
350
|
+
if (a === undefined)
|
|
351
|
+
continue; // rejected at flag-parse time; belt and braces
|
|
352
|
+
if (a.agentId !== from.agentId)
|
|
353
|
+
continue;
|
|
354
|
+
// A policy entry with no session qualifier admits every session of that principal; one WITH a
|
|
355
|
+
// qualifier admits only that exact session.
|
|
356
|
+
if (a.session === undefined || a.session === from.session)
|
|
357
|
+
return undefined;
|
|
358
|
+
}
|
|
359
|
+
return (`refusing an addressed ${message.type} from ${message.from}: it is not in the declared --allow-from policy ` +
|
|
360
|
+
`(${policy.allowFrom.join(", ")}). The entry was left unacked, so the Hub still holds it.`);
|
|
361
|
+
}
|
|
362
|
+
//# sourceMappingURL=inbox-entries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inbox-entries.js","sourceRoot":"","sources":["../../../src/commands/messaging/inbox-entries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { CommandContext } from "../context.js";
|
|
2
|
+
import type { HubCapability, InboxEntryDelivery } from "./wire.js";
|
|
3
|
+
/** What the stream hands its consumer. `reconnect` is always the LAST event of a hold. */
|
|
4
|
+
export type InboxStreamEvent = {
|
|
5
|
+
type: "open";
|
|
6
|
+
holdMs: number;
|
|
7
|
+
streamMaxHoldSeconds?: number;
|
|
8
|
+
} | {
|
|
9
|
+
type: "entries";
|
|
10
|
+
entries: InboxEntryDelivery[];
|
|
11
|
+
}
|
|
12
|
+
/** The Hub bounded this hold. NOT an error — reconnect immediately; the connect is the renewal. */
|
|
13
|
+
| {
|
|
14
|
+
type: "reconnect";
|
|
15
|
+
reason: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Resolve the stream URL for this Hub, or `undefined` when it offers no stream.
|
|
19
|
+
*
|
|
20
|
+
* The advertised `inbound.stream_url` is honoured but PINNED TO THE HUB'S ORIGIN. That check is not
|
|
21
|
+
* pedantry: the request carries the agent bearer, and an advertised URL is a value the Hub controls,
|
|
22
|
+
* so an off-origin one would be a capability document redirecting a credential to a third party. A
|
|
23
|
+
* conformant Hub advertises its own absolute URL, so the check costs nothing and closes the hole.
|
|
24
|
+
*/
|
|
25
|
+
export declare function streamUrlFor(ctx: CommandContext, capability: HubCapability | undefined): string | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Open one HOLD and yield its events, ending when the Hub closes it.
|
|
28
|
+
*
|
|
29
|
+
* Ends NORMALLY (no throw) on a `reconnect` event or a clean EOF — a bounded hold's whole job is to
|
|
30
|
+
* end. Throws a `CliError` on a genuine fault: `auth` / `session_terminal` from the pre-flight
|
|
31
|
+
* status (see `sessionStatusToCliError`), or `network` / `timeout` / `server` from the transport,
|
|
32
|
+
* which are the codes the bridge treats as retryable.
|
|
33
|
+
*
|
|
34
|
+
* The caller drives the reconnect. Deliberately: only the caller knows whether the close was the
|
|
35
|
+
* bound (reconnect at once) or a fault (back off), and that decision is the reliability contract.
|
|
36
|
+
*/
|
|
37
|
+
export declare function readInboxStream(ctx: CommandContext, token: string, session: string, streamUrl: string): AsyncGenerator<InboxStreamEvent, void, undefined>;
|