@specverse/engines 6.41.1 → 6.53.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/analyse-runner.d.ts.map +1 -1
- package/dist/ai/analyse-runner.js +53 -1
- package/dist/ai/analyse-runner.js.map +1 -1
- package/dist/ai/prompt-runner.d.ts +39 -1
- package/dist/ai/prompt-runner.d.ts.map +1 -1
- package/dist/ai/prompt-runner.js +44 -3
- package/dist/ai/prompt-runner.js.map +1 -1
- package/dist/ai/providers/claude-cli.d.ts.map +1 -1
- package/dist/ai/providers/claude-cli.js +8 -1
- package/dist/ai/providers/claude-cli.js.map +1 -1
- package/dist/ai/skill-loader.d.ts +50 -0
- package/dist/ai/skill-loader.d.ts.map +1 -0
- package/dist/ai/skill-loader.js +96 -0
- package/dist/ai/skill-loader.js.map +1 -0
- package/dist/analyse-prepass/adapters/index.d.ts +2 -0
- package/dist/analyse-prepass/adapters/index.d.ts.map +1 -1
- package/dist/analyse-prepass/adapters/index.js +2 -0
- package/dist/analyse-prepass/adapters/index.js.map +1 -1
- package/dist/analyse-prepass/adapters/module-functions.d.ts +95 -0
- package/dist/analyse-prepass/adapters/module-functions.d.ts.map +1 -0
- package/dist/analyse-prepass/adapters/module-functions.js +358 -0
- package/dist/analyse-prepass/adapters/module-functions.js.map +1 -0
- package/dist/analyse-prepass/adapters/naming-convention-fks.d.ts +90 -0
- package/dist/analyse-prepass/adapters/naming-convention-fks.d.ts.map +1 -0
- package/dist/analyse-prepass/adapters/naming-convention-fks.js +181 -0
- package/dist/analyse-prepass/adapters/naming-convention-fks.js.map +1 -0
- package/dist/analyse-prepass/index.d.ts +8 -0
- package/dist/analyse-prepass/index.d.ts.map +1 -1
- package/dist/analyse-prepass/index.js +130 -0
- package/dist/analyse-prepass/index.js.map +1 -1
- package/dist/libs/instance-factories/cli/templates/commander/cli-entry-generator.js +11 -12
- package/dist/libs/instance-factories/cli/templates/commander/command-generator.js +2 -2
- package/dist/libs/instance-factories/services/templates/prisma/behavior-generator.js +24 -2
- package/dist/libs/instance-factories/services/templates/prisma/controller-generator.js +28 -20
- package/dist/normalise/index.d.ts +14 -0
- package/dist/normalise/index.d.ts.map +1 -0
- package/dist/normalise/index.js +14 -0
- package/dist/normalise/index.js.map +1 -0
- package/dist/normalise/load-overrides.d.ts +43 -0
- package/dist/normalise/load-overrides.d.ts.map +1 -0
- package/dist/normalise/load-overrides.js +121 -0
- package/dist/normalise/load-overrides.js.map +1 -0
- package/dist/normalise/normalise-rules.d.ts +181 -0
- package/dist/normalise/normalise-rules.d.ts.map +1 -0
- package/dist/normalise/normalise-rules.js +79 -0
- package/dist/normalise/normalise-rules.js.map +1 -0
- package/dist/normalise/rules/cluster-module-functions.d.ts +31 -0
- package/dist/normalise/rules/cluster-module-functions.d.ts.map +1 -0
- package/dist/normalise/rules/cluster-module-functions.js +238 -0
- package/dist/normalise/rules/cluster-module-functions.js.map +1 -0
- package/dist/normalise/rules/crud-into-curved.d.ts +117 -0
- package/dist/normalise/rules/crud-into-curved.d.ts.map +1 -0
- package/dist/normalise/rules/crud-into-curved.js +303 -0
- package/dist/normalise/rules/crud-into-curved.js.map +1 -0
- package/dist/normalise/rules/drop-trivial-passthrough.d.ts +92 -0
- package/dist/normalise/rules/drop-trivial-passthrough.d.ts.map +1 -0
- package/dist/normalise/rules/drop-trivial-passthrough.js +217 -0
- package/dist/normalise/rules/drop-trivial-passthrough.js.map +1 -0
- package/dist/normalise/runner.d.ts +58 -0
- package/dist/normalise/runner.d.ts.map +1 -0
- package/dist/normalise/runner.js +114 -0
- package/dist/normalise/runner.js.map +1 -0
- package/dist/parser/import-resolver/resolver.js +1 -1
- package/dist/parser/import-resolver/resolver.js.map +1 -1
- package/dist/realize/engines/typescript-engine.js +1 -1
- package/dist/realize/engines/typescript-engine.js.map +1 -1
- package/dist/realize/index.d.ts.map +1 -1
- package/dist/realize/index.js +142 -90
- package/dist/realize/index.js.map +1 -1
- package/dist/realize/library/library.js +1 -1
- package/dist/realize/library/library.js.map +1 -1
- package/dist/realize/library/resolver.d.ts.map +1 -1
- package/dist/realize/library/resolver.js +14 -1
- package/dist/realize/library/resolver.js.map +1 -1
- package/dist/realize/owner-emit-shared.d.ts +114 -0
- package/dist/realize/owner-emit-shared.d.ts.map +1 -0
- package/dist/realize/owner-emit-shared.js +227 -0
- package/dist/realize/owner-emit-shared.js.map +1 -0
- package/dist/realize/per-owner-emit.d.ts +13 -1
- package/dist/realize/per-owner-emit.d.ts.map +1 -1
- package/dist/realize/per-owner-emit.js +64 -1
- package/dist/realize/per-owner-emit.js.map +1 -1
- package/dist/realize/per-owner-runner.d.ts +36 -2
- package/dist/realize/per-owner-runner.d.ts.map +1 -1
- package/dist/realize/per-owner-runner.js +137 -3
- package/dist/realize/per-owner-runner.js.map +1 -1
- package/dist/realize/post-emit-verify/feedback-runner.d.ts +84 -0
- package/dist/realize/post-emit-verify/feedback-runner.d.ts.map +1 -0
- package/dist/realize/post-emit-verify/feedback-runner.js +177 -0
- package/dist/realize/post-emit-verify/feedback-runner.js.map +1 -0
- package/dist/realize/post-emit-verify/index.d.ts +17 -0
- package/dist/realize/post-emit-verify/index.d.ts.map +1 -0
- package/dist/realize/post-emit-verify/index.js +16 -0
- package/dist/realize/post-emit-verify/index.js.map +1 -0
- package/dist/realize/post-emit-verify/reemit.d.ts +61 -0
- package/dist/realize/post-emit-verify/reemit.d.ts.map +1 -0
- package/dist/realize/post-emit-verify/reemit.js +122 -0
- package/dist/realize/post-emit-verify/reemit.js.map +1 -0
- package/dist/realize/post-emit-verify/types.d.ts +138 -0
- package/dist/realize/post-emit-verify/types.d.ts.map +1 -0
- package/dist/realize/post-emit-verify/types.js +28 -0
- package/dist/realize/post-emit-verify/types.js.map +1 -0
- package/dist/realize/post-emit-verify/verifier-manifest.d.ts +29 -0
- package/dist/realize/post-emit-verify/verifier-manifest.d.ts.map +1 -0
- package/dist/realize/post-emit-verify/verifier-manifest.js +55 -0
- package/dist/realize/post-emit-verify/verifier-manifest.js.map +1 -0
- package/dist/realize/post-emit-verify/verifiers/tsc.d.ts +24 -0
- package/dist/realize/post-emit-verify/verifiers/tsc.d.ts.map +1 -0
- package/dist/realize/post-emit-verify/verifiers/tsc.js +148 -0
- package/dist/realize/post-emit-verify/verifiers/tsc.js.map +1 -0
- package/dist/realize/realize-rules.d.ts +113 -0
- package/dist/realize/realize-rules.d.ts.map +1 -0
- package/dist/realize/realize-rules.js +271 -0
- package/dist/realize/realize-rules.js.map +1 -0
- package/libs/instance-factories/cli/templates/commander/cli-entry-generator.ts +11 -12
- package/libs/instance-factories/cli/templates/commander/command-generator.ts +2 -2
- package/libs/instance-factories/services/templates/prisma/behavior-generator.ts +62 -2
- package/libs/instance-factories/services/templates/prisma/controller-generator.ts +42 -20
- package/package.json +9 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/realize/library/library.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/realize/library/library.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/realize/library/resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/realize/library/resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAatD,OAAO,KAAK,EAEV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACzC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IAErC,qCAAqC;IACrC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,QAAQ,EAAE,GAAG,CAAC;IAEd,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,oCAAoC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAG/B,UAAU,EAAE,MAAM;IAClB,QAAQ,CAAC,EAAE,GAAG;gBAFrB,OAAO,EAAE,MAAM,EACR,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,GAAG;CAKxB;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,MAAM,CAAiB;gBAEnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,GAAE,cAAmB;IAMxE;;;;;;;OAOG;IACH,iBAAiB,CACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,sBAAsB;IA+FzB;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,sBAAsB,EAAE;IAuDxF;;OAEG;IACH,oBAAoB,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAkB3H;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAyB7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAwB/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAwCnC;;OAEG;IACH,gBAAgB,IAAI;QAClB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;KACzB;CAOF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE;IACR,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACzC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC,GACA,uBAAuB,CAOzB"}
|
|
@@ -5,7 +5,20 @@
|
|
|
5
5
|
* using manifest configuration and capability mappings.
|
|
6
6
|
*/
|
|
7
7
|
import path from 'path';
|
|
8
|
+
import { readFileSync } from 'fs';
|
|
9
|
+
import { createRequire } from 'module';
|
|
8
10
|
import { InstanceFactoryValidator } from './validator.js';
|
|
11
|
+
/** Engines package version (read once at module load from @specverse/engines/package.json). */
|
|
12
|
+
const ENGINES_VERSION = (() => {
|
|
13
|
+
try {
|
|
14
|
+
const require = createRequire(import.meta.url);
|
|
15
|
+
const pkgPath = require.resolve('@specverse/engines/package.json');
|
|
16
|
+
return JSON.parse(readFileSync(pkgPath, 'utf8')).version ?? '0.0.0';
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return '0.0.0';
|
|
20
|
+
}
|
|
21
|
+
})();
|
|
9
22
|
/**
|
|
10
23
|
* Resolution error
|
|
11
24
|
*/
|
|
@@ -93,7 +106,7 @@ export class InstanceFactoryResolver {
|
|
|
93
106
|
};
|
|
94
107
|
// Validate the resolved implementation
|
|
95
108
|
const validationResult = this.validator.validateComplete(factory, {
|
|
96
|
-
specverseVersion:
|
|
109
|
+
specverseVersion: ENGINES_VERSION
|
|
97
110
|
});
|
|
98
111
|
if (!validationResult.compatible) {
|
|
99
112
|
throw new ResolutionError(`Instance factory "${factory.name}" validation failed:\n` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/realize/library/resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/realize/library/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types and utilities for the per-owner realize emit path.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from the (now-deleted) per-action-emitter / per-action-runner /
|
|
5
|
+
* per-action-llm-emit modules when the per-action path retired in engines
|
|
6
|
+
* 6.45.0. Per-owner has been the default since 6.41.0; the per-action
|
|
7
|
+
* escape hatch was scheduled to retire one cycle later (6.42.x) but was
|
|
8
|
+
* pushed by the methodology refactor (6.43.0-6.44.0). This module holds
|
|
9
|
+
* the small set of types + helpers that per-owner-emit and per-owner-runner
|
|
10
|
+
* still need.
|
|
11
|
+
*
|
|
12
|
+
* Three groups of content:
|
|
13
|
+
*
|
|
14
|
+
* 1. **Type re-exports from @specverse/types** — `MatchResult`,
|
|
15
|
+
* `MatcherFn`, `SharedConvention`, `SharedStepContext`. The
|
|
16
|
+
* canonical home is @specverse/types (since #54 in engines 6.37);
|
|
17
|
+
* we re-export here so consumers don't have to know the cross-
|
|
18
|
+
* package path.
|
|
19
|
+
*
|
|
20
|
+
* 2. **Realize-internal types** — `ActionSpec`, `RealizeContext`,
|
|
21
|
+
* `CollectedAction`. The shape of "one action under one owner,
|
|
22
|
+
* ready to dispatch through the matcher and the LLM". These don't
|
|
23
|
+
* live in @specverse/types because they're emit-pipeline-internal.
|
|
24
|
+
*
|
|
25
|
+
* 3. **Helper functions** — `extractTypescriptBlock` (LLM-output
|
|
26
|
+
* fence extraction), `collectActions` (walk a spec, build the
|
|
27
|
+
* per-owner action list), `buildAvailableClientsByOwner` (resolve
|
|
28
|
+
* V2 component imports to per-owner clients map).
|
|
29
|
+
*/
|
|
30
|
+
export type { SharedStepContext, SharedConvention, MatchResult, MatcherFn, } from '@specverse/types';
|
|
31
|
+
/**
|
|
32
|
+
* The unit of work the emitter is asked to fill. A spec-derived view of
|
|
33
|
+
* an action / operation. Plain shape so callers in different phases of
|
|
34
|
+
* the realize pipeline can construct it without coupling to AST internals.
|
|
35
|
+
*/
|
|
36
|
+
export interface ActionSpec {
|
|
37
|
+
/** Action / operation name as it appears in the spec (e.g. `processOrder`). */
|
|
38
|
+
name: string;
|
|
39
|
+
/** Owning component / class — for prompt context + identity. */
|
|
40
|
+
ownerName: string;
|
|
41
|
+
/** Whether this owner is a controller, service, or model.behaviors host. */
|
|
42
|
+
ownerKind: 'controller' | 'service' | 'model';
|
|
43
|
+
/** The spec step bullets — what the LLM (or matcher) is filling in. */
|
|
44
|
+
steps: string[];
|
|
45
|
+
/** Action-level metadata, threaded into both the matcher and the LLM. */
|
|
46
|
+
description?: string;
|
|
47
|
+
parameters?: Record<string, string>;
|
|
48
|
+
returns?: string;
|
|
49
|
+
requires?: string[];
|
|
50
|
+
ensures?: string[];
|
|
51
|
+
publishes?: string[];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Per-owner emission context. Carries what the emitter needs to walk
|
|
55
|
+
* matchers and hand owners to the LLM. Some fields are vestigial from
|
|
56
|
+
* the per-action era (e.g. `aiArgsExpr`, `canCallLLM`) but are still
|
|
57
|
+
* consumed by per-owner-emit's owner-level orchestration.
|
|
58
|
+
*/
|
|
59
|
+
export interface RealizeContext {
|
|
60
|
+
/** Component name the owning entity lives in. */
|
|
61
|
+
componentName: string;
|
|
62
|
+
/** Spec model name powering this controller / service. */
|
|
63
|
+
modelName: string;
|
|
64
|
+
/** Convention-matcher walker (`matchAgainstConventions`). */
|
|
65
|
+
matcher?: import('@specverse/types').MatcherFn;
|
|
66
|
+
/** ORM/driver-specific convention list the matcher walks. */
|
|
67
|
+
conventions?: ReadonlyArray<import('@specverse/types').SharedConvention<import('@specverse/types').SharedStepContext>>;
|
|
68
|
+
/** AI-fallback args expression — per-ORM (prisma vs pg-native shapes). */
|
|
69
|
+
aiArgsExpr?: (inputs: string[], paramNames: string[]) => string;
|
|
70
|
+
/** V2 P3: clients exposed to the LLM via the prompt's `availableClients` slot. */
|
|
71
|
+
availableClients?: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* One collected action ready for per-owner emission. Built by
|
|
75
|
+
* {@link collectActions} from the inferred spec.
|
|
76
|
+
*/
|
|
77
|
+
export interface CollectedAction {
|
|
78
|
+
ownerKind: 'controller' | 'service' | 'model';
|
|
79
|
+
/** Controller / service name (the file owner). */
|
|
80
|
+
ownerName: string;
|
|
81
|
+
/** The controller's `model:` reference (or service's "self" name). */
|
|
82
|
+
modelName: string;
|
|
83
|
+
/** Action / operation name as it appears in the spec. */
|
|
84
|
+
actionName: string;
|
|
85
|
+
/** Original ActionSpec — passed through to the LLM emit hook. */
|
|
86
|
+
spec: ActionSpec;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Pull the first ```typescript fenced block out of an LLM response.
|
|
90
|
+
* Tolerates plain ``` (no language tag) when the body starts with
|
|
91
|
+
* recognisably-TS content. Returns null if no block is found.
|
|
92
|
+
*/
|
|
93
|
+
export declare function extractTypescriptBlock(text: string): string | null;
|
|
94
|
+
/**
|
|
95
|
+
* Walk an inferred spec and produce the flat list of actions across all
|
|
96
|
+
* controllers and services. Per-owner-runner groups these by `ownerName`
|
|
97
|
+
* to emit one `<Owner>.ai.ts` file per controller / service.
|
|
98
|
+
*
|
|
99
|
+
* Accepts both spec shapes: `{Name: {...}}` keyed object (the canonical
|
|
100
|
+
* analyse-pipeline output) and `[{name, ...}]` array.
|
|
101
|
+
*/
|
|
102
|
+
export declare function collectActions(spec: any): CollectedAction[];
|
|
103
|
+
/**
|
|
104
|
+
* Build a single component's `availableClients` prompt string from its
|
|
105
|
+
* V2 `import:` block. Returns null when the component has no imports.
|
|
106
|
+
*/
|
|
107
|
+
export declare function buildAvailableClientsForComponent(component: any, topologyByFrom?: Map<string, string>): string | null;
|
|
108
|
+
/**
|
|
109
|
+
* Walk a parsed spec and build the per-owner `availableClients` map.
|
|
110
|
+
* V2 imports are component-scoped; every controller and service inside
|
|
111
|
+
* a component shares the same `availableClients` string.
|
|
112
|
+
*/
|
|
113
|
+
export declare function buildAvailableClientsByOwner(spec: any, topologyByFrom?: Map<string, string>): Map<string, string>;
|
|
114
|
+
//# sourceMappingURL=owner-emit-shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-emit-shared.d.ts","sourceRoot":"","sources":["../../src/realize/owner-emit-shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,SAAS,GACV,MAAM,kBAAkB,CAAC;AAI1B;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9C,uEAAuE;IACvE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,kBAAkB,EAAE,SAAS,CAAC;IAC/C,6DAA6D;IAC7D,WAAW,CAAC,EAAE,aAAa,CACzB,OAAO,kBAAkB,EAAE,gBAAgB,CAAC,OAAO,kBAAkB,EAAE,iBAAiB,CAAC,CAC1F,CAAC;IACF,0EAA0E;IAC1E,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;IAChE,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9C,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,IAAI,EAAE,UAAU,CAAC;CAClB;AAID;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYlE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,eAAe,EAAE,CAsD3D;AA4BD;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,GAAG,EACd,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,GAAG,IAAI,CA4Bf;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,GAAG,EACT,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA8BrB"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types and utilities for the per-owner realize emit path.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from the (now-deleted) per-action-emitter / per-action-runner /
|
|
5
|
+
* per-action-llm-emit modules when the per-action path retired in engines
|
|
6
|
+
* 6.45.0. Per-owner has been the default since 6.41.0; the per-action
|
|
7
|
+
* escape hatch was scheduled to retire one cycle later (6.42.x) but was
|
|
8
|
+
* pushed by the methodology refactor (6.43.0-6.44.0). This module holds
|
|
9
|
+
* the small set of types + helpers that per-owner-emit and per-owner-runner
|
|
10
|
+
* still need.
|
|
11
|
+
*
|
|
12
|
+
* Three groups of content:
|
|
13
|
+
*
|
|
14
|
+
* 1. **Type re-exports from @specverse/types** — `MatchResult`,
|
|
15
|
+
* `MatcherFn`, `SharedConvention`, `SharedStepContext`. The
|
|
16
|
+
* canonical home is @specverse/types (since #54 in engines 6.37);
|
|
17
|
+
* we re-export here so consumers don't have to know the cross-
|
|
18
|
+
* package path.
|
|
19
|
+
*
|
|
20
|
+
* 2. **Realize-internal types** — `ActionSpec`, `RealizeContext`,
|
|
21
|
+
* `CollectedAction`. The shape of "one action under one owner,
|
|
22
|
+
* ready to dispatch through the matcher and the LLM". These don't
|
|
23
|
+
* live in @specverse/types because they're emit-pipeline-internal.
|
|
24
|
+
*
|
|
25
|
+
* 3. **Helper functions** — `extractTypescriptBlock` (LLM-output
|
|
26
|
+
* fence extraction), `collectActions` (walk a spec, build the
|
|
27
|
+
* per-owner action list), `buildAvailableClientsByOwner` (resolve
|
|
28
|
+
* V2 component imports to per-owner clients map).
|
|
29
|
+
*/
|
|
30
|
+
// ─── Helpers ───────────────────────────────────────────────────────────
|
|
31
|
+
/**
|
|
32
|
+
* Pull the first ```typescript fenced block out of an LLM response.
|
|
33
|
+
* Tolerates plain ``` (no language tag) when the body starts with
|
|
34
|
+
* recognisably-TS content. Returns null if no block is found.
|
|
35
|
+
*/
|
|
36
|
+
export function extractTypescriptBlock(text) {
|
|
37
|
+
const tsBlock = text.match(/```(?:typescript|ts)\s*\n([\s\S]*?)```/);
|
|
38
|
+
if (tsBlock?.[1])
|
|
39
|
+
return tsBlock[1].trim();
|
|
40
|
+
// Generic ``` block — accept when the content looks like TS.
|
|
41
|
+
const generic = text.match(/```\s*\n([\s\S]*?)```/);
|
|
42
|
+
if (generic?.[1]) {
|
|
43
|
+
const candidate = generic[1].trim();
|
|
44
|
+
if (/^(const|let|await|return|throw|if|try)\b/m.test(candidate)) {
|
|
45
|
+
return candidate;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Walk an inferred spec and produce the flat list of actions across all
|
|
52
|
+
* controllers and services. Per-owner-runner groups these by `ownerName`
|
|
53
|
+
* to emit one `<Owner>.ai.ts` file per controller / service.
|
|
54
|
+
*
|
|
55
|
+
* Accepts both spec shapes: `{Name: {...}}` keyed object (the canonical
|
|
56
|
+
* analyse-pipeline output) and `[{name, ...}]` array.
|
|
57
|
+
*/
|
|
58
|
+
export function collectActions(spec) {
|
|
59
|
+
const out = [];
|
|
60
|
+
// Controllers
|
|
61
|
+
const controllerEntries = Array.isArray(spec.controllers)
|
|
62
|
+
? spec.controllers.map((c) => [c?.name ?? '', c])
|
|
63
|
+
: Object.entries(spec.controllers || {});
|
|
64
|
+
for (const [keyName, controller] of controllerEntries) {
|
|
65
|
+
if (!controller?.actions)
|
|
66
|
+
continue;
|
|
67
|
+
const ownerName = controller.name || keyName;
|
|
68
|
+
if (!ownerName)
|
|
69
|
+
continue;
|
|
70
|
+
const modelName = controller.model ||
|
|
71
|
+
controller.modelReference ||
|
|
72
|
+
ownerName.replace(/Controller$/, '');
|
|
73
|
+
for (const [actionName, actionRaw] of Object.entries(controller.actions)) {
|
|
74
|
+
const action = normalizeActionSpec(actionRaw, actionName);
|
|
75
|
+
if (action.steps.length === 0)
|
|
76
|
+
continue;
|
|
77
|
+
out.push({
|
|
78
|
+
ownerKind: 'controller',
|
|
79
|
+
ownerName,
|
|
80
|
+
modelName,
|
|
81
|
+
actionName,
|
|
82
|
+
spec: { ...action, ownerName, ownerKind: 'controller' },
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Services
|
|
87
|
+
const serviceEntries = Array.isArray(spec.services)
|
|
88
|
+
? spec.services.map((s) => [s?.name ?? '', s])
|
|
89
|
+
: Object.entries(spec.services || {});
|
|
90
|
+
for (const [keyName, service] of serviceEntries) {
|
|
91
|
+
if (!service?.operations)
|
|
92
|
+
continue;
|
|
93
|
+
const ownerName = service.name || keyName;
|
|
94
|
+
if (!ownerName)
|
|
95
|
+
continue;
|
|
96
|
+
const modelName = ownerName.replace(/Service$/, '');
|
|
97
|
+
const operationEntries = Array.isArray(service.operations)
|
|
98
|
+
? service.operations.map((op) => [op.name, op])
|
|
99
|
+
: Object.entries(service.operations);
|
|
100
|
+
for (const [actionName, opRaw] of operationEntries) {
|
|
101
|
+
const action = normalizeActionSpec(opRaw, actionName);
|
|
102
|
+
if (action.steps.length === 0)
|
|
103
|
+
continue;
|
|
104
|
+
out.push({
|
|
105
|
+
ownerKind: 'service',
|
|
106
|
+
ownerName,
|
|
107
|
+
modelName,
|
|
108
|
+
actionName,
|
|
109
|
+
spec: { ...action, ownerName, ownerKind: 'service' },
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return out;
|
|
114
|
+
}
|
|
115
|
+
function normalizeActionSpec(raw, actionName) {
|
|
116
|
+
const stepsRaw = raw?.steps ?? raw?.implementation?.steps ?? [];
|
|
117
|
+
const steps = Array.isArray(stepsRaw)
|
|
118
|
+
? stepsRaw
|
|
119
|
+
.map((s) => (typeof s === 'string' ? s : s?.step))
|
|
120
|
+
.filter((s) => typeof s === 'string')
|
|
121
|
+
: [];
|
|
122
|
+
return {
|
|
123
|
+
name: actionName,
|
|
124
|
+
ownerName: '', // filled in by caller
|
|
125
|
+
ownerKind: 'controller', // overwritten by caller
|
|
126
|
+
steps,
|
|
127
|
+
description: raw?.description,
|
|
128
|
+
parameters: raw?.parameters,
|
|
129
|
+
returns: typeof raw?.returns === 'string'
|
|
130
|
+
? raw.returns
|
|
131
|
+
: raw?.returns
|
|
132
|
+
? JSON.stringify(raw.returns)
|
|
133
|
+
: undefined,
|
|
134
|
+
requires: raw?.requires ?? raw?.preconditions,
|
|
135
|
+
ensures: raw?.ensures ?? raw?.postconditions,
|
|
136
|
+
publishes: raw?.publishes ?? raw?.events,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Build a single component's `availableClients` prompt string from its
|
|
141
|
+
* V2 `import:` block. Returns null when the component has no imports.
|
|
142
|
+
*/
|
|
143
|
+
export function buildAvailableClientsForComponent(component, topologyByFrom) {
|
|
144
|
+
const imports = Array.isArray(component?.import) ? component.import : [];
|
|
145
|
+
if (imports.length === 0)
|
|
146
|
+
return null;
|
|
147
|
+
const lines = [];
|
|
148
|
+
for (const entry of imports) {
|
|
149
|
+
const fromName = entry?.from ?? entry?.package ?? entry?.file ?? '';
|
|
150
|
+
if (!fromName)
|
|
151
|
+
continue;
|
|
152
|
+
const select = Array.isArray(entry?.select) ? entry.select : [];
|
|
153
|
+
if (select.length === 0)
|
|
154
|
+
continue;
|
|
155
|
+
const clientName = toClientName(fromName);
|
|
156
|
+
const topology = topologyByFrom?.get(fromName);
|
|
157
|
+
const topoSuffix = topology ? ` (${topology})` : '';
|
|
158
|
+
for (const sel of select) {
|
|
159
|
+
const dotIndex = sel.indexOf('.');
|
|
160
|
+
if (dotIndex === -1) {
|
|
161
|
+
lines.push(` - deps.${clientName} // bare entity export ${sel} from ${fromName}${topoSuffix}`);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
const operation = sel.slice(dotIndex + 1);
|
|
165
|
+
lines.push(` - deps.${clientName}.${operation}(input) // from ${fromName}${topoSuffix}`);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
if (lines.length === 0)
|
|
170
|
+
return null;
|
|
171
|
+
return ['Available imported clients (V2 imports):', ...lines].join('\n');
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Walk a parsed spec and build the per-owner `availableClients` map.
|
|
175
|
+
* V2 imports are component-scoped; every controller and service inside
|
|
176
|
+
* a component shares the same `availableClients` string.
|
|
177
|
+
*/
|
|
178
|
+
export function buildAvailableClientsByOwner(spec, topologyByFrom) {
|
|
179
|
+
const out = new Map();
|
|
180
|
+
const components = Array.isArray(spec?.components)
|
|
181
|
+
? spec.components
|
|
182
|
+
: Object.values(spec?.components ?? {});
|
|
183
|
+
for (const component of components) {
|
|
184
|
+
const clientsString = buildAvailableClientsForComponent(component, topologyByFrom);
|
|
185
|
+
if (!clientsString)
|
|
186
|
+
continue;
|
|
187
|
+
const controllerEntries = Array.isArray(component?.controllers)
|
|
188
|
+
? component.controllers.map((c) => [c?.name ?? '', c])
|
|
189
|
+
: Object.entries(component?.controllers ?? {});
|
|
190
|
+
for (const [keyName, c] of controllerEntries) {
|
|
191
|
+
const ownerName = c?.name || keyName;
|
|
192
|
+
if (!ownerName)
|
|
193
|
+
continue;
|
|
194
|
+
out.set(ownerName, clientsString);
|
|
195
|
+
}
|
|
196
|
+
const serviceEntries = Array.isArray(component?.services)
|
|
197
|
+
? component.services.map((s) => [s?.name ?? '', s])
|
|
198
|
+
: Object.entries(component?.services ?? {});
|
|
199
|
+
for (const [keyName, s] of serviceEntries) {
|
|
200
|
+
const ownerName = s?.name || keyName;
|
|
201
|
+
if (!ownerName)
|
|
202
|
+
continue;
|
|
203
|
+
out.set(ownerName, clientsString);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return out;
|
|
207
|
+
}
|
|
208
|
+
function toClientName(fromName) {
|
|
209
|
+
// Mirrors the library emitter's toWords: scope-strip, slash → dash,
|
|
210
|
+
// split on camelCase boundary AND non-alphanumeric runs, lowercase.
|
|
211
|
+
const normalised = fromName.replace(/^@/, '').replace(/\//g, '-');
|
|
212
|
+
const words = normalised
|
|
213
|
+
.replace(/([a-z])([A-Z])/g, '$1 $2')
|
|
214
|
+
.replace(/[^a-zA-Z0-9]+/g, ' ')
|
|
215
|
+
.trim()
|
|
216
|
+
.split(' ')
|
|
217
|
+
.filter(Boolean)
|
|
218
|
+
.map((w) => w.toLowerCase());
|
|
219
|
+
if (words.length === 0)
|
|
220
|
+
return 'unknownClient';
|
|
221
|
+
return (words[0] +
|
|
222
|
+
words
|
|
223
|
+
.slice(1)
|
|
224
|
+
.map((w) => w.charAt(0).toUpperCase() + w.slice(1))
|
|
225
|
+
.join(''));
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=owner-emit-shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-emit-shared.js","sourceRoot":"","sources":["../../src/realize/owner-emit-shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
* `specverse-self/assets/` is searched.
|
|
30
30
|
*/
|
|
31
31
|
import { runPrompt as runPromptFn, type PromptYaml } from '../ai/prompt-runner.js';
|
|
32
|
-
import type
|
|
32
|
+
import { type ActionSpec, type MatchResult } from './owner-emit-shared.js';
|
|
33
33
|
/** One action collected for the owner. Includes step-match results
|
|
34
34
|
* so the structural validator and the prompt's per-action scaffolding
|
|
35
35
|
* can both reference them. */
|
|
@@ -57,6 +57,18 @@ export interface PerOwnerEmitRequest {
|
|
|
57
57
|
* Format: lines like ` - orm.client → PrismaClient (orm/prisma)`.
|
|
58
58
|
* The LLM uses these to decide what to import at top-of-file. */
|
|
59
59
|
availableCapabilities?: string;
|
|
60
|
+
/** Cross-service / cross-controller operation signatures (TODO #60).
|
|
61
|
+
* Format: lines per service/controller with declared operations,
|
|
62
|
+
* excluding the current owner (which has its own spec block).
|
|
63
|
+
* The LLM uses this as the source of truth for which methods can
|
|
64
|
+
* be called on imported service classes. */
|
|
65
|
+
availableSpecSurface?: string;
|
|
66
|
+
/** Target runtime declaration. The realize-owner prompt opens with
|
|
67
|
+
* this so the LLM knows up-front which APIs are available. The
|
|
68
|
+
* runtime-API validator (post-emit) enforces the forbidden-API set
|
|
69
|
+
* for each runtime. Examples: `'Node.js (backend)'`,
|
|
70
|
+
* `'Browser (DOM)'`, `'Edge runtime (no Node builtins)'`. */
|
|
71
|
+
targetRuntime?: string;
|
|
60
72
|
/** Cross-method process context string. Same shape as per-action. */
|
|
61
73
|
processContext?: string;
|
|
62
74
|
}
|
|
@@ -1 +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;
|
|
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;AAKhC,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,wBAAwB,CAAC;AAUhC;;+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;;;;iDAI6C;IAC7C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;kEAI8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,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,CA2IhB;AAwBD;;;8CAG8C;AAC9C,wBAAgB,kCAAkC,IAAI,UAAU,GAAG,IAAI,CA8DtE"}
|
|
@@ -35,7 +35,8 @@ import { createRequire } from 'module';
|
|
|
35
35
|
import yaml from 'js-yaml';
|
|
36
36
|
import { loadPrompt, runPrompt as runPromptFn, assembleSystem, assembleUser, } from '../ai/prompt-runner.js';
|
|
37
37
|
import { validateLlmOutputPreservesConventions, } from './structural-validator.js';
|
|
38
|
-
import { extractTypescriptBlock } from './
|
|
38
|
+
import { extractTypescriptBlock, } from './owner-emit-shared.js';
|
|
39
|
+
import { rulesApplicableTo, forbiddenApisForRuntime, renderConstraintsForPrompt, } from './realize-rules.js';
|
|
39
40
|
const require = createRequire(import.meta.url);
|
|
40
41
|
/**
|
|
41
42
|
* Build a {@link PerOwnerEmitFn} for use in per-owner realize emission.
|
|
@@ -93,6 +94,13 @@ export function createRealizeOwnerLlmEmit(opts = {}) {
|
|
|
93
94
|
model: opts.model,
|
|
94
95
|
timeoutMs,
|
|
95
96
|
userPrefix,
|
|
97
|
+
// The `realize-emit` skill carries the per-owner emission
|
|
98
|
+
// CONSTRAINTS / GUIDANCE / EXAMPLE. claude-cli auto-loads it
|
|
99
|
+
// via filesystem-based skill resolution; other providers
|
|
100
|
+
// (anthropic, openai-compatible, stub) have no such mechanism
|
|
101
|
+
// — prompt-runner inlines the skill content into the system
|
|
102
|
+
// prompt for them. Single source of truth, two delivery paths.
|
|
103
|
+
skills: ['realize-emit'],
|
|
96
104
|
};
|
|
97
105
|
runResult = await callRunPromptWithFallback(runPrompt, runOpts, loadPromptResolved);
|
|
98
106
|
}
|
|
@@ -122,6 +130,41 @@ export function createRealizeOwnerLlmEmit(opts = {}) {
|
|
|
122
130
|
if (structural.ok === false) {
|
|
123
131
|
throw new Error(`[realize-owner] structural-preservation failed for ${request.ownerName}:\n${structural.reason}`);
|
|
124
132
|
}
|
|
133
|
+
// 5b. RULES manifest pipeline. Each rule in `realize-rules.ts`
|
|
134
|
+
// declares its own detect() + correction() + ordering. We
|
|
135
|
+
// iterate in pipeline order; first violating rule wins (one
|
|
136
|
+
// correction per surgical-retry pass). On exhausted retries
|
|
137
|
+
// we return null and the caller emits the γ stub.
|
|
138
|
+
//
|
|
139
|
+
// Adding a new constraint is one place: append to RULES.
|
|
140
|
+
// See `2026-05-12-VALIDATOR-MANIFEST-AND-TEST-CORPUS.md`.
|
|
141
|
+
const ruleCtx = {
|
|
142
|
+
ownerName: request.ownerName,
|
|
143
|
+
targetRuntime: request.targetRuntime,
|
|
144
|
+
};
|
|
145
|
+
let ruleViolated = false;
|
|
146
|
+
let ruleOutOfRetries = false;
|
|
147
|
+
for (const rule of rulesApplicableTo(ruleCtx)) {
|
|
148
|
+
const violations = rule.detect(fileContents, ruleCtx);
|
|
149
|
+
if (violations.length === 0)
|
|
150
|
+
continue;
|
|
151
|
+
if (process.env.SPECVERSE_VERBOSE) {
|
|
152
|
+
const head = violations.slice(0, 3).join(', ');
|
|
153
|
+
console.error(` ✗ per-owner LLM emit [${rule.id}] for ${request.ownerName}: ${head}`);
|
|
154
|
+
}
|
|
155
|
+
if (attempt < maxAttempts - 1) {
|
|
156
|
+
lastParseError = rule.correction(violations, ruleCtx);
|
|
157
|
+
ruleViolated = true;
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
ruleOutOfRetries = true;
|
|
161
|
+
}
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
if (ruleOutOfRetries)
|
|
165
|
+
return null;
|
|
166
|
+
if (ruleViolated)
|
|
167
|
+
continue;
|
|
125
168
|
// 6. esbuild parse check — surgical retry once on parse failure.
|
|
126
169
|
const parseError = await parseCheck(fileContents);
|
|
127
170
|
if (parseError === null) {
|
|
@@ -272,6 +315,13 @@ function buildPromptValues(request) {
|
|
|
272
315
|
perActionScaffolding,
|
|
273
316
|
availableClients: request.availableClients ?? '(none)',
|
|
274
317
|
availableCapabilities: request.availableCapabilities ?? '(none — only `input: any` is available)',
|
|
318
|
+
availableSpecSurface: request.availableSpecSurface ?? '(no other services / controllers in this spec)',
|
|
319
|
+
targetRuntime: request.targetRuntime ?? 'Node.js (backend)',
|
|
320
|
+
forbiddenRuntimeApis: describeForbiddenApis(request.targetRuntime),
|
|
321
|
+
constraints: renderConstraintsForPrompt({
|
|
322
|
+
ownerName: request.ownerName,
|
|
323
|
+
targetRuntime: request.targetRuntime,
|
|
324
|
+
}),
|
|
275
325
|
processContext: request.processContext ?? '(no related processes)',
|
|
276
326
|
};
|
|
277
327
|
}
|
|
@@ -348,4 +398,17 @@ function buildSurgicalRetryPrefix(parseError, ownerName) {
|
|
|
348
398
|
'',
|
|
349
399
|
].join('\n');
|
|
350
400
|
}
|
|
401
|
+
// ─── Prompt rendering helpers ────────────────────────────────────────
|
|
402
|
+
/**
|
|
403
|
+
* Human-readable description of the forbidden-API set for a given
|
|
404
|
+
* runtime, suitable for the prompt's TARGET RUNTIME section. Consults
|
|
405
|
+
* the same source-of-truth (`forbiddenApisForRuntime` in realize-rules)
|
|
406
|
+
* that the `no-forbidden-runtime-apis` validator uses.
|
|
407
|
+
*/
|
|
408
|
+
function describeForbiddenApis(targetRuntime) {
|
|
409
|
+
const list = forbiddenApisForRuntime(targetRuntime);
|
|
410
|
+
if (list.length === 0)
|
|
411
|
+
return '(none — all APIs available)';
|
|
412
|
+
return list.map((s) => ` - ${s}`).join('\n');
|
|
413
|
+
}
|
|
351
414
|
//# sourceMappingURL=per-owner-emit.js.map
|