@async/pipeline 0.1.3 → 0.1.5

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 (38) hide show
  1. package/README.md +3 -3
  2. package/dist/internal/core/cache.d.ts +4 -3
  3. package/dist/internal/core/cache.d.ts.map +1 -1
  4. package/dist/internal/core/cache.js +15 -9
  5. package/dist/internal/core/cache.js.map +1 -1
  6. package/dist/internal/core/index.d.ts +120 -3
  7. package/dist/internal/core/index.d.ts.map +1 -1
  8. package/dist/internal/core/index.js +104 -10
  9. package/dist/internal/core/index.js.map +1 -1
  10. package/dist/internal/core/runtime.js +1 -1
  11. package/dist/internal/core/runtime.js.map +1 -1
  12. package/dist/internal/lima/index.d.ts +1 -14
  13. package/dist/internal/lima/index.d.ts.map +1 -1
  14. package/dist/internal/lima/index.js +1 -64
  15. package/dist/internal/lima/index.js.map +1 -1
  16. package/dist/internal/node/cli.d.ts +9 -1
  17. package/dist/internal/node/cli.d.ts.map +1 -1
  18. package/dist/internal/node/cli.js +279 -172
  19. package/dist/internal/node/cli.js.map +1 -1
  20. package/dist/internal/node/doctor.js +2 -2
  21. package/dist/internal/node/doctor.js.map +1 -1
  22. package/dist/internal/node/github.d.ts +3 -1
  23. package/dist/internal/node/github.d.ts.map +1 -1
  24. package/dist/internal/node/github.js +31 -9
  25. package/dist/internal/node/github.js.map +1 -1
  26. package/dist/internal/node/index.d.ts +1 -0
  27. package/dist/internal/node/index.d.ts.map +1 -1
  28. package/dist/internal/node/index.js +1 -0
  29. package/dist/internal/node/index.js.map +1 -1
  30. package/dist/internal/node/runner.d.ts +98 -7
  31. package/dist/internal/node/runner.d.ts.map +1 -1
  32. package/dist/internal/node/runner.js +400 -73
  33. package/dist/internal/node/runner.js.map +1 -1
  34. package/dist/internal/node/store.d.ts +29 -5
  35. package/dist/internal/node/store.d.ts.map +1 -1
  36. package/dist/internal/node/store.js +225 -20
  37. package/dist/internal/node/store.js.map +1 -1
  38. package/package.json +1 -1
package/README.md CHANGED
@@ -17,7 +17,7 @@ import { definePipeline, job, sh, task, trigger } from "@async/pipeline";
17
17
 
