@fastpaca/cria 1.2.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 (51) hide show
  1. package/README.md +29 -7
  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 +117 -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 -2
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -2
  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/render.js +1 -1
  38. package/dist/render.js.map +1 -1
  39. package/dist/types.d.ts +17 -30
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/types.js.map +1 -1
  42. package/package.json +11 -7
  43. package/dist/ai-sdk/index.d.ts +0 -68
  44. package/dist/ai-sdk/index.d.ts.map +0 -1
  45. package/dist/ai-sdk/index.js +0 -375
  46. package/dist/ai-sdk/index.js.map +0 -1
  47. package/dist/anthropic/index.d.ts +0 -102
  48. package/dist/anthropic/index.d.ts.map +0 -1
  49. package/dist/anthropic/index.js.map +0 -1
  50. package/dist/openai/index.d.ts.map +0 -1
  51. 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/render.js CHANGED
@@ -17,7 +17,7 @@ export async function render(element, { tokenizer, budget, renderer, hooks }) {
17
17
  }
18
18
  const tokenizerResolution = resolveTokenizer(resolvedElement, tokenizer);
19
19
  if (!tokenizerResolution) {
20
- throw new Error("Token budgeting requires a tokenizer. Provide one to render(), or wrap your prompt in a provider that supplies a tokenizer (e.g. <OpenAIProvider>, <AnthropicProvider>, or <AISDKProvider>). See docs/tokenization.md for details.");
20
+ throw new Error("Token budgeting requires a tokenizer. Provide one to render(), or wrap your prompt in a provider that supplies a tokenizer (e.g. <OpenAIProvider>, <AnthropicProvider>, or <AISDKProvider>). See docs/how-to/fit-and-compaction.md for details.");
21
21
  }
22
22
  const tokenizerFn = tokenizerResolution.tokenizer;
23
23
  const fitted = await fitToBudget(resolvedElement, budget, tokenizerFn, resolvedRenderer.tokenString, hooks);
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,EAAE;KACR,QAAQ,CACP,8FAA8F,CAC/F,CAAC;AAiFJ;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC1E,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,gBAAgB;CACvB,CAAC,CAAC;AACH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;CACnB,CAAC,CAAC;AACH,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;CACpB,CAAC,CAAC;AACH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC;IACtC,oBAAoB;IACpB,uBAAuB;IACvB,wBAAwB;IACxB,0BAA0B;IAC1B,yBAAyB;CAC1B,CAAC,CAAC;AAKH;;;;;;;;;;;GAWG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAqB,EAAE,CAC9D,OAAO,KAAK,KAAK,UAAU,CAAC;AA8B9B,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAW,iBAAiB,CAAC,CAAC,QAAQ,EAAE;IAC1D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAe,CAAC,QAAQ,EAAE;CAC5C,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,mBAAmB,GAA6B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACvE,CAAC,CAAC,KAAK,CAAC;IACN,gBAAgB,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE;QAC9B,QAAQ,EAAE,CAAC,CAAC,KAAK,CACf,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CACzD;KACF,CAAC;IACF,gBAAgB,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC1B,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,CAAC,CAAC,KAAK,CACf,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CACzD;KACF,CAAC;IACF,gBAAgB,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;QAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,CACf,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CACzD;KACF,CAAC;IACF,gBAAgB,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;QACnB,QAAQ,EAAE,CAAC,CAAC,KAAK,CACf,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CACzD;KACF,CAAC;IACF,gBAAgB,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,QAAQ,EAAE,CAAC,CAAC,KAAK,CACf,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CACzD;KACF,CAAC;CACH,CAAC,CACyB,CAAC;AAE9B,MAAM,CAAC,MAAM,iBAAiB,GAA2B,CAAC,CAAC,KAAK,CAAC;IAC/D,CAAC,CAAC,MAAM,EAAE;IACV,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC;CAClC,CAA2B,CAAC;AAE7B,MAAM,CAAC,MAAM,oBAAoB,GAA8B,CAAC,CAAC,KAAK,CACpE,iBAAiB,CACW,CAAC;AAyD/B,MAAM,CAAC,MAAM,eAAe,GAAyB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC/D,CAAC,CAAC,KAAK,CAAC;IACN,CAAC,CAAC,IAAI,EAAE;IACR,CAAC,CAAC,MAAM,EAAE;IACV,CAAC,CAAC,MAAM,EAAE;IACV,CAAC,CAAC,OAAO,EAAE;IACX,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;IACxB,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC;CAC1B,CAAC,CACH,CAAC;AA2CF;;;;;;;;;;GAUG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YAAY,CAAS;IACrB,QAAQ,CAAS;IACjB,SAAS,CAAS;IAClB,MAAM,CAAS;IACf,WAAW,CAAS;IAEpB,YAAY,MAMX;QACC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAC1E,KAAK,CACH,sBAAsB,WAAW,0BAA0B,MAAM,OAAO,YAAY,gBAAgB,QAAQ,eAAe,SAAS,GAAG,CACxI,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF"}
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.2.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"}