mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 15:03:31 +00:00
- Add 'aborted' as a distinct stop reason separate from 'error'
- Change AssistantMessage.error to errorMessage for clarity
- Update error event to include reason field ('error' | 'aborted')
- Map provider-specific safety/refusal reasons to 'error' stop reason
- Reorganize utility functions into utils/ directory
- Rename agent.ts to agent-loop.ts for better clarity
- Fix error handling in all providers to properly distinguish abort from error
17 lines
594 B
TypeScript
17 lines
594 B
TypeScript
import { Type } from "@sinclair/typebox";
|
|
import { z } from "zod";
|
|
import { zodToJsonSchema } from "zod-to-json-schema";
|
|
import { StringEnum } from "../src/utils/typebox-helpers.js";
|
|
|
|
// Zod version
|
|
const zodSchema = z.object({
|
|
operation: z.enum(["add", "subtract", "multiply", "divide"]),
|
|
});
|
|
|
|
// TypeBox with our StringEnum helper
|
|
const typeboxHelper = Type.Object({
|
|
operation: StringEnum(["add", "subtract", "multiply", "divide"]),
|
|
});
|
|
|
|
console.log("Zod:", JSON.stringify(zodToJsonSchema(zodSchema), null, 2));
|
|
console.log("\nTypeBox.StringEnum:", JSON.stringify(typeboxHelper, null, 2));
|