@fastpaca/cria 1.7.2 → 1.7.4

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 (54) hide show
  1. package/README.md +86 -20
  2. package/dist/cria.d.ts +49 -0
  3. package/dist/cria.d.ts.map +1 -0
  4. package/dist/cria.js +49 -0
  5. package/dist/cria.js.map +1 -0
  6. package/dist/dsl/builder.d.ts +34 -44
  7. package/dist/dsl/builder.d.ts.map +1 -1
  8. package/dist/dsl/builder.js +122 -159
  9. package/dist/dsl/builder.js.map +1 -1
  10. package/dist/dsl/index.d.ts +2 -43
  11. package/dist/dsl/index.d.ts.map +1 -1
  12. package/dist/dsl/index.js +7 -51
  13. package/dist/dsl/index.js.map +1 -1
  14. package/dist/eval/index.d.ts +3 -1
  15. package/dist/eval/index.d.ts.map +1 -1
  16. package/dist/eval/index.js +1 -1
  17. package/dist/eval/index.js.map +1 -1
  18. package/dist/eval/judge.d.ts +1 -1
  19. package/dist/eval/judge.d.ts.map +1 -1
  20. package/dist/eval/judge.js +1 -1
  21. package/dist/eval/judge.js.map +1 -1
  22. package/dist/index.d.ts +5 -4
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +3 -2
  25. package/dist/index.js.map +1 -1
  26. package/dist/memory/chroma/index.d.ts +6 -6
  27. package/dist/memory/chroma/index.js +6 -6
  28. package/dist/memory/index.d.ts +4 -0
  29. package/dist/memory/index.d.ts.map +1 -1
  30. package/dist/memory/index.js +2 -0
  31. package/dist/memory/index.js.map +1 -1
  32. package/dist/memory/key-value.d.ts +8 -3
  33. package/dist/memory/key-value.d.ts.map +1 -1
  34. package/dist/memory/key-value.js +8 -3
  35. package/dist/memory/key-value.js.map +1 -1
  36. package/dist/memory/qdrant/index.d.ts +6 -6
  37. package/dist/memory/qdrant/index.js +6 -6
  38. package/dist/memory/summarizer.d.ts +53 -0
  39. package/dist/memory/summarizer.d.ts.map +1 -0
  40. package/dist/memory/summarizer.js +114 -0
  41. package/dist/memory/summarizer.js.map +1 -0
  42. package/dist/memory/vector-db.d.ts +30 -0
  43. package/dist/memory/vector-db.d.ts.map +1 -0
  44. package/dist/memory/vector-db.js +85 -0
  45. package/dist/memory/vector-db.js.map +1 -0
  46. package/package.json +1 -1
  47. package/dist/dsl/summary.d.ts +0 -51
  48. package/dist/dsl/summary.d.ts.map +0 -1
  49. package/dist/dsl/summary.js +0 -56
  50. package/dist/dsl/summary.js.map +0 -1
  51. package/dist/dsl/vector-search.d.ts +0 -19
  52. package/dist/dsl/vector-search.d.ts.map +0 -1
  53. package/dist/dsl/vector-search.js +0 -36
  54. package/dist/dsl/vector-search.js.map +0 -1
package/README.md CHANGED
@@ -29,13 +29,22 @@ const client = new OpenAI();
29
29
  const model = "gpt-5-nano";
30
30
  const provider = createProvider(client, model);
31
31
 
32
+ const summarizer = cria.summarizer({
33
+ id: "history",
34
+ store: memory,
35
+ provider,
36
+ });
37
+ const vectors = cria.vectordb(store);
38
+ const summary = summarizer.plugin({ history: conversation });
39
+ const retrieval = vectors.plugin({ query, limit: 8 });
40
+
32
41
  const messages = await cria
33
- .prompt(provider)
34
- .system("You are a research assistant.")
35
- .summary(conversation, { id: "history", store: memory })
36
- .vectorSearch({ store, query, limit: 8 })
37
- .user(query)
38
- .render({ budget: 128_000 });
42
+ .prompt(provider)
43
+ .system("You are a research assistant.")
44
+ .use(summary)
45
+ .use(retrieval)
46
+ .user(query)
47
+ .render({ budget: 128_000 });
39
48
 
40
49
  const response = await client.chat.completions.create({ model, messages });
