@spinabot/brigade 1.14.0 → 1.15.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.
@@ -23,6 +23,20 @@ export declare const ErrorCodes: {
23
23
  readonly APPROVAL_NOT_FOUND: "APPROVAL_NOT_FOUND";
24
24
  /** Subsystem is loading / draining; caller may retry shortly. */
25
25
  readonly UNAVAILABLE: "UNAVAILABLE";
26
+ /**
27
+ * The remaining codes the gateway actually emits today (previously
28
+ * undocumented string literals — catalogued here so a web/mobile client has
29
+ * the COMPLETE, stable set to branch on). Values match the on-the-wire
30
+ * strings the server already sends.
31
+ */
32
+ /** Per-connection rate limiter tripped; honour `retryAfterMs`. */
33
+ readonly RATE_LIMITED: "rate-limited";
34
+ /** Unexpected server-side failure handling the request. */
35
+ readonly INTERNAL: "internal";
36
+ /** Caller lacks permission for the target (owner/session gate). */
37
+ readonly FORBIDDEN: "forbidden";
38
+ /** Caller's operator scope is insufficient for this method. */
39
+ readonly SCOPE_INSUFFICIENT: "scope-insufficient";
26
40
  };
27
41
  export type ErrorCode = (typeof ErrorCodes)[keyof typeof ErrorCodes];
28
42
  export interface ErrorShapeOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/protocol/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,eAAO,MAAM,UAAU;IACtB,oEAAoE;;IAEpE,kDAAkD;;IAElD,sEAAsE;;IAEtE,uCAAuC;;IAEvC,2EAA2E;;IAE3E,iEAAiE;;CAExD,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAErE,MAAM,WAAW,iBAAiB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,oFAAoF;AACpF,wBAAgB,UAAU,CACzB,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,iBAAsB,GAC1B,kBAAkB,CAQpB"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/protocol/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,eAAO,MAAM,UAAU;IACtB,oEAAoE;;IAEpE,kDAAkD;;IAElD,sEAAsE;;IAEtE,uCAAuC;;IAEvC,2EAA2E;;IAE3E,iEAAiE;;IAEjE;;;;;OAKG;IACH,kEAAkE;;IAElE,2DAA2D;;IAE3D,mEAAmE;;IAEnE,+DAA+D;;CAEtD,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAErE,MAAM,WAAW,iBAAiB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,oFAAoF;AACpF,wBAAgB,UAAU,CACzB,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,iBAAsB,GAC1B,kBAAkB,CAQpB"}
@@ -22,6 +22,20 @@ export const ErrorCodes = {
22
22
  APPROVAL_NOT_FOUND: "APPROVAL_NOT_FOUND",
23
23
  /** Subsystem is loading / draining; caller may retry shortly. */
24
24
  UNAVAILABLE: "UNAVAILABLE",
25
+ /**
26
+ * The remaining codes the gateway actually emits today (previously
27
+ * undocumented string literals — catalogued here so a web/mobile client has
28
+ * the COMPLETE, stable set to branch on). Values match the on-the-wire
29
+ * strings the server already sends.
30
+ */
31
+ /** Per-connection rate limiter tripped; honour `retryAfterMs`. */
32
+ RATE_LIMITED: "rate-limited",
33
+ /** Unexpected server-side failure handling the request. */
34
+ INTERNAL: "internal",
35
+ /** Caller lacks permission for the target (owner/session gate). */
36
+ FORBIDDEN: "forbidden",
37
+ /** Caller's operator scope is insufficient for this method. */
38
+ SCOPE_INSUFFICIENT: "scope-insufficient",
25
39
  };
26
40
  /** Helper to construct a typed `ProtocolErrorShape` from one of the known codes. */
