@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.
Files changed (80) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +123 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/emit/agents.d.ts +62 -0
  5. package/dist/emit/agents.d.ts.map +1 -0
  6. package/dist/emit/agents.js +256 -0
  7. package/dist/emit/agents.js.map +1 -0
  8. package/dist/emit/business.d.ts +23 -0
  9. package/dist/emit/business.d.ts.map +1 -0
  10. package/dist/emit/business.js +414 -0
  11. package/dist/emit/business.js.map +1 -0
  12. package/dist/emit/control.d.ts +40 -0
  13. package/dist/emit/control.d.ts.map +1 -0
  14. package/dist/emit/control.js +108 -0
  15. package/dist/emit/control.js.map +1 -0
  16. package/dist/emit/file.d.ts +64 -0
  17. package/dist/emit/file.d.ts.map +1 -0
  18. package/dist/emit/file.js +80 -0
  19. package/dist/emit/file.js.map +1 -0
  20. package/dist/emit/guardrails.d.ts +45 -0
  21. package/dist/emit/guardrails.d.ts.map +1 -0
  22. package/dist/emit/guardrails.js +192 -0
  23. package/dist/emit/guardrails.js.map +1 -0
  24. package/dist/emit/infrastructure.d.ts +15 -0
  25. package/dist/emit/infrastructure.d.ts.map +1 -0
  26. package/dist/emit/infrastructure.js +238 -0
  27. package/dist/emit/infrastructure.js.map +1 -0
  28. package/dist/emit/pipelines.d.ts +46 -0
  29. package/dist/emit/pipelines.d.ts.map +1 -0
  30. package/dist/emit/pipelines.js +1015 -0
  31. package/dist/emit/pipelines.js.map +1 -0
  32. package/dist/emit/prompts.d.ts +14 -0
  33. package/dist/emit/prompts.d.ts.map +1 -0
  34. package/dist/emit/prompts.js +61 -0
  35. package/dist/emit/prompts.js.map +1 -0
  36. package/dist/emit/retrieval.d.ts +19 -0
  37. package/dist/emit/retrieval.d.ts.map +1 -0
  38. package/dist/emit/retrieval.js +206 -0
  39. package/dist/emit/retrieval.js.map +1 -0
  40. package/dist/emit/schemas.d.ts +22 -0
  41. package/dist/emit/schemas.d.ts.map +1 -0
  42. package/dist/emit/schemas.js +145 -0
  43. package/dist/emit/schemas.js.map +1 -0
  44. package/dist/emit/text.d.ts +86 -0
  45. package/dist/emit/text.d.ts.map +1 -0
  46. package/dist/emit/text.js +242 -0
  47. package/dist/emit/text.js.map +1 -0
  48. package/dist/emit/tools.d.ts +15 -0
  49. package/dist/emit/tools.d.ts.map +1 -0
  50. package/dist/emit/tools.js +225 -0
  51. package/dist/emit/tools.js.map +1 -0
  52. package/dist/errors.d.ts +12 -0
  53. package/dist/errors.d.ts.map +1 -0
  54. package/dist/errors.js +16 -0
  55. package/dist/errors.js.map +1 -0
  56. package/dist/index.d.ts +36 -0
  57. package/dist/index.d.ts.map +1 -0
  58. package/dist/index.js +47 -0
  59. package/dist/index.js.map +1 -0
  60. package/dist/manifest.d.ts +48 -0
  61. package/dist/manifest.d.ts.map +1 -0
  62. package/dist/manifest.js +88 -0
  63. package/dist/manifest.js.map +1 -0
  64. package/dist/names.d.ts +57 -0
  65. package/dist/names.d.ts.map +1 -0
  66. package/dist/names.js +294 -0
  67. package/dist/names.js.map +1 -0
  68. package/dist/placeholders.d.ts +48 -0
  69. package/dist/placeholders.d.ts.map +1 -0
  70. package/dist/placeholders.js +114 -0
  71. package/dist/placeholders.js.map +1 -0
  72. package/dist/plan.d.ts +18 -0
  73. package/dist/plan.d.ts.map +1 -0
  74. package/dist/plan.js +81 -0
  75. package/dist/plan.js.map +1 -0
  76. package/dist/validate.d.ts +88 -0
  77. package/dist/validate.d.ts.map +1 -0
  78. package/dist/validate.js +790 -0
  79. package/dist/validate.js.map +1 -0
  80. 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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"}