@farmslot/recipe-cli 0.12.0 → 0.14.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 (121) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/harness/acceptance-ledger.d.ts +8 -13
  3. package/dist/harness/acceptance-ledger.d.ts.map +1 -1
  4. package/dist/harness/acceptance-ledger.js +39 -112
  5. package/dist/harness/acceptance-ledger.js.map +1 -1
  6. package/dist/harness/catalog.d.ts +3 -34
  7. package/dist/harness/catalog.d.ts.map +1 -1
  8. package/dist/harness/catalog.js +53 -0
  9. package/dist/harness/catalog.js.map +1 -1
  10. package/dist/harness/command-journal.d.ts +7 -1
  11. package/dist/harness/command-journal.d.ts.map +1 -1
  12. package/dist/harness/command-journal.js +27 -5
  13. package/dist/harness/command-journal.js.map +1 -1
  14. package/dist/harness/commands/call.d.ts +7 -0
  15. package/dist/harness/commands/call.d.ts.map +1 -1
  16. package/dist/harness/commands/call.js +19 -12
  17. package/dist/harness/commands/call.js.map +1 -1
  18. package/dist/harness/commands/discover.d.ts +4 -0
  19. package/dist/harness/commands/discover.d.ts.map +1 -1
  20. package/dist/harness/commands/discover.js +7 -7
  21. package/dist/harness/commands/discover.js.map +1 -1
  22. package/dist/harness/commands/doctor.d.ts +11 -5
  23. package/dist/harness/commands/doctor.d.ts.map +1 -1
  24. package/dist/harness/commands/doctor.js +58 -20
  25. package/dist/harness/commands/doctor.js.map +1 -1
  26. package/dist/harness/commands/launch.d.ts +7 -1
  27. package/dist/harness/commands/launch.d.ts.map +1 -1
  28. package/dist/harness/commands/launch.js +7 -7
  29. package/dist/harness/commands/launch.js.map +1 -1
  30. package/dist/harness/commands/logs.d.ts +25 -0
  31. package/dist/harness/commands/logs.d.ts.map +1 -0
  32. package/dist/harness/commands/logs.js +105 -0
  33. package/dist/harness/commands/logs.js.map +1 -0
  34. package/dist/harness/commands/reload.d.ts +2 -1
  35. package/dist/harness/commands/reload.d.ts.map +1 -1
  36. package/dist/harness/commands/reload.js +3 -3
  37. package/dist/harness/commands/reload.js.map +1 -1
  38. package/dist/harness/commands/run.d.ts +20 -9
  39. package/dist/harness/commands/run.d.ts.map +1 -1
  40. package/dist/harness/commands/run.js +61 -45
  41. package/dist/harness/commands/run.js.map +1 -1
  42. package/dist/harness/commands/status.d.ts.map +1 -1
  43. package/dist/harness/commands/status.js +15 -0
  44. package/dist/harness/commands/status.js.map +1 -1
  45. package/dist/harness/commands/stop.d.ts +2 -0
  46. package/dist/harness/commands/stop.d.ts.map +1 -1
  47. package/dist/harness/commands/stop.js +2 -2
  48. package/dist/harness/commands/stop.js.map +1 -1
  49. package/dist/harness/conformance.d.ts +5 -3
  50. package/dist/harness/conformance.d.ts.map +1 -1
  51. package/dist/harness/conformance.js +22 -18
  52. package/dist/harness/conformance.js.map +1 -1
  53. package/dist/harness/context-state.d.ts +2 -1
  54. package/dist/harness/context-state.d.ts.map +1 -1
  55. package/dist/harness/context-state.js.map +1 -1
  56. package/dist/harness/context.d.ts +14 -1
  57. package/dist/harness/context.d.ts.map +1 -1
  58. package/dist/harness/context.js +24 -5
  59. package/dist/harness/context.js.map +1 -1
  60. package/dist/harness/execution-provenance.js +1 -1
  61. package/dist/harness/execution-provenance.js.map +1 -1
  62. package/dist/harness/host.d.ts +12 -0
  63. package/dist/harness/host.d.ts.map +1 -1
  64. package/dist/harness/host.js +26 -0
  65. package/dist/harness/host.js.map +1 -1
  66. package/dist/harness/index.d.ts +9 -8
  67. package/dist/harness/index.d.ts.map +1 -1
  68. package/dist/harness/index.js +8 -7
  69. package/dist/harness/index.js.map +1 -1
  70. package/dist/harness/json-stream.d.ts +7 -2
  71. package/dist/harness/json-stream.d.ts.map +1 -1
  72. package/dist/harness/json-stream.js +76 -10
  73. package/dist/harness/json-stream.js.map +1 -1
  74. package/dist/harness/live-adapter-contract.d.ts +1 -1
  75. package/dist/harness/live-adapter-contract.d.ts.map +1 -1
  76. package/dist/harness/live-adapter-contract.js +38 -96
  77. package/dist/harness/live-adapter-contract.js.map +1 -1
  78. package/dist/harness/parse-args.d.ts +2 -0
  79. package/dist/harness/parse-args.d.ts.map +1 -1
  80. package/dist/harness/parse-args.js +4 -1
  81. package/dist/harness/parse-args.js.map +1 -1
  82. package/dist/harness/project-command.d.ts +11 -0
  83. package/dist/harness/project-command.d.ts.map +1 -0
  84. package/dist/harness/project-command.js +32 -0
  85. package/dist/harness/project-command.js.map +1 -0
  86. package/dist/harness/project-host.d.ts +8 -2
  87. package/dist/harness/project-host.d.ts.map +1 -1
  88. package/dist/harness/project-host.js +172 -59
  89. package/dist/harness/project-host.js.map +1 -1
  90. package/dist/harness/recipe-library.d.ts +11 -4
  91. package/dist/harness/recipe-library.d.ts.map +1 -1
  92. package/dist/harness/recipe-library.js +14 -5
  93. package/dist/harness/recipe-library.js.map +1 -1
  94. package/dist/harness/recipe-validation.d.ts +3 -2
  95. package/dist/harness/recipe-validation.d.ts.map +1 -1
  96. package/dist/harness/recipe-validation.js +10 -15
  97. package/dist/harness/recipe-validation.js.map +1 -1
  98. package/dist/harness/run-diagnostics.d.ts +2 -49
  99. package/dist/harness/run-diagnostics.d.ts.map +1 -1
  100. package/dist/harness/run-diagnostics.js +1 -41
  101. package/dist/harness/run-diagnostics.js.map +1 -1
  102. package/dist/harness/run-engine.d.ts +7 -60
  103. package/dist/harness/run-engine.d.ts.map +1 -1
  104. package/dist/harness/run-engine.js +15 -236
  105. package/dist/harness/run-engine.js.map +1 -1
  106. package/dist/harness/run-options.d.ts.map +1 -1
  107. package/dist/harness/run-options.js +2 -1
  108. package/dist/harness/run-options.js.map +1 -1
  109. package/dist/harness/runtime-proof.d.ts +7 -19
  110. package/dist/harness/runtime-proof.d.ts.map +1 -1
  111. package/dist/harness/runtime-proof.js +54 -89
  112. package/dist/harness/runtime-proof.js.map +1 -1
  113. package/dist/harness/shared.d.ts +1 -0
  114. package/dist/harness/shared.d.ts.map +1 -1
  115. package/dist/harness/shared.js +62 -189
  116. package/dist/harness/shared.js.map +1 -1
  117. package/package.json +5 -5
  118. package/dist/harness/run-recording.d.ts +0 -48
  119. package/dist/harness/run-recording.d.ts.map +0 -1
  120. package/dist/harness/run-recording.js +0 -566
  121. package/dist/harness/run-recording.js.map +0 -1
