@kibadist/agentui-ai 0.1.6 → 0.1.7
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/tool.d.ts +11 -20
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +24 -32
- package/dist/tool.js.map +1 -1
- package/package.json +2 -2
package/dist/tool.d.ts
CHANGED
|
@@ -11,34 +11,25 @@ export interface CreateUIEmitterToolOptions {
|
|
|
11
11
|
/**
|
|
12
12
|
* Creates an AI SDK tool for emitting UI events.
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
14
|
+
* Uses a flat object schema (not discriminatedUnion) so the JSON schema
|
|
15
|
+
* root is always `{ type: "object" }`, which is required by
|
|
16
|
+
* OpenAI-compatible providers like DeepSeek.
|
|
16
17
|
*/
|
|
17
18
|
export declare function createUIEmitterTool(opts: CreateUIEmitterToolOptions): import("ai").Tool<{
|
|
18
|
-
op: "ui.append";
|
|
19
|
-
|
|
19
|
+
op: "ui.append" | "ui.replace" | "ui.remove" | "ui.toast" | "ui.navigate";
|
|
20
|
+
message?: string | undefined;
|
|
21
|
+
key?: string | undefined;
|
|
22
|
+
props?: Record<string, any> | undefined;
|
|
23
|
+
node?: {
|
|
20
24
|
type: string;
|
|
21
25
|
key: string;
|
|
22
26
|
props: Record<string, any>;
|
|
23
27
|
slot?: string | undefined;
|
|
24
|
-
};
|
|
28
|
+
} | undefined;
|
|
25
29
|
index?: number | undefined;
|
|
26
|
-
} | {
|
|
27
|
-
op: "ui.replace";
|
|
28
|
-
key: string;
|
|
29
|
-
props: Record<string, any>;
|
|
30
|
-
replace?: boolean | undefined;
|
|
31
|
-
} | {
|
|
32
|
-
op: "ui.remove";
|
|
33
|
-
key: string;
|
|
34
|
-
} | {
|
|
35
|
-
op: "ui.toast";
|
|
36
|
-
message: string;
|
|
37
|
-
level: "info" | "success" | "warning" | "error";
|
|
38
|
-
} | {
|
|
39
|
-
op: "ui.navigate";
|
|
40
|
-
href: string;
|
|
41
30
|
replace?: boolean | undefined;
|
|
31
|
+
level?: "info" | "success" | "warning" | "error" | undefined;
|
|
32
|
+
href?: string | undefined;
|
|
42
33
|
}, {
|
|
43
34
|
ok: boolean;
|
|
44
35
|
eventId: `${string}-${string}-${string}-${string}-${string}`;
|
package/dist/tool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAG1D,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AAEpD,MAAM,WAAW,0BAA0B;IACzC,iDAAiD;IACjD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC;AAED
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAG1D,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AAEpD,MAAM,WAAW,0BAA0B;IACzC,iDAAiD;IACjD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;GAwDnE"}
|
package/dist/tool.js
CHANGED
|
@@ -5,49 +5,41 @@ export const UI_EMITTER_TOOL_NAME = "emit_ui_event";
|
|
|
5
5
|
/**
|
|
6
6
|
* Creates an AI SDK tool for emitting UI events.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* Uses a flat object schema (not discriminatedUnion) so the JSON schema
|
|
9
|
+
* root is always `{ type: "object" }`, which is required by
|
|
10
|
+
* OpenAI-compatible providers like DeepSeek.
|
|
10
11
|
*/
|
|
11
12
|
export function createUIEmitterTool(opts) {
|
|
12
13
|
const { allowedTypes, sessionId, onUIEvent } = opts;
|
|
13
14
|
const typesEnum = z.enum(allowedTypes);
|
|
14
|
-
const
|
|
15
|
-
op: z.
|
|
16
|
-
|
|
15
|
+
const inputSchema = z.object({
|
|
16
|
+
op: z.enum([
|
|
17
|
+
"ui.append",
|
|
18
|
+
"ui.replace",
|
|
19
|
+
"ui.remove",
|
|
20
|
+
"ui.toast",
|
|
21
|
+
"ui.navigate",
|
|
22
|
+
]),
|
|
23
|
+
// ui.append fields
|
|
24
|
+
node: z
|
|
25
|
+
.object({
|
|
17
26
|
key: z.string().min(1),
|
|
18
27
|
type: typesEnum,
|
|
19
28
|
props: z.record(z.string(), z.any()),
|
|
20
29
|
slot: z.string().optional(),
|
|
21
|
-
})
|
|
30
|
+
})
|
|
31
|
+
.optional(),
|
|
22
32
|
index: z.number().int().nonnegative().optional(),
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
key: z.string().min(1),
|
|
27
|
-
props: z.record(z.string(), z.any()),
|
|
28
|
-
replace: z.boolean().optional(),
|
|
29
|
-
});
|
|
30
|
-
const removeSchema = z.object({
|
|
31
|
-
op: z.literal("ui.remove"),
|
|
32
|
-
key: z.string().min(1),
|
|
33
|
-
});
|
|
34
|
-
const toastSchema = z.object({
|
|
35
|
-
op: z.literal("ui.toast"),
|
|
36
|
-
level: z.enum(["info", "success", "warning", "error"]),
|
|
37
|
-
message: z.string().min(1),
|
|
38
|
-
});
|
|
39
|
-
const navigateSchema = z.object({
|
|
40
|
-
op: z.literal("ui.navigate"),
|
|
41
|
-
href: z.string().min(1),
|
|
33
|
+
// ui.replace / ui.remove fields
|
|
34
|
+
key: z.string().optional(),
|
|
35
|
+
props: z.record(z.string(), z.any()).optional(),
|
|
42
36
|
replace: z.boolean().optional(),
|
|
37
|
+
// ui.toast fields
|
|
38
|
+
level: z.enum(["info", "success", "warning", "error"]).optional(),
|
|
39
|
+
message: z.string().optional(),
|
|
40
|
+
// ui.navigate fields
|
|
41
|
+
href: z.string().optional(),
|
|
43
42
|
});
|
|
44
|
-
const inputSchema = z.discriminatedUnion("op", [
|
|
45
|
-
appendSchema,
|
|
46
|
-
replaceSchema,
|
|
47
|
-
removeSchema,
|
|
48
|
-
toastSchema,
|
|
49
|
-
navigateSchema,
|
|
50
|
-
]);
|
|
51
43
|
return tool({
|
|
52
44
|
description: "Emit a UI event to render, update, or remove a component on the user's screen. " +
|
|
53
45
|
"Each call produces exactly one patch operation.",
|
package/dist/tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAWpD
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAWpD;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAgC;IAClE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAEpD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,YAAqC,CAAC,CAAC;IAEhE,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;QAC3B,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;YACT,WAAW;YACX,YAAY;YACZ,WAAW;YACX,UAAU;YACV,aAAa;SACd,CAAC;QACF,mBAAmB;QACnB,IAAI,EAAE,CAAC;aACJ,MAAM,CAAC;YACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACtB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC5B,CAAC;aACD,QAAQ,EAAE;QACb,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;QAChD,gCAAgC;QAChC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC/C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,kBAAkB;QAClB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;QACjE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,qBAAqB;QACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;QACV,WAAW,EACT,iFAAiF;YACjF,iDAAiD;QACnD,WAAW;QACX,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG;gBACZ,GAAG,IAAI;gBACP,CAAC,EAAE,CAAU;gBACb,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;gBACvB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC5B,SAAS;aACV,CAAC;YAEF,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YACzC,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACpD,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kibadist/agentui-ai",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "AgentUI adapter for Vercel AI SDK — works with any provider (OpenAI, Anthropic, Google, etc.)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"dist"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@kibadist/agentui-protocol": "0.1.
|
|
29
|
+
"@kibadist/agentui-protocol": "0.1.6",
|
|
30
30
|
"@kibadist/agentui-validate": "0.1.6"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|