41
50
  ```
@@ -93,10 +102,13 @@ const response = await client.chat.completions.create({ model, messages });
93
102
  <summary><strong>RAG with vector search</strong></summary>
94
103
 
95
104
  ```ts
105
+ const vectors = cria.vectordb(qdrant);
106
+ const retrieval = vectors.plugin({ query, limit: 10 });
107
+
96
108
  const messages = await cria
97
109
  .prompt(provider)
98
110
  .system("You are a research assistant.")
99
- .vectorSearch({ store: qdrant, query, limit: 10 })
111
+ .use(retrieval)
100
112
  .user(query)
101
113
  .render({ budget: 128_000 });
102
114
  ```
@@ -107,10 +119,18 @@ const messages = await cria
107
119
  <summary><strong>Summarize long conversation history</strong></summary>
108
120
 
109
121
  ```ts
122
+ const summarizer = cria.summarizer({
123
+ id: "conv",
124
+ store: redis,
125
+ priority: 2,
126
+ provider,
127
+ });
128
+ const summary = summarizer.plugin({ history: conversation });
129
+
110
130
  const messages = await cria
111
131
  .prompt(provider)
112
132
  .system("You are a helpful assistant.")
113
- .summary(conversation, { id: "conv", store: redis, priority: 2 })
133
+ .use(summary)
114
134
  .last(conversation, { n: 20 })
115
135
  .user(query)
116
136
  .render({ budget: 128_000 });
@@ -122,15 +142,25 @@ const messages = await cria
122
142
  <summary><strong>Token budgeting and compaction</strong></summary>
123
143
 
124
144
  ```ts
145
+ const summarizer = cria.summarizer({
146
+ id: "conv",
147
+ store: redis,
148
+ priority: 2,
149
+ provider,
150
+ });
151
+ const summary = summarizer.plugin({ history: conversation });
152
+ const vectors = cria.vectordb(qdrant);
153
+ const retrieval = vectors.plugin({ query, limit: 10 });
154
+
125
155
  const messages = await cria
126
156
  .prompt(provider)
127
157
  .system(SYSTEM_PROMPT)
128
158
  // Dropped first when budget is tight
129
159
  .omit(examples, { priority: 3 })
130
160
  // Summaries are run ad-hoc once we hit budget limits
131
- .summary(conversation, { id: "conv", store: redis, priority: 2 })
161
+ .use(summary)
132
162
  // Sacred, need to retain but limit to only 10 entries
133
- .vectorSearch({ store: qdrant, query, limit: 10 })
163
+ .use(retrieval)
134
164
  .user(query)
135
165
  // 128k token budget, once we hit the budget strategies
136
166
  // will run based on priority & usage (e.g. summaries will
@@ -261,18 +291,26 @@ const { text } = await generateText({ model, messages });
261
291
  <summary><strong>Redis (conversation summaries)</strong></summary>
262
292
 
263
293
  ```ts
294
+ import { cria, type StoredSummary } from "@fastpaca/cria";
264
295
  import { RedisStore } from "@fastpaca/cria/memory/redis";
265
- import type { StoredSummary } from "@fastpaca/cria";
266
296
 
267
297
  const store = new RedisStore<StoredSummary>({
268
298
  host: "localhost",
269
299
  port: 6379,
270
300
  });
271
301
 
302
+ const summarizer = cria.summarizer({
303
+ id: "conv-123",
304
+ store,
305
+ priority: 2,
306
+ provider,
307
+ });
308
+ const summary = summarizer.plugin({ history: conversation });
309
+
272
310
  const messages = await cria
273
311
  .prompt(provider)
274
312
  .system("You are a helpful assistant.")
275
- .summary(conversation, { id: "conv-123", store, priority: 2 })
313
+ .use(summary)
276
314
  .last(conversation, { n: 20 })
277
315
  .user(query)
278
316
  .render({ budget: 128_000 });
@@ -284,17 +322,25 @@ const messages = await cria
284
322
  <summary><strong>Postgres (conversation summaries)</strong></summary>
285
323
 
