@fastpaca/cria 1.5.0 → 1.7.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 (70) hide show
  1. package/README.md +269 -72
  2. package/dist/dsl/builder.d.ts +101 -41
  3. package/dist/dsl/builder.d.ts.map +1 -1
  4. package/dist/dsl/builder.js +238 -48
  5. package/dist/dsl/builder.js.map +1 -1
  6. package/dist/dsl/index.d.ts +12 -6
  7. package/dist/dsl/index.d.ts.map +1 -1
  8. package/dist/dsl/index.js +10 -0
  9. package/dist/dsl/index.js.map +1 -1
  10. package/dist/dsl/strategies.d.ts +2 -1
  11. package/dist/dsl/strategies.d.ts.map +1 -1
  12. package/dist/dsl/strategies.js +5 -4
  13. package/dist/dsl/strategies.js.map +1 -1
  14. package/dist/dsl/summary.d.ts +2 -1
  15. package/dist/dsl/summary.d.ts.map +1 -1
  16. package/dist/dsl/summary.js.map +1 -1
  17. package/dist/dsl/vector-search.d.ts +8 -41
  18. package/dist/dsl/vector-search.d.ts.map +1 -1
  19. package/dist/dsl/vector-search.js +10 -62
  20. package/dist/dsl/vector-search.js.map +1 -1
  21. package/dist/eval/index.d.ts +6 -3
  22. package/dist/eval/index.d.ts.map +1 -1
  23. package/dist/eval/judge.d.ts +2 -1
  24. package/dist/eval/judge.d.ts.map +1 -1
  25. package/dist/eval/judge.js.map +1 -1
  26. package/dist/index.d.ts +10 -5
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +6 -3
  29. package/dist/index.js.map +1 -1
  30. package/dist/instrumentation/otel.d.ts.map +1 -1
  31. package/dist/instrumentation/otel.js +124 -11
  32. package/dist/instrumentation/otel.js.map +1 -1
  33. package/dist/memory/chroma/index.js +4 -4
  34. package/dist/protocols/chat-completions.d.ts +38 -0
  35. package/dist/protocols/chat-completions.d.ts.map +1 -0
  36. package/dist/protocols/chat-completions.js +94 -0
  37. package/dist/protocols/chat-completions.js.map +1 -0
  38. package/dist/protocols/responses.d.ts +80 -0
  39. package/dist/protocols/responses.d.ts.map +1 -0
  40. package/dist/protocols/responses.js +148 -0
  41. package/dist/protocols/responses.js.map +1 -0
  42. package/dist/provider.d.ts +107 -0
  43. package/dist/provider.d.ts.map +1 -0
  44. package/dist/provider.js +60 -0
  45. package/dist/provider.js.map +1 -0
  46. package/dist/providers/ai-sdk.d.ts +21 -6
  47. package/dist/providers/ai-sdk.d.ts.map +1 -1
  48. package/dist/providers/ai-sdk.js +83 -43
  49. package/dist/providers/ai-sdk.js.map +1 -1
  50. package/dist/providers/anthropic.d.ts +28 -8
  51. package/dist/providers/anthropic.d.ts.map +1 -1
  52. package/dist/providers/anthropic.js +314 -69
  53. package/dist/providers/anthropic.js.map +1 -1
  54. package/dist/providers/openai.d.ts +67 -25
  55. package/dist/providers/openai.d.ts.map +1 -1
  56. package/dist/providers/openai.js +365 -89
  57. package/dist/providers/openai.js.map +1 -1
  58. package/dist/render.d.ts +3 -2
  59. package/dist/render.d.ts.map +1 -1
  60. package/dist/render.js +61 -13
  61. package/dist/render.js.map +1 -1
  62. package/dist/types.d.ts +49 -40
  63. package/dist/types.d.ts.map +1 -1
  64. package/dist/types.js +2 -21
  65. package/dist/types.js.map +1 -1
  66. package/package.json +20 -17
  67. package/dist/testing/plaintext.d.ts +0 -28
  68. package/dist/testing/plaintext.d.ts.map +0 -1
  69. package/dist/testing/plaintext.js +0 -71
  70. package/dist/testing/plaintext.js.map +0 -1
