@fastpaca/cria 1.3.0 → 1.4.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.
Files changed (49) hide show
  1. package/README.md +27 -5
  2. package/dist/components/summary.d.ts +12 -13
  3. package/dist/components/summary.d.ts.map +1 -1
  4. package/dist/components/summary.js +26 -26
  5. package/dist/components/summary.js.map +1 -1
  6. package/dist/components/vector-search.d.ts +8 -3
  7. package/dist/components/vector-search.d.ts.map +1 -1
  8. package/dist/components/vector-search.js.map +1 -1
  9. package/dist/dsl.d.ts +116 -85
  10. package/dist/dsl.d.ts.map +1 -1
  11. package/dist/dsl.js +232 -124
  12. package/dist/dsl.js.map +1 -1
  13. package/dist/eval/index.d.ts +38 -0
  14. package/dist/eval/index.d.ts.map +1 -0
  15. package/dist/eval/index.js +34 -0
  16. package/dist/eval/index.js.map +1 -0
  17. package/dist/eval/judge.d.ts +19 -0
  18. package/dist/eval/judge.d.ts.map +1 -0
  19. package/dist/eval/judge.js +46 -0
  20. package/dist/eval/judge.js.map +1 -0
  21. package/dist/index.d.ts +3 -3
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/integrations/ai-sdk.d.ts +22 -0
  26. package/dist/integrations/ai-sdk.d.ts.map +1 -0
  27. package/dist/integrations/ai-sdk.js +172 -0
  28. package/dist/integrations/ai-sdk.js.map +1 -0
  29. package/dist/integrations/anthropic.d.ts +50 -0
  30. package/dist/integrations/anthropic.d.ts.map +1 -0
  31. package/dist/{anthropic/index.js → integrations/anthropic.js} +28 -89
  32. package/dist/integrations/anthropic.js.map +1 -0
  33. package/dist/{openai/index.d.ts → integrations/openai.d.ts} +8 -33
  34. package/dist/integrations/openai.d.ts.map +1 -0
  35. package/dist/{openai/index.js → integrations/openai.js} +20 -61
  36. package/dist/integrations/openai.js.map +1 -0
  37. package/dist/types.d.ts +17 -30
  38. package/dist/types.d.ts.map +1 -1
  39. package/dist/types.js.map +1 -1
  40. package/package.json +11 -7
  41. package/dist/ai-sdk/index.d.ts +0 -68
  42. package/dist/ai-sdk/index.d.ts.map +0 -1
  43. package/dist/ai-sdk/index.js +0 -375
  44. package/dist/ai-sdk/index.js.map +0 -1
  45. package/dist/anthropic/index.d.ts +0 -102
  46. package/dist/anthropic/index.d.ts.map +0 -1
  47. package/dist/anthropic/index.js.map +0 -1
  48. package/dist/openai/index.d.ts.map +0 -1
  49. package/dist/openai/index.js.map +0 -1
@@ -1,6 +1,5 @@
1
1
  import { markdownRenderer } from "../renderers/markdown";
2
2
  import { coalesceTextParts, collectMessageNodes, collectSemanticParts, partsToText, safeStringify, } from "../renderers/shared";
