@aid-framework/cli 0.1.66 → 0.1.68
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/commands/guard.d.ts +16 -8
- package/dist/commands/guard.d.ts.map +1 -1
- package/dist/commands/guard.js +113 -50
- package/dist/commands/guard.js.map +1 -1
- package/dist/node.d.ts +43 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +50 -0
- package/dist/node.js.map +1 -0
- package/dist/targets.d.ts +14 -10
- package/dist/targets.d.ts.map +1 -1
- package/dist/targets.js +3 -3
- package/dist/targets.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/guard.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* **What is measured, and why it is measured here.** The runtime's `GuardrailEngine` is
|
|
5
5
|
* the thing that decides whether text is a jailbreak, a secret, or an injection, and the
|
|
6
|
-
*
|
|
6
|
+
* table the generator emitted -- `generated/guardrails.py`, or `generated/guardrails.ts`
|
|
7
|
+
* for the TypeScript target -- is the declarations the routes enforce.
|
|
7
8
|
* This command joins the two and reports, per fixture, whether the table the app actually
|
|
8
9
|
* shipped caught it. Detection is not reimplemented: a second implementation here would
|
|
9
10
|
* drift from the one the routes run, and the number it produced would describe the CLI
|
|
@@ -32,21 +33,29 @@
|
|
|
32
33
|
* line and in the `--json` document.
|
|
33
34
|
*
|
|
34
35
|
* **Why nothing is regenerated.** A gate measures the tree it is given, and `aid eval`
|
|
35
|
-
* already sets that precedent: this command reads
|
|
36
|
-
*
|
|
36
|
+
* already sets that precedent: this command reads the emitted table, and a tree that
|
|
37
|
+
* predates the spec is reported as a missing or stale module rather than silently
|
|
37
38
|
* replaced. Run `aid gen` first, as CI does.
|
|
38
39
|
*
|
|
40
|
+
* **Two drivers, one join.** Which program imports the table is the target's business,
|
|
41
|
+
* not this command's. A Python target is measured by an interpreter that can import
|
|
42
|
+
* `aid_runtime`, because that is what the emitted module is; a TypeScript target is
|
|
43
|
+
* measured by the Node that is running the CLI, because `aid` is a Node program and the
|
|
44
|
+
* emitted module is TypeScript it loads directly. Both drivers do the same four things --
|
|
45
|
+
* import the table, pick the stage method, turn the verdict into a row, print JSON -- so
|
|
46
|
+
* no part of detection is written twice.
|
|
47
|
+
*
|
|
39
48
|
* **When it does not run, and what it exits with.** Exit 2 is "this command could not
|
|
40
|
-
* judge the project": an unknown target, a
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* the
|
|
44
|
-
* asks for.
|
|
49
|
+
* judge the project": an unknown target, a corpus that is missing or malformed, or (for a
|
|
50
|
+
* Python target) no interpreter that can import the runtime. Exit 1 is a verdict about the
|
|
51
|
+
* project: it declares no guardrails, its tree has no guardrail module, the run failed, or
|
|
52
|
+
* the measured recall / false-positive rate misses what the corpus asks for.
|
|
45
53
|
*/
|
|
46
54
|
import { existsSync, readFileSync } from 'node:fs';
|
|
47
55
|
import { sortDiagnostics } from '@aid-framework/spec';
|
|
48
56
|
import { CLI_DIAGNOSTIC_CODES, cliError, cliWarning } from '../diagnostics.js';
|
|
49
57
|
import { EXIT_FAILURE, EXIT_OK, EXIT_USAGE } from '../exit.js';
|
|
58
|
+
import { invokeNode, NODE } from '../node.js';
|
|
50
59
|
import { outcome } from '../output.js';
|
|
51
60
|
import { absolutePath, parentPath } from '../paths.js';
|
|
52
61
|
import { lowerSpec, readSpec } from '../pipeline.js';
|
|
@@ -118,6 +127,66 @@ for fixture in corpus["fixtures"]:
|
|
|
118
127
|
|
|
119
128
|
print(json.dumps({"rows": rows}))
|
|
120
129
|
`;
|
|
130
|
+
/**
|
|
131
|
+
* The Node side of the same contract, for a target whose table is TypeScript.
|
|
132
|
+
*
|
|
133
|
+
* It is the same four steps as `GUARD_SCRIPT` and nothing more, which is the point: the
|
|
134
|
+
* measurement a TypeScript app gets is produced by the engine the Next app runs, over the
|
|
135
|
+
* table the generator emitted, exactly as the Python app's is. `GUARDRAILS`, `ENGINE` and
|
|
136
|
+
* the camelCase stage methods are the generated module's exports, so this driver is
|
|
137
|
+
* written against the emit contract rather than against any one app.
|
|
138
|
+
*
|
|
139
|
+
* The paths are spliced in as string literals instead of arriving as argv: `node -e` has
|
|
140
|
+
* no script name, so `process.argv` is off by one relative to a script file, and a literal
|
|
141
|
+
* removes that whole class of bug (and quoting on Windows with it). Both are absolute, and
|
|
142
|
+
* the module is imported by URL so Node resolves its own imports from the app tree.
|
|
143
|
+
*/
|
|
144
|
+
const NODE_GUARD_SCRIPT = `import { readFileSync } from 'node:fs';
|
|
145
|
+
import { pathToFileURL } from 'node:url';
|
|
146
|
+
|
|
147
|
+
const corpus = JSON.parse(readFileSync(CORPUS_PATH, 'utf8'));
|
|
148
|
+
const emitted = await import(pathToFileURL(MODULE_PATH).href);
|
|
149
|
+
const definitions = emitted.GUARDRAILS ?? [];
|
|
150
|
+
const engine = emitted.ENGINE;
|
|
151
|
+
|
|
152
|
+
function measure(fixture) {
|
|
153
|
+
const stage = fixture.stage;
|
|
154
|
+
const declared = definitions.filter((item) => item.stages.includes(stage));
|
|
155
|
+
const text = fixture.text ?? '';
|
|
156
|
+
if (stage === 'input') return [declared, engine.checkInput(declared, text)];
|
|
157
|
+
if (stage === 'output') return [declared, engine.checkOutput(declared, text)];
|
|
158
|
+
if (stage === 'retrieval') return [declared, engine.checkRetrieval(declared, [text])];
|
|
159
|
+
const args = { ...(fixture.arguments ?? {}) };
|
|
160
|
+
if (text) args.text = text;
|
|
161
|
+
return [declared, engine.checkToolCall(declared, fixture.tool ?? 'search', args)];
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
const rows = [];
|
|
165
|
+
for (const fixture of corpus.fixtures) {
|
|
166
|
+
try {
|
|
167
|
+
const [declared, verdict] = measure(fixture);
|
|
168
|
+
rows.push({
|
|
169
|
+
id: fixture.id,
|
|
170
|
+
declared: declared.length,
|
|
171
|
+
covered: declared.some((item) => item.policies.includes(fixture.policy)),
|
|
172
|
+
caught: verdict.records.length > 0,
|
|
173
|
+
deciding: verdict.deciding?.guardrail ?? null,
|
|
174
|
+
actions: [...new Set(verdict.records.map((record) => record.action))].sort(),
|
|
175
|
+
});
|
|
176
|
+
} catch (error) {
|
|
177
|
+
rows.push({
|
|
178
|
+
id: fixture.id,
|
|
179
|
+
error: (error?.constructor?.name ?? 'Error') + ': ' + error?.message,
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
process.stdout.write(JSON.stringify({ rows }));
|
|
185
|
+
`;
|
|
186
|
+
/** The driver with its two absolute paths spliced in, safely for any path text. */
|
|
187
|
+
function nodeGuardScript(corpusPath, modulePath) {
|
|
188
|
+
return NODE_GUARD_SCRIPT.replace('CORPUS_PATH', () => JSON.stringify(corpusPath)).replace('MODULE_PATH', () => JSON.stringify(modulePath));
|
|
189
|
+
}
|
|
121
190
|
function isRecord(value) {
|
|
122
191
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
123
192
|
}
|
|
@@ -348,24 +417,9 @@ export function guard(context, options) {
|
|
|
348
417
|
}
|
|
349
418
|
const specPath = options.spec ?? target.specPath;
|
|
350
419
|
const named = { target: target.name, spec: specPath };
|
|
351
|
-
//
|
|
352
|
-
//
|
|
353
|
-
// would be a verdict this command has no evidence for.
|
|
420
|
+
// Which program imports the table is the target's business; both drivers report the
|
|
421
|
+
// same rows, so nothing below this block branches on the language again.
|
|
354
422
|
const surface = target.guard;
|
|
355
|
-
if (surface.kind === 'none') {
|
|
356
|
-
return outcome({
|
|
357
|
-
command,
|
|
358
|
-
exitCode: EXIT_USAGE,
|
|
359
|
-
fields: { ...named, corpus: options.redTeam ?? null },
|
|
360
|
-
diagnostics: [
|
|
361
|
-
cliError({
|
|
362
|
-
code: CLI_DIAGNOSTIC_CODES.runnerUnsupported,
|
|
363
|
-
message: `\`aid guard\` cannot measure ${target.name}: ${surface.reason}.`,
|
|
364
|
-
hint: 'Run the corpus against the emitted TypeScript guardrails with the runtime they already import.',
|
|
365
|
-
}),
|
|
366
|
-
],
|
|
367
|
-
});
|
|
368
|
-
}
|
|
369
423
|
const read = readCorpus(context, specPath, options.redTeam);
|
|
370
424
|
if (!read.ok) {
|
|
371
425
|
return outcome({
|
|
@@ -431,33 +485,42 @@ export function guard(context, options) {
|
|
|
431
485
|
],
|
|
432
486
|
});
|
|
433
487
|
}
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
488
|
+
let driver;
|
|
489
|
+
let run;
|
|
490
|
+
if (surface.runner === 'python') {
|
|
491
|
+
const interpreter = discoverInterpreter(context);
|
|
492
|
+
if (interpreter === undefined) {
|
|
493
|
+
return outcome({
|
|
494
|
+
command,
|
|
495
|
+
// Exit 2, not 1: nothing about the project was judged. The corpus cannot run
|
|
496
|
+
// without the runtime, so there is no recall to report and no gate to fail.
|
|
497
|
+
exitCode: EXIT_USAGE,
|
|
498
|
+
fields,
|
|
499
|
+
diagnostics: [
|
|
500
|
+
cliError({
|
|
501
|
+
code: CLI_DIAGNOSTIC_CODES.pythonMissing,
|
|
502
|
+
message: `No interpreter could import aid_runtime (tried ${INTERPRETERS.join(', ')}).`,
|
|
503
|
+
hint: 'Install the runtime into the interpreter you run with, or measure the corpus yourself.',
|
|
504
|
+
}),
|
|
505
|
+
],
|
|
506
|
+
});
|
|
507
|
+
}
|
|
508
|
+
driver = interpreter;
|
|
509
|
+
run = invoke(context, [...interpreterCommand(interpreter), '-', corpus.path, surface.module], GUARD_SCRIPT);
|
|
510
|
+
}
|
|
511
|
+
else {
|
|
512
|
+
driver = NODE;
|
|
513
|
+
run = invokeNode(context, nodeGuardScript(absolutePath(context.cwd, corpus.path), absolutePath(context.cwd, surface.file)));
|
|
450
514
|
}
|
|
451
|
-
const run = invoke(context, [...interpreterCommand(interpreter), '-', corpus.path, surface.module], GUARD_SCRIPT);
|
|
452
515
|
if (run === undefined) {
|
|
453
516
|
return outcome({
|
|
454
517
|
command,
|
|
455
518
|
exitCode: EXIT_USAGE,
|
|
456
|
-
fields: { ...fields,
|
|
519
|
+
fields: { ...fields, driver },
|
|
457
520
|
diagnostics: [
|
|
458
521
|
cliError({
|
|
459
522
|
code: CLI_DIAGNOSTIC_CODES.runnerFailed,
|
|
460
|
-
message: `Could not start ${
|
|
523
|
+
message: `Could not start ${driver} to measure "${surface.file}".`,
|
|
461
524
|
}),
|
|
462
525
|
],
|
|
463
526
|
});
|
|
@@ -466,12 +529,12 @@ export function guard(context, options) {
|
|
|
466
529
|
return outcome({
|
|
467
530
|
command,
|
|
468
531
|
exitCode: EXIT_FAILURE,
|
|
469
|
-
fields: { ...fields,
|
|
532
|
+
fields: { ...fields, driver },
|
|
470
533
|
diagnostics: [
|
|
471
534
|
cliError({
|
|
472
535
|
code: CLI_DIAGNOSTIC_CODES.runnerFailed,
|
|
473
|
-
message: `Measuring "${surface.
|
|
474
|
-
hint: "The table could not be imported or a declaration failed to evaluate; the
|
|
536
|
+
message: `Measuring "${surface.file}" with ${driver} exited ${run.status ?? 'without a status'}.`,
|
|
537
|
+
hint: "The table could not be imported or a declaration failed to evaluate; the driver's own output says which.",
|
|
475
538
|
}),
|
|
476
539
|
],
|
|
477
540
|
stderr: run.stderr,
|
|
@@ -490,7 +553,7 @@ export function guard(context, options) {
|
|
|
490
553
|
return outcome({
|
|
491
554
|
command,
|
|
492
555
|
exitCode: EXIT_FAILURE,
|
|
493
|
-
fields: { ...fields,
|
|
556
|
+
fields: { ...fields, driver },
|
|
494
557
|
diagnostics: [
|
|
495
558
|
cliError({
|
|
496
559
|
code: CLI_DIAGNOSTIC_CODES.runnerFailed,
|
|
@@ -512,7 +575,7 @@ export function guard(context, options) {
|
|
|
512
575
|
deciding: undefined,
|
|
513
576
|
actions: [],
|
|
514
577
|
verdict: verdictOf(fixture.knownBad, false),
|
|
515
|
-
error: 'the
|
|
578
|
+
error: 'the driver reported no row for this fixture',
|
|
516
579
|
};
|
|
517
580
|
}
|
|
518
581
|
const caught = row.caught === true;
|
|
@@ -634,7 +697,7 @@ export function guard(context, options) {
|
|
|
634
697
|
exitCode: passed ? EXIT_OK : EXIT_FAILURE,
|
|
635
698
|
fields: {
|
|
636
699
|
...fields,
|
|
637
|
-
|
|
700
|
+
driver,
|
|
638
701
|
declarations: declarations.map((entry) => ({
|
|
639
702
|
id: entry.id,
|
|
640
703
|
stages: entry.stages,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/commands/guard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/commands/guard.ts"],"names":[],"mappings":"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"}
|
package/dist/node.d.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Node toolchain `aid guard` uses when a target's guardrail table is TypeScript.
|
|
3
|
+
*
|
|
4
|
+
* There is no discovery step, and that is deliberate: `aid` is itself a Node program, so
|
|
5
|
+
* the binary that runs the CLI is a Node that exists, and the CLI's own `engines` floor is
|
|
6
|
+
* 24 -- the line after which Node loads a `.ts` module without a flag. A second,
|
|
7
|
+
* discovered Node could be older than the one already running this command, and the
|
|
8
|
+
* failure would look like a broken generated module.
|
|
9
|
+
*
|
|
10
|
+
* `--input-type=module -e` carries the driver as text rather than a file, so a measurement
|
|
11
|
+
* never writes into a repository it is reviewing. The driver imports the generated module
|
|
12
|
+
* by absolute URL, which means the module's own imports (the runtime, `zod`) resolve from
|
|
13
|
+
* the project tree rather than from wherever the process happens to start.
|
|
14
|
+
*/
|
|
15
|
+
import type { CliContext, SpawnResult } from './context.js';
|
|
16
|
+
/** The program named in a failed measurement, and reported in the JSON outcome. */
|
|
17
|
+
export declare const NODE = "node";
|
|
18
|
+
/**
|
|
19
|
+
* Run one driver script with the Node that is running this CLI.
|
|
20
|
+
*
|
|
21
|
+
* `undefined` means the child could not be started at all. For `process.execPath` that is
|
|
22
|
+
* a bug rather than a machine state, but the contract is the same one `invoke` keeps for
|
|
23
|
+
* Python so callers handle both drivers identically.
|
|
24
|
+
*/
|
|
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;
|
|
43
|
+
//# sourceMappingURL=node.d.ts.map
|
|
@@ -0,0 +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,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
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Node toolchain `aid guard` uses when a target's guardrail table is TypeScript.
|
|
3
|
+
*
|
|
4
|
+
* There is no discovery step, and that is deliberate: `aid` is itself a Node program, so
|
|
5
|
+
* the binary that runs the CLI is a Node that exists, and the CLI's own `engines` floor is
|
|
6
|
+
* 24 -- the line after which Node loads a `.ts` module without a flag. A second,
|
|
7
|
+
* discovered Node could be older than the one already running this command, and the
|
|
8
|
+
* failure would look like a broken generated module.
|
|
9
|
+
*
|
|
10
|
+
* `--input-type=module -e` carries the driver as text rather than a file, so a measurement
|
|
11
|
+
* never writes into a repository it is reviewing. The driver imports the generated module
|
|
12
|
+
* by absolute URL, which means the module's own imports (the runtime, `zod`) resolve from
|
|
13
|
+
* the project tree rather than from wherever the process happens to start.
|
|
14
|
+
*/
|
|
15
|
+
/** The program named in a failed measurement, and reported in the JSON outcome. */
|
|
16
|
+
export const NODE = 'node';
|
|
17
|
+
/**
|
|
18
|
+
* Run one driver script with the Node that is running this CLI.
|
|
19
|
+
*
|
|
20
|
+
* `undefined` means the child could not be started at all. For `process.execPath` that is
|
|
21
|
+
* a bug rather than a machine state, but the contract is the same one `invoke` keeps for
|
|
22
|
+
* Python so callers handle both drivers identically.
|
|
23
|
+
*/
|
|
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], {
|
|
44
|
+
cwd: context.cwd,
|
|
45
|
+
stdio: 'pipe',
|
|
46
|
+
env: context.env,
|
|
47
|
+
});
|
|
48
|
+
return result.error === undefined ? result : undefined;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=node.js.map
|
package/dist/node.js.map
ADDED
|
@@ -0,0 +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,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"}
|
package/dist/targets.d.ts
CHANGED
|
@@ -41,23 +41,27 @@ export type TargetDev = {
|
|
|
41
41
|
readonly reason: string;
|
|
42
42
|
};
|
|
43
43
|
/**
|
|
44
|
-
* How `aid guard` reaches this target's guardrail table
|
|
44
|
+
* How `aid guard` reaches this target's guardrail table.
|
|
45
45
|
*
|
|
46
46
|
* `aid guard` drives the runtime's `GuardrailEngine`; it does not re-implement detection.
|
|
47
47
|
* That makes the question "is there a declared table in a language this command can
|
|
48
|
-
* import", and the answer is per target: the Python target emits
|
|
49
|
-
* with `GUARDRAILS` and `BY_ID`,
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
48
|
+
* import", and the answer is per target: the Python target emits
|
|
49
|
+
* `generated/guardrails.py` with `GUARDRAILS` and `BY_ID`, which an interpreter imports by
|
|
50
|
+
* module name, while the TypeScript target emits `generated/guardrails.ts` with
|
|
51
|
+
* `GUARDRAILS`, `BY_ID` and `ENGINE`, which the Node running this command imports by URL.
|
|
52
|
+
*
|
|
53
|
+
* There is no "no driver" case, deliberately. A target that cannot be measured would
|
|
54
|
+
* report a recall nothing earned, so a new target must bring the driver its table needs
|
|
55
|
+
* rather than declare the gap. `file` is what the command checks for before it spawns
|
|
56
|
+
* anything, so a stale tree is reported as a stale tree.
|
|
53
57
|
*/
|
|
54
58
|
export type TargetGuard = {
|
|
55
|
-
readonly
|
|
59
|
+
readonly runner: 'python';
|
|
56
60
|
readonly module: string;
|
|
57
61
|
readonly file: string;
|
|
58
62
|
} | {
|
|
59
|
-
readonly
|
|
60
|
-
readonly
|
|
63
|
+
readonly runner: 'node';
|
|
64
|
+
readonly file: string;
|
|
61
65
|
};
|
|
62
66
|
export interface Target {
|
|
63
67
|
/** The target id, as a spec's `project.targets` spells it. */
|
|
@@ -75,7 +79,7 @@ export interface Target {
|
|
|
75
79
|
readonly runner: TargetRunner;
|
|
76
80
|
/** How `aid dev` serves this target, or why it cannot. */
|
|
77
81
|
readonly dev: TargetDev;
|
|
78
|
-
/** How `aid guard` runs this target's guardrail table
|
|
82
|
+
/** How `aid guard` runs this target's guardrail table. */
|
|
79
83
|
readonly guard: TargetGuard;
|
|
80
84
|
/** Everything that stops this target compiling the IR, as diagnostics. */
|
|
81
85
|
check(ir: IR): readonly CliDiagnostic[];
|
package/dist/targets.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,OAAO,EACL,KAAK,SAAS,EACd,KAAK,iBAAiB,EAEtB,KAAK,IAAI,EAEV,MAAM,8BAA8B,CAAC;AAStC,OAAO,KAAK,EAAE,EAAE,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAG1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAiBtD;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1E;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD
|
|
1
|
+
{"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,OAAO,EACL,KAAK,SAAS,EACd,KAAK,iBAAiB,EAEtB,KAAK,IAAI,EAEV,MAAM,8BAA8B,CAAC;AAStC,OAAO,KAAK,EAAE,EAAE,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAG1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAiBtD;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1E;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,WAAW,MAAM;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,iFAAiF;IACjF,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,0DAA0D;IAC1D,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,0EAA0E;IAC1E,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,aAAa,EAAE,CAAC;IACxC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IACnB,wEAAwE;IACxE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,8EAA8E;IAC9E,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,+EAA+E;IAC/E,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACnD,qFAAqF;IACrF,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CACxD;AA+ED;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,SAAS,MAAM,EA8CpC,CAAC;AAOF,eAAO,MAAM,cAAc,QAAe,CAAC;AAE3C,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,QAAmB,CAAC;AAElD,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAEtC;AAED,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAG1E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,4BAA4B,CAEjE;AAED,8DAA8D;AAC9D,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAOnE"}
|
package/dist/targets.js
CHANGED
|
@@ -90,7 +90,7 @@ export const TARGETS = [
|
|
|
90
90
|
// The table's module name is derived from the path the generator emits to, so a
|
|
91
91
|
// generator that moves the file moves the import with it.
|
|
92
92
|
guard: {
|
|
93
|
-
|
|
93
|
+
runner: 'python',
|
|
94
94
|
module: dotted(GUARDRAILS_PATH, '.py'),
|
|
95
95
|
file: GUARDRAILS_PATH,
|
|
96
96
|
},
|
|
@@ -109,8 +109,8 @@ export const TARGETS = [
|
|
|
109
109
|
reason: 'it is a deployment target -- the emitted route handlers are mounted by Next, and it ships no server of its own',
|
|
110
110
|
},
|
|
111
111
|
guard: {
|
|
112
|
-
|
|
113
|
-
|
|
112
|
+
runner: 'node',
|
|
113
|
+
file: tsVercelPaths.guardrails,
|
|
114
114
|
},
|
|
115
115
|
// The generated modules are `.ts` on disk and `.js` once compiled; the dotted name
|
|
116
116
|
// is the same either way, and the path helpers hand back the file that exists.
|
package/dist/targets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targets.js","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,SAAS,IAAI,cAAc,EAC3B,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,cAAc,IAAI,uBAAuB,EACzC,kBAAkB,EAClB,yBAAyB,IAAI,yBAAyB,GACvD,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAGL,YAAY,EAEZ,4BAA4B,GAC7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,SAAS,IAAI,aAAa,EAC1B,kBAAkB,EAClB,cAAc,IAAI,sBAAsB,EACxC,iBAAiB,EACjB,yBAAyB,IAAI,wBAAwB,EACrD,KAAK,IAAI,aAAa,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"targets.js","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|