@@ -6,6 +6,16 @@ import { createMessage, createOmitStrategy, createScope, createTruncateStrategy,
6
6
  import { Summary } from "./summary";
7
7
  import { isPromptPart, normalizeTextInput, textPart, } from "./templating";
8
8
  import { VectorSearch } from "./vector-search";
9
+ const DEFAULT_PIN_ID = "__cria:auto-pin__";
10
+ function createPinHint(opts) {
11
+ return {
12
+ mode: "pin",
13
+ id: opts.id ?? DEFAULT_PIN_ID,
14
+ version: opts.version,
15
+ ...(opts.scopeKey ? { scopeKey: opts.scopeKey } : {}),
16
+ ...(opts.ttlSeconds !== undefined ? { ttlSeconds: opts.ttlSeconds } : {}),
17
+ };
18
+ }
9
19
  /**
10
20
  * Shared fluent API for prompt-level and message-level builders.
11
21
  */
@@ -66,9 +76,7 @@ export class MessageBuilder extends BuilderBase {
66
76
  const asyncPart = VectorSearch({
67
77
  store: opts.store,
68
78
  query: opts.query,
69
- ...(opts.limit !== undefined ? { limit: opts.limit } : {}),
70
- ...(opts.threshold !== undefined ? { threshold: opts.threshold } : {}),
71
- ...(opts.formatter ? { formatResults: opts.formatter } : {}),
79
+ limit: opts.limit,
72
80
  }).then((scope) => {
73
81
  const message = scope.children[0];
74
82
  if (!message || message.kind !== "message") {
@@ -99,10 +107,17 @@ export class MessageBuilder extends BuilderBase {
99
107
  * Every method returns a new immutable builder instance; large chains will copy
100
108
  * child arrays, so keep prompts reasonably sized.
101
109
  * Call `.build()` to get the final `PromptTree`.
110
+ *
111
+ * Cache pinning behavior:
112
+ * - `.pin()` may only be called once and always pins the current prompt prefix.
113
+ * - After `.pin()`, continue chaining to add the unpinned tail.
114
+ * - `prefix(pinnedBuilder)` adopts the pinned prefix when it is the first content.
115
+ * - Merging a pinned builder after unpinned content throws.
102
116
  */
103
117
  export class PromptBuilder extends BuilderBase {
104
118
  boundProvider;
105
- constructor(children = [], context = undefined, provider = undefined) {
119
+ pinState;
120
+ constructor(children = [], context = undefined, provider = undefined, pinState = null) {
106
121
  const existingProvider = context?.provider;
107
122
  if (provider && existingProvider && provider !== existingProvider) {
108
123
  throw new Error("Cannot create a prompt builder with a mismatched provider.");
@@ -112,6 +127,7 @@ export class PromptBuilder extends BuilderBase {
112
127
  : context;
113
128
  super(children, nextContext);
114
129
  this.boundProvider = provider;
130
+ this.pinState = pinState;
115
131
  }
116
132
  static create(provider) {
117
133
  if (!provider) {
@@ -120,8 +136,14 @@ export class PromptBuilder extends BuilderBase {
120
136
  return new PromptBuilder([], undefined, provider);
121
137
  }
122
138
  create(children, context) {
139
+ return new PromptBuilder(children, context, this.boundProvider, this.pinState);
140
+ }
141
+ createUnpinned(children, context) {
123
142
  return new PromptBuilder(children, context, this.boundProvider);
124
143
  }
144
+ clonePinState(pinState) {
145
+ return { ...pinState, children: [...pinState.children] };
146
+ }
125
147
  /**
126
148
  * Bind this prompt builder to a provider.
127
149
  * Enables provider-specific rendering without passing a provider at render time.
@@ -137,17 +159,43 @@ export class PromptBuilder extends BuilderBase {
137
159
  if (typeof fn !== "function") {
138
160
  throw new Error(`scope() requires a callback function. Received: ${typeof fn}`);
139
161
  }
140
- const inner = fn(this.create([], this.context));
162
+ const inner = fn(this.createUnpinned([], this.context));
141
163
  const element = inner
142
164
  .buildChildren()
143
165
  .then((children) => createScope(children, opts?.id ? { id: opts.id } : undefined));
144
166
  return this.addChild(element);
145
167
  }
168
+ prefix(content, opts) {
169
+ if (content instanceof PromptBuilder) {
170
+ if (content.context && this.context && content.context !== this.context) {
171
+ throw new Error("Cannot merge builders with different contexts/providers");
172
+ }
173
+ if (content.pinState) {
174
+ if (this.pinState) {
175
+ throw new Error("Prompt is already pinned.");
176
+ }
177
+ // When prefixing a pinned builder, adopt its pinned prefix.
178
+ const adoptedPinState = this.clonePinState(content.pinState);
179
+ const combinedChildren = [...content.children, ...this.children];
180
+ return new PromptBuilder(combinedChildren, this.context, this.boundProvider, adoptedPinState);
181
+ }
182
+ }
183
+ const element = resolveScopeContent(content, this.boundProvider?.codec).then((children) => createScope(children, opts?.id ? { id: opts.id } : undefined));
184
+ if (this.pinState) {
185
+ // Once pinned, prefix additions expand the pinned prefix itself.
186
+ const nextPinState = {
187
+ ...this.pinState,
188
+ children: [element, ...this.pinState.children],
189
+ };
190
+ return new PromptBuilder(this.children, this.context, this.boundProvider, nextPinState);
191
+ }
192
+ return this.create([element, ...this.children], this.context);
193
+ }
146
194
  /**
147
195
  * Add content that will be truncated when over budget.
148
196
  */
149
197
  truncate(content, opts) {
150
- const node = resolveScopeContent(content).then((children) => createScope(children, {
198
+ const node = resolveScopeContent(content, this.boundProvider?.codec).then((children) => createScope(children, {
151
199
  ...(opts.priority !== undefined && { priority: opts.priority }),
152
200
  strategy: createTruncateStrategy(opts.budget, opts.from ?? "start"),
153
201
  ...(opts.id && { id: opts.id }),
@@ -158,7 +206,7 @@ export class PromptBuilder extends BuilderBase {
158
206
  * Add content that will be entirely removed when over budget.
159
207
  */
160
208
  omit(content, opts) {
161
- const node = resolveScopeContent(content).then((children) => createScope(children, {
209
+ const node = resolveScopeContent(content, this.boundProvider?.codec).then((children) => createScope(children, {
162
210
  ...(opts?.priority !== undefined && { priority: opts.priority }),
163
211
  strategy: createOmitStrategy(),
164
212
  ...(opts?.id && { id: opts.id }),
@@ -195,6 +243,23 @@ export class PromptBuilder extends BuilderBase {
195
243
  }));
196
244
  return bound.addChild(element);
197
245
  }
246
+ /**
247
+ * Add provider-native input (requires a bound provider).
248
+ */
249
+ input(content) {
250
+ const provider = this.boundProvider;
251
+ if (!hasProvider(provider)) {
252
+ throw new Error("Inputs require a bound provider.");
253
+ }
254
+ const layout = provider.codec.parse(content);
255
+ return this.addChildren(promptLayoutToNodes(layout));
256
+ }
257
+ /**
258
+ * Add a PromptLayout input.
259
+ */
260
+ inputLayout(content) {
261
+ return this.addChildren(promptLayoutToNodes(content));
262
+ }
198
263
  /**
199
264
  * Add vector search results (async, resolved at render time).
200
265
  */
@@ -202,11 +267,7 @@ export class PromptBuilder extends BuilderBase {
202
267
  const asyncElement = VectorSearch({
203
268
  store: opts.store,
204
269
  query: opts.query,
205
- ...(opts.limit !== undefined ? { limit: opts.limit } : {}),
206
- ...(opts.threshold !== undefined ? { threshold: opts.threshold } : {}),
207
- ...(opts.formatter ? { formatResults: opts.formatter } : {}),
208
- ...(opts.priority !== undefined ? { priority: opts.priority } : {}),
209
- ...(opts.id !== undefined ? { id: opts.id } : {}),
270
+ limit: opts.limit,
210
271
  });
211
272
  return this.addChild(asyncElement);
212
273
  }
@@ -214,7 +275,7 @@ export class PromptBuilder extends BuilderBase {
214
275
  * Add content that will be summarized when over budget.
215
276
  */
216
277
  summary(content, opts) {
217
- const element = resolveScopeContent(content).then((children) => Summary({
278
+ const element = resolveScopeContent(content, this.boundProvider?.codec).then((children) => Summary({
218
279
  id: opts.id,
219
280
  store: opts.store,
220
281
  children,
@@ -224,50 +285,92 @@ export class PromptBuilder extends BuilderBase {
224
285
  return this.addChild(element);
225
286
  }
226
287
  /**
227
- * Add a raw PromptNode (escape hatch for advanced usage).
288
+ * Mark the current builder contents as cache-pinned.
289
+ *
290
+ * Provide a stable id + version to control cache reuse across runs.
291
+ * Only one pin is allowed per prompt.
228
292
  */
229
- raw(element) {
230
- return this.addChild(element);
293
+ pin(opts) {
294
+ if (this.pinState) {
295
+ throw new Error("Prompt is already pinned.");
296
+ }
297
+ if (!opts?.version) {
298
+ throw new Error("pin() requires a version.");
299
+ }
300
+ const cache = createPinHint(opts);
301
+ const pinState = {
302
+ hint: cache,
303
+ ...(opts?.priority !== undefined ? { priority: opts.priority } : {}),
304
+ children: [...this.children],
305
+ };
306
+ // After pinning, the current children become the pinned prefix.
307
+ // Further builder chaining appends the unpinned tail.
308
+ return new PromptBuilder([], this.context, this.boundProvider, pinState);
231
309
  }
232
310
  /**
233
- * Merge builders or raw nodes into this one.
234
- * Accepts PromptBuilders, individual PromptNodes, or arrays of PromptNodes.
311
+ * Keep only the last N messages from the content.
235
312
  *
236
313
  * @example
237
314
  * ```typescript
238
- * // Merge builders
239
- * cria.prompt().system("A").merge(otherBuilder)
240
- *
241
- * // Merge raw nodes
242
- * cria.prompt().system("A").merge(...scope.children)
315
+ * cria.prompt()
316
+ * .system("You are helpful.")
317
+ * .last(conversationHistory, { n: 20 })
318
+ * .user("What's next?")
243
319
  * ```
244
320
  */
321
+ last(content, opts) {
322
+ const element = resolveScopeContent(content, this.boundProvider?.codec).then((children) => {
323
+ // Filter to only message nodes and take the last N
324
+ const messages = children.filter((child) => child.kind === "message");
325
+ const lastN = messages.slice(-opts.n);
326
+ return createScope(lastN, opts.id ? { id: opts.id } : undefined);
327
+ });
328
+ return this.addChild(element);
329
+ }
330
+ /**
331
+ * Add a raw PromptNode (escape hatch for advanced usage).
332
+ */
333
+ raw(element) {
334
+ return this.addChild(element);
335
+ }
245
336
  merge(...items) {
246
337
  const newChildren = [...this.children];
247
338
  let nextContext = this.context;
248
- for (const item of items) {
249
- nextContext = this.mergeItem(item, newChildren, nextContext);
250
- }
251
- return this.create(newChildren, nextContext);
252
- }
253
- mergeItem(item, target, currentContext) {
254
- if (item instanceof PromptBuilder) {
255
- if (item.context && currentContext && item.context !== currentContext) {
339
+ let nextPinState = this.pinState ? this.clonePinState(this.pinState) : null;
340
+ const mergeBuilder = (item) => {
341
+ if (item.context && nextContext && item.context !== nextContext) {
256
342
  throw new Error("Cannot merge builders with different contexts/providers");
257
343
  }
258
- target.push(...item.children);
259
- return item.context ?? currentContext;
260
- }
261
- if (Array.isArray(item)) {
262
- for (const node of item) {
263
- target.push(node);
344
+ if (!nextContext) {
345
+ nextContext = item.context;
346
+ }
347
+ if (item.pinState) {
348
+ if (nextPinState) {
349
+ throw new Error("Prompt is already pinned.");
350
+ }
351
+ if (newChildren.length > 0) {
352
+ throw new Error("Cannot merge a pinned prompt after unpinned content.");
353
+ }
354
+ nextPinState = this.clonePinState(item.pinState);
355
+ }
356
+ newChildren.push(...item.children);
357
+ };
358
+ for (const item of items) {
359
+ if (item instanceof PromptBuilder) {
360
+ mergeBuilder(item);
361
+ continue;
362
+ }
363
+ if (Array.isArray(item)) {
364
+ for (const node of item) {
365
+ newChildren.push(node);
366
+ }
367
+ continue;
368
+ }
369
+ if (isPromptNode(item)) {
370
+ newChildren.push(item);
264
371
  }
265
- return currentContext;
266
- }
267
- if (isPromptNode(item)) {
268
- target.push(item);
269
372
  }
270
- return currentContext;
373
+ return new PromptBuilder(newChildren, nextContext, this.boundProvider, nextPinState);
271
374
  }
272
375
  /**
273
376
  * Conditionally apply a transformation to the builder.
@@ -289,6 +392,12 @@ export class PromptBuilder extends BuilderBase {
289
392
  system(content, opts) {
290
393
  return this.addMessage("system", content, opts);
291
394
  }
395
+ /**
396
+ * Add a developer message.
397
+ */
398
+ developer(content, opts) {
399
+ return this.addMessage("developer", content, opts);
400
+ }
292
401
  /**
293
402
  * Add a user message.
294
403
  */
@@ -319,7 +428,20 @@ export class PromptBuilder extends BuilderBase {
319
428
  return this.addMessage(role, content, opts);
320
429
  }
321
430
  async buildChildren() {
322
- return await resolveScopeChildren(this.children);
431
+ const resolvedChildren = await resolveScopeChildren(this.children);
432
+ if (!this.pinState) {
433
+ return resolvedChildren;
434
+ }
435
+ // The pinned prefix is emitted as the first scope in the tree,
436
+ // followed by any unpinned tail content.
437
+ const pinnedChildren = await resolveScopeChildren(this.pinState.children);
438
+ const pinnedScope = createScope(pinnedChildren, {
439
+ cache: this.pinState.hint,
440
+ ...(this.pinState.priority !== undefined
441
+ ? { priority: this.pinState.priority }
442
+ : {}),
443
+ });
444
+ return [pinnedScope, ...resolvedChildren];
323
445
  }
324
446
  /**
325
447
  * Build the final PromptTree.
@@ -365,7 +487,14 @@ export class PromptBuilder extends BuilderBase {
365
487
  // They resolve async children and enforce message/scope boundaries early.
366
488
  // This avoids deferred checks and ensures type safety at build time.
367
489
  function isPromptNode(value) {
368
- return typeof value === "object" && value !== null && "kind" in value;
490
+ if (typeof value !== "object" || value === null) {
491
+ return false;
492
+ }
493
+ if (!("kind" in value)) {
494
+ return false;
495
+ }
496
+ const kind = value.kind;
497
+ return kind === "scope" || kind === "message";
369
498
  }
370
499
  async function resolveMessageChildren(children) {
371
500
  const list = Array.isArray(children) ? children : [children];
@@ -377,7 +506,9 @@ async function resolveScopeChildren(children) {
377
506
  const resolved = await Promise.all(list.map((child) => resolveBuilderChild(child, "scope")));
378
507
  return resolved.flat();
379
508
  }
380
- async function resolveScopeContent(content) {
509
+ async function resolveScopeContent(content, codec) {
510
+ // Scope content can be trees, builders, layouts, or provider-native inputs.
511
+ // Provider-native inputs are decoded back into PromptLayout via the codec.
381
512
  if (content instanceof PromptBuilder) {
382
513
  const built = await content.build();
383
514
  const nodes = [];
@@ -392,16 +523,75 @@ async function resolveScopeContent(content) {
392
523
  }
393
524
  if (content instanceof Promise) {
394
525
  const value = await content;
395
- return await resolveScopeContent(value);
526
+ return await resolveScopeContent(value, codec);
396
527
  }
397
528
  if (Array.isArray(content)) {
398
- const resolved = await Promise.all(content.map((item) => resolveScopeContent(item)));
529
+ const resolved = await Promise.all(content.map((item) => resolveScopeContent(item, codec)));
399
530
  return resolved.flat();
400
531
  }
401
532
  if (isPromptNode(content)) {
402
533
  return [content];
403
534
  }
404
- throw new Error("Scope content must be prompt nodes or prompt builders.");
535
+ if (isInputLayout(content)) {
536
+ return promptLayoutToNodes(content.value);
537
+ }
538
+ if (isPromptInput(content)) {
539
+ if (!isCodecForInput(codec, content)) {
540
+ throw new Error("Inputs require a provider with a codec.");
541
+ }
542
+ return resolveInputContent(content, codec);
543
+ }
544
+ throw new Error("Scope content must be prompt nodes, prompt builders, or input wrappers.");
545
+ }
546
+ function resolveInputContent(content, codec) {
547
+ const layout = codec.parse(content.value);
548
+ return promptLayoutToNodes(layout);
549
+ }
550
+ // Type-only narrowing: codec comes from the bound provider.
551
+ function isCodecForInput(codec, _content) {
552
+ return Boolean(codec);
553
+ }
554
+ function promptLayoutToNodes(layout) {
555
+ return layout.map((message) => promptMessageToNode(message));
556
+ }
557
+ function promptMessageToNode(message) {
558
+ if (message.role === "tool") {
559
+ const part = {
560
+ type: "tool-result",
561
+ toolCallId: message.toolCallId,
562
+ toolName: message.toolName,
563
+ output: message.output,
564
+ };
565
+ return createMessage("tool", [part]);
566
+ }
567
+ if (message.role === "assistant") {
568
+ const parts = [];
569
+ if (message.text) {
570
+ parts.push(textPart(message.text));
571
+ }
572
+ if (message.reasoning) {
573
+ parts.push({ type: "reasoning", text: message.reasoning });
574
+ }
575
+ if (message.toolCalls) {
576
+ parts.push(...message.toolCalls);
577
+ }
578
+ return createMessage("assistant", parts);
579
+ }
580
+ const parts = message.text ? [textPart(message.text)] : [];
581
+ return createMessage(message.role, parts);
582
+ }
583
+ function isInputLayout(value) {
584
+ return hasKind(value) && value.kind === "input-layout";
585
+ }
586
+ function isPromptInput(value) {
587
+ return hasKind(value) && value.kind === "input";
588
+ }
589
+ function hasKind(value) {
590
+ return typeof value === "object" && value !== null && "kind" in value;
591
+ }
592
+ // Narrow a bound provider so codec usage preserves render/tool IO types.
593
+ function hasProvider(provider) {
594
+ return Boolean(provider);
405
595
  }
406
596
  async function resolveBuilderChild(child, target) {
407
597
  const resolved = await resolveBuilderChildPromise(child);
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/dsl/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/dsl/builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EAAE,uBAAuB,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC;AAgB5E,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAElB,QAAQ,GACT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAsC/C,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAU3C,SAAS,aAAa,CAAC,IAAqB;IAC1C,OAAO;QACL,IAAI,EAAE,KAAK;QACX,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,cAAc;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1E,CAAC;AACJ,CAAC;AAyCD;;GAEG;AACH,MAAM,OAAgB,WAAW;IAItB,QAAQ,CAAoB;IAC5B,OAAO,CAA0B;IAE1C,YACE,WAA8B,EAAE,EAChC,UAAmC,SAAS;QAE5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAOD;;;OAGG;IACH,KAAK,CAAC,GAAG,QAAoB;QAC3B,MAAM,OAAO,GAA+B,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;QAChE,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAC/C,CAAC,CACF,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,KAAK,CAAkB,aAAa,CAAC,CAAC;QACjE,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,IAAI,OAAO,CAAC,OAAO,IAAI,WAAW,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;gBACtE,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrC,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;gBACnC,UAAU,IAAI,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,cAAc,CAAC,MAAM,GAAG,UAAU,CAAC;QAEnC,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;IAES,QAAQ,CAAC,KAAsB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IAES,WAAW,CAAC,QAAoC;QACxD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;CACF;AAED,MAAM,OAAO,cAA4B,SAAQ,WAGhD;IACC,YACE,WAA8B,EAAE,EAChC,UAAmC,SAAS;QAE5C,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3B,CAAC;IAES,MAAM,CACd,QAA2B,EAC3B,OAAgC;QAEhC,OAAO,IAAI,cAAc,CAAI,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,OAAwB;QAC7B,MAAM,UAAU,GAAG,kBAAkB,CAAe,OAAO,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,YAAY,CAAc,IAIzB;QACC,MAAM,SAAS,GAAG,YAAY,CAAkB;YAC9C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YAChB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAa,EAAE,KAAe;QACrC,MAAM,OAAO,GAAG,cAAc,CAAe,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,MAAM,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,aAGX,SAAQ,WAAyC;IAChC,aAAa,CAA4B;IACzC,QAAQ,CAAyB;IAElD,YACE,WAA8B,EAAE,EAChC,UAAmC,SAAS,EAC5C,WAAsC,SAAS,EAC/C,WAAmC,IAAI;QAEvC,MAAM,gBAAgB,GAAG,OAAO,EAAE,QAAQ,CAAC;QAC3C,IAAI,QAAQ,IAAI,gBAAgB,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GACf,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;YACrD,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE;YAClC,CAAC,CAAC,OAAO,CAAC;QACd,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IASD,MAAM,CAAC,MAAM,CAAkC,QAAoB;QACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,aAAa,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,aAAa,CAAwB,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAES,MAAM,CACd,QAA2B,EAC3B,OAAgC;QAEhC,OAAO,IAAI,aAAa,CACtB,QAAQ,EACR,OAAO,EACP,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAEO,cAAc,CACpB,QAA2B,EAC3B,OAAgC;QAEhC,OAAO,IAAI,aAAa,CACtB,QAAQ,EACR,OAAO,EACP,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,QAAyB;QAC7C,OAAO,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAEN,aAAwB;QAExB,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CACH,EAA2E,EAC3E,IAAsB;QAEtB,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,mDAAmD,OAAO,EAAE,EAAE,CAC/D,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,KAAK;aAClB,aAAa,EAAE;aACf,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjB,WAAW,CACT,QAAQ,EACR,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACvC,CACF,CAAC;QAEJ,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAiBD,MAAM,CACJ,OAAwB,EACxB,IAAsB;QAEtB,IAAI,OAAO,YAAY,aAAa,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxE,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC/C,CAAC;gBAED,4DAA4D;gBAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC7D,MAAM,gBAAgB,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjE,OAAO,IAAI,aAAa,CACtB,gBAAgB,EAChB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,eAAe,CAChB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB,CACjC,OAAO,EACP,IAAI,CAAC,aAAa,EAAE,KAAK,CAC1B,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAClB,WAAW,CACT,QAAQ,EACR,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACvC,CACF,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,iEAAiE;YACjE,MAAM,YAAY,GAAoB;gBACpC,GAAG,IAAI,CAAC,QAAQ;gBAChB,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;aAC/C,CAAC;YACF,OAAO,IAAI,aAAa,CACtB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,YAAY,CACb,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,QAAQ,CACN,OAAwB,EACxB,IAKC;QAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,IAAI,CACvE,CAAC,QAAQ,EAAE,EAAE,CACX,WAAW,CAAe,QAAQ,EAAE;YAClC,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/D,QAAQ,EAAE,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC;YACnE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;SAChC,CAAC,CACL,CAAC;QAEF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,CACF,OAAwB,EACxB,IAAyC;QAEzC,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,IAAI,CACvE,CAAC,QAAQ,EAAE,EAAE,CACX,WAAW,CAAe,QAAQ,EAAE;YAClC,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChE,QAAQ,EAAE,kBAAkB,EAAE;YAC9B,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;SACjC,CAAC,CACL,CAAC;QAEF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAEX,aAAwB,EACxB,EAEyC;QAEzC,MAAM,OAAO,GAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;QACzD,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAEtD,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,IAAI,CACxC,CAAC,QAAQ,EAA6B,EAAE,CAAC,CAAC;YACxC,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,CAAC;YACX,QAAQ;YACR,OAAO;SACR,CAAC,CACH,CAAC;QAEF,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAEH,OAAkB;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;QACpC,IAAI,CAAC,WAAW,CAAqB,QAAQ,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAAmC;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,YAAY,CAAc,IAIzB;QACC,MAAM,YAAY,GAAG,YAAY,CAAkB;YACjD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,OAAO,CACL,OAAwB,EACxB,IAKC;QAED,MAAM,OAAO,GAAG,mBAAmB,CACjC,OAAO,EACP,IAAI,CAAC,aAAa,EAAE,KAAK,CAC1B,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAClB,OAAO,CAAC;YACN,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ;YACR,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC,CACH,CAAC;QAEF,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAED,IAAqB;QAErB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAoB;YAChC,IAAI,EAAE,KAAK;YACX,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;SAC7B,CAAC;QAEF,gEAAgE;QAChE,sDAAsD;QACtD,OAAO,IAAI,aAAa,CACtB,EAAE,EACF,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CACF,OAAwB,EACxB,IAAgC;QAEhC,MAAM,OAAO,GAAG,mBAAmB,CACjC,OAAO,EACP,IAAI,CAAC,aAAa,EAAE,KAAK,CAC1B,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAClB,mDAAmD;YACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAC9B,CAAC,KAAK,EAA4C,EAAE,CAClD,KAAK,CAAC,IAAI,KAAK,SAAS,CAC3B,CAAC;YACF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,WAAW,CAChB,KAAK,EACL,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACtC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,GAAG,CACD,OAAqD;QAErD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAwBQ,KAAK,CACZ,GAAG,KAKA;QAEH,MAAM,WAAW,GAAsB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE5E,MAAM,YAAY,GAAG,CAAC,IAAsC,EAAQ,EAAE;YACpE,IAAI,IAAI,CAAC,OAAO,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;gBAChE,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC/C,CAAC;gBACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CACb,sDAAsD,CACvD,CAAC;gBACJ,CAAC;gBACD,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnD,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,YAAY,aAAa,EAAE,CAAC;gBAClC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;oBACxB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,YAAY,CAAe,IAAI,CAAC,EAAE,CAAC;gBACrC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,aAAa,CACtB,WAAW,EACX,WAAW,EACX,IAAI,CAAC,aAAa,EAClB,YAAY,CACb,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CACF,SAAkB,EAClB,EAAqE;QAErE,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM,CACJ,OAEuD,EACvD,IAAsB;QAEtB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,SAAS,CACP,OAEuD,EACvD,IAAsB;QAEtB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,IAAI,CACF,OAEuD,EACvD,IAAsB;QAEtB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,SAAS,CACP,OAEuD,EACvD,IAAsB;QAEtB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,IAAI,CAEF,MAE2C,EAC3C,IAAsB;QAEtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,iHAAiH,CAClH,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,aAAa,CAC3B,MAAM,EACN,QAAQ,EACR,IAAI,EAAE,EAAE,CACT,CAAC;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,OAAO,CACL,IAAgB,EAChB,OAEuD,EACvD,IAAsB;QAEtB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,+DAA+D;QAC/D,yCAAyC;QACzC,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,WAAW,CAAe,cAAc,EAAE;YAC5D,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACzB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS;gBACtC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,OAAO,CAAC,WAAW,EAAE,GAAG,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,GAAsB;YACjC,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE;YACpC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;SAC/C,CAAC;QACF,wEAAwE;QACxE,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAwBD,KAAK,CAAC,MAAM,CACV,OAAgD;QAEhD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,gBAAgB,GAAG,OAAO,EAAE,QAAQ,CAAC;QAC3C,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,MAAM,YAAY,CAAC,OAAO,EAAE;gBACjC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAClB,QAAQ,EAAE,gBAAgB;aAC3B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,yIAAyI,CAC1I,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,YAAY,CAAC,OAAO,EAAE;YACjC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,aAAa;SAC7B,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAChB,IAAgB,EAChB,OAEuD,EACvD,IAAsB;QAEtB,+EAA+E;QAC/E,MAAM,eAAe,GACnB,OAAO,OAAO,KAAK,UAAU;YAC3B,CAAC,CAAC,OAAO,CAAC,IAAI,cAAc,CAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE;YAClE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAe,OAAO,CAAC,CAAC,CAAC;QAEjE,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChD,aAAa,CAAe,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CACtD,CAAC;QAEF,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;CACF;AAOD,kDAAkD;AAClD,0EAA0E;AAC1E,qEAAqE;AAErE,SAAS,YAAY,CACnB,KAAc;IAEd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;IAChD,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,QAAsD;IAEtD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAC3D,CAAC;IAEF,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,QAAsD;IAEtD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CACzD,CAAC;IAEF,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAAwB,EACxB,KAA+D;IAE/D,4EAA4E;IAC5E,2EAA2E;IAC3E,IAAI,OAAO,YAAY,aAAa,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,KAAK,GAAuB,EAAE,CAAC;QACrC,kFAAkF;QAClF,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,CAAe,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,YAAY,OAAO,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;QAC5B,OAAO,MAAM,mBAAmB,CAAC,KAAwB,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAI,IAAI,EAAE,KAAK,CAAC,CAAC,CAC3D,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,YAAY,CAAe,OAAO,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,aAAa,CAAe,OAAO,CAAC,EAAE,CAAC;QACzC,OAAO,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,aAAa,CAAyB,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,eAAe,CAAI,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,mBAAmB,CAAI,OAAO,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAA4C,EAC5C,KAAyD;IAEzD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,4DAA4D;AAC5D,SAAS,eAAe,CACtB,KAA+D,EAC/D,QAA6C;IAE7C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAA6B;IAE7B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAA+B;IAE/B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,GAA4B;YACpC,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QACF,OAAO,aAAa,CAAU,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,KAAK,GAA0B,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,aAAa,CAAU,WAAW,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,OAAO,aAAa,CAAU,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,aAAa,CACpB,KAAc;IAEd,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC;AACzD,CAAC;AAED,SAAS,aAAa,CACpB,KAAc;IAEd,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;AAClD,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC;AACxE,CAAC;AAED,yEAAyE;AACzE,SAAS,WAAW,CAClB,QAAmC;IAEnC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAUD,KAAK,UAAU,mBAAmB,CAChC,KAAsB,EACtB,MAA2B;IAE3B,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAEzD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,KAAsB;IAEtB,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;QAC7B,OAAO,MAAM,KAAK,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAI,KAAsB;IACpD,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,QAAQ,CAAe,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,CAAC,QAAQ,CAAe,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,YAAY,CAAe,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,YAAY,CAAe,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,KAAsB;IAEtB,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,CAAe,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,YAAY,CAAe,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,YAAY,CAAe,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC7C,CAAC"}
@@ -18,8 +18,8 @@ export type { BuilderChild, Prompt, ScopeContent, } from "./builder";
18
18
  export { BuilderBase, MessageBuilder, PromptBuilder, } from "./builder";
19
19
  export type { StoredSummary, Summarizer, SummarizerContext, } from "./summary";
20
20
  export { c, type TextInput } from "./templating";
21
- export type { ResultFormatter } from "./vector-search";
22
- import type { ModelProvider, PromptMessageNode, PromptRole, PromptScope, ProviderToolIO, ScopeChildren } from "../types";
21
+ import type { InputLayout, ModelProvider, PromptInput } from "../provider";
22
+ import type { PromptLayout, PromptMessageNode, PromptRole, PromptScope, ProviderToolIO, ScopeChildren } from "../types";
23
23
  import { PromptBuilder } from "./builder";
24
24
  import { type TextInput, c as templateC } from "./templating";
25
25
  /** Create a standalone message node */
@@ -29,8 +29,10 @@ declare function scope<TToolIO extends ProviderToolIO>(children: ScopeChildren<T
29
29
  priority?: number;
30
30
  id?: string;
31
31
  }): PromptScope<TToolIO>;
32
- declare function createPrompt(): PromptBuilder<unknown>;
33
- declare function createPrompt<TProvider extends ModelProvider<unknown, ProviderToolIO>>(provider: TProvider): PromptBuilder<TProvider>;
32
+ declare function input<TRendered>(value: TRendered): PromptInput<TRendered>;
33
+ declare function inputLayout<TToolIO extends ProviderToolIO>(value: PromptLayout<TToolIO>): InputLayout<TToolIO>;
34
+ declare function createPrompt(): PromptBuilder<unknown, "unpinned">;
35
+ declare function createPrompt<TProvider extends ModelProvider<unknown, ProviderToolIO>>(provider: TProvider): PromptBuilder<TProvider, "unpinned">;
34
36
  /**
35
37
  * Namespace for building prompts as code.
36
38
  *
@@ -53,12 +55,15 @@ declare function createPrompt<TProvider extends ModelProvider<unknown, ProviderT
53
55
  export declare const cria: {
54
56
  readonly prompt: typeof createPrompt;
55
57
  readonly c: typeof templateC;
56
- readonly merge: (...builders: PromptBuilder[]) => PromptBuilder<unknown>;
58
+ readonly merge: (...builders: PromptBuilder<unknown, "unpinned" | "pinned">[]) => PromptBuilder<unknown, "unpinned">;
57
59
  readonly message: typeof message;
58
60
  readonly scope: typeof scope;
59
61
  readonly user: (content: TextInput) => PromptMessageNode<ProviderToolIO>;
60
62
  readonly system: (content: TextInput) => PromptMessageNode<ProviderToolIO>;
63
+ readonly developer: (content: TextInput) => PromptMessageNode<ProviderToolIO>;
61
64
  readonly assistant: (content: TextInput) => PromptMessageNode<ProviderToolIO>;
65
+ readonly input: typeof input;
66
+ readonly inputLayout: typeof inputLayout;
62
67
  };
63
68
  /**
64
69
  * Standalone function to create a new prompt builder.
@@ -67,5 +72,6 @@ export declare const prompt: typeof createPrompt;
67
72
  /**
68
73
  * Merge multiple builders into one (zod-like merge).
69
74
  */
70
- export declare const merge: (...builders: PromptBuilder[]) => PromptBuilder;
75
+ export declare const merge: (...builders: PromptBuilder<unknown, "unpinned" | "pinned">[]) => PromptBuilder<unknown, "unpinned" | "pinned">;
76
+ export { input, inputLayout };
71
77
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dsl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,YAAY,EACV,YAAY,EACZ,MAAM,EACN,YAAY,GACb,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,aAAa,EACb,UAAU,EACV,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,CAAC,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGjD,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EAEL,KAAK,SAAS,EACd,CAAC,IAAI,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,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,iBAAS,YAAY,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;AAChD,iBAAS,YAAY,CAAC,SAAS,SAAS,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,EAC5E,QAAQ,EAAE,SAAS,GAClB,aAAa,CAAC,SAAS,CAAC,CAAC;AAQ5B;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,IAAI;;;kCAGM,aAAa,EAAE;;;6BAUpB,SAAS;+BACP,SAAS;kCACN,SAAS;CACtB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,MAAM,qBAAe,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,GAAG,UAAU,aAAa,EAAE,KAAG,aAC5B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dsl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,YAAY,EACV,YAAY,EACZ,MAAM,EACN,YAAY,GACb,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,aAAa,EACb,UAAU,EACV,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,CAAC,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EAEL,KAAK,SAAS,EACd,CAAC,IAAI,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,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,iBAAS,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAElE;AAED,iBAAS,WAAW,CAAC,OAAO,SAAS,cAAc,EACjD,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAC3B,WAAW,CAAC,OAAO,CAAC,CAEtB;AAED,iBAAS,YAAY,IAAI,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAC5D,iBAAS,YAAY,CAAC,SAAS,SAAS,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,EAC5E,QAAQ,EAAE,SAAS,GAClB,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAQxC;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,IAAI;;;kCAGM,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAC,EAAE;;;6BAUpD,SAAS;+BACP,SAAS;kCACN,SAAS;kCACT,SAAS;;;CAGtB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,MAAM,qBAAe,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,KAAK,GAChB,GAAG,UAAU,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAC,EAAE,KAC3D,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,QAAQ,CAA4B,CAAC;AAE5E,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC"}
package/dist/dsl/index.js CHANGED
@@ -29,6 +29,12 @@ function message(role, content) {
29
29
  function scope(children, opts) {
30
30
  return createScope(children, opts);
31
31
  }
32
+ function input(value) {
33
+ return { kind: "input", value };
34
+ }
35
+ function inputLayout(value) {
36
+ return { kind: "input-layout", value };
37
+ }
32
38
  function createPrompt(provider) {
33
39
  if (provider === undefined) {
34
40
  return PromptBuilder.create();
@@ -69,7 +75,10 @@ export const cria = {
69
75
  scope,
70
76
  user: (content) => message("user", content),
71
77
  system: (content) => message("system", content),
78
+ developer: (content) => message("developer", content),
72
79
  assistant: (content) => message("assistant", content),
80
+ input,
81
+ inputLayout,
73
82
  };
74
83
  /**
75
84
  * Standalone function to create a new prompt builder.
@@ -79,4 +88,5 @@ export const prompt = createPrompt;
79
88
  * Merge multiple builders into one (zod-like merge).
80
89
  */
81
90
  export const merge = (...builders) => cria.merge(...builders);
91
+ export { input, inputLayout };
82
92
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dsl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,oHAAoH;AACpH,OAAO,EACL,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,WAAW,CAAC;AAOnB,OAAO,EAAE,CAAC,EAAkB,MAAM,cAAc,CAAC;AAajD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1D,uBAAuB;AACvB,OAAO,EACL,kBAAkB,EAElB,CAAC,IAAI,SAAS,GACf,MAAM,cAAc,CAAC;AAEtB,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;AAMD,SAAS,YAAY,CAAC,QAAiD;IACrE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,MAAM,EAAE,YAAY;IACpB,CAAC,EAAE,SAAS;IACZ,KAAK,EAAE,CAAC,GAAG,QAAyB,EAAE,EAAE;QACtC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,aAAa,CAAC,MAAM,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,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;CACxD,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAG,QAAyB,EAAiB,EAAE,CACnE,IAAI,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dsl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,oHAAoH;AACpH,OAAO,EACL,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,WAAW,CAAC;AAOnB,OAAO,EAAE,CAAC,EAAkB,MAAM,cAAc,CAAC;AAWjD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1D,uBAAuB;AACvB,OAAO,EACL,kBAAkB,EAElB,CAAC,IAAI,SAAS,GACf,MAAM,cAAc,CAAC;AAEtB,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,SAAS,KAAK,CAAY,KAAgB;IACxC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,WAAW,CAClB,KAA4B;IAE5B,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;AACzC,CAAC;AAMD,SAAS,YAAY,CAAC,QAAiD;IACrE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,MAAM,EAAE,YAAY;IACpB,CAAC,EAAE,SAAS;IACZ,KAAK,EAAE,CAAC,GAAG,QAAyD,EAAE,EAAE;QACtE,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,aAAa,CAAC,MAAM,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,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;CACH,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,GAAG,QAAyD,EACb,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC;AAE5E,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Strategy factories and component helpers for the DSL module.
3
3
  */
4
- import type { MessageChildren, PromptMessageNode, PromptPart, PromptRole, PromptScope, ProviderToolIO, ScopeChildren, Strategy } from "../types";
4
+ import type { CacheHint, MessageChildren, PromptMessageNode, PromptPart, PromptRole, PromptScope, ProviderToolIO, ScopeChildren, Strategy } from "../types";
5
5
  /**
6
6
  * Create a scope node with optional priority, strategy, and id.
7
7
  */
@@ -9,6 +9,7 @@ export declare function createScope<TToolIO extends ProviderToolIO>(children: Sc
9
9
  priority?: number;
10
10
  strategy?: Strategy;
11
11
  id?: string;
12
+ cache?: CacheHint;
12
13
  }): PromptScope<TToolIO>;
13
14
  /**
14
15
  * Create a message node with role and children.
@@ -1 +1 @@
1
- {"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../../src/dsl/strategies.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,QAAQ,EACT,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,SAAS,cAAc,EACxD,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,EAChC,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7D,WAAW,CAAC,OAAO,CAAC,CAStB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,SAAS,cAAc,EAC1D,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,EAClC,EAAE,CAAC,EAAE,MAAM,GACV,iBAAiB,CAAC,OAAO,CAAC,CAQ5B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GAAG,KAAK,GACpB,QAAQ,CAsBV;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,QAAQ,CAE7C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAS,cAAc,EAC3D,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,SAAS,SAAS,GACjB,UAAU,CAAC,OAAO,CAAC,CAIrB"}
1
+ {"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../../src/dsl/strategies.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,QAAQ,EACT,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,SAAS,cAAc,EACxD,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,EAChC,IAAI,CAAC,EAAE;IACL,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,GACA,WAAW,CAAC,OAAO,CAAC,CAUtB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,SAAS,cAAc,EAC1D,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,EAClC,EAAE,CAAC,EAAE,MAAM,GACV,iBAAiB,CAAC,OAAO,CAAC,CAQ5B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GAAG,KAAK,GACpB,QAAQ,CAmBV;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,QAAQ,CAE7C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAS,cAAc,EAC3D,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,SAAS,SAAS,GACjB,UAAU,CAAC,OAAO,CAAC,CAIrB"}