286
324
  ```ts
325
+ import { cria, type StoredSummary } from "@fastpaca/cria";
287
326
  import { PostgresStore } from "@fastpaca/cria/memory/postgres";
288
- import type { StoredSummary } from "@fastpaca/cria";
289
327
 
290
328
  const store = new PostgresStore<StoredSummary>({
291
329
  connectionString: "postgres://user:pass@localhost/mydb",
292
330
  });
293
331
 
332
+ const summarizer = cria.summarizer({
333
+ id: "conv-123",
334
+ store,
335
+ priority: 2,
336
+ provider,
337
+ });
338
+ const summary = summarizer.plugin({ history: conversation });
339
+
294
340
  const messages = await cria
295
341
  .prompt(provider)
296
342
  .system("You are a helpful assistant.")
297
- .summary(conversation, { id: "conv-123", store, priority: 2 })
343
+ .use(summary)
298
344
  .last(conversation, { n: 20 })
299
345
  .user(query)
300
346
  .render({ budget: 128_000 });
@@ -306,17 +352,25 @@ const messages = await cria
306
352
  <summary><strong>SQLite (conversation summaries)</strong></summary>
307
353
 
308
354
  ```ts
355
+ import { cria, type StoredSummary } from "@fastpaca/cria";
309
356
  import { SqliteStore } from "@fastpaca/cria/memory/sqlite";
310
- import type { StoredSummary } from "@fastpaca/cria";
311
357
 
312
358
  const store = new SqliteStore<StoredSummary>({
313
359
  filename: "cria.sqlite",
314
360
  });
315
361
 
362
+ const summarizer = cria.summarizer({
363
+ id: "conv-123",
364
+ store,
365
+ priority: 2,
366
+ provider,
367
+ });
368
+ const summary = summarizer.plugin({ history: conversation });
369
+
316
370
  const messages = await cria
317
371
  .prompt(provider)
318
372
  .system("You are a helpful assistant.")
319
- .summary(conversation, { id: "conv-123", store, priority: 2 })
373
+ .use(summary)
320
374
  .last(conversation, { n: 20 })
321
375
  .user(query)
322
376
  .render({ budget: 128_000 });
@@ -329,19 +383,23 @@ const messages = await cria
329
383
 
330
384
  ```ts
331
385
  import { z } from "zod";
386
+ import { cria } from "@fastpaca/cria";
332
387
  import { SqliteVectorStore } from "@fastpaca/cria/memory/sqlite-vector";
333
388
 
334
- const store = new SqliteVectorStore({
389
+ const store = new SqliteVectorStore<string>({
335
390
  filename: "cria.sqlite",
336
391
  dimensions: 1536,
337
392
  embed: async (text) => await getEmbedding(text),
338
393
  schema: z.string(),
339
394
  });
340
395
 
396
+ const vectors = cria.vectordb(store);
397
+ const retrieval = vectors.plugin({ query, limit: 10 });
398
+
341
399
  const messages = await cria
342
400
  .prompt(provider)
343
401
  .system("You are a research assistant.")
344
- .vectorSearch({ store, query, limit: 10 })
402
+ .use(retrieval)
345
403
  .user(query)
346
404
  .render({ budget: 128_000 });
347
405
  ```
@@ -353,6 +411,7 @@ const messages = await cria
353
411
 
354
412
  ```ts
355
413
  import { ChromaClient } from "chromadb";
414
+ import { cria } from "@fastpaca/cria";
356
415
  import { ChromaStore } from "@fastpaca/cria/memory/chroma";
357
416
 
358
417
  const client = new ChromaClient({ path: "http://localhost:8000" });
@@ -363,10 +422,13 @@ const store = new ChromaStore({
363
422
  embed: async (text) => await getEmbedding(text),
364
423
  });
365
424
 
425
+ const vectors = cria.vectordb(store);
426
+ const retrieval = vectors.plugin({ query, limit: 10 });
427
+
366
428
  const messages = await cria
367
429
  .prompt(provider)
368
430
  .system("You are a research assistant.")
369
- .vectorSearch({ store, query, limit: 10 })
431
+ .use(retrieval)
370
432
  .user(query)
371
433
  .render({ budget: 128_000 });
372
434
  ```
@@ -378,6 +440,7 @@ const messages = await cria
378
440
 
