@async/pipeline 0.2.1 → 0.2.4

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 (34) hide show
  1. package/dist/internal/core/index.d.ts +76 -3
  2. package/dist/internal/core/index.d.ts.map +1 -1
  3. package/dist/internal/core/index.js +192 -4
  4. package/dist/internal/core/index.js.map +1 -1
  5. package/dist/internal/node/cli.d.ts.map +1 -1
  6. package/dist/internal/node/cli.js +149 -15
  7. package/dist/internal/node/cli.js.map +1 -1
  8. package/dist/internal/node/doctor.d.ts +2 -1
  9. package/dist/internal/node/doctor.d.ts.map +1 -1
  10. package/dist/internal/node/doctor.js +27 -1
  11. package/dist/internal/node/doctor.js.map +1 -1
  12. package/dist/internal/node/github.d.ts +2 -1
  13. package/dist/internal/node/github.d.ts.map +1 -1
  14. package/dist/internal/node/github.js +4 -3
  15. package/dist/internal/node/github.js.map +1 -1
  16. package/dist/internal/node/index.d.ts +1 -0
  17. package/dist/internal/node/index.d.ts.map +1 -1
  18. package/dist/internal/node/index.js +1 -0
  19. package/dist/internal/node/index.js.map +1 -1
  20. package/dist/internal/node/mcp.d.ts +16 -0
  21. package/dist/internal/node/mcp.d.ts.map +1 -0
  22. package/dist/internal/node/mcp.js +243 -0
  23. package/dist/internal/node/mcp.js.map +1 -0
  24. package/dist/internal/node/runner.d.ts +18 -2
  25. package/dist/internal/node/runner.d.ts.map +1 -1
  26. package/dist/internal/node/runner.js +284 -12
  27. package/dist/internal/node/runner.js.map +1 -1
  28. package/dist/internal/node/sources.js +1 -1
  29. package/dist/internal/node/sources.js.map +1 -1
  30. package/dist/internal/node/store.d.ts +64 -0
  31. package/dist/internal/node/store.d.ts.map +1 -1
  32. package/dist/internal/node/store.js +171 -3
  33. package/dist/internal/node/store.js.map +1 -1
  34. package/package.json +4 -4
@@ -6,13 +6,15 @@ export type JobId = string;
6
6
  export type TriggerId = string;
7
7
  export type SourceId = string;
8
8
  export type SandboxId = string;
9
+ export type ExecutionProfileId = string;
9
10
  export type SourceType = "git" | "path";
10
11
  export type ExecutionMode = "manual" | "ci";
11
12
  export type CacheSharing = "shared" | "private" | "locked";
12
13
  export type TaskStatus = "pending" | "running" | "passed" | "failed" | "skipped" | "cached";
13
14
  export type EnvVarMap = Record<string, string>;
14
15
  export type EnvValue = string | EnvSecretRef | EnvVarRef;
