@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.
- package/CHANGELOG.md +6 -0
- package/dist/discovery-index.d.ts +9 -0
- package/dist/discovery-index.d.ts.map +1 -1
- package/dist/discovery-index.js +4 -1
- package/dist/discovery-index.js.map +1 -1
- package/dist/harness/adapter-plugins.d.ts +2 -1
- package/dist/harness/adapter-plugins.d.ts.map +1 -1
- package/dist/harness/adapter-plugins.js +1 -1
- package/dist/harness/adapter-plugins.js.map +1 -1
- package/dist/harness/adapters.d.ts +1 -0
- package/dist/harness/adapters.d.ts.map +1 -1
- package/dist/harness/adapters.js +1 -1
- package/dist/harness/adapters.js.map +1 -1
- package/dist/harness/catalog.d.ts +8 -1
- package/dist/harness/catalog.d.ts.map +1 -1
- package/dist/harness/catalog.js +125 -1
- package/dist/harness/catalog.js.map +1 -1
- package/dist/harness/commands/run.js +52 -8
- package/dist/harness/commands/run.js.map +1 -1
- package/dist/harness/conformance.d.ts +35 -0
- package/dist/harness/conformance.d.ts.map +1 -0
- package/dist/harness/conformance.js +247 -0
- package/dist/harness/conformance.js.map +1 -0
- package/dist/harness/context-state.d.ts +55 -0
- package/dist/harness/context-state.d.ts.map +1 -1
- package/dist/harness/context-state.js +11 -0
- package/dist/harness/context-state.js.map +1 -1
- package/dist/harness/context.d.ts +45 -2
- package/dist/harness/context.d.ts.map +1 -1
- package/dist/harness/context.js +447 -26
- package/dist/harness/context.js.map +1 -1
- package/dist/harness/execution-provenance.d.ts +9 -5
- package/dist/harness/execution-provenance.d.ts.map +1 -1
- package/dist/harness/execution-provenance.js +56 -5
- package/dist/harness/execution-provenance.js.map +1 -1
- package/dist/harness/harness-cli.d.ts +3 -0
- package/dist/harness/harness-cli.d.ts.map +1 -1
- package/dist/harness/harness-cli.js +9 -3
- package/dist/harness/harness-cli.js.map +1 -1
- package/dist/harness/index.d.ts +9 -7
- package/dist/harness/index.d.ts.map +1 -1
- package/dist/harness/index.js +9 -7
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/library-provenance.d.ts +2 -1
- package/dist/harness/library-provenance.d.ts.map +1 -1
- package/dist/harness/library-provenance.js +5 -1
- package/dist/harness/library-provenance.js.map +1 -1
- package/dist/harness/paths.d.ts +4 -0
- package/dist/harness/paths.d.ts.map +1 -1
- package/dist/harness/paths.js +22 -0
- package/dist/harness/paths.js.map +1 -1
- package/dist/harness/project-host.d.ts +17 -0
- package/dist/harness/project-host.d.ts.map +1 -0
- package/dist/harness/project-host.js +92 -0
- package/dist/harness/project-host.js.map +1 -0
- package/dist/harness/recipe-library.d.ts +1 -1
- package/dist/harness/recipe-library.d.ts.map +1 -1
- package/dist/harness/recipe-library.js +16 -6
- package/dist/harness/recipe-library.js.map +1 -1
- package/dist/harness/recipe-validation.d.ts +1 -1
- package/dist/harness/recipe-validation.d.ts.map +1 -1
- package/dist/harness/recipe-validation.js +3 -3
- package/dist/harness/recipe-validation.js.map +1 -1
- package/dist/harness/run-diagnostics.d.ts +2 -0
- package/dist/harness/run-diagnostics.d.ts.map +1 -1
- package/dist/harness/run-diagnostics.js +41 -0
- package/dist/harness/run-diagnostics.js.map +1 -1
- package/dist/harness/run-engine.d.ts +19 -2
- package/dist/harness/run-engine.d.ts.map +1 -1
- package/dist/harness/run-engine.js +220 -17
- package/dist/harness/run-engine.js.map +1 -1
- package/dist/harness/run-options.d.ts +2 -0
- package/dist/harness/run-options.d.ts.map +1 -1
- package/dist/harness/run-options.js +7 -5
- package/dist/harness/run-options.js.map +1 -1
- 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
|
|
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
|
|
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
|
-
|
|
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
|
-
?
|
|
587
|
-
: '
|
|
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
|
|
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
|
|
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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"}
|