use-agentenkit 0.3.0 → 0.4.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/dist/config.d.ts CHANGED
@@ -14,10 +14,14 @@ export interface AgentRoutes {
14
14
  stop: string;
15
15
  /** POST { threadId, toolCallId, approved, payload? } — answer an approval */
16
16
  respond: string;
17
- /** GET, server-sent events. Resumes from `since`. */
17
+ /** GET, server-sent events. Resumes from `cursor` ("<seq> <streamId>
18
+ * <offset>"); `since` is the record seq alone, for an older server.
19
+ * `lastMessageId` lets a catch-up carry only the messages after it. */
18
20
  stream: Route<{
19
21
  threadId: string;
20
22
  since: number;
23
+ cursor: string;
24
+ lastMessageId?: string;
21
25
  }>;
22
26
  /** GET → ThreadSnapshot */
23
27
  history: Route<{
@@ -60,6 +64,12 @@ export interface ActivityLabels {
60
64
  stopped: string;
61
65
  failed: string;
62
66
  runFailed: string;
67
+ /** `run()` was called while a run is still going, or a send is in flight. */
68
+ runBusy: string;
69
+ /** An edit named a message the server has not confirmed yet. */
70
+ editUnconfirmed: string;
71
+ /** The server refused the run (billing, a full queue): RUN_REFUSED. */
72
+ runRefused: string;
63
73
  stopFailed: string;
64
74
  responseFailed: string;
65
75
  loadFailed: string;
@@ -88,7 +98,18 @@ export declare function browserPersistence(storageKey?: string): ThreadPersisten
88
98
  export interface StreamHandlers {
89
99
  /** One event frame, still encoded. */
90
100
  onMessage: (data: string) => void;
101
+ /** A transient failure: the transport is reconnecting on its own. */
91
102
  onError: (error: unknown) => void;
103
+ /** The stream is open, first time or after a reconnect. Optional for a
104
+ * transport to call: the hook takes a stream it was handed as open. */
105
+ onOpen?: () => void;
106
+ /** The stream is closed for good: the transport gave up (a 401, a 404).
107
+ * The hook re-reads the thread and opens a new stream, with a backoff. */
108
+ onClose?: () => void;
109
+ /** Where the hook is: "<seq> <streamId> <offset>", the id of the last
110
+ * frame it applied. A transport that reconnects on its own resumes after
111
+ * it, so nothing is shown twice or missed. */
112
+ getCursor: () => string;
92
113
  }
93
114
  export interface StreamSubscription {
94
115
  close(): void;
@@ -114,7 +135,8 @@ export interface AgentRunConfig {
114
135
  * CANNOT send headers — so `headers` does not reach the stream. An API
115
136
  * behind a bearer token needs its own implementation here (or a cookie). */
116
137
  openStream?: OpenStream;
117
- /** Used by `run()` when the caller names no model. */
138
+ /** Used by `run()` when the caller names no model. Unset (the default)
139
+ * sends none, and the server uses the agent's own model. */
118
140
  defaultModel?: string;
119
141
  /** `false` keeps the thread id in memory only. */
120
142
  persistence?: ThreadPersistence | false;
@@ -124,6 +146,9 @@ export interface AgentRunConfig {
124
146
  * event is handled and stop the built-in reducer — that is how an app adds
125
147
  * its own event types, or overrides one. */
126
148
  onEvent?: (event: StreamEvent) => boolean | void;
149
+ /** An app's own event, by name: one a tool sent with `publishEvent`, from
150
+ * the run stream or, when durable, from the thread record. */
151
+ onCustom?: (name: string, value: unknown) => void;
127
152
  /** Background refresh for the thread list, in ms. `false` disables it —
128
153
  * other tabs and the worker can change thread state without this tab
129
154
  * seeing an event, which is the only reason it exists. */
@@ -137,11 +162,12 @@ export interface ResolvedConfig {
137
162
  fetch: FetchLike;
138
163
  headers: () => HeadersInit | Promise<HeadersInit>;
139
164
  openStream: OpenStream;
140
- defaultModel: string;
165
+ defaultModel: string | undefined;
141
166
  persistence: ThreadPersistence | null;
142
167
  labels: ActivityLabels;
143
168
  format: EntryFormat;
144
169
  onEvent: ((event: StreamEvent) => boolean | void) | undefined;
170
+ onCustom: ((name: string, value: unknown) => void) | undefined;
145
171
  threadsRefreshMs: number | false;
146
172
  loadThreadsOnMount: boolean;
147
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -29,6 +29,9 @@ export const defaultLabels = {
29
29
  stopped: 'Stopped',
30
30
  failed: 'Failed',
31
31
  runFailed: 'Could not start run',
32
+ runBusy: 'A run is already in progress',
33
+ editUnconfirmed: 'That message is not saved yet',
34
+ runRefused: 'Run refused',
32
35
  stopFailed: 'Could not stop run',
33
36
  responseFailed: 'Could not send response',
34
37
  loadFailed: 'Could not load conversation',
@@ -77,7 +80,9 @@ export function browserPersistence(storageKey = 'use-agentenkit:last-thread') {
77
80
  }
78
81
  const url = new URL(window.location.href);
79
82
  url.searchParams.set('threadId', threadId);
80
- window.history.replaceState({}, '', url);
83
+ // The router's own state is passed through: replacing it with {} breaks
84
+ // the Next.js App Router, which keeps its tree there.
85
+ window.history.replaceState(window.history.state, '', url);
81
86
  },
82
87
  clear: () => {
83
88
  if (!canUseDom())
@@ -90,14 +95,18 @@ export function browserPersistence(storageKey = 'use-agentenkit:last-thread') {
90
95
  }
91
96
  const url = new URL(window.location.href);
92
97
  url.searchParams.delete('threadId');
93
- window.history.replaceState({}, '', url);
98
+ window.history.replaceState(window.history.state, '', url);
94
99
  },
95
100
  };
96
101
  }
97
- export const browserEventStream = (url, { onMessage, onError }) => {
102
+ export const browserEventStream = (url, { onMessage, onError, onOpen, onClose }) => {
98
103
  const source = new EventSource(url);
104
+ source.onopen = () => onOpen?.();
99
105
  source.onmessage = (event) => onMessage(event.data);
100
- source.onerror = (event) => onError(event);
106
+ // EventSource retries a dropped connection on its own, and gives up for
107
+ // good on an HTTP error (a 401, a 404): it is then CLOSED, and only a new
108
+ // stream can carry on.
109
+ source.onerror = (event) => (source.readyState === EventSource.CLOSED ? onClose?.() : onError(event));
101
110
  return { close: () => source.close() };
102
111
  };
103
112
  export function resolveConfig(config = {}) {
@@ -111,11 +120,12 @@ export function resolveConfig(config = {}) {
111
120
  fetch: config.fetch ?? ((...args) => globalThis.fetch(...args)),
112
121
  headers: typeof headers === 'function' ? headers : () => headers ?? {},
113
122
  openStream: config.openStream ?? browserEventStream,
114
- defaultModel: config.defaultModel ?? 'gpt-4o',
123
+ defaultModel: config.defaultModel,
115
124
  persistence: config.persistence === false ? null : (config.persistence ?? browserPersistence()),
116
125
  labels: { ...defaultLabels, ...config.labels },
117
126
  format: { ...defaultFormat, ...config.format },
118
127
  onEvent: config.onEvent,
128
+ onCustom: config.onCustom,
119
129
  threadsRefreshMs: config.threadsRefreshMs ?? 30_000,
120
130
  loadThreadsOnMount: config.loadThreadsOnMount ?? true,
121
131
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { StreamEvent, WireStreamItem } from './types.js';
2
+ /** Where the hook is, as the server reads it: the thread record's last seq
3
+ * and its place in a run stream, `<seq> <streamId> <offset>` with `-` for a
4
+ * part it does not have. */
5
+ export interface ThreadCursor {
6
+ seq: number;
7
+ streamId?: string;
8
+ offset?: string;
9
+ }
10
+ export declare function formatCursor(c: ThreadCursor): string;
11
+ /** A run stream event as one or more of the thread events the reducer knows:
12
+ * a delta as the CHUNK it replaces, a nested run's event as SUBAGENT_CHUNK,
13
+ * a one-shot answer as TEXT_RESULT. Events with nothing to show (a run's
14
+ * start and end, a step's end) become none; the thread's own notices say
15
+ * what state the run is in. Each comes out as a live event (seq 0), so it
16
+ * never moves the record cursor. */
17
+ export declare function streamItemEvents(item: WireStreamItem): StreamEvent[];
18
+ //# sourceMappingURL=frames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../src/frames.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9D;;6BAE6B;AAC7B,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAEpD;AAED;;;;;qCAKqC;AACrC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,WAAW,EAAE,CA6BpE"}
package/dist/frames.js ADDED
@@ -0,0 +1,61 @@
1
+ export function formatCursor(c) {
2
+ return `${c.seq} ${c.streamId || '-'} ${c.offset || '-'}`;
3
+ }
4
+ /** A run stream event as one or more of the thread events the reducer knows:
5
+ * a delta as the CHUNK it replaces, a nested run's event as SUBAGENT_CHUNK,
6
+ * a one-shot answer as TEXT_RESULT. Events with nothing to show (a run's
7
+ * start and end, a step's end) become none; the thread's own notices say
8
+ * what state the run is in. Each comes out as a live event (seq 0), so it
9
+ * never moves the record cursor. */
10
+ export function streamItemEvents(item) {
11
+ const live = (type, payload) => ({ seq: 0, type, payload });
12
+ const chunk = chunkOf(item);
13
+ if (chunk)
14
+ return [live('CHUNK', chunk)];
15
+ switch (item.type) {
16
+ case 'SUBAGENT_STARTED':
17
+ return [live('SUBAGENT_STARTED', { agentId: item.subagentId, name: item.name, depth: item.depth })];
18
+ case 'SUBAGENT_EVENT': {
19
+ const inner = chunkOf(item.event);
20
+ return inner ? [live('SUBAGENT_CHUNK', { agentId: item.subagentId, chunk: inner })] : [];
21
+ }
22
+ case 'SUBAGENT_FINISHED':
23
+ return item.status === 'completed'
24
+ ? [live('SUBAGENT_COMPLETED', { agentId: item.subagentId })]
25
+ : [live('SUBAGENT_FAILED', {
26
+ agentId: item.subagentId,
27
+ state: item.status === 'cancelled' ? 'CANCELLED' : 'FAILED',
28
+ ...(item.error !== undefined ? { error: item.error } : {}),
29
+ })];
30
+ case 'INPUT_REQUIRED': {
31
+ const { type: _type, offset: _offset, ...request } = item;
32
+ return [live('INPUT_REQUIRED', request)];
33
+ }
34
+ case 'CUSTOM':
35
+ return [live(item.name, item.value)];
36
+ case 'RUN_FINISHED':
37
+ return typeof item.text === 'string' ? [live('TEXT_RESULT', { text: item.text })] : [];
38
+ }
39
+ return [];
40
+ }
41
+ /** A content event as the SDK stream part it stands for, or null. */
42
+ function chunkOf(e) {
43
+ switch (e.type) {
44
+ case 'TEXT_MESSAGE_CONTENT':
45
+ return { type: 'text-delta', textDelta: e.delta };
46
+ case 'REASONING_CONTENT':
47
+ return { type: 'reasoning', textDelta: e.delta };
48
+ case 'TOOL_CALL_START':
49
+ return { type: 'tool-call-streaming-start', toolCallId: e.toolCallId, toolName: e.toolName };
50
+ case 'TOOL_CALL_ARGS':
51
+ return { type: 'tool-call-delta', toolCallId: e.toolCallId, argsTextDelta: e.delta };
52
+ case 'TOOL_CALL_END':
53
+ return { type: 'tool-call', toolCallId: e.toolCallId, toolName: e.toolName, args: e.args };
54
+ case 'TOOL_CALL_RESULT':
55
+ return { type: 'tool-result', toolCallId: e.toolCallId, toolName: e.toolName, result: e.result };
56
+ case 'SOURCE':
57
+ return { type: 'source', source: e.source };
58
+ }
59
+ return null;
60
+ }
61
+ //# sourceMappingURL=frames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frames.js","sourceRoot":"","sources":["../src/frames.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,5 +7,6 @@ export { defaultRoutes, defaultLabels, defaultFormat, browserPersistence, browse
7
7
  export type { AgentRunConfig, ResolvedConfig, AgentRoutes, Route, ActivityLabels, EntryFormat, ThreadPersistence, FetchLike, OpenStream, StreamHandlers, StreamSubscription, } from './config.js';
8
8
  export { answeredToolCalls, contentToParts, contentToText, formatCost, isToolError, messageToEntry, messageToEntries, reasoningText, stateActivity, toolCallOutcomes, } from './format.js';
9
9
  export type { ToolCallOutcomes } from './format.js';
10
- export type { AgentState, AgentActivity, ActivityPhase, Attachment, ChatEntry, EntryPart, MessageRole, PendingInput, RunResult, SnapshotMessage, SnapshotRun, StreamEvent, SubagentStatus, SubagentView, ThreadListItem, ThreadRun, ThreadSnapshot, ThreadUsage, UsageTotals, UsageLine, ContextUsage, } from './types.js';
10
+ export { formatCursor, streamItemEvents, type ThreadCursor } from './frames.js';
11
+ export type { AgentState, AgentActivity, ConnectionState, ActivityPhase, Attachment, ChatEntry, EntryPart, MessageRole, PendingInput, RunResult, SnapshotMessage, SnapshotRun, StreamEvent, FollowFrame, WireStreamItem, SnapshotStream, SubagentStatus, SubagentView, ThreadListItem, ThreadRun, ThreadSnapshot, ThreadUsage, UsageTotals, UsageLine, ContextUsage, } from './types.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,QAAQ,GACT,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,KAAK,EACL,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,YAAY,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,UAAU,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,SAAS,EACT,eAAe,EACf,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,cAAc,EACd,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,EACX,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,QAAQ,GACT,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,KAAK,EACL,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhF,YAAY,EACV,UAAU,EACV,aAAa,EACb,eAAe,EACf,aAAa,EACb,UAAU,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,SAAS,EACT,eAAe,EACf,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,EACX,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -3,4 +3,5 @@ export { AgentRunProvider } from './provider.js';
3
3
  export { useAgentRunConfig, mergeConfig } from './context.js';
4
4
  export { defaultRoutes, defaultLabels, defaultFormat, browserPersistence, browserEventStream, resolveConfig, withQuery, routeUrl, } from './config.js';
5
5
  export { answeredToolCalls, contentToParts, contentToText, formatCost, isToolError, messageToEntry, messageToEntries, reasoningText, stateActivity, toolCallOutcomes, } from './format.js';
6
+ export { formatCursor, streamItemEvents } from './frames.js';
6
7
  //# 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":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,QAAQ,GACT,MAAM,aAAa,CAAC;AAerB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,QAAQ,GACT,MAAM,aAAa,CAAC;AAerB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAqB,MAAM,aAAa,CAAC"}
package/dist/types.d.ts CHANGED
@@ -52,6 +52,10 @@ export interface Attachment {
52
52
  export type ActivityPhase = 'idle' | 'loading'
53
53
  /** The run is accepted and waiting for a worker. */
54
54
  | 'queued' | 'thinking' | 'responding' | 'tool-call' | 'tool-result' | 'waiting-input' | 'completed' | 'stopped' | 'failed';
55
+ /** Where the live stream stands: being opened, open, retrying after a
56
+ * dropped connection, or closed for good (the hook then re-reads the thread
57
+ * and opens a new one). */
58
+ export type ConnectionState = 'connecting' | 'open' | 'reconnecting' | 'closed';
55
59
  export interface AgentActivity {
56
60
  phase: ActivityPhase;
57
61
  label: string;
@@ -149,6 +153,8 @@ export interface StreamEvent {
149
153
  seq: number;
150
154
  type: string;
151
155
  payload: any;
156
+ /** When the server wrote it, ISO time. */
157
+ createdAt?: string;
152
158
  }
153
159
  export interface SnapshotRun {
154
160
  id: string;
@@ -177,6 +183,22 @@ export interface ThreadRun {
177
183
  /** Set once the run ended; absent while it is running or waiting. */
178
184
  endedAt?: string;
179
185
  }
186
+ /** An item from a run stream, as the server sends it: a typed event (see the
187
+ * agentenkit StreamEvent union) with the offset its store gave it. */
188
+ export interface WireStreamItem {
189
+ type: string;
190
+ offset: string;
191
+ [key: string]: any;
192
+ }
193
+ /** The run stream a snapshot carries: what the messages do not have yet, and
194
+ * where a live read picks up. */
195
+ export interface SnapshotStream {
196
+ streamId: string;
197
+ runId: string;
198
+ items: WireStreamItem[];
199
+ end: WireStreamItem | null;
200
+ offset: string | null;
201
+ }
180
202
  export interface ThreadSnapshot {
181
203
  thread: {
182
204
  id: string;
@@ -184,9 +206,26 @@ export interface ThreadSnapshot {
184
206
  };
185
207
  messages: SnapshotMessage[];
186
208
  runs: SnapshotRun[];
209
+ /** The thread record's last seq. */
187
210
  lastEventSeq: number;
211
+ /** The unfinished run's record entries: its open park, a refusal. */
188
212
  activeEvents: StreamEvent[];
189
- }
213
+ /** The run stream in flight, or one that just ended. Absent from a server
214
+ * older than run streams. */
215
+ stream?: SnapshotStream | null;
216
+ }
217
+ /** One frame of a thread's follow. */
218
+ export type FollowFrame = {
219
+ kind: 'thread';
220
+ event: StreamEvent;
221
+ } | {
222
+ kind: 'stream';
223
+ streamId: string;
224
+ item: WireStreamItem;
225
+ } | {
226
+ kind: 'snapshot';
227
+ snapshot: ThreadSnapshot;
228
+ };
190
229
  export interface RunResult {
191
230
  accepted: boolean;
192
231
  threadId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { withQuery, type AgentRunConfig } from './config.js';
2
- import type { AgentActivity, AgentState, Attachment, ChatEntry, PendingInput, RunResult, SubagentView, ThreadListItem, ThreadRun, ThreadUsage } from './types.js';
2
+ import type { AgentActivity, AgentState, Attachment, ChatEntry, ConnectionState, PendingInput, RunResult, SubagentView, ThreadListItem, ThreadRun, ThreadUsage } from './types.js';
3
3
  export interface UseAgentThreadOptions extends AgentRunConfig {
4
4
  /** Open this thread instead of whatever persistence remembers. */
5
5
  initialThreadId?: string;
@@ -19,11 +19,21 @@ export interface UseAgentThread {
19
19
  * Hydrated from the snapshot, then kept from `STATE_CHANGE` alone; null
20
20
  * before the first run. */
21
21
  currentRun: ThreadRun | null;
22
+ /** Where the live stream stands. `closed` means the transport gave up; the
23
+ * hook re-reads the thread and opens a new stream on its own. */
24
+ connection: ConnectionState;
25
+ /** Why the last send did not go through, or why the server refused it
26
+ * (RUN_REFUSED). A send that fails leaves the conversation as it was and
27
+ * says so here, rather than marking the thread FAILED. Cleared by the next
28
+ * send that is accepted. */
29
+ error: string | null;
22
30
  loadThreads: () => Promise<void>;
23
31
  loadUsage: (threadId?: string) => Promise<void>;
24
32
  newThread: () => void;
25
33
  selectThread: (threadId: string) => void;
26
34
  deleteThread: (threadId: string) => Promise<boolean>;
35
+ /** Refused, with `error` set, while a run is queued, running or waiting on
36
+ * an approval, or while an earlier send is still in flight. */
27
37
  run: (prompt: string, options?: RunOptions) => Promise<RunResult>;
28
38
  /** False on refusal or transport failure; activity.detail explains why. */
29
39
  stop: () => Promise<boolean>;
@@ -43,12 +53,6 @@ export interface RunOptions {
43
53
  /** Anything else the run route accepts — merged into the request body. */
44
54
  [key: string]: unknown;
45
55
  }
46
- /** Hydrates durable messages first, then resumes the canonical event stream at
47
- * the snapshot cursor, so a reload — or a second tab — rebuilds the same
48
- * conversation with the server as the only source of truth.
49
- *
50
- * Every endpoint, label and formatter is replaceable through the options or a
51
- * surrounding provider; see `AgentRunConfig`. */
52
56
  export declare function useAgentThread(options?: UseAgentThreadOptions): UseAgentThread;
53
57
  export { withQuery };
54
58
  //# sourceMappingURL=useAgentThread.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAgentThread.d.ts","sourceRoot":"","sources":["../src/useAgentThread.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,SAAS,EACT,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,UAAU,EACV,SAAS,EAGT,YAAY,EACZ,SAAS,EAGT,YAAY,EACZ,cAAc,EACd,SAAS,EAET,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B;;gCAE4B;IAC5B,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IAClE,2EAA2E;IAC3E,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAChG;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B;wDACoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA0DD;;;;;kDAKkD;AAClD,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc,CA0sBlF;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"useAgentThread.d.ts","sourceRoot":"","sources":["../src/useAgentThread.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,SAAS,EACT,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,UAAU,EACV,SAAS,EACT,eAAe,EAIf,YAAY,EACZ,SAAS,EAIT,YAAY,EACZ,cAAc,EACd,SAAS,EAET,WAAW,EAEZ,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B;;gCAE4B;IAC5B,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B;sEACkE;IAClE,UAAU,EAAE,eAAe,CAAC;IAC5B;;;iCAG6B;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD;oEACgE;IAChE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IAClE,2EAA2E;IAC3E,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAChG;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B;wDACoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAwHD,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc,CAigClF;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}