15
- export type SandboxKind = "host" | "lima" | "docker";
16
+ export type SandboxKind = "host" | "lima" | "docker" | "container";
17
+ export type ContainerProvider = "auto" | "docker" | "apple-container" | "lima";
16
18
  export interface ShellCommand {
17
19
  kind: "shell";
18
20
  command: string;
@@ -23,7 +25,7 @@ export interface DeferredShellCommand {
23
25
  command: DeferredShellCommandFactory;
24
26
  }
25
27
  export type TaskRunFunction = (context: TaskContext) => void | Promise<void>;
26
- export type TaskStep = ShellCommand | DeferredShellCommand | TaskRunFunction;
28
+ export type TaskStep = ShellCommand | DeferredShellCommand | AgentStep | TaskRunFunction;
27
29
  export interface CandidateContext {
28
30
  dir: string;
29
31
  fingerprint: string;
@@ -99,7 +101,26 @@ export interface DockerSandboxDefinition {
99
101
  workdir?: string;
100
102
  volumes?: SandboxVolume[];
101
103
  }
102
- export type SandboxDefinition = HostSandboxDefinition | LimaSandboxDefinition | DockerSandboxDefinition;
104
+ export interface ContainerSandboxDefinition {
105
+ kind: "container";
106
+ image: string;
107
+ workdir?: string;
108
+ volumes?: SandboxVolume[];
109
+ }
110
+ export type SandboxDefinition = HostSandboxDefinition | LimaSandboxDefinition | DockerSandboxDefinition | ContainerSandboxDefinition;
111
+ export interface LocalExecutionProfileDefinition {
112
+ kind: "local";
113
+ sandbox?: SandboxId;
114
+ provider?: ContainerProvider;
115
+ }
116
+ export interface GitHubExecutionProfileDefinition {
117
+ kind: "github";
118
+ sandbox?: SandboxId;
119
+ provider?: ContainerProvider;
120
+ runsOn?: string | string[];
121
+ runsOnMatrix?: Array<string | string[]>;
122
+ }
123
+ export type ExecutionProfileDefinition = LocalExecutionProfileDefinition | GitHubExecutionProfileDefinition;
103
124
  export interface CommandOutputPolicy {
104
125
  maxBytes?: number;
105
126
  redactSecrets?: boolean;
@@ -148,6 +169,39 @@ export interface EnvVarRef {
148
169
  values?: EnvVarMap;
149
170
  default?: string;
150
171
  }
172
+ export type AgentProfileId = string;
173
+ export interface AgentProfileDefinition {
174
+ /**
175
+ * Argv prefix for the adapter CLI (e.g. ["claude", "-p"]). The resolved
176
+ * prompt is delivered on stdin. The command never enters any cache key:
177
+ * cache identity comes from the profile id and model, not from where a
178
+ * binary happens to live.
179
+ */
180
+ command: readonly string[];
181
+ /** Model identity. Enters agent cache keys; supports env.var(...) selection. */
182
+ model: string | EnvVarRef;
183
+ }
184
+ export interface AgentStep {
185
+ kind: "agent";
186
+ /** Profile id declared in pipeline `agents`, or env.var(...) selecting one at run time. */
187
+ use: AgentProfileId | EnvVarRef;
188
+ prompt: string;
189
+ /** Optional model override of the profile's model. */
190
+ model?: string | EnvVarRef;
191
+ /**
192
+ * Write the adapter's stdout to this file (relative to the task's cwd)
193
+ * after the step succeeds. The propose-only mechanism: an agent emits a
194
+ * patch or report on stdout, the runner lands it as a reviewable artifact.
195
+ * Declare the path in the task's `outputs` to cache and restore it.
196
+ */
197
+ stdoutTo?: string;
198
+ }
199
+ /** An agent step after run-time resolution: profile and model are concrete and the adapter argv is attached for execution. */
200
+ export interface ResolvedAgentStep extends AgentStep {
201
+ use: AgentProfileId;
202
+ model: string;
203
+ command: readonly string[];
204
+ }
151
205
  export interface TriggerDefinition {
152
206
  type: "manual" | "github" | "schedule";
153
207
  events?: string[];
@@ -268,6 +322,7 @@ export interface JobDefinition {
268
322
  environment?: JobEnvironment;
269
323
  env?: Record<string, EnvValue>;
270
324
  requires?: JobRequirements;
325
+ execution?: ExecutionProfileId;
271
326
  github?: GitHubJobConfig;
272
327
  }
273
328
  export interface NormalizedJob extends Omit<JobDefinition, "target" | "trigger"> {
@@ -304,7 +359,9 @@ export interface PipelineDefinition {
304
359
  name: string;
305
360
  env?: Record<string, EnvValue>;
306
361
  commands?: CommandPolicy;
362
+ agents?: Record<AgentProfileId, AgentProfileDefinition>;
307
363
  sandboxes?: Record<SandboxId, SandboxDefinition>;
364
+ execution?: Record<ExecutionProfileId, ExecutionProfileDefinition>;
308
365
  cache?: CacheRef | CacheRegistryDefinition | CacheRegistryInput | false;
309
366
  namedInputs?: Record<string, string[]>;
310
367
  taskDefaults?: Record<string, Partial<TaskDefinition>>;
@@ -318,7 +375,9 @@ export interface NormalizedPipeline {
318
375
  name: string;
319
376
  env: Record<string, EnvValue>;
320
377
  commands?: CommandPolicy;
378
+ agents: Record<AgentProfileId, AgentProfileDefinition>;
321
379
  sandboxes: Record<SandboxId, SandboxDefinition>;
380
+ execution: Record<ExecutionProfileId, ExecutionProfileDefinition>;
322
381
  cache: CacheRegistryDefinition;
323
382
  namedInputs: Record<string, string[]>;
324
383
  triggers: Record<TriggerId, TriggerDefinition>;
@@ -388,6 +447,14 @@ export interface ComposeSourcePipeline {
388
447
  }
389
448
  export declare function sh(factory: DeferredShellCommandFactory): DeferredShellCommand;
390
449
  export declare function sh(strings: TemplateStringsArray, ...values: unknown[]): ShellCommand;
450
+ export declare function agent(options: {
451
+ use: AgentProfileId | EnvVarRef;
452
+ prompt: string;
453
+ model?: string | EnvVarRef;
454
+ stdoutTo?: string;
455
+ }): AgentStep;
456
+ export declare function isAgentStep(step: TaskStep): step is AgentStep;
457
+ export declare function isResolvedAgentStep(step: TaskStep): step is ResolvedAgentStep;
391
458
  export declare function task(definition: TaskDefinition): TaskDefinition;
392
459
  export declare function task(definition: TaskDefinition, run: TaskRunDefinition): TaskDefinition;
393
460
  export declare function job(definition: JobDefinition): JobDefinition;
@@ -406,6 +473,11 @@ export declare const sandbox: {
406
473
  host(): HostSandboxDefinition;
407
474
  lima(options?: Omit<LimaSandboxDefinition, "kind">): LimaSandboxDefinition;
408
475
  docker(options: Omit<DockerSandboxDefinition, "kind">): DockerSandboxDefinition;
476
+ container(options: Omit<ContainerSandboxDefinition, "kind">): ContainerSandboxDefinition;
477
+ };
478
+ export declare const execution: {
479
+ local(options?: Omit<LocalExecutionProfileDefinition, "kind">): LocalExecutionProfileDefinition;
480
+ github(options: Omit<GitHubExecutionProfileDefinition, "kind">): GitHubExecutionProfileDefinition;
409
481
  };
410
482
  export declare const command: {
411
483
  policy(options?: Omit<CommandPolicy, "rules"> & {
@@ -454,6 +526,7 @@ export declare const source: {
454
526
  };
455
527
  export declare function definePipeline(definition: PipelineDefinition): NormalizedPipeline;
456
528
  export declare function normalizePipeline(definition: PipelineDefinition): NormalizedPipeline;
529
+ export declare function githubConfigForJob(pipeline: NormalizedPipeline, jobDefinition: NormalizedJob): GitHubJobConfig | undefined;
457
530
  export declare function validatePipeline(pipeline: NormalizedPipeline): void;
458
531
  export declare function composePipelines(root: NormalizedPipeline, sourcePipelines: Record<SourceId, ComposeSourcePipeline>): NormalizedPipeline;
459
532
  export declare function parseTaskRef(taskRef: TaskId): ParsedTaskRef;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,37 @@ export function sh(first, ...values) {
15
15
  }
16
16
  return { kind: "shell", command };
17
17
  }
18
+ const AGENT_STEP_FIELDS = new Set(["use", "prompt", "model", "stdoutTo"]);
19
+ export function agent(options) {
20
+ rejectUnknownFields(AGENT_STEP_FIELDS, options, "agent() step");
21
+ const use = options.use;
22
+ if (use === undefined || use === null || (typeof use === "string" && use.length === 0)) {
23
+ throw pipelineError("ASYNC_PIPELINE_AGENT_INVALID", 'agent() requires "use": the id of a profile declared in the pipeline\'s agents block, or env.var(...) selecting one at run time.');
24
+ }
25
+ if (typeof options.prompt !== "string" || options.prompt.length === 0) {
26
+ throw pipelineError("ASYNC_PIPELINE_AGENT_INVALID", 'agent() requires a non-empty "prompt" string.');
27
+ }
28
+ if (options.stdoutTo !== undefined) {
29
+ if (typeof options.stdoutTo !== "string" || options.stdoutTo.length === 0) {
30
+ throw pipelineError("ASYNC_PIPELINE_AGENT_INVALID", 'agent() "stdoutTo" must be a non-empty path string.');
31
+ }
32
+ if (options.stdoutTo.startsWith("/") || /^[A-Za-z]:[\\/]/.test(options.stdoutTo) || options.stdoutTo.split(/[\\/]+/).includes("..")) {
33
+ throw pipelineError("ASYNC_PIPELINE_AGENT_INVALID", 'agent() "stdoutTo" must be a relative path inside the task\'s working directory; absolute paths and ".." segments are rejected.');
34
+ }
35
+ }
36
+ const step = { kind: "agent", use, prompt: options.prompt };
37
+ if (options.model !== undefined)
38
+ step.model = options.model;
39
+ if (options.stdoutTo !== undefined)
40
+ step.stdoutTo = options.stdoutTo;
41
+ return step;
42
+ }
43
+ export function isAgentStep(step) {
44
+ return typeof step !== "function" && step.kind === "agent";
45
+ }
46
+ export function isResolvedAgentStep(step) {
47
+ return isAgentStep(step) && typeof step.use === "string" && typeof step.model === "string" && Array.isArray(step.command);
48
+ }
18
49
  export function task(definition, run) {
19
50
  if (definition.run !== undefined && run !== undefined) {
20
51
  throw pipelineError("ASYNC_PIPELINE_TASK_ARGUMENT_CONFLICT", "Do not pass a second task argument when config.run is defined.");
@@ -57,6 +88,32 @@ export const sandbox = {
57
88
  workdir: options.workdir,
58
89
  volumes: options.volumes ? options.volumes.map((volume) => ({ ...volume })) : undefined
59
90
  };
91
+ },
92
+ container(options) {
93
+ return {
94
+ kind: "container",
95
+ image: options.image,
96
+ workdir: options.workdir,
97
+ volumes: options.volumes ? options.volumes.map((volume) => ({ ...volume })) : undefined
98
+ };
99
+ }
100
+ };
101
+ export const execution = {
102
+ local(options = {}) {
103
+ return {
104
+ kind: "local",
105
+ sandbox: options.sandbox,
106
+ provider: options.provider
107
+ };
108
+ },
109
+ github(options) {
110
+ return {
111
+ kind: "github",
112
+ sandbox: options.sandbox,
113
+ provider: options.provider,
114
+ runsOn: options.runsOn ? cloneRunsOnEntry(options.runsOn) : undefined,
115
+ runsOnMatrix: options.runsOnMatrix ? options.runsOnMatrix.map(cloneRunsOnEntry) : undefined
116
+ };
60
117
  }
61
118
  };
62
119
  export const command = {
@@ -125,11 +182,14 @@ export const source = {
125
182
  return { ...definition, type: "path" };
126
183
  }
127
184
  };
128
- const PIPELINE_FIELDS = new Set(["name", "env", "commands", "sandboxes", "cache", "namedInputs", "taskDefaults", "triggers", "sync", "sources", "tasks", "jobs"]);
185
+ const PIPELINE_FIELDS = new Set(["name", "env", "commands", "agents", "sandboxes", "execution", "cache", "namedInputs", "taskDefaults", "triggers", "sync", "sources", "tasks", "jobs"]);
186
+ const AGENT_PROFILE_FIELDS = new Set(["command", "model"]);
129
187
  const TASK_FIELDS = new Set(["description", "dependsOn", "inputs", "outputs", "cache", "retry", "timeout", "requires", "run", "steps"]);
130
- const JOB_FIELDS = new Set(["description", "target", "trigger", "environment", "env", "requires", "github"]);
188
+ const JOB_FIELDS = new Set(["description", "target", "trigger", "environment", "env", "requires", "execution", "github"]);
189
+ const EXECUTION_PROFILE_FIELDS = new Set(["kind", "sandbox", "provider", "runsOn", "runsOnMatrix"]);
131
190
  const GITHUB_JOB_FIELDS = new Set(["environment", "permissions", "runsOn", "runsOnMatrix"]);
132
191
  const GITHUB_PERMISSION_FIELDS = new Set(["contents", "idToken", "issues", "packages", "pullRequests"]);
192
+ const CONTAINER_PROVIDERS = new Set(["auto", "docker", "apple-container", "lima"]);
133
193
  function rejectUnknownFields(known, value, where) {
134
194
  for (const key of Object.keys(value)) {
135
195
  if (!known.has(key)) {
@@ -144,12 +204,35 @@ function rejectUnknownFields(known, value, where) {
144
204
  */
145
205
  function validateDefinitionShape(definition) {
146
206
  rejectUnknownFields(PIPELINE_FIELDS, definition, "Pipeline");
207
+ for (const [id, profile] of Object.entries(definition.agents ?? {})) {
208
+ rejectUnknownFields(AGENT_PROFILE_FIELDS, profile, `Agent profile "${id}"`);
209
+ if (!Array.isArray(profile.command) || profile.command.length === 0 || profile.command.some((part) => typeof part !== "string" || part.length === 0)) {
210
+ throw pipelineError("ASYNC_PIPELINE_AGENT_INVALID", `Agent profile "${id}" requires "command": a non-empty array of argv strings (e.g. ["claude", "-p"]).`);
211
+ }
212
+ const model = profile.model;
213
+ const isEnvRef = typeof model === "object" && model !== null && model.kind === "async-pipeline.env.var";
214
+ if (!isEnvRef && (typeof model !== "string" || model.length === 0)) {
215
+ throw pipelineError("ASYNC_PIPELINE_AGENT_INVALID", `Agent profile "${id}" requires "model": a non-empty string or env.var(...). The model is the profile's cache identity; the command is deliberately not.`);
216
+ }
217
+ }
147
218
  for (const [id, taskDefinition] of Object.entries(definition.tasks ?? {})) {
148
219
  rejectUnknownFields(TASK_FIELDS, taskDefinition, `Task "${id}"`);
149
220
  }
150
221
  for (const [id, defaults] of Object.entries(definition.taskDefaults ?? {})) {
151
222
  rejectUnknownFields(TASK_FIELDS, defaults, `taskDefaults["${id}"]`);
152
223
  }
224
+ for (const [id, profile] of Object.entries(definition.execution ?? {})) {
225
+ rejectUnknownFields(EXECUTION_PROFILE_FIELDS, profile, `Execution profile "${id}"`);
226
+ if (profile.kind !== "local" && profile.kind !== "github") {
227
+ throw pipelineError("ASYNC_PIPELINE_EXECUTION_INVALID", `Execution profile "${id}" requires kind "local" or "github".`);
228
+ }
229
+ if (profile.provider !== undefined && !CONTAINER_PROVIDERS.has(profile.provider)) {
230
+ throw pipelineError("ASYNC_PIPELINE_EXECUTION_INVALID", `Execution profile "${id}" has unsupported provider "${profile.provider}". Use auto, docker, apple-container, or lima.`);
231
+ }
232
+ if (profile.kind === "local" && ("runsOn" in profile || "runsOnMatrix" in profile)) {
233
+ throw pipelineError("ASYNC_PIPELINE_EXECUTION_INVALID", `Execution profile "${id}" is local and cannot set GitHub runner fields. Use execution.github(...) for runsOn or runsOnMatrix.`);
234
+ }
235
+ }
153
236
  for (const [id, jobDefinition] of Object.entries(definition.jobs ?? {})) {
154
237
  rejectUnknownFields(JOB_FIELDS, jobDefinition, `Job "${id}"`);
155
238
  if (jobDefinition.github) {
@@ -211,7 +294,9 @@ export function normalizePipeline(definition) {
211
294
  name: definition.name,
212
295
  env: { ...(definition.env ?? {}) },
213
296
  commands: definition.commands ? normalizeCommandPolicy(definition.commands) : undefined,
297
+ agents: normalizeAgents(definition.agents),
214
298
  sandboxes: normalizeSandboxes(definition.sandboxes),
299
+ execution: normalizeExecutionProfiles(definition.execution),
215
300
  cache: cacheRegistry,
216
301
  namedInputs,
217
302
  triggers: definition.triggers ?? {},
@@ -226,6 +311,16 @@ export function normalizePipeline(definition) {
226
311
  function isDefaultOnlyEnvOptions(value) {
227
312
  return typeof value.default === "string";
228
313
  }
314
+ function normalizeAgents(definitions = {}) {
315
+ const normalized = {};
316
+ for (const [id, profile] of Object.entries(definitions)) {
317
+ normalized[id] = {
318
+ command: [...profile.command],
319
+ model: typeof profile.model === "string" ? profile.model : { ...profile.model }
320
+ };
321
+ }
322
+ return normalized;
323
+ }
229
324
  function normalizeSandboxes(definitions = {}) {
230
325
  const normalized = {};
231
326
  for (const [id, definition] of Object.entries(definitions)) {
@@ -233,11 +328,18 @@ function normalizeSandboxes(definitions = {}) {
233
328
  }
234
329
  return normalized;
235
330
  }
331
+ function normalizeExecutionProfiles(definitions = {}) {
332
+ const normalized = {};
333
+ for (const [id, definition] of Object.entries(definitions)) {
334
+ normalized[id] = cloneExecutionProfile(definition);
335
+ }
336
+ return normalized;
337
+ }
236
338
  function normalizeCommandPolicy(policy) {
237
339
  return command.policy(policy);
238
340
  }
239
341
  function cloneSandboxDefinition(definition) {
240
- if (definition.kind === "docker") {
342
+ if (definition.kind === "docker" || definition.kind === "container") {
241
343
  return {
242
344
  ...definition,
243
345
  volumes: definition.volumes ? definition.volumes.map((volume) => ({ ...volume })) : undefined
@@ -245,6 +347,19 @@ function cloneSandboxDefinition(definition) {
245
347
  }
246
348
  return { ...definition };
247
349
  }
350
+ function cloneExecutionProfile(definition) {
351
+ if (definition.kind === "github") {
352
+ return {
353
+ ...definition,
354
+ runsOn: definition.runsOn ? cloneRunsOnEntry(definition.runsOn) : undefined,
355
+ runsOnMatrix: definition.runsOnMatrix ? definition.runsOnMatrix.map(cloneRunsOnEntry) : undefined
356
+ };
357
+ }
358
+ return { ...definition };
359
+ }
360
+ function cloneRunsOnEntry(entry) {
361
+ return Array.isArray(entry) ? [...entry] : entry;
362
+ }
248
363
  function cloneCommandRule(rule) {
249
364
  return {
250
365
  exact: rule.exact ? [...rule.exact] : undefined,
@@ -279,7 +394,70 @@ function validateJobRunsOn(jobId, github) {
279
394
  }
280
395
  }
281
396
  }
397
+ function githubConfigFromExecution(profile) {
398
+ if (!profile || profile.kind !== "github")
399
+ return undefined;
400
+ return {
401
+ runsOn: profile.runsOn ? cloneRunsOnEntry(profile.runsOn) : undefined,
402
+ runsOnMatrix: profile.runsOnMatrix ? profile.runsOnMatrix.map(cloneRunsOnEntry) : undefined
403
+ };
404
+ }
405
+ export function githubConfigForJob(pipeline, jobDefinition) {
406
+ const profileGithub = githubConfigFromExecution(jobDefinition.execution ? pipeline.execution[jobDefinition.execution] : undefined);
407
+ if (!profileGithub && !jobDefinition.github)
408
+ return undefined;
409
+ return {
410
+ ...profileGithub,
411
+ ...jobDefinition.github
412
+ };
413
+ }
414
+ function validateExecutionProfiles(pipeline) {
415
+ for (const [id, profile] of Object.entries(pipeline.execution)) {
416
+ if (profile.sandbox !== undefined) {
417
+ const sandboxDefinition = pipeline.sandboxes[profile.sandbox];
418
+ if (!sandboxDefinition) {
419
+ throw pipelineError("ASYNC_PIPELINE_EXECUTION_UNKNOWN_SANDBOX", `Execution profile "${id}" references unknown sandbox "${profile.sandbox}". Declare it under sandboxes.`);
420
+ }
421
+ if (profile.provider !== undefined && sandboxDefinition.kind !== "container") {
422
+ throw pipelineError("ASYNC_PIPELINE_EXECUTION_PROVIDER_MISMATCH", `Execution profile "${id}" sets provider "${profile.provider}", but providers only apply to sandbox.container(...) definitions.`);
423
+ }
424
+ }
425
+ else if (profile.provider !== undefined) {
426
+ throw pipelineError("ASYNC_PIPELINE_EXECUTION_PROVIDER_MISMATCH", `Execution profile "${id}" sets provider "${profile.provider}" without a sandbox.`);
427
+ }
428
+ if (profile.kind === "github") {
429
+ validateJobRunsOn(`execution:${id}`, githubConfigFromExecution(profile));
430
+ }
431
+ }
432
+ }
433
+ function validateJobExecution(pipeline, jobDefinition) {
434
+ if (!jobDefinition.execution)
435
+ return;
436
+ const profile = pipeline.execution[jobDefinition.execution];
437
+ if (!profile) {
438
+ throw pipelineError("ASYNC_PIPELINE_EXECUTION_UNKNOWN", `Job "${jobDefinition.id}" references unknown execution profile "${jobDefinition.execution}". Declare it under execution.`);
439
+ }
440
+ const effectiveGithub = githubConfigForJob(pipeline, jobDefinition);
441
+ validateJobRunsOn(jobDefinition.id, effectiveGithub);
442
+ if (profile.kind === "github" && profile.provider === "apple-container") {
443
+ validateAppleContainerRunsOn(jobDefinition.id, effectiveGithub);
444
+ }
445
+ }
446
+ function validateAppleContainerRunsOn(jobId, github) {
447
+ const entries = github?.runsOnMatrix ?? (github?.runsOn ? [github.runsOn] : []);
448
+ if (entries.length === 0) {
449
+ throw pipelineError("ASYNC_PIPELINE_EXECUTION_RUNNER_UNSUPPORTED", `Job "${jobId}" uses provider "apple-container", which requires an explicit self-hosted macOS runner label set.`);
450
+ }
451
+ for (const entry of entries) {
452
+ const labels = Array.isArray(entry) ? entry : [entry];
453
+ const normalized = labels.map((label) => label.toLowerCase());
454
+ if (!Array.isArray(entry) || !normalized.includes("self-hosted") || !normalized.includes("macos")) {
455
+ throw pipelineError("ASYNC_PIPELINE_EXECUTION_RUNNER_UNSUPPORTED", `Job "${jobId}" uses provider "apple-container", which requires a self-hosted macOS runner label set.`);
456
+ }
457
+ }
458
+ }
282
459
  export function validatePipeline(pipeline) {
460
+ validateExecutionProfiles(pipeline);
283
461
  for (const taskDefinition of Object.values(pipeline.tasks)) {
284
462
  for (const dependency of taskDefinition.dependsOn) {
285
463
  if (!pipeline.tasks[dependency] && !isKnownExternalTaskRef(pipeline, dependency)) {
@@ -289,6 +467,14 @@ export function validatePipeline(pipeline) {
289
467
  if (taskDefinition.cache.enabled && taskDefinition.cache.store) {
290
468
  assertCacheStore(pipeline.cache, parseCacheRef(cacheRefFromStoreOptions(taskDefinition.cache, pipeline.cache.default)));
291
469
  }
470
+ for (const step of taskDefinition.steps) {
471
+ if (!isAgentStep(step) || typeof step.use !== "string")
472
+ continue;
473
+ if (!pipeline.agents[step.use]) {
474
+ const known = Object.keys(pipeline.agents).sort();
475
+ throw pipelineError("ASYNC_PIPELINE_AGENT_UNKNOWN", `Task "${taskDefinition.id}" uses agent profile "${step.use}", which is not declared in the pipeline's agents block.${known.length > 0 ? ` Known profiles: ${known.join(", ")}.` : " No agent profiles are declared."}`);
476
+ }
477
+ }
292
478
  }
293
479
  for (const jobDefinition of Object.values(pipeline.jobs)) {
294
480
  for (const target of jobDefinition.target) {
@@ -301,7 +487,9 @@ export function validatePipeline(pipeline) {
301
487
  throw new Error(`Job "${jobDefinition.id}" references missing trigger "${triggerId}".`);
302
488
  }
303
489
  }
304
- validateJobRunsOn(jobDefinition.id, jobDefinition.github);
490
+ validateJobExecution(pipeline, jobDefinition);
491
+ if (!jobDefinition.execution)
492
+ validateJobRunsOn(jobDefinition.id, jobDefinition.github);
305
493
  }
306
494
  validateSyncConfig(pipeline);
307
495
  // Fail fast on named-input cycles at definePipeline time instead of