@specverse/engines 6.39.0 → 6.40.7

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 (32) hide show
  1. package/dist/libs/instance-factories/services/templates/prisma/controller-generator.js +39 -20
  2. package/dist/libs/instance-factories/services/templates/prisma/service-generator.js +14 -5
  3. package/dist/libs/instance-factories/services/templates/prisma/step-conventions.js +10 -1
  4. package/dist/realize/index.d.ts.map +1 -1
  5. package/dist/realize/index.js +91 -13
  6. package/dist/realize/index.js.map +1 -1
  7. package/dist/realize/per-action-emitter.d.ts.map +1 -1
  8. package/dist/realize/per-action-emitter.js +12 -3
  9. package/dist/realize/per-action-emitter.js.map +1 -1
  10. package/dist/realize/per-action-llm-emit.d.ts.map +1 -1
  11. package/dist/realize/per-action-llm-emit.js +22 -0
  12. package/dist/realize/per-action-llm-emit.js.map +1 -1
  13. package/dist/realize/per-owner-emit.d.ts +101 -0
  14. package/dist/realize/per-owner-emit.d.ts.map +1 -0
  15. package/dist/realize/per-owner-emit.js +351 -0
  16. package/dist/realize/per-owner-emit.js.map +1 -0
  17. package/dist/realize/per-owner-runner.d.ts +105 -0
  18. package/dist/realize/per-owner-runner.d.ts.map +1 -0
  19. package/dist/realize/per-owner-runner.js +336 -0
  20. package/dist/realize/per-owner-runner.js.map +1 -0
  21. package/dist/realize/runtime-emitters/library.d.ts.map +1 -1
  22. package/dist/realize/runtime-emitters/library.js +17 -1
  23. package/dist/realize/runtime-emitters/library.js.map +1 -1
  24. package/libs/instance-factories/services/templates/_shared/step-matching.d.ts +39 -0
  25. package/libs/instance-factories/services/templates/_shared/step-matching.d.ts.map +1 -0
  26. package/libs/instance-factories/services/templates/_shared/step-matching.js +90 -0
  27. package/libs/instance-factories/services/templates/_shared/step-matching.js.map +1 -0
  28. package/libs/instance-factories/services/templates/prisma/__tests__/step-conventions-return.test.ts +124 -0
  29. package/libs/instance-factories/services/templates/prisma/controller-generator.ts +70 -22
  30. package/libs/instance-factories/services/templates/prisma/service-generator.ts +52 -6
  31. package/libs/instance-factories/services/templates/prisma/step-conventions.ts +33 -1
  32. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"per-action-llm-emit.js","sourceRoot":"","sources":["../../src/realize/per-action-llm-emit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"per-action-llm-emit.js","sourceRoot":"","sources":["../../src/realize/per-action-llm-emit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Per-owner LLM emit hook — Phase 1 of the 2026-05-11-PER-OWNER-VS-PER-ACTION
3
+ * proposal.
4
+ *
5
+ * Sibling of `per-action-llm-emit.ts`. SAME structural-validator and
6
+ * parse-check infrastructure, DIFFERENT granularity: one LLM call per
7
+ * controller / service instead of one per action. Restores the
8
+ * class-level context (constructor injection, shared helpers, sibling
9
+ * methods) that per-action emission engineered out and that surfaced
10
+ * empirically as the 31% LLM-decline rate on idle-meta sonnet (the
11
+ * LLM correctly refused to invent imports it couldn't see were
12
+ * available).
13
+ *
14
+ * Three quality gates run on the emitted file:
15
+ * 1. Markdown extraction — pull the ```typescript fenced block out
16
+ * of the LLM response. Empty / missing block → null (caller
17
+ * falls through to per-action emit OR engine γ-stub).
18
+ * 2. Structural preservation (DR3) — every pre-baked snippet from
19
+ * every action's per-step matches must appear verbatim somewhere
20
+ * in the emitted file. A rewritten snippet is a loud failure;
21
+ * we throw with a diff.
22
+ * 3. esbuild parse check — the file must be syntactically valid TS.
23
+ * Surgical retry once on parse failure; if it fails again we
24
+ * return null (caller falls through).
25
+ *
26
+ * The realize-owner.prompt.yaml asset ships at:
27
+ * `@specverse/assets/prompts/core/standard/default/realize-owner.prompt.yaml`.
28
+ * Until assets is republished with it, a filesystem fallback under
29
+ * `specverse-self/assets/` is searched.
30
+ */
31
+ import { runPrompt as runPromptFn, type PromptYaml } from '../ai/prompt-runner.js';
32
+ import type { ActionSpec, MatchResult } from './per-action-emitter.js';
33
+ /** One action collected for the owner. Includes step-match results
34
+ * so the structural validator and the prompt's per-action scaffolding
35
+ * can both reference them. */
36
+ export interface CollectedOwnerAction {
37
+ /** Action / operation name as it appears in the spec. */
38
+ actionName: string;
39
+ /** Full ActionSpec for the action. */
40
+ spec: ActionSpec;
41
+ /** Per-step matcher results; matched ones contribute to the
42
+ * pre-baked snippet set that the structural validator enforces. */
43
+ perStepMatches: Array<MatchResult | null>;
44
+ }
45
+ /** Request shape for the per-owner emit hook. One per owner. */
46
+ export interface PerOwnerEmitRequest {
47
+ /** Owner identifier — controller / service / model name. */
48
+ ownerName: string;
49
+ ownerKind: 'controller' | 'service' | 'model';
50
+ /** Full owner spec block (the controller/service yaml object). */
51
+ ownerSpec: any;
52
+ /** All actions / operations on this owner, with step matches. */
53
+ actions: CollectedOwnerAction[];
54
+ /** V2 import clients string (from component's import: block). */
55
+ availableClients?: string;
56
+ /** Manifest capability mappings text (NEW vs per-action).
57
+ * Format: lines like ` - orm.client → PrismaClient (orm/prisma)`.
58
+ * The LLM uses these to decide what to import at top-of-file. */
59
+ availableCapabilities?: string;
60
+ /** Cross-method process context string. Same shape as per-action. */
61
+ processContext?: string;
62
+ }
63
+ /** Per-owner emit function signature — returns the full file contents
64
+ * (a TypeScript module with `export async function ...` per action)
65
+ * or null when emission failed. */
66
+ export type PerOwnerEmitFn = (request: PerOwnerEmitRequest) => Promise<string | null>;
67
+ /** Options for {@link createRealizeOwnerLlmEmit}. */
68
+ export interface CreateRealizeOwnerLlmEmitOptions {
69
+ /** Override `runPrompt` for tests. */
70
+ runPromptOverride?: typeof runPromptFn;
71
+ /** Override `loadPrompt` for tests; default loads `realize-owner`. */
72
+ loadPromptOverride?: () => PromptYaml;
73
+ /** Override the parse-check for tests. Returns null on success, an
74
+ * error message string on failure. */
75
+ parseCheckOverride?: (code: string) => Promise<string | null>;
76
+ /** Override the model passed to runPrompt (rare). */
77
+ model?: any;
78
+ /** Per-call timeout. Default 5min — same as microcall-orchestrator. */
79
+ timeoutMs?: number;
80
+ /** Disable the surgical retry (tests). */
81
+ disableSurgicalRetry?: boolean;
82
+ }
83
+ /**
84
+ * Build a {@link PerOwnerEmitFn} for use in per-owner realize emission.
85
+ *
86
+ * Returned function:
87
+ * 1. Builds the prompt input from the per-owner request.
88
+ * 2. Calls runPrompt({ operation: 'realize-owner', ... }).
89
+ * 3. Extracts the ```typescript block from the response.
90
+ * 4. Runs the structural validator (DR3); throws on rewrite.
91
+ * 5. Runs an esbuild parse check; surgical-retries once on failure.
92
+ * 6. Returns the file contents string, or null when all attempts
93
+ * fail (caller falls through).
94
+ */
95
+ export declare function createRealizeOwnerLlmEmit(opts?: CreateRealizeOwnerLlmEmitOptions): PerOwnerEmitFn;
96
+ /** Filesystem fallback search for the realize-owner prompt. Mirrors
97
+ * per-action-llm-emit.ts:loadRealizeActionPromptFromFallback's three-
98
+ * tier search: @specverse/assets package path, engine-bundled assets,
99
+ * worktree-sibling specverse-self/assets. */
100
+ export declare function loadRealizeOwnerPromptFromFallback(): PromptYaml | null;
101
+ //# sourceMappingURL=per-owner-emit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"per-owner-emit.d.ts","sourceRoot":"","sources":["../../src/realize/per-owner-emit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAOH,OAAO,EAEL,SAAS,IAAI,WAAW,EAGxB,KAAK,UAAU,EAGhB,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAIjC;;+BAE+B;AAC/B,MAAM,WAAW,oBAAoB;IACnC,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,IAAI,EAAE,UAAU,CAAC;IACjB;wEACoE;IACpE,cAAc,EAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CAC3C;AAED,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9C,kEAAkE;IAClE,SAAS,EAAE,GAAG,CAAC;IACf,iEAAiE;IACjE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;sEAEkE;IAClE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;oCAEoC;AACpC,MAAM,MAAM,cAAc,GAAG,CAC3B,OAAO,EAAE,mBAAmB,KACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE5B,qDAAqD;AACrD,MAAM,WAAW,gCAAgC;IAC/C,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,OAAO,WAAW,CAAC;IACvC,sEAAsE;IACtE,kBAAkB,CAAC,EAAE,MAAM,UAAU,CAAC;IACtC;2CACuC;IACvC,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9D,qDAAqD;IACrD,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,GAAE,gCAAqC,GAC1C,cAAc,CAkGhB;AAwBD;;;8CAG8C;AAC9C,wBAAgB,kCAAkC,IAAI,UAAU,GAAG,IAAI,CA8DtE"}
@@ -0,0 +1,351 @@
1
+ /**
2
+ * Per-owner LLM emit hook — Phase 1 of the 2026-05-11-PER-OWNER-VS-PER-ACTION
3
+ * proposal.
4
+ *
5
+ * Sibling of `per-action-llm-emit.ts`. SAME structural-validator and
6
+ * parse-check infrastructure, DIFFERENT granularity: one LLM call per
7
+ * controller / service instead of one per action. Restores the
8
+ * class-level context (constructor injection, shared helpers, sibling
9
+ * methods) that per-action emission engineered out and that surfaced
10
+ * empirically as the 31% LLM-decline rate on idle-meta sonnet (the
11
+ * LLM correctly refused to invent imports it couldn't see were
12
+ * available).
13
+ *
14
+ * Three quality gates run on the emitted file:
15
+ * 1. Markdown extraction — pull the ```typescript fenced block out
16
+ * of the LLM response. Empty / missing block → null (caller
17
+ * falls through to per-action emit OR engine γ-stub).
18
+ * 2. Structural preservation (DR3) — every pre-baked snippet from
19
+ * every action's per-step matches must appear verbatim somewhere
20
+ * in the emitted file. A rewritten snippet is a loud failure;
21
+ * we throw with a diff.
22
+ * 3. esbuild parse check — the file must be syntactically valid TS.
23
+ * Surgical retry once on parse failure; if it fails again we
24
+ * return null (caller falls through).
25
+ *
26
+ * The realize-owner.prompt.yaml asset ships at:
27
+ * `@specverse/assets/prompts/core/standard/default/realize-owner.prompt.yaml`.
28
+ * Until assets is republished with it, a filesystem fallback under
29
+ * `specverse-self/assets/` is searched.
30
+ */
31
+ import { readFileSync, existsSync } from 'fs';
32
+ import { dirname, join, resolve } from 'path';
33
+ import { fileURLToPath } from 'url';
34
+ import { createRequire } from 'module';
35
+ import yaml from 'js-yaml';
36
+ import { loadPrompt, runPrompt as runPromptFn, assembleSystem, assembleUser, } from '../ai/prompt-runner.js';
37
+ import { validateLlmOutputPreservesConventions, } from './structural-validator.js';
38
+ import { extractTypescriptBlock } from './per-action-llm-emit.js';
39
+ const require = createRequire(import.meta.url);
40
+ /**
41
+ * Build a {@link PerOwnerEmitFn} for use in per-owner realize emission.
42
+ *
43
+ * Returned function:
44
+ * 1. Builds the prompt input from the per-owner request.
45
+ * 2. Calls runPrompt({ operation: 'realize-owner', ... }).
46
+ * 3. Extracts the ```typescript block from the response.
47
+ * 4. Runs the structural validator (DR3); throws on rewrite.
48
+ * 5. Runs an esbuild parse check; surgical-retries once on failure.
49
+ * 6. Returns the file contents string, or null when all attempts
50
+ * fail (caller falls through).
51
+ */
52
+ export function createRealizeOwnerLlmEmit(opts = {}) {
53
+ const runPrompt = opts.runPromptOverride ?? runPromptFn;
54
+ const loadPromptResolved = opts.loadPromptOverride ?? loadRealizeOwnerPrompt;
55
+ const parseCheck = opts.parseCheckOverride ?? esbuildFileParseCheck;
56
+ return async (request) => {
57
+ // 1. Pre-bake snippets across all actions for the structural
58
+ // validator. Each matched step from any action contributes.
59
+ const prebakedSnippets = [];
60
+ for (const action of request.actions) {
61
+ action.perStepMatches.forEach((match, idx) => {
62
+ if (match?.matched && match.call) {
63
+ prebakedSnippets.push({
64
+ stepNum: idx + 1,
65
+ stepText: action.spec.steps[idx] ?? '',
66
+ snippet: match.call,
67
+ });
68
+ }
69
+ });
70
+ }
71
+ // 2. Build prompt values.
72
+ const promptValues = buildPromptValues(request);
73
+ // 3. Surgical retry loop (cap at 1).
74
+ const maxAttempts = opts.disableSurgicalRetry ? 1 : 2;
75
+ let lastParseError = null;
76
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
77
+ const userPrefix = lastParseError
78
+ ? buildSurgicalRetryPrefix(lastParseError, request.ownerName)
79
+ : '';
80
+ let runResult;
81
+ try {
82
+ // Per-owner calls produce whole-file emissions (5-15K tokens
83
+ // per call vs 1.5-3K per-action) and routinely run 60-180s
84
+ // for big owners on sonnet. The default 5-minute timeout was
85
+ // sufficient for per-action but cut off large per-owner emits
86
+ // (the 2026-05-11 trial saw GamesV3Controller, 6 actions,
87
+ // time out at exactly 300s). Bump the default to 15min for
88
+ // per-owner; callers can still tighten via opts.timeoutMs.
89
+ const timeoutMs = opts.timeoutMs ?? 900_000;
90
+ const runOpts = {
91
+ operation: 'realize-owner',
92
+ values: promptValues,
93
+ model: opts.model,
94
+ timeoutMs,
95
+ userPrefix,
96
+ };
97
+ runResult = await callRunPromptWithFallback(runPrompt, runOpts, loadPromptResolved);
98
+ }
99
+ catch (e) {
100
+ if (process.env.SPECVERSE_VERBOSE) {
101
+ const cls = (e && e.constructor && e.constructor.name) || 'Error';
102
+ const msg = (e && e.message) || String(e);
103
+ const head = String(msg).slice(0, 240).replace(/\s+/g, ' ');
104
+ console.error(` ✗ per-owner LLM emit threw for ${request.ownerName} [${cls}]: ${head}`);
105
+ }
106
+ return null;
107
+ }
108
+ // 4. Extract the ```typescript fenced block.
109
+ const fileContents = extractTypescriptBlock(runResult.text);
110
+ if (!fileContents || fileContents.trim().length === 0) {
111
+ if (process.env.SPECVERSE_VERBOSE) {
112
+ const reason = fileContents === undefined || fileContents === null
113
+ ? 'no typescript code block in LLM response'
114
+ : 'typescript block was empty';
115
+ console.error(` ✗ per-owner LLM emit empty for ${request.ownerName}: ${reason}`);
116
+ }
117
+ return null;
118
+ }
119
+ // 5. Structural validator — DR3. A rewritten pre-baked snippet
120
+ // is a LOUD failure (not a silent retry).
121
+ const structural = validateLlmOutputPreservesConventions(fileContents, prebakedSnippets);
122
+ if (structural.ok === false) {
123
+ throw new Error(`[realize-owner] structural-preservation failed for ${request.ownerName}:\n${structural.reason}`);
124
+ }
125
+ // 6. esbuild parse check — surgical retry once on parse failure.
126
+ const parseError = await parseCheck(fileContents);
127
+ if (parseError === null) {
128
+ // All gates green — return the file.
129
+ return fileContents;
130
+ }
131
+ lastParseError = parseError;
132
+ }
133
+ // Exhausted retries — fall through.
134
+ if (process.env.SPECVERSE_VERBOSE) {
135
+ const head = String(lastParseError ?? 'unknown').slice(0, 240).replace(/\s+/g, ' ');
136
+ console.error(` ✗ per-owner LLM emit parse-failed after ${maxAttempts} attempt(s) for ${request.ownerName}: ${head}`);
137
+ }
138
+ return null;
139
+ };
140
+ }
141
+ // ─── Prompt loading + assets fallback ────────────────────────────────
142
+ /** Default prompt loader. Tries the installed @specverse/assets path
143
+ * first; falls back to the in-repo specverse-self/assets/ tree for
144
+ * dev cycles where assets isn't yet republished. Mirrors the
145
+ * per-action emitter's fallback strategy. */
146
+ function loadRealizeOwnerPrompt() {
147
+ // Installed path: shipped from @specverse/assets via loadPrompt.
148
+ try {
149
+ return loadPrompt('realize-owner');
150
+ }
151
+ catch (e) {
152
+ // Try filesystem fallbacks below.
153
+ }
154
+ const fallback = loadRealizeOwnerPromptFromFallback();
155
+ if (fallback)
156
+ return fallback;
157
+ throw new Error('realize-owner.prompt.yaml not found in @specverse/assets nor the ' +
158
+ 'specverse-self/assets/ filesystem fallback. Has the assets ' +
159
+ 'package been republished since 2026-05-11?');
160
+ }
161
+ /** Filesystem fallback search for the realize-owner prompt. Mirrors
162
+ * per-action-llm-emit.ts:loadRealizeActionPromptFromFallback's three-
163
+ * tier search: @specverse/assets package path, engine-bundled assets,
164
+ * worktree-sibling specverse-self/assets. */
165
+ export function loadRealizeOwnerPromptFromFallback() {
166
+ const candidates = [];
167
+ // 1. @specverse/assets package (covers the post-publish case).
168
+ try {
169
+ const pkg = require.resolve('@specverse/assets/package.json');
170
+ candidates.push(join(dirname(pkg), 'prompts/core/standard/default/realize-owner.prompt.yaml'), join(dirname(pkg), 'prompts/core/standard/v9/realize-owner.prompt.yaml'));
171
+ }
172
+ catch {
173
+ /* assets not installed */
174
+ }
175
+ // 2. Engine-bundled assets (engines ≤ 6.0.2-style layouts).
176
+ try {
177
+ const enginesPkg = require.resolve('@specverse/engines/package.json');
178
+ candidates.push(join(dirname(enginesPkg), 'assets/prompts/core/standard/default/realize-owner.prompt.yaml'), join(dirname(enginesPkg), 'assets/prompts/core/standard/v9/realize-owner.prompt.yaml'));
179
+ }
180
+ catch {
181
+ /* engines not installed at this path */
182
+ }
183
+ // 3. @specverse/self package (covers the post-publish case where
184
+ // self has the prompts bundled but @specverse/assets doesn't yet).
185
+ // Per-owner ships to specverse-self/assets/ first during the trial.
186
+ try {
187
+ const selfPkg = require.resolve('@specverse/self/package.json');
188
+ candidates.push(join(dirname(selfPkg), 'assets/prompts/core/standard/default/realize-owner.prompt.yaml'), join(dirname(selfPkg), 'assets/prompts/core/standard/v9/realize-owner.prompt.yaml'));
189
+ }
190
+ catch {
191
+ /* self not installed at this path */
192
+ }
193
+ // 4. Worktree fallback — specverse-self lives next to specverse-engines.
194
+ try {
195
+ const here = dirname(fileURLToPath(import.meta.url));
196
+ candidates.push(resolve(here, '../../../../specverse-self/assets/prompts/core/standard/default/realize-owner.prompt.yaml'), resolve(here, '../../../../specverse-self/assets/prompts/core/standard/v9/realize-owner.prompt.yaml'), resolve(here, '../../../../../specverse-self/assets/prompts/core/standard/default/realize-owner.prompt.yaml'), resolve(here, '../../../../../specverse-self/assets/prompts/core/standard/v9/realize-owner.prompt.yaml'));
197
+ }
198
+ catch {
199
+ /* import.meta.url unavailable */
200
+ }
201
+ for (const p of candidates) {
202
+ if (existsSync(p)) {
203
+ try {
204
+ return yaml.load(readFileSync(p, 'utf-8'));
205
+ }
206
+ catch {
207
+ /* try next */
208
+ }
209
+ }
210
+ }
211
+ return null;
212
+ }
213
+ /** Wrap runPrompt with the assets-fallback prompt-loading strategy.
214
+ * Mirrors per-action-llm-emit's same-named helper: first try
215
+ * runPrompt's own loadPrompt path; on `prompt file not found`,
216
+ * fall back to the filesystem-loaded prompt and call ai-sdk
217
+ * generateText directly so we don't need a `prompt: PromptYaml`
218
+ * field on RunPromptOptions. */
219
+ async function callRunPromptWithFallback(runPromptImpl, opts, fallbackLoader) {
220
+ // First try: let runPrompt do its own loadPrompt.
221
+ try {
222
+ return await runPromptImpl(opts);
223
+ }
224
+ catch (e) {
225
+ const msg = e?.message ?? String(e);
226
+ if (!/prompt file not found for "realize-owner"/i.test(msg)) {
227
+ throw e;
228
+ }
229
+ }
230
+ // Second try: load via fallback + call ai-sdk directly.
231
+ const prompt = fallbackLoader();
232
+ const system = assembleSystem(prompt);
233
+ const baseUser = assembleUser(prompt, opts.values);
234
+ const user = (opts.userPrefix || '') + baseUser;
235
+ if (typeof opts.onAssembled === 'function') {
236
+ opts.onAssembled({ system, user });
237
+ }
238
+ const aiSdk = await import('ai');
239
+ const { resolveModel } = await import('../ai/model-resolver.js');
240
+ const model = opts.model ?? resolveModel({ ...(opts.modelOptions ?? {}), timeout: opts.timeoutMs ?? 300_000 });
241
+ const t0 = Date.now();
242
+ const result = await aiSdk.generateText({
243
+ model,
244
+ system,
245
+ prompt: user,
246
+ abortSignal: AbortSignal.timeout(opts.timeoutMs ?? 300_000),
247
+ });
248
+ const duration_ms = Date.now() - t0;
249
+ return {
250
+ text: result.text,
251
+ tokens: {
252
+ input: result.usage?.inputTokens?.total ?? null,
253
+ output: result.usage?.outputTokens?.total ?? null,
254
+ },
255
+ duration_ms,
256
+ system,
257
+ user,
258
+ providerId: model.provider,
259
+ modelId: model.modelId,
260
+ };
261
+ }
262
+ // ─── Prompt input builder ────────────────────────────────────────────
263
+ /** Build the prompt-values map that the realize-owner.prompt.yaml
264
+ * user template references. */
265
+ function buildPromptValues(request) {
266
+ const ownerSpecYaml = yamlDumpOwner(request.ownerSpec, request.ownerName);
267
+ const perActionScaffolding = buildPerActionScaffolding(request.actions);
268
+ return {
269
+ ownerName: request.ownerName,
270
+ ownerKind: request.ownerKind,
271
+ ownerSpec: ownerSpecYaml,
272
+ perActionScaffolding,
273
+ availableClients: request.availableClients ?? '(none)',
274
+ availableCapabilities: request.availableCapabilities ?? '(none — only `input: any` is available)',
275
+ processContext: request.processContext ?? '(no related processes)',
276
+ };
277
+ }
278
+ /** Render the owner's spec body as YAML. Top-level key = the owner
279
+ * name; nested body = the spec object (actions / operations / etc.). */
280
+ function yamlDumpOwner(ownerSpec, ownerName) {
281
+ return yaml.dump({ [ownerName]: ownerSpec }, { lineWidth: 100, noRefs: true });
282
+ }
283
+ /** Build the per-action scaffolding block. One section per action,
284
+ * listing its steps with [PRE-BAKED] / [WRITE] markers. */
285
+ function buildPerActionScaffolding(actions) {
286
+ if (actions.length === 0)
287
+ return '(no actions on this owner)';
288
+ const sections = [];
289
+ for (const action of actions) {
290
+ sections.push(`### ${action.actionName}`);
291
+ if (!action.spec.steps?.length) {
292
+ sections.push(' (no steps declared — emit a bare body that fulfils the spec)');
293
+ sections.push('');
294
+ continue;
295
+ }
296
+ for (let i = 0; i < action.spec.steps.length; i++) {
297
+ const stepText = action.spec.steps[i] ?? '';
298
+ const match = action.perStepMatches[i];
299
+ if (match?.matched && match.call) {
300
+ sections.push(` ${i + 1}. [PRE-BAKED] "${stepText}" →`);
301
+ const snippetLines = match.call.split('\n');
302
+ for (const snippetLine of snippetLines) {
303
+ sections.push(` ${snippetLine}`);
304
+ }
305
+ }
306
+ else {
307
+ sections.push(` ${i + 1}. [WRITE] "${stepText}"`);
308
+ }
309
+ }
310
+ sections.push('');
311
+ }
312
+ return sections.join('\n');
313
+ }
314
+ /** File-level esbuild parse check. Distinct from
315
+ * per-action-llm-emit's `esbuildParseCheck` which wraps the body in
316
+ * a function (correct for action-body emission but wrong for
317
+ * whole-file emission with top-of-file imports). Here we parse the
318
+ * file as a TS module directly. Returns null on success, an error
319
+ * message string on failure. */
320
+ async function esbuildFileParseCheck(fileContents) {
321
+ try {
322
+ const esbuild = await import('esbuild');
323
+ await esbuild.transform(fileContents, {
324
+ loader: 'ts',
325
+ format: 'esm',
326
+ target: 'es2022',
327
+ });
328
+ return null;
329
+ }
330
+ catch (err) {
331
+ const msg = err?.errors?.[0]?.text || err?.message || 'unknown parse error';
332
+ return msg;
333
+ }
334
+ }
335
+ /** Render the surgical-retry prefix that frames the parse error for
336
+ * the LLM. Reuses the per-action-llm-emit convention. */
337
+ function buildSurgicalRetryPrefix(parseError, ownerName) {
338
+ const trimmed = parseError.split('\n').slice(0, 4).join('\n');
339
+ return [
340
+ `Your previous emission for ${ownerName} failed an esbuild parse check:`,
341
+ '',
342
+ trimmed,
343
+ '',
344
+ 'Re-emit the entire file with the parse error corrected. Preserve',
345
+ 'all [PRE-BAKED] snippets verbatim. If a specific action cannot be',
346
+ 'implemented coherently, use the γ-stub form for THAT action while',
347
+ 'keeping the others fully implemented.',
348
+ '',
349
+ ].join('\n');
350
+ }
351
+ //# sourceMappingURL=per-owner-emit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"per-owner-emit.js","sourceRoot":"","sources":["../../src/realize/per-owner-emit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Per-owner realize runner — Phase 1 of the 2026-05-11-PER-OWNER-VS-PER-ACTION
3
+ * proposal.
4
+ *
5
+ * Sibling of `per-action-runner.ts`. SAME spec-walking + owner-grouping
6
+ * logic, DIFFERENT emission granularity: instead of calling
7
+ * `emitActionBody` once per action, this runner calls the per-owner
8
+ * LLM emit hook ONCE per owner and writes the resulting whole-file
9
+ * content as `<Owner>.ai.ts`.
10
+ *
11
+ * Why this exists: the per-action emitter (Realize L3 Phase 3) gave
12
+ * the LLM narrow context — one action's steps, no class shell, no
13
+ * sibling methods, no manifest capabilities. Empirically on
14
+ * idle-meta sonnet, that produced 29 of 94 actions as throw-stubs
15
+ * because the LLM correctly refused to invent imports it couldn't
16
+ * see were available. Per-owner restores the holistic context.
17
+ *
18
+ * Same `<Owner>.ai.ts` output shape (exported async functions per
19
+ * action) → no consumer-interface change. The downstream controller
20
+ * still does `import * as aiBehaviors from '../behaviors/X.ai.js'`.
21
+ */
22
+ import { buildAvailableClientsByOwner } from './per-action-runner.js';
23
+ import type { MatcherFn, SharedConvention } from './per-action-emitter.js';
24
+ import type { PerOwnerEmitFn } from './per-owner-emit.js';
25
+ /** Options for {@link runPerOwnerEmission}. */
26
+ export interface RunPerOwnerEmissionOptions {
27
+ /** Full inferred spec. */
28
+ spec: any;
29
+ /** Output directory — `.ai.ts` files go under `${outputDir}/backend/src/behaviors/`. */
30
+ outputDir: string;
31
+ /** Convention matcher (default: `matchAgainstConventions`). */
32
+ matcher?: MatcherFn;
33
+ /** Convention array for the matcher. */
34
+ conventions?: ReadonlyArray<SharedConvention>;
35
+ /** Per-owner LLM emit hook. Required — the whole point of this
36
+ * runner is to drive it once per owner. */
37
+ perOwnerEmit: PerOwnerEmitFn;
38
+ /** Pre-built availableClients map (from buildAvailableClientsByOwner). */
39
+ availableClientsByOwner?: Map<string, string>;
40
+ /** Manifest capability mappings text (NEW vs per-action runner).
41
+ * Format: pre-rendered string listing each mapping, e.g.
42
+ * " - orm.client → PrismaClient (orms/prisma)\n - jwt.signer → ..." */
43
+ availableCapabilities?: string;
44
+ /** Process context string per owner (optional). */
45
+ processContextByOwner?: Map<string, string>;
46
+ /** Skip the per-owner ✅ console.log lines (used by harness runs). */
47
+ silent?: boolean;
48
+ /** Test hook: don't write files to disk; just return the emission
49
+ * result for assertion. */
50
+ dryRun?: boolean;
51
+ }
52
+ /** Result of {@link runPerOwnerEmission}. */
53
+ export interface RunPerOwnerEmissionResult {
54
+ /** Per-owner emission records (file contents + outcome). */
55
+ owners: PerOwnerOutcome[];
56
+ /** Absolute paths of files written (empty when dryRun). */
57
+ filesWritten: string[];
58
+ /** Aggregate counters. */
59
+ totals: {
60
+ /** Number of owners walked. */
61
+ ownerCount: number;
62
+ /** Number of actions across all owners. */
63
+ actionCount: number;
64
+ /** Owners whose LLM emit produced a usable file. */
65
+ ownersEmittedByLLM: number;
66
+ /** Owners whose LLM emit failed; runner fell back to a
67
+ * deterministic placeholder file. */
68
+ ownersFellBack: number;
69
+ };
70
+ }
71
+ /** Per-owner emission outcome. */
72
+ export interface PerOwnerOutcome {
73
+ ownerName: string;
74
+ /** Number of actions on this owner. */
75
+ actionCount: number;
76
+ /** True when LLM produced a usable file. */
77
+ llmEmitted: boolean;
78
+ /** File contents written. Empty string when LLM declined entirely
79
+ * and the runner emitted a deterministic placeholder. */
80
+ fileContents: string;
81
+ }
82
+ /**
83
+ * Run per-owner LLM emission across every controller / service the
84
+ * spec declares. For each owner:
85
+ * 1. Collect its actions and resolve per-step matcher results.
86
+ * 2. Call the perOwnerEmit hook with the whole owner's context.
87
+ * 3. Write the returned file contents to disk (or fall back to a
88
+ * placeholder file containing one γ stub per action when emit
89
+ * returned null).
90
+ */
91
+ export declare function runPerOwnerEmission(opts: RunPerOwnerEmissionOptions): Promise<RunPerOwnerEmissionResult>;
92
+ /** Build the availableCapabilities string consumed by the per-owner
93
+ * prompt's `availableCapabilities` slot. Walks the manifest's
94
+ * capabilityMappings and renders one line per mapping with a brief
95
+ * hint about what the factory provides. Exported so the realize
96
+ * caller can build it once and feed it to every owner.
97
+ *
98
+ * Format example:
99
+ * - orm.client → PrismaORM (provides Prisma's typed query API)
100
+ * - jwt.signer → JsonWebToken (jsonwebtoken.sign / verify)
101
+ * - event.bus → InMemoryEventBus (publish / subscribe)
102
+ */
103
+ export declare function buildAvailableCapabilitiesString(manifest: any): string;
104
+ export { buildAvailableClientsByOwner };
105
+ //# sourceMappingURL=per-owner-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"per-owner-runner.d.ts","sourceRoot":"","sources":["../../src/realize/per-owner-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,EAEL,4BAA4B,EAE7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAGV,SAAS,EACT,gBAAgB,EAGjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAE7B,+CAA+C;AAC/C,MAAM,WAAW,0BAA0B;IACzC,0BAA0B;IAC1B,IAAI,EAAE,GAAG,CAAC;IACV,wFAAwF;IACxF,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,wCAAwC;IACxC,WAAW,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC9C;gDAC4C;IAC5C,YAAY,EAAE,cAAc,CAAC;IAC7B,0EAA0E;IAC1E,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C;;gFAE4E;IAC5E,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mDAAmD;IACnD,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;gCAC4B;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,6CAA6C;AAC7C,MAAM,WAAW,yBAAyB;IACxC,4DAA4D;IAC5D,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,2DAA2D;IAC3D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,0BAA0B;IAC1B,MAAM,EAAE;QACN,+BAA+B;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,2CAA2C;QAC3C,WAAW,EAAE,MAAM,CAAC;QACpB,oDAAoD;QACpD,kBAAkB,EAAE,MAAM,CAAC;QAC3B;8CACsC;QACtC,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,UAAU,EAAE,OAAO,CAAC;IACpB;8DAC0D;IAC1D,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,yBAAyB,CAAC,CA0GpC;AA4KD;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAYtE;AAkBD,OAAO,EAAE,4BAA4B,EAAE,CAAC"}