@@ -1,79 +1,180 @@
1
1
  import path from 'node:path';
2
- import { createAdapterRegistry } from '@farmslot/adapter-sdk';
2
+ import { createAdapterRegistry, createDefaultRecipeEngine, } from '@farmslot/adapter-sdk';
3
+ import { assertRecipeActive } from '@farmslot/recipe-runner/adapters/core';
3
4
  import { configureHarnessAdapters, harnessAdapters } from './adapters.js';
4
5
  import { createRuntimeRecipeCatalog } from './catalog.js';
5
6
  import { authorizedProjectLibraries, contextPorts, loadProjectProvider, resolveProjectContext, } from './context.js';
6
7
  import { harnessContext, ProjectBindingError, setHarnessContext, } from './context-state.js';
7
8
  import { providerSourceSnapshot } from './execution-provenance.js';
8
9
  import { withHarnessInvocation } from './harness-cli.js';
9
- import { configureHarnessHost, harnessHost } from './host.js';
10
+ import { configureHarnessHost, harnessHost, withRecipeCleanup, withRecipeExecutionSignal, withRecipeSignals, } from './host.js';
11
+ import { deferCommandOutput } from './json-stream.js';
10
12
  import { applyRuntimeDirOption } from './parse-args.js';
11
13
  import { recipeOutputRoots } from './paths.js';
14
+ import { isRecipeExecution } from './project-command.js';
12
15
  import { resolveLibrarySources } from './recipe-library.js';
13
- import { createDefaultRecipeEngine } from './run-engine.js';
16
+ function aggregateFailures(failures) {
17
+ return new AggregateError(failures, failures
18
+ .map((failure) => (failure instanceof Error ? failure.message : String(failure)))
19
+ .join('; '));
20
+ }
14
21
  /** Resolve, authorize and compose one invocation through the same direct/hosted path. */
