@ag-ui/core 0.0.58-canary.beta.0 → 0.1.1-canary.beta.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 +41 -0
- package/README.md +34 -4
- package/dist/events-BaoNrGbE.mjs +46 -0
- package/dist/events-BaoNrGbE.mjs.map +1 -0
- package/dist/events-Bg2nO3O2.d.mts +467 -0
- package/dist/events-Bg2nO3O2.d.mts.map +1 -0
- package/dist/events-CMtdFXWl.js +52 -0
- package/dist/events-CMtdFXWl.js.map +1 -0
- package/dist/events-JPFRVbr9.d.ts +467 -0
- package/dist/events-JPFRVbr9.d.ts.map +1 -0
- package/dist/index.d.mts +138 -15853
- package/dist/index.d.mts.map +1 -1
- package/dist/index.d.ts +138 -15853
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -698
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -613
- package/dist/index.mjs.map +1 -1
- package/dist/schemas.d.mts +2069 -0
- package/dist/schemas.d.mts.map +1 -0
- package/dist/schemas.d.ts +2069 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +794 -0
- package/dist/schemas.js.map +1 -0
- package/dist/schemas.mjs +674 -0
- package/dist/schemas.mjs.map +1 -0
- package/package.json +21 -4
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# @ag-ui/core CHANGELOG
|
|
2
|
+
|
|
3
|
+
## 0.1.0
|
|
4
|
+
|
|
5
|
+
### BREAKING CHANGES
|
|
6
|
+
|
|
7
|
+
- `zod` is no longer a runtime dependency of `@ag-ui/core`. The package's main entry now ships only TypeScript types, value-level constants (`EventType`) and error classes (`AGUIError`, `AGUIConnectNotImplementedError`). No `*Schema` exports and no `create*Event` factories.
|
|
8
|
+
- The zod schemas have moved to a new opt-in subpath: `@ag-ui/core/schemas`. zod is an optional peer dependency on the subpath, accepting `^3.25.18 || ^4.0.0` — install whichever major you prefer.
|
|
9
|
+
- The `create*Event` factories moved to `@ag-ui/core/schemas` as well. They validate their input through `schema.parse(...)`, which needs zod, so keeping them on the main entry would have kept the zod dependency. Consumers of `@ag-ui/client` are unaffected — it re-exports the subpath.
|
|
10
|
+
- The zod peer floor is `3.25.18`, not `3.24.0`. The schemas import zod's `zod/v4` subpath: zod 3.24.x does not provide it at all, 3.25.0 is a broken publish with no `dist/`, and 3.25.1-3.25.17 ship `zod/v4` declarations that fail TS variance checks under `skipLibCheck: false`. 3.25.18 is the first clean release (found by bisection). Moving from an older 3.25.x is a patch-level upgrade within zod 3.
|
|
11
|
+
- The internal `BinaryInputContentSchema` runtime check moved from `superRefine` to `.refine()`. Boolean validation is unchanged; the precise error path (`["id"]`) is no longer reported.
|
|
12
|
+
|
|
13
|
+
### Behavior changes
|
|
14
|
+
|
|
15
|
+
- **Schemas now run zod's v4 engine on every supported zod version**, including zod 3.25.x, because they import `zod/v4`. Validation failures are `ZodError`s from `zod/v4`: read `error.issues` (not `error.errors`) and do not match on message strings. Accepted and rejected payloads are otherwise unchanged.
|
|
16
|
+
- **`z.any()` object values are now explicitly optional** in both the schemas and the hand-written types: `Tool.parameters`, `RunAgentInput.state`, `RunAgentInput.forwardedProps`, `StateSnapshotEvent.snapshot`, `RawEvent.event`, `CustomEvent.value`. A bare `z.any()` was accepted when missing on zod engine 4.0.x but rejected as `nonoptional` on 4.4.x, which made the wire contract depend on the consumer's zod version. The schemas converge on the laxer, already-shipped behavior, so nothing that validated before stops validating.
|
|
17
|
+
- **Event factories can no longer have their `type` discriminant overridden.** `BaseEvent`'s `[k: string]: unknown` index signature meant `Omit<Event, "type">` did not reject a caller-supplied `type`. The `EventProps<E>` helper now adds `type?: never` (a compile error), and the factories assign `type` after spreading props (safe at runtime).
|
|
18
|
+
|
|
19
|
+
### Migration
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
// Before
|
|
23
|
+
import { UserMessageSchema, createTextMessageStartEvent } from "@ag-ui/core";
|
|
24
|
+
|
|
25
|
+
// After
|
|
26
|
+
import { UserMessageSchema, createTextMessageStartEvent } from "@ag-ui/core/schemas";
|
|
27
|
+
|
|
28
|
+
// Unchanged — @ag-ui/client re-exports the subpath
|
|
29
|
+
import { UserMessageSchema, createTextMessageStartEvent } from "@ag-ui/client";
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
A jscodeshift codemod redirects both `*Schema` and `create*Event` imports:
|
|
33
|
+
`codemods/0.1.0-schemas-to-subpath.ts`. See
|
|
34
|
+
[the migration guide](https://docs.ag-ui.com/sdk/js/core/migration-0-1-0).
|
|
35
|
+
|
|
36
|
+
### Internal package changes
|
|
37
|
+
|
|
38
|
+
- `@ag-ui/client` and `@ag-ui/proto` now declare `zod` as a regular dependency and import `EventSchemas` from `@ag-ui/core/schemas` to validate incoming events. No public API change for consumers of these packages.
|
|
39
|
+
- `@ag-ui/client`, `@ag-ui/proto` and `@ag-ui/core` all declare the same zod range (`^3.25.18 || ^4.0.0`); they previously disagreed, which produced unmet-peer warnings.
|
|
40
|
+
- `@ag-ui/client`'s own legacy schemas (`src/legacy/types.ts`) also import `zod/v4`, so the package's published declarations no longer embed zod-major-specific types either.
|
|
41
|
+
- New `sdks/typescript/consumer-tests/run.mjs` harness plus a `zod-matrix` CI job: real tarballs are installed into a throwaway consumer per zod version and type-checked with `skipLibCheck` **disabled**, then a shared event corpus is run through `EventSchemas` to assert identical accept/reject verdicts. Legs cover the 3.25.18 and 4.0.0 floors, the latest zod 4, and a no-zod leg proving the main entry is dependency-free.
|
package/README.md
CHANGED
|
@@ -12,26 +12,56 @@ pnpm add @ag-ui/core
|
|
|
12
12
|
yarn add @ag-ui/core
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
+
The main entry has **zero runtime dependencies**. If you also want the zod schemas
|
|
16
|
+
and validating event factories from the `@ag-ui/core/schemas` subpath, install zod
|
|
17
|
+
yourself — it is an optional peer dependency accepting `^3.25.18 || ^4.0.0`:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install zod
|
|
21
|
+
```
|
|
22
|
+
|
|
15
23
|
## Features
|
|
16
24
|
|
|
17
25
|
- 🧩 **Typed data models** – `Message`, `Tool`, `Context`, `RunAgentInput`, `State` …
|
|
18
26
|
- 🔄 **Streaming events** – 16 core event kinds covering assistant messages, tool calls, state updates and run lifecycle.
|
|
19
|
-
- ✅ **
|
|
27
|
+
- ✅ **Opt-in runtime validation** – zod schemas at `@ag-ui/core/schemas` catch malformed payloads early, on either zod major.
|
|
28
|
+
- 🪶 **Zero dependencies on the main entry** – types only, so consumers who validate with something else (or not at all) pay nothing.
|
|
20
29
|
- 🚀 **Framework-agnostic** – works in Node.js, browsers and any agent framework that can emit JSON.
|
|
21
30
|
|
|
22
31
|
## Quick example
|
|
23
32
|
|
|
24
33
|
```ts
|
|
25
|
-
import {
|
|
34
|
+
import type { TextMessageContentEvent } from "@ag-ui/core";
|
|
35
|
+
import { EventType } from "@ag-ui/core";
|
|
26
36
|
|
|
27
|
-
//
|
|
28
|
-
|
|
37
|
+
// Construct a typed event — no zod, no runtime dependency
|
|
38
|
+
const event: TextMessageContentEvent = {
|
|
29
39
|
type: EventType.TEXT_MESSAGE_CONTENT,
|
|
30
40
|
messageId: "msg_123",
|
|
31
41
|
delta: "Hello, world!",
|
|
42
|
+
};
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Opt into runtime validation via the subpath. The factories validate their input, so
|
|
46
|
+
a malformed payload throws where it was produced rather than downstream:
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
import { EventSchemas, createTextMessageContentEvent } from "@ag-ui/core/schemas";
|
|
50
|
+
|
|
51
|
+
const validated = createTextMessageContentEvent({
|
|
52
|
+
messageId: "msg_123",
|
|
53
|
+
delta: "Hello, world!",
|
|
32
54
|
});
|
|
55
|
+
|
|
56
|
+
// Validate an untrusted payload off the wire
|
|
57
|
+
declare const rawJson: string;
|
|
58
|
+
const parsed = EventSchemas.parse(JSON.parse(rawJson));
|
|
33
59
|
```
|
|
34
60
|
|
|
61
|
+
> **Upgrading from 0.0.x?** The `*Schema` exports and `create*Event` factories moved
|
|
62
|
+
> from `@ag-ui/core` to `@ag-ui/core/schemas`. See the
|
|
63
|
+
> [0.1.0 migration guide](https://docs.ag-ui.com/sdk/js/core/migration-0-1-0).
|
|
64
|
+
|
|
35
65
|
## Documentation
|
|
36
66
|
|
|
37
67
|
- Concepts & architecture: [`docs/concepts`](https://docs.ag-ui.com/concepts/architecture)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
//#region src/events.ts
|
|
2
|
+
let EventType = /* @__PURE__ */ function(EventType) {
|
|
3
|
+
EventType["TEXT_MESSAGE_START"] = "TEXT_MESSAGE_START";
|
|
4
|
+
EventType["TEXT_MESSAGE_CONTENT"] = "TEXT_MESSAGE_CONTENT";
|
|
5
|
+
EventType["TEXT_MESSAGE_END"] = "TEXT_MESSAGE_END";
|
|
6
|
+
EventType["TEXT_MESSAGE_CHUNK"] = "TEXT_MESSAGE_CHUNK";
|
|
7
|
+
EventType["TOOL_CALL_START"] = "TOOL_CALL_START";
|
|
8
|
+
EventType["TOOL_CALL_ARGS"] = "TOOL_CALL_ARGS";
|
|
9
|
+
EventType["TOOL_CALL_END"] = "TOOL_CALL_END";
|
|
10
|
+
EventType["TOOL_CALL_CHUNK"] = "TOOL_CALL_CHUNK";
|
|
11
|
+
EventType["TOOL_CALL_RESULT"] = "TOOL_CALL_RESULT";
|
|
12
|
+
/** @deprecated Use REASONING_START instead. Will be removed in 1.0.0. */
|
|
13
|
+
EventType["THINKING_START"] = "THINKING_START";
|
|
14
|
+
/** @deprecated Use REASONING_END instead. Will be removed in 1.0.0. */
|
|
15
|
+
EventType["THINKING_END"] = "THINKING_END";
|
|
16
|
+
/** @deprecated Use REASONING_MESSAGE_START instead. Will be removed in 1.0.0. */
|
|
17
|
+
EventType["THINKING_TEXT_MESSAGE_START"] = "THINKING_TEXT_MESSAGE_START";
|
|
18
|
+
/** @deprecated Use REASONING_MESSAGE_CONTENT instead. Will be removed in 1.0.0. */
|
|
19
|
+
EventType["THINKING_TEXT_MESSAGE_CONTENT"] = "THINKING_TEXT_MESSAGE_CONTENT";
|
|
20
|
+
/** @deprecated Use REASONING_MESSAGE_END instead. Will be removed in 1.0.0. */
|
|
21
|
+
EventType["THINKING_TEXT_MESSAGE_END"] = "THINKING_TEXT_MESSAGE_END";
|
|
22
|
+
EventType["STATE_SNAPSHOT"] = "STATE_SNAPSHOT";
|
|
23
|
+
EventType["STATE_DELTA"] = "STATE_DELTA";
|
|
24
|
+
EventType["MESSAGES_SNAPSHOT"] = "MESSAGES_SNAPSHOT";
|
|
25
|
+
EventType["ACTIVITY_SNAPSHOT"] = "ACTIVITY_SNAPSHOT";
|
|
26
|
+
EventType["ACTIVITY_DELTA"] = "ACTIVITY_DELTA";
|
|
27
|
+
EventType["RAW"] = "RAW";
|
|
28
|
+
EventType["CUSTOM"] = "CUSTOM";
|
|
29
|
+
EventType["RUN_STARTED"] = "RUN_STARTED";
|
|
30
|
+
EventType["RUN_FINISHED"] = "RUN_FINISHED";
|
|
31
|
+
EventType["RUN_ERROR"] = "RUN_ERROR";
|
|
32
|
+
EventType["STEP_STARTED"] = "STEP_STARTED";
|
|
33
|
+
EventType["STEP_FINISHED"] = "STEP_FINISHED";
|
|
34
|
+
EventType["REASONING_START"] = "REASONING_START";
|
|
35
|
+
EventType["REASONING_MESSAGE_START"] = "REASONING_MESSAGE_START";
|
|
36
|
+
EventType["REASONING_MESSAGE_CONTENT"] = "REASONING_MESSAGE_CONTENT";
|
|
37
|
+
EventType["REASONING_MESSAGE_END"] = "REASONING_MESSAGE_END";
|
|
38
|
+
EventType["REASONING_MESSAGE_CHUNK"] = "REASONING_MESSAGE_CHUNK";
|
|
39
|
+
EventType["REASONING_END"] = "REASONING_END";
|
|
40
|
+
EventType["REASONING_ENCRYPTED_VALUE"] = "REASONING_ENCRYPTED_VALUE";
|
|
41
|
+
return EventType;
|
|
42
|
+
}({});
|
|
43
|
+
|
|
44
|
+
//#endregion
|
|
45
|
+
export { EventType as t };
|
|
46
|
+
//# sourceMappingURL=events-BaoNrGbE.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events-BaoNrGbE.mjs","names":[],"sources":["../src/events.ts"],"sourcesContent":["// Canonical event types and the EventType enum for AG-UI. This is the\n// authoritative event-surface module of @ag-ui/core.\n\nimport type { Message, RunAgentInput, Interrupt } from \"./types\";\n\nexport enum EventType {\n TEXT_MESSAGE_START = \"TEXT_MESSAGE_START\",\n TEXT_MESSAGE_CONTENT = \"TEXT_MESSAGE_CONTENT\",\n TEXT_MESSAGE_END = \"TEXT_MESSAGE_END\",\n TEXT_MESSAGE_CHUNK = \"TEXT_MESSAGE_CHUNK\",\n TOOL_CALL_START = \"TOOL_CALL_START\",\n TOOL_CALL_ARGS = \"TOOL_CALL_ARGS\",\n TOOL_CALL_END = \"TOOL_CALL_END\",\n TOOL_CALL_CHUNK = \"TOOL_CALL_CHUNK\",\n TOOL_CALL_RESULT = \"TOOL_CALL_RESULT\",\n /** @deprecated Use REASONING_START instead. Will be removed in 1.0.0. */\n THINKING_START = \"THINKING_START\",\n /** @deprecated Use REASONING_END instead. Will be removed in 1.0.0. */\n THINKING_END = \"THINKING_END\",\n /** @deprecated Use REASONING_MESSAGE_START instead. Will be removed in 1.0.0. */\n THINKING_TEXT_MESSAGE_START = \"THINKING_TEXT_MESSAGE_START\",\n /** @deprecated Use REASONING_MESSAGE_CONTENT instead. Will be removed in 1.0.0. */\n THINKING_TEXT_MESSAGE_CONTENT = \"THINKING_TEXT_MESSAGE_CONTENT\",\n /** @deprecated Use REASONING_MESSAGE_END instead. Will be removed in 1.0.0. */\n THINKING_TEXT_MESSAGE_END = \"THINKING_TEXT_MESSAGE_END\",\n STATE_SNAPSHOT = \"STATE_SNAPSHOT\",\n STATE_DELTA = \"STATE_DELTA\",\n MESSAGES_SNAPSHOT = \"MESSAGES_SNAPSHOT\",\n ACTIVITY_SNAPSHOT = \"ACTIVITY_SNAPSHOT\",\n ACTIVITY_DELTA = \"ACTIVITY_DELTA\",\n RAW = \"RAW\",\n CUSTOM = \"CUSTOM\",\n RUN_STARTED = \"RUN_STARTED\",\n RUN_FINISHED = \"RUN_FINISHED\",\n RUN_ERROR = \"RUN_ERROR\",\n STEP_STARTED = \"STEP_STARTED\",\n STEP_FINISHED = \"STEP_FINISHED\",\n REASONING_START = \"REASONING_START\",\n REASONING_MESSAGE_START = \"REASONING_MESSAGE_START\",\n REASONING_MESSAGE_CONTENT = \"REASONING_MESSAGE_CONTENT\",\n REASONING_MESSAGE_END = \"REASONING_MESSAGE_END\",\n REASONING_MESSAGE_CHUNK = \"REASONING_MESSAGE_CHUNK\",\n REASONING_END = \"REASONING_END\",\n REASONING_ENCRYPTED_VALUE = \"REASONING_ENCRYPTED_VALUE\",\n}\n\n// ---------------------------------------------------------------------------\n// Shared primitives\n// ---------------------------------------------------------------------------\n\nexport type TextMessageRole = \"developer\" | \"system\" | \"assistant\" | \"user\";\n\nexport type ReasoningEncryptedValueSubtype = \"tool-call\" | \"message\";\n\n// ---------------------------------------------------------------------------\n// BaseEvent\n// ---------------------------------------------------------------------------\n\nexport interface BaseEvent {\n type: EventType;\n timestamp?: number;\n rawEvent?: any;\n [k: string]: unknown;\n}\n\n// Alias kept for parity with events.ts\nexport type BaseEventFields = BaseEvent;\n\n// ---------------------------------------------------------------------------\n// Text-message events\n// ---------------------------------------------------------------------------\n\nexport interface TextMessageStartEvent extends BaseEvent {\n type: EventType.TEXT_MESSAGE_START;\n messageId: string;\n // .default(\"assistant\") means z.infer gives non-optional TextMessageRole\n role: TextMessageRole;\n name?: string;\n}\n\nexport interface TextMessageContentEvent extends BaseEvent {\n type: EventType.TEXT_MESSAGE_CONTENT;\n messageId: string;\n delta: string;\n}\n\nexport interface TextMessageEndEvent extends BaseEvent {\n type: EventType.TEXT_MESSAGE_END;\n messageId: string;\n}\n\nexport interface TextMessageChunkEvent extends BaseEvent {\n type: EventType.TEXT_MESSAGE_CHUNK;\n messageId?: string;\n role?: TextMessageRole;\n delta?: string;\n name?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Deprecated Thinking events (aliased to Reasoning counterparts in 1.0.0)\n// ---------------------------------------------------------------------------\n\n/** @deprecated Use ReasoningTextMessageStartEvent instead. Will be removed in 1.0.0. */\nexport interface ThinkingTextMessageStartEvent extends BaseEvent {\n type: EventType.THINKING_TEXT_MESSAGE_START;\n}\n\n/** @deprecated Use ReasoningMessageContentEvent instead. Will be removed in 1.0.0. */\nexport interface ThinkingTextMessageContentEvent extends BaseEvent {\n type: EventType.THINKING_TEXT_MESSAGE_CONTENT;\n // ThinkingTextMessageContentEventSchema omits messageId from TextMessageContentEventSchema\n delta: string;\n}\n\n/** @deprecated Use ReasoningMessageEndEvent instead. Will be removed in 1.0.0. */\nexport interface ThinkingTextMessageEndEvent extends BaseEvent {\n type: EventType.THINKING_TEXT_MESSAGE_END;\n}\n\n// ---------------------------------------------------------------------------\n// Tool-call events\n// ---------------------------------------------------------------------------\n\nexport interface ToolCallStartEvent extends BaseEvent {\n type: EventType.TOOL_CALL_START;\n toolCallId: string;\n toolCallName: string;\n parentMessageId?: string;\n}\n\nexport interface ToolCallArgsEvent extends BaseEvent {\n type: EventType.TOOL_CALL_ARGS;\n toolCallId: string;\n delta: string;\n}\n\nexport interface ToolCallEndEvent extends BaseEvent {\n type: EventType.TOOL_CALL_END;\n toolCallId: string;\n}\n\nexport interface ToolCallResultEvent extends BaseEvent {\n messageId: string;\n type: EventType.TOOL_CALL_RESULT;\n toolCallId: string;\n content: string;\n role?: \"tool\";\n}\n\nexport interface ToolCallChunkEvent extends BaseEvent {\n type: EventType.TOOL_CALL_CHUNK;\n toolCallId?: string;\n toolCallName?: string;\n parentMessageId?: string;\n delta?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Deprecated Thinking start/end\n// ---------------------------------------------------------------------------\n\n/** @deprecated Use ReasoningStartEvent instead. Will be removed in 1.0.0. */\nexport interface ThinkingStartEvent extends BaseEvent {\n type: EventType.THINKING_START;\n title?: string;\n}\n\n/** @deprecated Use ReasoningEndEvent instead. Will be removed in 1.0.0. */\nexport interface ThinkingEndEvent extends BaseEvent {\n type: EventType.THINKING_END;\n}\n\n// ---------------------------------------------------------------------------\n// State / message snapshot events\n// ---------------------------------------------------------------------------\n\nexport interface StateSnapshotEvent extends BaseEvent {\n type: EventType.STATE_SNAPSHOT;\n snapshot?: any;\n}\n\nexport interface StateDeltaEvent extends BaseEvent {\n type: EventType.STATE_DELTA;\n delta: any[];\n}\n\nexport interface MessagesSnapshotEvent extends BaseEvent {\n type: EventType.MESSAGES_SNAPSHOT;\n messages: Message[];\n}\n\nexport interface ActivitySnapshotEvent extends BaseEvent {\n type: EventType.ACTIVITY_SNAPSHOT;\n messageId: string;\n activityType: string;\n content: Record<string, any>;\n // .optional().default(true) — z.infer OUTPUT is boolean (not optional)\n replace: boolean;\n}\n\nexport interface ActivityDeltaEvent extends BaseEvent {\n type: EventType.ACTIVITY_DELTA;\n messageId: string;\n activityType: string;\n patch: any[];\n}\n\n// ---------------------------------------------------------------------------\n// Raw / Custom events\n// ---------------------------------------------------------------------------\n\nexport interface RawEvent extends BaseEvent {\n type: EventType.RAW;\n event?: any;\n source?: string;\n}\n\nexport interface CustomEvent extends BaseEvent {\n type: EventType.CUSTOM;\n name: string;\n value?: any;\n}\n\n// ---------------------------------------------------------------------------\n// Run lifecycle events\n// ---------------------------------------------------------------------------\n\nexport interface RunStartedEvent extends BaseEvent {\n type: EventType.RUN_STARTED;\n threadId: string;\n runId: string;\n parentRunId?: string;\n input?: RunAgentInput;\n}\n\nexport interface RunFinishedSuccessOutcome {\n type: \"success\";\n}\n\nexport interface RunFinishedInterruptOutcome {\n type: \"interrupt\";\n interrupts: Interrupt[];\n}\n\nexport type RunFinishedOutcome = RunFinishedSuccessOutcome | RunFinishedInterruptOutcome;\n\nexport interface RunFinishedEvent extends BaseEvent {\n type: EventType.RUN_FINISHED;\n threadId: string;\n runId: string;\n result?: any;\n // nullable().optional().transform(v => v ?? undefined) → output is RunFinishedOutcome | undefined\n outcome?: RunFinishedOutcome;\n}\n\nexport interface RunErrorEvent extends BaseEvent {\n type: EventType.RUN_ERROR;\n message: string;\n code?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Step events\n// ---------------------------------------------------------------------------\n\nexport interface StepStartedEvent extends BaseEvent {\n type: EventType.STEP_STARTED;\n stepName: string;\n}\n\nexport interface StepFinishedEvent extends BaseEvent {\n type: EventType.STEP_FINISHED;\n stepName: string;\n}\n\n// ---------------------------------------------------------------------------\n// Reasoning events\n// ---------------------------------------------------------------------------\n\nexport interface ReasoningStartEvent extends BaseEvent {\n type: EventType.REASONING_START;\n messageId: string;\n}\n\nexport interface ReasoningMessageStartEvent extends BaseEvent {\n type: EventType.REASONING_MESSAGE_START;\n messageId: string;\n role: \"reasoning\";\n}\n\nexport interface ReasoningMessageContentEvent extends BaseEvent {\n type: EventType.REASONING_MESSAGE_CONTENT;\n messageId: string;\n delta: string;\n}\n\nexport interface ReasoningMessageEndEvent extends BaseEvent {\n type: EventType.REASONING_MESSAGE_END;\n messageId: string;\n}\n\nexport interface ReasoningMessageChunkEvent extends BaseEvent {\n type: EventType.REASONING_MESSAGE_CHUNK;\n messageId?: string;\n delta?: string;\n}\n\nexport interface ReasoningEndEvent extends BaseEvent {\n type: EventType.REASONING_END;\n messageId: string;\n}\n\nexport interface ReasoningEncryptedValueEvent extends BaseEvent {\n type: EventType.REASONING_ENCRYPTED_VALUE;\n subtype: ReasoningEncryptedValueSubtype;\n entityId: string;\n encryptedValue: string;\n}\n\n// ---------------------------------------------------------------------------\n// AGUIEvent discriminated union\n// ---------------------------------------------------------------------------\n\nexport type AGUIEvent =\n | TextMessageStartEvent\n | TextMessageContentEvent\n | TextMessageEndEvent\n | TextMessageChunkEvent\n | ThinkingStartEvent\n | ThinkingEndEvent\n | ThinkingTextMessageStartEvent\n | ThinkingTextMessageContentEvent\n | ThinkingTextMessageEndEvent\n | ToolCallStartEvent\n | ToolCallArgsEvent\n | ToolCallEndEvent\n | ToolCallChunkEvent\n | ToolCallResultEvent\n | StateSnapshotEvent\n | StateDeltaEvent\n | MessagesSnapshotEvent\n | ActivitySnapshotEvent\n | ActivityDeltaEvent\n | RawEvent\n | CustomEvent\n | RunStartedEvent\n | RunFinishedEvent\n | RunErrorEvent\n | StepStartedEvent\n | StepFinishedEvent\n | ReasoningStartEvent\n | ReasoningMessageStartEvent\n | ReasoningMessageContentEvent\n | ReasoningMessageEndEvent\n | ReasoningMessageChunkEvent\n | ReasoningEndEvent\n | ReasoningEncryptedValueEvent;\n\n// ---------------------------------------------------------------------------\n// AGUIEventByType mapped type\n// ---------------------------------------------------------------------------\n\nexport type AGUIEventByType = {\n [EventType.TEXT_MESSAGE_START]: TextMessageStartEvent;\n [EventType.TEXT_MESSAGE_CONTENT]: TextMessageContentEvent;\n [EventType.TEXT_MESSAGE_END]: TextMessageEndEvent;\n [EventType.TEXT_MESSAGE_CHUNK]: TextMessageChunkEvent;\n [EventType.THINKING_TEXT_MESSAGE_START]: ThinkingTextMessageStartEvent;\n [EventType.THINKING_TEXT_MESSAGE_CONTENT]: ThinkingTextMessageContentEvent;\n [EventType.THINKING_TEXT_MESSAGE_END]: ThinkingTextMessageEndEvent;\n [EventType.TOOL_CALL_START]: ToolCallStartEvent;\n [EventType.TOOL_CALL_ARGS]: ToolCallArgsEvent;\n [EventType.TOOL_CALL_END]: ToolCallEndEvent;\n [EventType.TOOL_CALL_CHUNK]: ToolCallChunkEvent;\n [EventType.TOOL_CALL_RESULT]: ToolCallResultEvent;\n [EventType.THINKING_START]: ThinkingStartEvent;\n [EventType.THINKING_END]: ThinkingEndEvent;\n [EventType.STATE_SNAPSHOT]: StateSnapshotEvent;\n [EventType.STATE_DELTA]: StateDeltaEvent;\n [EventType.MESSAGES_SNAPSHOT]: MessagesSnapshotEvent;\n [EventType.ACTIVITY_SNAPSHOT]: ActivitySnapshotEvent;\n [EventType.ACTIVITY_DELTA]: ActivityDeltaEvent;\n [EventType.RAW]: RawEvent;\n [EventType.CUSTOM]: CustomEvent;\n [EventType.RUN_STARTED]: RunStartedEvent;\n [EventType.RUN_FINISHED]: RunFinishedEvent;\n [EventType.RUN_ERROR]: RunErrorEvent;\n [EventType.STEP_STARTED]: StepStartedEvent;\n [EventType.STEP_FINISHED]: StepFinishedEvent;\n [EventType.REASONING_START]: ReasoningStartEvent;\n [EventType.REASONING_MESSAGE_START]: ReasoningMessageStartEvent;\n [EventType.REASONING_MESSAGE_CONTENT]: ReasoningMessageContentEvent;\n [EventType.REASONING_MESSAGE_END]: ReasoningMessageEndEvent;\n [EventType.REASONING_MESSAGE_CHUNK]: ReasoningMessageChunkEvent;\n [EventType.REASONING_END]: ReasoningEndEvent;\n [EventType.REASONING_ENCRYPTED_VALUE]: ReasoningEncryptedValueEvent;\n};\n\nexport type AGUIEventOf<T extends EventType> = AGUIEventByType[T];\nexport type EventPayloadOf<T extends EventType> = Omit<AGUIEventOf<T>, keyof BaseEventFields>;\n\n// ---------------------------------------------------------------------------\n// Props types (mirror z.input<Schema> with \"type\" omitted)\n// Fields with .default() are optional in Props (callers can omit them)\n// ---------------------------------------------------------------------------\n\n/**\n * Factory input for event `E`: the event minus its `type` discriminant.\n *\n * The `type?: never` member is load-bearing. `BaseEvent` carries an\n * `[k: string]: unknown` index signature to mirror the wire-level passthrough\n * behavior, and that index signature survives `Omit<E, \"type\">` — so without an\n * explicit `type` declaration, `{ type: EventType.RUN_ERROR, ... }` would satisfy\n * every event's Props and let a caller silently override the discriminant.\n */\nexport type EventProps<E extends BaseEvent> = Omit<E, \"type\"> & { type?: never };\n\nexport type BaseEventProps = Omit<BaseEvent, \"type\">;\n\n// TextMessageStartEvent: role has .default(\"assistant\") → optional in Props\nexport type TextMessageStartEventProps = Omit<TextMessageStartEvent, \"type\" | \"role\"> & {\n role?: TextMessageRole;\n type?: never;\n};\nexport type TextMessageContentEventProps = EventProps<TextMessageContentEvent>;\nexport type TextMessageEndEventProps = EventProps<TextMessageEndEvent>;\nexport type TextMessageChunkEventProps = EventProps<TextMessageChunkEvent>;\n\nexport type ThinkingTextMessageStartEventProps = EventProps<ThinkingTextMessageStartEvent>;\nexport type ThinkingTextMessageContentEventProps = EventProps<ThinkingTextMessageContentEvent>;\nexport type ThinkingTextMessageEndEventProps = EventProps<ThinkingTextMessageEndEvent>;\n\nexport type ToolCallStartEventProps = EventProps<ToolCallStartEvent>;\nexport type ToolCallArgsEventProps = EventProps<ToolCallArgsEvent>;\nexport type ToolCallEndEventProps = EventProps<ToolCallEndEvent>;\nexport type ToolCallChunkEventProps = EventProps<ToolCallChunkEvent>;\nexport type ToolCallResultEventProps = EventProps<ToolCallResultEvent>;\n\nexport type ThinkingStartEventProps = EventProps<ThinkingStartEvent>;\nexport type ThinkingEndEventProps = EventProps<ThinkingEndEvent>;\n\nexport type StateSnapshotEventProps = EventProps<StateSnapshotEvent>;\nexport type StateDeltaEventProps = EventProps<StateDeltaEvent>;\nexport type MessagesSnapshotEventProps = EventProps<MessagesSnapshotEvent>;\n\n// ActivitySnapshotEvent: replace has .optional().default(true) → optional in Props\nexport type ActivitySnapshotEventProps = Omit<ActivitySnapshotEvent, \"type\" | \"replace\"> & {\n replace?: boolean;\n type?: never;\n};\nexport type ActivityDeltaEventProps = EventProps<ActivityDeltaEvent>;\n\nexport type RawEventProps = EventProps<RawEvent>;\nexport type CustomEventProps = EventProps<CustomEvent>;\n\nexport type RunStartedEventProps = EventProps<RunStartedEvent>;\nexport type RunFinishedEventProps = EventProps<RunFinishedEvent>;\nexport type RunErrorEventProps = EventProps<RunErrorEvent>;\n\nexport type StepStartedEventProps = EventProps<StepStartedEvent>;\nexport type StepFinishedEventProps = EventProps<StepFinishedEvent>;\n\nexport type ReasoningStartEventProps = EventProps<ReasoningStartEvent>;\nexport type ReasoningMessageStartEventProps = EventProps<ReasoningMessageStartEvent>;\nexport type ReasoningMessageContentEventProps = EventProps<ReasoningMessageContentEvent>;\nexport type ReasoningMessageEndEventProps = EventProps<ReasoningMessageEndEvent>;\nexport type ReasoningMessageChunkEventProps = EventProps<ReasoningMessageChunkEvent>;\nexport type ReasoningEndEventProps = EventProps<ReasoningEndEvent>;\nexport type ReasoningEncryptedValueEventProps = EventProps<ReasoningEncryptedValueEvent>;\n"],"mappings":";AAKA,IAAY,gDAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
//#region src/types.d.ts
|
|
2
|
+
interface FunctionCall {
|
|
3
|
+
name: string;
|
|
4
|
+
arguments: string;
|
|
5
|
+
}
|
|
6
|
+
interface ToolCall {
|
|
7
|
+
id: string;
|
|
8
|
+
type: "function";
|
|
9
|
+
function: FunctionCall;
|
|
10
|
+
encryptedValue?: string;
|
|
11
|
+
}
|
|
12
|
+
interface TextInputContent {
|
|
13
|
+
type: "text";
|
|
14
|
+
text: string;
|
|
15
|
+
}
|
|
16
|
+
interface InputContentDataSource {
|
|
17
|
+
type: "data";
|
|
18
|
+
value: string;
|
|
19
|
+
mimeType: string;
|
|
20
|
+
}
|
|
21
|
+
interface InputContentUrlSource {
|
|
22
|
+
type: "url";
|
|
23
|
+
value: string;
|
|
24
|
+
mimeType?: string;
|
|
25
|
+
}
|
|
26
|
+
type InputContentSource = InputContentDataSource | InputContentUrlSource;
|
|
27
|
+
interface ImageInputContent {
|
|
28
|
+
type: "image";
|
|
29
|
+
source: InputContentSource;
|
|
30
|
+
metadata?: unknown;
|
|
31
|
+
}
|
|
32
|
+
interface AudioInputContent {
|
|
33
|
+
type: "audio";
|
|
34
|
+
source: InputContentSource;
|
|
35
|
+
metadata?: unknown;
|
|
36
|
+
}
|
|
37
|
+
interface VideoInputContent {
|
|
38
|
+
type: "video";
|
|
39
|
+
source: InputContentSource;
|
|
40
|
+
metadata?: unknown;
|
|
41
|
+
}
|
|
42
|
+
interface DocumentInputContent {
|
|
43
|
+
type: "document";
|
|
44
|
+
source: InputContentSource;
|
|
45
|
+
metadata?: unknown;
|
|
46
|
+
}
|
|
47
|
+
type ImageInputPart = ImageInputContent;
|
|
48
|
+
type AudioInputPart = AudioInputContent;
|
|
49
|
+
type VideoInputPart = VideoInputContent;
|
|
50
|
+
type DocumentInputPart = DocumentInputContent;
|
|
51
|
+
interface BinaryInputContent {
|
|
52
|
+
type: "binary";
|
|
53
|
+
mimeType: string;
|
|
54
|
+
id?: string;
|
|
55
|
+
url?: string;
|
|
56
|
+
data?: string;
|
|
57
|
+
filename?: string;
|
|
58
|
+
}
|
|
59
|
+
type InputContent = TextInputContent | ImageInputContent | AudioInputContent | VideoInputContent | DocumentInputContent | BinaryInputContent;
|
|
60
|
+
type InputContentPart = InputContent;
|
|
61
|
+
interface BaseMessageFields {
|
|
62
|
+
id: string;
|
|
63
|
+
name?: string;
|
|
64
|
+
encryptedValue?: string;
|
|
65
|
+
}
|
|
66
|
+
interface DeveloperMessage extends BaseMessageFields {
|
|
67
|
+
role: "developer";
|
|
68
|
+
content: string;
|
|
69
|
+
}
|
|
70
|
+
interface SystemMessage extends BaseMessageFields {
|
|
71
|
+
role: "system";
|
|
72
|
+
content: string;
|
|
73
|
+
}
|
|
74
|
+
interface AssistantMessage extends BaseMessageFields {
|
|
75
|
+
role: "assistant";
|
|
76
|
+
content?: string;
|
|
77
|
+
toolCalls?: ToolCall[];
|
|
78
|
+
}
|
|
79
|
+
interface UserMessage extends BaseMessageFields {
|
|
80
|
+
role: "user";
|
|
81
|
+
content: string | InputContent[];
|
|
82
|
+
}
|
|
83
|
+
interface ToolMessage {
|
|
84
|
+
id: string;
|
|
85
|
+
content: string;
|
|
86
|
+
role: "tool";
|
|
87
|
+
toolCallId: string;
|
|
88
|
+
error?: string;
|
|
89
|
+
encryptedValue?: string;
|
|
90
|
+
}
|
|
91
|
+
interface ActivityMessage {
|
|
92
|
+
id: string;
|
|
93
|
+
role: "activity";
|
|
94
|
+
activityType: string;
|
|
95
|
+
content: Record<string, any>;
|
|
96
|
+
}
|
|
97
|
+
interface ReasoningMessage {
|
|
98
|
+
id: string;
|
|
99
|
+
role: "reasoning";
|
|
100
|
+
content: string;
|
|
101
|
+
encryptedValue?: string;
|
|
102
|
+
}
|
|
103
|
+
type Message = DeveloperMessage | SystemMessage | AssistantMessage | UserMessage | ToolMessage | ActivityMessage | ReasoningMessage;
|
|
104
|
+
type Role = "developer" | "system" | "assistant" | "user" | "tool" | "activity" | "reasoning";
|
|
105
|
+
interface Context {
|
|
106
|
+
description: string;
|
|
107
|
+
value: string;
|
|
108
|
+
}
|
|
109
|
+
interface Tool {
|
|
110
|
+
name: string;
|
|
111
|
+
description: string;
|
|
112
|
+
parameters?: any;
|
|
113
|
+
metadata?: Record<string, any>;
|
|
114
|
+
}
|
|
115
|
+
interface Interrupt {
|
|
116
|
+
id: string;
|
|
117
|
+
reason: string;
|
|
118
|
+
message?: string;
|
|
119
|
+
toolCallId?: string;
|
|
120
|
+
responseSchema?: Record<string, any>;
|
|
121
|
+
expiresAt?: string;
|
|
122
|
+
metadata?: Record<string, any>;
|
|
123
|
+
}
|
|
124
|
+
type ResumeStatus = "resolved" | "cancelled";
|
|
125
|
+
interface ResumeEntry {
|
|
126
|
+
interruptId: string;
|
|
127
|
+
status: ResumeStatus;
|
|
128
|
+
payload?: any;
|
|
129
|
+
}
|
|
130
|
+
interface RunAgentInput {
|
|
131
|
+
threadId: string;
|
|
132
|
+
runId: string;
|
|
133
|
+
parentRunId?: string;
|
|
134
|
+
state?: any;
|
|
135
|
+
messages: Message[];
|
|
136
|
+
tools: Tool[];
|
|
137
|
+
context: Context[];
|
|
138
|
+
forwardedProps?: any;
|
|
139
|
+
resume?: ResumeEntry[];
|
|
140
|
+
}
|
|
141
|
+
type State = any;
|
|
142
|
+
declare class AGUIError extends Error {
|
|
143
|
+
constructor(message: string);
|
|
144
|
+
}
|
|
145
|
+
declare class AGUIConnectNotImplementedError extends AGUIError {
|
|
146
|
+
constructor();
|
|
147
|
+
}
|
|
148
|
+
//#endregion
|
|
149
|
+
//#region src/events.d.ts
|
|
150
|
+
declare enum EventType {
|
|
151
|
+
TEXT_MESSAGE_START = "TEXT_MESSAGE_START",
|
|
152
|
+
TEXT_MESSAGE_CONTENT = "TEXT_MESSAGE_CONTENT",
|
|
153
|
+
TEXT_MESSAGE_END = "TEXT_MESSAGE_END",
|
|
154
|
+
TEXT_MESSAGE_CHUNK = "TEXT_MESSAGE_CHUNK",
|
|
155
|
+
TOOL_CALL_START = "TOOL_CALL_START",
|
|
156
|
+
TOOL_CALL_ARGS = "TOOL_CALL_ARGS",
|
|
157
|
+
TOOL_CALL_END = "TOOL_CALL_END",
|
|
158
|
+
TOOL_CALL_CHUNK = "TOOL_CALL_CHUNK",
|
|
159
|
+
TOOL_CALL_RESULT = "TOOL_CALL_RESULT",
|
|
160
|
+
/** @deprecated Use REASONING_START instead. Will be removed in 1.0.0. */
|
|
161
|
+
THINKING_START = "THINKING_START",
|
|
162
|
+
/** @deprecated Use REASONING_END instead. Will be removed in 1.0.0. */
|
|
163
|
+
THINKING_END = "THINKING_END",
|
|
164
|
+
/** @deprecated Use REASONING_MESSAGE_START instead. Will be removed in 1.0.0. */
|
|
165
|
+
THINKING_TEXT_MESSAGE_START = "THINKING_TEXT_MESSAGE_START",
|
|
166
|
+
/** @deprecated Use REASONING_MESSAGE_CONTENT instead. Will be removed in 1.0.0. */
|
|
167
|
+
THINKING_TEXT_MESSAGE_CONTENT = "THINKING_TEXT_MESSAGE_CONTENT",
|
|
168
|
+
/** @deprecated Use REASONING_MESSAGE_END instead. Will be removed in 1.0.0. */
|
|
169
|
+
THINKING_TEXT_MESSAGE_END = "THINKING_TEXT_MESSAGE_END",
|
|
170
|
+
STATE_SNAPSHOT = "STATE_SNAPSHOT",
|
|
171
|
+
STATE_DELTA = "STATE_DELTA",
|
|
172
|
+
MESSAGES_SNAPSHOT = "MESSAGES_SNAPSHOT",
|
|
173
|
+
ACTIVITY_SNAPSHOT = "ACTIVITY_SNAPSHOT",
|
|
174
|
+
ACTIVITY_DELTA = "ACTIVITY_DELTA",
|
|
175
|
+
RAW = "RAW",
|
|
176
|
+
CUSTOM = "CUSTOM",
|
|
177
|
+
RUN_STARTED = "RUN_STARTED",
|
|
178
|
+
RUN_FINISHED = "RUN_FINISHED",
|
|
179
|
+
RUN_ERROR = "RUN_ERROR",
|
|
180
|
+
STEP_STARTED = "STEP_STARTED",
|
|
181
|
+
STEP_FINISHED = "STEP_FINISHED",
|
|
182
|
+
REASONING_START = "REASONING_START",
|
|
183
|
+
REASONING_MESSAGE_START = "REASONING_MESSAGE_START",
|
|
184
|
+
REASONING_MESSAGE_CONTENT = "REASONING_MESSAGE_CONTENT",
|
|
185
|
+
REASONING_MESSAGE_END = "REASONING_MESSAGE_END",
|
|
186
|
+
REASONING_MESSAGE_CHUNK = "REASONING_MESSAGE_CHUNK",
|
|
187
|
+
REASONING_END = "REASONING_END",
|
|
188
|
+
REASONING_ENCRYPTED_VALUE = "REASONING_ENCRYPTED_VALUE"
|
|
189
|
+
}
|
|
190
|
+
type TextMessageRole = "developer" | "system" | "assistant" | "user";
|
|
191
|
+
type ReasoningEncryptedValueSubtype = "tool-call" | "message";
|
|
192
|
+
interface BaseEvent {
|
|
193
|
+
type: EventType;
|
|
194
|
+
timestamp?: number;
|
|
195
|
+
rawEvent?: any;
|
|
196
|
+
[k: string]: unknown;
|
|
197
|
+
}
|
|
198
|
+
type BaseEventFields = BaseEvent;
|
|
199
|
+
interface TextMessageStartEvent extends BaseEvent {
|
|
200
|
+
type: EventType.TEXT_MESSAGE_START;
|
|
201
|
+
messageId: string;
|
|
202
|
+
role: TextMessageRole;
|
|
203
|
+
name?: string;
|
|
204
|
+
}
|
|
205
|
+
interface TextMessageContentEvent extends BaseEvent {
|
|
206
|
+
type: EventType.TEXT_MESSAGE_CONTENT;
|
|
207
|
+
messageId: string;
|
|
208
|
+
delta: string;
|
|
209
|
+
}
|
|
210
|
+
interface TextMessageEndEvent extends BaseEvent {
|
|
211
|
+
type: EventType.TEXT_MESSAGE_END;
|
|
212
|
+
messageId: string;
|
|
213
|
+
}
|
|
214
|
+
interface TextMessageChunkEvent extends BaseEvent {
|
|
215
|
+
type: EventType.TEXT_MESSAGE_CHUNK;
|
|
216
|
+
messageId?: string;
|
|
217
|
+
role?: TextMessageRole;
|
|
218
|
+
delta?: string;
|
|
219
|
+
name?: string;
|
|
220
|
+
}
|
|
221
|
+
/** @deprecated Use ReasoningTextMessageStartEvent instead. Will be removed in 1.0.0. */
|
|
222
|
+
interface ThinkingTextMessageStartEvent extends BaseEvent {
|
|
223
|
+
type: EventType.THINKING_TEXT_MESSAGE_START;
|
|
224
|
+
}
|
|
225
|
+
/** @deprecated Use ReasoningMessageContentEvent instead. Will be removed in 1.0.0. */
|
|
226
|
+
interface ThinkingTextMessageContentEvent extends BaseEvent {
|
|
227
|
+
type: EventType.THINKING_TEXT_MESSAGE_CONTENT;
|
|
228
|
+
delta: string;
|
|
229
|
+
}
|
|
230
|
+
/** @deprecated Use ReasoningMessageEndEvent instead. Will be removed in 1.0.0. */
|
|
231
|
+
interface ThinkingTextMessageEndEvent extends BaseEvent {
|
|
232
|
+
type: EventType.THINKING_TEXT_MESSAGE_END;
|
|
233
|
+
}
|
|
234
|
+
interface ToolCallStartEvent extends BaseEvent {
|
|
235
|
+
type: EventType.TOOL_CALL_START;
|
|
236
|
+
toolCallId: string;
|
|
237
|
+
toolCallName: string;
|
|
238
|
+
parentMessageId?: string;
|
|
239
|
+
}
|
|
240
|
+
interface ToolCallArgsEvent extends BaseEvent {
|
|
241
|
+
type: EventType.TOOL_CALL_ARGS;
|
|
242
|
+
toolCallId: string;
|
|
243
|
+
delta: string;
|
|
244
|
+
}
|
|
245
|
+
interface ToolCallEndEvent extends BaseEvent {
|
|
246
|
+
type: EventType.TOOL_CALL_END;
|
|
247
|
+
toolCallId: string;
|
|
248
|
+
}
|
|
249
|
+
interface ToolCallResultEvent extends BaseEvent {
|
|
250
|
+
messageId: string;
|
|
251
|
+
type: EventType.TOOL_CALL_RESULT;
|
|
252
|
+
toolCallId: string;
|
|
253
|
+
content: string;
|
|
254
|
+
role?: "tool";
|
|
255
|
+
}
|
|
256
|
+
interface ToolCallChunkEvent extends BaseEvent {
|
|
257
|
+
type: EventType.TOOL_CALL_CHUNK;
|
|
258
|
+
toolCallId?: string;
|
|
259
|
+
toolCallName?: string;
|
|
260
|
+
parentMessageId?: string;
|
|
261
|
+
delta?: string;
|
|
262
|
+
}
|
|
263
|
+
/** @deprecated Use ReasoningStartEvent instead. Will be removed in 1.0.0. */
|
|
264
|
+
interface ThinkingStartEvent extends BaseEvent {
|
|
265
|
+
type: EventType.THINKING_START;
|
|
266
|
+
title?: string;
|
|
267
|
+
}
|
|
268
|
+
/** @deprecated Use ReasoningEndEvent instead. Will be removed in 1.0.0. */
|
|
269
|
+
interface ThinkingEndEvent extends BaseEvent {
|
|
270
|
+
type: EventType.THINKING_END;
|
|
271
|
+
}
|
|
272
|
+
interface StateSnapshotEvent extends BaseEvent {
|
|
273
|
+
type: EventType.STATE_SNAPSHOT;
|
|
274
|
+
snapshot?: any;
|
|
275
|
+
}
|
|
276
|
+
interface StateDeltaEvent extends BaseEvent {
|
|
277
|
+
type: EventType.STATE_DELTA;
|
|
278
|
+
delta: any[];
|
|
279
|
+
}
|
|
280
|
+
interface MessagesSnapshotEvent extends BaseEvent {
|
|
281
|
+
type: EventType.MESSAGES_SNAPSHOT;
|
|
282
|
+
messages: Message[];
|
|
283
|
+
}
|
|
284
|
+
interface ActivitySnapshotEvent extends BaseEvent {
|
|
285
|
+
type: EventType.ACTIVITY_SNAPSHOT;
|
|
286
|
+
messageId: string;
|
|
287
|
+
activityType: string;
|
|
288
|
+
content: Record<string, any>;
|
|
289
|
+
replace: boolean;
|
|
290
|
+
}
|
|
291
|
+
interface ActivityDeltaEvent extends BaseEvent {
|
|
292
|
+
type: EventType.ACTIVITY_DELTA;
|
|
293
|
+
messageId: string;
|
|
294
|
+
activityType: string;
|
|
295
|
+
patch: any[];
|
|
296
|
+
}
|
|
297
|
+
interface RawEvent extends BaseEvent {
|
|
298
|
+
type: EventType.RAW;
|
|
299
|
+
event?: any;
|
|
300
|
+
source?: string;
|
|
301
|
+
}
|
|
302
|
+
interface CustomEvent extends BaseEvent {
|
|
303
|
+
type: EventType.CUSTOM;
|
|
304
|
+
name: string;
|
|
305
|
+
value?: any;
|
|
306
|
+
}
|
|
307
|
+
interface RunStartedEvent extends BaseEvent {
|
|
308
|
+
type: EventType.RUN_STARTED;
|
|
309
|
+
threadId: string;
|
|
310
|
+
runId: string;
|
|
311
|
+
parentRunId?: string;
|
|
312
|
+
input?: RunAgentInput;
|
|
313
|
+
}
|
|
314
|
+
interface RunFinishedSuccessOutcome {
|
|
315
|
+
type: "success";
|
|
316
|
+
}
|
|
317
|
+
interface RunFinishedInterruptOutcome {
|
|
318
|
+
type: "interrupt";
|
|
319
|
+
interrupts: Interrupt[];
|
|
320
|
+
}
|
|
321
|
+
type RunFinishedOutcome = RunFinishedSuccessOutcome | RunFinishedInterruptOutcome;
|
|
322
|
+
interface RunFinishedEvent extends BaseEvent {
|
|
323
|
+
type: EventType.RUN_FINISHED;
|
|
324
|
+
threadId: string;
|
|
325
|
+
runId: string;
|
|
326
|
+
result?: any;
|
|
327
|
+
outcome?: RunFinishedOutcome;
|
|
328
|
+
}
|
|
329
|
+
interface RunErrorEvent extends BaseEvent {
|
|
330
|
+
type: EventType.RUN_ERROR;
|
|
331
|
+
message: string;
|
|
332
|
+
code?: string;
|
|
333
|
+
}
|
|
334
|
+
interface StepStartedEvent extends BaseEvent {
|
|
335
|
+
type: EventType.STEP_STARTED;
|
|
336
|
+
stepName: string;
|
|
337
|
+
}
|
|
338
|
+
interface StepFinishedEvent extends BaseEvent {
|
|
339
|
+
type: EventType.STEP_FINISHED;
|
|
340
|
+
stepName: string;
|
|
341
|
+
}
|
|
342
|
+
interface ReasoningStartEvent extends BaseEvent {
|
|
343
|
+
type: EventType.REASONING_START;
|
|
344
|
+
messageId: string;
|
|
345
|
+
}
|
|
346
|
+
interface ReasoningMessageStartEvent extends BaseEvent {
|
|
347
|
+
type: EventType.REASONING_MESSAGE_START;
|
|
348
|
+
messageId: string;
|
|
349
|
+
role: "reasoning";
|
|
350
|
+
}
|
|
351
|
+
interface ReasoningMessageContentEvent extends BaseEvent {
|
|
352
|
+
type: EventType.REASONING_MESSAGE_CONTENT;
|
|
353
|
+
messageId: string;
|
|
354
|
+
delta: string;
|
|
355
|
+
}
|
|
356
|
+
interface ReasoningMessageEndEvent extends BaseEvent {
|
|
357
|
+
type: EventType.REASONING_MESSAGE_END;
|
|
358
|
+
messageId: string;
|
|
359
|
+
}
|
|
360
|
+
interface ReasoningMessageChunkEvent extends BaseEvent {
|
|
361
|
+
type: EventType.REASONING_MESSAGE_CHUNK;
|
|
362
|
+
messageId?: string;
|
|
363
|
+
delta?: string;
|
|
364
|
+
}
|
|
365
|
+
interface ReasoningEndEvent extends BaseEvent {
|
|
366
|
+
type: EventType.REASONING_END;
|
|
367
|
+
messageId: string;
|
|
368
|
+
}
|
|
369
|
+
interface ReasoningEncryptedValueEvent extends BaseEvent {
|
|
370
|
+
type: EventType.REASONING_ENCRYPTED_VALUE;
|
|
371
|
+
subtype: ReasoningEncryptedValueSubtype;
|
|
372
|
+
entityId: string;
|
|
373
|
+
encryptedValue: string;
|
|
374
|
+
}
|
|
375
|
+
type AGUIEvent = TextMessageStartEvent | TextMessageContentEvent | TextMessageEndEvent | TextMessageChunkEvent | ThinkingStartEvent | ThinkingEndEvent | ThinkingTextMessageStartEvent | ThinkingTextMessageContentEvent | ThinkingTextMessageEndEvent | ToolCallStartEvent | ToolCallArgsEvent | ToolCallEndEvent | ToolCallChunkEvent | ToolCallResultEvent | StateSnapshotEvent | StateDeltaEvent | MessagesSnapshotEvent | ActivitySnapshotEvent | ActivityDeltaEvent | RawEvent | CustomEvent | RunStartedEvent | RunFinishedEvent | RunErrorEvent | StepStartedEvent | StepFinishedEvent | ReasoningStartEvent | ReasoningMessageStartEvent | ReasoningMessageContentEvent | ReasoningMessageEndEvent | ReasoningMessageChunkEvent | ReasoningEndEvent | ReasoningEncryptedValueEvent;
|
|
376
|
+
type AGUIEventByType = {
|
|
377
|
+
[EventType.TEXT_MESSAGE_START]: TextMessageStartEvent;
|
|
378
|
+
[EventType.TEXT_MESSAGE_CONTENT]: TextMessageContentEvent;
|
|
379
|
+
[EventType.TEXT_MESSAGE_END]: TextMessageEndEvent;
|
|
380
|
+
[EventType.TEXT_MESSAGE_CHUNK]: TextMessageChunkEvent;
|
|
381
|
+
[EventType.THINKING_TEXT_MESSAGE_START]: ThinkingTextMessageStartEvent;
|
|
382
|
+
[EventType.THINKING_TEXT_MESSAGE_CONTENT]: ThinkingTextMessageContentEvent;
|
|
383
|
+
[EventType.THINKING_TEXT_MESSAGE_END]: ThinkingTextMessageEndEvent;
|
|
384
|
+
[EventType.TOOL_CALL_START]: ToolCallStartEvent;
|
|
385
|
+
[EventType.TOOL_CALL_ARGS]: ToolCallArgsEvent;
|
|
386
|
+
[EventType.TOOL_CALL_END]: ToolCallEndEvent;
|
|
387
|
+
[EventType.TOOL_CALL_CHUNK]: ToolCallChunkEvent;
|
|
388
|
+
[EventType.TOOL_CALL_RESULT]: ToolCallResultEvent;
|
|
389
|
+
[EventType.THINKING_START]: ThinkingStartEvent;
|
|
390
|
+
[EventType.THINKING_END]: ThinkingEndEvent;
|
|
391
|
+
[EventType.STATE_SNAPSHOT]: StateSnapshotEvent;
|
|
392
|
+
[EventType.STATE_DELTA]: StateDeltaEvent;
|
|
393
|
+
[EventType.MESSAGES_SNAPSHOT]: MessagesSnapshotEvent;
|
|
394
|
+
[EventType.ACTIVITY_SNAPSHOT]: ActivitySnapshotEvent;
|
|
395
|
+
[EventType.ACTIVITY_DELTA]: ActivityDeltaEvent;
|
|
396
|
+
[EventType.RAW]: RawEvent;
|
|
397
|
+
[EventType.CUSTOM]: CustomEvent;
|
|
398
|
+
[EventType.RUN_STARTED]: RunStartedEvent;
|
|
399
|
+
[EventType.RUN_FINISHED]: RunFinishedEvent;
|
|
400
|
+
[EventType.RUN_ERROR]: RunErrorEvent;
|
|
401
|
+
[EventType.STEP_STARTED]: StepStartedEvent;
|
|
402
|
+
[EventType.STEP_FINISHED]: StepFinishedEvent;
|
|
403
|
+
[EventType.REASONING_START]: ReasoningStartEvent;
|
|
404
|
+
[EventType.REASONING_MESSAGE_START]: ReasoningMessageStartEvent;
|
|
405
|
+
[EventType.REASONING_MESSAGE_CONTENT]: ReasoningMessageContentEvent;
|
|
406
|
+
[EventType.REASONING_MESSAGE_END]: ReasoningMessageEndEvent;
|
|
407
|
+
[EventType.REASONING_MESSAGE_CHUNK]: ReasoningMessageChunkEvent;
|
|
408
|
+
[EventType.REASONING_END]: ReasoningEndEvent;
|
|
409
|
+
[EventType.REASONING_ENCRYPTED_VALUE]: ReasoningEncryptedValueEvent;
|
|
410
|
+
};
|
|
411
|
+
type AGUIEventOf<T extends EventType> = AGUIEventByType[T];
|
|
412
|
+
type EventPayloadOf<T extends EventType> = Omit<AGUIEventOf<T>, keyof BaseEventFields>;
|
|
413
|
+
/**
|
|
414
|
+
* Factory input for event `E`: the event minus its `type` discriminant.
|
|
415
|
+
*
|
|
416
|
+
* The `type?: never` member is load-bearing. `BaseEvent` carries an
|
|
417
|
+
* `[k: string]: unknown` index signature to mirror the wire-level passthrough
|
|
418
|
+
* behavior, and that index signature survives `Omit<E, "type">` — so without an
|
|
419
|
+
* explicit `type` declaration, `{ type: EventType.RUN_ERROR, ... }` would satisfy
|
|
420
|
+
* every event's Props and let a caller silently override the discriminant.
|
|
421
|
+
*/
|
|
422
|
+
type EventProps<E extends BaseEvent> = Omit<E, "type"> & {
|
|
423
|
+
type?: never;
|
|
424
|
+
};
|
|
425
|
+
type BaseEventProps = Omit<BaseEvent, "type">;
|
|
426
|
+
type TextMessageStartEventProps = Omit<TextMessageStartEvent, "type" | "role"> & {
|
|
427
|
+
role?: TextMessageRole;
|
|
428
|
+
type?: never;
|
|
429
|
+
};
|
|
430
|
+
type TextMessageContentEventProps = EventProps<TextMessageContentEvent>;
|
|
431
|
+
type TextMessageEndEventProps = EventProps<TextMessageEndEvent>;
|
|
432
|
+
type TextMessageChunkEventProps = EventProps<TextMessageChunkEvent>;
|
|
433
|
+
type ThinkingTextMessageStartEventProps = EventProps<ThinkingTextMessageStartEvent>;
|
|
434
|
+
type ThinkingTextMessageContentEventProps = EventProps<ThinkingTextMessageContentEvent>;
|
|
435
|
+
type ThinkingTextMessageEndEventProps = EventProps<ThinkingTextMessageEndEvent>;
|
|
436
|
+
type ToolCallStartEventProps = EventProps<ToolCallStartEvent>;
|
|
437
|
+
type ToolCallArgsEventProps = EventProps<ToolCallArgsEvent>;
|
|
438
|
+
type ToolCallEndEventProps = EventProps<ToolCallEndEvent>;
|
|
439
|
+
type ToolCallChunkEventProps = EventProps<ToolCallChunkEvent>;
|
|
440
|
+
type ToolCallResultEventProps = EventProps<ToolCallResultEvent>;
|
|
441
|
+
type ThinkingStartEventProps = EventProps<ThinkingStartEvent>;
|
|
442
|
+
type ThinkingEndEventProps = EventProps<ThinkingEndEvent>;
|
|
443
|
+
type StateSnapshotEventProps = EventProps<StateSnapshotEvent>;
|
|
444
|
+
type StateDeltaEventProps = EventProps<StateDeltaEvent>;
|
|
445
|
+
type MessagesSnapshotEventProps = EventProps<MessagesSnapshotEvent>;
|
|
446
|
+
type ActivitySnapshotEventProps = Omit<ActivitySnapshotEvent, "type" | "replace"> & {
|
|
447
|
+
replace?: boolean;
|
|
448
|
+
type?: never;
|
|
449
|
+
};
|
|
450
|
+
type ActivityDeltaEventProps = EventProps<ActivityDeltaEvent>;
|
|
451
|
+
type RawEventProps = EventProps<RawEvent>;
|
|
452
|
+
type CustomEventProps = EventProps<CustomEvent>;
|
|
453
|
+
type RunStartedEventProps = EventProps<RunStartedEvent>;
|
|
454
|
+
type RunFinishedEventProps = EventProps<RunFinishedEvent>;
|
|
455
|
+
type RunErrorEventProps = EventProps<RunErrorEvent>;
|
|
456
|
+
type StepStartedEventProps = EventProps<StepStartedEvent>;
|
|
457
|
+
type StepFinishedEventProps = EventProps<StepFinishedEvent>;
|
|
458
|
+
type ReasoningStartEventProps = EventProps<ReasoningStartEvent>;
|
|
459
|
+
type ReasoningMessageStartEventProps = EventProps<ReasoningMessageStartEvent>;
|
|
460
|
+
type ReasoningMessageContentEventProps = EventProps<ReasoningMessageContentEvent>;
|
|
461
|
+
type ReasoningMessageEndEventProps = EventProps<ReasoningMessageEndEvent>;
|
|
462
|
+
type ReasoningMessageChunkEventProps = EventProps<ReasoningMessageChunkEvent>;
|
|
463
|
+
type ReasoningEndEventProps = EventProps<ReasoningEndEvent>;
|
|
464
|
+
type ReasoningEncryptedValueEventProps = EventProps<ReasoningEncryptedValueEvent>;
|
|
465
|
+
//#endregion
|
|
466
|
+
export { TextMessageChunkEventProps as $, State as $t, ReasoningMessageEndEventProps as A, AssistantMessage as At, RunFinishedOutcome as B, ImageInputPart as Bt, ReasoningEndEvent as C, ToolCallResultEvent as Ct, ReasoningMessageContentEvent as D, AGUIConnectNotImplementedError as Dt, ReasoningMessageChunkEventProps as E, ToolCallStartEventProps as Et, RunErrorEvent as F, DeveloperMessage as Ft, StateDeltaEventProps as G, InputContentUrlSource as Gt, RunStartedEvent as H, InputContentDataSource as Ht, RunErrorEventProps as I, DocumentInputContent as It, StepFinishedEvent as J, ReasoningMessage as Jt, StateSnapshotEvent as K, Interrupt as Kt, RunFinishedEvent as L, DocumentInputPart as Lt, ReasoningMessageStartEventProps as M, AudioInputPart as Mt, ReasoningStartEvent as N, BinaryInputContent as Nt, ReasoningMessageContentEventProps as O, AGUIError as Ot, ReasoningStartEventProps as P, Context as Pt, TextMessageChunkEvent as Q, RunAgentInput as Qt, RunFinishedEventProps as R, FunctionCall as Rt, ReasoningEncryptedValueSubtype as S, ToolCallEndEventProps as St, ReasoningMessageChunkEvent as T, ToolCallStartEvent as Tt, RunStartedEventProps as U, InputContentPart as Ut, RunFinishedSuccessOutcome as V, InputContent as Vt, StateDeltaEvent as W, InputContentSource as Wt, StepStartedEvent as X, ResumeStatus as Xt, StepFinishedEventProps as Y, ResumeEntry as Yt, StepStartedEventProps as Z, Role as Zt, MessagesSnapshotEventProps as _, ToolCallArgsEvent as _t, ActivityDeltaEventProps as a, UserMessage as an, TextMessageStartEvent as at, ReasoningEncryptedValueEvent as b, ToolCallChunkEventProps as bt, BaseEvent as c, ThinkingEndEventProps as ct, CustomEvent as d, ThinkingTextMessageContentEvent as dt, SystemMessage as en, TextMessageContentEvent as et, CustomEventProps as f, ThinkingTextMessageContentEventProps as ft, MessagesSnapshotEvent as g, ThinkingTextMessageStartEventProps as gt, EventType as h, ThinkingTextMessageStartEvent as ht, ActivityDeltaEvent as i, ToolMessage as in, TextMessageRole as it, ReasoningMessageStartEvent as j, AudioInputContent as jt, ReasoningMessageEndEvent as k, ActivityMessage as kt, BaseEventFields as l, ThinkingStartEvent as lt, EventProps as m, ThinkingTextMessageEndEventProps as mt, AGUIEventByType as n, Tool as nn, TextMessageEndEvent as nt, ActivitySnapshotEvent as o, VideoInputContent as on, TextMessageStartEventProps as ot, EventPayloadOf as p, ThinkingTextMessageEndEvent as pt, StateSnapshotEventProps as q, Message as qt, AGUIEventOf as r, ToolCall as rn, TextMessageEndEventProps as rt, ActivitySnapshotEventProps as s, VideoInputPart as sn, ThinkingEndEvent as st, AGUIEvent as t, TextInputContent as tn, TextMessageContentEventProps as tt, BaseEventProps as u, ThinkingStartEventProps as ut, RawEvent as v, ToolCallArgsEventProps as vt, ReasoningEndEventProps as w, ToolCallResultEventProps as wt, ReasoningEncryptedValueEventProps as x, ToolCallEndEvent as xt, RawEventProps as y, ToolCallChunkEvent as yt, RunFinishedInterruptOutcome as z, ImageInputContent as zt };
|
|
467
|
+
//# sourceMappingURL=events-Bg2nO3O2.d.mts.map
|