@aid-framework/cli 0.1.67 → 0.1.69
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/.tsbuildinfo +1 -1
- package/dist/commands/eval.d.ts +17 -9
- package/dist/commands/eval.d.ts.map +1 -1
- package/dist/commands/eval.js +97 -48
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/gen.js +8 -5
- package/dist/commands/gen.js.map +1 -1
- package/dist/node.d.ts +18 -1
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +20 -2
- package/dist/node.js.map +1 -1
- package/dist/ts-loader.d.ts +16 -0
- package/dist/ts-loader.d.ts.map +1 -0
- package/dist/ts-loader.js +32 -0
- package/dist/ts-loader.js.map +1 -0
- package/package.json +6 -6
package/dist/commands/eval.d.ts
CHANGED
|
@@ -19,18 +19,26 @@
|
|
|
19
19
|
* assignment says not to modify it. A missing runtime entry point is this layer's problem
|
|
20
20
|
* to route around, not a reason to change a shipped one.
|
|
21
21
|
*
|
|
22
|
+
* **A TypeScript target runs its source directly.** The emitted `.ts` module carries the
|
|
23
|
+
* same contract and the same entry guard, so `aid eval` runs the file with Node, whose
|
|
24
|
+
* type stripping loads it without a build. One thing does not survive that: the generator
|
|
25
|
+
* emits NodeNext `.js` specifiers because the compiled tree needs them, and Node will not
|
|
26
|
+
* rewrite `../deps.js` to `../deps.ts`. `ts-loader.ts` supplies exactly that rewrite, as
|
|
27
|
+
* the `--import` hook of the process, so no `dist/` has to exist first and a project that
|
|
28
|
+
* has one still runs it.
|
|
29
|
+
*
|
|
22
30
|
* **`--baseline` delegates the sampling.** The gate is statistical (`maxRegression` against
|
|
23
31
|
* a stored distribution), so a baseline from a single run is noise shaped like a fact. The
|
|
24
|
-
* generated module's `run()` already samples the dataset `SAMPLES` times --
|
|
25
|
-
* declares -- so recording a baseline calls that, then the runtime's own
|
|
26
|
-
* (`EvalBaseline.
|
|
27
|
-
*
|
|
28
|
-
*
|
|
32
|
+
* generated module's `run()` (or `sample()`) already samples the dataset `SAMPLES` times --
|
|
33
|
+
* the N the spec declares -- so recording a baseline calls that, then the runtime's own
|
|
34
|
+
* documented recipe (`EvalBaseline.fromRun` / `from_run`, which is literally the string in
|
|
35
|
+
* the generated `loadBaseline`'s error message). Re-sampling here would invent a second N
|
|
36
|
+
* and let the CLI and the module disagree about how many runs a baseline means.
|
|
29
37
|
*
|
|
30
|
-
*
|
|
31
|
-
* interpreter over stdin
|
|
32
|
-
*
|
|
33
|
-
* the runtime's measurement.
|
|
38
|
+
* Each recipe is the only place in the CLI that writes its language. The Python one is a
|
|
39
|
+
* script piped to the interpreter over stdin, and the Node one a script passed to `-e`,
|
|
40
|
+
* because neither runtime has such an entry point; both are deliberately short, since
|
|
41
|
+
* anything longer would be this layer reimplementing the runtime's measurement.
|
|
34
42
|
*/
|
|
35
43
|
import type { CliContext } from '../context.js';
|
|
36
44
|
import type { CommandOutcome } from '../output.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/commands/eval.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/commands/eval.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAQH,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,eAAe,CAAC;AAK7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAoBnD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAsFD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,GAAG,cAAc,CA8LlF"}
|
package/dist/commands/eval.js
CHANGED
|
@@ -19,28 +19,51 @@
|
|
|
19
19
|
* assignment says not to modify it. A missing runtime entry point is this layer's problem
|
|
20
20
|
* to route around, not a reason to change a shipped one.
|
|
21
21
|
*
|
|
22
|
+
* **A TypeScript target runs its source directly.** The emitted `.ts` module carries the
|
|
23
|
+
* same contract and the same entry guard, so `aid eval` runs the file with Node, whose
|
|
24
|
+
* type stripping loads it without a build. One thing does not survive that: the generator
|
|
25
|
+
* emits NodeNext `.js` specifiers because the compiled tree needs them, and Node will not
|
|
26
|
+
* rewrite `../deps.js` to `../deps.ts`. `ts-loader.ts` supplies exactly that rewrite, as
|
|
27
|
+
* the `--import` hook of the process, so no `dist/` has to exist first and a project that
|
|
28
|
+
* has one still runs it.
|
|
29
|
+
*
|
|
22
30
|
* **`--baseline` delegates the sampling.** The gate is statistical (`maxRegression` against
|
|
23
31
|
* a stored distribution), so a baseline from a single run is noise shaped like a fact. The
|
|
24
|
-
* generated module's `run()` already samples the dataset `SAMPLES` times --
|
|
25
|
-
* declares -- so recording a baseline calls that, then the runtime's own
|
|
26
|
-
* (`EvalBaseline.
|
|
27
|
-
*
|
|
28
|
-
*
|
|
32
|
+
* generated module's `run()` (or `sample()`) already samples the dataset `SAMPLES` times --
|
|
33
|
+
* the N the spec declares -- so recording a baseline calls that, then the runtime's own
|
|
34
|
+
* documented recipe (`EvalBaseline.fromRun` / `from_run`, which is literally the string in
|
|
35
|
+
* the generated `loadBaseline`'s error message). Re-sampling here would invent a second N
|
|
36
|
+
* and let the CLI and the module disagree about how many runs a baseline means.
|
|
29
37
|
*
|
|
30
|
-
*
|
|
31
|
-
* interpreter over stdin
|
|
32
|
-
*
|
|
33
|
-
* the runtime's measurement.
|
|
38
|
+
* Each recipe is the only place in the CLI that writes its language. The Python one is a
|
|
39
|
+
* script piped to the interpreter over stdin, and the Node one a script passed to `-e`,
|
|
40
|
+
* because neither runtime has such an entry point; both are deliberately short, since
|
|
41
|
+
* anything longer would be this layer reimplementing the runtime's measurement.
|
|
34
42
|
*/
|
|
35
43
|
import { existsSync } from 'node:fs';
|
|
44
|
+
import { fileURLToPath } from 'node:url';
|
|
36
45
|
import { sortDiagnostics } from '@aid-framework/spec';
|
|
37
46
|
import { CLI_DIAGNOSTIC_CODES, cliError, cliWarning } from '../diagnostics.js';
|
|
38
47
|
import { EXIT_FAILURE, EXIT_OK, EXIT_USAGE } from '../exit.js';
|
|
48
|
+
import { invokeNode, invokeNodeFile, NODE } from '../node.js';
|
|
39
49
|
import { outcome } from '../output.js';
|
|
40
50
|
import { absolutePath } from '../paths.js';
|
|
41
51
|
import { lowerSpec, readSpec } from '../pipeline.js';
|
|
42
52
|
import { discoverInterpreter, INTERPRETERS, interpreterCommand, invoke } from '../python.js';
|
|
43
53
|
import { resolveTarget, unknownTargetDiagnostic } from '../targets.js';
|
|
54
|
+
/**
|
|
55
|
+
* The TypeScript resolve hook, as a URL, because `--import` parses its argument as a
|
|
56
|
+
* specifier: a bare `C:\...` path reads as a `c:` URL scheme.
|
|
57
|
+
*
|
|
58
|
+
* The `.ts` fallback exists for the same reason the hook does -- so this command works
|
|
59
|
+
* from source as well as from `dist/`.
|
|
60
|
+
*/
|
|
61
|
+
const TS_LOADER = (() => {
|
|
62
|
+
const compiled = new URL('../ts-loader.js', import.meta.url);
|
|
63
|
+
if (existsSync(fileURLToPath(compiled)))
|
|
64
|
+
return compiled.href;
|
|
65
|
+
return new URL('../ts-loader.ts', import.meta.url).href;
|
|
66
|
+
})();
|
|
44
67
|
/** Eval ids the spec declares, or the diagnostics that stopped it from declaring any. */
|
|
45
68
|
function declaredSuites(text, specPath) {
|
|
46
69
|
const lowered = lowerSpec(text, specPath);
|
|
@@ -84,6 +107,30 @@ function baselineScript(modules) {
|
|
|
84
107
|
'',
|
|
85
108
|
].join('\n');
|
|
86
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* The TypeScript baseline recorder, run as `node -e`.
|
|
112
|
+
*
|
|
113
|
+
* It imports each module by absolute URL so the module's own imports resolve from the
|
|
114
|
+
* project tree, and it calls `recordBaseline()` rather than re-deriving a baseline: that
|
|
115
|
+
* function already samples `SAMPLES` times, builds the `EvalBaseline`, and writes the file
|
|
116
|
+
* `loadBaseline()` reads back -- the same constant, so the two cannot disagree.
|
|
117
|
+
*/
|
|
118
|
+
function nodeBaselineScript(files) {
|
|
119
|
+
return [
|
|
120
|
+
"import { fileURLToPath, pathToFileURL } from 'node:url';",
|
|
121
|
+
'',
|
|
122
|
+
`const MODULES = ${JSON.stringify(files)};`,
|
|
123
|
+
'',
|
|
124
|
+
'for (const file of MODULES) {',
|
|
125
|
+
' const module = await import(pathToFileURL(file).href);',
|
|
126
|
+
" await module.recordBaseline({ note: 'recorded by `aid eval --baseline`' });",
|
|
127
|
+
// Concatenation, not a template literal: the emitted line is a plain string here, and
|
|
128
|
+
// CodeQL (rightly) reads `${fileURLToPath}` inside one as a mistake.
|
|
129
|
+
' console.log("wrote " + fileURLToPath(module.BASELINE_PATH));',
|
|
130
|
+
'}',
|
|
131
|
+
'',
|
|
132
|
+
].join('\n');
|
|
133
|
+
}
|
|
87
134
|
export function evaluate(context, options) {
|
|
88
135
|
const command = 'eval';
|
|
89
136
|
const target = resolveTarget(options.target);
|
|
@@ -141,44 +188,46 @@ export function evaluate(context, options) {
|
|
|
141
188
|
],
|
|
142
189
|
});
|
|
143
190
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
],
|
|
158
|
-
});
|
|
191
|
+
// A Python target names its module (`app.generated.evals.<id>`, importable from the
|
|
192
|
+
// project root); a Node target names the file, because `process.argv[1]` is how the
|
|
193
|
+
// emitted module knows it is the entry point and should run its gate.
|
|
194
|
+
const modules = suites.map((id) => target.runner === 'node'
|
|
195
|
+
? absolutePath(context.cwd, target.evalModuleFile(id))
|
|
196
|
+
: target.evalModule(id));
|
|
197
|
+
let driver;
|
|
198
|
+
let runModule;
|
|
199
|
+
let recordBaseline;
|
|
200
|
+
if (target.runner === 'node') {
|
|
201
|
+
driver = NODE;
|
|
202
|
+
runModule = (module) => invokeNodeFile(context, module, { import: TS_LOADER });
|
|
203
|
+
recordBaseline = () => invokeNode(context, nodeBaselineScript(modules), { import: TS_LOADER });
|
|
159
204
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
205
|
+
else {
|
|
206
|
+
const interpreter = discoverInterpreter(context);
|
|
207
|
+
if (interpreter === undefined) {
|
|
208
|
+
return outcome({
|
|
209
|
+
command,
|
|
210
|
+
// Exit 2, not 1: nothing about the project was judged. The gate has no verdict when
|
|
211
|
+
// the thing that would run it cannot start, and `1` would read as "the evals failed".
|
|
212
|
+
exitCode: EXIT_USAGE,
|
|
213
|
+
fields: { ...fields, suites },
|
|
214
|
+
diagnostics: [
|
|
215
|
+
cliError({
|
|
216
|
+
code: CLI_DIAGNOSTIC_CODES.pythonMissing,
|
|
217
|
+
message: `No interpreter could import aid_runtime (tried ${INTERPRETERS.join(', ')}).`,
|
|
218
|
+
hint: 'Install the runtime into the interpreter you run with, or run the generated eval modules yourself.',
|
|
219
|
+
}),
|
|
220
|
+
],
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
driver = interpreter;
|
|
224
|
+
const base = interpreterCommand(interpreter);
|
|
225
|
+
runModule = (module) => invoke(context, [...base, '-m', module]);
|
|
226
|
+
recordBaseline = () => invoke(context, [...base, '-'], baselineScript(modules));
|
|
176
227
|
}
|
|
177
|
-
const
|
|
178
|
-
const base = interpreterCommand(interpreter);
|
|
179
|
-
const common = { ...fields, suites, interpreter };
|
|
228
|
+
const common = { ...fields, suites, driver };
|
|
180
229
|
if (options.baseline) {
|
|
181
|
-
const recorded =
|
|
230
|
+
const recorded = recordBaseline();
|
|
182
231
|
if (recorded === undefined || recorded.status !== 0) {
|
|
183
232
|
return outcome({
|
|
184
233
|
command,
|
|
@@ -187,7 +236,7 @@ export function evaluate(context, options) {
|
|
|
187
236
|
diagnostics: [
|
|
188
237
|
cliError({
|
|
189
238
|
code: CLI_DIAGNOSTIC_CODES.runnerFailed,
|
|
190
|
-
message: `Could not record a baseline with ${
|
|
239
|
+
message: `Could not record a baseline with ${driver}.`,
|
|
191
240
|
hint: 'Recording a baseline runs the evals, so it needs whatever they need; see the output for why they did not run.',
|
|
192
241
|
}),
|
|
193
242
|
],
|
|
@@ -208,7 +257,8 @@ export function evaluate(context, options) {
|
|
|
208
257
|
const spoken = [];
|
|
209
258
|
const diagnostics = [...declared.warnings];
|
|
210
259
|
for (const [index, module] of modules.entries()) {
|
|
211
|
-
const
|
|
260
|
+
const suite = suites[index] ?? module;
|
|
261
|
+
const run = runModule(module);
|
|
212
262
|
if (run === undefined) {
|
|
213
263
|
return outcome({
|
|
214
264
|
command,
|
|
@@ -217,12 +267,11 @@ export function evaluate(context, options) {
|
|
|
217
267
|
diagnostics: [
|
|
218
268
|
cliError({
|
|
219
269
|
code: CLI_DIAGNOSTIC_CODES.runnerFailed,
|
|
220
|
-
message: `Could not start ${
|
|
270
|
+
message: `Could not start ${driver} to run "${suite}".`,
|
|
221
271
|
}),
|
|
222
272
|
],
|
|
223
273
|
});
|
|
224
274
|
}
|
|
225
|
-
const suite = suites[index] ?? module;
|
|
226
275
|
results.push({ suite, module, status: run.status ?? EXIT_FAILURE });
|
|
227
276
|
if (run.stdout.trim() !== '')
|
|
228
277
|
output.push(run.stdout.trimEnd());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/commands/eval.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/commands/eval.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/gen.js
CHANGED
|
@@ -106,8 +106,9 @@ function summarize(success) {
|
|
|
106
106
|
const failed = check
|
|
107
107
|
? hasErrors(diagnostics) || pending.length > 0 || report.drifted.length > 0
|
|
108
108
|
: hasErrors(diagnostics) || (!force && hasDrift(report));
|
|
109
|
+
const discarded = force && !dryRun && !check;
|
|
109
110
|
const text = [
|
|
110
|
-
`${target.name}: ${check ? 'check, ' : dryRun ? 'dry run, ' : ''}${formatRegenerationSummary(report)}`,
|
|
111
|
+
`${target.name}: ${check ? 'check, ' : dryRun ? 'dry run, ' : ''}${formatRegenerationSummary(report, { forced: discarded })}`,
|
|
111
112
|
];
|
|
112
113
|
if (check && pending.length > 0) {
|
|
113
114
|
text.push('the tree does not match the spec; run `aid gen` and commit the result:');
|
|
@@ -117,11 +118,13 @@ function summarize(success) {
|
|
|
117
118
|
text.push(...lines('created:', report.created));
|
|
118
119
|
text.push(...lines('updated:', report.updated));
|
|
119
120
|
if (report.drifted.length > 0) {
|
|
120
|
-
text.push(
|
|
121
|
-
? '
|
|
122
|
-
:
|
|
121
|
+
text.push(discarded
|
|
122
|
+
? 'rewritten, discarding your edits:'
|
|
123
|
+
: dryRun || check
|
|
124
|
+
? 'would refuse to overwrite:'
|
|
125
|
+
: 'refused to overwrite, the new content is beside it:');
|
|
123
126
|
for (const drift of report.drifted) {
|
|
124
|
-
text.push(` ${drift.path} -> ${rejectionPath(drift.path)}`);
|
|
127
|
+
text.push(discarded ? ` ${drift.path}` : ` ${drift.path} -> ${rejectionPath(drift.path)}`);
|
|
125
128
|
}
|
|
126
129
|
}
|
|
127
130
|
text.push(...lines('scaffold kept (yours):', report.scaffoldKept));
|
package/dist/commands/gen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gen.js","sourceRoot":"","sources":["../../src/commands/gen.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gen.js","sourceRoot":"","sources":["../../src/commands/gen.ts"],"names":[],"mappings":"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"}
|
package/dist/node.d.ts
CHANGED
|
@@ -22,5 +22,22 @@ export declare const NODE = "node";
|
|
|
22
22
|
* a bug rather than a machine state, but the contract is the same one `invoke` keeps for
|
|
23
23
|
* Python so callers handle both drivers identically.
|
|
24
24
|
*/
|
|
25
|
-
export declare function invokeNode(context: CliContext, script: string): SpawnResult | undefined;
|
|
25
|
+
export declare function invokeNode(context: CliContext, script: string, options?: NodeOptions): SpawnResult | undefined;
|
|
26
|
+
/** Options shared by the two ways this CLI runs a Node process. */
|
|
27
|
+
export interface NodeOptions {
|
|
28
|
+
/**
|
|
29
|
+
* A module to load before the driver, as a file URL. The CLI passes its TypeScript
|
|
30
|
+
* resolve hook here, so a driver that imports a generated `.ts` module can resolve the
|
|
31
|
+
* NodeNext `.js` specifiers that module emits.
|
|
32
|
+
*/
|
|
33
|
+
readonly import?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Run one file with the Node that is running this CLI.
|
|
37
|
+
*
|
|
38
|
+
* A file rather than `-e`, because `process.argv[1]` is how a generated module knows it
|
|
39
|
+
* is the entry point: the eval modules run their gate only when they are the file Node
|
|
40
|
+
* was asked to run, and never when an index merely re-exports them.
|
|
41
|
+
*/
|
|
42
|
+
export declare function invokeNodeFile(context: CliContext, file: string, options?: NodeOptions): SpawnResult | undefined;
|
|
26
43
|
//# sourceMappingURL=node.d.ts.map
|
package/dist/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5D,mFAAmF;AACnF,eAAO,MAAM,IAAI,SAAS,CAAC;AAE3B;;;;;;GAMG;AACH,wBAAgB,UAAU,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5D,mFAAmF;AACnF,eAAO,MAAM,IAAI,SAAS,CAAC;AAE3B;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,WAAgB,GACxB,WAAW,GAAG,SAAS,CAWzB;AAED,mEAAmE;AACnE,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,WAAgB,GACxB,WAAW,GAAG,SAAS,CAOzB"}
|
package/dist/node.js
CHANGED
|
@@ -21,8 +21,26 @@ export const NODE = 'node';
|
|
|
21
21
|
* a bug rather than a machine state, but the contract is the same one `invoke` keeps for
|
|
22
22
|
* Python so callers handle both drivers identically.
|
|
23
23
|
*/
|
|
24
|
-
export function invokeNode(context, script) {
|
|
25
|
-
const result = context.spawn(process.execPath, ['--input-type=module', '-e', script], {
|
|
24
|
+
export function invokeNode(context, script, options = {}) {
|
|
25
|
+
const result = context.spawn(process.execPath, [...nodeArgs(options), '--input-type=module', '-e', script], {
|
|
26
|
+
cwd: context.cwd,
|
|
27
|
+
stdio: 'pipe',
|
|
28
|
+
env: context.env,
|
|
29
|
+
});
|
|
30
|
+
return result.error === undefined ? result : undefined;
|
|
31
|
+
}
|
|
32
|
+
function nodeArgs(options = {}) {
|
|
33
|
+
return options.import === undefined ? [] : ['--import', options.import];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Run one file with the Node that is running this CLI.
|
|
37
|
+
*
|
|
38
|
+
* A file rather than `-e`, because `process.argv[1]` is how a generated module knows it
|
|
39
|
+
* is the entry point: the eval modules run their gate only when they are the file Node
|
|
40
|
+
* was asked to run, and never when an index merely re-exports them.
|
|
41
|
+
*/
|
|
42
|
+
export function invokeNodeFile(context, file, options = {}) {
|
|
43
|
+
const result = context.spawn(process.execPath, [...nodeArgs(options), file], {
|
|
26
44
|
cwd: context.cwd,
|
|
27
45
|
stdio: 'pipe',
|
|
28
46
|
env: context.env,
|
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,mFAAmF;AACnF,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAE3B;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,mFAAmF;AACnF,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAE3B;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CACxB,OAAmB,EACnB,MAAc,EACd,OAAO,GAAgB,EAAE;IAEzB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAC1B,OAAO,CAAC,QAAQ,EAChB,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC,EAC3D;QACE,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CACF,CAAC;IACF,OAAO,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAYD,SAAS,QAAQ,CAAC,OAAO,GAAgB,EAAE;IACzC,OAAO,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAmB,EACnB,IAAY,EACZ,OAAO,GAAgB,EAAE;IAEzB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;QAC3E,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The module hook `aid eval` runs a TypeScript target's generated eval through.
|
|
3
|
+
*
|
|
4
|
+
* Node strips types, so a generated `.ts` module runs without a build step -- with one
|
|
5
|
+
* exception. The generator emits NodeNext specifiers (`../deps.js`) because that is what
|
|
6
|
+
* the compiled tree has, and type stripping does not rewrite them: Node looks for
|
|
7
|
+
* `../deps.js`, finds nothing, and fails with `ERR_MODULE_NOT_FOUND`. This hook closes
|
|
8
|
+
* that gap by resolving a relative `.js` specifier to the `.ts` file beside it when the
|
|
9
|
+
* `.js` file does not exist.
|
|
10
|
+
*
|
|
11
|
+
* It is deliberately narrow. A specifier that resolves to a real file is left alone, so a
|
|
12
|
+
* project that has built itself keeps running its build output; only a missing `.js` is
|
|
13
|
+
* redirected, which is exactly the case that cannot work otherwise.
|
|
14
|
+
*/
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=ts-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-loader.d.ts","sourceRoot":"","sources":["../src/ts-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The module hook `aid eval` runs a TypeScript target's generated eval through.
|
|
3
|
+
*
|
|
4
|
+
* Node strips types, so a generated `.ts` module runs without a build step -- with one
|
|
5
|
+
* exception. The generator emits NodeNext specifiers (`../deps.js`) because that is what
|
|
6
|
+
* the compiled tree has, and type stripping does not rewrite them: Node looks for
|
|
7
|
+
* `../deps.js`, finds nothing, and fails with `ERR_MODULE_NOT_FOUND`. This hook closes
|
|
8
|
+
* that gap by resolving a relative `.js` specifier to the `.ts` file beside it when the
|
|
9
|
+
* `.js` file does not exist.
|
|
10
|
+
*
|
|
11
|
+
* It is deliberately narrow. A specifier that resolves to a real file is left alone, so a
|
|
12
|
+
* project that has built itself keeps running its build output; only a missing `.js` is
|
|
13
|
+
* redirected, which is exactly the case that cannot work otherwise.
|
|
14
|
+
*/
|
|
15
|
+
import { existsSync } from 'node:fs';
|
|
16
|
+
import { registerHooks } from 'node:module';
|
|
17
|
+
import { fileURLToPath } from 'node:url';
|
|
18
|
+
registerHooks({
|
|
19
|
+
resolve(specifier, context, nextResolve) {
|
|
20
|
+
if (specifier.startsWith('.') && specifier.endsWith('.js') && context.parentURL !== undefined) {
|
|
21
|
+
const compiled = new URL(specifier, context.parentURL);
|
|
22
|
+
if (!existsSync(fileURLToPath(compiled))) {
|
|
23
|
+
const source = new URL(`${specifier.slice(0, -3)}.ts`, context.parentURL);
|
|
24
|
+
if (existsSync(fileURLToPath(source))) {
|
|
25
|
+
return { url: source.href, shortCircuit: true };
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return nextResolve(specifier, context);
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=ts-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-loader.js","sourceRoot":"","sources":["../src/ts-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,aAAa,CAAC;IACZ,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW;QACrC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC1E,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;oBACtC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;CACF,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aid-framework/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.69",
|
|
4
4
|
"description": "The `aid` command: scaffold a project, validate its spec, generate its code, and run its eval gate.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
"access": "public"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@aid-framework/generator-py-fastapi": "0.1.
|
|
37
|
-
"@aid-framework/generator-sdk": "0.1.
|
|
38
|
-
"@aid-framework/generator-ts-vercel": "0.1.
|
|
39
|
-
"@aid-framework/ir": "0.1.
|
|
40
|
-
"@aid-framework/spec": "0.1.
|
|
36
|
+
"@aid-framework/generator-py-fastapi": "0.1.69",
|
|
37
|
+
"@aid-framework/generator-sdk": "0.1.69",
|
|
38
|
+
"@aid-framework/generator-ts-vercel": "0.1.69",
|
|
39
|
+
"@aid-framework/ir": "0.1.69",
|
|
40
|
+
"@aid-framework/spec": "0.1.69"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/node": "^26.6.5"
|