summaryrefslogtreecommitdiffhomepage
path: root/js/src/session/message.ts
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/session/message.ts')
-rw-r--r--js/src/session/message.ts171
1 files changed, 0 insertions, 171 deletions
diff --git a/js/src/session/message.ts b/js/src/session/message.ts
deleted file mode 100644
index 11ec5c6b3..000000000
--- a/js/src/session/message.ts
+++ /dev/null
@@ -1,171 +0,0 @@
-import z from "zod";
-import { Bus } from "../bus";
-
-export namespace Message {
- export const ToolCall = z
- .object({
- state: z.literal("call"),
- step: z.number().optional(),
- toolCallId: z.string(),
- toolName: z.string(),
- args: z.custom<Required<unknown>>(),
- })
- .openapi({
- ref: "Message.ToolInvocation.ToolCall",
- });
- export type ToolCall = z.infer<typeof ToolCall>;
-
- export const ToolPartialCall = z
- .object({
- state: z.literal("partial-call"),
- step: z.number().optional(),
- toolCallId: z.string(),
- toolName: z.string(),
- args: z.custom<Required<unknown>>(),
- })
- .openapi({
- ref: "Message.ToolInvocation.ToolPartialCall",
- });
- export type ToolPartialCall = z.infer<typeof ToolPartialCall>;
-
- export const ToolResult = z
- .object({
- state: z.literal("result"),
- step: z.number().optional(),
- toolCallId: z.string(),
- toolName: z.string(),
- args: z.custom<Required<unknown>>(),
- result: z.string(),
- })
- .openapi({
- ref: "Message.ToolInvocation.ToolResult",
- });
- export type ToolResult = z.infer<typeof ToolResult>;
-
- export const ToolInvocation = z
- .discriminatedUnion("state", [ToolCall, ToolPartialCall, ToolResult])
- .openapi({
- ref: "Message.ToolInvocation",
- });
- export type ToolInvocation = z.infer<typeof ToolInvocation>;
-
- export const TextPart = z
- .object({
- type: z.literal("text"),
- text: z.string(),
- })
- .openapi({
- ref: "Message.Part.Text",
- });
- export type TextPart = z.infer<typeof TextPart>;
-
- export const ReasoningPart = z
- .object({
- type: z.literal("reasoning"),
- text: z.string(),
- providerMetadata: z.record(z.any()).optional(),
- })
- .openapi({
- ref: "Message.Part.Reasoning",
- });
- export type ReasoningPart = z.infer<typeof ReasoningPart>;
-
- export const ToolInvocationPart = z
- .object({
- type: z.literal("tool-invocation"),
- toolInvocation: ToolInvocation,
- })
- .openapi({
- ref: "Message.Part.ToolInvocation",
- });
- export type ToolInvocationPart = z.infer<typeof ToolInvocationPart>;
-
- export const SourceUrlPart = z
- .object({
- type: z.literal("source-url"),
- sourceId: z.string(),
- url: z.string(),
- title: z.string().optional(),
- providerMetadata: z.record(z.any()).optional(),
- })
- .openapi({
- ref: "Message.Part.SourceUrl",
- });
- export type SourceUrlPart = z.infer<typeof SourceUrlPart>;
-
- export const FilePart = z
- .object({
- type: z.literal("file"),
- mediaType: z.string(),
- filename: z.string().optional(),
- url: z.string(),
- })
- .openapi({
- ref: "Message.Part.File",
- });
- export type FilePart = z.infer<typeof FilePart>;
-
- export const StepStartPart = z
- .object({
- type: z.literal("step-start"),
- })
- .openapi({
- ref: "Message.Part.StepStart",
- });
- export type StepStartPart = z.infer<typeof StepStartPart>;
-
- export const Part = z
- .discriminatedUnion("type", [
- TextPart,
- ReasoningPart,
- ToolInvocationPart,
- SourceUrlPart,
- FilePart,
- StepStartPart,
- ])
- .openapi({
- ref: "Message.Part",
- });
- export type Part = z.infer<typeof Part>;
-
- export const Info = z
- .object({
- id: z.string(),
- role: z.enum(["system", "user", "assistant"]),
- parts: z.array(Part),
- metadata: z.object({
- time: z.object({
- created: z.number(),
- completed: z.number().optional(),
- }),
- sessionID: z.string(),
- tool: z.record(z.string(), z.any()),
- assistant: z
- .object({
- modelID: z.string(),
- providerID: z.string(),
- cost: z.number(),
- summary: z.boolean().optional(),
- tokens: z.object({
- input: z.number(),
- output: z.number(),
- reasoning: z.number(),
- }),
- })
- .optional(),
- }),
- })
- .openapi({
- ref: "Message.Info",
- });
- export type Info = z.infer<typeof Info>;
-
- export const Event = {
- Updated: Bus.event(
- "message.updated",
- z.object({
- info: Info,
- }),
- ),
- };
-}