@fastpaca/cria 1.6.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 (47) hide show
  1. package/README.md +273 -83
  2. package/dist/dsl/builder.d.ts +69 -41
  3. package/dist/dsl/builder.d.ts.map +1 -1
  4. package/dist/dsl/builder.js +122 -43
  5. package/dist/dsl/builder.js.map +1 -1
  6. package/dist/dsl/index.d.ts +4 -5
  7. package/dist/dsl/index.d.ts.map +1 -1
  8. package/dist/dsl/index.js.map +1 -1
  9. package/dist/dsl/strategies.d.ts +2 -1
  10. package/dist/dsl/strategies.d.ts.map +1 -1
  11. package/dist/dsl/strategies.js +5 -4
  12. package/dist/dsl/strategies.js.map +1 -1
  13. package/dist/dsl/vector-search.d.ts +8 -41
  14. package/dist/dsl/vector-search.d.ts.map +1 -1
  15. package/dist/dsl/vector-search.js +10 -62
  16. package/dist/dsl/vector-search.js.map +1 -1
  17. package/dist/eval/index.d.ts +3 -3
  18. package/dist/eval/index.d.ts.map +1 -1
  19. package/dist/index.d.ts +2 -2
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/instrumentation/otel.d.ts.map +1 -1
  23. package/dist/instrumentation/otel.js +124 -11
  24. package/dist/instrumentation/otel.js.map +1 -1
  25. package/dist/provider.d.ts +16 -3
  26. package/dist/provider.d.ts.map +1 -1
  27. package/dist/provider.js +4 -4
  28. package/dist/provider.js.map +1 -1
  29. package/dist/providers/anthropic.d.ts +6 -4
  30. package/dist/providers/anthropic.d.ts.map +1 -1
  31. package/dist/providers/anthropic.js +152 -26
  32. package/dist/providers/anthropic.js.map +1 -1
  33. package/dist/providers/openai.d.ts +36 -21
  34. package/dist/providers/openai.d.ts.map +1 -1
  35. package/dist/providers/openai.js +56 -27
  36. package/dist/providers/openai.js.map +1 -1
  37. package/dist/render.d.ts.map +1 -1
  38. package/dist/render.js +53 -8
  39. package/dist/render.js.map +1 -1
  40. package/dist/types.d.ts +38 -0
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/types.js.map +1 -1
  43. package/package.json +2 -1
  44. package/dist/testing/plaintext.d.ts +0 -29
  45. package/dist/testing/plaintext.d.ts.map +0 -1
  46. package/dist/testing/plaintext.js +0 -106
  47. package/dist/testing/plaintext.js.map +0 -1
@@ -18,7 +18,6 @@ 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
21
  import type { InputLayout, ModelProvider, PromptInput } from "../provider";
23
22
  import type { PromptLayout, PromptMessageNode, PromptRole, PromptScope, ProviderToolIO, ScopeChildren } from "../types";
24
23
  import { PromptBuilder } from "./builder";
@@ -32,8 +31,8 @@ declare function scope<TToolIO extends ProviderToolIO>(children: ScopeChildren<T
32
31
  }): PromptScope<TToolIO>;
33
32
  declare function input<TRendered>(value: TRendered): PromptInput<TRendered>;
34
33
  declare function inputLayout<TToolIO extends ProviderToolIO>(value: PromptLayout<TToolIO>): InputLayout<TToolIO>;
35
- declare function createPrompt(): PromptBuilder<unknown>;
36
- declare function createPrompt<TProvider extends ModelProvider<unknown, ProviderToolIO>>(provider: TProvider): PromptBuilder<TProvider>;
34
+ declare function createPrompt(): PromptBuilder<unknown, "unpinned">;
35
+ declare function createPrompt<TProvider extends ModelProvider<unknown, ProviderToolIO>>(provider: TProvider): PromptBuilder<TProvider, "unpinned">;
37
36
  /**
38
37
  * Namespace for building prompts as code.
39
38
  *
@@ -56,7 +55,7 @@ declare function createPrompt<TProvider extends ModelProvider<unknown, ProviderT
56
55
  export declare const cria: {
57
56
  readonly prompt: typeof createPrompt;
58
57
  readonly c: typeof templateC;
59
- readonly merge: (...builders: PromptBuilder[]) => PromptBuilder<unknown>;
58
+ readonly merge: (...builders: PromptBuilder<unknown, "unpinned" | "pinned">[]) => PromptBuilder<unknown, "unpinned">;
60
59
  readonly message: typeof message;
61
60
  readonly scope: typeof scope;
62
61
  readonly user: (content: TextInput) => PromptMessageNode<ProviderToolIO>;
@@ -73,6 +72,6 @@ export declare const prompt: typeof createPrompt;
73
72
  /**
74
73
  * Merge multiple builders into one (zod-like merge).
75
74
  */
