@farmslot/recipe-cli 0.11.4 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/discovery-index.d.ts +9 -0
  3. package/dist/discovery-index.d.ts.map +1 -1
  4. package/dist/discovery-index.js +4 -1
  5. package/dist/discovery-index.js.map +1 -1
  6. package/dist/harness/adapter-plugins.d.ts +2 -1
  7. package/dist/harness/adapter-plugins.d.ts.map +1 -1
  8. package/dist/harness/adapter-plugins.js +1 -1
  9. package/dist/harness/adapter-plugins.js.map +1 -1
  10. package/dist/harness/adapters.d.ts +1 -0
  11. package/dist/harness/adapters.d.ts.map +1 -1
  12. package/dist/harness/adapters.js +1 -1
  13. package/dist/harness/adapters.js.map +1 -1
  14. package/dist/harness/catalog.d.ts +8 -1
  15. package/dist/harness/catalog.d.ts.map +1 -1
  16. package/dist/harness/catalog.js +125 -1
  17. package/dist/harness/catalog.js.map +1 -1
  18. package/dist/harness/commands/call.d.ts +7 -0
  19. package/dist/harness/commands/call.d.ts.map +1 -1
  20. package/dist/harness/commands/call.js +15 -10
  21. package/dist/harness/commands/call.js.map +1 -1
  22. package/dist/harness/commands/discover.d.ts +4 -0
  23. package/dist/harness/commands/discover.d.ts.map +1 -1
  24. package/dist/harness/commands/discover.js +7 -7
  25. package/dist/harness/commands/discover.js.map +1 -1
  26. package/dist/harness/commands/run.d.ts +12 -1
  27. package/dist/harness/commands/run.d.ts.map +1 -1
  28. package/dist/harness/commands/run.js +90 -21
  29. package/dist/harness/commands/run.js.map +1 -1
  30. package/dist/harness/conformance.d.ts +35 -0
  31. package/dist/harness/conformance.d.ts.map +1 -0
  32. package/dist/harness/conformance.js +244 -0
  33. package/dist/harness/conformance.js.map +1 -0
  34. package/dist/harness/context-state.d.ts +55 -0
  35. package/dist/harness/context-state.d.ts.map +1 -1
  36. package/dist/harness/context-state.js +11 -0
  37. package/dist/harness/context-state.js.map +1 -1
  38. package/dist/harness/context.d.ts +51 -2
  39. package/dist/harness/context.d.ts.map +1 -1
  40. package/dist/harness/context.js +461 -26
  41. package/dist/harness/context.js.map +1 -1
  42. package/dist/harness/execution-provenance.d.ts +9 -5
  43. package/dist/harness/execution-provenance.d.ts.map +1 -1
  44. package/dist/harness/execution-provenance.js +56 -5
  45. package/dist/harness/execution-provenance.js.map +1 -1
  46. package/dist/harness/harness-cli.d.ts +3 -0
  47. package/dist/harness/harness-cli.d.ts.map +1 -1
  48. package/dist/harness/harness-cli.js +9 -3
  49. package/dist/harness/harness-cli.js.map +1 -1
  50. package/dist/harness/host.d.ts +10 -0
  51. package/dist/harness/host.d.ts.map +1 -1
  52. package/dist/harness/host.js +26 -0
  53. package/dist/harness/host.js.map +1 -1
  54. package/dist/harness/index.d.ts +12 -9
  55. package/dist/harness/index.d.ts.map +1 -1
  56. package/dist/harness/index.js +12 -9
  57. package/dist/harness/index.js.map +1 -1
  58. package/dist/harness/json-stream.d.ts +7 -2
  59. package/dist/harness/json-stream.d.ts.map +1 -1
  60. package/dist/harness/json-stream.js +76 -10
  61. package/dist/harness/json-stream.js.map +1 -1
  62. package/dist/harness/library-provenance.d.ts +2 -1
  63. package/dist/harness/library-provenance.d.ts.map +1 -1
  64. package/dist/harness/library-provenance.js +5 -1
  65. package/dist/harness/library-provenance.js.map +1 -1
  66. package/dist/harness/live-adapter-contract.d.ts +1 -1
  67. package/dist/harness/live-adapter-contract.d.ts.map +1 -1
  68. package/dist/harness/live-adapter-contract.js +38 -96
  69. package/dist/harness/live-adapter-contract.js.map +1 -1
  70. package/dist/harness/parse-args.d.ts +2 -0
  71. package/dist/harness/parse-args.d.ts.map +1 -1
  72. package/dist/harness/parse-args.js +4 -1
  73. package/dist/harness/parse-args.js.map +1 -1
  74. package/dist/harness/paths.d.ts +4 -0
  75. package/dist/harness/paths.d.ts.map +1 -1
  76. package/dist/harness/paths.js +22 -0
  77. package/dist/harness/paths.js.map +1 -1
  78. package/dist/harness/project-command.d.ts +11 -0
  79. package/dist/harness/project-command.d.ts.map +1 -0
  80. package/dist/harness/project-command.js +32 -0
  81. package/dist/harness/project-command.js.map +1 -0
  82. package/dist/harness/project-host.d.ts +22 -0
  83. package/dist/harness/project-host.d.ts.map +1 -0
  84. package/dist/harness/project-host.js +201 -0
  85. package/dist/harness/project-host.js.map +1 -0
  86. package/dist/harness/recipe-library.d.ts +12 -5
  87. package/dist/harness/recipe-library.d.ts.map +1 -1
  88. package/dist/harness/recipe-library.js +27 -8
  89. package/dist/harness/recipe-library.js.map +1 -1
  90. package/dist/harness/recipe-validation.d.ts +2 -1
  91. package/dist/harness/recipe-validation.d.ts.map +1 -1
  92. package/dist/harness/recipe-validation.js +4 -9
  93. package/dist/harness/recipe-validation.js.map +1 -1
  94. package/dist/harness/run-diagnostics.d.ts +2 -0
  95. package/dist/harness/run-diagnostics.d.ts.map +1 -1
  96. package/dist/harness/run-diagnostics.js +41 -0
  97. package/dist/harness/run-diagnostics.js.map +1 -1
  98. package/dist/harness/run-engine.d.ts +20 -2
  99. package/dist/harness/run-engine.d.ts.map +1 -1
  100. package/dist/harness/run-engine.js +227 -21
  101. package/dist/harness/run-engine.js.map +1 -1
  102. package/dist/harness/run-options.d.ts +2 -0
  103. package/dist/harness/run-options.d.ts.map +1 -1
  104. package/dist/harness/run-options.js +7 -5
  105. package/dist/harness/run-options.js.map +1 -1
  106. package/dist/harness/shared.d.ts +1 -0
  107. package/dist/harness/shared.d.ts.map +1 -1
  108. package/dist/harness/shared.js +62 -189
  109. package/dist/harness/shared.js.map +1 -1
  110. package/package.json +5 -5
