@astram/frontend-core 0.11.0 → 0.12.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.
@@ -0,0 +1,216 @@
1
+ /** `^task_[A-Za-z0-9_-]{22}$` (§3, M0 §10 H). */
2
+ const TASK_ID = /^task_[A-Za-z0-9_-]{22}$/;
3
+ /** The heartbeat comment the gateway writes every 15 s (§3 B). */
4
+ export const SSE_HEARTBEAT = ': hb\n\n';
5
+ /**
6
+ * The §3 B frame for one envelope, exactly as the gateway writes it (the SSE fixtures are stored
7
+ * as envelopes; their frames are derived with this rule). Used by the scripted transport.
8
+ */
9
+ export function toSseFrame(event) {
10
+ const id = event.type === 'replay.truncated' ? '' : `id: ${event.seq}\n`;
11
+ return `${id}event: ${event.type}\ndata: ${JSON.stringify(event)}\n\n`;
12
+ }
13
+ function isPlainObject(v) {
14
+ return v !== null && typeof v === 'object' && !Array.isArray(v);
15
+ }
16
+ /** Create a parser for ONE stream (open, continue or replay). */
17
+ export function parseSseFrames(options = {}) {
18
+ const dropped = [];
19
+ let taskId = null;
20
+ let lastSeq = null;
21
+ let accepted = 0;
22
+ // Line assembly across chunks.
23
+ let pending = '';
24
+ let pendingCR = false;
25
+ let started = false;
26
+ let ended = false;
27
+ // The frame being collected.
28
+ let dataLines = [];
29
+ let eventType = '';
30
+ let frameId = null;
31
+ const drop = (reason, seq) => {
32
+ const d = { reason, seq };
33
+ dropped.push(d);
34
+ try {
35
+ options.onDrop?.(d);
36
+ }
37
+ catch {
38
+ /* reporting is best-effort */
39
+ }
40
+ };
41
+ const check = (data, type, id) => {
42
+ let raw;
43
+ try {
44
+ raw = JSON.parse(data);
45
+ }
46
+ catch {
47
+ drop('malformed', null);
48
+ return null;
49
+ }
50
+ if (!isPlainObject(raw)) {
51
+ drop('malformed', null);
52
+ return null;
53
+ }
54
+ const seq = Number.isSafeInteger(raw.seq) ? raw.seq : null;
55
+ const truncated = raw.type === 'replay.truncated';
56
+ if (raw.v !== 0 ||
57
+ seq === null ||
58
+ seq < (truncated ? 0 : 1) ||
59
+ typeof raw.taskId !== 'string' ||
60
+ !TASK_ID.test(raw.taskId) ||
61
+ typeof raw.type !== 'string' ||
62
+ raw.type === '' ||
63
+ typeof raw.ts !== 'string' ||
64
+ !isPlainObject(raw.payload)) {
65
+ drop('malformed', seq);
66
+ return null;
67
+ }
68
+ if (raw.type !== type) {
69
+ drop('type_mismatch', seq);
70
+ return null;
71
+ }
72
+ if (truncated) {
73
+ const first = raw.payload.firstRetainedSeq;
74
+ if (!Number.isSafeInteger(first) || first < 1 || seq !== first - 1) {
75
+ drop('malformed', seq);
76
+ return null;
77
+ }
78
+ if (id !== null) {
79
+ drop('id_mismatch', seq);
80
+ return null;
81
+ }
82
+ if (accepted > 0) {
83
+ drop('seq', seq);
84
+ return null;
85
+ }
86
+ }
87
+ else if (id !== String(seq)) {
88
+ drop('id_mismatch', seq);
89
+ return null;
90
+ }
91
+ if (taskId !== null && raw.taskId !== taskId) {
92
+ drop('task_mismatch', seq);
93
+ return null;
94
+ }
95
+ if (lastSeq !== null && seq !== lastSeq + 1) {
96
+ drop('seq', seq);
97
+ return null;
98
+ }
99
+ taskId = raw.taskId;
100
+ lastSeq = seq;
101
+ accepted += 1;
102
+ return {
103
+ v: 0,
104
+ seq,
105
+ taskId: raw.taskId,
106
+ type: raw.type,
107
+ ts: raw.ts,
108
+ payload: raw.payload,
109
+ };
110
+ };
111
+ const dispatch = (out) => {
112
+ const lines = dataLines;
113
+ const type = eventType === '' ? 'message' : eventType;
114
+ const id = frameId;
115
+ dataLines = [];
116
+ eventType = '';
117
+ frameId = null;
118
+ if (lines.length === 0)
119
+ return; // no data ⇒ no event (SSE rule)
120
+ const event = check(lines.join('\n'), type, id);
121
+ if (event)
122
+ out.push(event);
123
+ };
124
+ const line = (text, out) => {
125
+ if (text === '') {
126
+ dispatch(out);
127
+ return;
128
+ }
129
+ if (text.startsWith(':'))
130
+ return; // comment (heartbeat)
131
+ const colon = text.indexOf(':');
132
+ const field = colon < 0 ? text : text.slice(0, colon);
133
+ let value = colon < 0 ? '' : text.slice(colon + 1);
134
+ if (value.startsWith(' '))
135
+ value = value.slice(1);
136
+ switch (field) {
137
+ case 'data':
138
+ dataLines.push(value);
139
+ break;
140
+ case 'event':
141
+ eventType = value;
142
+ break;
143
+ case 'id':
144
+ if (!value.includes('\u0000'))
145
+ frameId = value;
146
+ break;
147
+ default:
148
+ break; // `retry` and unknown fields are ignored
149
+ }
150
+ };
151
+ return {
152
+ push(text) {
153
+ const out = [];
154
+ if (ended || typeof text !== 'string' || text.length === 0)
155
+ return out;
156
+ let s = text;
157
+ if (!started) {
158
+ started = true;
159
+ if (s.charCodeAt(0) === 0xfeff)
160
+ s = s.slice(1);
161
+ }
162
+ let i = 0;
163
+ if (pendingCR) {
164
+ pendingCR = false;
165
+ if (s.charCodeAt(0) === 0x0a)
166
+ i = 1; // the LF of a CRLF split across chunks
167
+ }
168
+ while (i < s.length) {
169
+ let j = i;
170
+ while (j < s.length) {
171
+ const c = s.charCodeAt(j);
172
+ if (c === 0x0a || c === 0x0d)
173
+ break;
174
+ j += 1;
175
+ }
176
+ if (j === s.length) {
177
+ pending += s.slice(i);
178
+ break;
179
+ }
180
+ const text = pending + s.slice(i, j);
181
+ pending = '';
182
+ if (s.charCodeAt(j) === 0x0d) {
183
+ if (j + 1 < s.length) {
184
+ if (s.charCodeAt(j + 1) === 0x0a)
185
+ j += 1;
186
+ }
187
+ else {
188
+ pendingCR = true;
189
+ }
190
+ }
191
+ line(text, out);
192
+ i = j + 1;
193
+ }
194
+ return out;
195
+ },
196
+ end() {
197
+ ended = true;
198
+ pending = '';
199
+ pendingCR = false;
200
+ dataLines = [];
201
+ eventType = '';
202
+ frameId = null;
203
+ return [];
204
+ },
205
+ get dropped() {
206
+ return dropped;
207
+ },
208
+ get taskId() {
209
+ return taskId;
210
+ },
211
+ get lastSeq() {
212
+ return lastSeq;
213
+ },
214
+ };
215
+ }
216
+ //# sourceMappingURL=sseParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sseParser.js","sourceRoot":"","sources":["../../src/agent/sseParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Types of the agent client (G-036 M1, SPEC `docs/features/agent-read-capabilities/SPEC.md`
3
+ * §3 B–F, §5 frontend-core). DOM-free: the stream transport is injected (web: `fetch` with a
4
+ * streamed body, in the scaffolded app), so nothing here names `fetch`, `EventSource` or a DOM type.
5
+ *
6
+ * Model text (`answer`, `claims[].text`, `gaps`, question and option text) is plain text: render
7
+ * it as text, never as HTML or Markdown-to-HTML. Ids (`taskId`, `callId`) are opaque: never show them.
8
+ */
9
+ import type { AbortSignalLike } from '../http/types.js';
10
+ /** The gateway stream contract version (§3 B, Q12). */
11
+ export declare const AGENT_STREAM_VERSION = 0;
12
+ /** No event and no heartbeat for this long ⇒ the stream is treated as lost (§5 frontend-core). */
13
+ export declare const AGENT_STREAM_STALL_MS = 45000;
14
+ /** Event types the gateway emits in M1 (§3 B). Reserved types may arrive later and are ignored. */
15
+ export type AgentEventType = 'task.started' | 'step' | 'tool.started' | 'tool.finished' | 'clarification.required' | 'answer' | 'done' | 'error' | 'replay.truncated';
16
+ /**
17
+ * One event as sent on the stream (the frozen §3 B envelope). `payload` is passed on as received
18
+ * and read defensively by the reducer.
19
+ */
20
+ export interface AgentStreamEvent {
21
+ readonly v: 0;
22
+ readonly seq: number;
23
+ readonly taskId: string;
24
+ /** One of {@link AgentEventType}, or a type a later gateway adds (ignored by the reducer). */
25
+ readonly type: string;
26
+ readonly ts: string;
27
+ readonly payload: Readonly<Record<string, unknown>>;
28
+ }
29
+ /** Why the parser refused a frame (it is dropped and reported, never applied). */
30
+ export type SseDropReason =
31
+ /** Not JSON, not the §3 B envelope, or a bad `replay.truncated`. */
32
+ 'malformed'
33
+ /** `taskId` differs from the stream's first event. */
34
+ | 'task_mismatch'
35
+ /** `seq` is not the next one (or a `replay.truncated` that is not the first event). */
36
+ | 'seq'
37
+ /** The `id:` line disagrees with the envelope `seq`, or is missing where one is required. */
38
+ | 'id_mismatch'
39
+ /** The `event:` line disagrees with the envelope `type`. */
40
+ | 'type_mismatch';
41
+ /** A refused frame. Carries no frame text (it may hold model text). */
42
+ export interface SseDrop {
43
+ readonly reason: SseDropReason;
44
+ /** The envelope `seq` when it could be read, else null. */
45
+ readonly seq: number | null;
46
+ }
47
+ /** `Num` of the evidence kinds: a JSON number, an exact decimal string (never re-parsed), or null. */
48
+ export type EvidenceNum = number | string | null;
49
+ export interface MetricEvidence {
50
+ readonly kind: 'metric';
51
+ readonly label: string;
52
+ readonly value: EvidenceNum;
53
+ readonly unit?: string;
54
+ readonly asOf?: string;
55
+ }
56
+ export interface TableEvidence {
57
+ readonly kind: 'table';
58
+ readonly columns: readonly {
59
+ readonly key: string;
60
+ readonly label: string;
61
+ readonly numeric?: boolean;
62
+ }[];
63
+ readonly rows: readonly Readonly<Record<string, string | number | boolean | null>>[];
64
+ }
65
+ export interface SeriesEvidence {
66
+ readonly kind: 'series';
67
+ readonly label: string;
68
+ readonly unit?: string;
69
+ readonly points: readonly {
70
+ readonly x: string;
71
+ readonly y: EvidenceNum;
72
+ }[];
73
+ }
74
+ /** Evidence for the UI (§5 E). Decimal strings are kept as strings: format, never `parseFloat`. */
75
+ export type AgentEvidence = MetricEvidence | TableEvidence | SeriesEvidence;
76
+ /** A partial read: `shown` of `total` (`total: null` = more exist, count unknown). */
77
+ export interface AgentPartial {
78
+ readonly shown: number;
79
+ readonly total: number | null;
80
+ }
81
+ /** `running` until `tool.finished`; then the M0 §10 C result status. */
82
+ export type AgentToolStatus = 'running' | 'ok' | 'denied' | 'invalid' | 'failed' | 'timeout';
83
+ export interface AgentToolState {
84
+ /** `id@version`; null when the `tool.started` event was not received (truncated replay). */
85
+ readonly capability: string | null;
86
+ /** Display title from the server registry; null as above. */
87
+ readonly title: string | null;
88
+ readonly status: AgentToolStatus;
89
+ readonly code: string | null;
90
+ readonly evidence: AgentEvidence | null;
91
+ readonly partial: AgentPartial | null;
92
+ }
93
+ export interface AgentStep {
94
+ readonly key: string;
95
+ /** Fixed server label (never model text). */
96
+ readonly label: string;
97
+ }
98
+ export interface AgentClaim {
99
+ readonly text: string;
100
+ /** `callId`s of `ok` results backing the claim. */
101
+ readonly refs: readonly string[];
102
+ }
103
+ export interface AgentAnswer {
104
+ readonly answer: string;
105
+ readonly claims: readonly AgentClaim[];
106
+ readonly gaps: readonly string[];
107
+ }
108
+ export interface AgentQuestionOption {
109
+ readonly value: string;
110
+ readonly label: string;
111
+ }
112
+ /** A clarification question (M0 §10 J shape). `options` only for `single` and `multi`. */
113
+ export interface AgentQuestion {
114
+ readonly id: string;
115
+ readonly text: string;
116
+ readonly kind: 'single' | 'multi' | 'free_text';
117
+ readonly options?: readonly AgentQuestionOption[];
118
+ }
119
+ /** The task's error: an SSE `error`, a refusal before the stream, or the client's `connection_lost`. */
120
+ export interface AgentTaskError {
121
+ readonly code: string;
122
+ readonly retryable: boolean;
123
+ /** Fixed text for the code (never server text). */
124
+ readonly message: string;
125
+ }
126
+ export interface AgentUsage {
127
+ readonly modelCalls: number;
128
+ readonly toolCalls: number;
129
+ }
130
+ export type AgentTaskStatus = 'idle' | 'streaming' | 'awaiting_clarification' | 'done' | 'error';
131
+ /**
132
+ * The reducer state (§5 frontend-core). It shows the latest run of the task: `task.started`
133
+ * clears the run-scoped parts (steps, tools, answer, questions, error, usage).
134
+ */
135
+ export interface AgentTaskState {
136
+ readonly taskId: string | null;
137
+ readonly status: AgentTaskStatus;
138
+ /** The run number from the last `task.started` (0 before one). */
139
+ readonly run: number;
140
+ readonly steps: readonly AgentStep[];
141
+ readonly tools: Readonly<Record<string, AgentToolState>>;
142
+ readonly answer: AgentAnswer | null;
143
+ readonly questions: readonly AgentQuestion[] | null;
144
+ readonly error: AgentTaskError | null;
145
+ /** The run's counts from `done`. */
146
+ readonly usage: AgentUsage | null;
147
+ /** The highest `seq` applied (0 = none). Pass it to `replay` to fetch what came after. */
148
+ readonly lastSeq: number;
149
+ /** `true` while a live stream (open or continue) is connected. */
150
+ readonly live: boolean;
151
+ /** `true` once events of this task were missed (a `replay.truncated`, or a `seq` gap). */
152
+ readonly truncated: boolean;
153
+ }
154
+ /**
155
+ * Client-side inputs to the reducer: stream lifecycle and refusals. Not sent by the server; the
156
+ * `local.` prefix cannot collide with a gateway type.
157
+ */
158
+ export type AgentLocalEvent = {
159
+ readonly type: 'local.opened';
160
+ readonly live: boolean;
161
+ } | {
162
+ readonly type: 'local.closed';
163
+ } | {
164
+ readonly type: 'local.connection_lost';
165
+ } | {
166
+ readonly type: 'local.refused';
167
+ readonly status: number;
168
+ readonly code: string | null;
169
+ readonly retryable: boolean;
170
+ };
171
+ /** The parsed §3 D body of a refusal before the first stream byte. */
172
+ export interface AgentRefusalBody {
173
+ readonly code: string;
174
+ readonly retryable: boolean;
175
+ }
176
+ /** One request to the stream transport (§5 frontend-core). */
177
+ export interface AgentStreamRequest {
178
+ readonly method: 'POST' | 'GET';
179
+ /** Path under the API base, e.g. `/agent/tasks`. */
180
+ readonly path: string;
181
+ /** JSON body for POST; null for GET. */
182
+ readonly body: unknown | null;
183
+ /** `Last-Event-ID` for a replay (`GET …/events`). */
184
+ readonly lastEventId?: number;
185
+ readonly signal: AbortSignalLike;
186
+ }
187
+ /** What the transport answers. `chunks` only with `status` 200; network failure ⇒ `status: 0`. */
188
+ export interface AgentStreamResponse {
189
+ readonly status: number;
190
+ readonly error: AgentRefusalBody | null;
191
+ readonly chunks: AsyncIterable<string> | null;
192
+ close(): void;
193
+ }
194
+ /**
195
+ * The injected stream transport (web: `fetch` with a streamed body, never `EventSource`). It owns
196
+ * authentication of the stream request; a refresh is allowed only before the first byte.
197
+ */
198
+ export interface AgentStreamTransport {
199
+ open(req: AgentStreamRequest): Promise<AgentStreamResponse>;
200
+ }
201
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** The gateway stream contract version (§3 B, Q12). */
2
+ export const AGENT_STREAM_VERSION = 0;
3
+ /** No event and no heartbeat for this long ⇒ the stream is treated as lost (§5 frontend-core). */
4
+ export const AGENT_STREAM_STALL_MS = 45_000;
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAUA,uDAAuD;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,kGAAkG;AAClG,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC"}
@@ -21,6 +21,8 @@
21
21
  * the 401 is returned as-is: no refresh, no retry under someone else's token, no logout.