76
- export declare const merge: (...builders: PromptBuilder[]) => PromptBuilder;
75
+ export declare const merge: (...builders: PromptBuilder<unknown, "unpinned" | "pinned">[]) => PromptBuilder<unknown, "unpinned" | "pinned">;
77
76
  export { input, inputLayout };
78
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,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,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;kCACT,SAAS;;;CAGtB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,MAAM,qBAAe,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,GAAG,UAAU,aAAa,EAAE,KAAG,aAC5B,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,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"}
@@ -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;AAcjD,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,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;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,CAAC,GAAG,QAAyB,EAAiB,EAAE,CACnE,IAAI,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,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"}
@@ -12,6 +12,7 @@ export function createScope(children, opts) {
12
12
  children,
13
13
  ...(opts?.strategy && { strategy: opts.strategy }),
14
14
  ...(opts?.id && { id: opts.id }),
15
+ ...(opts?.cache && { cache: opts.cache }),
15
16
  };
16
17
  }
17
18
  /**
@@ -31,14 +32,14 @@ export function createMessage(role, children, id) {
31
32
  */
32
33
  export function createTruncateStrategy(budget, from) {
33
34
  return (input) => {
34
- const { children: currentChildren } = input.target;
35
- if (currentChildren.length === 0) {
35
+ const { children } = input.target;
36
+ if (children.length === 0) {
36
37
  return null;
37
38
  }
38
39
  const dropCount = Math.max(1, Math.floor(input.totalTokens / budget));
39
40
  const nextChildren = from === "start"
40
- ? currentChildren.slice(dropCount)
41
- : currentChildren.slice(0, Math.max(0, currentChildren.length - dropCount));
41
+ ? children.slice(dropCount)
42
+ : children.slice(0, Math.max(0, children.length - dropCount));
42
43
  if (nextChildren.length === 0) {
43
44
  return null;
44
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/dsl/strategies.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,QAAgC,EAChC,IAA8D;IAE9D,6DAA6D;IAC7D,OAAO;QACL,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,CAAC;QAC7B,QAAQ;QACR,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClD,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;KACjC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAgB,EAChB,QAAkC,EAClC,EAAW;IAEX,iFAAiF;IACjF,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI;QACJ,QAAQ;QACR,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,IAAqB;IAErB,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QACnD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC;QACtE,MAAM,YAAY,GAChB,IAAI,KAAK,OAAO;YACd,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC;YAClC,CAAC,CAAC,eAAe,CAAC,KAAK,CACnB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,CAChD,CAAC;QAER,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IACrD,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,KAAwB,EACxB,SAAS,GAAG,MAAM;IAElB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/dsl/strategies.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,QAAgC,EAChC,IAKC;IAED,6DAA6D;IAC7D,OAAO;QACL,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,CAAC;QAC7B,QAAQ;QACR,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClD,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QAChC,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAgB,EAChB,QAAkC,EAClC,EAAW;IAEX,iFAAiF;IACjF,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI;QACJ,QAAQ;QACR,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,IAAqB;IAErB,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QAClC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC;QACtE,MAAM,YAAY,GAChB,IAAI,KAAK,OAAO;YACd,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;YAC3B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;QAElE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IACrD,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,KAAwB,EACxB,SAAS,GAAG,MAAM;IAElB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAChC,CAAC"}
@@ -1,52 +1,19 @@
1
1
  /**
2
2
  * VectorSearch async component for RAG-style retrieval.
3
3
  */
4
- import type { VectorMemory, VectorSearchResult } from "../memory";
5
- import type { PromptPart, PromptRole, PromptScope, ProviderToolIO } from "../types";
6
- /** Simple message shape for query extraction. */
7
- interface Message {
8
- role: string;
9
- content: string;
10
- }
11
- /**
12
- * Function that formats search results into prompt content.
13
- *
14
- * @template T - The type of data stored in the vector memory
15
- */
16
- export type ResultFormatter<T = unknown> = (results: VectorSearchResult<T>[]) => string;
17
- type QueryExtractor = (messages: Message[]) => string | null | undefined;
18
- interface VectorSearchProps<T = unknown, TToolIO extends ProviderToolIO = ProviderToolIO> {
4
+ import type { VectorMemory } from "../memory";
5
+ import type { PromptScope, ProviderToolIO } from "../types";
6
+ interface VectorSearchProps<T = unknown> {
19
7
  /** Vector memory store to search */
20
8
  store: VectorMemory<T>;
21
- /**
22
- * Query string. If omitted, the component will try to derive the query from
23
- * children, then from `messages` (defaulting to the last user message).
24
- */
25
- query?: string | undefined;
26
- /**
27
- * Optional messages to derive a query from (uses last user message by default).
28
- */
29
- messages?: Message[];
30
- /** Custom query extractor (overrides the default last-user-message behavior). */
31
- extractQuery?: QueryExtractor;
32
- /** Maximum number of results to return. Default: 5 */
33
- limit?: number;
34
- /** Minimum similarity threshold (0-1). Results below this are excluded. */
35
- threshold?: number;
36
- /** Custom formatter for search results. Default: numbered list format */
37
- formatResults?: ResultFormatter<T>;
38
- /** Priority for this scope (higher number = reduced first). Default: 0 */
39
- priority?: number;
40
- /** Stable identifier for caching/debugging */
41
- id?: string;
42
- /** Role for the emitted message. Default: "user" */
43
- role?: PromptRole;
44
- /** Query text provided as children (preferred over `query` when present). */
45
- children?: readonly PromptPart<TToolIO>[];
9
+ /** Query string */
10
+ query: string;
11
+ /** Maximum number of results to return */
12
+ limit: number;
46
13
  }
47
14
  /**
48
15
  * Renders vector search results into a scoped message.
49
16
  */
50
- export declare function VectorSearch<T = unknown, TToolIO extends ProviderToolIO = ProviderToolIO>({ store, query, messages, extractQuery, limit, threshold, formatResults, priority, id, role, children, }: VectorSearchProps<T, TToolIO>): Promise<PromptScope<TToolIO>>;
17
+ export declare function VectorSearch<T = unknown, TToolIO extends ProviderToolIO = ProviderToolIO>({ store, query, limit, }: VectorSearchProps<T>): Promise<PromptScope<TToolIO>>;
51
18
  export {};
52
19
  //# sourceMappingURL=vector-search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vector-search.d.ts","sourceRoot":"","sources":["../../src/dsl/vector-search.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EAEZ,kBAAkB,EACnB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACf,MAAM,UAAU,CAAC;AAGlB,iDAAiD;AACjD,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,OAAO,IAAI,CACzC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,KAC7B,MAAM,CAAC;AAsBZ,KAAK,cAAc,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEzE,UAAU,iBAAiB,CACzB,CAAC,GAAG,OAAO,EACX,OAAO,SAAS,cAAc,GAAG,cAAc;IAE/C,oCAAoC;IACpC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACvB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,iFAAiF;IACjF,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;CAC3C;AA4DD;;GAEG;AACH,wBAAsB,YAAY,CAChC,CAAC,GAAG,OAAO,EACX,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,EACA,KAAK,EACL,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,KAAS,EACT,SAAS,EACT,aAAgC,EAChC,QAAY,EACZ,EAAE,EACF,IAAa,EACb,QAAQ,GACT,EAAE,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CA8B/D"}
1
+ {"version":3,"file":"vector-search.d.ts","sourceRoot":"","sources":["../../src/dsl/vector-search.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,WAAW,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAwB5D,UAAU,iBAAiB,CAAC,CAAC,GAAG,OAAO;IACrC,oCAAoC;IACpC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACvB,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,CAAC,GAAG,OAAO,EACX,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,EACA,KAAK,EACL,KAAK,EACL,KAAK,GACN,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAWtD"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * VectorSearch async component for RAG-style retrieval.
3
3
  */
4
- import { PromptBuilder } from "./builder";
4
+ import { createMessage, createScope } from "./strategies";
5
+ import { textPart } from "./templating";
5
6
  /**
6
7
  * Default formatter that renders results as a numbered list.
7
8
  * Returns a placeholder string when no results are found so prompts can degrade gracefully.
@@ -19,70 +20,17 @@ function defaultFormatter(results) {
19
20
  })
20
21
  .join("\n\n");
21
22
  }
22
- function queryFromChildren(children) {
23
- if (!children || children.length === 0) {
24
- return null;
25
- }
26
- let buffer = "";
27
- for (const child of children) {
28
- if (child.type !== "text") {
29
- throw new Error("VectorSearch children must be text parts. Use a formatter to build complex queries.");
30
- }
31
- buffer += child.text;
32
- }
33
- const trimmed = buffer.trim();
34
- return trimmed === "" ? null : trimmed;
35
- }
36
- function defaultExtractQuery(messages) {
37
- const lastUser = [...messages].reverse().find((m) => m.role === "user");
38
- const content = lastUser?.content.trim() ?? "";
39
- return content === "" ? null : content;
40
- }
41
- function deriveQuery(props) {
42
- const childQuery = queryFromChildren(props.children);
43
- if (childQuery) {
44
- return childQuery;
45
- }
46
- const directQuery = props.query?.trim();
47
- if (directQuery) {
48
- return directQuery;
49
- }
50
- if (props.messages && props.messages.length > 0) {
51
- const extracted = props.extractQuery
52
- ? props.extractQuery(props.messages)
53
- : defaultExtractQuery(props.messages);
54
- const trimmed = extracted?.trim() ?? "";
55
- if (trimmed) {
56
- return trimmed;
57
- }
58
- }
59
- return null;
60
- }
61
23
  /**
62
24
  * Renders vector search results into a scoped message.
63
25
  */
64
- export async function VectorSearch({ store, query, messages, extractQuery, limit = 5, threshold, formatResults = defaultFormatter, priority = 0, id, role = "user", children, }) {
65
- const finalQuery = deriveQuery({
66
- query,
67
- messages,
68
- extractQuery,
69
- children,
70
- });
71
- if (!finalQuery) {
72
- throw new Error("VectorSearch: no query provided. Pass a query via children, the query prop, or messages.");
26
+ export async function VectorSearch({ store, query, limit, }) {
27
+ const finalQuery = query.trim();
28
+ if (finalQuery.length === 0) {
29
+ throw new Error("VectorSearch: query must be a non-empty string.");
73
30
  }
74
- const searchOptions = {
75
- limit,
76
- ...(threshold !== undefined && { threshold }),
77
- };
78
- const results = await store.search(finalQuery, searchOptions);
79
- const content = formatResults(results);
80
- // Use the DSL to build the result scope
81
- const tree = await PromptBuilder.create().message(role, content).build();
82
- return {
83
- ...tree,
84
- priority,
85
- ...(id && { id }),
86
- };
31
+ const results = await store.search(finalQuery, { limit });
32
+ const content = defaultFormatter(results);
33
+ const message = createMessage("user", [textPart(content)]);
34
+ return createScope([message]);
87
35
  }
88
36
  //# sourceMappingURL=vector-search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vector-search.js","sourceRoot":"","sources":["../../src/dsl/vector-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vector-search.js","sourceRoot":"","sources":["../../src/dsl/vector-search.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC;;;GAGG;AACH,SAAS,gBAAgB,CAAI,OAAgC;IAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,oCAAoC,CAAC;IAC9C,CAAC;IAED,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,IAAI,GACR,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;YACnC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;YACnB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,KAAK,GAAG,CAAC,aAAa,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;IACvE,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAWD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAGhC,EACA,KAAK,EACL,KAAK,EACL,KAAK,GACgB;IACrB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAG,aAAa,CAAU,MAAM,EAAE,CAAC,QAAQ,CAAU,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7E,OAAO,WAAW,CAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AACzC,CAAC"}
@@ -32,11 +32,11 @@ export { createJudge } from "./judge";
32
32
  export declare const cria: {
33
33
  readonly judge: typeof createJudge;
34
34
  readonly prompt: {
35
- (): import("..").PromptBuilder<unknown>;
36
- <TProvider extends import("..").ModelProvider<unknown, import("..").ProviderToolIO>>(provider: TProvider): import("..").PromptBuilder<TProvider>;
35
+ (): import("..").PromptBuilder<unknown, "unpinned">;
36
+ <TProvider extends import("..").ModelProvider<unknown, import("..").ProviderToolIO>>(provider: TProvider): import("..").PromptBuilder<TProvider, "unpinned">;
37
37
  };
38
38
  readonly c: typeof import("..").c;
39
- readonly merge: (...builders: import("..").PromptBuilder[]) => import("..").PromptBuilder<unknown>;
39
+ readonly merge: (...builders: import("..").PromptBuilder<unknown, "unpinned" | "pinned">[]) => import("..").PromptBuilder<unknown, "unpinned">;
40
40
  readonly message: <TToolIO extends import("..").ProviderToolIO>(role: import("..").PromptRole, content: import("..").TextInput<TToolIO>) => import("..").PromptMessageNode<TToolIO>;
41
41
  readonly scope: <TToolIO extends import("..").ProviderToolIO>(children: import("..").ScopeChildren<TToolIO>, opts?: {
42
42
  priority?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/eval/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,IAAI;;;;;;;;;;gBAC2d,CAAC;UAAY,CAAC;;;;;;;;CAD1b,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/eval/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,IAAI;;;;;;;;;;gBACiY,CAAC;UAAY,CAAC;;;;;;;;CADhW,CAAC"}
package/dist/index.d.ts CHANGED
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * @packageDocumentation
17
17
  */
18
- export type { BuilderChild, Prompt, ResultFormatter, ScopeContent, StoredSummary, Summarizer, SummarizerContext, TextInput, } from "./dsl";
18
+ export type { BuilderChild, Prompt, ScopeContent, StoredSummary, Summarizer, SummarizerContext, TextInput, } from "./dsl";
19
19
  export { BuilderBase, c, cria, input, inputLayout, MessageBuilder, merge, PromptBuilder, prompt, } from "./dsl";
20
20
  export { createOtelRenderHooks } from "./instrumentation/otel";
21
21
  export type { KVMemory, MemoryEntry, VectorMemory, VectorSearchOptions, VectorSearchResult, } from "./memory";
@@ -27,6 +27,6 @@ export { ResponsesProtocol } from "./protocols/responses";
27
27
  export { CompositeCodec, type InputLayout, ListMessageCodec, MessageCodec, ModelProvider, type PromptInput, ProtocolProvider, type ProviderAdapter, } from "./provider";
28
28
  export type { FitCompleteEvent, FitErrorEvent, FitIterationEvent, FitStartEvent, RenderHooks, RenderOptions, StrategyAppliedEvent, } from "./render";
29
29
  export { render } from "./render";
30
- export type { CriaContext, MaybePromise, MessageChildren, PromptLayout, PromptMessage, PromptMessageNode, PromptNode, PromptPart, PromptRole, PromptScope, PromptTree, ProviderToolIO, ReasoningPart, ScopeChildren, Strategy, StrategyInput, StrategyResult, TextPart, ToolCallPart, ToolIOForProvider, ToolResultPart, } from "./types";
30
+ export type { CacheDescriptor, CacheHint, CriaContext, MaybePromise, MessageChildren, PromptLayout, PromptMessage, PromptMessageNode, PromptNode, PromptPart, PromptRole, PromptScope, PromptTree, ProviderToolIO, ReasoningPart, ScopeChildren, Strategy, StrategyInput, StrategyResult, TextPart, ToolCallPart, ToolIOForProvider, ToolResultPart, } from "./types";
31
31
  export { FitError } from "./types";
32
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,YAAY,EACV,YAAY,EACZ,MAAM,EACN,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,SAAS,GACV,MAAM,OAAO,CAAC;AACf,OAAO,EACL,WAAW,EACX,CAAC,EACD,IAAI,EACJ,KAAK,EACL,WAAW,EACX,cAAc,EACd,KAAK,EACL,aAAa,EACb,MAAM,GACP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,YAAY,EACV,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EACV,oBAAoB,EACpB,WAAW,EACX,QAAQ,GACT,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EACV,oBAAoB,EACpB,yBAAyB,EACzB,+BAA+B,EAC/B,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,KAAK,WAAW,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,KAAK,WAAW,EAChB,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,aAAa,EACb,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,EACR,aAAa,EACb,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,YAAY,EACV,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,SAAS,GACV,MAAM,OAAO,CAAC;AACf,OAAO,EACL,WAAW,EACX,CAAC,EACD,IAAI,EACJ,KAAK,EACL,WAAW,EACX,cAAc,EACd,KAAK,EACL,aAAa,EACb,MAAM,GACP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,YAAY,EACV,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EACV,oBAAoB,EACpB,WAAW,EACX,QAAQ,GACT,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EACV,oBAAoB,EACpB,yBAAyB,EACzB,+BAA+B,EAC/B,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,KAAK,WAAW,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,KAAK,WAAW,EAChB,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,aAAa,EACb,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,EACR,aAAa,EACb,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAaH,OAAO,EACL,WAAW,EACX,CAAC,EACD,IAAI,EACJ,KAAK,EACL,WAAW,EACX,cAAc,EACd,KAAK,EACL,aAAa,EACb,MAAM,GACP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAQ/D,aAAa;AACb,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAYvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,cAAc,EAEd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EAEb,gBAAgB,GAEjB,MAAM,YAAY,CAAC;AAUpB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAwBlC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAYH,OAAO,EACL,WAAW,EACX,CAAC,EACD,IAAI,EACJ,KAAK,EACL,WAAW,EACX,cAAc,EACd,KAAK,EACL,aAAa,EACb,MAAM,GACP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAQ/D,aAAa;AACb,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAYvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,cAAc,EAEd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EAEb,gBAAgB,GAEjB,MAAM,YAAY,CAAC;AAUpB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AA0BlC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../../src/instrumentation/otel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAIf,KAAK,MAAM,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,UAAU,sBAAsB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,QAAqB,EACrB,UAAe,GAChB,EAAE,sBAAsB,GAAG,WAAW,CAwEtC"}
1
+ {"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../../src/instrumentation/otel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAKf,KAAK,MAAM,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,UAAU,sBAAsB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,QAAqB,EACrB,UAAe,GAChB,EAAE,sBAAsB,GAAG,WAAW,CA+FtC"}
@@ -10,9 +10,6 @@ export function createOtelRenderHooks({ tracer, spanName = "cria.fit", attribute
10
10
  let fitSpan = null;
11
11
  const startChildSpan = (name, attrs) => {
12
12
  const span = tracer.startSpan(name, undefined, context.active());
13
- if (fitSpan) {
14
- span.setAttribute("cria.fit.trace_id", fitSpan.spanContext().traceId);
15
- }
16
13
  setAttributes(span, { ...attributes, ...attrs });
17
14
  return span;
18
15
  };
@@ -25,6 +22,7 @@ export function createOtelRenderHooks({ tracer, spanName = "cria.fit", attribute
25
22
  "cria.total_tokens": event.totalTokens,
26
23
  });
27
24
  setElementAttributes(fitSpan, event.element);
25
+ emitPromptStructureSpans(tracer, context.active(), `${spanName}.prompt.message`, attributes, event.element, "before");
28
26
  },
29
27
  onFitIteration: (event) => {
30
28
  const span = startChildSpan(`${spanName}.iteration`, {
@@ -51,23 +49,33 @@ export function createOtelRenderHooks({ tracer, spanName = "cria.fit", attribute
51
49
  "cria.iterations": event.iterations,
52
50
  "cria.total_tokens": event.totalTokens,
53
51
  });
52
+ if (event.result) {
53
+ emitPromptStructureSpans(tracer, context.active(), `${spanName}.prompt.message`, attributes, event.result, "after");
54
+ }
54
55
  fitSpan.end();
55
56
  fitSpan = null;
56
57
  },
57
58
  onFitError: (event) => {
58
- const span = fitSpan ?? tracer.startSpan(spanName, undefined, context.active());
59
- setAttributes(span, {
59
+ if (!fitSpan) {
60
+ fitSpan = tracer.startSpan(spanName, undefined, context.active());
61
+ setAttributes(fitSpan, {
62
+ ...attributes,
63
+ "cria.budget": event.error.budget,
64
+ "cria.total_tokens": event.totalTokens,
65
+ });
66
+ }
67
+ setAttributes(fitSpan, {
60
68
  ...attributes,
61
69
  "cria.iteration": event.iteration,
62
70
  "cria.priority": event.priority,
63
71
  "cria.total_tokens": event.totalTokens,
64
72
  });
65
- span.setStatus({
73
+ fitSpan.setStatus({
66
74
  code: SpanStatusCode.ERROR,
67
75
  message: event.error.message,
68
76
  });
69
- span.recordException(event.error);
70
- span.end();
77
+ fitSpan.recordException(event.error);
78
+ fitSpan.end();
71
79
  fitSpan = null;
72
80
  },
73
81
  };
@@ -79,15 +87,120 @@ function setElementAttributes(span, element) {
79
87
  }
80
88
  if (element.kind === "scope") {
81
89
  span.setAttribute("cria.node.priority", element.priority);
90
+ span.setAttribute("cria.scope.priority", element.priority);
91
+ setOptionalAttribute(span, "cria.scope.id", element.id);
92
+ const stats = countScopeStats(element);
93
+ span.setAttribute("cria.scope.child_count", element.children.length);
94
+ span.setAttribute("cria.scope.message_count", stats.messageCount);
95
+ span.setAttribute("cria.scope.scope_count", stats.scopeCount);
96
+ span.setAttribute("cria.scope.has_strategy", Boolean(element.strategy));
82
97
  return;
83
98
  }
84
99
  span.setAttribute("cria.node.role", element.role);
100
+ span.setAttribute("cria.message.role", element.role);
101
+ setOptionalAttribute(span, "cria.message.id", element.id);
102
+ }
103
+ function countScopeStats(scope) {
104
+ return scope.children.reduce((acc, child) => {
105
+ if (child.kind === "message") {
106
+ acc.messageCount += 1;
107
+ return acc;
108
+ }
109
+ acc.scopeCount += 1;
110
+ const nested = countScopeStats(child);
111
+ acc.messageCount += nested.messageCount;
112
+ acc.scopeCount += nested.scopeCount;
113
+ return acc;
114
+ }, { messageCount: 0, scopeCount: 0 });
115
+ }
116
+ function emitPromptStructureSpans(tracer, activeContext, spanName, baseAttributes, root, phase) {
117
+ let index = 0;
118
+ const walkMessages = (scope, path) => {
119
+ const nextPath = [...path, formatScopeSegment(scope)];
120
+ for (const child of scope.children) {
121
+ if (child.kind === "message") {
122
+ const span = tracer.startSpan(spanName, undefined, activeContext);
123
+ setAttributes(span, {
124
+ ...baseAttributes,
125
+ "cria.prompt.phase": phase,
126
+ "cria.message.index": index,
127
+ "cria.message.role": child.role,
128
+ "cria.message.scope_path": nextPath.join("/"),
129
+ ...renderMessageParts(child.children),
130
+ });
131
+ setOptionalAttribute(span, "cria.message.id", child.id);
132
+ span.end();
133
+ index += 1;
134
+ continue;
135
+ }
136
+ walkMessages(child, nextPath);
137
+ }
138
+ };
139
+ walkMessages(root, []);
140
+ }
141
+ function renderMessageParts(parts) {
142
+ let text = "";
143
+ let reasoning = "";
144
+ const toolCalls = [];
145
+ const toolResults = [];
146
+ for (const part of parts) {
147
+ if (part.type === "text") {
148
+ text += part.text;
149
+ continue;
150
+ }
151
+ if (part.type === "reasoning") {
152
+ reasoning += part.text;
153
+ continue;
154
+ }
155
+ if (part.type === "tool-call") {
156
+ toolCalls.push({
157
+ toolCallId: part.toolCallId,
158
+ toolName: part.toolName,
159
+ input: part.input,
160
+ });
161
+ continue;
162
+ }
163
+ toolResults.push({
164
+ toolCallId: part.toolCallId,
165
+ toolName: part.toolName,
166
+ output: part.output,
167
+ });
168
+ }
169
+ const attrs = {};
170
+ if (text) {
171
+ attrs["cria.message.text"] = text;
172
+ }
173
+ if (reasoning) {
174
+ attrs["cria.message.reasoning"] = reasoning;
175
+ }
176
+ if (toolCalls.length > 0) {
177
+ attrs["cria.message.tool_calls"] = safeStringify(toolCalls);
178
+ }
179
+ if (toolResults.length > 0) {
180
+ attrs["cria.message.tool_results"] = safeStringify(toolResults);
181
+ }
182
+ return attrs;
183
+ }
184
+ function safeStringify(value) {
185
+ try {
186
+ return JSON.stringify(value);
187
+ }
188
+ catch {
189
+ return "[unserializable]";
190
+ }
191
+ }
192
+ function formatScopeSegment(scope) {
193
+ return scope.id ? `p${scope.priority}:${scope.id}` : `p${scope.priority}`;
194
+ }
195
+ function setOptionalAttribute(span, key, value) {
196
+ if (value === undefined) {
197
+ return;
198
+ }
199
+ span.setAttribute(key, value);
85
200
  }
86
201
  function setAttributes(span, attrs) {
87
202
  for (const [key, value] of Object.entries(attrs)) {
88
- if (value !== undefined) {
89
- span.setAttribute(key, value);
90
- }
203
+ setOptionalAttribute(span, key, value);
91
204
  }
92
205
  }
93
206
  //# sourceMappingURL=otel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"otel.js","sourceRoot":"","sources":["../../src/instrumentation/otel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"otel.js","sourceRoot":"","sources":["../../src/instrumentation/otel.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,15 @@
1
1
  import type { z } from "zod";
2
- import type { MaybePromise, PromptLayout, PromptMessage, ProviderToolIO } from "./types";
2
+ import type { CacheDescriptor, MaybePromise, PromptLayout, PromptMessage, ProviderToolIO } from "./types";
3
+ /**
4
+ * Context passed into codec rendering.
5
+ *
6
+ * This is derived from the fitted prompt tree and allows providers/adapters to
7
+ * map provider-agnostic hints (like cache pinning) to provider-native features
8
+ * during render.
9
+ */
10
+ export interface ProviderRenderContext {
11
+ cache?: CacheDescriptor | undefined;
12
+ }
3
13
  /**
4
14
  * Bidirectional codec between PromptLayout (IR) and provider-native input.
5
15
  */
@@ -12,7 +22,10 @@ export declare abstract class MessageCodec<TRendered, TToolIO extends ProviderTo
12
22
  * Providers with non-standard structures can override render/parse directly.
13
23
  */
14
24
  export declare abstract class ListMessageCodec<TProviderMessage, TToolIO extends ProviderToolIO> extends MessageCodec<readonly TProviderMessage[], TToolIO> {
15
- protected abstract toProviderMessage(message: PromptMessage<TToolIO>): readonly TProviderMessage[];
25
+ protected abstract toProviderMessage(args: {
26
+ message: PromptMessage<TToolIO>;
27
+ index: number;
28
+ }): readonly TProviderMessage[];
16
29
  protected abstract fromProviderMessage(message: TProviderMessage): readonly PromptMessage<TToolIO>[];
17
30
  render(layout: PromptLayout<TToolIO>): readonly TProviderMessage[];
18
31
  parse(rendered: readonly TProviderMessage[]): PromptLayout<TToolIO>;
@@ -67,7 +80,7 @@ export interface InputLayout<TToolIO extends ProviderToolIO = ProviderToolIO> {
67
80
  */
68
81
  export interface ProviderAdapter<TProtocolInput, TProviderInput> {
69
82
  /** Convert protocol input into the provider-native input shape. */
70
- to(input: TProtocolInput): TProviderInput;
83
+ to(input: TProtocolInput, context?: ProviderRenderContext): TProviderInput;
71
84
  /** Convert provider-native input into the protocol input shape. */
72
85
  from(input: TProviderInput): TProtocolInput;
73
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}