379
441
  ```ts
380
442
  import { QdrantClient } from "@qdrant/js-client-rest";
443
+ import { cria } from "@fastpaca/cria";
381
444
  import { QdrantStore } from "@fastpaca/cria/memory/qdrant";
382
445
 
383
446
  const client = new QdrantClient({ url: "http://localhost:6333" });
@@ -388,10 +451,13 @@ const store = new QdrantStore({
388
451
  embed: async (text) => await getEmbedding(text),
389
452
  });
390
453
 
454
+ const vectors = cria.vectordb(store);
455
+ const retrieval = vectors.plugin({ query, limit: 10 });
456
+
391
457
  const messages = await cria
392
458
  .prompt(provider)
393
459
  .system("You are a research assistant.")
394
- .vectorSearch({ store, query, limit: 10 })
460
+ .use(retrieval)
395
461
  .user(query)
396
462
  .render({ budget: 128_000 });
397
463
  ```
package/dist/cria.d.ts ADDED
@@ -0,0 +1,49 @@
1
+ import { input, inputLayout } from "./dsl";
2
+ import { type TextInput, c as templateC } from "./dsl/templating";
3
+ import type { PromptMessageNode, PromptRole, PromptScope, ProviderToolIO, ScopeChildren } from "./types";
4
+ /** Create a standalone message node */
5
+ declare function message<TToolIO extends ProviderToolIO>(role: PromptRole, content: TextInput<TToolIO>): PromptMessageNode<TToolIO>;
6
+ /** Create a standalone scope node */
7
+ declare function scope<TToolIO extends ProviderToolIO>(children: ScopeChildren<TToolIO>, opts?: {
8
+ priority?: number;
9
+ id?: string;
10
+ }): PromptScope<TToolIO>;
11
+ /**
12
+ * Namespace for building prompts as code.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { cria } from "@fastpaca/cria";
17
+ *
18
+ * // Full prompt builder
19
+ * const prompt = cria
20
+ * .prompt()
21
+ * .system("You are helpful.")
22
+ * .user("Hello!")
23
+ * .build();
24
+ *
25
+ * // Standalone nodes
26
+ * const msg = cria.user("Hello!");
27
+ * const root = cria.scope([msg]);
28
+ * ```
29
+ */
30
+ export declare const cria: {
31
+ readonly prompt: {
32
+ (): import("./dsl").PromptBuilder<unknown, "unpinned">;
33
+ <TProvider extends import("./provider").ModelProvider<unknown, ProviderToolIO>>(provider: TProvider): import("./dsl").PromptBuilder<TProvider, "unpinned">;
34
+ };
35
+ readonly c: typeof templateC;
36
+ readonly merge: (...builders: import("./dsl").PromptBuilder<unknown, "unpinned" | "pinned">[]) => import("./dsl").PromptBuilder<unknown, "unpinned" | "pinned">;
37
+ readonly message: typeof message;
38
+ readonly scope: typeof scope;
39
+ readonly user: (content: TextInput) => PromptMessageNode<ProviderToolIO>;
40
+ readonly system: (content: TextInput) => PromptMessageNode<ProviderToolIO>;
41
+ readonly developer: (content: TextInput) => PromptMessageNode<ProviderToolIO>;
42
+ readonly assistant: (content: TextInput) => PromptMessageNode<ProviderToolIO>;
43
+ readonly input: typeof input;
44
+ readonly inputLayout: typeof inputLayout;
45
+ readonly summarizer: (config: import("./memory/summarizer").SummarizerConfig) => import("./memory/summarizer").Summarizer;
46
+ readonly vectordb: <T>(store: import("./memory").VectorMemory<T>) => import("./memory").VectorDB<T>;
47
+ };
48
+ export {};
49
+ //# sourceMappingURL=cria.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cria.d.ts","sourceRoot":"","sources":["../src/cria.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAiB,MAAM,OAAO,CAAC;AAE1D,OAAO,EAEL,KAAK,SAAS,EACd,CAAC,IAAI,SAAS,EACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB,uCAAuC;AACvC,iBAAS,OAAO,CAAC,OAAO,SAAS,cAAc,EAC7C,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,GAC1B,iBAAiB,CAAC,OAAO,CAAC,CAE5B;AAED,qCAAqC;AACrC,iBAAS,KAAK,CAAC,OAAO,SAAS,cAAc,EAC3C,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,EAChC,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,WAAW,CAAC,OAAO,CAAC,CAEtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,IAAI;;;;;;;;;6BAOC,SAAS;+BACP,SAAS;kCACN,SAAS;kCACT,SAAS;;;;;CAKtB,CAAC"}
package/dist/cria.js ADDED
@@ -0,0 +1,49 @@
1
+ import { input, inputLayout, merge, prompt } from "./dsl";
2
+ import { createMessage, createScope } from "./dsl/strategies";
3
+ import { normalizeTextInput, c as templateC, } from "./dsl/templating";
4
+ import { summarizer } from "./memory/summarizer";
5
+ import { vectordb } from "./memory/vector-db";
6
+ /** Create a standalone message node */
7
+ function message(role, content) {
8
+ return createMessage(role, normalizeTextInput(content));
9
+ }
10
+ /** Create a standalone scope node */
11
+ function scope(children, opts) {
12
+ return createScope(children, opts);
13
+ }
14
+ /**
15
+ * Namespace for building prompts as code.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * import { cria } from "@fastpaca/cria";
20
+ *
21
+ * // Full prompt builder
22
+ * const prompt = cria
23
+ * .prompt()
24
+ * .system("You are helpful.")
25
+ * .user("Hello!")
26
+ * .build();
27
+ *
28
+ * // Standalone nodes
29
+ * const msg = cria.user("Hello!");
30
+ * const root = cria.scope([msg]);
31
+ * ```
32
+ */
33
+ export const cria = {
34
+ prompt,
35
+ c: templateC,
36
+ merge,
37
+ // Standalone node creators
38
+ message,
39
+ scope,
40
+ user: (content) => message("user", content),
41
+ system: (content) => message("system", content),
42
+ developer: (content) => message("developer", content),
43
+ assistant: (content) => message("assistant", content),
44
+ input,
45
+ inputLayout,
46
+ summarizer,
47
+ vectordb,
48
+ };
49
+ //# sourceMappingURL=cria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cria.js","sourceRoot":"","sources":["../src/cria.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAElB,CAAC,IAAI,SAAS,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAS9C,uCAAuC;AACvC,SAAS,OAAO,CACd,IAAgB,EAChB,OAA2B;IAE3B,OAAO,aAAa,CAAC,IAAI,EAAE,kBAAkB,CAAU,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,qCAAqC;AACrC,SAAS,KAAK,CACZ,QAAgC,EAChC,IAAyC;IAEzC,OAAO,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,MAAM;IACN,CAAC,EAAE,SAAS;IACZ,KAAK;IACL,2BAA2B;IAC3B,OAAO;IACP,KAAK;IACL,IAAI,EAAE,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;IACtD,MAAM,EAAE,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC1D,SAAS,EAAE,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;IAChE,SAAS,EAAE,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;IAChE,KAAK;IACL,WAAW;IACX,UAAU;IACV,QAAQ;CACA,CAAC"}
@@ -1,11 +1,9 @@
1
1
  /**
2
2
  * Fluent builders for constructing prompts.
3
3
  */