3
- import { tiktokenTokenizer } from "../tokenizers";
4
3
  /**
5
4
  * Renderer that outputs ChatCompletionMessageParam[] for the OpenAI Chat Completions API.
6
5
  * Pass this to render() to get messages compatible with client.chat.completions.create().
@@ -91,9 +90,6 @@ function toToolMessage(part) {
91
90
  content: safeStringify(part.output),
92
91
  };
93
92
  }
94
- // ============================================================================
95
- // Responses API Renderer (for reasoning models)
96
- // ============================================================================
97
93
  /**
98
94
  * Renderer that outputs ResponseInputItem[] for the OpenAI Responses API.
99
95
  * Use this with reasoning models that support native reasoning.
@@ -229,78 +225,41 @@ const RESPONSE_ROLE_MAP = {
229
225
  function mapRoleForResponses(role) {
230
226
  return RESPONSE_ROLE_MAP[role] ?? "assistant";
231
227
  }
232
- const VALID_OPENAI_ROLES = new Set(["user", "assistant", "system"]);
233
228
  /**
234
- * ModelProvider implementation that wraps an OpenAI client.
235
- * Use this with the DSL's `.provider()` method.
229
+ * Create a ModelProvider for the OpenAI Chat Completions API.
236
230
  *
237
231
  * @example
238
232
  * ```typescript
239
233
  * import OpenAI from "openai";
240
- * import { cria } from "@fastpaca/cria";
241
- * import { Provider } from "@fastpaca/cria/openai";
234
+ * import { createProvider } from "@fastpaca/cria/openai";
242
235
  *
243
236
  * const client = new OpenAI();
244
- * const provider = new Provider(client, "gpt-4o");
245
- *
246
- * const prompt = cria
247
- * .prompt()
248
- * .provider(provider, (p) =>
249
- * p.summary(content, { id: "summary", store })
250
- * )
251
- * .build();
237
+ * const provider = createProvider(client, "gpt-4o");
252
238
  * ```
253
239
  */
