@fastpaca/cria 1.6.0 → 1.7.1
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 +291 -79
- 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/memory/chroma/index.d.ts +0 -2
- package/dist/memory/chroma/index.d.ts.map +1 -1
- package/dist/memory/chroma/index.js +2 -15
- package/dist/memory/chroma/index.js.map +1 -1
- package/dist/memory/postgres.d.ts.map +1 -1
- package/dist/memory/postgres.js +1 -16
- package/dist/memory/postgres.js.map +1 -1
- package/dist/memory/qdrant/index.d.ts +0 -1
- package/dist/memory/qdrant/index.d.ts.map +1 -1
- package/dist/memory/qdrant/index.js +16 -25
- package/dist/memory/qdrant/index.js.map +1 -1
- package/dist/memory/redis.d.ts.map +1 -1
- package/dist/memory/redis.js +3 -28
- package/dist/memory/redis.js.map +1 -1
- package/dist/memory/sqlite.d.ts +77 -0
- package/dist/memory/sqlite.d.ts.map +1 -0
- package/dist/memory/sqlite.js +98 -0
- package/dist/memory/sqlite.js.map +1 -0
- 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 +12 -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/builder.d.ts
CHANGED
|
@@ -7,11 +7,11 @@ import type { RenderOptions } from "../render";
|
|
|
7
7
|
import type { CriaContext, PromptLayout, PromptNode, PromptPart, PromptRole, PromptTree, ProviderToolIO, ToolIOForProvider, ToolResultPart } from "../types";
|
|
8
8
|
import type { StoredSummary, Summarizer } from "./summary";
|
|
9
9
|
import { type TextInput } from "./templating";
|
|
10
|
-
|
|
10
|
+
type PinState = "unpinned" | "pinned";
|
|
11
11
|
/**
|
|
12
12
|
* Content that can be passed to scope-level operations like truncate/omit.
|
|
13
13
|
*/
|
|
14
|
-
type AnyPromptBuilder = PromptBuilder<unknown>;
|
|
14
|
+
type AnyPromptBuilder = PromptBuilder<unknown, PinState>;
|
|
15
15
|
/**
|
|
16
16
|
* Type flow in the DSL:
|
|
17
17
|
* - P is the bound provider type (or unknown when unbound).
|
|
@@ -29,12 +29,19 @@ type ToolResultPartFor<P> = ToolResultPart<ToolIOFor<P>>;
|
|
|
29
29
|
type TextInputFor<P> = TextInput<ToolIOFor<P>>;
|
|
30
30
|
type InputFor<P> = P extends ModelProvider<infer TRendered, infer _TToolIO> ? PromptInput<TRendered> : never;
|
|
31
31
|
type InputLayoutFor<P> = InputLayout<ToolIOFor<P>>;
|
|
32
|
-
|
|
32
|
+
interface CachePinOptions {
|
|
33
|
+
id?: string;
|
|
34
|
+
version: string;
|
|
35
|
+
scopeKey?: string;
|
|
36
|
+
ttlSeconds?: number;
|
|
37
|
+
priority?: number;
|
|
38
|
+
}
|
|
39
|
+
export type ScopeContent<P = unknown> = PromptNodeFor<P> | PromptBuilder<P, PinState> | AnyPromptBuilder | InputFor<P> | InputLayoutFor<P> | Promise<PromptNodeFor<P>> | readonly ScopeContent<P>[];
|
|
33
40
|
/**
|
|
34
41
|
* Children can include promises (async components like VectorSearch).
|
|
35
42
|
* These are resolved when `.build()` resolves the tree.
|
|
36
43
|
*/
|
|
37
|
-
export type BuilderChild<P = unknown> = PromptNodeFor<P> | PromptPartFor<P> | PromptBuilder<P> | AnyPromptBuilder | string | number | boolean | Promise<PromptNodeFor<P> | PromptPartFor<P> | string | number | boolean>;
|
|
44
|
+
export type BuilderChild<P = unknown> = PromptNodeFor<P> | PromptPartFor<P> | PromptBuilder<P, PinState> | AnyPromptBuilder | string | number | boolean | Promise<PromptNodeFor<P> | PromptPartFor<P> | string | number | boolean>;
|
|
38
45
|
type BoundProvider = ModelProvider<unknown, ProviderToolIO>;
|
|
39
46
|
type RenderedForProvider<P> = P extends ModelProvider<infer TOutput, infer _TToolIO> ? TOutput : unknown;
|
|
40
47
|
/**
|
|
@@ -70,9 +77,7 @@ export declare class MessageBuilder<P = unknown> extends BuilderBase<MessageBuil
|
|
|
70
77
|
vectorSearch<T = unknown>(opts: {
|
|
71
78
|
store: VectorMemory<T>;
|
|
72
79
|
query: string;
|
|
73
|
-
limit
|
|
74
|
-
threshold?: number;
|
|
75
|
-
formatter?: ResultFormatter<T>;
|
|
80
|
+
limit: number;
|
|
76
81
|
}): MessageBuilder<P>;
|
|
77
82
|
/**
|
|
78
83
|
* Add a formatted list of examples.
|
|
@@ -86,25 +91,46 @@ export declare class MessageBuilder<P = unknown> extends BuilderBase<MessageBuil
|
|
|
86
91
|
* Every method returns a new immutable builder instance; large chains will copy
|
|
87
92
|
* child arrays, so keep prompts reasonably sized.
|
|
88
93
|
* Call `.build()` to get the final `PromptTree`.
|
|
94
|
+
*
|
|
95
|
+
* Cache pinning behavior:
|
|
96
|
+
* - `.pin()` may only be called once and always pins the current prompt prefix.
|
|
97
|
+
* - After `.pin()`, continue chaining to add the unpinned tail.
|
|
98
|
+
* - `prefix(pinnedBuilder)` adopts the pinned prefix when it is the first content.
|
|
99
|
+
* - Merging a pinned builder after unpinned content throws.
|
|
89
100
|
*/
|
|
90
|
-
export declare class PromptBuilder<P = unknown> extends BuilderBase<PromptBuilder<P>, P> {
|
|
101
|
+
export declare class PromptBuilder<P = unknown, TPinned extends PinState = "unpinned"> extends BuilderBase<PromptBuilder<P, TPinned>, P> {
|
|
91
102
|
private readonly boundProvider;
|
|
103
|
+
private readonly pinState;
|
|
92
104
|
private constructor();
|
|
93
105
|
/**
|
|
94
106
|
* Create a new empty prompt builder.
|
|
95
107
|
*/
|
|
96
|
-
static create(): PromptBuilder<unknown>;
|
|
97
|
-
static create<TProvider extends BoundProvider>(provider: TProvider): PromptBuilder<TProvider>;
|
|
98
|
-
protected create(children: BuilderChild<P>[], context: CriaContext | undefined): PromptBuilder<P>;
|
|
108
|
+
static create(): PromptBuilder<unknown, "unpinned">;
|
|
109
|
+
static create<TProvider extends BoundProvider>(provider: TProvider): PromptBuilder<TProvider, "unpinned">;
|
|
110
|
+
protected create(children: BuilderChild<P>[], context: CriaContext | undefined): PromptBuilder<P, TPinned>;
|
|
111
|
+
private createUnpinned;
|
|
112
|
+
private clonePinState;
|
|
99
113
|
/**
|
|
100
114
|
* Bind this prompt builder to a provider.
|
|
101
115
|
* Enables provider-specific rendering without passing a provider at render time.
|
|
102
116
|
* This also locks tool-call input/output types for the rest of the builder chain.
|
|
103
117
|
*/
|
|
104
|
-
provider<TProvider extends BoundProvider>(this: PromptBuilder<unknown> | PromptBuilder<TProvider>, modelProvider: TProvider): PromptBuilder<TProvider>;
|
|
105
|
-
scope(fn: (builder: PromptBuilder<P>) => PromptBuilder<P>, opts?: {
|
|
118
|
+
provider<TProvider extends BoundProvider, TPin extends PinState>(this: PromptBuilder<unknown, TPin> | PromptBuilder<TProvider, TPin>, modelProvider: TProvider): PromptBuilder<TProvider, TPin>;
|
|
119
|
+
scope(fn: (builder: PromptBuilder<P, "unpinned">) => PromptBuilder<P, "unpinned">, opts?: {
|
|
120
|
+
id?: string;
|
|
121
|
+
}): PromptBuilder<P, TPinned>;
|
|
122
|
+
/**
|
|
123
|
+
* Place content at the start of the prompt.
|
|
124
|
+
*
|
|
125
|
+
* This is useful for provider cache pinning, which only applies to a shared
|
|
126
|
+
* prompt prefix.
|
|
127
|
+
*/
|
|
128
|
+
prefix(this: PromptBuilder<P, "unpinned">, content: PromptBuilder<P, "pinned"> | PromptBuilder<unknown, "pinned">, opts?: {
|
|
106
129
|
id?: string;
|
|
107
|
-
}): PromptBuilder<P>;
|
|
130
|
+
}): PromptBuilder<P, "pinned">;
|
|
131
|
+
prefix(content: ScopeContent<P>, opts?: {
|
|
132
|
+
id?: string;
|
|
133
|
+
}): PromptBuilder<P, TPinned>;
|
|
108
134
|
/**
|
|
109
135
|
* Add content that will be truncated when over budget.
|
|
110
136
|
*/
|
|
@@ -113,14 +139,14 @@ export declare class PromptBuilder<P = unknown> extends BuilderBase<PromptBuilde
|
|
|
113
139
|
from?: "start" | "end";
|
|
114
140
|
priority?: number;
|
|
115
141
|
id?: string;
|
|
116
|
-
}): PromptBuilder<P>;
|
|
142
|
+
}): PromptBuilder<P, TPinned>;
|
|
117
143
|
/**
|
|
118
144
|
* Add content that will be entirely removed when over budget.
|
|
119
145
|
*/
|
|
120
146
|
omit(content: ScopeContent<P>, opts?: {
|
|
121
147
|
priority?: number;
|
|
122
148
|
id?: string;
|
|
123
|
-
}): PromptBuilder<P>;
|
|
149
|
+
}): PromptBuilder<P, TPinned>;
|
|
124
150
|
/**
|
|
125
151
|
* Create a provider scope for AI-powered operations like Summary.
|
|
126
152
|
*
|
|
@@ -136,27 +162,23 @@ export declare class PromptBuilder<P = unknown> extends BuilderBase<PromptBuilde
|
|
|
136
162
|
* )
|
|
137
163
|
* ```
|
|
138
164
|
*/
|
|
139
|
-
providerScope<TProvider extends BoundProvider>(this: PromptBuilder<unknown> | PromptBuilder<TProvider>, modelProvider: TProvider, fn: (builder: PromptBuilder<TProvider>) => PromptBuilder<TProvider>): PromptBuilder<TProvider>;
|
|
165
|
+
providerScope<TProvider extends BoundProvider, TPin extends PinState>(this: PromptBuilder<unknown, TPin> | PromptBuilder<TProvider, TPin>, modelProvider: TProvider, fn: (builder: PromptBuilder<TProvider, "unpinned">) => PromptBuilder<TProvider, "unpinned">): PromptBuilder<TProvider, TPin>;
|
|
140
166
|
/**
|
|
141
167
|
* Add provider-native input (requires a bound provider).
|
|
142
168
|
*/
|
|
143
|
-
input<TRendered, TToolIO extends ProviderToolIO>(this: PromptBuilder<ModelProvider<TRendered, TToolIO
|
|
169
|
+
input<TRendered, TToolIO extends ProviderToolIO>(this: PromptBuilder<ModelProvider<TRendered, TToolIO>, TPinned>, content: TRendered): PromptBuilder<ModelProvider<TRendered, TToolIO>, TPinned>;
|
|
144
170
|
/**
|
|
145
171
|
* Add a PromptLayout input.
|
|
146
172
|
*/
|
|
147
|
-
inputLayout(content: PromptLayout<ToolIOFor<P>>): PromptBuilder<P>;
|
|
173
|
+
inputLayout(content: PromptLayout<ToolIOFor<P>>): PromptBuilder<P, TPinned>;
|
|
148
174
|
/**
|
|
149
175
|
* Add vector search results (async, resolved at render time).
|
|
150
176
|
*/
|
|
151
177
|
vectorSearch<T = unknown>(opts: {
|
|
152
178
|
store: VectorMemory<T>;
|
|
153
179
|
query: string;
|
|
154
|
-
limit
|
|
155
|
-
|
|
156
|
-
formatter?: ResultFormatter<T>;
|
|
157
|
-
priority?: number;
|
|
158
|
-
id?: string;
|
|
159
|
-
}): PromptBuilder<P>;
|
|
180
|
+
limit: number;
|
|
181
|
+
}): PromptBuilder<P, TPinned>;
|
|
160
182
|
/**
|
|
161
183
|
* Add content that will be summarized when over budget.
|
|
162
184
|
*/
|
|
@@ -165,7 +187,14 @@ export declare class PromptBuilder<P = unknown> extends BuilderBase<PromptBuilde
|
|
|
165
187
|
store: KVMemory<StoredSummary>;
|
|
166
188
|
summarize?: Summarizer;
|
|
167
189
|
priority?: number;
|
|
168
|
-
}): PromptBuilder<P>;
|
|
190
|
+
}): PromptBuilder<P, TPinned>;
|
|
191
|
+
/**
|
|
192
|
+
* Mark the current builder contents as cache-pinned.
|
|
193
|
+
*
|
|
194
|
+
* Provide a stable id + version to control cache reuse across runs.
|
|
195
|
+
* Only one pin is allowed per prompt.
|
|
196
|
+
*/
|
|
197
|
+
pin(this: PromptBuilder<P, "unpinned">, opts: CachePinOptions): PromptBuilder<P, "pinned">;
|
|
169
198
|
/**
|
|
170
199
|
* Keep only the last N messages from the content.
|
|
171
200
|
*
|
|
@@ -180,11 +209,11 @@ export declare class PromptBuilder<P = unknown> extends BuilderBase<PromptBuilde
|
|
|
180
209
|
last(content: ScopeContent<P>, opts: {
|
|
181
210
|
n: number;
|
|
182
211
|
id?: string;
|
|
183
|
-
}): PromptBuilder<P>;
|
|
212
|
+
}): PromptBuilder<P, TPinned>;
|
|
184
213
|
/**
|
|
185
214
|
* Add a raw PromptNode (escape hatch for advanced usage).
|
|
186
215
|
*/
|
|
187
|
-
raw(element: PromptNodeFor<P> | Promise<PromptNodeFor<P>>): PromptBuilder<P>;
|
|
216
|
+
raw(element: PromptNodeFor<P> | Promise<PromptNodeFor<P>>): PromptBuilder<P, TPinned>;
|
|
188
217
|
/**
|
|
189
218
|
* Merge builders or raw nodes into this one.
|
|
190
219
|
* Accepts PromptBuilders, individual PromptNodes, or arrays of PromptNodes.
|
|
@@ -198,8 +227,7 @@ export declare class PromptBuilder<P = unknown> extends BuilderBase<PromptBuilde
|
|
|
198
227
|
* cria.prompt().system("A").merge(...scope.children)
|
|
199
228
|
* ```
|
|
200
229
|
*/
|
|
201
|
-
merge(...items: (PromptBuilder<P> | PromptBuilder<unknown> | PromptNodeFor<P> | readonly PromptNodeFor<P>[])[]): PromptBuilder<P>;
|
|
202
|
-
private mergeItem;
|
|
230
|
+
merge(this: PromptBuilder<P, "unpinned">, ...items: (PromptBuilder<P, "unpinned"> | PromptBuilder<unknown, "unpinned"> | PromptNodeFor<P> | readonly PromptNodeFor<P>[])[]): PromptBuilder<P, "unpinned">;
|
|
203
231
|
/**
|
|
204
232
|
* Conditionally apply a transformation to the builder.
|
|
205
233
|
*
|
|
@@ -211,43 +239,43 @@ export declare class PromptBuilder<P = unknown> extends BuilderBase<PromptBuilde
|
|
|
211
239
|
* .user("Question")
|
|
212
240
|
* ```
|
|
213
241
|
*/
|
|
214
|
-
when(condition: boolean, fn: (builder: PromptBuilder<P>) => PromptBuilder<P>): PromptBuilder<P>;
|
|
242
|
+
when(condition: boolean, fn: (builder: PromptBuilder<P, TPinned>) => PromptBuilder<P, TPinned>): PromptBuilder<P, TPinned>;
|
|
215
243
|
/**
|
|
216
244
|
* Add a system message.
|
|
217
245
|
*/
|
|
218
246
|
system(content: TextInputFor<P> | ((builder: MessageBuilder<P>) => MessageBuilder<P>), opts?: {
|
|
219
247
|
id?: string;
|
|
220
|
-
}): PromptBuilder<P>;
|
|
248
|
+
}): PromptBuilder<P, TPinned>;
|
|
221
249
|
/**
|
|
222
250
|
* Add a developer message.
|
|
223
251
|
*/
|
|
224
252
|
developer(content: TextInputFor<P> | ((builder: MessageBuilder<P>) => MessageBuilder<P>), opts?: {
|
|
225
253
|
id?: string;
|
|
226
|
-
}): PromptBuilder<P>;
|
|
254
|
+
}): PromptBuilder<P, TPinned>;
|
|
227
255
|
/**
|
|
228
256
|
* Add a user message.
|
|
229
257
|
*/
|
|
230
258
|
user(content: TextInputFor<P> | ((builder: MessageBuilder<P>) => MessageBuilder<P>), opts?: {
|
|
231
259
|
id?: string;
|
|
232
|
-
}): PromptBuilder<P>;
|
|
260
|
+
}): PromptBuilder<P, TPinned>;
|
|
233
261
|
/**
|
|
234
262
|
* Add an assistant message.
|
|
235
263
|
*/
|
|
236
264
|
assistant(content: TextInputFor<P> | ((builder: MessageBuilder<P>) => MessageBuilder<P>), opts?: {
|
|
237
265
|
id?: string;
|
|
238
|
-
}): PromptBuilder<P>;
|
|
266
|
+
}): PromptBuilder<P, TPinned>;
|
|
239
267
|
/**
|
|
240
268
|
* Add a tool result message.
|
|
241
269
|
*/
|
|
242
|
-
tool<TProvider extends BoundProvider>(this: PromptBuilder<TProvider>, result: ToolResultPartFor<TProvider> | readonly ToolResultPartFor<TProvider>[], opts?: {
|
|
270
|
+
tool<TProvider extends BoundProvider>(this: PromptBuilder<TProvider, TPinned>, result: ToolResultPartFor<TProvider> | readonly ToolResultPartFor<TProvider>[], opts?: {
|
|
243
271
|
id?: string;
|
|
244
|
-
}): PromptBuilder<TProvider>;
|
|
272
|
+
}): PromptBuilder<TProvider, TPinned>;
|
|
245
273
|
/**
|
|
246
274
|
* Add a message with a custom role.
|
|
247
275
|
*/
|
|
248
276
|
message(role: PromptRole, content: TextInputFor<P> | ((builder: MessageBuilder<P>) => MessageBuilder<P>), opts?: {
|
|
249
277
|
id?: string;
|
|
250
|
-
}): PromptBuilder<P>;
|
|
278
|
+
}): PromptBuilder<P, TPinned>;
|
|
251
279
|
buildChildren(): Promise<PromptNodeFor<P>[]>;
|
|
252
280
|
/**
|
|
253
281
|
* Build the final PromptTree.
|
|
@@ -261,8 +289,8 @@ export declare class PromptBuilder<P = unknown> extends BuilderBase<PromptBuilde
|
|
|
261
289
|
* - Bound builder: provider is implicit.
|
|
262
290
|
* - Unbound builder: provider must be supplied to establish tool IO types.
|
|
263
291
|
*/
|
|
264
|
-
render<TProvider extends BoundProvider>(this: PromptBuilder<TProvider>, options?: RenderOptionsWithoutProvider<RenderedForProvider<TProvider>, ToolIOForProvider<TProvider>>): Promise<RenderedForProvider<TProvider>>;
|
|
265
|
-
render<TProvider extends BoundProvider>(this: PromptBuilder<unknown>, options: RenderOptions<RenderedForProvider<TProvider>, ToolIOForProvider<TProvider>> & {
|
|
292
|
+
render<TProvider extends BoundProvider>(this: PromptBuilder<TProvider, PinState>, options?: RenderOptionsWithoutProvider<RenderedForProvider<TProvider>, ToolIOForProvider<TProvider>>): Promise<RenderedForProvider<TProvider>>;
|
|
293
|
+
render<TProvider extends BoundProvider>(this: PromptBuilder<unknown, PinState>, options: RenderOptions<RenderedForProvider<TProvider>, ToolIOForProvider<TProvider>> & {
|
|
266
294
|
provider: TProvider;
|
|
267
295
|
}): Promise<RenderedForProvider<TProvider>>;
|
|
268
296
|
private addMessage;
|
|
@@ -270,6 +298,6 @@ export declare class PromptBuilder<P = unknown> extends BuilderBase<PromptBuilde
|
|
|
270
298
|
/**
|
|
271
299
|
* Prompt type alias for external use.
|
|
272
300
|
*/
|
|
273
|
-
export type Prompt<P = unknown> = PromptBuilder<P>;
|
|
301
|
+
export type Prompt<P = unknown> = PromptBuilder<P, PinState>;
|
|
274
302
|
export {};
|
|
275
303
|
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/dsl/builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EACV,WAAW,EAEX,aAAa,EACb,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/dsl/builder.ts"],"names":[],"mappings":"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"}
|
package/dist/dsl/builder.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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,12 +159,38 @@ 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.
|
|
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
|
*/
|
|
@@ -219,11 +267,7 @@ export class PromptBuilder extends BuilderBase {
|
|
|
219
267
|
const asyncElement = VectorSearch({
|
|
220
268
|
store: opts.store,
|
|
221
269
|
query: opts.query,
|
|
222
|
-
|
|
223
|
-
...(opts.threshold !== undefined ? { threshold: opts.threshold } : {}),
|
|
224
|
-
...(opts.formatter ? { formatResults: opts.formatter } : {}),
|
|
225
|
-
...(opts.priority !== undefined ? { priority: opts.priority } : {}),
|
|
226
|
-
...(opts.id !== undefined ? { id: opts.id } : {}),
|
|
270
|
+
limit: opts.limit,
|
|
227
271
|
});
|
|
228
272
|
return this.addChild(asyncElement);
|
|
229
273
|
}
|
|
@@ -240,6 +284,29 @@ export class PromptBuilder extends BuilderBase {
|
|
|
240
284
|
}));
|
|
241
285
|
return this.addChild(element);
|
|
242
286
|
}
|
|
287
|
+
/**
|
|
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.
|
|
292
|
+
*/
|
|
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);
|
|
309
|
+
}
|
|
243
310
|
/**
|
|
244
311
|
* Keep only the last N messages from the content.
|
|
245
312
|
*
|
|
@@ -266,45 +333,44 @@ export class PromptBuilder extends BuilderBase {
|
|
|
266
333
|
raw(element) {
|
|
267
334
|
return this.addChild(element);
|
|
268
335
|
}
|
|
269
|
-
/**
|
|
270
|
-
* Merge builders or raw nodes into this one.
|
|
271
|
-
* Accepts PromptBuilders, individual PromptNodes, or arrays of PromptNodes.
|
|
272
|
-
*
|
|
273
|
-
* @example
|
|
274
|
-
* ```typescript
|
|
275
|
-
* // Merge builders
|
|
276
|
-
* cria.prompt().system("A").merge(otherBuilder)
|
|
277
|
-
*
|
|
278
|
-
* // Merge raw nodes
|
|
279
|
-
* cria.prompt().system("A").merge(...scope.children)
|
|
280
|
-
* ```
|
|
281
|
-
*/
|
|
282
336
|
merge(...items) {
|
|
283
337
|
const newChildren = [...this.children];
|
|
284
338
|
let nextContext = this.context;
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
return this.create(newChildren, nextContext);
|
|
289
|
-
}
|
|
290
|
-
mergeItem(item, target, currentContext) {
|
|
291
|
-
if (item instanceof PromptBuilder) {
|
|
292
|
-
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) {
|
|
293
342
|
throw new Error("Cannot merge builders with different contexts/providers");
|
|
294
343
|
}
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
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);
|
|
301
371
|
}
|
|
302
|
-
return currentContext;
|
|
303
|
-
}
|
|
304
|
-
if (isPromptNode(item)) {
|
|
305
|
-
target.push(item);
|
|
306
372
|
}
|
|
307
|
-
return
|
|
373
|
+
return new PromptBuilder(newChildren, nextContext, this.boundProvider, nextPinState);
|
|
308
374
|
}
|
|
309
375
|
/**
|
|
310
376
|
* Conditionally apply a transformation to the builder.
|
|
@@ -362,7 +428,20 @@ export class PromptBuilder extends BuilderBase {
|
|
|
362
428
|
return this.addMessage(role, content, opts);
|
|
363
429
|
}
|
|
364
430
|
async buildChildren() {
|
|
365
|
-
|
|
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];
|
|
366
445
|
}
|
|
367
446
|
/**
|
|
368
447
|
* Build the final PromptTree.
|
package/dist/dsl/builder.js.map
CHANGED
|
@@ -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":"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"}
|