@@ -2,7 +2,7 @@
2
2
  // healing, observation, and the run report; or describe its plan (--plan).
3
3
  import fs from 'node:fs';
4
4
  import path from 'node:path';
5
- import { redactRecipeParams } from '@farmslot/recipe-runner';
5
+ import { redactRecipeParams, } from '@farmslot/recipe-runner';
6
6
  import { missingActionCapabilities } from '../../action-catalog.js';
7
7
  import { recordRecipeAcceptance } from '../acceptance-ledger.js';
8
8
  import { harnessAdapter } from '../adapters.js';
@@ -13,7 +13,7 @@ import { recordCommandEvidence } from '../command-journal.js';
13
13
  import { harnessContextField } from '../context-state.js';
14
14
  import { ProvenanceDriftError } from '../execution-provenance.js';
15
15
  import { recipeRunning, recipeRunningRefusal } from '../heal-bounds.js';
16
- import { harnessHost } from '../host.js';
16
+ import { harnessDoctorHint, harnessHost } from '../host.js';
17
17
  import { JsonStreamWriter } from '../json-stream.js';
18
18
  import { applyRuntimeDirOption, isRecord, optionFlag, optionString, parseArgs, parseRecipeParamAssignments, resolveAdapter, shellQuote, targetPath, usageError, } from '../parse-args.js';
19
19
  import { validateRunRecipeStatic } from '../recipe-validation.js';
@@ -26,6 +26,13 @@ import { indexProductProvenanceArtifact, writeRunReport, writeViolationReport, }
26
26
  import { checkoutBusyOut, EXIT, usageOut, writeInteractiveProgress } from '../shared.js';
27
27
  import { recipeTrustFailure } from '../trust.js';
28
28
  import { handleDescribeRecipe, handleListExecutables } from './discover.js';
