@adonis-agora/agent 0.89.2 → 0.91.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 +21 -0
- package/README.md +7 -0
- package/dist/providers/agent_provider.d.ts.map +1 -1
- package/dist/providers/agent_provider.js +19 -3
- package/dist/providers/agent_provider.js.map +1 -1
- package/dist/providers/dashboard_provider.d.ts.map +1 -1
- package/dist/providers/dashboard_provider.js +2 -1
- package/dist/providers/dashboard_provider.js.map +1 -1
- package/dist/src/a2ui/adapter.d.ts.map +1 -1
- package/dist/src/a2ui/adapter.js +2 -1
- package/dist/src/a2ui/adapter.js.map +1 -1
- package/dist/src/ag-ui/adapter.d.ts.map +1 -1
- package/dist/src/ag-ui/adapter.js +5 -1
- package/dist/src/ag-ui/adapter.js.map +1 -1
- package/dist/src/agent-service.d.ts +2 -0
- package/dist/src/agent-service.d.ts.map +1 -1
- package/dist/src/agent-service.js +8 -3
- package/dist/src/agent-service.js.map +1 -1
- package/dist/src/authorize-decision.d.ts +34 -0
- package/dist/src/authorize-decision.d.ts.map +1 -0
- package/dist/src/authorize-decision.js +17 -0
- package/dist/src/authorize-decision.js.map +1 -0
- package/dist/src/coalesced-writes.d.ts +51 -0
- package/dist/src/coalesced-writes.d.ts.map +1 -0
- package/dist/src/coalesced-writes.js +182 -0
- package/dist/src/coalesced-writes.js.map +1 -0
- package/dist/src/dashboard/define_config.d.ts +16 -5
- package/dist/src/dashboard/define_config.d.ts.map +1 -1
- package/dist/src/dashboard/define_config.js.map +1 -1
- package/dist/src/dashboard/gate.d.ts +2 -1
- package/dist/src/dashboard/gate.d.ts.map +1 -1
- package/dist/src/dashboard/gate.js +9 -3
- package/dist/src/dashboard/gate.js.map +1 -1
- package/dist/src/dashboard/index.d.ts +1 -0
- package/dist/src/dashboard/index.d.ts.map +1 -1
- package/dist/src/dashboard/index.js.map +1 -1
- package/dist/src/define_config.d.ts +4 -2
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js.map +1 -1
- package/dist/src/governance-gate.d.ts +15 -6
- package/dist/src/governance-gate.d.ts.map +1 -1
- package/dist/src/governance-gate.js +12 -4
- package/dist/src/governance-gate.js.map +1 -1
- package/dist/src/guardrails/detectors/custom.d.ts.map +1 -1
- package/dist/src/guardrails/detectors/custom.js +20 -3
- package/dist/src/guardrails/detectors/custom.js.map +1 -1
- package/dist/src/in-process-sink.d.ts +10 -0
- package/dist/src/in-process-sink.d.ts.map +1 -1
- package/dist/src/in-process-sink.js +66 -7
- package/dist/src/in-process-sink.js.map +1 -1
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/interruptible.d.ts +22 -0
- package/dist/src/interruptible.d.ts.map +1 -0
- package/dist/src/interruptible.js +102 -0
- package/dist/src/interruptible.js.map +1 -0
- package/dist/src/lucid-token-stream-sink.d.ts +12 -15
- package/dist/src/lucid-token-stream-sink.d.ts.map +1 -1
- package/dist/src/lucid-token-stream-sink.js +63 -121
- package/dist/src/lucid-token-stream-sink.js.map +1 -1
- package/dist/src/processors.d.ts +3 -1
- package/dist/src/processors.d.ts.map +1 -1
- package/dist/src/processors.js +10 -2
- package/dist/src/processors.js.map +1 -1
- package/dist/src/react/core/use-agent-chat.d.ts.map +1 -1
- package/dist/src/react/core/use-agent-chat.js +5 -0
- package/dist/src/react/core/use-agent-chat.js.map +1 -1
- package/dist/src/redis-stream-client.d.ts +7 -0
- package/dist/src/redis-stream-client.d.ts.map +1 -1
- package/dist/src/redis-token-stream-sink.d.ts +16 -2
- package/dist/src/redis-token-stream-sink.d.ts.map +1 -1
- package/dist/src/redis-token-stream-sink.js +114 -21
- package/dist/src/redis-token-stream-sink.js.map +1 -1
- package/dist/src/spi/agent-store.d.ts +6 -0
- package/dist/src/spi/agent-store.d.ts.map +1 -1
- package/dist/src/spi/agent-store.js.map +1 -1
- package/dist/src/spi/governance-queries.d.ts +6 -0
- package/dist/src/spi/governance-queries.d.ts.map +1 -1
- package/dist/src/spi/token-stream-sink.d.ts +5 -1
- package/dist/src/spi/token-stream-sink.d.ts.map +1 -1
- package/dist/src/spi/token-stream-sink.js.map +1 -1
- package/dist/src/stores/factory.d.ts.map +1 -1
- package/dist/src/stores/factory.js +11 -0
- package/dist/src/stores/factory.js.map +1 -1
- package/dist/src/stores/lucid-governance-queries.d.ts +29 -14
- package/dist/src/stores/lucid-governance-queries.d.ts.map +1 -1
- package/dist/src/stores/lucid-governance-queries.js +184 -158
- package/dist/src/stores/lucid-governance-queries.js.map +1 -1
- package/dist/src/stores/lucid-schema.d.ts +8 -1
- package/dist/src/stores/lucid-schema.d.ts.map +1 -1
- package/dist/src/stores/lucid-schema.js +24 -3
- package/dist/src/stores/lucid-schema.js.map +1 -1
- package/dist/src/stores/lucid.d.ts +1 -0
- package/dist/src/stores/lucid.d.ts.map +1 -1
- package/dist/src/stores/lucid.js +21 -24
- package/dist/src/stores/lucid.js.map +1 -1
- package/dist/src/telescope/agent-governance-providers.d.ts +4 -6
- package/dist/src/telescope/agent-governance-providers.d.ts.map +1 -1
- package/dist/src/telescope/agent-governance-providers.js +10 -10
- package/dist/src/telescope/agent-governance-providers.js.map +1 -1
- package/dist/src/testing/in-memory-governance-queries.d.ts +3 -0
- package/dist/src/testing/in-memory-governance-queries.d.ts.map +1 -1
- package/dist/src/testing/in-memory-governance-queries.js +8 -4
- package/dist/src/testing/in-memory-governance-queries.js.map +1 -1
- package/dist/src/testing/in-memory-store.d.ts +1 -0
- package/dist/src/testing/in-memory-store.d.ts.map +1 -1
- package/dist/src/testing/in-memory-store.js +3 -0
- package/dist/src/testing/in-memory-store.js.map +1 -1
- package/package.json +13 -13
- package/skills/agent-governance/SKILL.md +19 -0
- package/skills/agent-setup/SKILL.md +2 -2
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { CoalescedWrites } from './coalesced-writes.js';
|
|
2
|
+
import { interruptible, sleepUnlessAborted } from './interruptible.js';
|
|
1
3
|
import { AGENT_TABLES, ensureStreamFrameTable, rowsOf } from './stores/lucid-schema.js';
|
|
2
4
|
import { portableSql } from './stores/sql-dialect.js';
|
|
3
5
|
/** Default TTL (seconds) for a run's rows: 1h past its last write, the same window the Redis sink keeps. */
|
|
@@ -8,7 +10,7 @@ const DEFAULT_POLL_INTERVAL_MS = 250;
|
|
|
8
10
|
const DEFAULT_IDLE_POLL_INTERVAL_MS = 1000;
|
|
9
11
|
/** How long a run has to write nothing before its subscribers slow down to the idle interval. */
|
|
10
12
|
const IDLE_AFTER_MS = 5000;
|
|
11
|
-
/** Default window (ms) consecutive
|
|
13
|
+
/** Default window (ms) consecutive deltas are gathered over before they are written as one row. */
|
|
12
14
|
const DEFAULT_FLUSH_MS = 50;
|
|
13
15
|
/** Rows read per query, so a long run's replay is paged rather than loaded whole. */
|
|
14
16
|
const READ_PAGE = 500;
|
|
@@ -48,7 +50,6 @@ function isUniqueViolation(error) {
|
|
|
48
50
|
return true;
|
|
49
51
|
return e.errno === 1062 || e.number === 2627;
|
|
50
52
|
}
|
|
51
|
-
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
52
53
|
/**
|
|
53
54
|
* A multi-replica {@link TokenStreamSink} over the app's SQL database (through `@adonisjs/lucid`) —
|
|
54
55
|
* for a deployment with several replicas and NO Redis. The replica running the model turn appends
|
|
@@ -61,8 +62,9 @@ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
|
61
62
|
*
|
|
62
63
|
* - **Delivery is polled.** There is no publish to wake a subscriber, so a frame waits up to
|
|
63
64
|
* `pollIntervalMs` (250 ms) before a browser sees it.
|
|
64
|
-
* - **
|
|
65
|
-
* (50 ms) are stored as ONE `text` frame holding their concatenation
|
|
65
|
+
* - **Deltas are coalesced on the way in.** Consecutive `text` frames written within `flushMs`
|
|
66
|
+
* (50 ms) are stored as ONE `text` frame holding their concatenation, and so are consecutive
|
|
67
|
+
* reasoning deltas, and consecutive argument deltas of one tool call. The stored rows are the
|
|
66
68
|
* run's stream: every subscriber, on every replica, reads the same rows in the same order, so
|
|
67
69
|
* the SSE event ids `AgentSseEncoder` counts from them — and an `after` cursor — stay exact. They
|
|
68
70
|
* are NOT the ids the in-process sink would have produced for the same run (it numbers every
|
|
@@ -74,6 +76,10 @@ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
|
74
76
|
* retry exists for a parent whose delegated children (each forwarding into its stream, possibly
|
|
75
77
|
* from another replica) write at once. Nothing depends on ordering across runs.
|
|
76
78
|
*
|
|
79
|
+
* A subscriber notices when the rows it has read are gone: it ends when the run has none left
|
|
80
|
+
* (purged past its TTL, or `close()`d), and starts over from the first row when the run's numbering
|
|
81
|
+
* restarted under it (a run parked past its TTL that then wrote again).
|
|
82
|
+
*
|
|
77
83
|
* Text a writer is still gathering lives in the process for at most `flushMs`; a process that dies
|
|
78
84
|
* in that window loses it from the LIVE stream (the persisted message is unaffected).
|
|
79
85
|
*
|
|
@@ -88,7 +94,7 @@ export class LucidTokenStreamSink {
|
|
|
88
94
|
ttlSeconds;
|
|
89
95
|
autoPurge;
|
|
90
96
|
autoCreateTables;
|
|
91
|
-
writes
|
|
97
|
+
writes;
|
|
92
98
|
provisioned;
|
|
93
99
|
lastAutoPurge = 0;
|
|
94
100
|
constructor(db, options = {}) {
|
|
@@ -105,6 +111,7 @@ export class LucidTokenStreamSink {
|
|
|
105
111
|
this.ttlSeconds = options.ttlSeconds ?? DEFAULT_TTL_SECONDS;
|
|
106
112
|
this.autoPurge = options.autoPurge ?? true;
|
|
107
113
|
this.autoCreateTables = options.autoCreateTables ?? true;
|
|
114
|
+
this.writes = new CoalescedWrites(this.flushMs, (runId, frame) => this.append(runId, frame === null ? null : JSON.stringify(frame)));
|
|
108
115
|
}
|
|
109
116
|
/**
|
|
110
117
|
* Create the frame table if it is missing. The agent provider calls this once as the app starts;
|
|
@@ -121,61 +128,6 @@ export class LucidTokenStreamSink {
|
|
|
121
128
|
}
|
|
122
129
|
return this.provisioned;
|
|
123
130
|
}
|
|
124
|
-
runWrites(runId) {
|
|
125
|
-
let state = this.writes.get(runId);
|
|
126
|
-
if (state === undefined) {
|
|
127
|
-
state = {
|
|
128
|
-
text: null,
|
|
129
|
-
timer: undefined,
|
|
130
|
-
tail: Promise.resolve(),
|
|
131
|
-
pending: 0,
|
|
132
|
-
failure: undefined,
|
|
133
|
-
};
|
|
134
|
-
this.writes.set(runId, state);
|
|
135
|
-
}
|
|
136
|
-
return state;
|
|
137
|
-
}
|
|
138
|
-
/** Forget a run's write state once nothing is gathered, queued or left to report. */
|
|
139
|
-
release(runId, state) {
|
|
140
|
-
if (state.pending === 0 &&
|
|
141
|
-
state.text === null &&
|
|
142
|
-
state.failure === undefined &&
|
|
143
|
-
this.writes.get(runId) === state) {
|
|
144
|
-
this.writes.delete(runId);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
/** Queue `work` behind every write already queued for the run, so rows land in call order. */
|
|
148
|
-
enqueue(runId, state, work) {
|
|
149
|
-
state.pending += 1;
|
|
150
|
-
const next = state.tail.then(work);
|
|
151
|
-
state.tail = next
|
|
152
|
-
.then(() => undefined, () => undefined)
|
|
153
|
-
.then(() => {
|
|
154
|
-
state.pending -= 1;
|
|
155
|
-
this.release(runId, state);
|
|
156
|
-
});
|
|
157
|
-
return next;
|
|
158
|
-
}
|
|
159
|
-
/** Queue the gathered text (if any) as one `text` row. */
|
|
160
|
-
flushText(runId, state) {
|
|
161
|
-
if (state.timer !== undefined) {
|
|
162
|
-
clearTimeout(state.timer);
|
|
163
|
-
state.timer = undefined;
|
|
164
|
-
}
|
|
165
|
-
if (state.text === null)
|
|
166
|
-
return Promise.resolve();
|
|
167
|
-
const frame = { t: 'text', v: state.text };
|
|
168
|
-
state.text = null;
|
|
169
|
-
return this.enqueue(runId, state, () => this.append(runId, JSON.stringify(frame)));
|
|
170
|
-
}
|
|
171
|
-
/** Raise, once, a gathered write that failed with nobody awaiting it. */
|
|
172
|
-
raiseFailure(state) {
|
|
173
|
-
const failure = state.failure;
|
|
174
|
-
if (failure !== undefined) {
|
|
175
|
-
state.failure = undefined;
|
|
176
|
-
throw failure.error;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
131
|
/** Append one row to the run — a frame, or the end marker (`null`). */
|
|
180
132
|
async append(runId, frame) {
|
|
181
133
|
await this.ensureSchema();
|
|
@@ -200,60 +152,51 @@ export class LucidTokenStreamSink {
|
|
|
200
152
|
*/
|
|
201
153
|
open(runId) {
|
|
202
154
|
return {
|
|
203
|
-
write:
|
|
204
|
-
|
|
205
|
-
this.raiseFailure(state);
|
|
206
|
-
if (frame.t === 'text' && this.flushMs > 0) {
|
|
207
|
-
state.text = (state.text ?? '') + frame.v;
|
|
208
|
-
// Counted from the FIRST gathered token, not the last: a steady stream still reaches the
|
|
209
|
-
// table every `flushMs`, instead of being held for as long as the model keeps talking.
|
|
210
|
-
if (state.timer === undefined) {
|
|
211
|
-
state.timer = setTimeout(() => {
|
|
212
|
-
state.timer = undefined;
|
|
213
|
-
this.flushText(runId, state).catch((error) => {
|
|
214
|
-
state.failure = { error };
|
|
215
|
-
});
|
|
216
|
-
}, this.flushMs);
|
|
217
|
-
}
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
const flushed = this.flushText(runId, state);
|
|
221
|
-
const appended = this.enqueue(runId, state, () => this.append(runId, JSON.stringify(frame)));
|
|
222
|
-
await Promise.all([flushed, appended]);
|
|
223
|
-
},
|
|
224
|
-
flush: async () => {
|
|
225
|
-
const state = this.runWrites(runId);
|
|
226
|
-
const flushed = this.flushText(runId, state);
|
|
227
|
-
await Promise.all([flushed, state.tail]);
|
|
228
|
-
this.raiseFailure(state);
|
|
229
|
-
this.release(runId, state);
|
|
230
|
-
},
|
|
155
|
+
write: (frame) => this.writes.write(runId, frame),
|
|
156
|
+
flush: () => this.writes.flush(runId),
|
|
231
157
|
end: async () => {
|
|
232
|
-
|
|
233
|
-
const flushed = this.flushText(runId, state);
|
|
234
|
-
const ended = this.enqueue(runId, state, () => this.append(runId, null));
|
|
235
|
-
await Promise.all([flushed, ended]);
|
|
236
|
-
this.raiseFailure(state);
|
|
237
|
-
this.release(runId, state);
|
|
158
|
+
await this.writes.end(runId);
|
|
238
159
|
this.purgeInBackground();
|
|
239
160
|
},
|
|
240
161
|
};
|
|
241
162
|
}
|
|
242
|
-
|
|
163
|
+
subscribe(runId) {
|
|
164
|
+
return interruptible((signal) => this.follow(runId, signal));
|
|
165
|
+
}
|
|
166
|
+
async *follow(runId, signal) {
|
|
243
167
|
await this.ensureSchema();
|
|
168
|
+
// The last row read, by number and by write time. It is read again with every page, so its
|
|
169
|
+
// absence is seen: a run whose rows went has nothing left to follow, and a number held by a
|
|
170
|
+
// row written at another time belongs to a run that started numbering over.
|
|
244
171
|
let cursor = 0;
|
|
172
|
+
let cursorAt = 0;
|
|
245
173
|
let quietSince = Date.now();
|
|
246
|
-
while (
|
|
174
|
+
while (!signal.aborted) {
|
|
247
175
|
const rows = await this.db
|
|
248
176
|
.from(this.table)
|
|
249
177
|
.where('run_id', runId)
|
|
250
|
-
.where('seq', '
|
|
178
|
+
.where('seq', '>=', cursor)
|
|
251
179
|
.orderBy('seq', 'asc')
|
|
252
|
-
.limit(READ_PAGE)
|
|
253
|
-
.select('seq', 'frame');
|
|
180
|
+
.limit(cursor > 0 ? READ_PAGE + 1 : READ_PAGE)
|
|
181
|
+
.select('seq', 'frame', 'created_at');
|
|
182
|
+
let fresh = rows;
|
|
183
|
+
if (cursor > 0) {
|
|
184
|
+
const head = rows[0];
|
|
185
|
+
if (head === undefined ||
|
|
186
|
+
toInt(head.seq) !== cursor ||
|
|
187
|
+
toInt(head.created_at) !== cursorAt) {
|
|
188
|
+
if (!(await this.has(runId)))
|
|
189
|
+
return;
|
|
190
|
+
cursor = 0;
|
|
191
|
+
cursorAt = 0;
|
|
192
|
+
continue;
|
|
193
|
+
}
|
|
194
|
+
fresh = rows.slice(1);
|
|
195
|
+
}
|
|
254
196
|
let ended = false;
|
|
255
|
-
for (const row of
|
|
197
|
+
for (const row of fresh) {
|
|
256
198
|
cursor = toInt(row.seq);
|
|
199
|
+
cursorAt = toInt(row.created_at);
|
|
257
200
|
if (row.frame === null || row.frame === undefined) {
|
|
258
201
|
ended = true;
|
|
259
202
|
continue;
|
|
@@ -263,13 +206,13 @@ export class LucidTokenStreamSink {
|
|
|
263
206
|
if (ended) {
|
|
264
207
|
return;
|
|
265
208
|
}
|
|
266
|
-
if (
|
|
209
|
+
if (fresh.length > 0) {
|
|
267
210
|
quietSince = Date.now();
|
|
268
211
|
// A full page means there may be more already written: read on without waiting.
|
|
269
|
-
if (
|
|
212
|
+
if (fresh.length >= READ_PAGE)
|
|
270
213
|
continue;
|
|
271
214
|
}
|
|
272
|
-
await
|
|
215
|
+
await sleepUnlessAborted(Date.now() - quietSince >= IDLE_AFTER_MS ? this.idlePollIntervalMs : this.pollIntervalMs, signal);
|
|
273
216
|
}
|
|
274
217
|
}
|
|
275
218
|
async has(runId) {
|
|
@@ -277,16 +220,7 @@ export class LucidTokenStreamSink {
|
|
|
277
220
|
return (await this.db.from(this.table).where('run_id', runId).first()) !== null;
|
|
278
221
|
}
|
|
279
222
|
async close(runId) {
|
|
280
|
-
|
|
281
|
-
if (state !== undefined) {
|
|
282
|
-
if (state.timer !== undefined)
|
|
283
|
-
clearTimeout(state.timer);
|
|
284
|
-
state.timer = undefined;
|
|
285
|
-
state.text = null;
|
|
286
|
-
state.failure = undefined;
|
|
287
|
-
await state.tail;
|
|
288
|
-
this.writes.delete(runId);
|
|
289
|
-
}
|
|
223
|
+
await this.writes.discard(runId);
|
|
290
224
|
await this.ensureSchema();
|
|
291
225
|
await this.db.from(this.table).where('run_id', runId).delete();
|
|
292
226
|
}
|
|
@@ -304,14 +238,22 @@ export class LucidTokenStreamSink {
|
|
|
304
238
|
return 0;
|
|
305
239
|
await this.ensureSchema();
|
|
306
240
|
const cutoff = now - this.ttlSeconds * 1000;
|
|
307
|
-
//
|
|
308
|
-
//
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
241
|
+
// A run has lapsed when it has a row older than the cutoff and none newer. Both halves read an
|
|
242
|
+
// index — `created_at` for the old rows, the primary key for a candidate's newer ones — so a
|
|
243
|
+
// purge costs what has aged out rather than a scan of the table. Separate statements rather
|
|
244
|
+
// than one `DELETE … WHERE run_id IN (SELECT … FROM the same table)`, which MySQL refuses; a
|
|
245
|
+
// run that writes in between was idle for the whole TTL a moment ago.
|
|
246
|
+
const candidates = rowsOf(await this.db.rawQuery(portableSql(this.db, `SELECT DISTINCT "run_id" AS run_id FROM "${this.table}" WHERE "created_at" < ?`), [cutoff])).map((row) => String(row.run_id));
|
|
247
|
+
const lapsed = [];
|
|
248
|
+
for (let index = 0; index < candidates.length; index += PURGE_CHUNK) {
|
|
249
|
+
const chunk = candidates.slice(index, index + PURGE_CHUNK);
|
|
250
|
+
const live = new Set(rowsOf(await this.db.rawQuery(portableSql(this.db, `SELECT DISTINCT "run_id" AS run_id FROM "${this.table}" ` +
|
|
251
|
+
`WHERE "run_id" IN (${chunk.map(() => '?').join(', ')}) AND "created_at" >= ?`), [...chunk, cutoff])).map((row) => String(row.run_id)));
|
|
252
|
+
const gone = chunk.filter((run) => !live.has(run));
|
|
253
|
+
if (gone.length === 0)
|
|
254
|
+
continue;
|
|
255
|
+
await this.db.from(this.table).whereIn('run_id', gone).delete();
|
|
256
|
+
lapsed.push(...gone);
|
|
315
257
|
}
|
|
316
258
|
return lapsed.length;
|
|
317
259
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucid-token-stream-sink.js","sourceRoot":"","sources":["../../src/lucid-token-stream-sink.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucid-token-stream-sink.js","sourceRoot":"","sources":["../../src/lucid-token-stream-sink.ts"],"names":[],"mappings":"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"}
|
package/dist/src/processors.d.ts
CHANGED
|
@@ -102,7 +102,9 @@ export interface IncrementalGate {
|
|
|
102
102
|
* The chain runs over the whole PREFIX accumulated so far rather than over each new frame, so a
|
|
103
103
|
* processor always sees well-formed text and never has to reassemble a pattern split across frames —
|
|
104
104
|
* which is what makes {@link import('./spi/processors.js').IncrementalGating}'s promise a claim
|
|
105
|
-
* about prefixes. It runs once
|
|
105
|
+
* about prefixes. It runs once at least half of `lookbackChars` new characters have arrived since its
|
|
106
|
+
* last run, so a long answer costs a bounded number of passes per window rather than one per token;
|
|
107
|
+
* the whole-answer pass releases whatever text is still held when the model call ends.
|
|
106
108
|
*
|
|
107
109
|
* Only an EXTENSION of what the reader already has is ever written: a chain whose output stops
|
|
108
110
|
* agreeing with its earlier output has broken its promise, and the loop's whole-answer pass reports
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processors.d.ts","sourceRoot":"","sources":["../../src/processors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EAEpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,iDAAiD;IACjD,MAAM,IAAI,WAAW,EAAE,CAAC;CACzB;AAED,wBAAgB,iBAAiB,IAAI,WAAW,CAW/C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,WAAW,EAAE,CAkBhB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IACtC,MAAM,EAAE,eAAe,CAAC;IACxB,GAAG,EAAE,gBAAgB,CAAC;CACvB,GAAG,OAAO,CAAC,eAAe,CAAC,CAU3B;AAED,qGAAqG;AACrG,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,kGAAkG;AAClG,MAAM,WAAW,gBAAgB;IAC/B,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,gBAAgB,CAAC;CACvB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkB5B;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,OAAO,GAAG,aAAa,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,GAAG,cAAc,CAO5F;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAWlF;AAED,+FAA+F;AAC/F,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,MAAM,EAAE,UAAU,CAAC;IACnB,4FAA4F;IAC5F,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,gEAAgE;IAChE,QAAQ,IAAI,MAAM,CAAC;IACnB,8EAA8E;IAC9E,SAAS,IAAI,aAAa,GAAG,SAAS,CAAC;CACxC;AAED
|
|
1
|
+
{"version":3,"file":"processors.d.ts","sourceRoot":"","sources":["../../src/processors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EAEpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,iDAAiD;IACjD,MAAM,IAAI,WAAW,EAAE,CAAC;CACzB;AAED,wBAAgB,iBAAiB,IAAI,WAAW,CAW/C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,WAAW,EAAE,CAkBhB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IACtC,MAAM,EAAE,eAAe,CAAC;IACxB,GAAG,EAAE,gBAAgB,CAAC;CACvB,GAAG,OAAO,CAAC,eAAe,CAAC,CAU3B;AAED,qGAAqG;AACrG,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,kGAAkG;AAClG,MAAM,WAAW,gBAAgB;IAC/B,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,gBAAgB,CAAC;CACvB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkB5B;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,OAAO,GAAG,aAAa,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,GAAG,cAAc,CAO5F;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAWlF;AAED,+FAA+F;AAC/F,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,MAAM,EAAE,UAAU,CAAC;IACnB,4FAA4F;IAC5F,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,gEAAgE;IAChE,QAAQ,IAAI,MAAM,CAAC;IACnB,8EAA8E;IAC9E,SAAS,IAAI,aAAa,GAAG,SAAS,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;IACvC,GAAG,EAAE,gBAAgB,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;CACpB,GAAG,eAAe,CA4ElB;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE;IAC7B,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,CAYT"}
|
package/dist/src/processors.js
CHANGED
|
@@ -118,7 +118,9 @@ export function resolveGateLookback(processors) {
|
|
|
118
118
|
* The chain runs over the whole PREFIX accumulated so far rather than over each new frame, so a
|
|
119
119
|
* processor always sees well-formed text and never has to reassemble a pattern split across frames —
|
|
120
120
|
* which is what makes {@link import('./spi/processors.js').IncrementalGating}'s promise a claim
|
|
121
|
-
* about prefixes. It runs once
|
|
121
|
+
* about prefixes. It runs once at least half of `lookbackChars` new characters have arrived since its
|
|
122
|
+
* last run, so a long answer costs a bounded number of passes per window rather than one per token;
|
|
123
|
+
* the whole-answer pass releases whatever text is still held when the model call ends.
|
|
122
124
|
*
|
|
123
125
|
* Only an EXTENSION of what the reader already has is ever written: a chain whose output stops
|
|
124
126
|
* agreeing with its earlier output has broken its promise, and the loop's whole-answer pass reports
|
|
@@ -129,7 +131,12 @@ export function resolveGateLookback(processors) {
|
|
|
129
131
|
*/
|
|
130
132
|
export function createIncrementalGate(args) {
|
|
131
133
|
const { processors, ctx, lookbackChars, writer } = args;
|
|
134
|
+
// How much new text the chain waits for between two runs. Every run re-reads the whole prefix, so
|
|
135
|
+
// running it per frame costs the square of the answer's length; half the window still releases
|
|
136
|
+
// text well before the held-back tail fills, and the whole-answer pass writes whatever is left.
|
|
137
|
+
const advanceEvery = Math.max(1, Math.floor(lookbackChars / 2));
|
|
132
138
|
let raw = '';
|
|
139
|
+
let ruledOn = 0;
|
|
133
140
|
let released = '';
|
|
134
141
|
let rejection;
|
|
135
142
|
/** A prefix the chain could not rule on. Text stops flowing; the whole-answer pass decides. */
|
|
@@ -141,6 +148,7 @@ export function createIncrementalGate(args) {
|
|
|
141
148
|
if (raw.length === 0) {
|
|
142
149
|
return;
|
|
143
150
|
}
|
|
151
|
+
ruledOn = raw.length;
|
|
144
152
|
let settled;
|
|
145
153
|
try {
|
|
146
154
|
settled = await runOutputProcessors({
|
|
@@ -176,7 +184,7 @@ export function createIncrementalGate(args) {
|
|
|
176
184
|
}
|
|
177
185
|
if (frame.t === 'text') {
|
|
178
186
|
raw += frame.v;
|
|
179
|
-
if (!stalled) {
|
|
187
|
+
if (!stalled && raw.length - ruledOn >= advanceEvery) {
|
|
180
188
|
await advance();
|
|
181
189
|
}
|
|
182
190
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processors.js","sourceRoot":"","sources":["../../src/processors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"processors.js","sourceRoot":"","sources":["../../src/processors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-agent-chat.d.ts","sourceRoot":"","sources":["../../../../src/react/core/use-agent-chat.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"use-agent-chat.d.ts","sourceRoot":"","sources":["../../../../src/react/core/use-agent-chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,8 @@ import { storedThreadToUiMessages, } from './stored-thread-to-ui-messages.js';
|
|
|
16
16
|
import { notifyThreads } from './threads/threads-events.js';
|
|
17
17
|
import { useChatTranscript, } from './transcript/use-chat-transcript.js';
|
|
18
18
|
const EMPTY_QUEUE = { items: [], paused: null };
|
|
19
|
+
/** The most often a streaming answer re-renders the chat (ms): 20 frames a second. */
|
|
20
|
+
const STREAM_RENDER_THROTTLE_MS = 50;
|
|
19
21
|
let localQueueSequence = 0;
|
|
20
22
|
/** The user message a queued message becomes once its turn starts. */
|
|
21
23
|
function queuedUserMessage(turn) {
|
|
@@ -255,6 +257,9 @@ export function useAgentChat(options = {}) {
|
|
|
255
257
|
const chat = useChat({
|
|
256
258
|
transport,
|
|
257
259
|
id: chatId,
|
|
260
|
+
// A model streams a token at a time; publishing each one re-renders the chat and rebuilds its
|
|
261
|
+
// transcript per token. `experimental_throttle` is the spelling every `@ai-sdk/react` 4.x reads.
|
|
262
|
+
experimental_throttle: STREAM_RENDER_THROTTLE_MS,
|
|
258
263
|
resume: options.resumeRunId !== undefined,
|
|
259
264
|
...(options.initialMessages !== undefined ? { messages: options.initialMessages } : {}),
|
|
260
265
|
onData: (part) => {
|