@artooi/ag-ui-web-component 0.12.0 → 0.13.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 +52 -1
- package/README.md +43 -5
- package/dist/ag-ui-web-component.bundle.js +31 -31
- package/dist/ag-ui-web-component.bundle.js.map +4 -4
- package/dist/constants.d.ts +9 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/core/ag_ui_chat.d.ts +29 -4
- package/dist/core/ag_ui_chat.d.ts.map +1 -1
- package/dist/core/agui_client.d.ts +11 -0
- package/dist/core/agui_client.d.ts.map +1 -1
- package/dist/core/create_http_agent.d.ts +6 -0
- package/dist/core/create_http_agent.d.ts.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +103 -37
- package/dist/index.js.map +3 -3
- package/dist/tools/page_state.d.ts +40 -0
- package/dist/tools/page_state.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/constants.ts +10 -0
- package/src/core/ag_ui_chat.ts +62 -5
- package/src/core/agui_client.ts +28 -0
- package/src/core/create_http_agent.ts +7 -0
- package/src/index.ts +12 -1
- package/src/tools/page_state.ts +72 -0
- package/src/version.ts +1 -1
- package/dist/tools/state_hook.d.ts +0 -23
- package/dist/tools/state_hook.d.ts.map +0 -1
- package/src/tools/state_hook.ts +0 -53
package/dist/constants.d.ts
CHANGED
|
@@ -13,6 +13,15 @@ export declare const SUBMIT_EVENT = "ag-ui-submit";
|
|
|
13
13
|
* the built-in toggle and drive the `collapsed` attribute itself.
|
|
14
14
|
*/
|
|
15
15
|
export declare const TOGGLE_EVENT = "ag-ui-toggle";
|
|
16
|
+
/**
|
|
17
|
+
* Event dispatched by `<ag-ui-chat>` when AG-UI **shared state** changes — the
|
|
18
|
+
* server streamed a `STATE_SNAPSHOT` / `STATE_DELTA`, or the host assigned
|
|
19
|
+
* {@link AgUiChat.sharedState}. `detail` carries `{ state }`.
|
|
20
|
+
*
|
|
21
|
+
* This is the protocol's own state channel, distinct from `registerPageState`,
|
|
22
|
+
* which exposes host state to the agent as ordinary *tools*.
|
|
23
|
+
*/
|
|
24
|
+
export declare const STATE_EVENT = "ag-ui-state";
|
|
16
25
|
/** Roles a chat message can take. */
|
|
17
26
|
export declare const MESSAGE_ROLE: {
|
|
18
27
|
readonly USER: "user";
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,wEAAwE;AACxE,eAAO,MAAM,WAAW,eAAe,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAE3C,qCAAqC;AACrC,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,cAAc,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,aAAa,cAAc,CAAC;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,yEAAyE;AACzE,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,QAAmB,CAAC;AAE7D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY;;;;;CAKf,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,wEAAwE;AACxE,eAAO,MAAM,WAAW,eAAe,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAE3C;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,qCAAqC;AACrC,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,cAAc,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,aAAa,cAAc,CAAC;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,yEAAyE;AACzE,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,QAAmB,CAAC;AAE7D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY;;;;;CAKf,CAAC"}
|
|
@@ -4,8 +4,8 @@ import type { Skill } from "../skills/skill.js";
|
|
|
4
4
|
import { type ClientTool } from "../tools/client_tool_registry.js";
|
|
5
5
|
import { type ResolvePageTarget } from "../tools/page_action_tools.js";
|
|
6
6
|
import { type PageMap } from "../tools/page_map.js";
|
|
7
|
+
import { type PageState } from "../tools/page_state.js";
|
|
7
8
|
import { type RouteMap } from "../tools/route_map.js";
|
|
8
|
-
import { type StateHook } from "../tools/state_hook.js";
|
|
9
9
|
import { type ApprovalRenderer } from "../ui/approval_card.js";
|
|
10
10
|
import { type QuestionRenderer } from "../ui/question_card.js";
|
|
11
11
|
import { type ToolDisplayMode } from "../ui/tool_call_card.js";
|
|
@@ -23,6 +23,10 @@ export interface SubmitDetail {
|
|
|
23
23
|
/** Durable refs for the files attached to this message (empty when none). */
|
|
24
24
|
readonly attachments: readonly AttachmentRef[];
|
|
25
25
|
}
|
|
26
|
+
/** `detail` shape of the {@link STATE_EVENT} CustomEvent. */
|
|
27
|
+
export interface StateDetail {
|
|
28
|
+
readonly state: Readonly<Record<string, unknown>>;
|
|
29
|
+
}
|
|
26
30
|
/** `detail` shape of the {@link TOGGLE_EVENT} CustomEvent. */
|
|
27
31
|
export interface ToggleDetail {
|
|
28
32
|
readonly collapsed: boolean;
|
|
@@ -92,7 +96,7 @@ export declare class AgUiChat extends HTMLElement {
|
|
|
92
96
|
/**
|
|
93
97
|
* Per-run frontend tool catalog provider. Defaults to the built-in
|
|
94
98
|
* `route.*` tools (when a {@link routeMap} is set) plus the tools registered
|
|
95
|
-
* via {@link registerTool} / {@link
|
|
99
|
+
* via {@link registerTool} / {@link registerPageState}; override to supply a
|
|
96
100
|
* fully custom catalog.
|
|
97
101
|
*/
|
|
98
102
|
getTools: () => Tool[];
|
|
@@ -184,8 +188,29 @@ export declare class AgUiChat extends HTMLElement {
|
|
|
184
188
|
attributeChangedCallback(_name: string, _previous: string | null, value: string | null): void;
|
|
185
189
|
/** Declare a frontend tool the agent may call. */
|
|
186
190
|
registerTool(tool: ClientTool): void;
|
|
187
|
-
/**
|
|
188
|
-
|
|
191
|
+
/**
|
|
192
|
+
* AG-UI **shared state** for this conversation — the protocol's own state
|
|
193
|
+
* channel, sent as `RunAgentInput.state` on every run and replaced in place
|
|
194
|
+
* when the server streams `STATE_SNAPSHOT` / `STATE_DELTA`. Assigning seeds
|
|
195
|
+
* the next run; reading returns whatever the agent last applied.
|
|
196
|
+
*
|
|
197
|
+
* Listen for {@link STATE_EVENT} to react to server-driven changes.
|
|
198
|
+
*
|
|
199
|
+
* Not to be confused with {@link registerPageState}, which exposes host
|
|
200
|
+
* state to the agent as ordinary *tools*.
|
|
201
|
+
*/
|
|
202
|
+
get sharedState(): Readonly<Record<string, unknown>>;
|
|
203
|
+
set sharedState(state: Readonly<Record<string, unknown>>);
|
|
204
|
+
/** Bind a piece of host page state to `read_<name>` / `set_<name>` tools. */
|
|
205
|
+
registerPageState(binding: PageState): void;
|
|
206
|
+
/**
|
|
207
|
+
* @deprecated Renamed to {@link registerPageState}. The old name read as
|
|
208
|
+
* AG-UI shared-state sync (`STATE_SNAPSHOT` / `STATE_DELTA`), which this
|
|
209
|
+
* component does not implement — these are ordinary client tools over host
|
|
210
|
+
* page state. Behaviour is unchanged; this alias will be removed in a future
|
|
211
|
+
* major.
|
|
212
|
+
*/
|
|
213
|
+
registerStateHook(binding: PageState): void;
|
|
189
214
|
/** The AG-UI endpoint URL, read from the `endpoint` attribute. */
|
|
190
215
|
get endpoint(): string;
|
|
191
216
|
set endpoint(value: string);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ag_ui_chat.d.ts","sourceRoot":"","sources":["../../src/core/ag_ui_chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAsB,IAAI,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAEL,YAAY,
|
|
1
|
+
{"version":3,"file":"ag_ui_chat.d.ts","sourceRoot":"","sources":["../../src/core/ag_ui_chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -119,6 +119,13 @@ export interface AgUiClientConfig extends AgUiRunInputs {
|
|
|
119
119
|
* conversation in-memory only.
|
|
120
120
|
*/
|
|
121
121
|
onPersist?: (messages: readonly Message[]) => void;
|
|
122
|
+
/**
|
|
123
|
+
* Called whenever AG-UI shared state changes — the server streamed a
|
|
124
|
+
* `STATE_SNAPSHOT` / `STATE_DELTA`, or {@link AgUiClient.setState} was
|
|
125
|
+
* called. `@ag-ui/client` owns applying those events; this only forwards
|
|
126
|
+
* the result so a host can react.
|
|
127
|
+
*/
|
|
128
|
+
onStateChanged?: (state: Readonly<Record<string, unknown>>) => void;
|
|
122
129
|
/**
|
|
123
130
|
* Error text surfaced to {@link AgUiClientHandlers.onError} when a run's
|
|
124
131
|
* stream closes without a terminal AG-UI event (`RUN_FINISHED`/`RUN_ERROR`) —
|
|
@@ -146,6 +153,10 @@ export declare class ConnectionLostError extends Error {
|
|
|
146
153
|
export declare class AgUiClient {
|
|
147
154
|
#private;
|
|
148
155
|
constructor(config: AgUiClientConfig);
|
|
156
|
+
/** The current AG-UI shared state, as the agent last applied it. */
|
|
157
|
+
get state(): Readonly<Record<string, unknown>>;
|
|
158
|
+
/** Replace the shared state; the next run sends it as `RunAgentInput.state`. */
|
|
159
|
+
setState(state: Readonly<Record<string, unknown>>): void;
|
|
149
160
|
/** Whether a run is currently in flight. */
|
|
150
161
|
get running(): boolean;
|
|
151
162
|
/** The current conversation history (for persistence / rehydration). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agui_client.d.ts","sourceRoot":"","sources":["../../src/core/agui_client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agui_client.d.ts","sourceRoot":"","sources":["../../src/core/agui_client.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,12 @@ export interface HttpAgentOptions {
|
|
|
17
17
|
threadId?: string;
|
|
18
18
|
/** Rehydrated history to seed the agent with (durable conversation). */
|
|
19
19
|
initialMessages?: readonly Message[];
|
|
20
|
+
/**
|
|
21
|
+
* AG-UI shared state to seed the agent with. `@ag-ui/client` sends it as
|
|
22
|
+
* `RunAgentInput.state` on every run and replaces it in place when the
|
|
23
|
+
* server streams `STATE_SNAPSHOT` / `STATE_DELTA`.
|
|
24
|
+
*/
|
|
25
|
+
initialState?: Readonly<Record<string, unknown>>;
|
|
20
26
|
}
|
|
21
27
|
/**
|
|
22
28
|
* Build an AG-UI {@link HttpAgent} pointed at ``endpoint``.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create_http_agent.d.ts","sourceRoot":"","sources":["../../src/core/create_http_agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAa,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,0CAA0C;AAC1C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,eAAe,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"create_http_agent.d.ts","sourceRoot":"","sources":["../../src/core/create_http_agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAa,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,0CAA0C;AAC1C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,eAAe,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC;;;;OAIG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAClD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,aAAa,CA6BxE;AAED,2EAA2E;AAC3E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,aAAa,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { ELEMENT_TAG, MAX_TOOL_ROUNDS, MESSAGE_ROLE, SUBMIT_EVENT, TOGGLE_EVENT, TOOL_CALL_STATUS, TOOL_DISPLAY, X_CONFIRM_KEY, X_DESTRUCTIVE_KEY, X_NAVIGATES_KEY, X_SUMMARY_KEY, } from "./constants.js";
|
|
2
|
-
export { AgUiChat, type MessageRole, type SubmitDetail, type ToggleDetail, } from "./core/ag_ui_chat.js";
|
|
1
|
+
export { ELEMENT_TAG, MAX_TOOL_ROUNDS, MESSAGE_ROLE, STATE_EVENT, SUBMIT_EVENT, TOGGLE_EVENT, TOOL_CALL_STATUS, TOOL_DISPLAY, X_CONFIRM_KEY, X_DESTRUCTIVE_KEY, X_NAVIGATES_KEY, X_SUMMARY_KEY, } from "./constants.js";
|
|
2
|
+
export { AgUiChat, type MessageRole, type StateDetail, type SubmitDetail, type ToggleDetail, } from "./core/ag_ui_chat.js";
|
|
3
3
|
export { AgUiClient, type AgUiClientConfig, type AgUiClientHandlers, type AgUiRunInputs, type AgUiToolCall, ConnectionLostError, type ExecuteTool, type InterruptResponse, type ResolveInterrupts, type ToolExecution, } from "./core/agui_client.js";
|
|
4
4
|
export { type AttachmentRef, messageAttachments } from "./core/attachment.js";
|
|
5
5
|
export { type ClientConversationStore, type NavigationCheckpoint, SessionStorageStore, type ThreadMeta, } from "./core/conversation_store.js";
|
|
@@ -18,9 +18,13 @@ export { isDestructive } from "./tools/is_destructive.js";
|
|
|
18
18
|
export { isNavigates } from "./tools/is_navigates.js";
|
|
19
19
|
export { createPageActionTools, PAGE_ACTIONS, type ResolvePageTarget, } from "./tools/page_action_tools.js";
|
|
20
20
|
export { createPageMapContext, type PageMap } from "./tools/page_map.js";
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Renamed to `createPageStateTools` / `PageState`. The old names
|
|
23
|
+
* read as AG-UI shared-state sync, which this component does not implement.
|
|
24
|
+
*/
|
|
25
|
+
export { createPageStateTools, createStateHookTools, type PageState, type StateHook, } from "./tools/page_state.js";
|
|
21
26
|
export { parseToolCatalog, type ToolCatalogEntry } from "./tools/parse_tool_catalog.js";
|
|
22
27
|
export { createRouteTools, type Route, type RouteMap, type RouteWithParams, } from "./tools/route_map.js";
|
|
23
|
-
export { createStateHookTools, type StateHook } from "./tools/state_hook.js";
|
|
24
28
|
export { type ApprovalOptions, type ApprovalRenderer, type ApprovalRequest, requestApproval, } from "./ui/approval_card.js";
|
|
25
29
|
export { CheckpointMenu, type CheckpointVerb } from "./ui/checkpoint_menu.js";
|
|
26
30
|
export { type ConfirmationOptions, type ConfirmationRequest, requestConfirmation, } from "./ui/confirmation_card.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,QAAQ,EACR,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,mBAAmB,EACnB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,mBAAmB,EACnB,KAAK,UAAU,GAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,YAAY,EACjB,eAAe,EACf,KAAK,gBAAgB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,YAAY,EACjB,cAAc,EACd,KAAK,qBAAqB,EAC1B,kBAAkB,EAClB,KAAK,YAAY,EACjB,oBAAoB,EACpB,cAAc,EACd,KAAK,aAAa,EAClB,oBAAoB,EACpB,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,aAAa,EACb,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,KAAK,gBAAgB,EACrB,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1E,YAAY,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,UAAU,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,KAAK,iBAAiB,GACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACxF,OAAO,EACL,gBAAgB,EAChB,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
var ELEMENT_TAG = "ag-ui-chat";
|
|
3
3
|
var SUBMIT_EVENT = "ag-ui-submit";
|
|
4
4
|
var TOGGLE_EVENT = "ag-ui-toggle";
|
|
5
|
+
var STATE_EVENT = "ag-ui-state";
|
|
5
6
|
var MESSAGE_ROLE = {
|
|
6
7
|
USER: "user",
|
|
7
8
|
ASSISTANT: "assistant"
|
|
@@ -318,6 +319,38 @@ function createPageMapContext(getPageMap, autoInject) {
|
|
|
318
319
|
return [{ description: "page_map", value: JSON.stringify(getPageMap()) }];
|
|
319
320
|
}
|
|
320
321
|
|
|
322
|
+
// src/tools/page_state.ts
|
|
323
|
+
function createPageStateTools(binding) {
|
|
324
|
+
const tools = [
|
|
325
|
+
{
|
|
326
|
+
name: `read_${binding.name}`,
|
|
327
|
+
description: `Read the "${binding.name}" state.`,
|
|
328
|
+
parameters: {
|
|
329
|
+
type: "object",
|
|
330
|
+
properties: {},
|
|
331
|
+
required: [],
|
|
332
|
+
[X_SUMMARY_KEY]: `Read ${binding.name}`
|
|
333
|
+
},
|
|
334
|
+
handler: () => binding.read()
|
|
335
|
+
}
|
|
336
|
+
];
|
|
337
|
+
const write = binding.write;
|
|
338
|
+
if (write !== void 0) {
|
|
339
|
+
tools.push({
|
|
340
|
+
name: `set_${binding.name}`,
|
|
341
|
+
description: `Update the "${binding.name}" state.`,
|
|
342
|
+
parameters: {
|
|
343
|
+
...binding.schema ?? { type: "object" },
|
|
344
|
+
[X_DESTRUCTIVE_KEY]: true,
|
|
345
|
+
[X_SUMMARY_KEY]: `Update ${binding.name}`
|
|
346
|
+
},
|
|
347
|
+
handler: (args) => write(args)
|
|
348
|
+
});
|
|
349
|
+
}
|
|
350
|
+
return tools;
|
|
351
|
+
}
|
|
352
|
+
var createStateHookTools = createPageStateTools;
|
|
353
|
+
|
|
321
354
|
// src/tools/parse_tool_catalog.ts
|
|
322
355
|
function parseToolCatalog(data) {
|
|
323
356
|
const out = {};
|
|
@@ -412,37 +445,6 @@ function createRouteTools(getRouteMap, getNavigate) {
|
|
|
412
445
|
];
|
|
413
446
|
}
|
|
414
447
|
|
|
415
|
-
// src/tools/state_hook.ts
|
|
416
|
-
function createStateHookTools(hook) {
|
|
417
|
-
const tools = [
|
|
418
|
-
{
|
|
419
|
-
name: `read_${hook.name}`,
|
|
420
|
-
description: `Read the "${hook.name}" state.`,
|
|
421
|
-
parameters: {
|
|
422
|
-
type: "object",
|
|
423
|
-
properties: {},
|
|
424
|
-
required: [],
|
|
425
|
-
[X_SUMMARY_KEY]: `Read ${hook.name}`
|
|
426
|
-
},
|
|
427
|
-
handler: () => hook.read()
|
|
428
|
-
}
|
|
429
|
-
];
|
|
430
|
-
const write = hook.write;
|
|
431
|
-
if (write !== void 0) {
|
|
432
|
-
tools.push({
|
|
433
|
-
name: `set_${hook.name}`,
|
|
434
|
-
description: `Update the "${hook.name}" state.`,
|
|
435
|
-
parameters: {
|
|
436
|
-
...hook.schema ?? { type: "object" },
|
|
437
|
-
[X_DESTRUCTIVE_KEY]: true,
|
|
438
|
-
[X_SUMMARY_KEY]: `Update ${hook.name}`
|
|
439
|
-
},
|
|
440
|
-
handler: (args) => write(args)
|
|
441
|
-
});
|
|
442
|
-
}
|
|
443
|
-
return tools;
|
|
444
|
-
}
|
|
445
|
-
|
|
446
448
|
// src/ui/ui_strings.ts
|
|
447
449
|
var DEFAULT_UI_STRINGS = {
|
|
448
450
|
title: "Assistant",
|
|
@@ -5917,6 +5919,22 @@ var AgUiClient = class {
|
|
|
5917
5919
|
this.#onPersist = config.onPersist ?? (() => {
|
|
5918
5920
|
});
|
|
5919
5921
|
this.#connectionLostMessage = config.connectionLostMessage ?? "Connection lost";
|
|
5922
|
+
const onStateChanged = config.onStateChanged;
|
|
5923
|
+
if (onStateChanged !== void 0) {
|
|
5924
|
+
this.#agent.subscribe({
|
|
5925
|
+
onStateChanged: ({ state }) => {
|
|
5926
|
+
onStateChanged(state);
|
|
5927
|
+
}
|
|
5928
|
+
});
|
|
5929
|
+
}
|
|
5930
|
+
}
|
|
5931
|
+
/** The current AG-UI shared state, as the agent last applied it. */
|
|
5932
|
+
get state() {
|
|
5933
|
+
return this.#agent.state;
|
|
5934
|
+
}
|
|
5935
|
+
/** Replace the shared state; the next run sends it as `RunAgentInput.state`. */
|
|
5936
|
+
setState(state) {
|
|
5937
|
+
this.#agent.setState({ ...state });
|
|
5920
5938
|
}
|
|
5921
5939
|
/** Whether a run is currently in flight. */
|
|
5922
5940
|
get running() {
|
|
@@ -6314,6 +6332,7 @@ function createHttpAgent(options) {
|
|
|
6314
6332
|
return new HttpAgent({
|
|
6315
6333
|
url: options.endpoint,
|
|
6316
6334
|
headers: options.headers ?? {},
|
|
6335
|
+
initialState: { ...options.initialState ?? {} },
|
|
6317
6336
|
// HttpAgent invokes its configured fetch as a method (`this.fetch(...)`),
|
|
6318
6337
|
// which would rebind the global `fetch` to the agent instance and trigger
|
|
6319
6338
|
// "Illegal invocation" in browsers. Wrap it so `fetch` is always called as
|
|
@@ -6647,7 +6666,7 @@ var AgUiChat = class extends HTMLElement {
|
|
|
6647
6666
|
/**
|
|
6648
6667
|
* Per-run frontend tool catalog provider. Defaults to the built-in
|
|
6649
6668
|
* `route.*` tools (when a {@link routeMap} is set) plus the tools registered
|
|
6650
|
-
* via {@link registerTool} / {@link
|
|
6669
|
+
* via {@link registerTool} / {@link registerPageState}; override to supply a
|
|
6651
6670
|
* fully custom catalog.
|
|
6652
6671
|
*/
|
|
6653
6672
|
getTools = () => [
|
|
@@ -6795,6 +6814,10 @@ var AgUiChat = class extends HTMLElement {
|
|
|
6795
6814
|
/** Refs attached to the message currently being sent (the context manifest). */
|
|
6796
6815
|
#runAttachments = [];
|
|
6797
6816
|
#client = null;
|
|
6817
|
+
// Seed for the next client. Once one exists it owns the live value (the
|
|
6818
|
+
// agent applies STATE_SNAPSHOT / STATE_DELTA into it), so this is only the
|
|
6819
|
+
// starting point — `sharedState` reads through to the client when present.
|
|
6820
|
+
#sharedState = {};
|
|
6798
6821
|
// Whether an interaction is in flight (first onRunStart → onSettled). Drives
|
|
6799
6822
|
// the Send⇄Stop button: `agent.isRunning` is false between frontend-tool
|
|
6800
6823
|
// rounds, but the user must still be able to stop there.
|
|
@@ -6941,12 +6964,40 @@ var AgUiChat = class extends HTMLElement {
|
|
|
6941
6964
|
registerTool(tool) {
|
|
6942
6965
|
this.#toolRegistry.register(tool);
|
|
6943
6966
|
}
|
|
6944
|
-
/**
|
|
6945
|
-
|
|
6946
|
-
|
|
6967
|
+
/**
|
|
6968
|
+
* AG-UI **shared state** for this conversation — the protocol's own state
|
|
6969
|
+
* channel, sent as `RunAgentInput.state` on every run and replaced in place
|
|
6970
|
+
* when the server streams `STATE_SNAPSHOT` / `STATE_DELTA`. Assigning seeds
|
|
6971
|
+
* the next run; reading returns whatever the agent last applied.
|
|
6972
|
+
*
|
|
6973
|
+
* Listen for {@link STATE_EVENT} to react to server-driven changes.
|
|
6974
|
+
*
|
|
6975
|
+
* Not to be confused with {@link registerPageState}, which exposes host
|
|
6976
|
+
* state to the agent as ordinary *tools*.
|
|
6977
|
+
*/
|
|
6978
|
+
get sharedState() {
|
|
6979
|
+
return this.#client?.state ?? this.#sharedState;
|
|
6980
|
+
}
|
|
6981
|
+
set sharedState(state) {
|
|
6982
|
+
this.#sharedState = { ...state };
|
|
6983
|
+
this.#client?.setState(this.#sharedState);
|
|
6984
|
+
}
|
|
6985
|
+
/** Bind a piece of host page state to `read_<name>` / `set_<name>` tools. */
|
|
6986
|
+
registerPageState(binding) {
|
|
6987
|
+
for (const tool of createPageStateTools(binding)) {
|
|
6947
6988
|
this.#toolRegistry.register(tool);
|
|
6948
6989
|
}
|
|
6949
6990
|
}
|
|
6991
|
+
/**
|
|
6992
|
+
* @deprecated Renamed to {@link registerPageState}. The old name read as
|
|
6993
|
+
* AG-UI shared-state sync (`STATE_SNAPSHOT` / `STATE_DELTA`), which this
|
|
6994
|
+
* component does not implement — these are ordinary client tools over host
|
|
6995
|
+
* page state. Behaviour is unchanged; this alias will be removed in a future
|
|
6996
|
+
* major.
|
|
6997
|
+
*/
|
|
6998
|
+
registerStateHook(binding) {
|
|
6999
|
+
this.registerPageState(binding);
|
|
7000
|
+
}
|
|
6950
7001
|
/** The built-in `route.*` tools, present only when a route map is set. */
|
|
6951
7002
|
#routeTools() {
|
|
6952
7003
|
if (this.routeMap.length === 0) {
|
|
@@ -7872,7 +7923,8 @@ Use the read_attachment tool with an id to read a file's contents.`
|
|
|
7872
7923
|
// re-reads this on each call.
|
|
7873
7924
|
getHeaders: () => this.headers,
|
|
7874
7925
|
threadId: this.#threadId,
|
|
7875
|
-
initialMessages: this.#initialMessages
|
|
7926
|
+
initialMessages: this.#initialMessages,
|
|
7927
|
+
initialState: this.#sharedState
|
|
7876
7928
|
});
|
|
7877
7929
|
this.#client = new AgUiClient({
|
|
7878
7930
|
agent,
|
|
@@ -7882,11 +7934,23 @@ Use the read_attachment tool with an id to read a file's contents.`
|
|
|
7882
7934
|
executeTool: (call) => this.#executeTool(call),
|
|
7883
7935
|
resolveInterrupts: (interrupts) => this.#resolveInterrupts(interrupts),
|
|
7884
7936
|
onPersist: (messages) => this.conversationStore.saveMessages(this.#threadId, messages),
|
|
7937
|
+
onStateChanged: (state) => this.#onSharedStateChanged(state),
|
|
7885
7938
|
connectionLostMessage: this.#strings.connectionLost
|
|
7886
7939
|
});
|
|
7887
7940
|
}
|
|
7888
7941
|
return this.#client;
|
|
7889
7942
|
}
|
|
7943
|
+
/** Mirror the agent's applied state and tell the host it moved. */
|
|
7944
|
+
#onSharedStateChanged(state) {
|
|
7945
|
+
this.#sharedState = { ...state };
|
|
7946
|
+
this.dispatchEvent(
|
|
7947
|
+
new CustomEvent(STATE_EVENT, {
|
|
7948
|
+
detail: { state: this.#sharedState },
|
|
7949
|
+
bubbles: true,
|
|
7950
|
+
composed: true
|
|
7951
|
+
})
|
|
7952
|
+
);
|
|
7953
|
+
}
|
|
7890
7954
|
/** Whether ``call`` should be gated behind the confirmation card. */
|
|
7891
7955
|
async #needsConfirmation(call, tool) {
|
|
7892
7956
|
if (this.autoConfirm) {
|
|
@@ -8192,7 +8256,7 @@ function setControlValue(el, value) {
|
|
|
8192
8256
|
}
|
|
8193
8257
|
|
|
8194
8258
|
// src/version.ts
|
|
8195
|
-
var VERSION = "0.
|
|
8259
|
+
var VERSION = "0.13.0";
|
|
8196
8260
|
export {
|
|
8197
8261
|
AgUiChat,
|
|
8198
8262
|
AgUiClient,
|
|
@@ -8206,6 +8270,7 @@ export {
|
|
|
8206
8270
|
PAGE_ACTIONS,
|
|
8207
8271
|
RemoteConversationStore,
|
|
8208
8272
|
RunIndex,
|
|
8273
|
+
STATE_EVENT,
|
|
8209
8274
|
SUBMIT_EVENT,
|
|
8210
8275
|
SessionStorageStore,
|
|
8211
8276
|
TOGGLE_EVENT,
|
|
@@ -8221,6 +8286,7 @@ export {
|
|
|
8221
8286
|
createHttpAgent,
|
|
8222
8287
|
createPageActionTools,
|
|
8223
8288
|
createPageMapContext,
|
|
8289
|
+
createPageStateTools,
|
|
8224
8290
|
createRouteTools,
|
|
8225
8291
|
createStateHookTools,
|
|
8226
8292
|
defineAgUiChat,
|