4
- import type { KVMemory, VectorMemory } from "../memory";
5
- import type { InputLayout, ModelProvider, PromptInput } from "../provider";
4
+ import type { InputLayout, MessageCodec, ModelProvider, PromptInput } from "../provider";
6
5
  import type { RenderOptions } from "../render";
7
6
  import type { CriaContext, PromptLayout, PromptNode, PromptPart, PromptRole, PromptTree, ProviderToolIO, ToolIOForProvider, ToolResultPart } from "../types";
8
- import type { StoredSummary, Summarizer } from "./summary";
9
7
  import { type TextInput } from "./templating";
10
8
  type PinState = "unpinned" | "pinned";
11
9
  /**
@@ -37,11 +35,21 @@ interface CachePinOptions {
37
35
  priority?: number;
38
36
  }
39
37
  export type ScopeContent<P = unknown> = PromptNodeFor<P> | PromptBuilder<P, PinState> | AnyPromptBuilder | InputFor<P> | InputLayoutFor<P> | Promise<PromptNodeFor<P>> | readonly ScopeContent<P>[];
38
+ export interface PromptPlugin<P = unknown> {
39
+ render(): ScopeContent<P> | Promise<ScopeContent<P>>;
40
+ }
41
+ /**
42
+ * Message-level children (text + parts).
43
+ */
44
+ type MessageChildValue<P> = PromptPartFor<P> | string | number | boolean | readonly MessageChildValue<P>[];
45
+ type MessageChild<P> = MessageChildValue<P> | Promise<MessageChildValue<P>>;
40
46
  /**
41
- * Children can include promises (async components like VectorSearch).
42
- * These are resolved when `.build()` resolves the tree.
47
+ * Prompt-level children (scopes + messages).
48
+ * Includes promises and node fragments (async components like plugins).
43
49
  */
