@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.
@@ -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
- * generated `generated/guardrails.py` is the table of declarations the routes enforce.
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 `generated/guardrails.py`, and a tree
36
- * that predates the spec is reported as a missing or stale module rather than silently
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 target with no driver, a corpus that is
41
- * missing or malformed, or no interpreter that can import the runtime. Exit 1 is a
42
- * verdict about the project: it declares no guardrails, its tree has no guardrail module,
43
- * the run failed, or the measured recall / false-positive rate misses what the corpus
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
- // Before the project is read: a target with no driver cannot be measured however
352
- // healthy its spec is, and saying "no guardrails" about a target nothing ran against
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
- const interpreter = discoverInterpreter(context);
435
- if (interpreter === undefined) {
436
- return outcome({
437
- command,
438
- // Exit 2, not 1: nothing about the project was judged. The corpus cannot run
439
- // without the runtime, so there is no recall to report and no gate to fail.
440
- exitCode: EXIT_USAGE,
441
- fields,
442
- diagnostics: [
443
- cliError({
444
- code: CLI_DIAGNOSTIC_CODES.pythonMissing,
445
- message: `No interpreter could import aid_runtime (tried ${INTERPRETERS.join(', ')}).`,
446
- hint: 'Install the runtime into the interpreter you run with, or measure the corpus yourself.',
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, interpreter },
519
+ fields: { ...fields, driver },
457
520
  diagnostics: [
458
521
  cliError({
459
522
  code: CLI_DIAGNOSTIC_CODES.runnerFailed,
460
- message: `Could not start ${interpreter} to measure "${surface.module}".`,
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, interpreter },
532
+ fields: { ...fields, driver },
470
533
  diagnostics: [
471
534
  cliError({
472
535
  code: CLI_DIAGNOSTIC_CODES.runnerFailed,
473
- message: `Measuring "${surface.module}" with ${interpreter} exited ${run.status ?? 'without a status'}.`,
474
- hint: "The table could not be imported or a declaration failed to evaluate; the interpreter's own output says which.",
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, interpreter },
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 interpreter reported no row for this fixture',
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
- interpreter,
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
@@ -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, or why it cannot.
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 `generated/guardrails.py`
49
- * with `GUARDRAILS` and `BY_ID`, while the TypeScript target emits modules the Next app
50
- * imports and has no driver here yet -- a gap worth naming rather than hiding behind a
51
- * Python traceback. `file` is what the command checks for before it spawns anything, so a
52
- * stale tree is reported as a stale tree.
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 kind: 'engine';
59
+ readonly runner: 'python';
56
60
  readonly module: string;
57
61
  readonly file: string;
58
62
  } | {
59
- readonly kind: 'none';
60
- readonly reason: string;
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, or why it cannot. */
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[];
@@ -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;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,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,4EAA4E;IAC5E,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,EA+CpC,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"}
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
- kind: 'engine',
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
- kind: 'none',
113
- reason: 'its guardrails are TypeScript modules the Next app imports, and `aid guard` has no TypeScript driver yet',
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.
@@ -1 +1 @@
1
- {"version":3,"file":"targets.js","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":"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"}
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"}