@openuidev/a2ui 0.3.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["z","#parser","#functions","#onMessage","#rendererCapabilities","#now","#createId","#surfaces","#surfaceListeners","#messageListeners","#pendingAgentFunctions","#invalidMessage","#createSurface","#updateComponents","#updateDataModel","#deleteSurface","#callRendererFunction","#agentFunctionResponse","mergeOpenUIStateIntoDataModel","#replaceSurface","toJsonObject","#emitGenericError","#emit","#mergeComponents","#emitValidationError","#requireSurface","applyDataModelUpdate","#notify","#revision"],"sources":["../src/protocol-schema.ts","../src/runtime-schema.ts","../src/statement-patch.ts","../src/client.ts"],"sourcesContent":["import { z } from \"zod/v4\";\n\nexport const jsonValueSchema = z.json();\nexport const jsonObjectSchema = z.record(z.string(), jsonValueSchema);\n\nconst versionSchema = z.literal(\"v1.0\");\nconst surfaceIdSchema = z.string();\nconst extensionKeySchema = z.string().regex(/^[\\p{XID_Start}_][\\p{XID_Continue}]*$/u);\nconst extensionsSchema = z.record(extensionKeySchema, jsonValueSchema);\nexport const messageMetadataSchema = z.strictObject({ extensions: extensionsSchema.optional() });\nconst langComponentsSchema = z\n .array(z.string().min(1))\n .min(1)\n .describe(\n \"Complete OpenUI Lang statements or statement blocks, merged by statement ID in array order.\",\n );\n\nexport const a2uiFunctionCallSchema = z.strictObject({\n call: z.string(),\n catalogId: z.string().optional(),\n args: jsonObjectSchema.optional(),\n});\n\nexport const a2uiFunctionResponseSchema = z.union([\n z.strictObject({ functionCallId: z.string(), value: jsonValueSchema }),\n z.strictObject({\n functionCallId: z.string(),\n error: z.strictObject({ code: z.string(), message: z.string() }),\n }),\n]);\n\nexport const createSurfaceMessageSchema = z.strictObject({\n version: versionSchema,\n createSurface: z.strictObject({\n surfaceId: surfaceIdSchema,\n catalogId: z.string().optional(),\n sendDataModel: z.boolean().optional().meta({ default: false }),\n components: langComponentsSchema\n .optional()\n .describe(\"Optional initial OpenUI Lang statements for single-message surface creation.\"),\n dataModel: jsonObjectSchema.optional(),\n metadata: messageMetadataSchema.optional(),\n }),\n});\n\nexport const updateComponentsMessageSchema = z.strictObject({\n version: versionSchema,\n updateComponents: z.strictObject({\n surfaceId: surfaceIdSchema,\n components: langComponentsSchema,\n }),\n});\n\nexport const updateDataModelMessageSchema = z.strictObject({\n version: versionSchema,\n updateDataModel: z.strictObject({\n surfaceId: surfaceIdSchema,\n path: z.string().optional(),\n value: jsonValueSchema,\n }),\n});\n\nexport const deleteSurfaceMessageSchema = z.strictObject({\n version: versionSchema,\n deleteSurface: z.strictObject({ surfaceId: surfaceIdSchema }),\n});\n\nexport const callRendererFunctionMessageSchema = z.strictObject({\n version: versionSchema,\n callRendererFunction: z.strictObject({\n functionCallId: z.string(),\n callFunction: a2uiFunctionCallSchema.extend({ catalogId: z.string() }),\n }),\n});\n\nexport const agentFunctionResponseMessageSchema = z.strictObject({\n version: versionSchema,\n agentFunctionResponse: a2uiFunctionResponseSchema,\n});\n\nexport const agentToRendererMessageSchema = z.union([\n createSurfaceMessageSchema,\n updateComponentsMessageSchema,\n updateDataModelMessageSchema,\n deleteSurfaceMessageSchema,\n callRendererFunctionMessageSchema,\n agentFunctionResponseMessageSchema,\n]);\n\nexport const actionMessageSchema = z.strictObject({\n version: versionSchema,\n action: z.strictObject({\n name: z.string(),\n userMessage: z.string().optional(),\n surfaceId: surfaceIdSchema,\n sourceComponentId: z.string(),\n timestamp: z.iso.datetime({ offset: true }),\n context: jsonObjectSchema,\n metadata: messageMetadataSchema.optional(),\n }),\n});\n\nexport const callAgentFunctionMessageSchema = z.strictObject({\n version: versionSchema,\n callAgentFunction: z.strictObject({\n surfaceId: surfaceIdSchema,\n functionCallId: z.string(),\n callFunction: a2uiFunctionCallSchema,\n }),\n});\n\nexport const rendererFunctionResponseMessageSchema = z.strictObject({\n version: versionSchema,\n rendererFunctionResponse: a2uiFunctionResponseSchema,\n});\n\nconst validationErrorCodeSchema = z.enum([\n \"VALIDATION_FAILED\",\n \"UNALLOWED_PARENT\",\n \"UNALLOWED_CHILD\",\n]);\n\nexport const validationFailedErrorMessageSchema = z.strictObject({\n version: versionSchema,\n error: z.strictObject({\n code: validationErrorCodeSchema,\n surfaceId: surfaceIdSchema,\n path: z.string(),\n message: z.string(),\n }),\n});\n\nconst genericErrorCodeSchema = z\n .string()\n .refine((code) => !validationErrorCodeSchema.options.includes(code as never));\n\nexport const genericErrorMessageSchema = z.union([\n z.strictObject({\n version: versionSchema,\n error: z.strictObject({\n code: genericErrorCodeSchema,\n message: z.string(),\n surfaceId: surfaceIdSchema,\n }),\n }),\n z.strictObject({\n version: versionSchema,\n error: z.strictObject({\n code: genericErrorCodeSchema,\n message: z.string(),\n functionCallId: z.string(),\n }),\n }),\n]);\n\nexport const rendererToAgentMessageSchema = z.union([\n actionMessageSchema,\n callAgentFunctionMessageSchema,\n rendererFunctionResponseMessageSchema,\n validationFailedErrorMessageSchema,\n genericErrorMessageSchema,\n]);\n\nexport const rendererCapabilitiesSchema = z.strictObject({\n \"v1.0\": z.strictObject({\n supportedCatalogIds: z.array(z.string()),\n inlineCatalogs: z.array(jsonObjectSchema).optional(),\n }),\n});\n\nexport const agentCapabilitiesSchema = z.strictObject({\n \"v1.0\": z.strictObject({\n supportedCatalogIds: z.array(z.string()).optional(),\n acceptsInlineCatalogs: z.boolean().optional().meta({ default: false }),\n }),\n});\n\nexport const rendererDataModelSchema = z.strictObject({\n version: versionSchema,\n surfaces: z.record(z.string(), jsonObjectSchema),\n});\n","import {\n agentFunctionResponseMessageSchema,\n agentToRendererMessageSchema,\n callRendererFunctionMessageSchema,\n createSurfaceMessageSchema,\n deleteSurfaceMessageSchema,\n updateComponentsMessageSchema,\n updateDataModelMessageSchema,\n} from \"./protocol-schema\";\nimport type { AgentToRendererMessage, ProtocolValidationIssue } from \"./types\";\n\nfunction escapePointerToken(token: PropertyKey): string {\n return String(token).replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\n}\n\nfunction issuePath(path: PropertyKey[]): string {\n return path.length === 0 ? \"/\" : `/${path.map(escapePointerToken).join(\"/\")}`;\n}\n\nexport function validateAgentToRendererMessage(\n input: unknown,\n):\n | { success: true; message: AgentToRendererMessage }\n | { success: false; issues: ProtocolValidationIssue[] } {\n const object =\n input != null && typeof input === \"object\" && !Array.isArray(input)\n ? (input as Record<string, unknown>)\n : undefined;\n const messageKeys = [\n \"createSurface\",\n \"updateComponents\",\n \"updateDataModel\",\n \"deleteSurface\",\n \"callRendererFunction\",\n \"agentFunctionResponse\",\n ] as const;\n const presentKeys = object\n ? messageKeys.filter((key) => Object.prototype.hasOwnProperty.call(object, key))\n : [];\n const selectedSchema =\n presentKeys.length === 1\n ? {\n createSurface: createSurfaceMessageSchema,\n updateComponents: updateComponentsMessageSchema,\n updateDataModel: updateDataModelMessageSchema,\n deleteSurface: deleteSurfaceMessageSchema,\n callRendererFunction: callRendererFunctionMessageSchema,\n agentFunctionResponse: agentFunctionResponseMessageSchema,\n }[presentKeys[0]!]\n : agentToRendererMessageSchema;\n const result = selectedSchema.safeParse(input);\n if (result.success) {\n return { success: true, message: result.data as AgentToRendererMessage };\n }\n return {\n success: false,\n issues: result.error.issues.map((issue) => ({\n path: issuePath(issue.path),\n message: issue.message,\n })),\n };\n}\n","const STATEMENT_PATTERN = /^(\\$?[A-Za-z_][A-Za-z0-9_]*)\\s*=\\s*([\\s\\S]*)$/u;\n\nfunction stripFences(source: string): string {\n const trimmed = source.trim();\n if (!trimmed.startsWith(\"```\")) return trimmed;\n\n const firstLineEnd = trimmed.indexOf(\"\\n\");\n const lastFence = trimmed.lastIndexOf(\"```\");\n if (firstLineEnd === -1 || lastFence <= firstLineEnd) return trimmed;\n return trimmed.slice(firstLineEnd + 1, lastFence).trim();\n}\n\nfunction splitStatements(source: string): string[] {\n const statements: string[] = [];\n let depth = 0;\n let ternaryDepth = 0;\n let quote: false | '\"' | \"'\" = false;\n let escaped = false;\n let start = 0;\n\n for (let index = 0; index < source.length; index += 1) {\n const character = source[index];\n if (escaped) {\n escaped = false;\n continue;\n }\n if (character === \"\\\\\" && quote) {\n escaped = true;\n continue;\n }\n if (quote) {\n if (character === quote) quote = false;\n continue;\n }\n if (character === '\"' || character === \"'\") {\n quote = character;\n continue;\n }\n if (character === \"(\" || character === \"[\" || character === \"{\") depth += 1;\n else if (character === \")\" || character === \"]\" || character === \"}\") {\n depth = Math.max(0, depth - 1);\n } else if (character === \"?\" && depth === 0) {\n ternaryDepth += 1;\n } else if (character === \":\" && depth === 0 && ternaryDepth > 0) {\n ternaryDepth -= 1;\n } else if (character === \"\\n\" && depth === 0 && ternaryDepth === 0) {\n // A top-level ternary may begin on the next line after its condition.\n let next = index + 1;\n while (next < source.length && /\\s/u.test(source[next]!)) next += 1;\n if (source[next] === \"?\") continue;\n\n const statement = source.slice(start, index).trim();\n if (statement) statements.push(statement);\n start = index + 1;\n }\n }\n\n const finalStatement = source.slice(start).trim();\n if (finalStatement) statements.push(finalStatement);\n return statements;\n}\n\nfunction parseStatements(source: string): Array<{ id: string; expression: string; raw: string }> {\n return splitStatements(stripFences(source)).map((raw) => {\n const match = STATEMENT_PATTERN.exec(raw);\n if (!match) throw new Error(`Invalid OpenUI Lang statement: ${raw}`);\n return { id: match[1]!, expression: match[2]!.trim(), raw };\n });\n}\n\n/**\n * Applies statement-level A2UI component patches without removing temporarily\n * unreachable statements. A later update may attach those statements to root.\n */\nexport function mergeComponentStatements(existing: string, components: readonly string[]): string {\n const statements = new Map<string, string>();\n const order: string[] = [];\n\n const upsert = (source: string, allowDeletion: boolean): void => {\n for (const statement of parseStatements(source)) {\n if (allowDeletion && statement.expression === \"null\") {\n statements.delete(statement.id);\n const index = order.indexOf(statement.id);\n if (index !== -1) order.splice(index, 1);\n continue;\n }\n if (!statements.has(statement.id)) order.push(statement.id);\n statements.set(statement.id, statement.raw);\n }\n };\n\n if (existing.trim()) upsert(existing, false);\n for (const component of components) upsert(component, true);\n\n return order.map((id) => statements.get(id)!).join(\"\\n\");\n}\n","import {\n createParser,\n type ActionEvent,\n type OpenUIError,\n type Parser,\n type ValidationError,\n} from \"@openuidev/lang-core\";\nimport { applyDataModelUpdate, mergeOpenUIStateIntoDataModel, toJsonObject } from \"./json-pointer\";\nimport { validateAgentToRendererMessage } from \"./runtime-schema\";\nimport { mergeComponentStatements } from \"./statement-patch\";\nimport type {\n A2UIClientOptions,\n ActionMessage,\n AgentFunctionResponseMessage,\n AgentToRendererMessage,\n CallAgentFunctionInput,\n DispatchActionInput,\n GenericErrorMessage,\n JsonObject,\n JsonValue,\n OpenUIActionOptions,\n ProcessResult,\n ProtocolValidationIssue,\n RendererDataModel,\n RendererMetadata,\n RendererToAgentMessage,\n SurfaceSnapshot,\n ValidationFailedErrorMessage,\n} from \"./types\";\n\ntype SurfaceListener = () => void;\ntype MessageListener = (message: RendererToAgentMessage, metadata: RendererMetadata) => void;\n\ninterface PendingAgentFunction {\n surfaceId: string;\n resolve: (value: JsonValue) => void;\n reject: (error: Error) => void;\n}\n\nexport class A2UIFunctionError extends Error {\n readonly code: string;\n\n constructor(code: string, message: string) {\n super(message);\n this.name = \"A2UIFunctionError\";\n this.code = code;\n }\n}\n\nfunction defaultId(): string {\n return (\n globalThis.crypto?.randomUUID?.() ?? `a2ui-${Date.now()}-${Math.random().toString(16).slice(2)}`\n );\n}\n\nfunction parseError(error: ValidationError): OpenUIError {\n return {\n source: \"parser\",\n code: error.code,\n message: error.message,\n statementId: error.statementId,\n component: error.component,\n path: error.path,\n };\n}\n\nfunction isCreateSurface(\n message: AgentToRendererMessage,\n): message is Extract<AgentToRendererMessage, { createSurface: unknown }> {\n return \"createSurface\" in message;\n}\n\nfunction isUpdateComponents(\n message: AgentToRendererMessage,\n): message is Extract<AgentToRendererMessage, { updateComponents: unknown }> {\n return \"updateComponents\" in message;\n}\n\nfunction isUpdateDataModel(\n message: AgentToRendererMessage,\n): message is Extract<AgentToRendererMessage, { updateDataModel: unknown }> {\n return \"updateDataModel\" in message;\n}\n\nfunction isDeleteSurface(\n message: AgentToRendererMessage,\n): message is Extract<AgentToRendererMessage, { deleteSurface: unknown }> {\n return \"deleteSurface\" in message;\n}\n\nfunction isCallRendererFunction(\n message: AgentToRendererMessage,\n): message is Extract<AgentToRendererMessage, { callRendererFunction: unknown }> {\n return \"callRendererFunction\" in message;\n}\n\nfunction record(value: unknown): Record<string, unknown> | undefined {\n return value != null && typeof value === \"object\" && !Array.isArray(value)\n ? (value as Record<string, unknown>)\n : undefined;\n}\n\nfunction validationTarget(input: unknown): {\n surfaceId?: string;\n functionCallId?: string;\n} {\n const message = record(input);\n if (!message) return {};\n for (const key of [\"createSurface\", \"updateComponents\", \"updateDataModel\", \"deleteSurface\"]) {\n const payload = record(message[key]);\n if (typeof payload?.surfaceId === \"string\") {\n return { surfaceId: payload.surfaceId };\n }\n }\n for (const key of [\"callRendererFunction\", \"agentFunctionResponse\"]) {\n const payload = record(message[key]);\n if (typeof payload?.functionCallId === \"string\") {\n return { functionCallId: payload.functionCallId };\n }\n }\n return {};\n}\n\nexport class A2UIClient {\n readonly #parser: Parser;\n readonly #functions: A2UIClientOptions[\"functions\"];\n readonly #onMessage?: A2UIClientOptions[\"onMessage\"];\n readonly #rendererCapabilities?: A2UIClientOptions[\"rendererCapabilities\"];\n readonly #now: () => Date;\n readonly #createId: () => string;\n readonly #surfaces = new Map<string, SurfaceSnapshot>();\n readonly #surfaceListeners = new Set<SurfaceListener>();\n readonly #messageListeners = new Set<MessageListener>();\n readonly #pendingAgentFunctions = new Map<string, PendingAgentFunction>();\n #revision = 0;\n\n constructor(options: A2UIClientOptions) {\n this.#parser = createParser(options.schema, options.rootName);\n this.#functions = options.functions;\n this.#onMessage = options.onMessage;\n this.#rendererCapabilities = options.rendererCapabilities;\n this.#now = options.now ?? (() => new Date());\n this.#createId = options.createId ?? defaultId;\n }\n\n subscribe(listener: SurfaceListener): () => void {\n this.#surfaceListeners.add(listener);\n return () => this.#surfaceListeners.delete(listener);\n }\n\n subscribeMessages(listener: MessageListener): () => void {\n this.#messageListeners.add(listener);\n return () => this.#messageListeners.delete(listener);\n }\n\n getSurface(surfaceId: string): SurfaceSnapshot | undefined {\n return this.#surfaces.get(surfaceId);\n }\n\n getSurfaces(): SurfaceSnapshot[] {\n return [...this.#surfaces.values()];\n }\n\n getRendererDataModel(): RendererDataModel | undefined {\n const surfaces = Object.fromEntries(\n [...this.#surfaces]\n .filter(([, surface]) => surface.sendDataModel)\n .map(([surfaceId, surface]) => [surfaceId, structuredClone(surface.dataModel)]),\n );\n if (Object.keys(surfaces).length === 0) return undefined;\n return {\n version: \"v1.0\",\n surfaces,\n };\n }\n\n getRendererMetadata(): RendererMetadata {\n const dataModel = this.getRendererDataModel();\n return {\n ...(this.#rendererCapabilities\n ? { a2uiRendererCapabilities: structuredClone(this.#rendererCapabilities) }\n : {}),\n ...(dataModel ? { a2uiRendererDataModel: dataModel } : {}),\n };\n }\n\n async process(input: unknown): Promise<ProcessResult> {\n const outbound: RendererToAgentMessage[] = [];\n const capture = (next: RendererToAgentMessage) => outbound.push(next);\n this.#messageListeners.add(capture);\n try {\n const validated = validateAgentToRendererMessage(input);\n if (!validated.success) return this.#invalidMessage(input, validated.issues, outbound);\n const message = validated.message;\n\n if (isCreateSurface(message)) return this.#createSurface(message, outbound);\n if (isUpdateComponents(message)) return this.#updateComponents(message, outbound);\n if (isUpdateDataModel(message)) return this.#updateDataModel(message, outbound);\n if (isDeleteSurface(message)) return this.#deleteSurface(message, outbound);\n if (isCallRendererFunction(message)) {\n return await this.#callRendererFunction(message, outbound);\n }\n return this.#agentFunctionResponse(message, outbound);\n } finally {\n this.#messageListeners.delete(capture);\n }\n }\n\n updateSurfaceFromOpenUIState(surfaceId: string, state: Record<string, unknown>): boolean {\n const surface = this.#surfaces.get(surfaceId);\n if (!surface) return false;\n const dataModel = mergeOpenUIStateIntoDataModel(surface.dataModel, state);\n if (JSON.stringify(dataModel) === JSON.stringify(surface.dataModel)) return false;\n this.#replaceSurface({\n ...surface,\n dataModel,\n });\n return true;\n }\n\n dispatchOpenUIAction(\n surfaceId: string,\n event: ActionEvent,\n options: OpenUIActionOptions = {},\n ): void {\n const eventSourceComponentId = (event as ActionEvent & { sourceComponentId?: unknown })\n .sourceComponentId;\n const context: JsonObject = {\n ...toJsonObject(event.params),\n ...(event.formState ? { formState: toJsonObject(event.formState) } : {}),\n ...options.context,\n };\n this.dispatchAction({\n surfaceId,\n sourceComponentId:\n options.sourceComponentId ??\n (typeof eventSourceComponentId === \"string\" ? eventSourceComponentId : \"root\"),\n name: options.name ?? event.type,\n userMessage: (options.userMessage ?? event.humanFriendlyMessage) || undefined,\n context,\n metadata: options.metadata,\n });\n }\n\n dispatchAction(input: DispatchActionInput): void {\n if (!this.#surfaces.has(input.surfaceId)) {\n this.#emitGenericError(\n \"SURFACE_NOT_FOUND\",\n `Unknown surface: ${input.surfaceId}`,\n input.surfaceId,\n );\n return;\n }\n\n const message: ActionMessage = {\n version: \"v1.0\",\n action: {\n name: input.name,\n ...(input.userMessage ? { userMessage: input.userMessage } : {}),\n surfaceId: input.surfaceId,\n sourceComponentId: input.sourceComponentId,\n timestamp: this.#now().toISOString(),\n context: input.context ?? {},\n ...(input.metadata ? { metadata: input.metadata } : {}),\n },\n };\n this.#emit(message);\n }\n\n callAgentFunction(input: CallAgentFunctionInput): Promise<JsonValue> {\n if (!this.#surfaces.has(input.surfaceId)) {\n const message = `Unknown surface: ${input.surfaceId}`;\n this.#emitGenericError(\"SURFACE_NOT_FOUND\", message, input.surfaceId);\n return Promise.reject(new A2UIFunctionError(\"SURFACE_NOT_FOUND\", message));\n }\n\n const functionCallId = this.#createId();\n return new Promise<JsonValue>((resolve, reject) => {\n this.#pendingAgentFunctions.set(functionCallId, {\n surfaceId: input.surfaceId,\n resolve,\n reject,\n });\n this.#emit({\n version: \"v1.0\",\n callAgentFunction: {\n surfaceId: input.surfaceId,\n functionCallId,\n callFunction: {\n call: input.call,\n ...(input.catalogId ? { catalogId: input.catalogId } : {}),\n ...(input.args ? { args: input.args } : {}),\n },\n },\n });\n });\n }\n\n dispose(): void {\n for (const pending of this.#pendingAgentFunctions.values()) {\n pending.reject(new A2UIFunctionError(\"CLIENT_DISPOSED\", \"A2UI client was disposed\"));\n }\n this.#pendingAgentFunctions.clear();\n this.#surfaces.clear();\n this.#surfaceListeners.clear();\n this.#messageListeners.clear();\n }\n\n #createSurface(\n message: Extract<AgentToRendererMessage, { createSurface: unknown }>,\n outbound: RendererToAgentMessage[],\n ): ProcessResult {\n const input = message.createSurface;\n if (this.#surfaces.has(input.surfaceId)) {\n this.#emitGenericError(\n \"SURFACE_ALREADY_EXISTS\",\n `Surface already exists: ${input.surfaceId}`,\n input.surfaceId,\n );\n return { ok: false, outbound };\n }\n const supportedCatalogIds = this.#rendererCapabilities?.[\"v1.0\"].supportedCatalogIds ?? [];\n if (\n input.catalogId &&\n supportedCatalogIds.length > 0 &&\n !supportedCatalogIds.includes(input.catalogId)\n ) {\n this.#emitGenericError(\n \"UNSUPPORTED_CATALOG\",\n `Renderer does not support catalog: ${input.catalogId}`,\n input.surfaceId,\n );\n return { ok: false, outbound };\n }\n\n let source = \"\";\n let parseResult: SurfaceSnapshot[\"parseResult\"] = null;\n let errors: OpenUIError[] = [];\n if (input.components) {\n try {\n ({ source, parseResult, errors } = this.#mergeComponents(\"\", input.components));\n } catch (error) {\n this.#emitValidationError(\n input.surfaceId,\n \"/createSurface/components\",\n error instanceof Error ? error.message : String(error),\n );\n return { ok: false, outbound };\n }\n }\n this.#replaceSurface({\n surfaceId: input.surfaceId,\n catalogId: input.catalogId,\n metadata: input.metadata,\n sendDataModel: input.sendDataModel ?? false,\n source,\n dataModel: structuredClone(input.dataModel ?? {}),\n parseResult,\n errors,\n revision: 0,\n });\n for (const error of errors) {\n this.#emitValidationError(\n input.surfaceId,\n \"/createSurface/components\",\n error.statementId ? `${error.statementId}: ${error.message}` : error.message,\n );\n }\n return { ok: errors.length === 0, outbound };\n }\n\n #updateComponents(\n message: Extract<AgentToRendererMessage, { updateComponents: unknown }>,\n outbound: RendererToAgentMessage[],\n ): ProcessResult {\n const input = message.updateComponents;\n const surface = this.#requireSurface(input.surfaceId);\n if (!surface) return { ok: false, outbound };\n try {\n const { source, parseResult, errors } = this.#mergeComponents(\n surface.source,\n input.components,\n );\n this.#replaceSurface({ ...surface, source, parseResult, errors });\n for (const error of errors) {\n this.#emitValidationError(\n input.surfaceId,\n \"/updateComponents/components\",\n error.statementId ? `${error.statementId}: ${error.message}` : error.message,\n );\n }\n return { ok: errors.length === 0, outbound };\n } catch (error) {\n this.#emitValidationError(\n input.surfaceId,\n \"/updateComponents/components\",\n error instanceof Error ? error.message : String(error),\n );\n return { ok: false, outbound };\n }\n }\n\n #updateDataModel(\n message: Extract<AgentToRendererMessage, { updateDataModel: unknown }>,\n outbound: RendererToAgentMessage[],\n ): ProcessResult {\n const input = message.updateDataModel;\n const surface = this.#requireSurface(input.surfaceId);\n if (!surface) return { ok: false, outbound };\n try {\n const dataModel = applyDataModelUpdate(surface.dataModel, input.path, input.value);\n this.#replaceSurface({ ...surface, dataModel });\n return { ok: true, outbound };\n } catch (error) {\n this.#emitValidationError(\n input.surfaceId,\n \"/updateDataModel/path\",\n error instanceof Error ? error.message : String(error),\n );\n return { ok: false, outbound };\n }\n }\n\n #deleteSurface(\n message: Extract<AgentToRendererMessage, { deleteSurface: unknown }>,\n outbound: RendererToAgentMessage[],\n ): ProcessResult {\n const surfaceId = message.deleteSurface.surfaceId;\n if (!this.#requireSurface(surfaceId)) return { ok: false, outbound };\n this.#surfaces.delete(surfaceId);\n for (const [functionCallId, pending] of this.#pendingAgentFunctions) {\n if (pending.surfaceId === surfaceId) {\n pending.reject(\n new A2UIFunctionError(\"SURFACE_DELETED\", `Surface was deleted: ${surfaceId}`),\n );\n this.#pendingAgentFunctions.delete(functionCallId);\n }\n }\n this.#notify();\n return { ok: true, outbound };\n }\n\n async #callRendererFunction(\n message: Extract<AgentToRendererMessage, { callRendererFunction: unknown }>,\n outbound: RendererToAgentMessage[],\n ): Promise<ProcessResult> {\n const { functionCallId, callFunction } = message.callRendererFunction;\n const { call, catalogId, args = {} } = callFunction;\n const registration = this.#functions?.[call];\n if (!registration) {\n this.#emitGenericError(\n \"INVALID_FUNCTION_CALL\",\n `Renderer function is not registered: ${call}`,\n undefined,\n functionCallId,\n );\n return { ok: false, outbound };\n }\n const fn = typeof registration === \"function\" ? registration : registration.handler;\n if (\n typeof registration === \"function\" ||\n (registration.allowedCallers ?? \"rendererOnly\") === \"rendererOnly\" ||\n registration.catalogId !== catalogId\n ) {\n this.#emitGenericError(\n \"INVALID_FUNCTION_CALL\",\n `Renderer function is not callable from catalog ${catalogId}: ${call}`,\n undefined,\n functionCallId,\n );\n return { ok: false, outbound };\n }\n try {\n const value = await fn(args);\n this.#emit({\n version: \"v1.0\",\n rendererFunctionResponse: { functionCallId, value },\n });\n return { ok: true, outbound };\n } catch (error) {\n this.#emit({\n version: \"v1.0\",\n rendererFunctionResponse: {\n functionCallId,\n error: {\n code: \"EXECUTION_FAILED\",\n message: error instanceof Error ? error.message : String(error),\n },\n },\n });\n return { ok: false, outbound };\n }\n }\n\n #agentFunctionResponse(\n message: AgentFunctionResponseMessage,\n outbound: RendererToAgentMessage[],\n ): ProcessResult {\n const response = message.agentFunctionResponse;\n const pending = this.#pendingAgentFunctions.get(response.functionCallId);\n if (!pending) {\n return {\n ok: false,\n outbound,\n issues: [\n {\n path: \"/agentFunctionResponse/functionCallId\",\n message: `Unknown functionCallId: ${response.functionCallId}`,\n },\n ],\n };\n }\n this.#pendingAgentFunctions.delete(response.functionCallId);\n if (\"error\" in response) {\n pending.reject(new A2UIFunctionError(response.error.code, response.error.message));\n return { ok: true, outbound };\n }\n pending.resolve(response.value);\n return { ok: true, outbound };\n }\n\n #replaceSurface(surface: Omit<SurfaceSnapshot, \"revision\"> & { revision?: number }): void {\n this.#revision += 1;\n this.#surfaces.set(surface.surfaceId, { ...surface, revision: this.#revision });\n this.#notify();\n }\n\n #mergeComponents(\n existing: string,\n components: string[],\n ): Pick<SurfaceSnapshot, \"source\" | \"parseResult\" | \"errors\"> {\n const source = mergeComponentStatements(existing, components);\n const parseResult = this.#parser.parse(source);\n return {\n source,\n parseResult,\n errors: parseResult.meta.errors.map(parseError),\n };\n }\n\n #invalidMessage(\n input: unknown,\n issues: ProtocolValidationIssue[],\n outbound: RendererToAgentMessage[],\n ): ProcessResult {\n const target = validationTarget(input);\n const issue = issues[0] ?? { path: \"/\", message: \"Invalid A2UI message\" };\n if (target.surfaceId !== undefined) {\n this.#emitValidationError(target.surfaceId, issue.path, issue.message);\n return { ok: false, outbound, issues };\n }\n if (target.functionCallId !== undefined) {\n this.#emitGenericError(\n \"INVALID_MESSAGE\",\n `${issue.path}: ${issue.message}`,\n undefined,\n target.functionCallId,\n );\n return { ok: false, outbound, issues };\n }\n return { ok: false, outbound, issues };\n }\n\n #requireSurface(surfaceId: string): SurfaceSnapshot | undefined {\n const surface = this.#surfaces.get(surfaceId);\n if (!surface) {\n this.#emitGenericError(\"SURFACE_NOT_FOUND\", `Unknown surface: ${surfaceId}`, surfaceId);\n }\n return surface;\n }\n\n #emitValidationError(surfaceId: string, path: string, message: string): void {\n const error: ValidationFailedErrorMessage = {\n version: \"v1.0\",\n error: { code: \"VALIDATION_FAILED\", surfaceId, path, message },\n };\n this.#emit(error);\n }\n\n #emitGenericError(\n code: string,\n message: string,\n surfaceId?: string,\n functionCallId?: string,\n ): void {\n if (surfaceId === undefined && functionCallId === undefined) return;\n const error: GenericErrorMessage =\n surfaceId !== undefined\n ? { version: \"v1.0\", error: { code, message, surfaceId } }\n : { version: \"v1.0\", error: { code, message, functionCallId: functionCallId! } };\n this.#emit(error);\n }\n\n #emit(message: RendererToAgentMessage): void {\n const metadata = this.getRendererMetadata();\n this.#onMessage?.(message, metadata);\n for (const listener of this.#messageListeners) listener(message, metadata);\n }\n\n #notify(): void {\n for (const listener of this.#surfaceListeners) listener();\n }\n}\n\nexport function createA2UIClient(options: A2UIClientOptions): A2UIClient {\n return new A2UIClient(options);\n}\n"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { $ as rendererDataModelSchema, A as RendererDataModel, B as actionMessageSchema, C as JsonPrimitive, D as ProcessResult, E as OpenUIActionOptions, F as UpdateComponentsMessage, G as callRendererFunctionMessageSchema, H as agentFunctionResponseMessageSchema, I as UpdateDataModelMessage, J as genericErrorMessageSchema, K as createSurfaceMessageSchema, L as ValidationFailedErrorMessage, M as RendererMetadata, N as RendererToAgentMessage, O as ProtocolValidationIssue, P as SurfaceSnapshot, Q as rendererCapabilitiesSchema, R as a2uiFunctionCallSchema, S as JsonObject, T as MapOpenUIAction, U as agentToRendererMessageSchema, V as agentCapabilitiesSchema, W as callAgentFunctionMessageSchema, X as jsonValueSchema, Y as jsonObjectSchema, Z as messageMetadataSchema, _ as CallRendererFunctionMessage, a as A2UIFunctionAllowedCaller, b as DispatchActionInput, c as A2UIMessageMetadata, d as ActionMessage, et as rendererFunctionResponseMessageSchema, f as AgentCapabilities, g as CallAgentFunctionMessage, h as CallAgentFunctionInput, i as A2UIClientOptions, it as validationFailedErrorMessageSchema, j as RendererFunctionResponseMessage, k as RendererCapabilities, l as A2UIRendererFunction, m as AgentToRendererMessage, n as A2UIFunctionError, nt as updateComponentsMessageSchema, o as A2UIFunctionCall, p as AgentFunctionResponseMessage, q as deleteSurfaceMessageSchema, r as createA2UIClient, rt as updateDataModelMessageSchema, s as A2UIFunctionResponse, t as A2UIClient, tt as rendererToAgentMessageSchema, u as A2UIRendererFunctionRegistration, v as CreateSurfaceMessage, w as JsonValue, x as GenericErrorMessage, y as DeleteSurfaceMessage, z as a2uiFunctionResponseSchema } from "./client-D0JsJgUP.cjs";
2
+
3
+ //#region src/json-pointer.d.ts
4
+ declare function applyDataModelUpdate(current: JsonObject, path: string | undefined, value: JsonValue): JsonObject;
5
+ declare function dataModelToOpenUIState(dataModel: JsonObject, formStateKeys?: Iterable<string>): Record<string, unknown>;
6
+ declare function mergeOpenUIStateIntoDataModel(current: JsonObject, state: Record<string, unknown>): JsonObject;
7
+ //#endregion
8
+ //#region src/runtime-schema.d.ts
9
+ declare function validateAgentToRendererMessage(input: unknown): {
10
+ success: true;
11
+ message: AgentToRendererMessage;
12
+ } | {
13
+ success: false;
14
+ issues: ProtocolValidationIssue[];
15
+ };
16
+ //#endregion
17
+ export { A2UIClient, type A2UIClientOptions, type A2UIFunctionAllowedCaller, type A2UIFunctionCall, A2UIFunctionError, type A2UIFunctionResponse, type A2UIMessageMetadata, type A2UIRendererFunction, type A2UIRendererFunctionRegistration, type ActionMessage, type AgentCapabilities, type AgentFunctionResponseMessage, type AgentToRendererMessage, type CallAgentFunctionInput, type CallAgentFunctionMessage, type CallRendererFunctionMessage, type CreateSurfaceMessage, type DeleteSurfaceMessage, type DispatchActionInput, type GenericErrorMessage, type JsonObject, type JsonPrimitive, type JsonValue, type MapOpenUIAction, type OpenUIActionOptions, type ProcessResult, type ProtocolValidationIssue, type RendererCapabilities, type RendererDataModel, type RendererFunctionResponseMessage, type RendererMetadata, type RendererToAgentMessage, type SurfaceSnapshot, type UpdateComponentsMessage, type UpdateDataModelMessage, type ValidationFailedErrorMessage, a2uiFunctionCallSchema, a2uiFunctionResponseSchema, actionMessageSchema, agentCapabilitiesSchema, agentFunctionResponseMessageSchema, agentToRendererMessageSchema, applyDataModelUpdate, callAgentFunctionMessageSchema, callRendererFunctionMessageSchema, createA2UIClient, createSurfaceMessageSchema, dataModelToOpenUIState, deleteSurfaceMessageSchema, genericErrorMessageSchema, jsonObjectSchema, jsonValueSchema, mergeOpenUIStateIntoDataModel, messageMetadataSchema, rendererCapabilitiesSchema, rendererDataModelSchema, rendererFunctionResponseMessageSchema, rendererToAgentMessageSchema, updateComponentsMessageSchema, updateDataModelMessageSchema, validateAgentToRendererMessage, validationFailedErrorMessageSchema };
18
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/json-pointer.ts","../src/runtime-schema.ts"],"mappings":";;;iBAoBgB,oBAAA,CACd,OAAA,EAAS,UAAA,EACT,IAAA,sBACA,KAAA,EAAO,SAAA,GACN,UAAA;AAAA,iBAkFa,sBAAA,CACd,SAAA,EAAW,UAAA,EACX,aAAA,GAAe,QAAA,WACd,MAAA;AAAA,iBAca,6BAAA,CACd,OAAA,EAAS,UAAA,EACT,KAAA,EAAO,MAAA,oBACN,UAAA;;;iBC3Ga,8BAAA,CACd,KAAA;EAEI,OAAA;EAAe,OAAA,EAAS,sBAAA;AAAA;EACxB,OAAA;EAAgB,MAAA,EAAQ,uBAAA;AAAA"}
@@ -0,0 +1,18 @@
1
+ import { $ as rendererDataModelSchema, A as RendererDataModel, B as actionMessageSchema, C as JsonPrimitive, D as ProcessResult, E as OpenUIActionOptions, F as UpdateComponentsMessage, G as callRendererFunctionMessageSchema, H as agentFunctionResponseMessageSchema, I as UpdateDataModelMessage, J as genericErrorMessageSchema, K as createSurfaceMessageSchema, L as ValidationFailedErrorMessage, M as RendererMetadata, N as RendererToAgentMessage, O as ProtocolValidationIssue, P as SurfaceSnapshot, Q as rendererCapabilitiesSchema, R as a2uiFunctionCallSchema, S as JsonObject, T as MapOpenUIAction, U as agentToRendererMessageSchema, V as agentCapabilitiesSchema, W as callAgentFunctionMessageSchema, X as jsonValueSchema, Y as jsonObjectSchema, Z as messageMetadataSchema, _ as CallRendererFunctionMessage, a as A2UIFunctionAllowedCaller, b as DispatchActionInput, c as A2UIMessageMetadata, d as ActionMessage, et as rendererFunctionResponseMessageSchema, f as AgentCapabilities, g as CallAgentFunctionMessage, h as CallAgentFunctionInput, i as A2UIClientOptions, it as validationFailedErrorMessageSchema, j as RendererFunctionResponseMessage, k as RendererCapabilities, l as A2UIRendererFunction, m as AgentToRendererMessage, n as A2UIFunctionError, nt as updateComponentsMessageSchema, o as A2UIFunctionCall, p as AgentFunctionResponseMessage, q as deleteSurfaceMessageSchema, r as createA2UIClient, rt as updateDataModelMessageSchema, s as A2UIFunctionResponse, t as A2UIClient, tt as rendererToAgentMessageSchema, u as A2UIRendererFunctionRegistration, v as CreateSurfaceMessage, w as JsonValue, x as GenericErrorMessage, y as DeleteSurfaceMessage, z as a2uiFunctionResponseSchema } from "./client-QtfEE14J.mjs";
2
+
3
+ //#region src/json-pointer.d.ts
4
+ declare function applyDataModelUpdate(current: JsonObject, path: string | undefined, value: JsonValue): JsonObject;
5
+ declare function dataModelToOpenUIState(dataModel: JsonObject, formStateKeys?: Iterable<string>): Record<string, unknown>;
6
+ declare function mergeOpenUIStateIntoDataModel(current: JsonObject, state: Record<string, unknown>): JsonObject;
7
+ //#endregion
8
+ //#region src/runtime-schema.d.ts
9
+ declare function validateAgentToRendererMessage(input: unknown): {
10
+ success: true;
11
+ message: AgentToRendererMessage;
12
+ } | {
13
+ success: false;
14
+ issues: ProtocolValidationIssue[];
15
+ };
16
+ //#endregion
17
+ export { A2UIClient, type A2UIClientOptions, type A2UIFunctionAllowedCaller, type A2UIFunctionCall, A2UIFunctionError, type A2UIFunctionResponse, type A2UIMessageMetadata, type A2UIRendererFunction, type A2UIRendererFunctionRegistration, type ActionMessage, type AgentCapabilities, type AgentFunctionResponseMessage, type AgentToRendererMessage, type CallAgentFunctionInput, type CallAgentFunctionMessage, type CallRendererFunctionMessage, type CreateSurfaceMessage, type DeleteSurfaceMessage, type DispatchActionInput, type GenericErrorMessage, type JsonObject, type JsonPrimitive, type JsonValue, type MapOpenUIAction, type OpenUIActionOptions, type ProcessResult, type ProtocolValidationIssue, type RendererCapabilities, type RendererDataModel, type RendererFunctionResponseMessage, type RendererMetadata, type RendererToAgentMessage, type SurfaceSnapshot, type UpdateComponentsMessage, type UpdateDataModelMessage, type ValidationFailedErrorMessage, a2uiFunctionCallSchema, a2uiFunctionResponseSchema, actionMessageSchema, agentCapabilitiesSchema, agentFunctionResponseMessageSchema, agentToRendererMessageSchema, applyDataModelUpdate, callAgentFunctionMessageSchema, callRendererFunctionMessageSchema, createA2UIClient, createSurfaceMessageSchema, dataModelToOpenUIState, deleteSurfaceMessageSchema, genericErrorMessageSchema, jsonObjectSchema, jsonValueSchema, mergeOpenUIStateIntoDataModel, messageMetadataSchema, rendererCapabilitiesSchema, rendererDataModelSchema, rendererFunctionResponseMessageSchema, rendererToAgentMessageSchema, updateComponentsMessageSchema, updateDataModelMessageSchema, validateAgentToRendererMessage, validationFailedErrorMessageSchema };
18
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/json-pointer.ts","../src/runtime-schema.ts"],"mappings":";;;iBAoBgB,oBAAA,CACd,OAAA,EAAS,UAAA,EACT,IAAA,sBACA,KAAA,EAAO,SAAA,GACN,UAAA;AAAA,iBAkFa,sBAAA,CACd,SAAA,EAAW,UAAA,EACX,aAAA,GAAe,QAAA,WACd,MAAA;AAAA,iBAca,6BAAA,CACd,OAAA,EAAS,UAAA,EACT,KAAA,EAAO,MAAA,oBACN,UAAA;;;iBC3Ga,8BAAA,CACd,KAAA;EAEI,OAAA;EAAe,OAAA,EAAS,sBAAA;AAAA;EACxB,OAAA;EAAgB,MAAA,EAAQ,uBAAA;AAAA"}