@fastpaca/cria 1.0.1 → 1.1.3
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 +54 -44
- package/dist/ai-sdk/index.d.ts +29 -4
- package/dist/ai-sdk/index.d.ts.map +1 -1
- package/dist/ai-sdk/index.js +97 -25
- package/dist/ai-sdk/index.js.map +1 -1
- package/dist/anthropic/index.d.ts +31 -3
- package/dist/anthropic/index.d.ts.map +1 -1
- package/dist/anthropic/index.js +44 -1
- package/dist/anthropic/index.js.map +1 -1
- package/dist/components/index.d.ts +8 -9
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +7 -10
- package/dist/components/index.js.map +1 -1
- package/dist/components/summary.d.ts +2 -3
- package/dist/components/summary.d.ts.map +1 -1
- package/dist/components/summary.js +2 -2
- package/dist/components/summary.js.map +1 -1
- package/dist/components/vector-search.js +2 -2
- package/dist/components/vector-search.js.map +1 -1
- package/dist/dsl.d.ts +201 -0
- package/dist/dsl.d.ts.map +1 -0
- package/dist/dsl.js +320 -0
- package/dist/dsl.js.map +1 -0
- package/dist/index.d.ts +10 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -16
- package/dist/index.js.map +1 -1
- package/dist/jsx/index.d.ts +6 -0
- package/dist/jsx/index.d.ts.map +1 -0
- package/dist/jsx/index.js +7 -0
- package/dist/jsx/index.js.map +1 -0
- package/dist/jsx/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/jsx/jsx-dev-runtime.js +3 -0
- package/dist/jsx/jsx-dev-runtime.js.map +1 -0
- package/dist/{jsx-runtime.d.ts → jsx/jsx-runtime.d.ts} +1 -1
- package/dist/jsx/jsx-runtime.d.ts.map +1 -0
- package/dist/{jsx-runtime.js → jsx/jsx-runtime.js} +2 -5
- package/dist/jsx/jsx-runtime.js.map +1 -0
- package/dist/memory/postgres.d.ts.map +1 -1
- package/dist/memory/postgres.js +16 -1
- package/dist/memory/postgres.js.map +1 -1
- package/dist/memory/redis.d.ts.map +1 -1
- package/dist/memory/redis.js +30 -3
- package/dist/memory/redis.js.map +1 -1
- package/dist/openai/index.d.ts +30 -3
- package/dist/openai/index.d.ts.map +1 -1
- package/dist/openai/index.js +47 -1
- package/dist/openai/index.js.map +1 -1
- package/dist/render.js +16 -4
- package/dist/render.js.map +1 -1
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +9 -5
- package/dist/snapshot.js.map +1 -1
- package/dist/types.d.ts +10 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -2
- package/dist/types.js.map +1 -1
- package/package.json +27 -6
- package/dist/ai-sdk/index.test.d.ts +0 -2
- package/dist/ai-sdk/index.test.d.ts.map +0 -1
- package/dist/ai-sdk/index.test.js +0 -101
- package/dist/ai-sdk/index.test.js.map +0 -1
- package/dist/anthropic/index.test.d.ts +0 -2
- package/dist/anthropic/index.test.d.ts.map +0 -1
- package/dist/anthropic/index.test.js +0 -115
- package/dist/anthropic/index.test.js.map +0 -1
- package/dist/components/additional.test.d.ts +0 -2
- package/dist/components/additional.test.d.ts.map +0 -1
- package/dist/components/additional.test.js +0 -31
- package/dist/components/additional.test.js.map +0 -1
- package/dist/components/summary.test.d.ts +0 -2
- package/dist/components/summary.test.d.ts.map +0 -1
- package/dist/components/summary.test.js +0 -101
- package/dist/components/summary.test.js.map +0 -1
- package/dist/components/vector-search.test.d.ts +0 -2
- package/dist/components/vector-search.test.d.ts.map +0 -1
- package/dist/components/vector-search.test.js +0 -113
- package/dist/components/vector-search.test.js.map +0 -1
- package/dist/instrumentation/otel.test.d.ts +0 -2
- package/dist/instrumentation/otel.test.d.ts.map +0 -1
- package/dist/instrumentation/otel.test.js +0 -116
- package/dist/instrumentation/otel.test.js.map +0 -1
- package/dist/jsx-dev-runtime.d.ts.map +0 -1
- package/dist/jsx-dev-runtime.js +0 -2
- package/dist/jsx-dev-runtime.js.map +0 -1
- package/dist/jsx-runtime.d.ts.map +0 -1
- package/dist/jsx-runtime.js.map +0 -1
- package/dist/openai/index.test.d.ts +0 -2
- package/dist/openai/index.test.d.ts.map +0 -1
- package/dist/openai/index.test.js +0 -204
- package/dist/openai/index.test.js.map +0 -1
- package/dist/providers/index.d.ts +0 -2
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -2
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/types.d.ts +0 -2
- package/dist/providers/types.d.ts.map +0 -1
- package/dist/providers/types.js +0 -2
- package/dist/providers/types.js.map +0 -1
- package/dist/render.test.d.ts +0 -2
- package/dist/render.test.d.ts.map +0 -1
- package/dist/render.test.js +0 -167
- package/dist/render.test.js.map +0 -1
- package/dist/snapshot.test.d.ts +0 -2
- package/dist/snapshot.test.d.ts.map +0 -1
- package/dist/snapshot.test.js +0 -68
- package/dist/snapshot.test.js.map +0 -1
- /package/dist/{jsx-dev-runtime.d.ts → jsx/jsx-dev-runtime.d.ts} +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { PromptElement, PromptRole, Strategy } from "../types";
|
|
1
|
+
import type { PromptChildren, PromptElement, PromptRole, Strategy } from "../types";
|
|
3
2
|
interface RegionProps {
|
|
4
3
|
/** Lower number = higher importance. Default: 0 (highest priority) */
|
|
5
4
|
priority?: number;
|
|
@@ -8,7 +7,7 @@ interface RegionProps {
|
|
|
8
7
|
/** Stable identifier for caching/debugging */
|
|
9
8
|
id?: string;
|
|
10
9
|
/** Content of this region */
|
|
11
|
-
children?:
|
|
10
|
+
children?: PromptChildren;
|
|
12
11
|
}
|
|
13
12
|
/**
|
|
14
13
|
* The fundamental building block of Cria prompts—think of it as `<div>`.
|
|
@@ -35,7 +34,7 @@ interface SemanticRegionProps {
|
|
|
35
34
|
interface MessageProps extends SemanticRegionProps {
|
|
36
35
|
/** The message role (user, assistant, system, etc.) */
|
|
37
36
|
messageRole: PromptRole;
|
|
38
|
-
children?:
|
|
37
|
+
children?: PromptChildren;
|
|
39
38
|
}
|
|
40
39
|
export declare function Message({ messageRole, priority, strategy, id, children, }: MessageProps): PromptElement;
|
|
41
40
|
interface ReasoningProps extends SemanticRegionProps {
|
|
@@ -64,7 +63,7 @@ interface TruncateProps {
|
|
|
64
63
|
/** Stable identifier for caching/debugging */
|
|
65
64
|
id?: string;
|
|
66
65
|
/** Content to truncate */
|
|
67
|
-
children?:
|
|
66
|
+
children?: PromptChildren;
|
|
68
67
|
}
|
|
69
68
|
/**
|
|
70
69
|
* A region that truncates its content to fit within a token budget.
|
|
@@ -86,7 +85,7 @@ interface OmitProps {
|
|
|
86
85
|
/** Stable identifier for caching/debugging */
|
|
87
86
|
id?: string;
|
|
88
87
|
/** Content that may be omitted */
|
|
89
|
-
children?:
|
|
88
|
+
children?: PromptChildren;
|
|
90
89
|
}
|
|
91
90
|
/**
|
|
92
91
|
* A region that is entirely removed when the prompt needs to shrink.
|
|
@@ -108,7 +107,7 @@ interface LastProps {
|
|
|
108
107
|
/** Priority for this region. Default: 0 */
|
|
109
108
|
priority?: number;
|
|
110
109
|
/** Children to filter */
|
|
111
|
-
children?:
|
|
110
|
+
children?: PromptChildren;
|
|
112
111
|
}
|
|
113
112
|
/**
|
|
114
113
|
* Keeps only the last N children.
|
|
@@ -127,7 +126,7 @@ interface SeparatorProps {
|
|
|
127
126
|
value?: string;
|
|
128
127
|
priority?: number;
|
|
129
128
|
id?: string;
|
|
130
|
-
children?:
|
|
129
|
+
children?: PromptChildren;
|
|
131
130
|
}
|
|
132
131
|
export declare function Separator({ value, priority, id, children, }: SeparatorProps): PromptElement;
|
|
133
132
|
interface ExamplesProps {
|
|
@@ -135,7 +134,7 @@ interface ExamplesProps {
|
|
|
135
134
|
separator?: string;
|
|
136
135
|
priority?: number;
|
|
137
136
|
id?: string;
|
|
138
|
-
children?:
|
|
137
|
+
children?: PromptChildren;
|
|
139
138
|
}
|
|
140
139
|
export declare function Examples({ title, separator, priority, id, children, }: ExamplesProps): PromptElement;
|
|
141
140
|
interface CodeBlockProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|
package/dist/components/index.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
export function Region({ priority = 0, strategy, id, children = [], }) {
|
|
15
15
|
return {
|
|
16
16
|
priority,
|
|
17
|
-
children
|
|
17
|
+
children,
|
|
18
18
|
...(strategy && { strategy }),
|
|
19
19
|
...(id && { id }),
|
|
20
20
|
};
|
|
@@ -24,7 +24,7 @@ export function Message({ messageRole, priority = 0, strategy, id, children = []
|
|
|
24
24
|
kind: "message",
|
|
25
25
|
role: messageRole,
|
|
26
26
|
priority,
|
|
27
|
-
children
|
|
27
|
+
children,
|
|
28
28
|
...(strategy && { strategy }),
|
|
29
29
|
...(id && { id }),
|
|
30
30
|
};
|
|
@@ -99,7 +99,7 @@ export function Truncate({ budget, from = "start", priority = 0, id, children =
|
|
|
99
99
|
};
|
|
100
100
|
return {
|
|
101
101
|
priority,
|
|
102
|
-
children
|
|
102
|
+
children,
|
|
103
103
|
strategy,
|
|
104
104
|
...(id && { id }),
|
|
105
105
|
};
|
|
@@ -121,7 +121,7 @@ export function Omit({ priority = 0, id, children = [], }) {
|
|
|
121
121
|
const strategy = () => null;
|
|
122
122
|
return {
|
|
123
123
|
priority,
|
|
124
|
-
children
|
|
124
|
+
children,
|
|
125
125
|
strategy,
|
|
126
126
|
...(id && { id }),
|
|
127
127
|
};
|
|
@@ -135,8 +135,7 @@ export function Omit({ priority = 0, id, children = [], }) {
|
|
|
135
135
|
* ```
|
|
136
136
|
*/
|
|
137
137
|
export function Last({ N, priority = 0, children = [], }) {
|
|
138
|
-
const
|
|
139
|
-
const lastN = normalizedChildren.slice(-N);
|
|
138
|
+
const lastN = children.slice(-N);
|
|
140
139
|
return {
|
|
141
140
|
priority,
|
|
142
141
|
children: lastN,
|
|
@@ -154,16 +153,14 @@ function intersperse(items, separator) {
|
|
|
154
153
|
return items.flatMap((item, i) => (i === 0 ? [item] : [separator, item]));
|
|
155
154
|
}
|
|
156
155
|
export function Separator({ value = "\n", priority = 0, id, children = [], }) {
|
|
157
|
-
const normalized = children;
|
|
158
156
|
return {
|
|
159
157
|
priority,
|
|
160
|
-
children: intersperse(
|
|
158
|
+
children: intersperse(children, value),
|
|
161
159
|
...(id && { id }),
|
|
162
160
|
};
|
|
163
161
|
}
|
|
164
162
|
export function Examples({ title = "Examples:", separator = "\n\n", priority = 2, id, children = [], }) {
|
|
165
|
-
const
|
|
166
|
-
const withSeparators = intersperse(normalized, separator);
|
|
163
|
+
const withSeparators = intersperse(children, separator);
|
|
167
164
|
const prefixed = title
|
|
168
165
|
? [`${title}\n`, ...withSeparators]
|
|
169
166
|
: withSeparators;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { Child } from "../jsx-runtime";
|
|
2
1
|
import type { KVMemory } from "../memory";
|
|
3
|
-
import type { MaybePromise, PromptElement } from "../types";
|
|
2
|
+
import type { MaybePromise, PromptChildren, PromptElement } from "../types";
|
|
4
3
|
/**
|
|
5
4
|
* Stored summary data persisted across renders.
|
|
6
5
|
*/
|
|
@@ -36,7 +35,7 @@ interface SummaryProps {
|
|
|
36
35
|
/** Priority for this region (higher number = reduced first). Default: 0 */
|
|
37
36
|
priority?: number;
|
|
38
37
|
/** Content to potentially summarize */
|
|
39
|
-
children?:
|
|
38
|
+
children?: PromptChildren;
|
|
40
39
|
}
|
|
41
40
|
/**
|
|
42
41
|
* A region that summarizes its content when the prompt needs to shrink.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/components/summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/components/summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EACV,YAAY,EAEZ,cAAc,EACd,aAAa,EAGd,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC;AAwF1E,UAAU,YAAY;IACpB,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,OAAO,CAAC,EACtB,EAAE,EACF,KAAK,EACL,SAAS,EACT,QAAY,EACZ,QAAa,GACd,EAAE,YAAY,GAAG,aAAa,CAM9B"}
|
|
@@ -44,7 +44,7 @@ function createSummaryStrategy({ id, store, summarize, }) {
|
|
|
44
44
|
newSummary = await defaultSummarizer(summarizerContext, context.provider);
|
|
45
45
|
}
|
|
46
46
|
else {
|
|
47
|
-
throw new Error(`Summary "${id}" requires either a 'summarize' function or a provider
|
|
47
|
+
throw new Error(`Summary "${id}" requires either a 'summarize' function or a provider scope. DSL: wrap in cria.provider(new Provider(), (p) => p.summary(...)). JSX: wrap with <AISDKProvider>...</AISDKProvider>.`);
|
|
48
48
|
}
|
|
49
49
|
const newTokenCount = tokenizer(newSummary);
|
|
50
50
|
await store.set(id, {
|
|
@@ -112,7 +112,7 @@ export function Summary({ id, store, summarize, priority = 0, children = [], })
|
|
|
112
112
|
return {
|
|
113
113
|
priority,
|
|
114
114
|
strategy: createSummaryStrategy({ id, store, summarize }),
|
|
115
|
-
children
|
|
115
|
+
children,
|
|
116
116
|
};
|
|
117
117
|
}
|
|
118
118
|
//# sourceMappingURL=summary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/components/summary.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/components/summary.ts"],"names":[],"mappings":"AAmCA;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAC9B,GAAsB,EACtB,QAAuB;IAEvB,MAAM,YAAY,GAChB,wLAAwL,CAAC;IAE3L,IAAI,UAAkB,CAAC;IACvB,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QACxB,UAAU,GAAG;;EAEf,GAAG,CAAC,eAAe;;;;EAInB,GAAG,CAAC,OAAO;;mGAEsF,CAAC;IAClG,CAAC;SAAM,CAAC;QACN,UAAU,GAAG;;EAEf,GAAG,CAAC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC;QACvC,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;KAClD,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAQD,SAAS,qBAAqB,CAAC,EAC7B,EAAE,EACF,KAAK,EACL,SAAS,GACc;IACvB,OAAO,KAAK,EAAE,KAAoB,EAAE,EAAE;QACpC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAE1D,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE1C,MAAM,iBAAiB,GAAsB;YAC3C,OAAO;YACP,eAAe,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;SACrD,CAAC;QAEF,IAAI,UAAkB,CAAC;QACvB,IAAI,SAAS,EAAE,CAAC;YACd,UAAU,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC5B,UAAU,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,YAAY,EAAE,qLAAqL,CACpM,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE;YAClB,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,aAAa;SAC1B,CAAC,CAAC;QAEH,wDAAwD;QACxD,OAAO;YACL,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,CAAC,sCAAsC,UAAU,EAAE,CAAC;SAC/D,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAkBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,UAAU,OAAO,CAAC,EACtB,EAAE,EACF,KAAK,EACL,SAAS,EACT,QAAQ,GAAG,CAAC,EACZ,QAAQ,GAAG,EAAE,GACA;IACb,OAAO;QACL,QAAQ;QACR,QAAQ,EAAE,qBAAqB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACzD,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Default formatter that renders results as a numbered list.
|
|
3
|
-
*
|
|
3
|
+
* Returns a placeholder string when no results are found so prompts can degrade gracefully.
|
|
4
4
|
*/
|
|
5
5
|
function defaultFormatter(results) {
|
|
6
6
|
if (results.length === 0) {
|
|
7
|
-
|
|
7
|
+
return "Vector search returned no results.";
|
|
8
8
|
}
|
|
9
9
|
return results
|
|
10
10
|
.map((result, index) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector-search.js","sourceRoot":"","sources":["../../src/components/vector-search.ts"],"names":[],"mappings":"AAoBA;;;GAGG;AACH,SAAS,gBAAgB,CAAI,OAAgC;IAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,
|
|
1
|
+
{"version":3,"file":"vector-search.js","sourceRoot":"","sources":["../../src/components/vector-search.ts"],"names":[],"mappings":"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"}
|
package/dist/dsl.d.ts
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fluent DSL for building prompts without JSX.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```typescript
|
|
6
|
+
* import { cria } from "@fastpaca/cria";
|
|
7
|
+
*
|
|
8
|
+
* const prompt = await cria
|
|
9
|
+
* .prompt()
|
|
10
|
+
* .system("You are a helpful assistant.")
|
|
11
|
+
* .user("What is the capital of France?")
|
|
12
|
+
* .render({tokenizer, budget: 4000, renderer});
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @packageDocumentation
|
|
16
|
+
*/
|
|
17
|
+
import type { ResultFormatter, StoredSummary, Summarizer } from "./components";
|
|
18
|
+
import type { KVMemory, VectorMemory } from "./memory";
|
|
19
|
+
import type { RenderOptions } from "./render";
|
|
20
|
+
import type { ModelProvider, PromptElement, PromptRenderer, PromptRole } from "./types";
|
|
21
|
+
type RenderResult<TOptions extends RenderOptions> = TOptions extends {
|
|
22
|
+
renderer: PromptRenderer<infer TOutput>;
|
|
23
|
+
} ? TOutput : string;
|
|
24
|
+
/**
|
|
25
|
+
* Fluent builder for constructing prompt trees without JSX.
|
|
26
|
+
*
|
|
27
|
+
* Every method returns a new immutable builder instance.
|
|
28
|
+
* Call `.build()` to get the final `PromptElement`.
|
|
29
|
+
*/
|
|
30
|
+
export declare class PromptBuilder {
|
|
31
|
+
private readonly children;
|
|
32
|
+
private readonly context;
|
|
33
|
+
private constructor();
|
|
34
|
+
/**
|
|
35
|
+
* Create a new empty prompt builder.
|
|
36
|
+
*/
|
|
37
|
+
static create(): PromptBuilder;
|
|
38
|
+
/**
|
|
39
|
+
* Add a system message.
|
|
40
|
+
*/
|
|
41
|
+
system(text: string, opts?: {
|
|
42
|
+
priority?: number;
|
|
43
|
+
id?: string;
|
|
44
|
+
}): PromptBuilder;
|
|
45
|
+
/**
|
|
46
|
+
* Add a user message.
|
|
47
|
+
*/
|
|
48
|
+
user(text: string, opts?: {
|
|
49
|
+
priority?: number;
|
|
50
|
+
id?: string;
|
|
51
|
+
}): PromptBuilder;
|
|
52
|
+
/**
|
|
53
|
+
* Add an assistant message.
|
|
54
|
+
*/
|
|
55
|
+
assistant(text: string, opts?: {
|
|
56
|
+
priority?: number;
|
|
57
|
+
id?: string;
|
|
58
|
+
}): PromptBuilder;
|
|
59
|
+
/**
|
|
60
|
+
* Add a message with a custom role.
|
|
61
|
+
*/
|
|
62
|
+
message(role: PromptRole, text: string, opts?: {
|
|
63
|
+
priority?: number;
|
|
64
|
+
id?: string;
|
|
65
|
+
}): PromptBuilder;
|
|
66
|
+
/**
|
|
67
|
+
* Add content that will be truncated when over budget.
|
|
68
|
+
*/
|
|
69
|
+
truncate(content: string | PromptElement | PromptBuilder, opts: {
|
|
70
|
+
budget: number;
|
|
71
|
+
from?: "start" | "end";
|
|
72
|
+
priority?: number;
|
|
73
|
+
id?: string;
|
|
74
|
+
}): PromptBuilder;
|
|
75
|
+
/**
|
|
76
|
+
* Add content that will be entirely removed when over budget.
|
|
77
|
+
*/
|
|
78
|
+
omit(content: string | PromptElement | PromptBuilder, opts?: {
|
|
79
|
+
priority?: number;
|
|
80
|
+
id?: string;
|
|
81
|
+
}): PromptBuilder;
|
|
82
|
+
/**
|
|
83
|
+
* Create a nested section.
|
|
84
|
+
*
|
|
85
|
+
* @example Anonymous section
|
|
86
|
+
* ```typescript
|
|
87
|
+
* .section((s) => s.truncate(content, { budget: 1000 }))
|
|
88
|
+
* ```
|
|
89
|
+
*
|
|
90
|
+
* @example Named section
|
|
91
|
+
* ```typescript
|
|
92
|
+
* .section("context", (s) => s.truncate(content, { budget: 1000 }))
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
region(fn: (builder: PromptBuilder) => PromptBuilder): PromptBuilder;
|
|
96
|
+
region(name: string, fn: (builder: PromptBuilder) => PromptBuilder): PromptBuilder;
|
|
97
|
+
/**
|
|
98
|
+
* Create a nested section/region.
|
|
99
|
+
*
|
|
100
|
+
* @example Anonymous section
|
|
101
|
+
* ```typescript
|
|
102
|
+
* .section((s) => s.truncate(content, { budget: 1000 }))
|
|
103
|
+
* ```
|
|
104
|
+
*
|
|
105
|
+
* @example Named section
|
|
106
|
+
* ```typescript
|
|
107
|
+
* .section("context", (s) => s.truncate(content, { budget: 1000 }))
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
section(fn: (builder: PromptBuilder) => PromptBuilder): PromptBuilder;
|
|
111
|
+
section(name: string, fn: (builder: PromptBuilder) => PromptBuilder): PromptBuilder;
|
|
112
|
+
/**
|
|
113
|
+
* Merge another builder's contents into this one (zod-like merge).
|
|
114
|
+
* Contexts must be compatible (either identical or undefined).
|
|
115
|
+
*/
|
|
116
|
+
merge(...builders: PromptBuilder[]): PromptBuilder;
|
|
117
|
+
/**
|
|
118
|
+
* Create a provider scope for AI-powered operations like Summary.
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* import { Provider } from "@fastpaca/cria/ai-sdk";
|
|
123
|
+
*
|
|
124
|
+
* const provider = new Provider(openai("gpt-4o"));
|
|
125
|
+
* .provider(provider, (p) =>
|
|
126
|
+
* p.summary(content, { id: "conv", store })
|
|
127
|
+
* )
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
provider(modelProvider: ModelProvider, fn: (builder: PromptBuilder) => PromptBuilder): PromptBuilder;
|
|
131
|
+
/**
|
|
132
|
+
* Add vector search results (async, resolved at render time).
|
|
133
|
+
*/
|
|
134
|
+
vectorSearch<T = unknown>(opts: {
|
|
135
|
+
store: VectorMemory<T>;
|
|
136
|
+
query: string;
|
|
137
|
+
limit?: number;
|
|
138
|
+
threshold?: number;
|
|
139
|
+
formatter?: ResultFormatter<T>;
|
|
140
|
+
priority?: number;
|
|
141
|
+
id?: string;
|
|
142
|
+
}): PromptBuilder;
|
|
143
|
+
/**
|
|
144
|
+
* Add content that will be summarized when over budget.
|
|
145
|
+
*/
|
|
146
|
+
summary(content: string | PromptElement | PromptBuilder, opts: {
|
|
147
|
+
id: string;
|
|
148
|
+
store: KVMemory<StoredSummary>;
|
|
149
|
+
summarize?: Summarizer;
|
|
150
|
+
priority?: number;
|
|
151
|
+
}): PromptBuilder;
|
|
152
|
+
/**
|
|
153
|
+
* Add a formatted list of examples.
|
|
154
|
+
*/
|
|
155
|
+
examples(title: string, items: (string | PromptElement)[], opts?: {
|
|
156
|
+
priority?: number;
|
|
157
|
+
id?: string;
|
|
158
|
+
}): PromptBuilder;
|
|
159
|
+
/**
|
|
160
|
+
* Add a raw PromptElement (escape hatch for advanced usage).
|
|
161
|
+
*/
|
|
162
|
+
raw(element: PromptElement | Promise<PromptElement>): PromptBuilder;
|
|
163
|
+
/**
|
|
164
|
+
* Build the final PromptElement tree.
|
|
165
|
+
*/
|
|
166
|
+
build(): Promise<PromptElement>;
|
|
167
|
+
/**
|
|
168
|
+
* Render the prompt directly using the provided options.
|
|
169
|
+
* Equivalent to `render(await builder.build(), options)`.
|
|
170
|
+
*/
|
|
171
|
+
render<TOptions extends RenderOptions>(options: TOptions): Promise<RenderResult<TOptions>>;
|
|
172
|
+
private addChild;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Namespace for building prompts without JSX.
|
|
176
|
+
*
|
|
177
|
+
* @example
|
|
178
|
+
* ```typescript
|
|
179
|
+
* import { cria } from "@fastpaca/cria";
|
|
180
|
+
*
|
|
181
|
+
* const prompt = cria
|
|
182
|
+
* .prompt()
|
|
183
|
+
* .system("You are helpful.")
|
|
184
|
+
* .user("Hello!")
|
|
185
|
+
* .build();
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
export declare const cria: {
|
|
189
|
+
readonly prompt: () => PromptBuilder;
|
|
190
|
+
readonly merge: (...builders: PromptBuilder[]) => PromptBuilder;
|
|
191
|
+
};
|
|
192
|
+
/**
|
|
193
|
+
* Standalone function to create a new prompt builder.
|
|
194
|
+
*/
|
|
195
|
+
export declare const prompt: () => PromptBuilder;
|
|
196
|
+
/**
|
|
197
|
+
* Merge multiple builders into one (zod-like merge).
|
|
198
|
+
*/
|
|
199
|
+
export declare const merge: (...builders: PromptBuilder[]) => PromptBuilder;
|
|
200
|
+
export {};
|
|
201
|
+
//# sourceMappingURL=dsl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../src/dsl.ts"],"names":[],"mappings":"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"}
|