@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.
- package/dist/internal/core/index.d.ts +76 -3
- package/dist/internal/core/index.d.ts.map +1 -1
- package/dist/internal/core/index.js +192 -4
- package/dist/internal/core/index.js.map +1 -1
- package/dist/internal/node/cli.d.ts.map +1 -1
- package/dist/internal/node/cli.js +149 -15
- package/dist/internal/node/cli.js.map +1 -1
- package/dist/internal/node/doctor.d.ts +2 -1
- package/dist/internal/node/doctor.d.ts.map +1 -1
- package/dist/internal/node/doctor.js +27 -1
- package/dist/internal/node/doctor.js.map +1 -1
- package/dist/internal/node/github.d.ts +2 -1
- package/dist/internal/node/github.d.ts.map +1 -1
- package/dist/internal/node/github.js +4 -3
- package/dist/internal/node/github.js.map +1 -1
- package/dist/internal/node/index.d.ts +1 -0
- package/dist/internal/node/index.d.ts.map +1 -1
- package/dist/internal/node/index.js +1 -0
- package/dist/internal/node/index.js.map +1 -1
- package/dist/internal/node/mcp.d.ts +16 -0
- package/dist/internal/node/mcp.d.ts.map +1 -0
- package/dist/internal/node/mcp.js +243 -0
- package/dist/internal/node/mcp.js.map +1 -0
- package/dist/internal/node/runner.d.ts +18 -2
- package/dist/internal/node/runner.d.ts.map +1 -1
- package/dist/internal/node/runner.js +284 -12
- package/dist/internal/node/runner.js.map +1 -1
- package/dist/internal/node/sources.js +1 -1
- package/dist/internal/node/sources.js.map +1 -1
- package/dist/internal/node/store.d.ts +64 -0
- package/dist/internal/node/store.d.ts.map +1 -1
- package/dist/internal/node/store.js +171 -3
- package/dist/internal/node/store.js.map +1 -1
- 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
|
|
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":"AAAA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EAExB,MAAM,YAAY,CAAC;AAGpB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAE5B,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAC5B,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAC3B,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC9B,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACxC,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;AACxC,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,IAAI,CAAC;AAC5C,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC3D,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC5F,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC/C,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;AACzD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;AACnE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,iBAAiB,GAAG,MAAM,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAEzG,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,2BAA2B,CAAC;CACtC;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7E,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,oBAAoB,GAAG,SAAS,GAAG,eAAe,CAAC;AAEzF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACvE,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,EAAE,EAAE,OAAO,EAAE,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,iBAAiB,GACzB,qBAAqB,GACrB,qBAAqB,GACrB,uBAAuB,GACvB,0BAA0B,CAAC;AAE/B,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;CACzC;AAED,MAAM,MAAM,0BAA0B,GAClC,+BAA+B,GAC/B,gCAAgC,CAAC;AAErC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,8BAA8B,CAAC;IAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAAE,GACtE;IAAE,IAAI,EAAE,6BAA6B,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAAE,GACvF;IAAE,IAAI,EAAE,6BAA6B,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAAE,GACtH;IAAE,IAAI,EAAE,wCAAwC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAAE,GAClG;IAAE,IAAI,EAAE,2CAA2C,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAEtG,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,2BAA2B,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,wBAAwB,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,gFAAgF;IAChF,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,2FAA2F;IAC3F,GAAG,EAAE,cAAc,GAAG,SAAS,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,8HAA8H;AAC9H,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,GAAG,EAAE,cAAc,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAC5C,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC;AAC7C,MAAM,MAAM,kBAAkB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAC1H,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,kBAAkB,EAAE,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,GAAG,UAAU,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,cAAc,CAAC;AAErD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,GAAG,UAAU,EAAE,CAAC;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,0BAA0B,CAAC;IACnC,KAAK,EAAE,wBAAwB,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,gBAAgB,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;AACnD,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,SAAS,WAAW,EAAE,CAAC;AAErE,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,GAAG,KAAK,CAAC;IACzF,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GACxB,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,UAAU,CAAC,GAAG;IACrD,EAAE,EAAE,QAAQ,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,QAAQ,EAAE,CAAC;CACrB,CAAC,GACA,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,UAAU,CAAC,GAAG;IACtD,EAAE,EAAE,QAAQ,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,QAAQ,EAAE,CAAC;CACrB,CAAC,CAAC;AAEL,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC9E,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QAC3B,+DAA+D;QAC/D,MAAM,CAAC,EAAE,gBAAgB,CAAC;QAC1B,8EAA8E;QAC9E,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAC5B,2EAA2E;QAC3E,YAAY,CAAC,EAAE,gBAAgB,CAAC;KACjC,CAAC;IACF;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,CAAC;IACnE,KAAK,CAAC,EAAE,QAAQ,GAAG,uBAAuB,GAAG,kBAAkB,GAAG,KAAK,CAAC;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAChD,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;IACvD,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,CAAC;IAClE,KAAK,EAAE,uBAAuB,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC/C,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxC,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED,wBAAgB,EAAE,CAAC,OAAO,EAAE,2BAA2B,GAAG,oBAAoB,CAAC;AAC/E,wBAAgB,EAAE,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;AAkBtF,wBAAgB,KAAK,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,cAAc,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CA2B5I;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,IAAI,SAAS,CAE7D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,IAAI,iBAAiB,CAE7E;AAED,wBAAgB,IAAI,CAAC,UAAU,EAAE,cAAc,GAAG,cAAc,CAAC;AACjE,wBAAgB,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,GAAG,cAAc,CAAC;AAQzF,wBAAgB,GAAG,CAAC,UAAU,EAAE,aAAa,GAAG,aAAa,CAE5D;AAED,iBAAS,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;AACzC,iBAAS,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC;AACvE,iBAAS,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC;AAc5F,eAAO,MAAM,GAAG;iBACD,MAAM,GAAG,YAAY;;CAInC,CAAC;AAEF,eAAO,MAAM,OAAO;YACV,qBAAqB;mBAGf,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAAQ,qBAAqB;oBAG9D,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,GAAG,uBAAuB;uBAQ5D,IAAI,CAAC,0BAA0B,EAAE,MAAM,CAAC,GAAG,0BAA0B;CAQzF,CAAC;AAEF,eAAO,MAAM,SAAS;oBACL,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC,GAAQ,+BAA+B;oBAOnF,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC,GAAG,gCAAgC;CASlG,CAAC;AAEF,eAAO,MAAM,OAAO;qBACF,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,WAAW,EAAE,CAAA;KAAE,GAAQ,aAAa;kBAS/E,WAAW,GAAG,WAAW;oBAGxB;QAAE,MAAM,CAAC,EAAE,mBAAmB,CAAA;KAAE,GAAQ,aAAa;mBAGtD;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;KAAE,GAAQ,aAAa;mBAGvE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;KAAE,GAAQ,aAAa;8BAS3F;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;KAAE,GAAQ,aAAa;gCAGpE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;KAAE,GAAG,aAAa;CAG3F,CAAC;AAEF,eAAO,MAAM,OAAO;cACR,iBAAiB;oBAGX;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,iBAAiB;eASrG,MAAM,YAAW;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAQ,iBAAiB;mBAG3D,MAAM,GAAG,iBAAiB;CAG1C,CAAC;AAEF,wBAAgB,SAAS,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAElE;AAED,eAAO,MAAM,MAAM;oBACD,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,mBAAmB;qBAGtD,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,GAAG,oBAAoB;CAG3E,CAAC;AAoFF,wBAAgB,cAAc,CAAC,UAAU,EAAE,kBAAkB,GAAG,kBAAkB,CAEjF;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,GAAG,kBAAkB,CAoEpF;AAoHD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,GAAG,eAAe,GAAG,SAAS,CAO1H;AAkED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CA+CnE;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,kBAAkB,EACxB,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,qBAAqB,CAAC,GACvD,kBAAkB,CA0CpB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAO3D;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAI3E;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,aAAa,CAoD1F;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,GAAG,aAAa,CAMrF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAErF"}
|
|
@@ -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
|
-
|
|
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
|