254
- export class Provider {
255
- name = "openai";
256
- client;
257
- model;
258
- constructor(client, model) {
259
- this.client = client;
260
- this.model = model;
261
- }
262
- async completion(request) {
263
- const messages = request.system
264
- ? [{ role: "system", content: request.system }]
265
- : [];
266
- for (const msg of request.messages) {
267
- if (VALID_OPENAI_ROLES.has(msg.role)) {
268
- messages.push({ role: msg.role, content: msg.content });
269
- }
270
- }
271
- const response = await this.client.chat.completions.create({
272
- model: this.model,
273
- messages,
274
- });
275
- const text = response.choices[0]?.message?.content ?? "";
276
- return { text };
277
- }
278
- }
279
- export function OpenAIProvider({ client, model, tokenizer, children = [], }) {
280
- const provider = {
240
+ export function createProvider(client, model, options = {}) {
241
+ return {
281
242
  name: "openai",
282
- tokenizer: tokenizer ?? tiktokenTokenizer(model),
283
- async completion(request) {
284
- const messages = request.system
285
- ? [{ role: "system", content: request.system }]
286
- : [];
287
- for (const msg of request.messages) {
288
- if (VALID_OPENAI_ROLES.has(msg.role)) {
289
- messages.push({ role: msg.role, content: msg.content });
290
- }
291
- }
243
+ ...(options.tokenizer ? { tokenizer: options.tokenizer } : {}),
244
+ renderer: chatCompletions,
245
+ async completion(messages) {
246
+ const response = await client.chat.completions.create({
247
+ model,
248
+ messages,
249
+ });
250
+ return response.choices[0]?.message?.content ?? "";
251
+ },
252
+ async object(messages, schema) {
292
253
  const response = await client.chat.completions.create({
293
254
  model,
294
255
  messages,
256
+ response_format: {
257
+ type: "json_object",
258
+ },
295
259
  });
296
260
  const text = response.choices[0]?.message?.content ?? "";
297
- return { text };
261
+ return schema.parse(JSON.parse(text));
298
262
  },
299
263
  };
300
- return {
301
- priority: 0,
302
- children,
303
- context: { provider },
304
- };
305
264
  }
306
- //# sourceMappingURL=index.js.map
265
+ //# sourceMappingURL=openai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/integrations/openai.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -7,36 +7,15 @@ import { z } from "zod";
7
7
  */
8
8
  export declare const PromptRoleSchema: z.ZodString;
9
9
  export type PromptRole = z.infer<typeof PromptRoleSchema>;
10
- /**
11
- * A message in a completion request.
12
- */
13
- export interface CompletionMessage {
14
- role: PromptRole;
15
- content: string;
16
- }
17
- /**
18
- * Request parameters for a completion.
19
- */
20
- export interface CompletionRequest {
21
- /** Messages to send to the model */
22
- messages: CompletionMessage[];
23
- /** Optional system prompt (some providers handle this separately) */
24
- system?: string;
25
- }
26
- /**
27
- * Result from a completion request.
28
- */
29
- export interface CompletionResult {
30
- /** The generated text response */
31
- text: string;
32
- }
33
10
  /**
34
11
  * A model provider that can generate completions.
35
12
  *
36
13
  * This abstraction allows Cria components to call AI models without
37
- * being coupled to a specific SDK.
14
+ * being coupled to a specific SDK. Each provider specifies its own
15
+ * rendered message type (e.g., AI SDK's ModelMessage[], OpenAI's
16
+ * ChatCompletionMessageParam[]).
38
17
  */
39
- export interface ModelProvider {
18
+ export interface ModelProvider<TRendered> {
40
19
  /** Provider identifier for debugging */
41
20
  name: string;
42
21
  /**
@@ -47,20 +26,28 @@ export interface ModelProvider {
47
26
  * can still override via render options.
48
27
  */
49
28
  tokenizer?: Tokenizer;
29
+ /** Renderer that produces provider-specific prompt input. */
30
+ renderer: PromptRenderer<TRendered>;
31
+ /** Generate a text completion from rendered prompt input. */
32
+ completion(rendered: TRendered): MaybePromise<string>;
50
33
  /**
51
- * Generate a completion from the model.
34
+ * Generate a structured object validated against the schema.
35
+ *
36
+ * Implementations should use native structured output when available
37
+ * (e.g., AI SDK's generateObject, OpenAI's json_schema response_format),
38
+ * falling back to completion + JSON.parse + schema.parse internally.
52
39
  */
53
- completion(request: CompletionRequest): MaybePromise<CompletionResult>;
40
+ object<T>(rendered: TRendered, schema: z.ZodType<T>): MaybePromise<T>;
54
41
  }
55
42
  /**
56
43
  * Context that can be provided through the component tree.
57
44
  *
58
- * Provider components (like `<AISDKProvider>`) inject context that
59
- * child components can access during rendering and strategy execution.
45
+ * Provider scopes inject context that child components can access during
46
+ * rendering and strategy execution.
60
47
  */
61
48
  export interface CriaContext {
62
49
  /** Model provider for AI-powered operations */
63
- provider?: ModelProvider | undefined;
50
+ provider?: ModelProvider<unknown> | undefined;
64
51
  }
65
52
  export type MaybePromise<T> = T | Promise<T>;
66
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fastpaca/cria",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "Lightweight, fast, and tiny LLM Context & Memory layout renderer to enforce token budgets in long running agents.",
5
5
  "license": "MIT",
6
6
  "author": "seb@fastpaca.com",
@@ -18,8 +18,8 @@
18
18
  "import": "./dist/index.js"
19
19
  },
20
20
  "./ai-sdk": {
21
- "types": "./dist/ai-sdk/index.d.ts",
22
- "import": "./dist/ai-sdk/index.js"
21
+ "types": "./dist/integrations/ai-sdk.d.ts",
22
+ "import": "./dist/integrations/ai-sdk.js"
23
23
  },
24
24
  "./jsx": {
25
25
  "types": "./dist/jsx/index.d.ts",
@@ -34,12 +34,12 @@
34
34
  "import": "./dist/jsx/jsx-dev-runtime.js"
35
35
  },
36
36
  "./openai": {
37
- "types": "./dist/openai/index.d.ts",
38
- "import": "./dist/openai/index.js"
37
+ "types": "./dist/integrations/openai.d.ts",
38
+ "import": "./dist/integrations/openai.js"
39
39
  },
40
40
  "./anthropic": {
41
- "types": "./dist/anthropic/index.d.ts",
42
- "import": "./dist/anthropic/index.js"
41
+ "types": "./dist/integrations/anthropic.d.ts",
42
+ "import": "./dist/integrations/anthropic.js"
43
43
  },
44
44
  "./memory": {
45
45
  "types": "./dist/memory/index.d.ts",
@@ -60,6 +60,10 @@
60
60
  "./memory/qdrant": {
61
61
  "types": "./dist/memory/qdrant/index.d.ts",
62
62
  "import": "./dist/memory/qdrant/index.js"
63
+ },
64
+ "./eval": {
65
+ "types": "./dist/eval/index.d.ts",
66
+ "import": "./dist/eval/index.js"
63
67
  }
64
68
  },
65
69
  "peerDependencies": {
@@ -1,68 +0,0 @@
1
- import type { LanguageModel, ModelMessage, UIMessage } from "ai";
2
- import type { CompletionRequest, CompletionResult, MaybePromise, ModelProvider, PromptChildren, PromptElement, PromptRenderer, Tokenizer } from "../types";
3
- /**
4
- * Priority configuration for message types when rendering prompts.
5
- * Lower numbers = higher priority (less likely to be dropped).
6
- */
7
- export interface Priorities {
8
- system: number;
9
- user: number;
10
- assistant: number;
11
- toolCall: number;
12
- toolResult: number;
13
- reasoning: number;
14
- }
15
- export declare const DEFAULT_PRIORITIES: Priorities;
16
- export interface MessagesProps {
17
- messages: readonly UIMessage[];
18
- includeReasoning?: boolean;
19
- priorities?: Partial<Priorities>;
20
- id?: string;
21
- }
22
- /**
23
- * Converts AI SDK UIMessages into Cria prompt elements.
24
- * Use this to include conversation history in your prompts.
25
- */
26
- export declare function Messages({ messages, includeReasoning, priorities, id, }: MessagesProps): PromptElement;
27
- /**
28
- * Renderer that outputs ModelMessage[] for use with the Vercel AI SDK.
29
- * Pass this to render() to get messages compatible with generateText/streamText.
30
- */
31
- export declare const renderer: PromptRenderer<ModelMessage[]>;
32
- interface AISDKProviderProps {
33
- /** The language model to use (e.g. openai("gpt-4o"), anthropic("claude-sonnet-4-20250514")) */
34
- model: LanguageModel;
35
- /** Optional tokenizer to use for budgeting; defaults to an approximate counter */
36
- tokenizer?: Tokenizer;
37
- /** Child components that will have access to this provider */
38
- children?: PromptChildren;
39
- }
40
- /**
41
- * ModelProvider implementation that wraps an AI SDK LanguageModel.
42
- * Use this with the DSL's `.provider()` method.
43
- *
44
- * @example
45
- * ```typescript
46
- * import { cria } from "@fastpaca/cria";
47
- * import { Provider } from "@fastpaca/cria/ai-sdk";
48
- * import { openai } from "@ai-sdk/openai";
49
- *
50
- * const provider = new Provider(openai("gpt-4o"));
51
- *
52
- * const prompt = cria
53
- * .prompt()
54
- * .provider(provider, (p) =>
55
- * p.summary(content, { id: "summary", store })
56
- * )
57
- * .build();
58
- * ```
59
- */
60
- export declare class Provider implements ModelProvider {
61
- readonly name = "ai-sdk";
62
- private readonly model;
63
- constructor(model: LanguageModel);
64
- completion(request: CompletionRequest): Promise<CompletionResult>;
65
- }
66
- export declare function AISDKProvider({ model, tokenizer, children, }: AISDKProviderProps): MaybePromise<PromptElement>;
67
- export {};
68
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAEZ,SAAS,EACV,MAAM,IAAI,CAAC;AAmBZ,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EAEb,cAAc,EACd,aAAa,EACb,cAAc,EAEd,SAAS,EACV,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,EAAE,UAOhC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,gBAAwB,EACxB,UAAU,EACV,EAAE,GACH,EAAE,aAAa,GAAG,aAAa,CAgB/B;AA0LD;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,cAAc,CAAC,YAAY,EAAE,CAKnD,CAAC;AAoMF,UAAU,kBAAkB;IAC1B,+FAA+F;IAC/F,KAAK,EAAE,aAAa,CAAC;IACrB,kFAAkF;IAClF,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AA4BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,QAAS,YAAW,aAAa;IAC5C,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;gBAE1B,KAAK,EAAE,aAAa;IAI1B,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAkBxE;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,SAAS,EACT,QAAa,GACd,EAAE,kBAAkB,GAAG,YAAY,CAAC,aAAa,CAAC,CA+BlD"}