15
22
  export function withProjectRecipeHost(options, invoke) {
16
23
  return withHarnessInvocation(async () => {
17
- const previousHost = harnessHost();
18
- const previousContext = harnessContext();
19
- const previousAdapters = harnessAdapters();
20
- const previousEnv = { ...process.env };
21
- let provider;
22
- try {
23
- configureHarnessAdapters(createAdapterRegistry());
24
- configureHarnessHost({ ...previousHost, name: 'farmslot recipe' });
25
- applyRuntimeDirOption(options.options ?? {});
26
- const context = await resolveProjectContext(options);
27
- const binding = context.project;
28
- const libraries = authorizedProjectLibraries(context);
29
- if (libraries.length !== binding.libraries.length)
30
- throw new ProjectBindingError('LIBRARY_UNAUTHORIZED', 'Discovered recipe libraries are not authorized executable sources.', 'register the project or select each library with --library name=path');
31
- const cli = {
32
- ...options.options,
33
- target: context.target.value,
34
- runtimeDir: binding.runtimeDir,
35
- artifactsDir: path.join(binding.checkoutRoot, binding.artifactDir),
36
- ...(binding.manifest && !options.options?.actionManifest
37
- ? { actionManifest: binding.manifest }
38
- : {}),
24
+ // Lifecycle and log followers share owned-child cancellation, without granting
25
+ // recipe execution or funding authority to a readiness/log query.
26
+ const needsSignals = isRecipeExecution(options.command, options.options) ||
27
+ (options.command === 'doctor' && options.options?.fix === true) ||
28
+ ['launch', 'reload', 'stop', 'logs'].includes(options.command ?? '');
29
+ const execute = async (signal) => {
30
+ const previousHost = harnessHost();
31
+ const previousContext = harnessContext();
32
+ const previousAdapters = harnessAdapters();
33
+ const previousEnv = { ...process.env };
34
+ const hostHints = {
35
+ supportsLast: false,
36
+ doctorHint: 'farmslot doctor --conformance --json',
37
+ ...options.hostHints,
39
38
  };
40
- applyRuntimeDirOption(cli);
41
- provider = await loadProjectProvider(context, { ...options, options: cli });
42
- const targeting = contextPorts(context, options.tokens, {
43
- '--cdp-port': true,
44
- '--watcher-port': true,
45
- });
46
- context.ports = targeting.ports;
47
- Object.assign(process.env, targeting.env);
48
- setHarnessContext(context);
49
- const engine = provider.engine ??
50
- createDefaultRecipeEngine({
51
- runtime: provider.runtime,
52
- catalog: createRuntimeRecipeCatalog({
53
- runtime: provider.runtime,
54
- bundledLibrary: {
55
- name: binding.name,
56
- root: binding.provider.root,
57
- actionNamespace: binding.domain ?? binding.name,
58
- },
59
- }),
60
- runtimeSource: {
61
- kind: 'custom-adapter',
62
- trust: 'trusted',
63
- name: binding.name,
64
- path: binding.provider.root,
65
- digest: binding.provider.identity.sourceFingerprint,
66
- },
67
- resolveRuntimeDigest: async () => providerSourceSnapshot(binding.provider.root, binding.provider.module, recipeOutputRoots(context.target.value, binding)).sourceFingerprint,
68
- });
69
- const librarySources = await resolveLibrarySources(engine, undefined, undefined, libraries);
70
- return await invoke({ context, provider, engine, librarySources, cli });
71
- }
72
- finally {
39
+ let provider;
40
+ let cancellation;
41
+ let finalization;
42
+ let closed = false;
43
+ const cancel = () => {
44
+ if (!provider || cancellation || closed)
45
+ return;
46
+ cancellation = Promise.resolve()
47
+ .then(() => withRecipeCleanup(() => provider.cancel?.()))
48
+ .then(() => ({ status: 'fulfilled', value: undefined }), (reason) => ({ status: 'rejected', reason }));
49
+ };
50
+ const closeProvider = async () => {
51
+ const initialCancellation = cancellation;
52
+ const outcome = await initialCancellation;
53
+ const failures = outcome?.status === 'rejected' ? [outcome.reason] : [];
54
+ try {
55
+ await provider?.finalize?.();
56
+ }
57
+ catch (error) {
58
+ failures.push(error);
59
+ }
60
+ if (!initialCancellation) {
61
+ const lateCancellation = await cancellation;
62
+ if (lateCancellation?.status === 'rejected')
63
+ failures.push(lateCancellation.reason);
64
+ }
65
+ closed = true;
66
+ if (failures.length === 1)
67
+ throw failures[0];
68
+ if (failures.length > 1)
69
+ throw aggregateFailures(failures);
70
+ };
71
+ const finalize = () => (finalization ??= signal ? withRecipeCleanup(closeProvider) : closeProvider());
72
+ signal?.addEventListener('abort', cancel, { once: true });
73
73
  try {
74
- await provider?.finalize?.();
74
+ let outcome;
75
+ try {
76
+ assertRecipeActive(signal);
77
+ configureHarnessAdapters(createAdapterRegistry());
78
+ configureHarnessHost({
79
+ ...previousHost,
80
+ ...hostHints,
81
+ name: 'farmslot recipe',
82
+ });
83
+ applyRuntimeDirOption(options.options ?? {});
84
+ const context = await resolveProjectContext(options);
85
+ const binding = context.project;
86
+ const libraries = authorizedProjectLibraries(context);
87
+ if (libraries.length !== binding.libraries.length)
88
+ throw new ProjectBindingError('LIBRARY_UNAUTHORIZED', 'Discovered recipe libraries are not authorized executable sources.', 'register the project or select each library with --library name=path');
89
+ const resolvedOptions = {
90
+ target: context.target.value,
91
+ runtimeDir: binding.runtimeDir,
92
+ artifactsDir: path.join(binding.checkoutRoot, binding.artifactDir),
93
+ ...(binding.manifest && !options.options?.actionManifest
94
+ ? { actionManifest: binding.manifest }
95
+ : {}),
96
+ };
97
+ const cli = { ...options.options, ...resolvedOptions };
98
+ applyRuntimeDirOption(cli);
99
+ let invocation;
100
+ provider = await loadProjectProvider(context, {
101
+ ...options,
102
+ hostHints,
103
+ resolvedOptions,
104
+ onParsedInvocation: (parsed) => {
105
+ invocation = parsed;
106
+ options.onParsedInvocation?.(parsed);
107
+ },
108
+ });
109
+ if (signal?.aborted)
110
+ cancel();
111
+ assertRecipeActive(signal);
112
+ const targeting = contextPorts(context, options.tokens, {
113
+ '--cdp-port': true,
114
+ '--watcher-port': true,
115
+ });
116
+ context.ports = targeting.ports;
117
+ Object.assign(process.env, targeting.env);
118
+ setHarnessContext(context);
119
+ const engine = provider.engine ??
120
+ createDefaultRecipeEngine({
121
+ runtime: provider.runtime,
122
+ recordingAdmission: options.recordingAdmission,
123
+ catalog: createRuntimeRecipeCatalog({
124
+ runtime: provider.runtime,
125
+ bundledLibrary: {
126
+ name: binding.name,
127
+ root: binding.provider.root,
128
+ actionNamespace: binding.domain ?? binding.name,
129
+ },
130
+ }),
131
+ runtimeSource: {
132
+ kind: 'custom-adapter',
133
+ trust: 'trusted',
134
+ name: binding.name,
135
+ path: binding.provider.root,
136
+ digest: binding.provider.identity.sourceFingerprint,
137
+ },
138
+ resolveRuntimeDigest: async () => providerSourceSnapshot(binding.provider.root, binding.provider.module, recipeOutputRoots(context.target.value, binding)).sourceFingerprint,
139
+ });
140
+ const librarySources = await resolveLibrarySources(engine, undefined, undefined, libraries);
141
+ assertRecipeActive(signal);
142
+ const boundProvider = provider;
143
+ const commandOptions = {
144
+ ...cli,
145
+ ...invocation?.options,
146
+ adapter: boundProvider.runtime.id,
147
+ };
148
+ const value = await withRecipeExecutionSignal(signal, () => invoke({
149
+ context,
150
+ provider: boundProvider,
151
+ engine,
152
+ librarySources,
153
+ cli: commandOptions,
154
+ ...(invocation ? { invocation: { ...invocation, options: commandOptions } } : {}),
155
+ signal,
156
+ finalize,
157
+ }));
158
+ outcome = { status: 'fulfilled', value };
159
+ }
160
+ catch (reason) {
161
+ outcome = { status: 'rejected', reason };
162
+ }
163
+ try {
164
+ await finalize();
165
+ }
166
+ catch (error) {
167
+ if (outcome.status === 'rejected' && outcome.reason !== error) {
168
+ throw aggregateFailures([outcome.reason, error]);
169
+ }
170
+ throw error;
171
+ }
172
+ if (outcome.status === 'rejected')
173
+ throw outcome.reason;
174
+ return outcome.value;
75
175
  }
76
176
  finally {
177
+ signal?.removeEventListener('abort', cancel);
77
178
  // Provider factories and runtime targeting may change process state.
78
179
  // Every invocation shares the host queue, so these changes stay scoped.
79
180
  for (const key of new Set([...Object.keys(previousEnv), ...Object.keys(process.env)])) {
@@ -86,6 +187,18 @@ export function withProjectRecipeHost(options, invoke) {
86
187
  configureHarnessAdapters(previousAdapters);
87
188
  configureHarnessHost(previousHost);
88
189
  }
190
+ };
191
+ const finishOutput = options.deferOutput ? deferCommandOutput() : undefined;
192
+ let succeeded = false;
193
+ try {
194
+ const result = await (needsSignals
195
+ ? withRecipeSignals(execute, options.signal)
196
+ : execute(options.signal));
197
+ succeeded = true;
198
+ return result;
199
+ }
200
+ finally {
201
+ finishOutput?.(succeeded);
89
202
  }
90
203
  });
91
204
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-host.js","sourceRoot":"","sources":["../../src/harness/project-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-host.js","sourceRoot":"","sources":["../../src/harness/project-host.ts"],"names":[],"mappings":"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"}
@@ -41,13 +41,20 @@ export declare function resolveLibrarySources(catalog: RecipeCatalog, libraryEnt
41
41
  export declare function resolveCommandManifest(catalog: RecipeCatalog, adapter: string, options: CliOptions, resolvedSources?: RecipeLibrarySource[]): Promise<ResolvedActionManifest & {
42
42
  librarySources: RecipeLibrarySource[];
43
43
  }>;
44
- /** A recipe file path, or a library recipe name the sources resolve for the adapter. */
45
- export declare function resolveRunRecipeArg(catalog: RecipeCatalog, recipeArg: string, adapter: string, librarySources?: RecipeLibrarySource[]): Promise<{
44
+ export type ResolvedRecipeArgument = {
46
45
  recipeFile: string;
47
46
  ref?: string;
48
47
  } | {
49
48
  notFound: string;
50
- }>;
49
+ };
50
+ export interface ResolvedRecipeInvocation {
51
+ resolved: ResolvedRecipeArgument;
52
+ librarySources: RecipeLibrarySource[];
53
+ }
54
+ /** A recipe file path, or a library recipe name the sources resolve for the adapter. */
55
+ export declare function resolveRunRecipeArg(catalog: RecipeCatalog, recipeArg: string, adapter: string, librarySources?: RecipeLibrarySource[], libraryOnly?: boolean): Promise<ResolvedRecipeArgument>;
56
+ /** Resolve the recipe and compose adjacent task sources without replacing bound provenance. */
57
+ export declare function resolveRecipeInvocation(catalog: RecipeCatalog, recipeArg: string, adapter: string, libraryEntry?: string | readonly string[], resolvedSources?: RecipeLibrarySource[], libraryOnly?: boolean): Promise<ResolvedRecipeInvocation>;
51
58
  /**
52
59
  * Library recipes `run` accepts for this adapter: every precedence winner and
53
60
  * qualified alias whose document, and every recipe it calls, validates against
@@ -55,7 +62,7 @@ export declare function resolveRunRecipeArg(catalog: RecipeCatalog, recipeArg: s
55
62
  */
56
63
  export declare function runnableLibraryRecipes(catalog: RecipeCatalog, adapter: string, sources: RecipeLibrarySource[]): Promise<ResolvedLibraryRecipe[]>;
57
64
  export declare function listRunnableRecipes(catalog: RecipeCatalog, adapter: string, librarySources?: RecipeLibrarySource[]): Promise<RunnableRecipe[]>;
58
- export declare function describeRunnableRecipe(catalog: RecipeCatalog, recipeArg: string, adapter: string, librarySources?: RecipeLibrarySource[]): Promise<{
65
+ export declare function describeRunnableRecipe(catalog: RecipeCatalog, recipeArg: string, adapter: string, librarySources?: RecipeLibrarySource[], resolvedRecipe?: ResolvedRecipeArgument): Promise<{
59
66
  recipe: RunnableRecipeDetail;
60
67
  } | {
61
68
  notFound: string;
@@ -1 +1 @@
1
- {"version":3,"file":"recipe-library.d.ts","sourceRoot":"","sources":["../../src/harness/recipe-library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipe-library.d.ts","sourceRoot":"","sources":["../../src/harness/recipe-library.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAE3B,MAAM,yBAAyB,CAAC;AAKjC,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAG1E,OAAO,EACL,KAAK,UAAU,EAKhB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,sBAAsB,EAAE,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,EACpD,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,mBAAmB,EAAE,GACtC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAuDhC;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,EACnB,eAAe,CAAC,EAAE,mBAAmB,EAAE,GACtC,OAAO,CAAC,sBAAsB,GAAG;IAAE,cAAc,EAAE,mBAAmB,EAAE,CAAA;CAAE,CAAC,CAS7E;AAYD,MAAM,MAAM,sBAAsB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,cAAc,EAAE,mBAAmB,EAAE,CAAC;CACvC;AAED,wFAAwF;AACxF,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,mBAAmB,EAAE,EACtC,WAAW,UAAQ,GAClB,OAAO,CAAC,sBAAsB,CAAC,CAoBjC;AAED,+FAA+F;AAC/F,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EACzC,eAAe,CAAC,EAAE,mBAAmB,EAAE,EACvC,WAAW,UAAQ,GAClB,OAAO,CAAC,wBAAwB,CAAC,CAQnC;AAWD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,mBAAmB,EAAE,GAC7B,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAMlC;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,mBAAmB,EAAE,GACrC,OAAO,CAAC,cAAc,EAAE,CAAC,CAM3B;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,mBAAmB,EAAE,EACtC,cAAc,CAAC,EAAE,sBAAsB,GACtC,OAAO,CAAC;IAAE,MAAM,EAAE,oBAAoB,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAsC3F"}
@@ -75,13 +75,13 @@ function isRecipeFile(p) {
75
75
  }
76
76
  }
77
77
  /** A recipe file path, or a library recipe name the sources resolve for the adapter. */
78
- export async function resolveRunRecipeArg(catalog, recipeArg, adapter, librarySources) {
78
+ export async function resolveRunRecipeArg(catalog, recipeArg, adapter, librarySources, libraryOnly = false) {
79
79
  const direct = path.resolve(recipeArg);
80
- if (isRecipeFile(direct))
80
+ if (!libraryOnly && isRecipeFile(direct))
81
81
  return { recipeFile: direct };
82
82
  const sources = effectiveLibrarySources(catalog, librarySources);
83
83
  const resolution = await loadRecipeLibraries(sources, { adapter });
84
- if (!recipeArg.includes('/') && !recipeArg.includes(path.sep)) {
84
+ if (libraryOnly || (!recipeArg.includes('/') && !recipeArg.includes(path.sep))) {
85
85
  const selected = resolution.recipes.get(recipeArg);
86
86
  if (selected)
87
87
  return { recipeFile: selected.path, ref: selected.ref };
@@ -96,6 +96,15 @@ export async function resolveRunRecipeArg(catalog, recipeArg, adapter, librarySo
96
96
  : ` The packaged library has no recipes for ${adapter}.`;
97
97
  return { notFound: notFoundCore + suffix };
98
98
  }
99
+ /** Resolve the recipe and compose adjacent task sources without replacing bound provenance. */
100
+ export async function resolveRecipeInvocation(catalog, recipeArg, adapter, libraryEntry, resolvedSources, libraryOnly = false) {
101
+ const sources = resolvedSources ?? (await resolveLibrarySources(catalog, libraryEntry));
102
+ const resolved = await resolveRunRecipeArg(catalog, recipeArg, adapter, sources, libraryOnly);
103
+ const librarySources = 'recipeFile' in resolved && !resolved.ref
104
+ ? await resolveLibrarySources(catalog, libraryEntry, resolved.recipeFile, sources)
105
+ : sources;
106
+ return { resolved, librarySources };
107
+ }
99
108
  function effectiveLibrarySources(catalog, librarySources) {
100
109
  return librarySources && librarySources.length > 0
101
110
  ? librarySources
@@ -116,8 +125,8 @@ export async function listRunnableRecipes(catalog, adapter, librarySources) {
116
125
  .map((recipe) => recipeSummary(recipe.ref, adapter, recipe.document, recipe))
117
126
  .sort((left, right) => left.name.localeCompare(right.name));
118
127
  }
119
- export async function describeRunnableRecipe(catalog, recipeArg, adapter, librarySources) {
120
- const resolved = await resolveRunRecipeArg(catalog, recipeArg, adapter, librarySources);
128
+ export async function describeRunnableRecipe(catalog, recipeArg, adapter, librarySources, resolvedRecipe) {
129
+ const resolved = resolvedRecipe ?? (await resolveRunRecipeArg(catalog, recipeArg, adapter, librarySources));
121
130
  if ('notFound' in resolved)
122
131
  return resolved;
123
132
  let document;
@@ -1 +1 @@
1
- {"version":3,"file":"recipe-library.js","sourceRoot":"","sources":["../../src/harness/recipe-library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipe-library.js","sourceRoot":"","sources":["../../src/harness/recipe-library.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,uEAAuE;AACvE,yCAAyC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,mBAAmB,EAGnB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAEL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,UAAU,GACX,MAAM,iBAAiB,CAAC;AA+BzB;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAsB,EACtB,YAAoD,EACpD,UAAmB,EACnB,eAAuC;IAEvC,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IACvC,MAAM,UAAU,GACd,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,IAAI,OAAO,GAAG,eAAe;QAC3B,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;QACtB,CAAC,CAAC,MAAM,2BAA2B,CAAC;YAChC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC,CAAC;IACP,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,IAAI,mBAAmB,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;QACpF,MAAM,UAAU,CACd,yBAAyB,OAAO,CAAC,IAAI,oBAAoB,aAAa,SAAS,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CACzH,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,EAAE,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,eAAe,IAAI,UAAU,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,OAAO,CAAC;QACtB,OAAO,GAAG,CACR,MAAM,2BAA2B,CAAC;YAChC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAC5D;YACD,GAAG,EAAE,EAAE;YACP,UAAU;SACX,CAAC,CACH,CAAC,GAAG,CACH,CAAC,MAAM,EAAE,EAAE,CACT,KAAK,CAAC,IAAI,CACR,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CACvF,IAAI,MAAM,CACd,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAgC,EAAE;QACzD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC;QAC/C,MAAM,QAAQ,GACZ,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChF,OAAO;YACL,GAAG,MAAM;YACT,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACvC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACxC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC/C,GAAG,QAAQ;gBACX,GAAG,MAAM,CAAC,UAAU;aACrB;SACF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAsB,EACtB,OAAe,EACf,OAAmB,EACnB,eAAuC;IAEvC,MAAM,cAAc,GAClB,eAAe,IAAI,CAAC,MAAM,qBAAqB,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,qBAAqB,CACpD,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,EACvC,cAAc,CACf,CAAC;IACF,OAAO,EAAE,GAAG,UAAU,EAAE,cAAc,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,YAAY,CAAC,CAAS;IAC7B,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;QAC1E,oEAAoE;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AASD,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAsB,EACtB,SAAiB,EACjB,OAAe,EACf,cAAsC,EACtC,WAAW,GAAG,KAAK;IAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IACxE,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACnE,IAAI,WAAW,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,QAAQ;YAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;IACxE,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7F,MAAM,YAAY,GAChB,YAAY,CAAC,MAAM,GAAG,CAAC;QACrB,CAAC,CAAC,qBAAqB,SAAS,4DAA4D,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC7K,CAAC,CAAC,qBAAqB,SAAS,wDAAwD,CAAC;IAC7F,MAAM,MAAM,GACV,SAAS,CAAC,MAAM,GAAG,CAAC;QAClB,CAAC,CAAC,wBAAwB,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC,IAAI,eAAe;QAChG,CAAC,CAAC,4CAA4C,OAAO,GAAG,CAAC;IAC7D,OAAO,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,EAAE,CAAC;AAC7C,CAAC;AAED,+FAA+F;AAC/F,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAsB,EACtB,SAAiB,EACjB,OAAe,EACf,YAAyC,EACzC,eAAuC,EACvC,WAAW,GAAG,KAAK;IAEnB,MAAM,OAAO,GAAG,eAAe,IAAI,CAAC,MAAM,qBAAqB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IACxF,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC9F,MAAM,cAAc,GAClB,YAAY,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG;QACvC,CAAC,CAAC,MAAM,qBAAqB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;QAClF,CAAC,CAAC,OAAO,CAAC;IACd,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAsB,EACtB,cAAsC;IAEtC,OAAO,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAChD,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAsB,EACtB,OAAe,EACf,OAA8B;IAE9B,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACnE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC5C,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CACxE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAsB,EACtB,OAAe,EACf,cAAsC;IAEtC,OAAO,CACL,MAAM,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CACjG;SACE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAC5E,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAsB,EACtB,SAAiB,EACjB,OAAe,EACf,cAAsC,EACtC,cAAuC;IAEvC,MAAM,QAAQ,GACZ,cAAc,IAAI,CAAC,MAAM,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7F,IAAI,UAAU,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE5C,IAAI,QAAiB,CAAC;IACtB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,UAAU,EAAE,yBAAyB,QAAQ,CAAC,UAAU,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SACtH,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,UAAU,EAAE,UAAU,QAAQ,CAAC,UAAU,8BAA8B;SACxE,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,mBAAmB,CACjD,uBAAuB,CAAC,OAAO,EAAE,cAAc,CAAC,EAChD,EAAE,OAAO,EAAE,CACZ,CAAC;IACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtF,OAAO;QACL,MAAM,EAAE;YACN,GAAG,OAAO;YACV,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,MAAM;YAClC,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,QAAQ,CAAC,UAAU;YAC3C,IAAI,EAAE,QAAQ,CAAC,UAAU;YACzB,GAAG,CAAC,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;SACjD;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,GAAW,EACX,OAAe,EACf,QAAiC,EACjC,QAKC;IAED,OAAO;QACL,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,MAAM;QAClC,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE;QAC1B,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,EAAE;QAChC,OAAO;QACP,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,IAAI;QAClC,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC;QACtC,GAAG,CAAC,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;YAC7D,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE;YAClC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE;YACzE,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE;YAC9C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAiC;IACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;QAC/E,CAAC,CAAC,EAAE,CACP,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE;QAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,OAAO;YACL,IAAI;YACJ,GAAG,CAAC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAC5B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -2,11 +2,12 @@ import { type RecipeActionManifestDocument, type RecipeValidationFinding, type R
2
2
  import { type RecipeLibrarySource } from '@farmslot/recipe-runner';
3
3
  import type { RecipeCatalog } from './catalog.js';
4
4
  import { type CliOptions } from './parse-args.js';
5
+ import { type ResolvedRecipeInvocation } from './recipe-library.js';
5
6
  /** The adapter's `actions.inputFindings` on every workflow node, with parameters resolved. */
6
7
  export declare function validateActionInputs(recipe: unknown, adapter: string, params?: Record<string, unknown>): RecipeValidationFinding[];
7
8
  /** Warnings for `command` nodes whose exit code cannot prove what the recipe relies on it for. */
8
9
  export declare function validateCommandNodes(recipe: unknown): RecipeValidationFinding[];
9
- export declare function validateRecipeAdapterAware(adapter: string, recipe: unknown, manifest: RecipeActionManifestDocument, librarySources?: RecipeLibrarySource[], rootRef?: string, params?: Record<string, unknown>, proof?: boolean): Promise<RecipeValidationResult>;
10
+ export declare function validateRecipeAdapterAware(adapter: string, recipe: unknown, manifest: RecipeActionManifestDocument, librarySources?: RecipeLibrarySource[], rootRef?: string, params?: Record<string, unknown>, proof?: boolean, lintIntent?: boolean, teardownProofTarget?: string, smokeTarget?: string): Promise<RecipeValidationResult>;
10
11
  export interface RunRecipeStaticValidation {
11
12
  recipe: unknown;
12
13
  recipeFile: string;
@@ -23,5 +24,5 @@ export interface RunRecipeStaticValidation {
23
24
  message: string;
24
25
  };
25
26
  }
26
- export declare function validateRunRecipeStatic(catalog: RecipeCatalog, recipeArg: string, adapter: string, options: CliOptions, params?: Record<string, unknown>, resolvedSources?: RecipeLibrarySource[]): Promise<RunRecipeStaticValidation>;
27
+ export declare function validateRunRecipeStatic(catalog: RecipeCatalog, recipeArg: string, adapter: string, options: CliOptions, params?: Record<string, unknown>, resolvedSources?: RecipeLibrarySource[], resolvedInvocation?: ResolvedRecipeInvocation, lintIntent?: boolean): Promise<RunRecipeStaticValidation>;
27
28
  //# sourceMappingURL=recipe-validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recipe-validation.d.ts","sourceRoot":"","sources":["../../src/harness/recipe-validation.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAG5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,mBAAmB,EAKzB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAEL,KAAK,UAAU,EAOhB,MAAM,iBAAiB,CAAC;AAUzB,8FAA8F;AAC9F,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,uBAAuB,EAAE,CAa3B;AAUD,kGAAkG;AAClG,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,uBAAuB,EAAE,CAiC/E;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,4BAA4B,EACtC,cAAc,CAAC,EAAE,mBAAmB,EAAE,EACtC,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,UAAQ,GACZ,OAAO,CAAC,sBAAsB,CAAC,CA4GjC;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC;8DAC0D;IAC1D,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,EACnB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACpC,eAAe,CAAC,EAAE,mBAAmB,EAAE,GACtC,OAAO,CAAC,yBAAyB,CAAC,CAqGpC"}
1
+ {"version":3,"file":"recipe-validation.d.ts","sourceRoot":"","sources":["../../src/harness/recipe-validation.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAG5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,mBAAmB,EAKzB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAEL,KAAK,UAAU,EAOhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,wBAAwB,EAA2B,MAAM,qBAAqB,CAAC;AAS7F,8FAA8F;AAC9F,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,uBAAuB,EAAE,CAa3B;AAUD,kGAAkG;AAClG,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,uBAAuB,EAAE,CAiC/E;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,4BAA4B,EACtC,cAAc,CAAC,EAAE,mBAAmB,EAAE,EACtC,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,UAAQ,EACb,UAAU,UAAQ,EAClB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,sBAAsB,CAAC,CA8GjC;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC;8DAC0D;IAC1D,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,EACnB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACpC,eAAe,CAAC,EAAE,mBAAmB,EAAE,EACvC,kBAAkB,CAAC,EAAE,wBAAwB,EAC7C,UAAU,UAAQ,GACjB,OAAO,CAAC,yBAAyB,CAAC,CAqGpC"}
@@ -8,7 +8,7 @@ import { loadRecipeLibraries, RecipeResolutionError, resolveRecipeDependencies,
8
8
  import { harnessAdapters } from './adapters.js';
9
9
  import { harnessHost } from './host.js';
10
10
  import { actionManifestPathOption, isRecord, optionFlag, optionString, optionStrings, shellQuoteArg, targetPath, } from './parse-args.js';
11
- import { resolveLibrarySources, resolveRunRecipeArg } from './recipe-library.js';
11
+ import { resolveRecipeInvocation } from './recipe-library.js';
12
12
  import { validateRuntimeProofPlan } from './runtime-proof.js';
13
13
  // Static validation sees parameters as the runner's lenient view: exact
14
14
  // references to parameters that exist, everything else as written.
@@ -74,16 +74,16 @@ export function validateCommandNodes(recipe) {
74
74
  }
75
75
  return findings;
76
76
  }
77
- export async function validateRecipeAdapterAware(adapter, recipe, manifest, librarySources, rootRef, params, proof = false) {
77
+ export async function validateRecipeAdapterAware(adapter, recipe, manifest, librarySources, rootRef, params, proof = false, lintIntent = false, teardownProofTarget, smokeTarget) {
78
78
  let externalRecipeIds;
79
79
  let libraryResolution;
80
- if (librarySources && librarySources.length > 0) {
81
- libraryResolution = await loadRecipeLibraries(librarySources, {
80
+ if ((librarySources && librarySources.length > 0) || proof) {
81
+ libraryResolution = await loadRecipeLibraries(librarySources ?? [], {
82
82
  adapter,
83
83
  });
84
84
  externalRecipeIds = new Set(libraryResolution.recipes.keys());
85
85
  }
86
- const validationOptions = externalRecipeIds !== undefined ? { externalRecipeIds } : undefined;
86
+ const validationOptions = { externalRecipeIds, lintIntent };
87
87
  const withManifest = validateRecipeWithManifest(recipe, manifest, validationOptions);
88
88
  const findings = [
89
89
  ...withManifest.findings,
@@ -142,7 +142,7 @@ export async function validateRecipeAdapterAware(adapter, recipe, manifest, libr
142
142
  findings.push(...validateRuntimeProofPlan(recipe, new Map([...dependencies.recipes].map(([ref, dependency]) => [
143
143
  ref,
144
144
  dependency.document,
145
- ]))));
145
+ ])), teardownProofTarget, smokeTarget));
146
146
  }
147
147
  }
148
148
  catch (error) {
@@ -164,15 +164,10 @@ export async function validateRecipeAdapterAware(adapter, recipe, manifest, libr
164
164
  summary: { errors, warnings },
165
165
  };
166
166
  }
167
- export async function validateRunRecipeStatic(catalog, recipeArg, adapter, options, params = {}, resolvedSources) {
168
- // Resolve library sources first so resolveRunRecipeArg can probe personal and team
169
- // recipe dirs with correct precedence before the canonical packaged library.
170
- let librarySources = resolvedSources ?? (await resolveLibrarySources(catalog, optionStrings(options, 'library')));
171
- const resolved = await resolveRunRecipeArg(catalog, recipeArg, adapter, librarySources);
167
+ export async function validateRunRecipeStatic(catalog, recipeArg, adapter, options, params = {}, resolvedSources, resolvedInvocation, lintIntent = false) {
168
+ const { resolved, librarySources } = resolvedInvocation ??
169
+ (await resolveRecipeInvocation(catalog, recipeArg, adapter, optionStrings(options, 'library'), resolvedSources));
172
170
  const recipeFile = 'recipeFile' in resolved ? resolved.recipeFile : path.resolve(recipeArg);
173
- if ('recipeFile' in resolved && !resolved.ref && !resolvedSources) {
174
- librarySources = await resolveLibrarySources(catalog, optionStrings(options, 'library'), recipeFile);
175
- }
176
171
  const empty = {
177
172
  recipe: undefined,
178
173
  recipeFile,
@@ -228,7 +223,7 @@ export async function validateRunRecipeStatic(catalog, recipeArg, adapter, optio
228
223
  }
229
224
  // Reuse librarySources already resolved above — no second resolution needed.
230
225
  const validation = manifestOk
231
- ? await validateRecipeAdapterAware(adapter, recipe, manifest, librarySources, resolved.ref, effectiveParams, optionFlag(options, 'proof'))
226
+ ? await validateRecipeAdapterAware(adapter, recipe, manifest, librarySources, resolved.ref, effectiveParams, optionFlag(options, 'proof'), lintIntent, optionString(options, 'teardownProofTarget'), optionString(options, 'smokeTarget'))
232
227
  : {
233
228
  status: 'invalid',
234
229
  findings: [],
@@ -1 +1 @@
1
- {"version":3,"file":"recipe-validation.js","sourceRoot":"","sources":["../../src/harness/recipe-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipe-validation.js","sourceRoot":"","sources":["../../src/harness/recipe-validation.ts"],"names":[],"mappings":"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"}