44
- export type BuilderChild<P = unknown> = PromptNodeFor<P> | PromptPartFor<P> | PromptBuilder<P, PinState> | AnyPromptBuilder | string | number | boolean | Promise<PromptNodeFor<P> | PromptPartFor<P> | string | number | boolean>;
50
+ type ScopeChildValue<P> = PromptNodeFor<P> | PromptBuilder<P, PinState> | AnyPromptBuilder | readonly PromptNodeFor<P>[];
51
+ type ScopeChild<P> = ScopeChildValue<P> | Promise<PromptNodeFor<P> | readonly PromptNodeFor<P>[]>;
52
+ export type BuilderChild<P = unknown> = ScopeChild<P>;
45
53
  type BoundProvider = ModelProvider<unknown, ProviderToolIO>;
46
54
  type RenderedForProvider<P> = P extends ModelProvider<infer TOutput, infer _TToolIO> ? TOutput : unknown;
47
55
  /**
@@ -54,31 +62,23 @@ type RenderOptionsWithoutProvider<TRendered, TToolIO extends ProviderToolIO> = O
54
62
  /**
55
63
  * Shared fluent API for prompt-level and message-level builders.
56
64
  */
57
- export declare abstract class BuilderBase<TBuilder extends BuilderBase<TBuilder, P>, P> {
58
- readonly children: BuilderChild<P>[];
65
+ export declare abstract class BuilderBase<TBuilder extends BuilderBase<TBuilder, P, TChild>, P, TChild> {
66
+ readonly children: TChild[];
59
67
  readonly context: CriaContext | undefined;
60
- protected constructor(children?: BuilderChild<P>[], context?: CriaContext | undefined);
61
- protected abstract create(children: BuilderChild<P>[], context: CriaContext | undefined): TBuilder;
68
+ protected constructor(children?: TChild[], context?: CriaContext | undefined);
69
+ protected abstract create(children: TChild[], context: CriaContext | undefined): TBuilder;
62
70
  /**
63
71
  * Merge another builder's contents into this one (zod-like merge).
64
72
  * Contexts must be compatible (either identical or undefined).
65
73
  */
66
74
  merge(...builders: TBuilder[]): TBuilder;
67
- protected addChild(child: BuilderChild<P>): TBuilder;
68
- protected addChildren(children: readonly BuilderChild<P>[]): TBuilder;
75
+ protected addChild(child: TChild): TBuilder;
76
+ protected addChildren(children: readonly TChild[]): TBuilder;
69
77
  }
70
- export declare class MessageBuilder<P = unknown> extends BuilderBase<MessageBuilder<P>, P> {
71
- constructor(children?: BuilderChild<P>[], context?: CriaContext | undefined);
72
- protected create(children: BuilderChild<P>[], context: CriaContext | undefined): MessageBuilder<P>;
78
+ export declare class MessageBuilder<P = unknown> extends BuilderBase<MessageBuilder<P>, P, MessageChild<P>> {
79
+ constructor(children?: MessageChild<P>[], context?: CriaContext | undefined);
80
+ protected create(children: MessageChild<P>[], context: CriaContext | undefined): MessageBuilder<P>;
73
81
  append(content: TextInputFor<P>): MessageBuilder<P>;
74
- /**
75
- * Add vector search results as message content (async, resolved at render time).
76
- */
77
- vectorSearch<T = unknown>(opts: {
78
- store: VectorMemory<T>;
79
- query: string;
80
- limit: number;
81
- }): MessageBuilder<P>;
82
82
  /**
83
83
  * Add a formatted list of examples.
84
84
  */
@@ -98,7 +98,7 @@ export declare class MessageBuilder<P = unknown> extends BuilderBase<MessageBuil
98
98
  * - `prefix(pinnedBuilder)` adopts the pinned prefix when it is the first content.
99
99
  * - Merging a pinned builder after unpinned content throws.
100
100
  */
101
- export declare class PromptBuilder<P = unknown, TPinned extends PinState = "unpinned"> extends BuilderBase<PromptBuilder<P, TPinned>, P> {
101
+ export declare class PromptBuilder<P = unknown, TPinned extends PinState = "unpinned"> extends BuilderBase<PromptBuilder<P, TPinned>, P, ScopeChild<P>> {
102
102
  private readonly boundProvider;
103
103
  private readonly pinState;
104
104
  private constructor();
@@ -107,7 +107,7 @@ export declare class PromptBuilder<P = unknown, TPinned extends PinState = "unpi
107
107
  */
108
108
  static create(): PromptBuilder<unknown, "unpinned">;
109
109
  static create<TProvider extends BoundProvider>(provider: TProvider): PromptBuilder<TProvider, "unpinned">;
110
- protected create(children: BuilderChild<P>[], context: CriaContext | undefined): PromptBuilder<P, TPinned>;
110
+ protected create(children: ScopeChild<P>[], context: CriaContext | undefined): PromptBuilder<P, TPinned>;
111
111
  private createUnpinned;
112
112
  private clonePinState;
113
113
  /**
@@ -148,17 +148,19 @@ export declare class PromptBuilder<P = unknown, TPinned extends PinState = "unpi
148
148
  id?: string;
149
149
  }): PromptBuilder<P, TPinned>;
150
150
  /**
151
- * Create a provider scope for AI-powered operations like Summary.
151
+ * Create a provider scope for AI-powered operations like summaries.
152
152
  *
153
153
  * @example
154
154
  * ```typescript
155
+ * import { cria } from "@fastpaca/cria";
155
156
  * import { createProvider } from "@fastpaca/cria/ai-sdk";
156
157
  * import { openai } from "@ai-sdk/openai";
157
158
  *
158
159
  * const provider = createProvider(openai("gpt-4o"));
160
+ * const summarizer = cria.summarizer({ id: "conv", store, provider });
159
161
  * cria.prompt()
160
162
  * .providerScope(provider, (p) =>
161
- * p.summary(content, { id: "conv", store })
163
+ * p.use(summarizer.plugin({ history: content }))
162
164
  * )
163
165
  * ```
164
166
  */
@@ -171,23 +173,6 @@ export declare class PromptBuilder<P = unknown, TPinned extends PinState = "unpi
171
173
  * Add a PromptLayout input.
172
174
  */
173
175
  inputLayout(content: PromptLayout<ToolIOFor<P>>): PromptBuilder<P, TPinned>;
174
- /**
175
- * Add vector search results (async, resolved at render time).
176
- */
177
- vectorSearch<T = unknown>(opts: {
178
- store: VectorMemory<T>;
179
- query: string;
180
- limit: number;
181
- }): PromptBuilder<P, TPinned>;
182
- /**
183
- * Add content that will be summarized when over budget.
184
- */
185
- summary(content: ScopeContent<P>, opts: {
186
- id: string;
187
- store: KVMemory<StoredSummary>;
188
- summarize?: Summarizer;
189
- priority?: number;
190
- }): PromptBuilder<P, TPinned>;
191
176
  /**
192
177
  * Mark the current builder contents as cache-pinned.
193
178
  *
@@ -228,6 +213,10 @@ export declare class PromptBuilder<P = unknown, TPinned extends PinState = "unpi
228
213
  * ```
229
214
  */
230
215
  merge(this: PromptBuilder<P, "unpinned">, ...items: (PromptBuilder<P, "unpinned"> | PromptBuilder<unknown, "unpinned"> | PromptNodeFor<P> | readonly PromptNodeFor<P>[])[]): PromptBuilder<P, "unpinned">;
216
+ /**
217
+ * Insert a prompt plugin at the current position.
218
+ */
219
+ use(plugin: PromptPlugin<P>): PromptBuilder<P, TPinned>;
231
220
  /**
232
221
  * Conditionally apply a transformation to the builder.
233
222
  *
@@ -299,5 +288,6 @@ export declare class PromptBuilder<P = unknown, TPinned extends PinState = "unpi
299
288
  * Prompt type alias for external use.
300
289
  */
301
290
  export type Prompt<P = unknown> = PromptBuilder<P, PinState>;
291
+ export declare function resolveScopeContent<P>(content: ScopeContent<P>, codec: MessageCodec<unknown, ProviderToolIO> | null | undefined): Promise<PromptNodeFor<P>[]>;
302
292
  export {};
303
293
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/dsl/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/dsl/builder.ts"],"names":[],"mappings":"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"}