@haikit/server 0.17.0 → 0.18.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/README.md +60 -0
- package/dist/routes.js +44 -1
- package/dist/routes.js.map +1 -1
- package/dist/runtime.d.ts +56 -3
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +307 -15
- package/dist/runtime.js.map +1 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +1 -0
- package/dist/store.js.map +1 -1
- package/package.json +2 -2
- package/src/routes.ts +42 -1
- package/src/runtime.ts +337 -14
- package/src/store.ts +1 -0
package/README.md
CHANGED
|
@@ -258,6 +258,66 @@ wakes again, so no tool runs twice. When a turn ends, the stream sends
|
|
|
258
258
|
that before it sends anything. `hai.wake(conversationId, emit)` is what the
|
|
259
259
|
route calls, if you serve the events stream yourself.
|
|
260
260
|
|
|
261
|
+
**App code can revise a surface too, outside any turn.** A price feed moving
|
|
262
|
+
a fare, an airline repricing a table: `hai.update` is `ctx.update` for code
|
|
263
|
+
that isn't a tool.
|
|
264
|
+
|
|
265
|
+
```ts
|
|
266
|
+
const hai = createHai({ model, store, tools, surfaces, system, updates: true });
|
|
267
|
+
|
|
268
|
+
// anywhere, whenever
|
|
269
|
+
const { handle } = await hai.update(conversationId, flightTableServer, "ui_03", { ...props, flights: repriced }, {
|
|
270
|
+
model: "Fares moved: AC832 is now $389 (was $343).", // optional
|
|
271
|
+
wake: true, // optional: have the model tell the user now
|
|
272
|
+
});
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
`hai.update` refuses without `updates: true`, even in an app that lists
|
|
276
|
+
`notices`. The flag opens the events stream, which is how a revision reaches
|
|
277
|
+
the browser, and has the events route start the turn an update sent with
|
|
278
|
+
`wake` asks for. The props are typed from the surface's contract and checked
|
|
279
|
+
against its schema before anything else happens.
|
|
280
|
+
|
|
281
|
+
It takes the conversation's lease, as a request does, and writes the revision
|
|
282
|
+
through the same fenced path as `ctx.update`, so a click can never act on
|
|
283
|
+
props the server doesn't hold. While a turn holds the conversation it waits,
|
|
284
|
+
backing off, for up to `timeoutMs` (default 30 s), then throws
|
|
285
|
+
`ConversationBusy`: a reprice during a model reply lands when the reply ends.
|
|
286
|
+
The rules are `ctx.update`'s: a click on the old handle is refused, its window
|
|
287
|
+
stops counting, an out-of-date conversation stays out of date, and an answered
|
|
288
|
+
surface can't be revised. `handle` may be any handle the surface has had; the
|
|
289
|
+
revision replaces the latest. A question waiting on the surface waits on the
|
|
290
|
+
revision, and its answer goes out under the digest the model saw, with the
|
|
291
|
+
update after it.
|
|
292
|
+
|
|
293
|
+
Then it appends an *update notice*, which tells both sides:
|
|
294
|
+
|
|
295
|
+
- The events stream sends the browser the revision, as the `ui_open` (with
|
|
296
|
+
`replaces`) and `ui_props` a tool's revision sends, and the browser swaps
|
|
297
|
+
the new props into the component on screen. Delivery is the notice log's:
|
|
298
|
+
in order, resumed with `Last-Event-ID`, and across servers.
|
|
299
|
+
- The model hears it in the next user message, or at once with `wake`, under
|
|
300
|
+
the rules a `wake` notice follows:
|
|
301
|
+
`[UI update] Fares moved: AC832 is now $389 (was $343). ui_03 was replaced by ui_05; its earlier digest is out of date. Now: <the new digest>`.
|
|
302
|
+
Your `model` sentence is optional; the rest is always there.
|
|
303
|
+
|
|
304
|
+
The revision and the notice it owes commit together, in one fenced save on the
|
|
305
|
+
conversation row (`Conversation.announcing`), before the notice is appended.
|
|
306
|
+
If appending it fails, `hai.update` throws, saying so, and the notice stays
|
|
307
|
+
owed: whoever holds the conversation next, a request, a wake or another
|
|
308
|
+
update, appends it before doing anything else, so the model hears of the
|
|
309
|
+
revision before it runs again. Delivery is at least once: a notice already
|
|
310
|
+
appended by a holder whose save then failed isn't appended again, but an
|
|
311
|
+
append that stalls past the lease while the next holder sends it can land
|
|
312
|
+
twice. The browser shows the revision once either way; the model reads its
|
|
313
|
+
text twice.
|
|
314
|
+
|
|
315
|
+
One write per surface is in flight at a time. A call made meanwhile replaces
|
|
316
|
+
any still waiting behind it, and every call it replaced resolves to the handle
|
|
317
|
+
it writes, so a feed ticking ten times a second writes as often as the lease
|
|
318
|
+
allows. Calls naming the surface's first handle or its latest share the
|
|
319
|
+
queue. A `wake` any of them asked for still wakes.
|
|
320
|
+
|
|
261
321
|
**A conversation closes once any of its surfaces passes its `staleAfterMs`.**
|
|
262
322
|
From then on both routes answer with an `expired` event and the model is not
|
|
263
323
|
called, so a picker left open over a weekend cannot resolve against last week's
|
package/dist/routes.js
CHANGED
|
@@ -227,6 +227,34 @@ async function streamNotices(hai, req, res, url) {
|
|
|
227
227
|
wake();
|
|
228
228
|
});
|
|
229
229
|
};
|
|
230
|
+
// An update notice goes out as the revision it announces: the surface, with
|
|
231
|
+
// how long ago it was stored, and its props. Only the last frame carries the
|
|
232
|
+
// notice's id, so a stream cut off between the two resumes with both. A
|
|
233
|
+
// revision whose payload is gone, swept with an old conversation's, is
|
|
234
|
+
// passed over with its id alone, so a browser resumes after it rather than
|
|
235
|
+
// being sent it again on every reconnect.
|
|
236
|
+
const sendRevision = async (handle, replaces, seq) => {
|
|
237
|
+
const record = await store.getPayload(handle, conversationId);
|
|
238
|
+
if (signal.aborted)
|
|
239
|
+
return;
|
|
240
|
+
if (!record)
|
|
241
|
+
return write(`id: ${seq}\n\n`);
|
|
242
|
+
const window = typeof record.staleAfterMs === "number" ? record.staleAfterMs : undefined;
|
|
243
|
+
const open = {
|
|
244
|
+
type: "ui_open",
|
|
245
|
+
handle,
|
|
246
|
+
// no tool call made it: the browser keeps the row of the one it replaces
|
|
247
|
+
toolId: "",
|
|
248
|
+
component: record.component,
|
|
249
|
+
version: record.version,
|
|
250
|
+
mode: record.mode,
|
|
251
|
+
...(window === undefined ? {} : { staleAfterMs: window }),
|
|
252
|
+
ageMs: Math.max(0, Date.now() - record.createdAt),
|
|
253
|
+
replaces,
|
|
254
|
+
};
|
|
255
|
+
await write(`data: ${JSON.stringify(open)}\n\n`);
|
|
256
|
+
await write(`id: ${seq}\ndata: ${JSON.stringify({ type: "ui_props", handle, props: record.props })}\n\n`);
|
|
257
|
+
};
|
|
230
258
|
// Everything after `after`, a page at a time, until a page comes back short.
|
|
231
259
|
// A conversation deleted since the stream opened ends it: there is nothing
|
|
232
260
|
// more to wait for, and the browser's reconnect is then refused.
|
|
@@ -241,6 +269,12 @@ async function streamNotices(hai, req, res, url) {
|
|
|
241
269
|
return;
|
|
242
270
|
if (n.seq <= after)
|
|
243
271
|
continue;
|
|
272
|
+
if (n.replaces !== undefined && n.handle !== undefined) {
|
|
273
|
+
await sendRevision(n.handle, n.replaces, n.seq);
|
|
274
|
+
after = n.seq;
|
|
275
|
+
woken ||= n.kind === "wake";
|
|
276
|
+
continue;
|
|
277
|
+
}
|
|
244
278
|
const event = {
|
|
245
279
|
type: "notice",
|
|
246
280
|
seq: n.seq,
|
|
@@ -319,7 +353,16 @@ function remember(shown, event) {
|
|
|
319
353
|
else {
|
|
320
354
|
// A revision of a surface this turn showed takes its place: a stream
|
|
321
355
|
// joining later sees the surface once, as it is now. Its old props go.
|
|
322
|
-
|
|
356
|
+
// It keeps `replaces`, so a browser that did see the old one swaps it in
|
|
357
|
+
// place rather than adding a second, and the old one's tool row, which
|
|
358
|
+
// the browser keeps through a revision too.
|
|
359
|
+
const before = shown[replaced];
|
|
360
|
+
copy.toolId = before.toolId;
|
|
361
|
+
// and every handle the surface had before, for a browser that last saw
|
|
362
|
+
// one of those and missed the revisions between
|
|
363
|
+
const earlier = [...(before.alsoReplaces ?? []), ...(before.replaces === undefined ? [] : [before.replaces])];
|
|
364
|
+
if (earlier.length)
|
|
365
|
+
copy.alsoReplaces = earlier;
|
|
323
366
|
shown[replaced] = copy;
|
|
324
367
|
for (let i = shown.length - 1; i >= 0; i--) {
|
|
325
368
|
const e = shown[i];
|
package/dist/routes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AnyNoticeImpl, type AnySurfaceImpl, type Conversation, type Emit, type ModelAdapter, type Notify, type StoreAdapter, type Tool } from "@haikit/core";
|
|
1
|
+
import { type AnyNoticeImpl, type AnySurfaceImpl, type Conversation, type Emit, type ModelAdapter, type Notify, type StoreAdapter, type Tool, type Update } from "@haikit/core";
|
|
2
2
|
export interface HaiConfig {
|
|
3
3
|
model: ModelAdapter;
|
|
4
4
|
store: StoreAdapter;
|
|
@@ -50,6 +50,13 @@ export interface HaiConfig {
|
|
|
50
50
|
count: number;
|
|
51
51
|
perMs: number;
|
|
52
52
|
};
|
|
53
|
+
/**
|
|
54
|
+
* Set when app code revises surfaces with `hai.update`, which refuses
|
|
55
|
+
* without it. The browser then opens the events stream, which is how a
|
|
56
|
+
* revision reaches it, and the events route starts the turns an update sent
|
|
57
|
+
* with `wake` asks for.
|
|
58
|
+
*/
|
|
59
|
+
updates?: boolean;
|
|
53
60
|
}
|
|
54
61
|
/**
|
|
55
62
|
* What `hai.wake` did: started a turn; started one that failed, and put the
|
|
@@ -73,13 +80,28 @@ export declare class Hai {
|
|
|
73
80
|
private readonly queryUi;
|
|
74
81
|
/** Handles each conversation has a revision of in flight, so two calls can't revise one at once. */
|
|
75
82
|
private readonly revising;
|
|
83
|
+
/** `hai.update` calls by conversation and surface: one writing, and the newest waiting behind it. */
|
|
84
|
+
private readonly updating;
|
|
85
|
+
/**
|
|
86
|
+
* The surfaces `hai.update` has revised, by conversation: each one's first
|
|
87
|
+
* handle and its latest, both mapped to the first, so calls naming either
|
|
88
|
+
* share a queue. Kept for the most recent conversations only; one let go of
|
|
89
|
+
* costs coalescing, never correctness, since every write revises the latest.
|
|
90
|
+
*/
|
|
91
|
+
private readonly surfaceNames;
|
|
76
92
|
/** What the model gets as its system prompt: the app's, then the scope. */
|
|
77
93
|
readonly system: string;
|
|
78
94
|
private seq;
|
|
79
95
|
constructor(config: HaiConfig);
|
|
80
|
-
/**
|
|
96
|
+
/**
|
|
97
|
+
* Whether this app sends notices, `hai.update`'s included, so the browser
|
|
98
|
+
* should open the events stream.
|
|
99
|
+
*/
|
|
81
100
|
get sendsNotices(): boolean;
|
|
82
|
-
/**
|
|
101
|
+
/**
|
|
102
|
+
* Whether any of its notices may be `wake` notices, which the events route
|
|
103
|
+
* starts turns for: a registered one, or an update sent with `wake`.
|
|
104
|
+
*/
|
|
83
105
|
get wakes(): boolean;
|
|
84
106
|
/**
|
|
85
107
|
* Send a notice to a conversation: its payload to the browser now, over the
|
|
@@ -92,6 +114,37 @@ export declare class Hai {
|
|
|
92
114
|
* the events route, where a browser is watching (see `wake`).
|
|
93
115
|
*/
|
|
94
116
|
readonly notify: Notify;
|
|
117
|
+
/**
|
|
118
|
+
* Revise a surface from outside any turn: a webhook, a job, a price feed.
|
|
119
|
+
* The revision is stored and attached as `ctx.update` does, under the
|
|
120
|
+
* conversation's lease, so a click can never act on props the server doesn't
|
|
121
|
+
* hold. Then an *update notice* tells both sides: the events stream sends
|
|
122
|
+
* the browser the revision, which it swaps into the component on screen,
|
|
123
|
+
* and the model hears which handle replaced which, with the new digest, in
|
|
124
|
+
* the next user message (or at once, with `wake`).
|
|
125
|
+
*
|
|
126
|
+
* `handle` may be any handle the surface has had: the revision replaces the
|
|
127
|
+
* latest. It throws if that one was answered, if the conversation is out of
|
|
128
|
+
* date, and, after waiting `timeoutMs` for a turn to let the conversation
|
|
129
|
+
* go, with `ConversationBusy`. A question waiting on the surface waits on
|
|
130
|
+
* the revision.
|
|
131
|
+
*
|
|
132
|
+
* One write per surface is in flight at a time. A call made meanwhile
|
|
133
|
+
* replaces any still waiting behind it, and every call it replaced resolves
|
|
134
|
+
* to the handle it writes; a wake any of them asked for still wakes.
|
|
135
|
+
*/
|
|
136
|
+
readonly update: Update;
|
|
137
|
+
/** Record that `first`'s surface went from `replaced` to `latest`, for the next call's queue. */
|
|
138
|
+
private name;
|
|
139
|
+
/**
|
|
140
|
+
* Append the update notice this conversation owes, if any, before anything
|
|
141
|
+
* else is done with it: a revision whose own attempt to append it failed.
|
|
142
|
+
* One a holder appended before its save failed is not appended again.
|
|
143
|
+
*/
|
|
144
|
+
private announce;
|
|
145
|
+
/** One `hai.update` write: take the lease, revise, let the conversation go. */
|
|
146
|
+
private revise;
|
|
147
|
+
private reviseHeld;
|
|
95
148
|
/**
|
|
96
149
|
* Start a turn for the `wake` notices this conversation hasn't taken in, if
|
|
97
150
|
* it can take one now. The events route calls this, and streams the turn
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAGlB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,MAAM,EAEX,KAAK,YAAY,EACjB,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|