@farmslot/recipe-cli 0.11.4 → 0.12.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 (76) hide show
  1. package/CHANGELOG.md +6 -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/run.js +52 -8
  19. package/dist/harness/commands/run.js.map +1 -1
  20. package/dist/harness/conformance.d.ts +35 -0
  21. package/dist/harness/conformance.d.ts.map +1 -0
  22. package/dist/harness/conformance.js +247 -0
  23. package/dist/harness/conformance.js.map +1 -0
  24. package/dist/harness/context-state.d.ts +55 -0
  25. package/dist/harness/context-state.d.ts.map +1 -1
  26. package/dist/harness/context-state.js +11 -0
  27. package/dist/harness/context-state.js.map +1 -1
  28. package/dist/harness/context.d.ts +45 -2
  29. package/dist/harness/context.d.ts.map +1 -1
  30. package/dist/harness/context.js +447 -26
  31. package/dist/harness/context.js.map +1 -1
  32. package/dist/harness/execution-provenance.d.ts +9 -5
  33. package/dist/harness/execution-provenance.d.ts.map +1 -1
  34. package/dist/harness/execution-provenance.js +56 -5
  35. package/dist/harness/execution-provenance.js.map +1 -1
  36. package/dist/harness/harness-cli.d.ts +3 -0
  37. package/dist/harness/harness-cli.d.ts.map +1 -1
  38. package/dist/harness/harness-cli.js +9 -3
  39. package/dist/harness/harness-cli.js.map +1 -1
  40. package/dist/harness/index.d.ts +9 -7
  41. package/dist/harness/index.d.ts.map +1 -1
  42. package/dist/harness/index.js +9 -7
  43. package/dist/harness/index.js.map +1 -1
  44. package/dist/harness/library-provenance.d.ts +2 -1
  45. package/dist/harness/library-provenance.d.ts.map +1 -1
  46. package/dist/harness/library-provenance.js +5 -1
  47. package/dist/harness/library-provenance.js.map +1 -1
  48. package/dist/harness/paths.d.ts +4 -0
  49. package/dist/harness/paths.d.ts.map +1 -1
  50. package/dist/harness/paths.js +22 -0
  51. package/dist/harness/paths.js.map +1 -1
  52. package/dist/harness/project-host.d.ts +17 -0
  53. package/dist/harness/project-host.d.ts.map +1 -0
  54. package/dist/harness/project-host.js +92 -0
  55. package/dist/harness/project-host.js.map +1 -0
  56. package/dist/harness/recipe-library.d.ts +1 -1
  57. package/dist/harness/recipe-library.d.ts.map +1 -1
  58. package/dist/harness/recipe-library.js +16 -6
  59. package/dist/harness/recipe-library.js.map +1 -1
  60. package/dist/harness/recipe-validation.d.ts +1 -1
  61. package/dist/harness/recipe-validation.d.ts.map +1 -1
  62. package/dist/harness/recipe-validation.js +3 -3
  63. package/dist/harness/recipe-validation.js.map +1 -1
  64. package/dist/harness/run-diagnostics.d.ts +2 -0
  65. package/dist/harness/run-diagnostics.d.ts.map +1 -1
  66. package/dist/harness/run-diagnostics.js +41 -0
  67. package/dist/harness/run-diagnostics.js.map +1 -1
  68. package/dist/harness/run-engine.d.ts +19 -2
  69. package/dist/harness/run-engine.d.ts.map +1 -1
  70. package/dist/harness/run-engine.js +220 -17
  71. package/dist/harness/run-engine.js.map +1 -1
  72. package/dist/harness/run-options.d.ts +2 -0
  73. package/dist/harness/run-options.d.ts.map +1 -1
  74. package/dist/harness/run-options.js +7 -5
  75. package/dist/harness/run-options.js.map +1 -1
  76. package/package.json +5 -5
@@ -557,13 +557,13 @@ async function handleRunPlan(recipeArg, params, options, stream, commandOptions)
557
557
  stream.phase('resolve', { adapter, target, recipe: recipeArg });
558
558
  const recording = options.recordVideo === 'full-run' ? recordingUnsupported(adapter) : undefined;
559
559
  if (recording) {
560
- return emitPlanUsageError(jsonOutput, stream, adapter, recipeArg, recording.code, recording.message, recording.userAction);
560
+ return emitPlanFailure(jsonOutput, stream, adapter, recipeArg, recording.code, recording.message, recording.userAction);
561
561
  }
