@kitsi/cli 0.0.14 → 0.0.15

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 (72) hide show
  1. package/dist/bin/pipeline-authoring.d.ts +15 -15
  2. package/dist/bin/pipeline-authoring.d.ts.map +1 -1
  3. package/dist/bin/pipeline-authoring.js +2 -0
  4. package/dist/bin/pipeline-authoring.js.map +1 -1
  5. package/dist/dsl/analysis.d.ts +2 -5
  6. package/dist/dsl/analysis.d.ts.map +1 -1
  7. package/dist/dsl/analysis.js +40 -92
  8. package/dist/dsl/analysis.js.map +1 -1
  9. package/dist/dsl/types.d.ts +2 -4
  10. package/dist/dsl/types.d.ts.map +1 -1
  11. package/dist/engine/cache/analyze.d.ts.map +1 -1
  12. package/dist/engine/cache/analyze.js +28 -213
  13. package/dist/engine/cache/analyze.js.map +1 -1
  14. package/dist/engine/cache/coordinator.d.ts.map +1 -1
  15. package/dist/engine/cache/coordinator.js +4 -10
  16. package/dist/engine/cache/coordinator.js.map +1 -1
  17. package/dist/engine/executor/plan-runner.d.ts.map +1 -1
  18. package/dist/engine/executor/plan-runner.js +4 -10
  19. package/dist/engine/executor/plan-runner.js.map +1 -1
  20. package/dist/ops/annotate.d.ts +18 -3
  21. package/dist/ops/annotate.d.ts.map +1 -1
  22. package/dist/ops/annotate.js +41 -6
  23. package/dist/ops/annotate.js.map +1 -1
  24. package/dist/ops/artifact.d.ts +31 -3
  25. package/dist/ops/artifact.d.ts.map +1 -1
  26. package/dist/ops/artifact.js +74 -3
  27. package/dist/ops/artifact.js.map +1 -1
  28. package/dist/ops/bind.d.ts +15 -1
  29. package/dist/ops/bind.d.ts.map +1 -1
  30. package/dist/ops/bind.js +37 -6
  31. package/dist/ops/bind.js.map +1 -1
  32. package/dist/ops/bundle.d.ts +35 -2
  33. package/dist/ops/bundle.d.ts.map +1 -1
  34. package/dist/ops/bundle.js +70 -9
  35. package/dist/ops/bundle.js.map +1 -1
  36. package/dist/ops/cache.d.ts +45 -3
  37. package/dist/ops/cache.d.ts.map +1 -1
  38. package/dist/ops/cache.js +128 -17
  39. package/dist/ops/cache.js.map +1 -1
  40. package/dist/ops/env.d.ts +15 -1
  41. package/dist/ops/env.d.ts.map +1 -1
  42. package/dist/ops/env.js +62 -5
  43. package/dist/ops/env.js.map +1 -1
  44. package/dist/ops/http.d.ts +10 -1
  45. package/dist/ops/http.d.ts.map +1 -1
  46. package/dist/ops/http.js +79 -0
  47. package/dist/ops/http.js.map +1 -1
  48. package/dist/ops/index.d.ts +2 -0
  49. package/dist/ops/index.d.ts.map +1 -1
  50. package/dist/ops/index.js +1 -0
  51. package/dist/ops/index.js.map +1 -1
  52. package/dist/ops/operation.d.ts +40 -0
  53. package/dist/ops/operation.d.ts.map +1 -0
  54. package/dist/ops/operation.js +14 -0
  55. package/dist/ops/operation.js.map +1 -0
  56. package/dist/ops/output.d.ts +36 -2
  57. package/dist/ops/output.d.ts.map +1 -1
  58. package/dist/ops/output.js +67 -10
  59. package/dist/ops/output.js.map +1 -1
  60. package/dist/ops/report.d.ts +16 -2
  61. package/dist/ops/report.d.ts.map +1 -1
  62. package/dist/ops/report.js +34 -10
  63. package/dist/ops/report.js.map +1 -1
  64. package/dist/ops/shell.d.ts +15 -7
  65. package/dist/ops/shell.d.ts.map +1 -1
  66. package/dist/ops/shell.js +76 -4
  67. package/dist/ops/shell.js.map +1 -1
  68. package/dist/ops/summary.d.ts +15 -1
  69. package/dist/ops/summary.d.ts.map +1 -1
  70. package/dist/ops/summary.js +33 -5
  71. package/dist/ops/summary.js.map +1 -1
  72. package/package.json +1 -1
