@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.
- package/README.md +273 -83
- package/dist/dsl/builder.d.ts +69 -41
- package/dist/dsl/builder.d.ts.map +1 -1
- package/dist/dsl/builder.js +122 -43
- package/dist/dsl/builder.js.map +1 -1
- package/dist/dsl/index.d.ts +4 -5
- package/dist/dsl/index.d.ts.map +1 -1
- package/dist/dsl/index.js.map +1 -1
- package/dist/dsl/strategies.d.ts +2 -1
- package/dist/dsl/strategies.d.ts.map +1 -1
- package/dist/dsl/strategies.js +5 -4
- package/dist/dsl/strategies.js.map +1 -1
- package/dist/dsl/vector-search.d.ts +8 -41
- package/dist/dsl/vector-search.d.ts.map +1 -1
- package/dist/dsl/vector-search.js +10 -62
- package/dist/dsl/vector-search.js.map +1 -1
- package/dist/eval/index.d.ts +3 -3
- package/dist/eval/index.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/instrumentation/otel.d.ts.map +1 -1
- package/dist/instrumentation/otel.js +124 -11
- package/dist/instrumentation/otel.js.map +1 -1
- package/dist/provider.d.ts +16 -3
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +4 -4
- package/dist/provider.js.map +1 -1
- package/dist/providers/anthropic.d.ts +6 -4
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +152 -26
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/openai.d.ts +36 -21
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +56 -27
- package/dist/providers/openai.js.map +1 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +53 -8
- package/dist/render.js.map +1 -1
- package/dist/types.d.ts +38 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -1
- package/dist/testing/plaintext.d.ts +0 -29
- package/dist/testing/plaintext.d.ts.map +0 -1
- package/dist/testing/plaintext.js +0 -106
- package/dist/testing/plaintext.js.map +0 -1
package/dist/dsl/index.d.ts
CHANGED
|
@@ -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
|
package/dist/dsl/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/dsl/strategies.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/dsl/strategies.js
CHANGED
|
@@ -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
|
|
35
|
-
if (
|
|
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
|
-
?
|
|
41
|
-
:
|
|
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;
|
|
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
|
|
5
|
-
import type {
|
|
6
|
-
|
|
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
|
-
|
|
23
|
-
|
|
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,
|
|
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,
|
|
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 {
|
|
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,
|
|
65
|
-
const finalQuery =
|
|
66
|
-
|
|
67
|
-
|
|
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
|
|
75
|
-
|
|
76
|
-
|
|
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":"AAAA;;GAEG;
|
|
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"}
|
package/dist/eval/index.d.ts
CHANGED
|
@@ -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;
|
package/dist/eval/index.d.ts.map
CHANGED
|
@@ -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;;;;;;;;;;
|
|
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,
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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;
|
|
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,
|
|
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
|
-
|
|
59
|
-
|
|
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
|
-
|
|
73
|
+
fitSpan.setStatus({
|
|
66
74
|
code: SpanStatusCode.ERROR,
|
|
67
75
|
message: event.error.message,
|
|
68
76
|
});
|
|
69
|
-
|
|
70
|
-
|
|
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
|
-
|
|
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":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"otel.js","sourceRoot":"","sources":["../../src/instrumentation/otel.ts"],"names":[],"mappings":"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"}
|
package/dist/provider.d.ts
CHANGED
|
@@ -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(
|
|
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
|
}
|
package/dist/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,8BAAsB,YAAY,CAAC,SAAS,EAAE,OAAO,SAAS,cAAc;IAC1E,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS;IACzD,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;CAC3D;AAED;;;GAGG;AACH,8BAAsB,gBAAgB,CACpC,gBAAgB,EAChB,OAAO,SAAS,cAAc,CAC9B,SAAQ,YAAY,CAAC,SAAS,gBAAgB,EAAE,EAAE,OAAO,CAAC;IAC1D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|