562
562
  stream.phase('validate');
563
563
  const validated = await validateRunRecipeStatic(engine, recipeArg, adapter, options, params);
564
564
  if (validated.usageError) {
565
565
  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);
566
+ return emitPlanFailure(jsonOutput, stream, adapter, validated.recipeFile, validated.usageError.code, validated.usageError.message, userAction);
567
567
  }
568
568
  const { recipe, recipeFile, findings, errorCount, manifestOk, schemaValid, effectiveParams, librarySources, } = validated;
569
569
  const status = errorCount === 0 ? 'pass' : 'fail';
@@ -574,7 +574,43 @@ async function handleRunPlan(recipeArg, params, options, stream, commandOptions)
574
574
  ? capabilityValidationUserAction(adapter, capabilityRefusals, actionLibraryContextArgs(engine, librarySources))
575
575
  : runPlanProbe(adapter, recipeFile);
576
576
  const nodeCount = countRecipeNodes(recipe);
577
- const artifactsDir = optionString(options, 'artifactsDir');
577
+ let artifactsDir;
578
+ try {
579
+ artifactsDir = resolveRecipeArtifactsDir(target, optionString(options, 'artifactsDir'), {
580
+ fresh: 'runs/planned',
581
+ });
582
+ }
583
+ catch (error) {
584
+ 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>');
585
+ }
586
+ let execution;
587
+ if (status === 'pass') {
588
+ const runtimeOptions = {
589
+ ...recipeRunOptionsFromCli(adapter, options),
590
+ readOnly: true,
591
+ cli: options,
592
+ params: effectiveParams,
593
+ librarySources,
594
+ stdoutIsMachineContract: jsonOutput || stream.enabled,
595
+ };
596
+ const restoreEnvironment = activateRecipeRuntimeEnvironment(adapter, target, runtimeOptions);
597
+ try {
598
+ execution = await preflightRecipe(engine, adapter, recipeFile, artifactsDir, target, optionString(options, 'actionManifest'), runtimeOptions);
599
+ }
600
+ catch (error) {
601
+ const failure = recipeTrustFailure(error);
602
+ if (failure) {
603
+ stream.error(failure);
604
+ if (!stream.enabled)
605
+ reportTrustFailure('run', failure, jsonOutput);
606
+ return EXIT.validation;
607
+ }
608
+ 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);
609
+ }
610
+ finally {
611
+ restoreEnvironment();
612
+ }
613
+ }
578
614
  const plan = [
579
615
  { step: 'resolve.recipe', confidence: 'static', status: 'ok', detail: recipeFile },
580
616
  { step: 'resolve.adapter', confidence: 'static', status: 'ok', detail: adapter },
@@ -582,9 +618,9 @@ async function handleRunPlan(recipeArg, params, options, stream, commandOptions)
582
618
  step: 'resolve.artifactsDir',
583
619
  confidence: 'static',
584
620
  status: 'ok',
585
- detail: artifactsDir
586
- ? path.resolve(artifactsDir)
587
- : '(resolved to the slot artifacts dir at run time)',
621
+ detail: optionString(options, 'artifactsDir') || runTaskDir(target)
622
+ ? artifactsDir
623
+ : 'resolved at run time',
588
624
  },
589
625
  {
590
626
  step: 'validate.manifest',
@@ -598,6 +634,12 @@ async function handleRunPlan(recipeArg, params, options, stream, commandOptions)
598
634
  status: manifestOk && schemaValid ? 'ok' : 'error',
599
635
  detail: 'recipe document schema + action existence/platform vs the adapter manifest',
600
636
  },
637
+ {
638
+ step: 'preflight.recipe',
639
+ confidence: 'static',
640
+ status: execution ? 'ok' : 'planned',
641
+ detail: 'complete dependency, parameter, handler and authorization checks',
642
+ },
601
643
  ...(optionFlag(options, 'proof')
602
644
  ? [
603
645
  {
@@ -651,6 +693,7 @@ async function handleRunPlan(recipeArg, params, options, stream, commandOptions)
651
693
  .params,
652
694
  findings,
653
695
  plan,
696
+ ...(execution?.plan ? { executionPlan: execution.plan } : {}),
654
697
  };
655
698
  if (status === 'fail') {
656
699
  payload.error = {
@@ -669,6 +712,7 @@ async function handleRunPlan(recipeArg, params, options, stream, commandOptions)
669
712
  recipe: recipeFile,
670
713
  findings,
671
714
  plan,
715
+ ...(execution?.plan ? { executionPlan: execution.plan } : {}),
672
716
  });
673
717
  }
674
718
  else if (json) {
@@ -691,7 +735,7 @@ async function handleRunPlan(recipeArg, params, options, stream, commandOptions)
691
735
  }
692
736
  return status === 'pass' ? EXIT.ok : EXIT.validation;
693
737
  }