27
41
  export function errorShape(code, message, opts = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/protocol/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,oEAAoE;IACpE,UAAU,EAAE,YAAY;IACxB,kDAAkD;IAClD,UAAU,EAAE,YAAY;IACxB,sEAAsE;IACtE,aAAa,EAAE,eAAe;IAC9B,uCAAuC;IACvC,eAAe,EAAE,iBAAiB;IAClC,2EAA2E;IAC3E,kBAAkB,EAAE,oBAAoB;IACxC,iEAAiE;IACjE,WAAW,EAAE,aAAa;CACjB,CAAC;AAUX,oFAAoF;AACpF,MAAM,UAAU,UAAU,CACzB,IAAe,EACf,OAAe,EACf,OAA0B,EAAE;IAE5B,OAAO;QACN,IAAI;QACJ,OAAO;QACP,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/protocol/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,oEAAoE;IACpE,UAAU,EAAE,YAAY;IACxB,kDAAkD;IAClD,UAAU,EAAE,YAAY;IACxB,sEAAsE;IACtE,aAAa,EAAE,eAAe;IAC9B,uCAAuC;IACvC,eAAe,EAAE,iBAAiB;IAClC,2EAA2E;IAC3E,kBAAkB,EAAE,oBAAoB;IACxC,iEAAiE;IACjE,WAAW,EAAE,aAAa;IAC1B;;;;;OAKG;IACH,kEAAkE;IAClE,YAAY,EAAE,cAAc;IAC5B,2DAA2D;IAC3D,QAAQ,EAAE,UAAU;IACpB,mEAAmE;IACnE,SAAS,EAAE,WAAW;IACtB,+DAA+D;IAC/D,kBAAkB,EAAE,oBAAoB;CAC/B,CAAC;AAUX,oFAAoF;AACpF,MAAM,UAAU,UAAU,CACzB,IAAe,EACf,OAAe,EACf,OAA0B,EAAE;IAE5B,OAAO;QACN,IAAI;QACJ,OAAO;QACP,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/E,CAAC;AACH,CAAC"}
@@ -81,6 +81,16 @@ export interface HelloOk {
81
81
  server: {
82
82
  version: string;
83
83
  connId: string;
84
+ /**
85
+ * Per-process boot id (session generation / "epoch"). Changes whenever
86
+ * the gateway process restarts. A client compares the epoch across
87
+ * (re)connections: if it changed, the server's per-session seq counters
88
+ * reset, so the client must invalidate its seq cursors and re-`resume`
89
+ * rather than infer a restart from a backwards seq. This makes cursor
90
+ * invalidation explicit + correct, rather than inferred from a
91
+ * backwards-jumping seq.
92
+ */
93
+ epoch: string;
84
94
  };
85
95
  features: {
86
96
  methods: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"handshake.d.ts","sourceRoot":"","sources":["../../src/protocol/handshake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,gBAAgB,EAAG,CAAU,CAAC;AAI3C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CAYnB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAEvF,eAAO,MAAM,kBAAkB;;;;;;;;CAQrB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE7F,MAAM,WAAW,iBAAiB;IACjC,EAAE,EAAE,eAAe,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAIjF,MAAM,WAAW,aAAa;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,EAAE;QACT,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,IAAI,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;QAClC,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACF"}
1
+ {"version":3,"file":"handshake.d.ts","sourceRoot":"","sources":["../../src/protocol/handshake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,gBAAgB,EAAG,CAAU,CAAC;AAI3C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CAYnB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAEvF,eAAO,MAAM,kBAAkB;;;;;;;;CAQrB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE7F,MAAM,WAAW,iBAAiB;IACjC,EAAE,EAAE,eAAe,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAIjF,MAAM,WAAW,aAAa;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf;;;;;;;;WAQG;QACH,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,EAAE;QACT,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,IAAI,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;QAClC,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACF"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Pure sequence helpers for the reliable-streaming layer — shared by the
3
+ * gateway (which STAMPS a per-session seq on every ordered `pi` frame) and the
4
+ * client (which DETECTS a gap to trigger `resume`). Kept pure + dependency-free
5
+ * so both sides agree by construction, and so the logic is unit-testable
6
+ * without booting a socket (the suite convention).
7
+ *
8
+ * The contract in one line: only `pi` frames carry a per-session monotonic
9
+ * `seq`; the client resumes whenever the next seq isn't the contiguous
10
+ * successor of the last one it saw.
11
+ */
12
+ /**
13
+ * Next per-session sequence number for a session, or `undefined` when there is
14
+ * no session id (an untagged frame, which is never sequenced). The CALLER
15
+ * decides which event types are part of the ordered stream and only calls this
16
+ * for those — today: top-level `pi`, `approval-request`, and `system-event`,
17
+ * which share one per-session counter so a client detects a gap in ANY of them.
18
+ * `state` / `error` / `log` and sub-agent `pi` frames are unordered and stay
19
+ * seq-less. Mutates `counters` in place (one entry per session).
20
+ */
21
+ export declare function nextSeq(counters: Map<string, number>, sessionId: string | undefined): number | undefined;
22
+ /**
23
+ * True when `got` is NOT the contiguous successor of `last` — i.e. a frame was
24
+ * missed (gap up), reordered, or the server reset its counter (gateway restart
25
+ * → `got` lower than `last`). Any of these means the live view may be
26
+ * incomplete, so the client should `resume` to rebuild from the transcript.
27
+ * The first frame seen for a session (`last === undefined`) is never a gap.
28
+ */
29
+ export declare function isSeqGap(last: number | undefined, got: number): boolean;
30
+ //# sourceMappingURL=stream-seq.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-seq.d.ts","sourceRoot":"","sources":["../../src/protocol/stream-seq.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACtB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,GAAG,SAAS,CAKpB;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAEvE"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Pure sequence helpers for the reliable-streaming layer — shared by the
3
+ * gateway (which STAMPS a per-session seq on every ordered `pi` frame) and the
4
+ * client (which DETECTS a gap to trigger `resume`). Kept pure + dependency-free
5
+ * so both sides agree by construction, and so the logic is unit-testable
6
+ * without booting a socket (the suite convention).
7
+ *
8
+ * The contract in one line: only `pi` frames carry a per-session monotonic
9
+ * `seq`; the client resumes whenever the next seq isn't the contiguous
10
+ * successor of the last one it saw.
11
+ */
12
+ /**
13
+ * Next per-session sequence number for a session, or `undefined` when there is
14
+ * no session id (an untagged frame, which is never sequenced). The CALLER
15
+ * decides which event types are part of the ordered stream and only calls this
16
+ * for those — today: top-level `pi`, `approval-request`, and `system-event`,
17
+ * which share one per-session counter so a client detects a gap in ANY of them.
18
+ * `state` / `error` / `log` and sub-agent `pi` frames are unordered and stay
19
+ * seq-less. Mutates `counters` in place (one entry per session).
20
+ */
21
+ export function nextSeq(counters, sessionId) {
22
+ if (!sessionId)
23
+ return undefined;
24
+ const next = (counters.get(sessionId) ?? 0) + 1;
25
+ counters.set(sessionId, next);
26
+ return next;
27
+ }
28
+ /**
29
+ * True when `got` is NOT the contiguous successor of `last` — i.e. a frame was
30
+ * missed (gap up), reordered, or the server reset its counter (gateway restart
31
+ * → `got` lower than `last`). Any of these means the live view may be
32
+ * incomplete, so the client should `resume` to rebuild from the transcript.
33
+ * The first frame seen for a session (`last === undefined`) is never a gap.
34
+ */
35
+ export function isSeqGap(last, got) {
36
+ return last !== undefined && got !== last + 1;
37
+ }
38
+ //# sourceMappingURL=stream-seq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-seq.js","sourceRoot":"","sources":["../../src/protocol/stream-seq.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CACtB,QAA6B,EAC7B,SAA6B;IAE7B,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAChD,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAwB,EAAE,GAAW;IAC7D,OAAO,IAAI,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC;AAC/C,CAAC"}
@@ -21,6 +21,8 @@
21
21
  import type { Model } from "@earendil-works/pi-ai";
22
22
  import type { CronAddParamsV2, CronAddResultV2, CronListParamsV2, CronListResultV2, CronRemoveParamsV2, CronRemoveResultV2, CronRunParamsV2, CronRunResultV2, CronRunsParamsV2, CronRunsResultV2, CronStatusParamsV2, CronStatusResultV2, CronUpdateParamsV2, CronUpdateResultV2, CronWakeParams } from "./core/server-methods/cron.js";
23
23
  import type { OrgSnapshotResult } from "./protocol/methods.js";
24
+ import type { HelloOk } from "./protocol/handshake.js";
25
+ import type { ShutdownFrame, TickFrame } from "./protocol/messages.js";
24
26
  import type { MemoryGraphExport } from "./agents/memory/graph-export.js";
25
27
  import type { MemoryQueryResult } from "./agents/memory/query.js";
26
28
  /** Caller → server. Server replies with a Response sharing this id. */
@@ -36,18 +38,48 @@ export interface ResponseFrame {
36
38
  id: string;
37
39
  ok: boolean;
38
40
  payload?: unknown;
41
+ /**
42
+ * Structured error. `code` is one of `ErrorCodes` (see protocol/errors.ts —
43
+ * the complete catalogue a client branches on). `retryable` + `retryAfterMs`
44
+ * let a client back off correctly (e.g. on `rate-limited`); `details` carries
45
+ * optional structured context.
46
+ */
39
47
  error?: {
40
48
  code: string;
41
49
  message: string;
50
+ retryable?: boolean;
51
+ retryAfterMs?: number;
52
+ details?: unknown;
42
53
  };
43
54
  }
44
- /** Server → all clients. Push notification, no id. */
55
+ /**
56
+ * Server → all clients. Push notification, no id.
57
+ *
58
+ * `seq` is a per-session monotonic counter stamped on ORDERED transcript
59
+ * frames (today: `pi`). A client tracks the last seq it saw for each session;
60
+ * a jump (next seq ≠ last + 1) means it missed a frame, so it issues a
61
+ * `resume` to backfill from the transcript. Untagged frames (state / error /
62
+ * basic log — no session) carry NO seq: they are not part of the ordered
63
+ * stream and need no gap detection. Optional on the wire so an older or
64
+ * minimal client that ignores it still works unchanged (unauthenticated +
65
+ * legacy stay byte-for-byte compatible).
66
+ */
45
67
  export interface EventFrame {
46
68
  type: "event";
47
69
  event: EventName;
48
70
  payload?: unknown;
71
+ /** Per-session monotonic sequence for ordered streams (`pi`). Absent on
72
+ * untagged frames (state/error/basic log). */
73
+ seq?: number;
49
74
  }
50
- export type Frame = RequestFrame | ResponseFrame | EventFrame;
75
+ /**
76
+ * Top-level frame union. `tick` (keepalive) and `shutdown` (graceful restart
77
+ * notice) are defined in `protocol/messages.ts`; the client tolerates them so
78
+ * a future server can emit them without breaking older clients, and so a
79
+ * graceful shutdown surfaces as a clean "reconnecting" line instead of a raw
80
+ * socket drop.
81
+ */
82
+ export type Frame = RequestFrame | ResponseFrame | EventFrame | TickFrame | ShutdownFrame | HelloOk;
51
83
  /**
52
84
  * Every request the server understands. Adding a new one means:
53
85
  * 1. Add the literal string here
@@ -115,6 +147,17 @@ export type RequestMethod =
115
147
  | "add-provider"
116
148
  /** Get the current state snapshot on demand. Reply: SessionStateSnapshot. */
117
149
  | "get-state"
150
+ /**
151
+ * Re-materialise a session's transcript after (re)connect or a detected
152
+ * seq gap. Reply: ResumeSnapshot (the ordered conversation + the session's
153
+ * head seq + the header state). The client renders the messages keyed by
154
+ * identity (role + timestamp; tool blocks by toolCall id) and then keeps
155
+ * applying live `pi` frames idempotently — so a dropped or reordered frame
156
+ * self-heals with nothing missing and nothing misplaced. The transcript is
157
+ * the single source of truth: both this snapshot and the live stream
158
+ * resolve to it. Cheap + safe to call on every connect.
159
+ */
160
+ | "resume"
118
161
  /** Memory Graph dashboard data — nodes + typed edges + topic clusters + stats.
119
162
  * Reply: MemoryGraphExport. */
120
163
  | "memory-graph"
@@ -210,6 +253,148 @@ export type EventName =
210
253
  * the `approval-resolve` request.
211
254
  */
212
255
  | "approval-request";
256
+ /**
257
+ * Runtime list of every core request method, mirroring the `RequestMethod`
258
+ * union (types are erased at compile time, so a client can't enumerate them
259
+ * otherwise). The gateway advertises this (plus any plugin-registered methods)
260
+ * in `HelloOk.features.methods` on connect, so a web/mobile client discovers
261
+ * what it can call instead of hardcoding strings. `satisfies` makes adding an
262
+ * invalid method a compile error.
263
+ */
264
+ export declare const REQUEST_METHODS: readonly ["prompt", "abort", "steer", "set-model", "switch-model-mid-turn", "set-thinking", "compact", "approval-resolve", "exec-allow-all", "exec-grant-skill", "list-models", "refresh-models", "add-provider", "get-state", "resume", "memory-graph", "memory-query", "shutdown", "subscribe", "unsubscribe", "agents.list", "sessions.list", "cron.status", "cron.list", "cron.add", "cron.update", "cron.remove", "cron.run", "cron.runs", "wake", "org.snapshot"];
265
+ /**
266
+ * Runtime list of every server-pushed event name, mirroring `EventName`.
267
+ * Advertised in `HelloOk.features.events` so a client knows what to subscribe
268
+ * to. `satisfies` keeps it in lock-step with the union.
269
+ */
270
+ export declare const EVENT_NAMES: readonly ["pi", "state", "error", "log", "system-event", "approval-request"];
271
+ /**
272
+ * The set of `pi.event.type` values the gateway forwards (mirrors Pi's
273
+ * `AgentSessionEvent` union). A web/mobile renderer switches on `pi.event.type`;
274
+ * this is the authoritative list so it can be exhaustive.
275
+ */
276
+ export declare const PI_EVENT_TYPES: readonly ["agent_start", "turn_start", "turn_end", "message_start", "message_update", "message_end", "tool_execution_start", "tool_execution_update", "tool_execution_end", "agent_end", "queue_update", "compaction_start", "compaction_end", "auto_retry_start", "auto_retry_end", "session_info_changed", "thinking_level_changed"];
277
+ export type PiEventType = (typeof PI_EVENT_TYPES)[number];
278
+ /**
279
+ * Brigade-native, wire-stable view of a Pi `AgentSessionEvent` — the inner
280
+ * `payload.event` of a `pi` frame. Provided so a web/mobile client has a typed
281
+ * contract WITHOUT importing Pi's SDK types (which live in node_modules and
282
+ * aren't shipped to a browser). It's an open union: known variants carry the
283
+ * fields a renderer needs; the trailing member keeps it forward-compatible if
284
+ * Pi adds an event type. Mirror of `@earendil-works/pi-coding-agent`'s
285
+ * `AgentSessionEvent` — keep in sync when bumping the SDK.
286
+ *
287
+ * `message` is a {@link WireMessage}; key assistant blocks by
288
+ * `role + timestamp` and tool blocks by the tool call id (see
289
+ * docs/reliable-streaming.md).
290
+ */
291
+ export type PiEvent = {
292
+ type: "agent_start";
293
+ } | {
294
+ type: "turn_start";
295
+ } | {
296
+ type: "turn_end";
297
+ message: WireMessage;
298
+ toolResults?: WireMessage[];
299
+ } | {
300
+ type: "message_start";
301
+ message: WireMessage;
302
+ } | {
303
+ type: "message_update";
304
+ message: WireMessage;
305
+ } | {
306
+ type: "message_end";
307
+ message: WireMessage;
308
+ } | {
309
+ type: "tool_execution_start";
310
+ toolCallId: string;
311
+ toolName: string;
312
+ args?: unknown;
313
+ } | {
314
+ type: "tool_execution_update";
315
+ toolCallId: string;
316
+ toolName: string;
317
+ args?: unknown;
318
+ partialResult?: unknown;
319
+ } | {
320
+ type: "tool_execution_end";
321
+ toolCallId: string;
322
+ toolName: string;
323
+ result?: unknown;
324
+ isError: boolean;
325
+ } | {
326
+ type: "agent_end";
327
+ messages?: WireMessage[];
328
+ willRetry?: boolean;
329
+ } | {
330
+ type: "queue_update";
331
+ steering: readonly string[];
332
+ followUp: readonly string[];
333
+ } | {
334
+ type: "compaction_start";
335
+ reason: "manual" | "threshold" | "overflow";
336
+ } | {
337
+ type: "compaction_end";
338
+ reason?: string;
339
+ aborted?: boolean;
340
+ willRetry?: boolean;
341
+ errorMessage?: string;
342
+ } | {
343
+ type: "auto_retry_start";
344
+ attempt: number;
345
+ maxAttempts: number;
346
+ delayMs: number;
347
+ errorMessage?: string;
348
+ } | {
349
+ type: "auto_retry_end";
350
+ success: boolean;
351
+ attempt: number;
352
+ finalError?: string;
353
+ } | {
354
+ type: "session_info_changed";
355
+ name?: string;
356
+ } | {
357
+ type: "thinking_level_changed";
358
+ level: string;
359
+ } | {
360
+ type: string;
361
+ [field: string]: unknown;
362
+ };
363
+ /** A text/thinking/tool-call content block on a wire message. */
364
+ export interface WireContentBlock {
365
+ type: "text" | "thinking" | "toolCall" | "image" | string;
366
+ /** Present on `text` blocks. */
367
+ text?: string;
368
+ /** Present on `thinking` blocks. */
369
+ thinking?: string;
370
+ /** Present on `toolCall` blocks — the stable tool call id used to key the
371
+ * tool's render block + correlate its `toolResult`. */
372
+ id?: string;
373
+ /** Tool name, on `toolCall` blocks. */
374
+ name?: string;
375
+ [field: string]: unknown;
376
+ }
377
+ /**
378
+ * Wire-stable view of a Pi message (the elements of a `ResumeSnapshot.messages`
379
+ * transcript and the `message` on `pi` events). No top-level `id` — render keys
380
+ * are `role + timestamp` (assistant/user) and the tool call `id` /
381
+ * `toolCallId` (tools). Open-ended for forward-compat.
382
+ */
383
+ export interface WireMessage {
384
+ role: "user" | "assistant" | "toolResult" | string;
385
+ /** Creation timestamp (ms) — stable across a message's streaming updates;
386
+ * the identity key a renderer uses for the assistant block. */
387
+ timestamp?: number;
388
+ /** `string` for a simple user message, else an array of content blocks. */
389
+ content?: string | WireContentBlock[];
390
+ /** On `toolResult` messages — correlates to the assistant's tool call id. */
391
+ toolCallId?: string;
392
+ /** On `toolResult` messages. */
393
+ toolName?: string;
394
+ /** On `toolResult` messages. */
395
+ isError?: boolean;
396
+ [field: string]: unknown;
397
+ }
213
398
  /** Params for each request method. `void` = no params required. */
214
399
  export interface RequestParams {
215
400
  prompt: {
@@ -297,6 +482,18 @@ export interface RequestParams {
297
482
  skipValidation?: boolean;
298
483
  };
299
484
  "get-state": void;
485
+ resume: {
486
+ /** Agent whose session is resumed; defaults to the caller's bound agent. */
487
+ agentId?: string;
488
+ /** Canonical session key to resume; defaults to that agent's main session. */
489
+ sessionKey?: string;
490
+ /**
491
+ * When set, the server omits messages the client already has and returns
492
+ * only the tail. Today the server always returns the full transcript
493
+ * (simple + correct — the client applies it idempotently by identity);
494
+ * this is a forward-compat hint for a future tail optimisation. */
495
+ sinceSeq?: number;
496
+ };
300
497
  "memory-graph": {
301
498
  /** Agent whose memory graph is exported; defaults to the boot agent. */
302
499
  agentId?: string;
@@ -388,6 +585,7 @@ export interface ResponseFor {
388
585
  warning?: string;
389
586
  };
390
587
  "get-state": SessionStateSnapshot;
588
+ resume: ResumeSnapshot;
391
589
  "memory-graph": MemoryGraphExport;
392
590
  "memory-query": MemoryQueryResult;
393
591
  shutdown: void;
@@ -543,6 +741,62 @@ export interface SessionStateSnapshot {
543
741
  */
544
742
  sessionKey?: string;
545
743
  }
744
+ /**
745
+ * Reply to a `resume` request — the heart of reliable streaming.
746
+ *
747
+ * The client re-materialises a session from this on (re)connect or a detected
748
+ * seq gap, then resumes applying live `pi` frames. Because the renderer keys
749
+ * every block by identity (message role + timestamp; tool blocks by their
750
+ * toolCall id) and applies terminal snapshots by REPLACE, re-applying a
751
+ * message the client already has is a harmless no-op — so the snapshot and the
752
+ * live stream overlap safely with nothing missing, nothing duplicated, and
753
+ * nothing misplaced. The persisted transcript is the single source of truth.
754
+ */
755
+ export interface ResumeSnapshot {
756
+ /** Canonical session key this transcript belongs to. */
757
+ sessionKey: string;
758
+ /** Agent id that owns the session. */
759
+ agentId: string;
760
+ /**
761
+ * The ordered conversation, oldest-first ({@link WireMessage}: user /
762
+ * assistant / toolResult). The renderer keys each message by `role +
763
+ * timestamp` and each embedded tool call by its `toolCall.id`, the same keys
764
+ * the live stream uses — that shared keyspace is what makes snapshot ⊕ live
765
+ * idempotent.
766
+ */
767
+ messages: WireMessage[];
768
+ /**
769
+ * The session's current head sequence (the last seq stamped on an ordered
770
+ * frame — `pi` / `approval-request` / `system-event` — for this session, or
771
+ * 0 if none yet). The client sets its last-seen seq to this; subsequent live
772
+ * frames continue from `headSeq + 1`, and any frame with `seq ≤ headSeq` is
773
+ * a duplicate it can apply idempotently or skip.
774
+ */
775
+ headSeq: number;
776
+ /**
777
+ * Tool-approval prompts CURRENTLY pending on this session. Recovery for the
778
+ * one event that loses an operator ACTION: a client that connected after —
779
+ * or missed — the live `approval-request` frame gets the open prompts here
780
+ * and can resolve them via `approval-resolve`, instead of the turn hanging
781
+ * until it auto-denies. Empty when nothing is pending.
782
+ */
783
+ pendingApprovals: EventPayload["approval-request"][];
784
+ /**
785
+ * Recent `system-event` notices (cron announces, channel-health) for this
786
+ * session — a bounded tail so a client that was disconnected when one fired
787
+ * can still surface it. Oldest-first. Display-only; safe to dedupe by `at`.
788
+ */
789
+ recentSystemEvents: EventPayload["system-event"][];
790
+ /**
791
+ * The gateway's process boot id (session generation). If it differs from the
792
+ * epoch the client saw on its previous `HelloOk`, the gateway restarted and
793
+ * its seq counters reset — the client should treat its cursors as invalid.
794
+ */
795
+ epoch: string;
796
+ /** Header state (provider / model / tokens / running) so the client
797
+ * refreshes its chrome in the same round-trip. */
798
+ snapshot: SessionStateSnapshot;
799
+ }
546
800
  /**
547
801
  * Wire-safe version of a Pi Model<any>. The full Model has stream functions
548
802
  * and other non-serializable fields — clients only need ids + display info
@@ -602,12 +856,17 @@ export declare const EXIT_FAILURE = 1;
602
856
  export declare const EXIT_USAGE_ERROR = 2;
603
857
  export declare const EXIT_CONFIG_ERROR = 78;
604
858
  /**
605
- * Tick interval for the heartbeat. Server pushes a `pi`-wrapped tick event
606
- * every TICK_INTERVAL_MS so the client can detect a stalled connection.
607
- * Client closes if no frame received in this interval.
859
+ * Heartbeat interval. The server's keepalive today is the periodic `state`
860
+ * broadcast (a real frame that bumps the client's `lastFrameAt`), plus
861
+ * WS-protocol pings; the dedicated `TickFrame` type exists for forward-compat
862
+ * but is not emitted yet. The client closes + reconnects if NO frame arrives in
863
+ * 2× this interval (catches half-open sockets — the common backgrounded-mobile
864
+ * case), then `resume`s.
608
865
  */
609
866
  export declare const TICK_INTERVAL_MS = 30000;
610
- /** Cheap shape check before routing. Avoids dragging in AJV for v1's small surface. */
867
+ /** Cheap shape check before routing. Avoids dragging in AJV for v1's small surface.
868
+ * Accepts `tick`/`shutdown` too so the client never silently drops a keepalive
869
+ * or a graceful-shutdown notice (the old guard rejected both). */
611
870
  export declare function isFrame(value: unknown): value is Frame;
612
871
  /**
613
872
  * The Step 24 lift split the protocol surface across `protocol/messages.ts`,
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}