22
22
  * The same holds if the store changes WHILE the refresh is in flight (a logout mid-refresh):
23
23
  * the rotated tokens are dropped, never written back over the signed-out state.
24
+ * - `refreshAfterUnauthorized(sentToken)` runs the same refresh for a caller with its own
25
+ * transport (the agent stream, before its first byte); the caller retries once on `rotated`.
24
26
  *
25
27
  * Platform-agnostic: storage is the app's {@link SessionStore} (web: localStorage, so
26
28
  * every tab reads the same tokens); the lock manager is injectable (tests, React Native).
@@ -62,6 +64,31 @@ export interface RefreshingHttpOptions {
62
64
  */
63
65
  readonly refreshTimeoutMs?: number;
64
66
  }
67
+ /**
68
+ * What {@link RefreshingHttpClient.refreshAfterUnauthorized} resolves to: `rotated` with the
69
+ * token to retry once with; otherwise no retry (`expired`: the session is gone and was cleared;
70
+ * `superseded`: a different session is stored, or no token was given; `unavailable`: the refresh
71
+ * could not be made, the session is kept).
72
+ */
73
+ export type RefreshAfterUnauthorizedResult = {
74
+ readonly kind: 'rotated';
75
+ readonly accessToken: string;
76
+ } | {
77
+ readonly kind: 'expired' | 'superseded' | 'unavailable';
78
+ };
79
+ /**
80
+ * The refreshing client: an {@link HttpClient} plus the refresh step for callers that do not go
81
+ * through it (the agent stream transport, SPEC agent-read-capabilities §5). It shares the JSON
82
+ * client's single-flight refresh and cross-tab lock, so a stream never spends a refresh token in
83
+ * parallel with a JSON call.
84
+ */
85
+ export interface RefreshingHttpClient extends HttpClient {
86
+ /**
87
+ * A request that sent `sentToken` got a 401: refresh (or adopt another tab's rotation of the
88
+ * same session) exactly as the JSON calls do. Never throws.
89
+ */
90
+ refreshAfterUnauthorized(sentToken: string): Promise<RefreshAfterUnauthorizedResult>;
91
+ }
65
92
  /** Default {@link RefreshingHttpOptions.refreshTimeoutMs}. */