694
- function emitPlanUsageError(json, stream, adapter, recipeFile, code, message, userAction) {
738
+ function emitPlanFailure(json, stream, adapter, recipeFile, code, message, userAction, exitCode = EXIT.usage) {
695
739
  stream.error({ code, message, userAction, mode: 'plan', adapter, recipe: recipeFile });
696
740
  if (json) {
697
741
  console.log(JSON.stringify({
@@ -708,7 +752,7 @@ function emitPlanUsageError(json, stream, adapter, recipeFile, code, message, us
708
752
  else {
709
753
  console.error(`✗ run --plan: ${message}\n Next: ${userAction}`);
710
754
  }
711
- return EXIT.usage;
755
+ return exitCode;
712
756
  }
713
757
  function emitRunRecipeRunning(json, stream, target) {
714
758
  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;AAsID,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,CA0IlC;AAgBD,wBAAsB,4BAA4B,CAChD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,MAAM,CAAC,CASjB"}
@@ -0,0 +1,247 @@
1
+ import path from 'node:path';
2
+ import { digestRecipeDocument, } from '@farmslot/protocol';
3
+ import { loadRecipeLibraries } from '@farmslot/recipe-runner';
4
+ import { libraryName } from './adapter-plugins.js';
5
+ import { writeContainedArtifact } from './artifact-files.js';
6
+ import { fileFingerprint, inputSourceSnapshot, providerSourceSnapshot, sourceIsDirty, sourceSnapshot, } from './execution-provenance.js';
7
+ import { optionString } from './parse-args.js';
8
+ import { recipeOutputRoots } from './paths.js';
9
+ import { resolveLibrarySources, resolveRunRecipeArg } from './recipe-library.js';
10
+ import { validateRunRecipeStatic } from './recipe-validation.js';
11
+ import { activateRecipeRuntimeEnvironment, preflightRecipe, } from './run-engine.js';
12
+ import { recipeRunOptionsFromCli, recipeTrustOptionsFromCli } from './run-options.js';
13
+ export function conformanceChecksPass(checks) {
14
+ const required = checks.filter((check) => check.required);
15
+ return (required.length > 0 &&
16
+ required.every((check) => check.status === 'pass' && check.evidence?.plan !== undefined));
17
+ }
18
+ /** Bind static and live claims to the same code, configuration and target identities. */
19
+ export async function recipeConformanceIdentity(catalog, options) {
20
+ return resolvedConformanceIdentity(options, await resolveConformanceInputs(catalog, options));
21
+ }
22
+ async function resolveConformanceInputs(catalog, options) {
23
+ const adapter = options.context.adapter?.value;
24
+ if (!adapter)
25
+ throw new Error('Conformance requires a resolved adapter.');
26
+ const invocations = await Promise.all(options.recipes.map(async (invocation) => {
27
+ const resolved = await resolveRunRecipeArg(catalog, invocation.recipe, adapter, options.librarySources);
28
+ const recipeFile = 'recipeFile' in resolved ? resolved.recipeFile : undefined;
29
+ const librarySources = recipeFile && !('ref' in resolved)
30
+ ? await resolveLibrarySources(catalog, undefined, recipeFile, options.librarySources)
31
+ : options.librarySources;
32
+ return { ...invocation, recipeFile, librarySources };
33
+ }));
34
+ const librarySources = new Map();
35
+ for (const source of [
36
+ ...options.librarySources,
37
+ ...invocations.flatMap((invocation) => invocation.librarySources),
38
+ ]) {
39
+ librarySources.set(JSON.stringify([source.name, path.resolve(source.root)]), source);
40
+ }
41
+ return {
42
+ invocations,
43
+ librarySources: [...librarySources.values()],
44
+ configurationPaths: [
45
+ ...new Set([
46
+ ...options.configurationPaths,
47
+ ...invocations.flatMap((invocation) => invocation.recipeFile ? [invocation.recipeFile] : []),
48
+ ].map((file) => path.resolve(file))),
49
+ ],
50
+ };
51
+ }
52
+ function resolvedConformanceIdentity(options, inputs) {
53
+ const adapter = options.context.adapter?.value;
54
+ if (!adapter)
55
+ throw new Error('Conformance requires a resolved adapter.');
56
+ const excludedRoots = [
57
+ options.artifactsDir,
58
+ ...(options.context.project
59
+ ? recipeOutputRoots(options.context.target.value, options.context.project)
60
+ : []),
61
+ ];
62
+ const checkout = sourceSnapshot(options.context.project?.checkoutRoot ?? options.context.target.value, undefined, excludedRoots);
63
+ const provider = options.context.project
64
+ ? providerSourceSnapshot(options.providerRoot, options.context.project.provider.module, excludedRoots)
65
+ : inputSourceSnapshot(options.providerRoot, excludedRoots);
66
+ return {
67
+ project: options.project,
68
+ app: options.app ?? null,
69
+ domain: options.domain ?? null,
70
+ adapter,
71
+ target: options.context.target.value,
72
+ trustDigest: digestRecipeDocument(recipeTrustOptionsFromCli(options.cli ?? {})),
73
+ selection: {
74
+ slot: options.context.slot?.value ?? null,
75
+ adapterTarget: options.context.adapter?.requested ?? options.context.adapter?.value ?? null,
76
+ poolSlot: options.context.slot?.value
77
+ ? (options.context.slot.poolSlot ??
78
+ (options.context.slot.source === 'slot' ? options.context.slot.value : null))
79
+ : null,
80
+ device: typeof options.cli?.device === 'string' ? options.cli.device : null,
81
+ ports: {
82
+ ...(options.context.slot?.value ? options.context.slot.ports : {}),
83
+ ...Object.fromEntries(Object.entries(options.context.ports ?? {}).flatMap(([name, port]) => port.value === undefined ? [] : [[name, port.value]])),
84
+ },
85
+ provider: options.context.project?.provider.module ?? null,
86
+ manifest: options.context.project?.manifest ?? null,
87
+ },
88
+ checkout: withDirtyDigest(checkout),
89
+ provider: withDirtyDigest(provider),
90
+ implementation: options.implementationSources?.map((source) => ({
91
+ name: source.name,
92
+ ...withDirtyDigest(source.module
93
+ ? providerSourceSnapshot(source.root, source.module, excludedRoots)
94
+ : inputSourceSnapshot(source.root, excludedRoots)),
95
+ })),
96
+ libraries: inputs.librarySources.map((source) => ({
97
+ name: libraryName(source),
98
+ path: path.resolve(source.root),
99
+ ...withDirtyDigest(inputSourceSnapshot(source.root, excludedRoots)),
100
+ })),
101
+ invocations: inputs.invocations.map((invocation) => ({
102
+ recipe: invocation.recipe,
103
+ paramsDigest: digestRecipeDocument(invocation.params ?? {}),
104
+ })),
105
+ configuration: inputs.configurationPaths.map((file) => ({
106
+ path: path.resolve(file),
107
+ sourceFingerprint: fileFingerprint(file),
108
+ })),
109
+ };
110
+ }
111
+ export function assertConformanceReportCurrent(report, identity) {
112
+ if (report.schemaVersion !== 1 || !sameConformanceIdentity(report.identity, identity)) {
113
+ throw new Error('Conformance report is stale; rerun farmslot doctor --conformance.');
114
+ }
115
+ if (report.status !== 'pass' || !conformanceChecksPass(report.checks)) {
116
+ throw new Error('Conformance report has no passing evidence for every required check.');
117
+ }
118
+ }
119
+ /** Inspect declared invocations through the execution preflight without launching or executing. */
120
+ export async function checkRecipeConformance(engine, options) {
121
+ const inputs = await resolveConformanceInputs(engine, options);
122
+ const identity = resolvedConformanceIdentity(options, inputs);
123
+ const checks = [];
124
+ if (options.recipes.length === 0) {
125
+ checks.push({
126
+ id: 'recipe.invocations',
127
+ status: 'missing',
128
+ required: true,
129
+ message: 'Declare at least one recipe invocation to check.',
130
+ });
131
+ }
132
+ const cli = {
133
+ ...options.cli,
134
+ artifactsDir: options.artifactsDir,
135
+ target: identity.target,
136
+ adapter: identity.adapter,
137
+ };
138
+ const runtimeOptions = recipeRunOptionsFromCli(identity.adapter, cli);
139
+ const manifestPath = optionString(cli, 'actionManifest');
140
+ const resolution = {
141
+ recipes: [],
142
+ actions: [],
143
+ };
144
+ const restoreEnvironment = activateRecipeRuntimeEnvironment(identity.adapter, identity.target, runtimeOptions);
145
+ try {
146
+ for (const invocation of inputs.invocations) {
147
+ const id = `recipe.${invocation.recipe}`;
148
+ try {
149
+ const libraries = await loadRecipeLibraries(invocation.librarySources, {
150
+ adapter: identity.adapter,
151
+ });
152
+ const manifest = await engine.resolveActionManifest(identity.adapter, manifestPath, invocation.librarySources);
153
+ resolution.recipes.push(...[...libraries.recipes.values()]
154
+ .filter((recipe) => !recipe.aliasFor)
155
+ .map(({ ref, source, shadows }) => ({
156
+ ref,
157
+ source,
158
+ shadows,
159
+ invocation: invocation.recipe,
160
+ })));
161
+ resolution.actions.push(...[...manifest.actionSources].map(([action, source]) => ({
162
+ action,
163
+ source: source.name,
164
+ invocation: invocation.recipe,
165
+ ...(source.shadows ? { shadows: source.shadows } : {}),
166
+ })));
167
+ const validated = await validateRunRecipeStatic(engine, invocation.recipe, identity.adapter, cli, invocation.params, invocation.librarySources);
168
+ if (validated.usageError || validated.errorCount > 0) {
169
+ checks.push({
170
+ id,
171
+ status: 'fail',
172
+ required: true,
173
+ message: validated.usageError?.message ??
174
+ validated.findings.map((finding) => finding.message).join('; '),
175
+ });
176
+ continue;
177
+ }
178
+ const execution = await preflightRecipe(engine, identity.adapter, validated.recipeFile, options.artifactsDir, identity.target, manifestPath, {
179
+ ...runtimeOptions,
180
+ readOnly: true,
181
+ cli,
182
+ params: validated.effectiveParams,
183
+ librarySources: validated.librarySources,
184
+ stdoutIsMachineContract: true,
185
+ });
186
+ checks.push({
187
+ id,
188
+ status: 'pass',
189
+ required: true,
190
+ message: 'Dependency, parameter, handler and authorization preflight passed.',
191
+ ...(execution.plan ? { evidence: { plan: execution.plan } } : {}),
192
+ });
193
+ }
194
+ catch (error) {
195
+ checks.push({
196
+ id,
197
+ status: 'fail',
198
+ required: true,
199
+ message: error instanceof Error ? error.message : String(error),
200
+ ...(error instanceof Error &&
201
+ 'userAction' in error &&
202
+ typeof error.userAction === 'string'
203
+ ? { userAction: error.userAction }
204
+ : {}),
205
+ });
206
+ }
207
+ }
208
+ }
209
+ finally {
210
+ restoreEnvironment();
211
+ }
212
+ const current = await recipeConformanceIdentity(engine, options);
213
+ if (!sameConformanceIdentity(identity, current)) {
214
+ checks.push({
215
+ id: 'inputs.stable',
216
+ status: 'fail',
217
+ required: true,
218
+ message: 'Code or configuration changed while checking.',
219
+ });
220
+ }
221
+ const passed = conformanceChecksPass(checks);
222
+ return {
223
+ schemaVersion: 1,
224
+ checkedAt: new Date().toISOString(),
225
+ identity,
226
+ status: passed ? 'pass' : 'fail',
227
+ mode: 'static',
228
+ checks,
229
+ capabilities: [{ name: 'recipe.preflight', status: passed ? 'verified' : 'failed' }],
230
+ resolution,
231
+ };
232
+ }
233
+ function sameConformanceIdentity(left, right) {
234
+ return JSON.stringify(left) === JSON.stringify(right);
235
+ }
236
+ function withDirtyDigest(source) {
237
+ return {
238
+ ...source,
239
+ dirtyDigest: sourceIsDirty(source) ? source.sourceFingerprint : null,
240
+ };
241
+ }
242
+ export async function writeRecipeConformanceReport(artifactsDir, report) {
243
+ const relative = 'conformance-report.json';
244
+ await writeContainedArtifact(artifactsDir, relative, `${JSON.stringify(report, null, 2)}\n`, 'Conformance report');
245
+ return path.join(artifactsDir, relative);
246
+ }
247
+ //# sourceMappingURL=conformance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../src/harness/conformance.ts"],"names":[],"mappings":"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"}