29
+ /** A host without the journal command still exposes the retained run evidence. */
30
+ export function runFailureUserAction(target, result) {
31
+ const host = harnessHost();
32
+ return host.supportsLast === false
33
+ ? `inspect ${shellQuote(result.summaryPath)} and ${shellQuote(result.tracePath)}`
34
+ : `${host.name} last --target ${shellQuote(target)} --json`;
35
+ }
29
36
  async function validationCapabilityRefusals(catalog, adapter, findings, librarySources) {
30
37
  const actionNames = findings.flatMap((finding) => {
31
38
  if (finding.code !== 'recipe.action_not_declared_by_manifest')
@@ -47,13 +54,19 @@ function capabilityValidationUserAction(adapter, refusals, libraryContextArgs) {
47
54
  'a satisfying adapter, splitting the recipe if no single adapter satisfies every capability');
48
55
  }
49
56
  export async function handleRun(argv, commandOptions) {
50
- const parsed = parseArgs(argv);
57
+ const parsed = commandOptions.parsed ?? parseArgs(argv);
51
58
  const host = harnessHost().name;
52
- const stream = new JsonStreamWriter('run', optionFlag(parsed.options, 'jsonStream'));
59
+ const stream = commandOptions.stream ?? new JsonStreamWriter('run', optionFlag(parsed.options, 'jsonStream'));
53
60
  const restoreStdout = stream.isolateStdout();
54
61
  const target = targetPath(parsed.options);
62
+ let resultReady;
63
+ const beforeResult = () => (resultReady ??= Promise.resolve().then(() => commandOptions.beforeResult?.()));
55
64
  try {
56
- const exitCode = await handleRunInner(parsed.positional, parsed.options, stream, commandOptions);
65
+ const exitCode = await handleRunInner(parsed.positional, parsed.options, stream, {
66
+ ...commandOptions,
67
+ beforeResult,
68
+ });
69
+ await beforeResult();
57
70
  stream.complete(exitCode === EXIT.ok ? 'pass' : 'fail', exitCode);
58
71
  return exitCode;
59
72
  }
@@ -62,6 +75,7 @@ export async function handleRun(argv, commandOptions) {
62
75
  const failure = provenanceFailure(error);
63
76
  if (stream.enabled) {
64
77
  stream.error(failure);
78
+ await beforeResult();
65
79
  stream.complete('fail', error.exitCode);
66
80
  }
67
81
  else if (optionFlag(parsed.options, 'json')) {
@@ -84,6 +98,7 @@ export async function handleRun(argv, commandOptions) {
84
98
  if (trustFailure) {
85
99
  if (stream.enabled) {
86
100
  stream.error(trustFailure);
101
+ await beforeResult();
87
102
  stream.complete('fail', EXIT.validation);
88
103
  }
89
104
  else {
@@ -100,9 +115,10 @@ export async function handleRun(argv, commandOptions) {
100
115
  stream.error({
101
116
  code: exitCode === EXIT.usage ? 'CLI_USAGE_ERROR' : 'RUN_FAILED',
102
117
  message: error instanceof Error ? error.message : String(error),
103
- userAction: `${host} doctor --target ${shellQuote(target)} --json`,
104
- });
118
+ userAction: harnessDoctorHint(`${host} doctor --target ${shellQuote(target)} --json`),
119
+ }, error);
105
120
  stream.complete('fail', exitCode);
121
+ // The owning host finalizes after a throw and retains both failure causes.
106
122
  throw error;
107
123
  }
108
124
  finally {
@@ -178,7 +194,10 @@ async function handleRunInner(positional, options, stream, commandOptions) {
178
194
  });
179
195
  return EXIT.usage;
180
196
  }
181
- return handleListExecutables('run', options, { catalog: engine });
197
+ return handleListExecutables('run', options, {
198
+ catalog: engine,
199
+ librarySources: commandOptions.librarySources,
200
+ });
182
201
  }
183
202
  const targetRecipe = positional[0];
184
203
  if (!targetRecipe)
@@ -197,7 +216,10 @@ async function handleRunInner(positional, options, stream, commandOptions) {
197
216
  });
198
217
  return EXIT.usage;
199
218
  }
200
- return handleDescribeRecipe(targetRecipe, options, { catalog: engine });
219
+ return handleDescribeRecipe(targetRecipe, options, {
220
+ catalog: engine,
221
+ librarySources: commandOptions.librarySources,
222
+ });
201
223
  }
202
224
  const params = parseRecipeParamAssignments(paramAssignments);
203
225
  // The runtime directory names where the slot's context and the run's runtime
@@ -236,7 +258,7 @@ async function handleRunInner(positional, options, stream, commandOptions) {
236
258
  if (recipeRunning(target))
237
259
  return emitRunRecipeRunning(jsonOutput, stream, target);
238
260
  stream.phase('validate');
239
- const validated = await validateRunRecipeStatic(engine, targetRecipe, adapter, options, params);
261
+ const validated = await validateRunRecipeStatic(engine, targetRecipe, adapter, options, params, commandOptions.librarySources);
240
262
  if (validated.usageError) {
241
263
  const userAction = runUsageRecovery(validated.usageError.code, validated.usageError.message, adapter, validated.recipeFile);
242
264
  return emitRunUsageError(jsonOutput, stream, adapter, validated.recipeFile, validated.usageError.code, validated.usageError.message, userAction);
@@ -271,6 +293,7 @@ async function handleRunInner(positional, options, stream, commandOptions) {
271
293
  const librarySources = validated.librarySources;
272
294
  let observers;
273
295
  const runtimeOptions = {
296
+ signal: commandOptions.signal,
274
297
  ...recipeRunOptionsFromCli(adapter, options),
275
298
  cli: options,
276
299
  params,
@@ -301,7 +324,7 @@ async function handleRunInner(positional, options, stream, commandOptions) {
301
324
  stream.error({
302
325
  code: 'RUN_PREPARE_FAILED',
303
326
  message: 'runtime preparation failed; inspect stderr for the exact probe',
304
- userAction: `${host} doctor --fix --adapter ${adapter} --target ${shellQuote(target)} --json`,
327
+ userAction: harnessDoctorHint(`${host} doctor --fix --adapter ${adapter} --target ${shellQuote(target)} --json`),
305
328
  });
306
329
  return prepared;
307
330
  }
@@ -329,6 +352,7 @@ async function handleRunInner(positional, options, stream, commandOptions) {
329
352
  const { result, violation } = executionResult;
330
353
  await started.finalize(result.artifactManifestPath);
331
354
  observers = undefined;
355
+ await commandOptions.beforeResult?.();
332
356
  for (const mutation of state.mutations)
333
357
  stream.mutation(mutation);
334
358
  for (const recovery of state.recovered)
@@ -359,7 +383,7 @@ async function handleRunInner(positional, options, stream, commandOptions) {
359
383
  // Listed after the report is indexed, so the human list includes it.
360
384
  const artifacts = runArtifactInventory(result.artifactManifestPath);
361
385
  const exitCode = result.status === 'pass' ? EXIT.ok : EXIT.runtime;
362
- const failureUserAction = `${host} last --target ${shellQuote(target)} --json`;
386
+ const failureUserAction = runFailureUserAction(target, result);
363
387
  if (stream.enabled) {
364
388
  if (result.status === 'fail') {
365
389
  stream.error({
@@ -557,13 +581,13 @@ async function handleRunPlan(recipeArg, params, options, stream, commandOptions)
557
581
  stream.phase('resolve', { adapter, target, recipe: recipeArg });
558
582
  const recording = options.recordVideo === 'full-run' ? recordingUnsupported(adapter) : undefined;
559
583
  if (recording) {
560
- return emitPlanUsageError(jsonOutput, stream, adapter, recipeArg, recording.code, recording.message, recording.userAction);
584
+ return emitPlanFailure(jsonOutput, stream, adapter, recipeArg, recording.code, recording.message, recording.userAction);
561
585
  }
562
586
  stream.phase('validate');
563
- const validated = await validateRunRecipeStatic(engine, recipeArg, adapter, options, params);
587
+ const validated = await validateRunRecipeStatic(engine, recipeArg, adapter, options, params, commandOptions.librarySources);
564
588
  if (validated.usageError) {
565
589
  const userAction = runUsageRecovery(validated.usageError.code, validated.usageError.message, adapter, validated.recipeFile);
566
- return emitPlanUsageError(jsonOutput, stream, adapter, validated.recipeFile, validated.usageError.code, validated.usageError.message, userAction);
590
+ return emitPlanFailure(jsonOutput, stream, adapter, validated.recipeFile, validated.usageError.code, validated.usageError.message, userAction);
567
591
  }
568
592
  const { recipe, recipeFile, findings, errorCount, manifestOk, schemaValid, effectiveParams, librarySources, } = validated;
569
593
  const status = errorCount === 0 ? 'pass' : 'fail';
@@ -574,7 +598,43 @@ async function handleRunPlan(recipeArg, params, options, stream, commandOptions)
574
598
  ? capabilityValidationUserAction(adapter, capabilityRefusals, actionLibraryContextArgs(engine, librarySources))
575
599
  : runPlanProbe(adapter, recipeFile);
576
600
  const nodeCount = countRecipeNodes(recipe);
577
- const artifactsDir = optionString(options, 'artifactsDir');
601
+ let artifactsDir;
602
+ try {
603
+ artifactsDir = resolveRecipeArtifactsDir(target, optionString(options, 'artifactsDir'), {
604
+ fresh: 'runs/planned',
605
+ });
606
+ }
607
+ catch (error) {
608
+ return emitPlanFailure(jsonOutput, stream, adapter, recipeFile, 'ARTIFACT_DIR_INVALID', error instanceof Error ? error.message : String(error), 'set RECIPE_TASK_DIR/FARMSLOT_TASK_DIR inside the checkout or pass --artifacts-dir <path>');
609
+ }
610
+ let execution;
611
+ if (status === 'pass') {
612
+ const runtimeOptions = {
613
+ ...recipeRunOptionsFromCli(adapter, options),
614
+ readOnly: true,
615
+ cli: options,
616
+ params: effectiveParams,
617
+ librarySources,
618
+ stdoutIsMachineContract: jsonOutput || stream.enabled,
619
+ };
620
+ const restoreEnvironment = activateRecipeRuntimeEnvironment(adapter, target, runtimeOptions);
621
+ try {
622
+ execution = await preflightRecipe(engine, adapter, recipeFile, artifactsDir, target, optionString(options, 'actionManifest'), runtimeOptions);
623
+ }
624
+ catch (error) {
625
+ const failure = recipeTrustFailure(error);
626
+ if (failure) {
627
+ stream.error(failure);
628
+ if (!stream.enabled)
629
+ reportTrustFailure('run', failure, jsonOutput);
630
+ return EXIT.validation;
631
+ }
632
+ return emitPlanFailure(jsonOutput, stream, adapter, recipeFile, error.code ?? 'RECIPE_PREFLIGHT_FAILED', error instanceof Error ? error.message : String(error), error.userAction ?? runPlanProbe(adapter, recipeFile), error.exitCode ?? EXIT.validation);
633
+ }
634
+ finally {
635
+ restoreEnvironment();
636
+ }
637
+ }
578
638
  const plan = [
579
639
  { step: 'resolve.recipe', confidence: 'static', status: 'ok', detail: recipeFile },
580
640
  { step: 'resolve.adapter', confidence: 'static', status: 'ok', detail: adapter },
@@ -582,9 +642,9 @@ async function handleRunPlan(recipeArg, params, options, stream, commandOptions)
582
642
  step: 'resolve.artifactsDir',
583
643
  confidence: 'static',
584
644
  status: 'ok',
585
- detail: artifactsDir
586
- ? path.resolve(artifactsDir)
587
- : '(resolved to the slot artifacts dir at run time)',
645
+ detail: optionString(options, 'artifactsDir') || runTaskDir(target)
646
+ ? artifactsDir
647
+ : 'resolved at run time',
588
648
  },
589
649
  {
590
650
  step: 'validate.manifest',
@@ -598,6 +658,12 @@ async function handleRunPlan(recipeArg, params, options, stream, commandOptions)
598
658
  status: manifestOk && schemaValid ? 'ok' : 'error',
599
659
  detail: 'recipe document schema + action existence/platform vs the adapter manifest',
600
660
  },
661
+ {
662
+ step: 'preflight.recipe',
663
+ confidence: 'static',
664
+ status: execution ? 'ok' : 'planned',
665
+ detail: 'complete dependency, parameter, handler and authorization checks',
666
+ },
601
667
  ...(optionFlag(options, 'proof')
602
668
  ? [
603
669
  {
@@ -639,6 +705,7 @@ async function handleRunPlan(recipeArg, params, options, stream, commandOptions)
639
705
  : `would execute ${nodeCount} recipe node(s)`,
640
706
  },
641
707
  ];
708
+ await commandOptions.beforeResult?.();
642
709
  const payload = {
643
710
  schemaVersion: 1,
644
711
  command: 'run',
@@ -651,6 +718,7 @@ async function handleRunPlan(recipeArg, params, options, stream, commandOptions)
651
718
  .params,
652
719
  findings,
653
720
  plan,
721
+ ...(execution?.plan ? { executionPlan: execution.plan } : {}),
654
722
  };
655
723
  if (status === 'fail') {
656
724
  payload.error = {
@@ -669,6 +737,7 @@ async function handleRunPlan(recipeArg, params, options, stream, commandOptions)
669
737
  recipe: recipeFile,
670
738
  findings,
671
739
  plan,
740
+ ...(execution?.plan ? { executionPlan: execution.plan } : {}),
672
741
  });
673
742
  }
674
743
  else if (json) {
@@ -691,7 +760,7 @@ async function handleRunPlan(recipeArg, params, options, stream, commandOptions)
691
760
  }
692
761
  return status === 'pass' ? EXIT.ok : EXIT.validation;
693
762
  }
694
- function emitPlanUsageError(json, stream, adapter, recipeFile, code, message, userAction) {
763
+ function emitPlanFailure(json, stream, adapter, recipeFile, code, message, userAction, exitCode = EXIT.usage) {
695
764
  stream.error({ code, message, userAction, mode: 'plan', adapter, recipe: recipeFile });
696
765
  if (json) {
697
766
  console.log(JSON.stringify({
@@ -708,7 +777,7 @@ function emitPlanUsageError(json, stream, adapter, recipeFile, code, message, us
708
777
  else {
709
778
  console.error(`✗ run --plan: ${message}\n Next: ${userAction}`);
710
779
  }
711
- return EXIT.usage;
780
+ return exitCode;
712
781
  }
713
782
  function emitRunRecipeRunning(json, stream, target) {
714
783
  const host = harnessHost().name;
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/harness/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/harness/commands/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { type RecipeConformanceCheck, type RecipeConformanceIdentity, type RecipeConformanceReport } from '@farmslot/protocol';
2
+ import { type RecipeLibrarySource } from '@farmslot/recipe-runner';
3
+ import type { RecipeCatalog } from './catalog.js';
4
+ import type { HarnessContext } from './context-state.js';
5
+ import { type CliOptions } from './parse-args.js';
6
+ import type { ConsoleAllowlist } from './run-diagnostics.js';
7
+ import { type RecipeEngine } from './run-engine.js';
8
+ export interface RecipeConformanceOptions {
9
+ project: string;
10
+ app?: string;
11
+ domain?: string;
12
+ context: HarnessContext;
13
+ providerRoot: string;
14
+ configurationPaths: string[];
15
+ librarySources: RecipeLibrarySource[];
16
+ artifactsDir: string;
17
+ cli?: CliOptions;
18
+ implementationSources?: Array<{
19
+ name: string;
20
+ root: string;
21
+ module?: string;
22
+ }>;
23
+ recipes: Array<{
24
+ recipe: string;
25
+ params?: Record<string, unknown>;
26
+ }>;
27
+ }
28
+ export declare function conformanceChecksPass(checks: readonly RecipeConformanceCheck[]): boolean;
29
+ /** Bind static and live claims to the same code, configuration and target identities. */
30
+ export declare function recipeConformanceIdentity(catalog: RecipeCatalog, options: RecipeConformanceOptions): Promise<RecipeConformanceIdentity>;
31
+ export declare function assertConformanceReportCurrent(report: RecipeConformanceReport, identity: RecipeConformanceIdentity): void;
32
+ /** Inspect declared invocations through the execution preflight without launching or executing. */
33
+ export declare function checkRecipeConformance<TMutation, TAllowlist extends ConsoleAllowlist>(engine: RecipeEngine<TMutation, TAllowlist>, options: RecipeConformanceOptions): Promise<RecipeConformanceReport>;
34
+ export declare function writeRecipeConformanceReport(artifactsDir: string, report: RecipeConformanceReport): Promise<string>;
35
+ //# sourceMappingURL=conformance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../../src/harness/conformance.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAE7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAIxF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQzD,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,iBAAiB,CAAC;AAIhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,qBAAqB,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/E,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;CACtE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,GAAG,OAAO,CAMxF;AAED,yFAAyF;AACzF,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAEpC;AAkID,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,EAAE,yBAAyB,GAClC,IAAI,CAON;AAED,mGAAmG;AACnG,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,UAAU,SAAS,gBAAgB,EACzF,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,EAC3C,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,CAAC,CA2IlC;AAgBD,wBAAsB,4BAA4B,CAChD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,MAAM,CAAC,CASjB"}