66
93
  export declare const DEFAULT_REFRESH_TIMEOUT_MS = 15000;
67
94
  /** What `createRefreshingHttp` hands the injected `refresh` (additive second argument). */
@@ -69,5 +96,5 @@ export interface RefreshCallOpts {
69
96
  /** Aborted when the refresh timeout fires; forward it to the HTTP call. */
70
97
  readonly signal?: AbortSignalLike;
71
98
  }
72
- export declare function createRefreshingHttp(options: RefreshingHttpOptions): HttpClient;
99
+ export declare function createRefreshingHttp(options: RefreshingHttpOptions): RefreshingHttpClient;
73
100
  //# sourceMappingURL=refreshingHttp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"refreshingHttp.d.ts","sourceRoot":"","sources":["../../src/http/refreshingHttp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAA6B,MAAM,YAAY,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,uFAAuF;AACvF,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,qBAAqB;IACpC,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3F,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,+FAA+F;IAC/F,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACrD,+FAA+F;IAC/F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,8DAA8D;AAC9D,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAEjD,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;CACnC;AA4ED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,UAAU,CAoK/E"}
1
+ {"version":3,"file":"refreshingHttp.d.ts","sourceRoot":"","sources":["../../src/http/refreshingHttp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAA6B,MAAM,YAAY,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,uFAAuF;AACvF,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,qBAAqB;IACpC,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3F,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,+FAA+F;IAC/F,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACrD,+FAA+F;IAC/F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,MAAM,8BAA8B,GACtC;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,aAAa,CAAA;CAAE,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD;;;OAGG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;CACtF;AAED,8DAA8D;AAC9D,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAEjD,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;CACnC;AA4ED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAwLzF"}
@@ -211,7 +211,26 @@ export function createRefreshingHttp(options) {
211
211
  return first;
212
212
  }
213
213
  };
