@aid-framework/generator-ts-vercel 0.0.0 → 0.1.48
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/LICENSE +201 -0
- package/README.md +123 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/emit/agents.d.ts +62 -0
- package/dist/emit/agents.d.ts.map +1 -0
- package/dist/emit/agents.js +256 -0
- package/dist/emit/agents.js.map +1 -0
- package/dist/emit/business.d.ts +23 -0
- package/dist/emit/business.d.ts.map +1 -0
- package/dist/emit/business.js +414 -0
- package/dist/emit/business.js.map +1 -0
- package/dist/emit/control.d.ts +40 -0
- package/dist/emit/control.d.ts.map +1 -0
- package/dist/emit/control.js +108 -0
- package/dist/emit/control.js.map +1 -0
- package/dist/emit/file.d.ts +64 -0
- package/dist/emit/file.d.ts.map +1 -0
- package/dist/emit/file.js +80 -0
- package/dist/emit/file.js.map +1 -0
- package/dist/emit/guardrails.d.ts +45 -0
- package/dist/emit/guardrails.d.ts.map +1 -0
- package/dist/emit/guardrails.js +192 -0
- package/dist/emit/guardrails.js.map +1 -0
- package/dist/emit/infrastructure.d.ts +15 -0
- package/dist/emit/infrastructure.d.ts.map +1 -0
- package/dist/emit/infrastructure.js +238 -0
- package/dist/emit/infrastructure.js.map +1 -0
- package/dist/emit/pipelines.d.ts +46 -0
- package/dist/emit/pipelines.d.ts.map +1 -0
- package/dist/emit/pipelines.js +1015 -0
- package/dist/emit/pipelines.js.map +1 -0
- package/dist/emit/prompts.d.ts +14 -0
- package/dist/emit/prompts.d.ts.map +1 -0
- package/dist/emit/prompts.js +61 -0
- package/dist/emit/prompts.js.map +1 -0
- package/dist/emit/retrieval.d.ts +19 -0
- package/dist/emit/retrieval.d.ts.map +1 -0
- package/dist/emit/retrieval.js +206 -0
- package/dist/emit/retrieval.js.map +1 -0
- package/dist/emit/schemas.d.ts +22 -0
- package/dist/emit/schemas.d.ts.map +1 -0
- package/dist/emit/schemas.js +145 -0
- package/dist/emit/schemas.js.map +1 -0
- package/dist/emit/text.d.ts +86 -0
- package/dist/emit/text.d.ts.map +1 -0
- package/dist/emit/text.js +242 -0
- package/dist/emit/text.js.map +1 -0
- package/dist/emit/tools.d.ts +15 -0
- package/dist/emit/tools.d.ts.map +1 -0
- package/dist/emit/tools.js +225 -0
- package/dist/emit/tools.js.map +1 -0
- package/dist/errors.d.ts +12 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +16 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest.d.ts +48 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +88 -0
- package/dist/manifest.js.map +1 -0
- package/dist/names.d.ts +57 -0
- package/dist/names.d.ts.map +1 -0
- package/dist/names.js +294 -0
- package/dist/names.js.map +1 -0
- package/dist/placeholders.d.ts +48 -0
- package/dist/placeholders.d.ts.map +1 -0
- package/dist/placeholders.js +114 -0
- package/dist/placeholders.js.map +1 -0
- package/dist/plan.d.ts +18 -0
- package/dist/plan.d.ts.map +1 -0
- package/dist/plan.js +81 -0
- package/dist/plan.js.map +1 -0
- package/dist/validate.d.ts +88 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +790 -0
- package/dist/validate.js.map +1 -0
- package/package.json +43 -14
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipelines.js","sourceRoot":"","sources":["../../src/emit/pipelines.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `generated/prompts/*.ts`.
|
|
3
|
+
*
|
|
4
|
+
* A prompt is emitted as a `PromptTemplate` rather than as a string constant: the
|
|
5
|
+
* runtime refuses to render a template with a missing or unused variable, and that
|
|
6
|
+
* refusal is worth keeping. Business overrides are merged at build time from the
|
|
7
|
+
* never-overwritten tier, so changing a prompt's wording does not touch generated code.
|
|
8
|
+
*/
|
|
9
|
+
import type { IR } from '@aid-framework/ir';
|
|
10
|
+
import { type EmittedFile } from './file.js';
|
|
11
|
+
export declare function promptConstant(id: string): string;
|
|
12
|
+
export declare function emitPromptModules(ir: IR): EmittedFile[];
|
|
13
|
+
export declare function emitPromptsIndex(ir: IR): EmittedFile;
|
|
14
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/emit/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAe,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAAE,KAAK,WAAW,EAAgC,MAAM,WAAW,CAAC;AAG3E,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEjD;AAwBD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAIvD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,WAAW,CAsBpD"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `generated/prompts/*.ts`.
|
|
3
|
+
*
|
|
4
|
+
* A prompt is emitted as a `PromptTemplate` rather than as a string constant: the
|
|
5
|
+
* runtime refuses to render a template with a missing or unused variable, and that
|
|
6
|
+
* refusal is worth keeping. Business overrides are merged at build time from the
|
|
7
|
+
* never-overwritten tier, so changing a prompt's wording does not touch generated code.
|
|
8
|
+
*/
|
|
9
|
+
import { literal, toSnakeCase } from '../names.js';
|
|
10
|
+
import { runtimeTemplate } from '../placeholders.js';
|
|
11
|
+
import { generated, paths, promptPath } from './file.js';
|
|
12
|
+
import { arrayLiteral, importStatement, moduleText, templateLiteral } from './text.js';
|
|
13
|
+
export function promptConstant(id) {
|
|
14
|
+
return toSnakeCase(id).toUpperCase();
|
|
15
|
+
}
|
|
16
|
+
function promptModule(prompt) {
|
|
17
|
+
const required = prompt.variables.filter((variable) => variable.required).map((v) => v.name);
|
|
18
|
+
const fields = [
|
|
19
|
+
` name: ${literal(prompt.id)},`,
|
|
20
|
+
` version: ${literal(String(prompt.version))},`,
|
|
21
|
+
// The template is the IR's mustache body converted to the `str.format` fields the
|
|
22
|
+
// runtime renders, and it is emitted verbatim: re-indenting it would change the
|
|
23
|
+
// text the model is shown.
|
|
24
|
+
` template: ${templateLiteral(runtimeTemplate(prompt.template))},`,
|
|
25
|
+
];
|
|
26
|
+
if (required.length > 0) {
|
|
27
|
+
fields.push(` required: [${required.map((name) => literal(name)).join(', ')}],`);
|
|
28
|
+
}
|
|
29
|
+
return [
|
|
30
|
+
importStatement('@aid-framework/runtime', [{ name: 'PromptTemplate', type: false }]),
|
|
31
|
+
'',
|
|
32
|
+
`export const ${promptConstant(prompt.id)} = new PromptTemplate({`,
|
|
33
|
+
...fields,
|
|
34
|
+
'});',
|
|
35
|
+
].join('\n');
|
|
36
|
+
}
|
|
37
|
+
export function emitPromptModules(ir) {
|
|
38
|
+
return ir.prompts.map((prompt) => generated(promptPath(toSnakeCase(prompt.id)), moduleText(promptModule(prompt))));
|
|
39
|
+
}
|
|
40
|
+
export function emitPromptsIndex(ir) {
|
|
41
|
+
const header = [
|
|
42
|
+
importStatement('@aid-framework/runtime', [{ name: 'PromptRegistry', type: false }]),
|
|
43
|
+
importStatement('../../business/prompts/index.js', [{ name: 'OVERRIDES', type: false }]),
|
|
44
|
+
...ir.prompts.map((prompt) => importStatement(`./${toSnakeCase(prompt.id)}.js`, [
|
|
45
|
+
{ name: promptConstant(prompt.id), type: false },
|
|
46
|
+
])),
|
|
47
|
+
].join('\n');
|
|
48
|
+
const names = ir.prompts.map((prompt) => promptConstant(prompt.id));
|
|
49
|
+
const body = [
|
|
50
|
+
`const TEMPLATES = ${arrayLiteral(names, ' ')};`,
|
|
51
|
+
'',
|
|
52
|
+
'/** The generated templates, with any business override layered on top. */',
|
|
53
|
+
'export function buildPrompts(): PromptRegistry {',
|
|
54
|
+
' const registry = new PromptRegistry();',
|
|
55
|
+
' for (const template of [...TEMPLATES, ...OVERRIDES]) registry.register(template);',
|
|
56
|
+
' return registry;',
|
|
57
|
+
'}',
|
|
58
|
+
].join('\n');
|
|
59
|
+
return generated(paths.promptsIndex, moduleText(header, body));
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/emit/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `generated/retrieval/*`.
|
|
3
|
+
*
|
|
4
|
+
* The declared vector store is the target's `vectorStore: 'pgvector'` commitment, and it
|
|
5
|
+
* reaches the runtime as `VectorStoreSpec.kind`, not as an `emitsAgainst` key: the
|
|
6
|
+
* generator manifest vocabulary has no `vectorStore` field, so declaring one would be
|
|
7
|
+
* rejected as an unknown key. The spec's store kind is what actually selects the
|
|
8
|
+
* adapter, so it is carried here where it is load-bearing.
|
|
9
|
+
*
|
|
10
|
+
* Nothing here imports `Dataset`, which reads the filesystem: these modules are imported
|
|
11
|
+
* by the route handlers and must stay usable in an edge runtime.
|
|
12
|
+
*/
|
|
13
|
+
import type { IR } from '@aid-framework/ir';
|
|
14
|
+
import { type EmittedFile } from './file.js';
|
|
15
|
+
export declare function emitRetrievalBindings(ir: IR): EmittedFile;
|
|
16
|
+
export declare function emitRetrievalIndex(ir: IR): EmittedFile;
|
|
17
|
+
export declare function emitRetrievalIngestModules(ir: IR): EmittedFile[];
|
|
18
|
+
export declare function emitRetrievalIngestIndex(ir: IR): EmittedFile;
|
|
19
|
+
//# sourceMappingURL=retrieval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../src/emit/retrieval.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAkB,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,KAAK,WAAW,EAA+C,MAAM,WAAW,CAAC;AA8D1F,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,WAAW,CA+DzD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,WAAW,CA6CtD;AA8BD,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAIhE;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,EAAE,GAAG,WAAW,CAa5D"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `generated/retrieval/*`.
|
|
3
|
+
*
|
|
4
|
+
* The declared vector store is the target's `vectorStore: 'pgvector'` commitment, and it
|
|
5
|
+
* reaches the runtime as `VectorStoreSpec.kind`, not as an `emitsAgainst` key: the
|
|
6
|
+
* generator manifest vocabulary has no `vectorStore` field, so declaring one would be
|
|
7
|
+
* rejected as an unknown key. The spec's store kind is what actually selects the
|
|
8
|
+
* adapter, so it is carried here where it is load-bearing.
|
|
9
|
+
*
|
|
10
|
+
* Nothing here imports `Dataset`, which reads the filesystem: these modules are imported
|
|
11
|
+
* by the route handlers and must stay usable in an edge runtime.
|
|
12
|
+
*/
|
|
13
|
+
import { literal, propertyKey } from '../names.js';
|
|
14
|
+
import { generated, paths, retrievalIngestModulePath } from './file.js';
|
|
15
|
+
import { exportStatement, importStatement, moduleText, tsValue } from './text.js';
|
|
16
|
+
function sourceExpression(retriever) {
|
|
17
|
+
const fields = [
|
|
18
|
+
`kind: ${literal(retriever.source.kind)}`,
|
|
19
|
+
`uri: ${literal(retriever.source.uri)}`,
|
|
20
|
+
];
|
|
21
|
+
if (retriever.source.glob !== undefined)
|
|
22
|
+
fields.push(`glob: ${literal(retriever.source.glob)}`);
|
|
23
|
+
return `new SourceSpec({ ${fields.join(', ')} })`;
|
|
24
|
+
}
|
|
25
|
+
function chunkingExpression(retriever) {
|
|
26
|
+
const keep = retriever.chunking.keepMetadata;
|
|
27
|
+
return [
|
|
28
|
+
'new ChunkingSpec({',
|
|
29
|
+
` strategy: ${literal(retriever.chunking.strategy)},`,
|
|
30
|
+
` size: ${literal(retriever.chunking.size)},`,
|
|
31
|
+
` overlap: ${literal(retriever.chunking.overlap)},`,
|
|
32
|
+
` keepMetadata: [${keep.map((name) => literal(name)).join(', ')}],`,
|
|
33
|
+
' })',
|
|
34
|
+
].join('\n');
|
|
35
|
+
}
|
|
36
|
+
function indexExpression(retriever) {
|
|
37
|
+
return [
|
|
38
|
+
'new IndexSpec({',
|
|
39
|
+
` metric: ${literal(retriever.index.metric)},`,
|
|
40
|
+
` hybrid: ${literal(retriever.index.hybrid)},`,
|
|
41
|
+
' })',
|
|
42
|
+
].join('\n');
|
|
43
|
+
}
|
|
44
|
+
function retrieverExpression(retriever) {
|
|
45
|
+
const lines = [
|
|
46
|
+
` ${propertyKey(retriever.id)}: new RetrieverSpec({`,
|
|
47
|
+
` id: ${literal(retriever.id)},`,
|
|
48
|
+
` source: ${sourceExpression(retriever)},`,
|
|
49
|
+
` chunking: ${chunkingExpression(retriever)},`,
|
|
50
|
+
` embedModel: ${literal(retriever.embedModel)},`,
|
|
51
|
+
` store: ${literal(retriever.store)},`,
|
|
52
|
+
` index: ${indexExpression(retriever)},`,
|
|
53
|
+
` topK: ${literal(retriever.topK)},`,
|
|
54
|
+
];
|
|
55
|
+
if (retriever.rerank !== undefined) {
|
|
56
|
+
lines.push(` rerank: new RerankSpec({ model: ${literal(retriever.rerank.model)}, topN: ${literal(retriever.rerank.topN)} }),`);
|
|
57
|
+
}
|
|
58
|
+
lines.push(` refresh: new RefreshSpec({ mode: ${literal(retriever.refresh.mode)} }),`, ` traits: ${tsValue(retriever.traits.map((trait) => trait.name), ' ')},`, ' }),');
|
|
59
|
+
return lines.join('\n');
|
|
60
|
+
}
|
|
61
|
+
export function emitRetrievalBindings(ir) {
|
|
62
|
+
const header = importStatement('@aid-framework/runtime', [
|
|
63
|
+
{ name: 'ChunkingSpec', type: false },
|
|
64
|
+
{ name: 'EmbeddingCostProfile', type: false },
|
|
65
|
+
{ name: 'EmbeddingSpec', type: false },
|
|
66
|
+
{ name: 'IndexSpec', type: false },
|
|
67
|
+
{ name: 'RefreshSpec', type: false },
|
|
68
|
+
{ name: 'RerankSpec', type: false },
|
|
69
|
+
{ name: 'RetrieverSpec', type: false },
|
|
70
|
+
{ name: 'SourceSpec', type: false },
|
|
71
|
+
{ name: 'VectorStoreSpec', type: false },
|
|
72
|
+
]);
|
|
73
|
+
const embeddings = ir.embeddings
|
|
74
|
+
.map((embedding) => {
|
|
75
|
+
const fields = [
|
|
76
|
+
` id: ${literal(embedding.id)},`,
|
|
77
|
+
` provider: ${literal(embedding.provider)},`,
|
|
78
|
+
` modelId: ${literal(embedding.modelId)},`,
|
|
79
|
+
];
|
|
80
|
+
if (embedding.dimensions !== undefined) {
|
|
81
|
+
fields.push(` dimensions: ${literal(embedding.dimensions)},`);
|
|
82
|
+
}
|
|
83
|
+
const profile = embedding.costProfile;
|
|
84
|
+
if (profile !== undefined) {
|
|
85
|
+
fields.push(` costProfile: new EmbeddingCostProfile({ inputPerMTok: ${literal(profile.inputPerMTok)}, outputPerMTok: ${literal(profile.outputPerMTok)} }),`);
|
|
86
|
+
}
|
|
87
|
+
return [` ${propertyKey(embedding.id)}: new EmbeddingSpec({`, ...fields, ' }),'].join('\n');
|
|
88
|
+
})
|
|
89
|
+
.join('\n');
|
|
90
|
+
const stores = ir.stores
|
|
91
|
+
.map((store) => {
|
|
92
|
+
const fields = [` id: ${literal(store.id)},`, ` kind: ${literal(store.kind)},`];
|
|
93
|
+
if (store.uri !== undefined)
|
|
94
|
+
fields.push(` uri: ${literal(store.uri)},`);
|
|
95
|
+
if (store.dimensions !== undefined)
|
|
96
|
+
fields.push(` dimensions: ${literal(store.dimensions)},`);
|
|
97
|
+
return [` ${propertyKey(store.id)}: new VectorStoreSpec({`, ...fields, ' }),'].join('\n');
|
|
98
|
+
})
|
|
99
|
+
.join('\n');
|
|
100
|
+
const retrievers = ir.retrievers.map(retrieverExpression).join('\n');
|
|
101
|
+
const body = [
|
|
102
|
+
'/** The embedding models the IR pins, by alias. */',
|
|
103
|
+
'export const EMBEDDINGS: Readonly<Record<string, EmbeddingSpec>> = {',
|
|
104
|
+
embeddings,
|
|
105
|
+
'};',
|
|
106
|
+
'',
|
|
107
|
+
'/** The vector stores the IR declares, by id. `kind` selects the adapter. */',
|
|
108
|
+
'export const STORES: Readonly<Record<string, VectorStoreSpec>> = {',
|
|
109
|
+
stores,
|
|
110
|
+
'};',
|
|
111
|
+
'',
|
|
112
|
+
'/** The retrievers, by id. */',
|
|
113
|
+
'export const RETRIEVERS: Readonly<Record<string, RetrieverSpec>> = {',
|
|
114
|
+
retrievers,
|
|
115
|
+
'};',
|
|
116
|
+
].join('\n');
|
|
117
|
+
return generated(paths.retrievalBindings, moduleText(header, body));
|
|
118
|
+
}
|
|
119
|
+
export function emitRetrievalIndex(ir) {
|
|
120
|
+
void ir;
|
|
121
|
+
const header = [
|
|
122
|
+
importStatement('@aid-framework/runtime', [
|
|
123
|
+
{ name: 'ConfigurationError', type: false },
|
|
124
|
+
{ name: 'Retriever', type: false },
|
|
125
|
+
{ name: 'bindingFromSpec', type: false },
|
|
126
|
+
]),
|
|
127
|
+
importStatement('./bindings.js', [
|
|
128
|
+
{ name: 'EMBEDDINGS', type: false },
|
|
129
|
+
{ name: 'RETRIEVERS', type: false },
|
|
130
|
+
{ name: 'STORES', type: false },
|
|
131
|
+
]),
|
|
132
|
+
].join('\n');
|
|
133
|
+
const body = [
|
|
134
|
+
'/**',
|
|
135
|
+
' * Build every declared retriever.',
|
|
136
|
+
' *',
|
|
137
|
+
' * The binding is resolved and validated here rather than trusted: a mistyped',
|
|
138
|
+
' * `embedModel` or `store` id is a startup error naming both ids, not an empty corpus',
|
|
139
|
+
' * discovered much later.',
|
|
140
|
+
' */',
|
|
141
|
+
'export function buildRetrievers(): ReadonlyMap<string, Retriever> {',
|
|
142
|
+
' const built = new Map<string, Retriever>();',
|
|
143
|
+
' for (const spec of Object.values(RETRIEVERS)) {',
|
|
144
|
+
' const embedding = EMBEDDINGS[spec.embedModel];',
|
|
145
|
+
' if (embedding === undefined) {',
|
|
146
|
+
' throw new ConfigurationError(',
|
|
147
|
+
// biome-ignore lint/suspicious/noTemplateCurlyInString: this is emitted source, not interpolation
|
|
148
|
+
' `retriever ${JSON.stringify(spec.id)} names embedding ${JSON.stringify(spec.embedModel)}, which is not declared`,',
|
|
149
|
+
' );',
|
|
150
|
+
' }',
|
|
151
|
+
' const store = STORES[spec.store];',
|
|
152
|
+
' if (store === undefined) {',
|
|
153
|
+
' throw new ConfigurationError(',
|
|
154
|
+
// biome-ignore lint/suspicious/noTemplateCurlyInString: this is emitted source, not interpolation
|
|
155
|
+
' `retriever ${JSON.stringify(spec.id)} names store ${JSON.stringify(spec.store)}, which is not declared`,',
|
|
156
|
+
' );',
|
|
157
|
+
' }',
|
|
158
|
+
' built.set(spec.id, new Retriever(bindingFromSpec(spec, { embedding, store })));',
|
|
159
|
+
' }',
|
|
160
|
+
' return built;',
|
|
161
|
+
'}',
|
|
162
|
+
].join('\n');
|
|
163
|
+
return generated(paths.retrievalIndex, moduleText(header, body));
|
|
164
|
+
}
|
|
165
|
+
function ingestModule(retriever) {
|
|
166
|
+
const header = [
|
|
167
|
+
importStatement('@aid-framework/runtime', [{ name: 'IngestReport', type: true }]),
|
|
168
|
+
importStatement('../index.js', [{ name: 'buildRetrievers', type: false }]),
|
|
169
|
+
].join('\n');
|
|
170
|
+
return [
|
|
171
|
+
header,
|
|
172
|
+
'',
|
|
173
|
+
'/**',
|
|
174
|
+
` * Ingest the corpus the \`${retriever.id}\` retriever declares.`,
|
|
175
|
+
' *',
|
|
176
|
+
' * Idempotent because chunk ids are content-addressed: re-running writes the same ids',
|
|
177
|
+
' * rather than appending duplicates.',
|
|
178
|
+
' */',
|
|
179
|
+
'export async function ingest(): Promise<IngestReport> {',
|
|
180
|
+
` const retriever = buildRetrievers().get(${literal(retriever.id)});`,
|
|
181
|
+
' if (retriever === undefined) {',
|
|
182
|
+
` throw new Error(${literal(`no retriever ${retriever.id}`)});`,
|
|
183
|
+
' }',
|
|
184
|
+
' try {',
|
|
185
|
+
' return await retriever.ingest();',
|
|
186
|
+
' } finally {',
|
|
187
|
+
' await retriever.close();',
|
|
188
|
+
' }',
|
|
189
|
+
'}',
|
|
190
|
+
].join('\n');
|
|
191
|
+
}
|
|
192
|
+
export function emitRetrievalIngestModules(ir) {
|
|
193
|
+
return ir.retrievers.map((retriever) => generated(retrievalIngestModulePath(retriever.id), moduleText(ingestModule(retriever))));
|
|
194
|
+
}
|
|
195
|
+
export function emitRetrievalIngestIndex(ir) {
|
|
196
|
+
const lines = ir.retrievers.length === 0
|
|
197
|
+
? ['// This project declares no retrievers, so there is nothing to ingest.']
|
|
198
|
+
: ir.retrievers.map((retriever) => exportStatement(`./${retriever.id}.js`, [
|
|
199
|
+
[
|
|
200
|
+
'ingest',
|
|
201
|
+
`ingest${retriever.id.replace(/(?:^|_)(\w)/g, (_, c) => c.toUpperCase())}`,
|
|
202
|
+
],
|
|
203
|
+
]));
|
|
204
|
+
return generated(paths.retrievalIngestIndex, moduleText(...lines));
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=retrieval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval.js","sourceRoot":"","sources":["../../src/emit/retrieval.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `generated/schemas.ts` and `generated/requests.ts`.
|
|
3
|
+
*
|
|
4
|
+
* The plan's `emitsAgainst.structuredOutput = 'zod'` is realised here: every IR type
|
|
5
|
+
* becomes a zod schema, and every structured prompt output validates through one. A zod
|
|
6
|
+
* schema is used both as the runtime validator and, through `z.infer`, as the static
|
|
7
|
+
* type, so there is exactly one definition of each shape per generated app.
|
|
8
|
+
*/
|
|
9
|
+
import type { IR, TypeField, TypeRef } from '@aid-framework/ir';
|
|
10
|
+
import { type EmittedFile } from './file.js';
|
|
11
|
+
export declare function emitSchemas(ir: IR): EmittedFile;
|
|
12
|
+
/** Every field a pipeline can reference as `event.<name>`, with its declared type. */
|
|
13
|
+
export declare function eventFields(ir: IR): {
|
|
14
|
+
name: string;
|
|
15
|
+
field?: TypeField;
|
|
16
|
+
}[];
|
|
17
|
+
export declare function emitRequests(ir: IR): EmittedFile | undefined;
|
|
18
|
+
/** The request type name of one pipeline. */
|
|
19
|
+
export declare function requestTypeName(ir: IR, pipelineId: string): string;
|
|
20
|
+
/** The zod const name for one IR type. */
|
|
21
|
+
export declare function schemaName(ref: TypeRef): string;
|
|
22
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/emit/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,EAAE,EAGF,SAAS,EACT,OAAO,EAER,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,WAAW,EAAoB,MAAM,WAAW,CAAC;AAsC/D,wBAAgB,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,WAAW,CAS/C;AAED,sFAAsF;AACtF,wBAAgB,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,EAAE,CAwBzE;AAwCD,wBAAgB,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,SAAS,CAI5D;AAED,6CAA6C;AAC7C,wBAAgB,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED,0CAA0C;AAC1C,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE/C"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `generated/schemas.ts` and `generated/requests.ts`.
|
|
3
|
+
*
|
|
4
|
+
* The plan's `emitsAgainst.structuredOutput = 'zod'` is realised here: every IR type
|
|
5
|
+
* becomes a zod schema, and every structured prompt output validates through one. A zod
|
|
6
|
+
* schema is used both as the runtime validator and, through `z.infer`, as the static
|
|
7
|
+
* type, so there is exactly one definition of each shape per generated app.
|
|
8
|
+
*/
|
|
9
|
+
import { className, literal, zodPrimitive } from '../names.js';
|
|
10
|
+
import { generated, paths } from './file.js';
|
|
11
|
+
import { moduleText } from './text.js';
|
|
12
|
+
const ZOD_HEADER = "import { z } from 'zod';";
|
|
13
|
+
/** The zod expression for one field's value, before optionality is applied. */
|
|
14
|
+
function fieldExpression(field) {
|
|
15
|
+
if (field.enum !== undefined && field.enum.length > 0) {
|
|
16
|
+
const strings = field.enum.every((value) => typeof value === 'string');
|
|
17
|
+
if (strings) {
|
|
18
|
+
return `z.enum([${field.enum.map((value) => literal(value)).join(', ')}])`;
|
|
19
|
+
}
|
|
20
|
+
return `z.union([${field.enum.map((value) => `z.literal(${literal(value)})`).join(', ')}])`;
|
|
21
|
+
}
|
|
22
|
+
if (field.type.kind === 'named')
|
|
23
|
+
return className(field.type.name);
|
|
24
|
+
let expression = zodPrimitive(field.type.name);
|
|
25
|
+
if (field.minimum !== undefined)
|
|
26
|
+
expression += `.min(${literal(field.minimum)})`;
|
|
27
|
+
if (field.maximum !== undefined)
|
|
28
|
+
expression += `.max(${literal(field.maximum)})`;
|
|
29
|
+
return expression;
|
|
30
|
+
}
|
|
31
|
+
function fieldLine(field) {
|
|
32
|
+
const expression = fieldExpression(field);
|
|
33
|
+
return ` ${field.name}: ${field.required ? expression : `${expression}.optional()`},`;
|
|
34
|
+
}
|
|
35
|
+
function typeShapeModule(shape) {
|
|
36
|
+
const name = className(shape.id);
|
|
37
|
+
const lines = [
|
|
38
|
+
`export const ${name} = z.object({`,
|
|
39
|
+
...shape.fields.map(fieldLine),
|
|
40
|
+
'});',
|
|
41
|
+
'',
|
|
42
|
+
`export type ${name} = z.infer<typeof ${name}>;`,
|
|
43
|
+
];
|
|
44
|
+
return lines.join('\n');
|
|
45
|
+
}
|
|
46
|
+
export function emitSchemas(ir) {
|
|
47
|
+
const header = [
|
|
48
|
+
ZOD_HEADER,
|
|
49
|
+
'',
|
|
50
|
+
// Import order matters for reading, not for correctness; schemas reference each
|
|
51
|
+
// other only through `z.lazy`-free direct references, which the IR keeps acyclic.
|
|
52
|
+
].join('\n');
|
|
53
|
+
const body = ir.types.map(typeShapeModule).join('\n\n');
|
|
54
|
+
return generated(paths.schemas, moduleText(header, body));
|
|
55
|
+
}
|
|
56
|
+
/** Every field a pipeline can reference as `event.<name>`, with its declared type. */
|
|
57
|
+
export function eventFields(ir) {
|
|
58
|
+
const byType = new Map();
|
|
59
|
+
for (const shape of ir.types)
|
|
60
|
+
byType.set(shape.id, shape);
|
|
61
|
+
const fieldIndex = new Map();
|
|
62
|
+
for (const tool of ir.tools) {
|
|
63
|
+
if (tool.input.kind !== 'named')
|
|
64
|
+
continue;
|
|
65
|
+
const shape = byType.get(tool.input.name);
|
|
66
|
+
if (shape === undefined)
|
|
67
|
+
continue;
|
|
68
|
+
for (const field of shape.fields)
|
|
69
|
+
fieldIndex.set(field.name, field);
|
|
70
|
+
}
|
|
71
|
+
const names = [];
|
|
72
|
+
const visit = (value) => {
|
|
73
|
+
if (value.kind !== 'reference')
|
|
74
|
+
return;
|
|
75
|
+
const [head, second, ...rest] = value.path;
|
|
76
|
+
if (head !== 'event' || second === undefined || rest.length > 0)
|
|
77
|
+
return;
|
|
78
|
+
if (!names.includes(second))
|
|
79
|
+
names.push(second);
|
|
80
|
+
};
|
|
81
|
+
for (const pipeline of ir.pipelines)
|
|
82
|
+
visitSteps(pipeline.steps, visit);
|
|
83
|
+
return names.map((name) => {
|
|
84
|
+
const field = fieldIndex.get(name);
|
|
85
|
+
return field === undefined ? { name } : { name, field };
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/** Walks nested steps so a composite's inner references still shape the request schema. */
|
|
89
|
+
function visitSteps(steps, visit) {
|
|
90
|
+
for (const step of steps) {
|
|
91
|
+
if (step.kind === 'branch') {
|
|
92
|
+
visitSteps(step.then, visit);
|
|
93
|
+
visitSteps(step.else, visit);
|
|
94
|
+
}
|
|
95
|
+
else if (step.kind === 'parallel') {
|
|
96
|
+
for (const arm of step.branches)
|
|
97
|
+
visitSteps(arm, visit);
|
|
98
|
+
}
|
|
99
|
+
else if (step.kind === 'map') {
|
|
100
|
+
visitSteps([step.step], visit);
|
|
101
|
+
}
|
|
102
|
+
else if (step.kind === 'generate' || step.kind === 'tool') {
|
|
103
|
+
for (const value of Object.values(step.input))
|
|
104
|
+
visit(value);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
function requestFieldLine(entry) {
|
|
109
|
+
const field = entry.field;
|
|
110
|
+
if (field === undefined)
|
|
111
|
+
return ` ${entry.name}: z.string(),`;
|
|
112
|
+
return fieldLine(field);
|
|
113
|
+
}
|
|
114
|
+
function requestModule(ir) {
|
|
115
|
+
const fields = eventFields(ir);
|
|
116
|
+
if (fields.length === 0)
|
|
117
|
+
return undefined;
|
|
118
|
+
const modules = ir.pipelines.map((pipeline) => {
|
|
119
|
+
const name = `${className(pipeline.id)}Request`;
|
|
120
|
+
return [
|
|
121
|
+
`export const ${name} = z.object({`,
|
|
122
|
+
...fields.map(requestFieldLine),
|
|
123
|
+
'});',
|
|
124
|
+
'',
|
|
125
|
+
`export type ${name} = z.infer<typeof ${name}>;`,
|
|
126
|
+
].join('\n');
|
|
127
|
+
});
|
|
128
|
+
return modules.join('\n\n');
|
|
129
|
+
}
|
|
130
|
+
export function emitRequests(ir) {
|
|
131
|
+
const body = requestModule(ir);
|
|
132
|
+
if (body === undefined)
|
|
133
|
+
return undefined;
|
|
134
|
+
return generated(paths.requests, moduleText(ZOD_HEADER, body));
|
|
135
|
+
}
|
|
136
|
+
/** The request type name of one pipeline. */
|
|
137
|
+
export function requestTypeName(ir, pipelineId) {
|
|
138
|
+
void ir;
|
|
139
|
+
return `${className(pipelineId)}Request`;
|
|
140
|
+
}
|
|
141
|
+
/** The zod const name for one IR type. */
|
|
142
|
+
export function schemaName(ref) {
|
|
143
|
+
return ref.kind === 'named' ? className(ref.name) : 'z.unknown()';
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/emit/schemas.ts"],"names":[],"mappings":"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"}
|