@@ -22,7 +22,7 @@ export declare const KITSI_GLOBALS: {
22
22
  options: (url: ops.Interpolatable | TemplateStringsArray | ops.TemplatePart[] | ops.Interpolatable[], ...values: ops.Interpolatable[]) => ops.HttpBuilder;
23
23
  };
24
24
  readonly secret: (name: string) => ops.SecretRef;
25
- readonly env: (name: string, value: ops.EnvOp["value"]) => ops.EnvOp;
25
+ readonly env: (name: string, value: ops.EnvOp["value"]) => import("../ops/env.js").EnvOperation;
26
26
  readonly param: {
27
27
  readonly string: (name: string) => ops.ParamRef<string>;
28
28
  readonly number: (name: string) => ops.ParamRef<number>;
@@ -36,32 +36,32 @@ export declare const KITSI_GLOBALS: {
36
36
  readonly boolean: (name: string) => ops.ValueRef<boolean>;
37
37
  readonly json: <T>(name: string) => ops.ValueRef<T>;
38
38
  };
39
- readonly emit: <T>(ref: ops.ValueRef<T>, value: T) => ops.EmitOp<T>;
40
- readonly use: <T>(from: dsl.TaskBuilder, ref: ops.ValueRef<T>) => ops.UseOp<T>;
41
- readonly pack: (ref: ops.BundleRef) => ops.PackOp;
42
- readonly unpack: (from: dsl.TaskBuilder, ref: ops.BundleRef) => ops.UnpackOp;
39
+ readonly emit: <T>(ref: ops.ValueRef<T>, value: T) => import("../ops/output.js").EmitOperation<T>;
40
+ readonly use: <T>(from: dsl.TaskBuilder, ref: ops.ValueRef<T>) => import("../ops/output.js").UseOperation<T>;
41
+ readonly pack: (ref: ops.BundleRef) => import("../ops/bundle.js").PackOperation;
42
+ readonly unpack: (from: dsl.TaskBuilder, ref: ops.BundleRef) => import("../ops/bundle.js").UnpackOperation;
43
43
  readonly artifact: {
44
44
  upload: (name: string) => ops.ArtifactUploadBuilder;
45
45
  download: (name: string) => ops.ArtifactDownloadBuilder;
46
46
  };
47
- readonly cache: ((name: string, options: ops.CacheOptions) => ops.CacheOp) & {
47
+ readonly cache: ((name: string, options: ops.CacheOptions) => import("../ops/cache.js").CacheOperation) & {
48
48
  dir: (name: string) => ops.CacheRef;
49
- mount: (ref: ops.CacheRef) => ops.CacheMountOp;
49
+ mount: (ref: ops.CacheRef) => import("../ops/cache.js").CacheMountOperation;
50
50
  };
51
- readonly cacheOr: (name: string, options: ops.CacheOrOptions) => ops.CacheOrOp;
51
+ readonly cacheOr: (name: string, options: ops.CacheOrOptions) => import("../ops/cache.js").CacheOrOperation;
52
52
  readonly report: {
53
- junit: (path: string) => ops.ReportOp;
54
- coverage: (path: string) => ops.ReportOp;
53
+ junit: (path: string) => import("../ops/report.js").ReportOperation;
54
+ coverage: (path: string) => import("../ops/report.js").ReportOperation;
55
55
  };
56
56
  readonly annotate: {
57
- readonly error: (message: string, location?: ops.AnnotateLocation) => ops.AnnotateOp;
58
- readonly warning: (message: string, location?: ops.AnnotateLocation) => ops.AnnotateOp;
59
- readonly info: (message: string, location?: ops.AnnotateLocation) => ops.AnnotateOp;
57
+ readonly error: (message: string, location?: ops.AnnotateLocation) => import("../ops/annotate.js").AnnotateOperation;
58
+ readonly warning: (message: string, location?: ops.AnnotateLocation) => import("../ops/annotate.js").AnnotateOperation;
59
+ readonly info: (message: string, location?: ops.AnnotateLocation) => import("../ops/annotate.js").AnnotateOperation;
60
60
  };
61
61
  readonly summary: {
62
- md: (content: string) => ops.SummaryOp;
62
+ md: (content: string) => import("../ops/summary.js").SummaryOperation;
63
63
  };
64
- readonly bind: (serviceInstance: dsl.ServiceBuilder, alias?: string) => ops.BindServiceOp;
64
+ readonly bind: (serviceInstance: dsl.ServiceBuilder, alias?: string) => import("../ops/bind.js").BindServiceOperation;
65
65
  };
66
66
  export declare const registerPipelineGlobals: () => void;
67
67
  export declare const KITSI_TYPES_HEADER = "// @kitsi-types v0.0.1\n// Generated by kitsi types - do not edit manually\n";
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-authoring.d.ts","sourceRoot":"","sources":["../../src/bin/pipeline-authoring.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAE3C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBhB,CAAC;AAEX,eAAO,MAAM,uBAAuB,QAAO,IAU1C,CAAC;AAEF,eAAO,MAAM,kBAAkB,iFAE9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,UAAU,MAAM,KAAG,MAAM,GAAG,IAGlE,CAAC;AAoEF,eAAO,MAAM,gBAAgB,QAAO,MAcnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,MAkBhC,CAAC;AAER,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,EAAE,QAAQ,WAAW,KAAG,MAGtE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,QAAQ,WAAW,KAAG,MAGnE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,EAAE,QAAQ,WAAW,KAAG,MAGtE,CAAC"}
1
+ {"version":3,"file":"pipeline-authoring.d.ts","sourceRoot":"","sources":["../../src/bin/pipeline-authoring.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAE3C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBhB,CAAC;AAEX,eAAO,MAAM,uBAAuB,QAAO,IAU1C,CAAC;AAEF,eAAO,MAAM,kBAAkB,iFAE9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,UAAU,MAAM,KAAG,MAAM,GAAG,IAGlE,CAAC;AAsEF,eAAO,MAAM,gBAAgB,QAAO,MAcnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,MAkBhC,CAAC;AAER,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,EAAE,QAAQ,WAAW,KAAG,MAGtE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,QAAQ,WAAW,KAAG,MAGnE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,EAAE,QAAQ,WAAW,KAAG,MAGtE,CAAC"}
@@ -88,6 +88,8 @@ const buildTypeExports = () => [
88
88
  "type ImageBuilder = import('@kitsi/cli').ImageBuilder;",
89
89
  "type ServiceBuilder = import('@kitsi/cli').ServiceBuilder;",
90
90
  "type Registry = import('@kitsi/cli').Registry;",
91
+ "type Operation = import('@kitsi/cli').Operation;",
92
+ "type OperationRef = import('@kitsi/cli').OperationRef;",
91
93
  "type CommandBuilder = import('@kitsi/cli').CommandBuilder;",
92
94
  "type CommandOp = import('@kitsi/cli').CommandOp;",
93
95
  "type HttpBuilder = import('@kitsi/cli').HttpBuilder;",
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-authoring.js","sourceRoot":"","sources":["../../src/bin/pipeline-authoring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline-authoring.js","sourceRoot":"","sources":["../../src/bin/pipeline-authoring.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,9 @@
1
1
  import type { BundleRef } from '../ops/bundle.js';
2
+ import type { TaskDependency } from '../ops/operation.js';
2
3
  import type { ValueRef } from '../ops/output.js';
3
4
  import type { PlanBuilder } from './plan.js';
4
5
  import type { TaskBuilder } from './task.js';
5
- export interface TaskDependency {
6
- from: string;
7
- to: string;
8
- type: 'needs' | 'use' | 'unpack';
9
- }
6
+ export type { TaskDependency } from '../ops/operation.js';
10
7
  export interface DiscoveryResult {
11
8
  secrets: Set<string>;
12
9
  env: Set<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../src/dsl/analysis.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClB;AAuBD,eAAO,MAAM,eAAe,GAC1B,MAAM,WAAW,EACjB,gBAAe,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAM,KAC3C,WAAW,EAgCb,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,WAAW,EAAE,KAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAM7E,CAAC;AAyEF,eAAO,MAAM,uBAAuB,GAAI,OAAO,WAAW,EAAE,KAAG,cAAc,EAO5E,CAAC;AAgEF,eAAO,MAAM,cAAc,GAAI,OAAO,WAAW,EAAE,KAAG,GAAG,CAAC,MAAM,CAO/D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,WAAW,EAAE,KAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAgBxF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,OAAO,WAAW,EAAE,EACpB,SAAS,MAAM,EAAE,KAChB,WAAW,EA6Bb,CAAC"}
1
+ {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../src/dsl/analysis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAa,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClB;AAuBD,eAAO,MAAM,eAAe,GAC1B,MAAM,WAAW,EACjB,gBAAe,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAM,KAC3C,WAAW,EAgCb,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,WAAW,EAAE,KAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAM7E,CAAC;AAiCF,eAAO,MAAM,uBAAuB,GAAI,OAAO,WAAW,EAAE,KAAG,cAAc,EAO5E,CAAC;AAyBF,eAAO,MAAM,cAAc,GAAI,OAAO,WAAW,EAAE,KAAG,GAAG,CAAC,MAAM,CAO/D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,WAAW,EAAE,KAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAMxF,CAAC;AAsCF,eAAO,MAAM,2BAA2B,GACtC,OAAO,WAAW,EAAE,EACpB,SAAS,MAAM,EAAE,KAChB,WAAW,EA6Bb,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { InvalidArgumentsError, NotFoundError } from '../bin/errors/index.js';
2
- import { CommandBuilder } from '../ops/shell.js';
2
+ import { isOperation } from '../ops/operation.js';
3
3
  const buildMatrixCombos = (matrix) => {
4
4
  const keys = Object.keys(matrix);
5
5
  const combos = [];
@@ -58,44 +58,10 @@ export const buildTaskLookup = (tasks) => {
58
58
  const stepIterator = (step, task) => {
59
59
  return step.run({ task, workspace: '' });
60
60
  };
61
- const toOp = (value) => {
62
- if (value instanceof CommandBuilder)
63
- return value.op;
64
- if (value && typeof value === 'object' && 'op' in value) {
65
- const maybeOp = value.op;
66
- if (maybeOp && typeof maybeOp === 'object' && 'kind' in maybeOp) {
67
- return maybeOp;
68
- }
69
- }
70
- return value;
71
- };
72
- const placeholderForOp = (value) => {
73
- const op = toOp(value);
74
- switch (op.kind) {
75
- case 'command':
76
- return '';
77
- case 'http':
78
- return { status: 200, ok: true, headers: {}, body: '' };
79
- case 'use':
80
- return op.ref.parse('');
81
- case 'emit':
82
- return op.value;
83
- case 'pack':
84
- case 'unpack':
85
- return undefined;
86
- case 'env':
87
- return typeof op.value === 'string' || typeof op.value === 'number' ? op.value : '';
88
- default:
89
- return undefined;
90
- }
91
- };
92
- const addDependencyFromOp = (op, taskName, deps) => {
93
- if (op.kind === 'use') {
94
- deps.push({ from: op.from.config.name, to: taskName, type: 'use' });
95
- }
96
- if (op.kind === 'unpack') {
97
- deps.push({ from: op.from.config.name, to: taskName, type: 'unpack' });
98
- }
61
+ const toOperation = (value) => {
62
+ if (isOperation(value))
63
+ return value;
64
+ throw new Error('Step yielded a non-operation value');
99
65
  };
100
66
  const collectNeedsDependencies = (task, deps) => {
101
67
  for (const need of task.config.needs) {
@@ -108,9 +74,9 @@ const collectStepDependencies = (task, deps) => {
108
74
  const iterator = stepIterator(step, task);
109
75
  let cursor = iterator.next();
110
76
  while (!cursor.done) {
111
- const op = toOp(cursor.value);
112
- addDependencyFromOp(op, task.config.name, deps);
113
- cursor = iterator.next(placeholderForOp(op));
77
+ const operation = toOperation(cursor.value);
78
+ deps.push(...operation.extractDependencies(task.config.name));
79
+ cursor = iterator.next(operation.analysisPlaceholder());
114
80
  }
115
81
  }
116
82
  };
@@ -129,49 +95,17 @@ const collectEnvSecrets = (task, secrets) => {
129
95
  }
130
96
  }
131
97
  };
132
- const collectTemplateSecrets = (template, secrets) => {
133
- for (const part of template) {
134
- if (part.type === 'secret' && part.name) {
135
- secrets.add(part.name);
136
- }
137
- }
138
- };
139
- const collectHttpSecrets = (op, secrets) => {
140
- collectTemplateSecrets(op.url, secrets);
141
- for (const header of op.headers) {
142
- collectTemplateSecrets(header.value, secrets);
143
- }
144
- if (op.body) {
145
- collectTemplateSecrets(op.body, secrets);
146
- }
147
- };
148
- const collectEnvOpSecrets = (op, secrets) => {
149
- if (op.value.kind === 'secret') {
150
- secrets.add(op.value.name);
151
- }
152
- };
153
- const collectOpSecrets = (op, secrets) => {
154
- if (op.kind === 'command') {
155
- collectTemplateSecrets(op.template, secrets);
156
- return;
157
- }
158
- if (op.kind === 'http') {
159
- collectHttpSecrets(op, secrets);
160
- return;
161
- }
162
- if (op.kind === 'env') {
163
- collectEnvOpSecrets(op, secrets);
164
- }
165
- };
166
98
  const collectStepSecrets = (task, secrets) => {
167
99
  const steps = [...task.config.setupSteps, ...task.config.steps];
168
100
  for (const step of steps) {
169
101
  const iterator = stepIterator(step, task);
170
102
  let cursor = iterator.next();
171
103
  while (!cursor.done) {
172
- const op = toOp(cursor.value);
173
- collectOpSecrets(op, secrets);
174
- cursor = iterator.next(placeholderForOp(op));
104
+ const operation = toOperation(cursor.value);
105
+ for (const name of operation.extractSecrets()) {
106
+ secrets.add(name);
107
+ }
108
+ cursor = iterator.next(operation.analysisPlaceholder());
175
109
  }
176
110
  }
177
111
  };
@@ -186,22 +120,36 @@ export const collectSecrets = (tasks) => {
186
120
  export const collectValueRefs = (tasks) => {
187
121
  const values = new Set();
188
122
  for (const task of tasks) {
189
- const steps = [...task.config.setupSteps, ...task.config.steps];
190
- for (const step of steps) {
191
- const iterator = stepIterator(step, task);
192
- let cursor = iterator.next();
193
- while (!cursor.done) {
194
- const op = toOp(cursor.value);
195
- if (op.kind === 'use')
196
- values.add(op.ref);
197
- if (op.kind === 'unpack')
198
- values.add(op.ref);
199
- cursor = iterator.next(placeholderForOp(op));
200
- }
201
- }
123
+ collectTaskRefs(task, values);
202
124
  }
203
125
  return values;
204
126
  };
127
+ const collectTaskRefs = (task, values) => {
128
+ const steps = [...task.config.setupSteps, ...task.config.steps];
129
+ for (const step of steps) {
130
+ collectStepRefs(task, step, values);
131
+ }
132
+ };
133
+ const collectStepRefs = (task, step, values) => {
134
+ const iterator = stepIterator(step, task);
135
+ let cursor = iterator.next();
136
+ while (!cursor.done) {
137
+ const operation = toOperation(cursor.value);
138
+ for (const ref of operation.extractRefs()) {
139
+ addRef(values, ref);
140
+ }
141
+ cursor = iterator.next(operation.analysisPlaceholder());
142
+ }
143
+ };
144
+ const addRef = (values, ref) => {
145
+ if (ref.type === 'value') {
146
+ values.add(ref.ref);
147
+ return;
148
+ }
149
+ if (ref.type === 'bundle') {
150
+ values.add(ref.ref);
151
+ }
152
+ };
205
153
  export const filterTasksWithDependencies = (tasks, targets) => {
206
154
  if (targets.length === 0)
207
155
  return tasks;
@@ -1 +1 @@
1
- {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/dsl/analysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/dsl/analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG9E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAclD,MAAM,iBAAiB,GAAG,CACxB,MAAwD,EACX,EAAE;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,MAAM,GAAgD,EAAE,CAAC;IAC/D,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAA8C,EAAQ,EAAE;QACpF,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACb,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAAiB,EACjB,gBAA0C,EAAE,EAC7B,EAAE;IACjB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;IACnD,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAqD,EAAE,GAAG,MAAM,EAAE,CAAC;QACjF,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,qBAAqB,CAC7B,eAAe,GAAG,6BAA6B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CACnE,CAAC;YACJ,CAAC;YACD,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACnF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,qBAAqB,CAC7B,eAAe,GAAG,gCAAgC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtE,CAAC;YACJ,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;QAC7B,CAAC;QACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,qBAAqB,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,4BAA4B,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,qBAAqB,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,4BAA4B,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAoB,EAA4B,EAAE;IAChF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,IAAiB,EACjB,IAAiB,EACuB,EAAE;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAA2C,CAAC;AACrF,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAc,EAAa,EAAE;IAChD,IAAI,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,IAAiB,EAAE,IAAsB,EAAQ,EAAE;IACnF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,IAAiB,EAAE,IAAsB,EAAQ,EAAE;IAClF,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAoB,EAAoB,EAAE;IAChF,MAAM,IAAI,GAAqB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,IAAiB,EAAE,OAAoB,EAAQ,EAAE;IAC1E,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,IAAK,KAAmB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAE,KAAmB,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,IAAiB,EAAE,OAAoB,EAAQ,EAAE;IAC3E,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YACD,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAoB,EAAe,EAAE;IAClE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAoB,EAAsC,EAAE;IAC3F,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiC,CAAC;IACxD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,IAAiB,EAAE,MAA0C,EAAQ,EAAE;IAC9F,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,IAAiB,EACjB,IAAiB,EACjB,MAA0C,EACpC,EAAE;IACR,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1C,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CACb,MAA0C,EAC1C,GAAiD,EAC3C,EAAE;IACR,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAwB,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAgB,CAAC,CAAC;IACnC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,KAAoB,EACpB,OAAiB,EACF,EAAE;IACjB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAQ,EAAE;QACnC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,YAAY;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,aAAa,CAAC,SAAS,MAAM,qBAAqB,CAAC,CAAC;QAChE,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC"}
@@ -1,14 +1,12 @@
1
- import type { Op } from '../ops/base.js';
2
- import type { HttpBuilder } from '../ops/http.js';
1
+ import type { Operation } from '../ops/operation.js';
3
2
  import type { ValueRef } from '../ops/output.js';
4
3
  import type { ParamRef } from '../ops/param.js';
5
4
  import type { SecretRef } from '../ops/secret.js';
6
- import type { CommandBuilder } from '../ops/shell.js';
7
5
  import type { TaskBuilder } from './task.js';
8
6
  export type EnvValue = string | SecretRef | ValueRef<string | number | boolean> | ParamRef<string | number | boolean>;
9
7
  export interface StepCtx {
10
8
  task: TaskBuilder;
11
9
  workspace: string;
12
10
  }
13
- export type StepGenerator = (ctx: StepCtx) => Generator<Op | CommandBuilder | HttpBuilder, unknown, unknown>;
11
+ export type StepGenerator = (ctx: StepCtx) => Generator<Operation, unknown, unknown>;
14
12
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dsl/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,SAAS,GACT,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACnC,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAExC,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,OAAO,KACT,SAAS,CAAC,EAAE,GAAG,cAAc,GAAG,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dsl/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,SAAS,GACT,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACnC,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAExC,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../src/engine/cache/analyze.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAmBrD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,OAAO,EAAE,CAAC;IACf,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAsTD,eAAO,MAAM,gBAAgB,GAAI,MAAM,WAAW,EAAE,WAAW,MAAM,KAAG,YAWvE,CAAC"}
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../src/engine/cache/analyze.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,OAAO,EAAE,CAAC;IACf,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAmHD,eAAO,MAAM,gBAAgB,GAAI,MAAM,WAAW,EAAE,WAAW,MAAM,KAAG,YAWvE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { isParamRef, isSecretRef, isValueRef } from '../../ops/types.js';
1
+ import { isOperation } from '../../ops/operation.js';
2
2
  import { stableStringify } from './serialize.js';
3
3
  const createPlaceholderTracker = () => {
4
4
  let touched = false;
@@ -22,225 +22,40 @@ const createPlaceholderTracker = () => {
22
22
  used: () => touched,
23
23
  };
24
24
  };
25
- const toOp = (value) => {
26
- if (value instanceof Object && 'op' in value) {
27
- const maybeOp = value.op;
28
- if (maybeOp && typeof maybeOp === 'object' && 'kind' in maybeOp) {
29
- return maybeOp;
30
- }
25
+ const toOperation = (value) => {
26
+ if (!isOperation(value)) {
27
+ throw new Error('Step yielded a non-operation value');
31
28
  }
32
29
  return value;
33
30
  };
34
- const normalizeTemplatePart = (part) => {
35
- if (part.type === 'text' || part.type === 'interpolated') {
36
- return { type: part.type, value: part.value };
37
- }
38
- if (part.type === 'secret') {
39
- return { type: part.type, name: part.name };
40
- }
41
- return { type: part.type, name: part.ref.name };
42
- };
43
- const commandSignature = (template) => {
44
- const raw = template
45
- .map((part) => {
46
- if (part.type === 'text')
47
- return part.value;
48
- if (part.type === 'interpolated')
49
- return String(part.value);
50
- if (part.type === 'secret')
51
- return `<secret:${part.name}>`;
52
- if (part.type === 'param')
53
- return `<param:${part.ref.name}>`;
54
- return `<value:${part.ref.name}>`;
55
- })
56
- .join('');
57
- return raw.replace(/\s+/g, ' ').trim();
58
- };
59
- const collectFromTemplate = (template, secrets, params) => {
60
- for (const part of template) {
61
- if (part.type === 'secret')
62
- secrets.add(part.name);
63
- if (part.type === 'param')
64
- params.add(part.ref.name);
65
- }
66
- };
67
- const collectEnvValue = (value, secrets, params) => {
68
- if (typeof value === 'string' || typeof value === 'number')
69
- return;
70
- if (isSecretRef(value))
71
- secrets.add(value.name);
72
- if (isParamRef(value))
73
- params.add(value.name);
74
- };
75
- const normalizeEnvValue = (value) => {
76
- if (typeof value === 'string' || typeof value === 'number')
77
- return value;
78
- if (isSecretRef(value))
79
- return { kind: 'secret', name: value.name };
80
- if (isParamRef(value))
81
- return { kind: 'param', name: value.name };
82
- if (isValueRef(value))
83
- return { kind: 'value', name: value.name };
84
- return String(value);
85
- };
86
- const normalizeOp = (op, ctx, analysis, tracker, resultValue) => {
87
- switch (op.kind) {
88
- case 'command': {
89
- const commandOp = op;
90
- analysis.commandSignatures.push(commandSignature(commandOp.template));
91
- collectFromTemplate(commandOp.template, analysis.secrets, analysis.params);
92
- return {
93
- kind: op.kind,
94
- capture: commandOp.capture,
95
- cache: commandOp.cache ?? null,
96
- template: commandOp.template.map(normalizeTemplatePart),
97
- };
98
- }
99
- case 'http': {
100
- const httpOp = op;
101
- collectFromTemplate(httpOp.url, analysis.secrets, analysis.params);
102
- for (const header of httpOp.headers) {
103
- collectFromTemplate(header.value, analysis.secrets, analysis.params);
104
- }
105
- if (httpOp.body) {
106
- collectFromTemplate(httpOp.body, analysis.secrets, analysis.params);
107
- }
108
- return {
109
- kind: op.kind,
110
- method: httpOp.method,
111
- url: httpOp.url.map(normalizeTemplatePart),
112
- headers: httpOp.headers.map((header) => ({
113
- name: header.name,
114
- value: header.value.map(normalizeTemplatePart),
115
- })),
116
- body: httpOp.body ? httpOp.body.map(normalizeTemplatePart) : null,
117
- bodyPath: httpOp.bodyPath ?? null,
118
- };
119
- }
120
- case 'emit': {
121
- const emitOp = op;
122
- return { kind: op.kind, ref: emitOp.ref.name, value: emitOp.value };
123
- }
124
- case 'use': {
125
- const useOp = op;
126
- analysis.dependencies.add(useOp.from.config.name);
127
- return { kind: op.kind, from: useOp.from.config.name, ref: useOp.ref.name };
128
- }
129
- case 'pack': {
130
- const packOp = op;
131
- return { kind: op.kind, name: packOp.ref.name, patterns: packOp.ref.patterns };
132
- }
133
- case 'unpack': {
134
- const unpackOp = op;
135
- analysis.dependencies.add(unpackOp.from.config.name);
136
- return {
137
- kind: op.kind,
138
- from: unpackOp.from.config.name,
139
- name: unpackOp.ref.name,
140
- patterns: unpackOp.ref.patterns,
141
- };
142
- }
143
- case 'env': {
144
- const envOp = op;
145
- collectEnvValue(envOp.value, analysis.secrets, analysis.params);
146
- return { kind: op.kind, name: envOp.name, value: normalizeEnvValue(envOp.value) };
147
- }
148
- case 'summary': {
149
- const summaryOp = op;
150
- return { kind: op.kind, format: summaryOp.format, content: summaryOp.content };
151
- }
152
- case 'artifact-upload': {
153
- const uploadOp = op;
154
- return {
155
- kind: op.kind,
156
- name: uploadOp.name,
157
- patterns: uploadOp.patterns,
158
- when: uploadOp.when,
159
- };
160
- }
161
- case 'artifact-download': {
162
- const downloadOp = op;
163
- return { kind: op.kind, name: downloadOp.name, destination: downloadOp.destination };
164
- }
165
- case 'annotate': {
166
- const annotateOp = op;
167
- return { kind: op.kind, level: annotateOp.level, message: annotateOp.message };
168
- }
169
- case 'report': {
170
- const reportOp = op;
171
- return { kind: op.kind, reportType: reportOp.reportType, path: reportOp.path };
172
- }
173
- case 'bind-service': {
174
- const bindOp = op;
175
- return { kind: op.kind, service: bindOp.service, alias: bindOp.alias ?? null };
176
- }
177
- case 'cache': {
178
- const cacheOp = op;
179
- return { kind: op.kind, name: cacheOp.name, paths: cacheOp.paths, key: cacheOp.key ?? null };
180
- }
181
- case 'cache-or': {
182
- const cacheOrOp = op;
183
- const computeOps = analyzeGenerator(cacheOrOp.compute(ctx), ctx, analysis, tracker, resultValue);
184
- return {
185
- kind: op.kind,
186
- name: cacheOrOp.name,
187
- paths: cacheOrOp.paths,
188
- key: cacheOrOp.key ?? null,
189
- compute: computeOps,
190
- };
191
- }
192
- default:
193
- return { kind: op.kind };
194
- }
195
- };
196
- const placeholderForCommand = (op, isPrimary) => {
197
- if (!isPrimary)
198
- return undefined;
199
- // For boolean captures (.ok()), use true to match expected truthy behavior
200
- if (op.capture === 'ok')
201
- return true;
202
- // For exit code captures (.code()), use 0 (success)
203
- if (op.capture === 'code')
204
- return 0;
205
- return '';
206
- };
207
- const placeholderForHttp = (isPrimary) => isPrimary ? { status: 200, ok: true, headers: {}, body: '' } : undefined;
208
- const placeholderForUse = (op, isPrimary) => isPrimary ? op.ref.parse('') : undefined;
209
- const placeholderForEnv = (op, isPrimary) => {
210
- if (typeof op.value === 'string' || typeof op.value === 'number') {
211
- return op.value;
212
- }
213
- return isPrimary ? '' : undefined;
214
- };
215
- const placeholderForOp = (op, tracker) => {
216
- // For primary analysis (Proxy tracker), use proper placeholders
217
- // For secondary analysis (undefined tracker), use undefined to detect dynamic behavior
218
- const isPrimary = tracker.value !== undefined;
219
- switch (op.kind) {
220
- case 'command':
221
- return placeholderForCommand(op, isPrimary);
222
- case 'http':
223
- return placeholderForHttp(isPrimary);
224
- case 'use':
225
- return placeholderForUse(op, isPrimary);
226
- case 'emit':
227
- return op.value;
228
- case 'env':
229
- return placeholderForEnv(op, isPrimary);
230
- case 'pack':
231
- case 'unpack':
232
- return undefined;
233
- default:
234
- return tracker.value;
235
- }
236
- };
31
+ const createCacheContext = (ctx, analysis, tracker, resultValue) => ({
32
+ addCommandSignature: (signature) => {
33
+ analysis.commandSignatures.push(signature);
34
+ },
35
+ addDependency: (name) => {
36
+ analysis.dependencies.add(name);
37
+ },
38
+ addSecret: (name) => {
39
+ analysis.secrets.add(name);
40
+ },
41
+ addParam: (name) => {
42
+ analysis.params.add(name);
43
+ },
44
+ analyzeNested: (compute, nestedResultValue) => analyzeGenerator(compute(ctx), ctx, analysis, tracker, nestedResultValue),
45
+ resultValue,
46
+ placeholder: {
47
+ value: tracker.value,
48
+ isPrimary: tracker.value !== undefined,
49
+ },
50
+ });
237
51
  const analyzeGenerator = (iterator, ctx, analysis, tracker, resultValue) => {
238
52
  const ops = [];
239
53
  let cursor = iterator.next();
240
54
  while (!cursor.done) {
241
- const op = toOp(cursor.value);
242
- ops.push(normalizeOp(op, ctx, analysis, tracker, resultValue));
243
- const placeholder = placeholderForOp(op, tracker);
55
+ const operation = toOperation(cursor.value);
56
+ const cacheContext = createCacheContext(ctx, analysis, tracker, resultValue);
57
+ ops.push(operation.cacheNormalize(cacheContext));
58
+ const placeholder = operation.cachePlaceholder(cacheContext.placeholder);
244
59
  cursor = iterator.next(placeholder);
245
60
  }
246
61
  return ops;