214
+ // The stream transport's entry to the same single-flight refresh (no request to retry here:
215
+ // the caller retries once on `rotated`). Both tokens are learned, as `send` does.
216
+ const refreshAfterUnauthorized = async (sentToken) => {
217
+ if (!nonEmpty(sentToken))
218
+ return { kind: 'superseded' };
219
+ try {
220
+ learn(sentToken);
221
+ const outcome = await refreshFor(sentToken);
222
+ if (outcome.kind === 'rotated') {
223
+ learn(outcome.accessToken);
224
+ return { kind: 'rotated', accessToken: outcome.accessToken };
225
+ }
226
+ return { kind: outcome.kind };
227
+ }
228
+ catch {
229
+ return { kind: 'unavailable' };
230
+ }
231
+ };
214
232
  return {
233
+ refreshAfterUnauthorized,
215
234
  get: (path, opts) => send((o) => http.get(path, o), opts),
216
235
  post: (path, body, opts) => send((o) => http.post(path, body, o), opts),
217
236
  patch: (path, body, opts) => send((o) => http.patch(path, body, o), opts),
@@ -1 +1 @@
1
- {"version":3,"file":"refreshingHttp.js","sourceRoot":"","sources":["../../src/http/refreshingHttp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"refreshingHttp.js","sourceRoot":"","sources":["../../src/http/refreshingHttp.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export type { HttpClient, HttpResponse, RequestOpts, AbortSignalLike } from './http/types.js';
2
2
  export { createRefreshingHttp, REFRESH_LOCK_NAME, DEFAULT_REFRESH_TIMEOUT_MS, } from './http/refreshingHttp.js';
3
- export type { RefreshingHttpOptions, LockManagerLike, RefreshCallOpts, } from './http/refreshingHttp.js';
3
+ export type { RefreshingHttpOptions, LockManagerLike, RefreshCallOpts, RefreshingHttpClient, RefreshAfterUnauthorizedResult, } from './http/refreshingHttp.js';
4
4
  export * from './auth/index.js';
5
+ export * from './agent/index.js';
5
6
  export type { PermissionCatalogRow } from './auth/identityService.js';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAEhC,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,kBAAkB,CAAC;AAEjC,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  // Token refresh over any HttpClient: single-flight, retry once, cross-tab lock (#12).
2
2
  export { createRefreshingHttp, REFRESH_LOCK_NAME, DEFAULT_REFRESH_TIMEOUT_MS, } from './http/refreshingHttp.js';
3
3
  export * from './auth/index.js';
4
+ // Agent client (G-036 M1): service, SSE parser, reducer, scripted transport.
5
+ export * from './agent/index.js';
4
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,sFAAsF;AACtF,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAMlC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,sFAAsF;AACtF,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAQlC,cAAc,iBAAiB,CAAC;AAChC,6EAA6E;AAC7E,cAAc,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astram/frontend-core",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"