18
18
  export default definePipeline({
19
19
  name: "app",
20
- cache: "file:cache-first",
20
+ cache: "file:local",
21
21
  triggers: {
22
22
  pr: trigger.github({ events: ["pull_request"] }),
23
23
  main: trigger.github({ events: ["push"], branches: ["main"] })
@@ -25,13 +25,13 @@ export default definePipeline({
25
25
  tasks: {
26
26
  typecheck: task({
27
27
  inputs: ["src/**/*.ts", "package.json", "pnpm-lock.yaml"],
28
- cache: "file:cache-first",
28
+ cache: "file:local",
29
29
  run: sh`pnpm typecheck`
30
30
  }),
31
31
  test: task({
32
32
  dependsOn: ["typecheck"],
33
33
  inputs: ["src/**/*.ts", "tests/**/*.ts", "package.json"],
34
- cache: "file:cache-first",
34
+ cache: "file:local",
35
35
  run: sh`pnpm test`
36
36
  })
37
37
  },
@@ -1,5 +1,5 @@
1
- export type CacheStrategy = "cache-first";
2
- export type CacheRef = `${string}:${CacheStrategy}` | string;
1
+ export type CachePolicy = "local" | "session";
2
+ export type CacheRef = `${string}:${CachePolicy}` | string;
3
3
  export interface CacheStoreDefinition {
4
4
  kind: "cache-store";
5
5
  type: "memory" | "file" | "custom";
@@ -28,7 +28,7 @@ export interface CacheRegistryDefinition {
28
28
  export interface ParsedCacheRef {
29
29
  ref: CacheRef;
30
30
  store: string;
31
- strategy: CacheStrategy;
31
+ policy: CachePolicy;
32
32
  }
33
33
  export declare function memoryCache(): CacheStoreDefinition;
34
34
  export declare function fileCache(options?: {
@@ -44,4 +44,5 @@ export declare function parseCacheRef(ref: CacheRef): ParsedCacheRef;
44
44
  export declare function isCacheDirective(value: unknown): value is CacheDirective;
45
45
  export declare function assertCacheStore(registry: CacheRegistryDefinition, ref: ParsedCacheRef): void;
46
46
  export declare function mergeWithDefaultCacheStores(registry: CacheRegistryDefinition): CacheRegistryDefinition;
47
+ export declare function defaultCachePolicyForStore(store: string): CachePolicy;
47
48
  //# sourceMappingURL=cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC;AAC1C,MAAM,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,aAAa,EAAE,GAAG,MAAM,CAAC;AAE7D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,gCAAgC,CAAC;IACvC,GAAG,EAAE,QAAQ,CAAC;IACd,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC7C,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC;CAChE;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,CAAC;CACzB;AAID,wBAAgB,WAAW,IAAI,oBAAoB,CAElD;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,oBAAoB,CAE/E;AAED,wBAAgB,WAAW,CAAC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,oBAAoB,CAEtF;AAED,wBAAgB,UAAU,CAAC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,oBAAoB,CAErF;AAED,wBAAgB,WAAW,CAAC,KAAK,GAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAM,GAAG,uBAAuB,CAQ1H;AAED,wBAAgB,oBAAoB,IAAI,uBAAuB,CAK9D;AAED,wBAAgB,mBAAmB,IAAI,uBAAuB,CAK7D;AAED,eAAO,MAAM,KAAK,yBAAyB,CAAC;AAE5C,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,cAAc,CAS3D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAIxE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,uBAAuB,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAQ7F;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,uBAAuB,CAMtG"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;AAC9C,MAAM,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,WAAW,EAAE,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,gCAAgC,CAAC;IACvC,GAAG,EAAE,QAAQ,CAAC;IACd,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC7C,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC;CAChE;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;CACrB;AAID,wBAAgB,WAAW,IAAI,oBAAoB,CAElD;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,oBAAoB,CAE/E;AAED,wBAAgB,WAAW,CAAC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,oBAAoB,CAEtF;AAED,wBAAgB,UAAU,CAAC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,oBAAoB,CAErF;AAED,wBAAgB,WAAW,CAAC,KAAK,GAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAM,GAAG,uBAAuB,CAQ1H;AAED,wBAAgB,oBAAoB,IAAI,uBAAuB,CAK9D;AAED,wBAAgB,mBAAmB,IAAI,uBAAuB,CAK7D;AAED,eAAO,MAAM,KAAK,yBAAyB,CAAC;AAE5C,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,cAAc,CAY3D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAIxE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,uBAAuB,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAQ7F;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,uBAAuB,CAMtG;AAiBD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAErE"}
@@ -1,5 +1,5 @@
1
1
  import { pipelineError } from "./errors.js";
2
- const knownStrategies = new Set(["cache-first"]);
2
+ const knownPolicies = new Set(["local", "session"]);
3
3
  export function memoryCache() {
4
4
  return { kind: "cache-store", type: "memory" };
5
5
  }
@@ -17,31 +17,34 @@ export function defineCache(input = {}) {
17
17
  const stores = hasStoresEnvelope
18
18
  ? { ...(input.stores ?? {}) }
19
19
  : { ...input };
20
- const defaultRef = hasStoresEnvelope ? (input.default ?? "memory:cache-first") : "memory:cache-first";
20
+ const defaultRef = hasStoresEnvelope ? (input.default ?? "memory:session") : "memory:session";
21
21
  return makeCacheRegistry(defaultRef, stores);
22
22
  }
23
23
  export function defaultPipelineCache() {
24
- return makeCacheRegistry("file:cache-first", {
24
+ return makeCacheRegistry("file:local", {
25
25
  memory: memoryCache(),
26
26
  file: fileCache({ root: ".async/cache/tasks" })
27
27
  });
28
28
  }
29
29
  export function defaultRuntimeCache() {
30
- return makeCacheRegistry("memory:cache-first", {
30
+ return makeCacheRegistry("memory:session", {
31
31
  memory: memoryCache(),
32
32
  file: fileCache({ root: ".async/cache/runtime" })
33
33
  });
34
34
  }
35
35
  export const cache = defaultPipelineCache();
36
36
  export function parseCacheRef(ref) {
37
- const [store, strategy = "cache-first", extra] = String(ref).split(":");
37
+ const parts = String(ref).split(":");
38
+ const store = parts[0] ?? "";
39
+ const policyToken = parts[1] ?? defaultCachePolicyForStore(store);
40
+ const extra = parts[2];
38
41
  if (!store || extra !== undefined) {
39
- throw pipelineError("ASYNC_PIPELINE_INVALID_CACHE_REF", `Invalid cache reference "${ref}". Use "store:strategy".`, { ref });
42
+ throw pipelineError("ASYNC_PIPELINE_INVALID_CACHE_REF", `Invalid cache reference "${ref}". Use "store:policy".`, { ref });
40
43
  }
41
- if (!knownStrategies.has(strategy)) {
42
- throw pipelineError("ASYNC_PIPELINE_UNKNOWN_CACHE_STRATEGY", `Unknown cache strategy "${strategy}" in "${ref}".`, { ref, strategy });
44
+ if (knownPolicies.has(policyToken)) {
45
+ return { ref, store, policy: policyToken };
43
46
  }
44
- return { ref, store, strategy: strategy };
47
+ throw pipelineError("ASYNC_PIPELINE_UNKNOWN_CACHE_POLICY", `Unknown cache policy "${policyToken}" in "${ref}".`, { ref, policy: policyToken });
45
48
  }
46
49
  export function isCacheDirective(value) {
47
50
  return Boolean(value)
@@ -78,4 +81,7 @@ function makeCacheRegistry(defaultRef, stores) {
78
81
  }
79
82
  };
80
83
  }
84
+ export function defaultCachePolicyForStore(store) {
85
+ return store === "memory" ? "session" : "local";
86
+ }
81
87
  //# sourceMappingURL=cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { type CacheDirective, type CacheRef, type CacheRegistryDefinition, type CacheRegistryInput } from "./cache.js";
1
+ import { type CacheDirective, type CachePolicy, type CacheRef, type CacheRegistryDefinition, type CacheRegistryInput } from "./cache.js";
2
2
  export * from "./cache.js";
3
3
  export * from "./errors.js";
4
4
  export type TaskId = string;
5
5
  export type JobId = string;
6
6
  export type TriggerId = string;
7
7
  export type SourceId = string;
8
+ export type WorkspaceId = string;
8
9
  export type SourceType = "git" | "path";
9
10
  export type EnvironmentBackend = "host" | "lima";
10
11
  export type ExecutionMode = "manual" | "ci";
@@ -12,6 +13,7 @@ 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;
16
+ export type WorkspaceKind = "host" | "lima" | "docker" | "memory" | "ssh" | "github";
15
17
  export interface ShellCommand {
16
18
  kind: "shell";
17
19
  command: string;
@@ -64,7 +66,7 @@ export interface TaskCacheOptions {
64
66
  directories?: CacheDirectory[];
65
67
  ref?: CacheRef;
66
68
  store?: string;
67
- strategy?: "cache-first";
69
+ policy?: CachePolicy;
68
70
  ttlMs?: number;
69
71
  key?: unknown;
70
72
  }
@@ -78,6 +80,81 @@ export interface PipelineEnvironment {
78
80
  vm?: string;
79
81
  image?: string;
80
82
  }
83
+ export type JobEnvironment = string | {
84
+ name: string;
85
+ url?: string;
86
+ };
87
+ export interface JobRequirements {
88
+ provenance?: boolean;
89
+ }
90
+ export interface WorkspaceVolume {
91
+ source: string;
92
+ target: string;
93
+ readonly?: boolean;
94
+ }
95
+ export interface HostWorkspaceDefinition {
96
+ kind: "host";
97
+ }
98
+ export interface LimaWorkspaceDefinition {
99
+ kind: "lima";
100
+ vm?: string;
101
+ }
102
+ export interface DockerWorkspaceDefinition {
103
+ kind: "docker";
104
+ image: string;
105
+ workdir?: string;
106
+ volumes?: WorkspaceVolume[];
107
+ }
108
+ export interface MemoryWorkspaceDefinition {
109
+ kind: "memory";
110
+ }
111
+ export interface SshWorkspaceDefinition {
112
+ kind: "ssh";
113
+ host: string;
114
+ cwd?: string;
115
+ }
116
+ export interface GitHubWorkspaceDefinition {
117
+ kind: "github";
118
+ }
119
+ export type WorkspaceDefinition = HostWorkspaceDefinition | LimaWorkspaceDefinition | DockerWorkspaceDefinition | MemoryWorkspaceDefinition | SshWorkspaceDefinition | GitHubWorkspaceDefinition;
120
+ export interface CommandOutputPolicy {
121
+ maxBytes?: number;
122
+ redactSecrets?: boolean;
123
+ }
124
+ export type CommandAction = {
125
+ kind: "async-pipeline.command.allow";
126
+ output?: CommandOutputPolicy;
127
+ } | {
128
+ kind: "async-pipeline.command.deny";
129
+ message?: string;
130
+ output?: CommandOutputPolicy;
131
+ } | {
132
+ kind: "async-pipeline.command.mock";
133
+ code?: number;
134
+ stdout?: string;
135
+ stderr?: string;
136
+ output?: CommandOutputPolicy;
137
+ } | {
138
+ kind: "async-pipeline.command.requireApproval";
139
+ message?: string;
140
+ output?: CommandOutputPolicy;
141
+ } | {
142
+ kind: "async-pipeline.command.requireEnvironment";
143
+ name: string;
144
+ output?: CommandOutputPolicy;
145
+ };
146
+ export interface CommandRule {
147
+ exact?: string[];
148
+ prefix?: string[];
149
+ action: CommandAction;
150
+ }
151
+ export interface CommandPolicy {
152
+ rules: CommandRule[];
153
+ fallback?: CommandAction;
154
+ record?: boolean;
155
+ output?: CommandOutputPolicy;
156
+ shims?: string[];
157
+ }
81
158
  export interface EnvSecretRef {
82
159
  kind: "async-pipeline.env.secret";
83
160
  name: string;
@@ -204,8 +281,9 @@ export interface JobDefinition {
204
281
  description?: string;
205
282
  target: TaskId | TaskId[];
206
283
  trigger?: TriggerId[];
207
- mode?: ExecutionMode;
284
+ environment?: JobEnvironment;
208
285
  env?: Record<string, EnvValue>;
286
+ requires?: JobRequirements;
209
287
  github?: GitHubJobConfig;
210
288
  }
211
289
  export interface NormalizedJob extends Omit<JobDefinition, "target" | "trigger"> {
@@ -224,6 +302,8 @@ export interface GitHubJobConfig {
224
302
  export interface PipelineDefinition {
225
303
  name: string;
226
304
  env?: Record<string, EnvValue>;
305
+ commands?: CommandPolicy;
306
+ workspaces?: Record<WorkspaceId, WorkspaceDefinition>;
227
307
  cache?: CacheRef | CacheRegistryDefinition | CacheRegistryInput | false;
228
308
  namedInputs?: Record<string, string[]>;
229
309
  taskDefaults?: Record<string, Partial<TaskDefinition>>;
@@ -236,6 +316,8 @@ export interface PipelineDefinition {
236
316
  export interface NormalizedPipeline {
237
317
  name: string;
238
318
  env: Record<string, EnvValue>;
319
+ commands?: CommandPolicy;
320
+ workspaces: Record<WorkspaceId, WorkspaceDefinition>;
239
321
  cache: CacheRegistryDefinition;
240
322
  namedInputs: Record<string, string[]>;
241
323
  triggers: Record<TriggerId, TriggerDefinition>;
@@ -313,6 +395,41 @@ export declare const env: {
313
395
  secret(name: string): EnvSecretRef;
314
396
  var: typeof envVar;
315
397
  };
398
+ export declare const workspace: {
399
+ host(): HostWorkspaceDefinition;
400
+ lima(options?: Omit<LimaWorkspaceDefinition, "kind">): LimaWorkspaceDefinition;
401
+ docker(options: Omit<DockerWorkspaceDefinition, "kind">): DockerWorkspaceDefinition;
402
+ memory(): MemoryWorkspaceDefinition;
403
+ ssh(options: Omit<SshWorkspaceDefinition, "kind">): SshWorkspaceDefinition;
404
+ github(): GitHubWorkspaceDefinition;
405
+ };
406
+ export declare const command: {
407
+ policy(options?: Omit<CommandPolicy, "rules"> & {
408
+ rules?: CommandRule[];
409
+ }): CommandPolicy;
410
+ rule(options: CommandRule): CommandRule;
411
+ allow(options?: {
412
+ output?: CommandOutputPolicy;
413
+ }): CommandAction;
414
+ deny(options?: {
415
+ message?: string;
416
+ output?: CommandOutputPolicy;
417
+ }): CommandAction;
418
+ mock(options?: {
419
+ code?: number;
420
+ stdout?: string;
421
+ stderr?: string;
422
+ output?: CommandOutputPolicy;
423
+ }): CommandAction;
424
+ requireApproval(options?: {
425
+ message?: string;
426
+ output?: CommandOutputPolicy;
427
+ }): CommandAction;
428
+ requireEnvironment(options: {
429
+ name: string;
430
+ output?: CommandOutputPolicy;
431
+ }): CommandAction;
432
+ };
316
433
  export declare const trigger: {
317
434
  manual(): TriggerDefinition;
318
435
  github(options: {
@@ -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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"}
@@ -43,6 +43,66 @@ export const env = {
43
43
  },
44
44
  var: envVar
45
45
  };
46
+ export const workspace = {
47
+ host() {
48
+ return { kind: "host" };
49
+ },
50
+ lima(options = {}) {
51
+ return { kind: "lima", vm: options.vm };
52
+ },
53
+ docker(options) {
54
+ return {
55
+ kind: "docker",
56
+ image: options.image,
57
+ workdir: options.workdir,
58
+ volumes: options.volumes ? options.volumes.map((volume) => ({ ...volume })) : undefined
59
+ };
60
+ },
61
+ memory() {
62
+ return { kind: "memory" };
63
+ },
64
+ ssh(options) {
65
+ return { kind: "ssh", host: options.host, cwd: options.cwd };
66
+ },
67
+ github() {
68
+ return { kind: "github" };
69
+ }
70
+ };
71
+ export const command = {
72
+ policy(options = {}) {
73
+ return {
74
+ rules: options.rules ? options.rules.map(cloneCommandRule) : [],
75
+ fallback: options.fallback ? cloneCommandAction(options.fallback) : undefined,
76
+ record: options.record,
77
+ output: options.output ? { ...options.output } : undefined,
78
+ shims: options.shims ? [...options.shims] : undefined
79
+ };
80
+ },
81
+ rule(options) {
82
+ return cloneCommandRule(options);
83
+ },
84
+ allow(options = {}) {
85
+ return { kind: "async-pipeline.command.allow", output: options.output ? { ...options.output } : undefined };
86
+ },
87
+ deny(options = {}) {
88
+ return { kind: "async-pipeline.command.deny", message: options.message, output: options.output ? { ...options.output } : undefined };
89
+ },
90
+ mock(options = {}) {
91
+ return {
92
+ kind: "async-pipeline.command.mock",
93
+ code: options.code,
94
+ stdout: options.stdout,
95
+ stderr: options.stderr,
96
+ output: options.output ? { ...options.output } : undefined
97
+ };
98
+ },
99
+ requireApproval(options = {}) {
100
+ return { kind: "async-pipeline.command.requireApproval", message: options.message, output: options.output ? { ...options.output } : undefined };
101
+ },
102
+ requireEnvironment(options) {
103
+ return { kind: "async-pipeline.command.requireEnvironment", name: options.name, output: options.output ? { ...options.output } : undefined };
104
+ }
105
+ };
46
106
  export const trigger = {
47
107
  manual() {
48
108
  return { type: "manual" };
@@ -126,6 +186,8 @@ export function normalizePipeline(definition) {
126
186
  const pipeline = {
127
187
  name: definition.name,
128
188
  env: { ...(definition.env ?? {}) },
189
+ commands: definition.commands ? normalizeCommandPolicy(definition.commands) : undefined,
190
+ workspaces: normalizeWorkspaces(definition.workspaces),
129
191
  cache: cacheRegistry,
130
192
  namedInputs,
131
193
  triggers: definition.triggers ?? {},
@@ -140,6 +202,35 @@ export function normalizePipeline(definition) {
140
202
  function isDefaultOnlyEnvOptions(value) {
141
203
  return typeof value.default === "string";
142
204
  }
205
+ function normalizeWorkspaces(definitions = {}) {
206
+ const normalized = {};
207
+ for (const [id, definition] of Object.entries(definitions)) {
208
+ normalized[id] = cloneWorkspaceDefinition(definition);
209
+ }
210
+ return normalized;
211
+ }
212
+ function normalizeCommandPolicy(policy) {
213
+ return command.policy(policy);
214
+ }
215
+ function cloneWorkspaceDefinition(definition) {
216
+ if (definition.kind === "docker") {
217
+ return {
218
+ ...definition,
219
+ volumes: definition.volumes ? definition.volumes.map((volume) => ({ ...volume })) : undefined
220
+ };
221
+ }
222
+ return { ...definition };
223
+ }
224
+ function cloneCommandRule(rule) {
225
+ return {
226
+ exact: rule.exact ? [...rule.exact] : undefined,
227
+ prefix: rule.prefix ? [...rule.prefix] : undefined,
228
+ action: cloneCommandAction(rule.action)
229
+ };
230
+ }
231
+ function cloneCommandAction(action) {
232
+ return { ...action, output: action.output ? { ...action.output } : undefined };
233
+ }
143
234
  export function validatePipeline(pipeline) {
144
235
  for (const taskDefinition of Object.values(pipeline.tasks)) {
145
236
  for (const dependency of taskDefinition.dependsOn) {
@@ -153,11 +244,7 @@ export function validatePipeline(pipeline) {
153
244
  }
154
245
  }
155
246
  if (taskDefinition.cache.enabled && taskDefinition.cache.store) {
156
- assertCacheStore(pipeline.cache, {
157
- ref: taskDefinition.cache.ref ?? `${taskDefinition.cache.store}:${taskDefinition.cache.strategy ?? "cache-first"}`,
158
- store: taskDefinition.cache.store,
159
- strategy: taskDefinition.cache.strategy ?? "cache-first"
160
- });
247
+ assertCacheStore(pipeline.cache, parseCacheRef(cacheRefFromStoreOptions(taskDefinition.cache, pipeline.cache.default)));
161
248
  }
162
249
  }
163
250
  for (const jobDefinition of Object.values(pipeline.jobs)) {
@@ -487,7 +574,7 @@ function normalizeCache(cache, registry) {
487
574
  directories: [],
488
575
  ref: parsed.ref,
489
576
  store: parsed.store,
490
- strategy: parsed.strategy,
577
+ policy: parsed.policy,
491
578
  ttlMs: cache.options?.ttlMs,
492
579
  key: cache.options?.key
493
580
  };
@@ -495,16 +582,16 @@ function normalizeCache(cache, registry) {
495
582
  if (cache === true) {
496
583
  const parsed = parseCacheRef(registry.default);
497
584
  assertCacheStore(registry, parsed);
498
- return { enabled: true, directories: [], ref: parsed.ref, store: parsed.store, strategy: parsed.strategy };
585
+ return { enabled: true, directories: [], ref: parsed.ref, store: parsed.store, policy: parsed.policy };
499
586
  }
500
587
  if (cache === false || cache === undefined)
501
588
  return { enabled: false, directories: [] };
502
589
  if (typeof cache === "string") {
503
590
  const parsed = parseCacheRef(cache);
504
591
  assertCacheStore(registry, parsed);
505
- return { enabled: true, directories: [], ref: parsed.ref, store: parsed.store, strategy: parsed.strategy };
592
+ return { enabled: true, directories: [], ref: parsed.ref, store: parsed.store, policy: parsed.policy };
506
593
  }
507
- const ref = cache.ref ?? (cache.store ? `${cache.store}:${cache.strategy ?? "cache-first"}` : registry.default);
594
+ const ref = cacheRefFromStoreOptions(cache, registry.default);
508
595
  const parsed = parseCacheRef(ref);
509
596
  assertCacheStore(registry, parsed);
510
597
  return {
@@ -513,9 +600,16 @@ function normalizeCache(cache, registry) {
513
600
  directories: [...(cache.directories ?? [])],
514
601
  ref: parsed.ref,
515
602
  store: parsed.store,
516
- strategy: parsed.strategy
603
+ policy: parsed.policy
517
604
  };
518
605
  }
606
+ function cacheRefFromStoreOptions(cache, defaultRef) {
607
+ if (cache.ref)
608
+ return cache.ref;
609
+ if (!cache.store)
610
+ return defaultRef;
611
+ return cache.policy ? `${cache.store}:${cache.policy}` : cache.store;
612
+ }
519
613
  function normalizeRetry(retry) {
520
614
  if (retry === undefined)
521
615
  return { attempts: 1 };