@kitsi/cli 0.0.13 → 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 (75) hide show
  1. package/dist/bin/args/values.d.ts.map +1 -1
  2. package/dist/bin/args/values.js +12 -6
  3. package/dist/bin/args/values.js.map +1 -1
  4. package/dist/bin/pipeline-authoring.d.ts +15 -15
  5. package/dist/bin/pipeline-authoring.d.ts.map +1 -1
  6. package/dist/bin/pipeline-authoring.js +2 -0
  7. package/dist/bin/pipeline-authoring.js.map +1 -1
  8. package/dist/dsl/analysis.d.ts +2 -5
  9. package/dist/dsl/analysis.d.ts.map +1 -1
  10. package/dist/dsl/analysis.js +40 -92
  11. package/dist/dsl/analysis.js.map +1 -1
  12. package/dist/dsl/types.d.ts +2 -4
  13. package/dist/dsl/types.d.ts.map +1 -1
  14. package/dist/engine/cache/analyze.d.ts.map +1 -1
  15. package/dist/engine/cache/analyze.js +28 -213
  16. package/dist/engine/cache/analyze.js.map +1 -1
  17. package/dist/engine/cache/coordinator.d.ts.map +1 -1
  18. package/dist/engine/cache/coordinator.js +4 -10
  19. package/dist/engine/cache/coordinator.js.map +1 -1
  20. package/dist/engine/executor/plan-runner.d.ts.map +1 -1
  21. package/dist/engine/executor/plan-runner.js +4 -10
  22. package/dist/engine/executor/plan-runner.js.map +1 -1
  23. package/dist/ops/annotate.d.ts +18 -3
  24. package/dist/ops/annotate.d.ts.map +1 -1
  25. package/dist/ops/annotate.js +41 -6
  26. package/dist/ops/annotate.js.map +1 -1
  27. package/dist/ops/artifact.d.ts +31 -3
  28. package/dist/ops/artifact.d.ts.map +1 -1
  29. package/dist/ops/artifact.js +74 -3
  30. package/dist/ops/artifact.js.map +1 -1
  31. package/dist/ops/bind.d.ts +15 -1
  32. package/dist/ops/bind.d.ts.map +1 -1
  33. package/dist/ops/bind.js +37 -6
  34. package/dist/ops/bind.js.map +1 -1
  35. package/dist/ops/bundle.d.ts +35 -2
  36. package/dist/ops/bundle.d.ts.map +1 -1
  37. package/dist/ops/bundle.js +70 -9
  38. package/dist/ops/bundle.js.map +1 -1
  39. package/dist/ops/cache.d.ts +45 -3
  40. package/dist/ops/cache.d.ts.map +1 -1
  41. package/dist/ops/cache.js +128 -17
  42. package/dist/ops/cache.js.map +1 -1
  43. package/dist/ops/env.d.ts +15 -1
  44. package/dist/ops/env.d.ts.map +1 -1
  45. package/dist/ops/env.js +62 -5
  46. package/dist/ops/env.js.map +1 -1
  47. package/dist/ops/http.d.ts +10 -1
  48. package/dist/ops/http.d.ts.map +1 -1
  49. package/dist/ops/http.js +79 -0
  50. package/dist/ops/http.js.map +1 -1
  51. package/dist/ops/index.d.ts +2 -0
  52. package/dist/ops/index.d.ts.map +1 -1
  53. package/dist/ops/index.js +1 -0
  54. package/dist/ops/index.js.map +1 -1
  55. package/dist/ops/operation.d.ts +40 -0
  56. package/dist/ops/operation.d.ts.map +1 -0
  57. package/dist/ops/operation.js +14 -0
  58. package/dist/ops/operation.js.map +1 -0
  59. package/dist/ops/output.d.ts +36 -2
  60. package/dist/ops/output.d.ts.map +1 -1
  61. package/dist/ops/output.js +67 -10
  62. package/dist/ops/output.js.map +1 -1
  63. package/dist/ops/report.d.ts +16 -2
  64. package/dist/ops/report.d.ts.map +1 -1
  65. package/dist/ops/report.js +34 -10
  66. package/dist/ops/report.js.map +1 -1
  67. package/dist/ops/shell.d.ts +15 -7
  68. package/dist/ops/shell.d.ts.map +1 -1
  69. package/dist/ops/shell.js +76 -4
  70. package/dist/ops/shell.js.map +1 -1
  71. package/dist/ops/summary.d.ts +15 -1
  72. package/dist/ops/summary.d.ts.map +1 -1
  73. package/dist/ops/summary.js +33 -5
  74. package/dist/ops/summary.js.map +1 -1
  75. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import type { CacheAnalysisContext, CachePlaceholderContext, Operation } from './operation.js';
1
2
  export interface AnnotateLocation {
2
3
  file: string;
3
4
  line?: number;
@@ -9,9 +10,23 @@ export interface AnnotateOp {
9
10
  message: string;
10
11
  location?: AnnotateLocation;
11
12
  }
13
+ export declare class AnnotateOperation implements Operation<AnnotateOp> {
14
+ readonly level: AnnotateOp['level'];
15
+ readonly message: string;
16
+ readonly location?: AnnotateLocation;
17
+ constructor(level: AnnotateOp['level'], message: string, location?: AnnotateLocation);
18
+ get kind(): AnnotateOp['kind'];
19
+ toOp(): AnnotateOp;
20
+ analysisPlaceholder(): undefined;
21
+ extractDependencies(_taskName: string): [];
22
+ extractSecrets(): string[];
23
+ extractRefs(): [];
24
+ cacheNormalize(_context: CacheAnalysisContext): unknown;
25
+ cachePlaceholder(context: CachePlaceholderContext): unknown;
26
+ }
12
27
  export declare const annotate: {
13
- readonly error: (message: string, location?: AnnotateLocation) => AnnotateOp;
14
- readonly warning: (message: string, location?: AnnotateLocation) => AnnotateOp;
15
- readonly info: (message: string, location?: AnnotateLocation) => AnnotateOp;
28
+ readonly error: (message: string, location?: AnnotateLocation) => AnnotateOperation;
29
+ readonly warning: (message: string, location?: AnnotateLocation) => AnnotateOperation;
30
+ readonly info: (message: string, location?: AnnotateLocation) => AnnotateOperation;
16
31
  };
17
32
  //# sourceMappingURL=annotate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotate.d.ts","sourceRoot":"","sources":["../../src/ops/annotate.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAWD,eAAO,MAAM,QAAQ;8BAPT,MAAM,aAAa,gBAAgB,KAAG,UAAU;gCAAhD,MAAM,aAAa,gBAAgB,KAAG,UAAU;6BAAhD,MAAM,aAAa,gBAAgB,KAAG,UAAU;CAWlD,CAAC"}
1
+ {"version":3,"file":"annotate.d.ts","sourceRoot":"","sources":["../../src/ops/annotate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE/F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,qBAAa,iBAAkB,YAAW,SAAS,CAAC,UAAU,CAAC;IAC7D,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;gBAEzB,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gBAAgB;IAMpF,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,CAE7B;IAED,IAAI,IAAI,UAAU;IASlB,mBAAmB,IAAI,SAAS;IAIhC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,EAAE;IAI1C,cAAc,IAAI,MAAM,EAAE;IAI1B,WAAW,IAAI,EAAE;IAIjB,cAAc,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO;IAIvD,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO;CAG5D;AAOD,eAAO,MAAM,QAAQ;8BAHT,MAAM,aAAa,gBAAgB,KAAG,iBAAiB;gCAAvD,MAAM,aAAa,gBAAgB,KAAG,iBAAiB;6BAAvD,MAAM,aAAa,gBAAgB,KAAG,iBAAiB;CAOzD,CAAC"}
@@ -1,9 +1,44 @@
1
- const createAnnotation = (level) => (message, location) => ({
2
- kind: 'annotate',
3
- level,
4
- message,
5
- ...(location ? { location } : {}),
6
- });
1
+ export class AnnotateOperation {
2
+ level;
3
+ message;
4
+ location;
5
+ constructor(level, message, location) {
6
+ this.level = level;
7
+ this.message = message;
8
+ if (location)
9
+ this.location = location;
10
+ }
11
+ get kind() {
12
+ return 'annotate';
13
+ }
14
+ toOp() {
15
+ return {
16
+ kind: 'annotate',
17
+ level: this.level,
18
+ message: this.message,
19
+ ...(this.location ? { location: this.location } : {}),
20
+ };
21
+ }
22
+ analysisPlaceholder() {
23
+ return undefined;
24
+ }
25
+ extractDependencies(_taskName) {
26
+ return [];
27
+ }
28
+ extractSecrets() {
29
+ return [];
30
+ }
31
+ extractRefs() {
32
+ return [];
33
+ }
34
+ cacheNormalize(_context) {
35
+ return { kind: this.kind, level: this.level, message: this.message };
36
+ }
37
+ cachePlaceholder(context) {
38
+ return context.value;
39
+ }
40
+ }
41
+ const createAnnotation = (level) => (message, location) => new AnnotateOperation(level, message, location);
7
42
  export const annotate = {
8
43
  error: createAnnotation('error'),
9
44
  warning: createAnnotation('warning'),
@@ -1 +1 @@
1
- {"version":3,"file":"annotate.js","sourceRoot":"","sources":["../../src/ops/annotate.ts"],"names":[],"mappings":"AAaA,MAAM,gBAAgB,GACpB,CAAC,KAA0B,EAAE,EAAE,CAC/B,CAAC,OAAe,EAAE,QAA2B,EAAc,EAAE,CAAC,CAAC;IAC7D,IAAI,EAAE,UAAU;IAChB,KAAK;IACL,OAAO;IACP,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CAClC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC;IAChC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC;IACpC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC;CACtB,CAAC"}
1
+ {"version":3,"file":"annotate.js","sourceRoot":"","sources":["../../src/ops/annotate.ts"],"names":[],"mappings":"AAeA,MAAM,OAAO,iBAAiB;IACnB,KAAK,CAAsB;IAC3B,OAAO,CAAS;IAChB,QAAQ,CAAoB;IAErC,YAAY,KAA0B,EAAE,OAAe,EAAE,QAA2B;QAClF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACzC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI;QACF,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,mBAAmB;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mBAAmB,CAAC,SAAiB;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,WAAW;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,QAA8B;QAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IACvE,CAAC;IAED,gBAAgB,CAAC,OAAgC;QAC/C,OAAO,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC;CACF;AAED,MAAM,gBAAgB,GACpB,CAAC,KAA0B,EAAE,EAAE,CAC/B,CAAC,OAAe,EAAE,QAA2B,EAAqB,EAAE,CAClE,IAAI,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC;IAChC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC;IACpC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC;CACtB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { CacheAnalysisContext, CachePlaceholderContext, Operation } from './operation.js';
1
2
  export interface ArtifactUploadOp {
2
3
  kind: 'artifact-upload';
3
4
  name: string;
@@ -9,19 +10,46 @@ export interface ArtifactDownloadOp {
9
10
  name: string;
10
11
  destination: string;
11
12
  }
13
+ export declare class ArtifactUploadOperation implements Operation<ArtifactUploadOp> {
14
+ readonly name: string;
15
+ readonly patterns: string[];
16
+ readonly when: 'always' | 'success';
17
+ constructor(name: string, patterns: string[], when: 'always' | 'success');
18
+ get kind(): ArtifactUploadOp['kind'];
19
+ toOp(): ArtifactUploadOp;
20
+ analysisPlaceholder(): undefined;
21
+ extractDependencies(_taskName: string): [];
22
+ extractSecrets(): string[];
23
+ extractRefs(): [];
24
+ cacheNormalize(_context: CacheAnalysisContext): unknown;
25
+ cachePlaceholder(context: CachePlaceholderContext): unknown;
26
+ }
27
+ export declare class ArtifactDownloadOperation implements Operation<ArtifactDownloadOp> {
28
+ readonly name: string;
29
+ readonly destination: string;
30
+ constructor(name: string, destination: string);
31
+ get kind(): ArtifactDownloadOp['kind'];
32
+ toOp(): ArtifactDownloadOp;
33
+ analysisPlaceholder(): undefined;
34
+ extractDependencies(_taskName: string): [];
35
+ extractSecrets(): string[];
36
+ extractRefs(): [];
37
+ cacheNormalize(_context: CacheAnalysisContext): unknown;
38
+ cachePlaceholder(context: CachePlaceholderContext): unknown;
39
+ }
12
40
  export declare class ArtifactUploadBuilder {
13
41
  private readonly name;
14
42
  private readonly patterns;
15
43
  private readonly when;
16
44
  constructor(name: string, patterns?: string[], when?: 'always' | 'success');
17
45
  paths(...patterns: string[]): ArtifactUploadBuilder;
18
- whenSuccess(): ArtifactUploadOp;
19
- whenAlways(): ArtifactUploadOp;
46
+ whenSuccess(): ArtifactUploadOperation;
47
+ whenAlways(): ArtifactUploadOperation;
20
48
  }
21
49
  export declare class ArtifactDownloadBuilder {
22
50
  private readonly name;
23
51
  constructor(name: string);
24
- to(destination: string): ArtifactDownloadOp;
52
+ to(destination: string): ArtifactDownloadOperation;
25
53
  }
26
54
  export declare const artifact: {
27
55
  upload: (name: string) => ArtifactUploadBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../src/ops/artifact.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;gBAEhC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,EAAE,IAAI,GAAE,QAAQ,GAAG,SAAqB;IAMzF,KAAK,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,qBAAqB;IAInD,WAAW,IAAI,gBAAgB;IAI/B,UAAU,IAAI,gBAAgB;CAG/B;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAElB,IAAI,EAAE,MAAM;IAIxB,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB;CAG5C;AAED,eAAO,MAAM,QAAQ;mBACJ,MAAM,KAAG,qBAAqB;qBAC5B,MAAM,KAAG,uBAAuB;CAClD,CAAC"}
1
+ {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../src/ops/artifact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE/F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,uBAAwB,YAAW,SAAS,CAAC,gBAAgB,CAAC;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;gBAExB,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,SAAS;IAMxE,IAAI,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAEnC;IAED,IAAI,IAAI,gBAAgB;IAIxB,mBAAmB,IAAI,SAAS;IAIhC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,EAAE;IAI1C,cAAc,IAAI,MAAM,EAAE;IAI1B,WAAW,IAAI,EAAE;IAIjB,cAAc,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO;IASvD,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO;CAG5D;AAED,qBAAa,yBAA0B,YAAW,SAAS,CAAC,kBAAkB,CAAC;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAK7C,IAAI,IAAI,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAErC;IAED,IAAI,IAAI,kBAAkB;IAI1B,mBAAmB,IAAI,SAAS;IAIhC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,EAAE;IAI1C,cAAc,IAAI,MAAM,EAAE;IAI1B,WAAW,IAAI,EAAE;IAIjB,cAAc,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO;IAIvD,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO;CAG5D;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;gBAEhC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,EAAE,IAAI,GAAE,QAAQ,GAAG,SAAqB;IAMzF,KAAK,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,qBAAqB;IAInD,WAAW,IAAI,uBAAuB;IAItC,UAAU,IAAI,uBAAuB;CAGtC;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAElB,IAAI,EAAE,MAAM;IAIxB,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,yBAAyB;CAGnD;AAED,eAAO,MAAM,QAAQ;mBACJ,MAAM,KAAG,qBAAqB;qBAC5B,MAAM,KAAG,uBAAuB;CAClD,CAAC"}
@@ -1,3 +1,74 @@
1
+ export class ArtifactUploadOperation {
2
+ name;
3
+ patterns;
4
+ when;
5
+ constructor(name, patterns, when) {
6
+ this.name = name;
7
+ this.patterns = patterns;
8
+ this.when = when;
9
+ }
10
+ get kind() {
11
+ return 'artifact-upload';
12
+ }
13
+ toOp() {
14
+ return { kind: 'artifact-upload', name: this.name, patterns: this.patterns, when: this.when };
15
+ }
16
+ analysisPlaceholder() {
17
+ return undefined;
18
+ }
19
+ extractDependencies(_taskName) {
20
+ return [];
21
+ }
22
+ extractSecrets() {
23
+ return [];
24
+ }
25
+ extractRefs() {
26
+ return [];
27
+ }
28
+ cacheNormalize(_context) {
29
+ return {
30
+ kind: this.kind,
31
+ name: this.name,
32
+ patterns: this.patterns,
33
+ when: this.when,
34
+ };
35
+ }
36
+ cachePlaceholder(context) {
37
+ return context.value;
38
+ }
39
+ }
40
+ export class ArtifactDownloadOperation {
41
+ name;
42
+ destination;
43
+ constructor(name, destination) {
44
+ this.name = name;
45
+ this.destination = destination;
46
+ }
47
+ get kind() {
48
+ return 'artifact-download';
49
+ }
50
+ toOp() {
51
+ return { kind: 'artifact-download', name: this.name, destination: this.destination };
52
+ }
53
+ analysisPlaceholder() {
54
+ return undefined;
55
+ }
56
+ extractDependencies(_taskName) {
57
+ return [];
58
+ }
59
+ extractSecrets() {
60
+ return [];
61
+ }
62
+ extractRefs() {
63
+ return [];
64
+ }
65
+ cacheNormalize(_context) {
66
+ return { kind: this.kind, name: this.name, destination: this.destination };
67
+ }
68
+ cachePlaceholder(context) {
69
+ return context.value;
70
+ }
71
+ }
1
72
  export class ArtifactUploadBuilder {
2
73
  name;
3
74
  patterns;
@@ -11,10 +82,10 @@ export class ArtifactUploadBuilder {
11
82
  return new ArtifactUploadBuilder(this.name, patterns, this.when);
12
83
  }
13
84
  whenSuccess() {
14
- return { kind: 'artifact-upload', name: this.name, patterns: this.patterns, when: 'success' };
85
+ return new ArtifactUploadOperation(this.name, this.patterns, 'success');
15
86
  }
16
87
  whenAlways() {
17
- return { kind: 'artifact-upload', name: this.name, patterns: this.patterns, when: 'always' };
88
+ return new ArtifactUploadOperation(this.name, this.patterns, 'always');
18
89
  }
19
90
  }
20
91
  export class ArtifactDownloadBuilder {
@@ -23,7 +94,7 @@ export class ArtifactDownloadBuilder {
23
94
  this.name = name;
24
95
  }
25
96
  to(destination) {
26
- return { kind: 'artifact-download', name: this.name, destination };
97
+ return new ArtifactDownloadOperation(this.name, destination);
27
98
  }
28
99
  }
29
100
  export const artifact = {
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/ops/artifact.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,qBAAqB;IACf,IAAI,CAAS;IACb,QAAQ,CAAW;IACnB,IAAI,CAAuB;IAE5C,YAAY,IAAY,EAAE,WAAqB,EAAE,EAAE,OAA6B,SAAS;QACvF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,QAAkB;QACzB,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,WAAW;QACT,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAChG,CAAC;IAED,UAAU;QACR,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC/F,CAAC;CACF;AAED,MAAM,OAAO,uBAAuB;IACjB,IAAI,CAAS;IAE9B,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,EAAE,CAAC,WAAmB;QACpB,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;IACrE,CAAC;CACF;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE,CAAC,IAAY,EAAyB,EAAE,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC;IAChF,QAAQ,EAAE,CAAC,IAAY,EAA2B,EAAE,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC;CACvF,CAAC"}
1
+ {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/ops/artifact.ts"],"names":[],"mappings":"AAeA,MAAM,OAAO,uBAAuB;IACzB,IAAI,CAAS;IACb,QAAQ,CAAW;IACnB,IAAI,CAAuB;IAEpC,YAAY,IAAY,EAAE,QAAkB,EAAE,IAA0B;QACtE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,IAAI;QACF,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAChG,CAAC;IAED,mBAAmB;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mBAAmB,CAAC,SAAiB;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,WAAW;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,QAA8B;QAC3C,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,OAAgC;QAC/C,OAAO,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,yBAAyB;IAC3B,IAAI,CAAS;IACb,WAAW,CAAS;IAE7B,YAAY,IAAY,EAAE,WAAmB;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,IAAI;QACF,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;IACvF,CAAC;IAED,mBAAmB;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mBAAmB,CAAC,SAAiB;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,WAAW;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,QAA8B;QAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7E,CAAC;IAED,gBAAgB,CAAC,OAAgC;QAC/C,OAAO,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,qBAAqB;IACf,IAAI,CAAS;IACb,QAAQ,CAAW;IACnB,IAAI,CAAuB;IAE5C,YAAY,IAAY,EAAE,WAAqB,EAAE,EAAE,OAA6B,SAAS;QACvF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,QAAkB;QACzB,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,WAAW;QACT,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED,UAAU;QACR,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,OAAO,uBAAuB;IACjB,IAAI,CAAS;IAE9B,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,EAAE,CAAC,WAAmB;QACpB,OAAO,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;CACF;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE,CAAC,IAAY,EAAyB,EAAE,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC;IAChF,QAAQ,EAAE,CAAC,IAAY,EAA2B,EAAE,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC;CACvF,CAAC"}
@@ -1,8 +1,22 @@
1
1
  import type { ServiceBuilder } from '../dsl/service.js';
2
+ import type { CacheAnalysisContext, CachePlaceholderContext, Operation } from './operation.js';
2
3
  export interface BindServiceOp {
3
4
  kind: 'bind-service';
4
5
  service: ServiceBuilder;
5
6
  alias?: string;
6
7
  }
7
- export declare const bind: (serviceInstance: ServiceBuilder, alias?: string) => BindServiceOp;
8
+ export declare class BindServiceOperation implements Operation<BindServiceOp> {
9
+ readonly service: ServiceBuilder;
10
+ readonly alias?: string;
11
+ constructor(service: ServiceBuilder, alias?: string);
12
+ get kind(): BindServiceOp['kind'];
13
+ toOp(): BindServiceOp;
14
+ analysisPlaceholder(): undefined;
15
+ extractDependencies(_taskName: string): [];
16
+ extractSecrets(): string[];
17
+ extractRefs(): [];
18
+ cacheNormalize(_context: CacheAnalysisContext): unknown;
19
+ cachePlaceholder(context: CachePlaceholderContext): unknown;
20
+ }
21
+ export declare const bind: (serviceInstance: ServiceBuilder, alias?: string) => BindServiceOperation;
8
22
  //# sourceMappingURL=bind.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bind.d.ts","sourceRoot":"","sources":["../../src/ops/bind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,IAAI,GAAI,iBAAiB,cAAc,EAAE,QAAQ,MAAM,KAAG,aAItE,CAAC"}
1
+ {"version":3,"file":"bind.d.ts","sourceRoot":"","sources":["../../src/ops/bind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE/F,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,oBAAqB,YAAW,SAAS,CAAC,aAAa,CAAC;IACnE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM;IAKnD,IAAI,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,CAEhC;IAED,IAAI,IAAI,aAAa;IAMrB,mBAAmB,IAAI,SAAS;IAIhC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,EAAE;IAI1C,cAAc,IAAI,MAAM,EAAE;IAI1B,WAAW,IAAI,EAAE;IAIjB,cAAc,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO;IAIvD,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO;CAG5D;AAED,eAAO,MAAM,IAAI,GAAI,iBAAiB,cAAc,EAAE,QAAQ,MAAM,KAAG,oBACrB,CAAC"}
package/dist/ops/bind.js CHANGED
@@ -1,7 +1,38 @@
1
- export const bind = (serviceInstance, alias) => {
2
- const op = { kind: 'bind-service', service: serviceInstance };
3
- if (alias)
4
- op.alias = alias;
5
- return op;
6
- };
1
+ export class BindServiceOperation {
2
+ service;
3
+ alias;
4
+ constructor(service, alias) {
5
+ this.service = service;
6
+ if (alias)
7
+ this.alias = alias;
8
+ }
9
+ get kind() {
10
+ return 'bind-service';
11
+ }
12
+ toOp() {
13
+ const op = { kind: 'bind-service', service: this.service };
14
+ if (this.alias)
15
+ op.alias = this.alias;
16
+ return op;
17
+ }
18
+ analysisPlaceholder() {
19
+ return undefined;
20
+ }
21
+ extractDependencies(_taskName) {
22
+ return [];
23
+ }
24
+ extractSecrets() {
25
+ return [];
26
+ }
27
+ extractRefs() {
28
+ return [];
29
+ }
30
+ cacheNormalize(_context) {
31
+ return { kind: this.kind, service: this.service, alias: this.alias ?? null };
32
+ }
33
+ cachePlaceholder(context) {
34
+ return context.value;
35
+ }
36
+ }
37
+ export const bind = (serviceInstance, alias) => new BindServiceOperation(serviceInstance, alias);
7
38
  //# sourceMappingURL=bind.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bind.js","sourceRoot":"","sources":["../../src/ops/bind.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,eAA+B,EAAE,KAAc,EAAiB,EAAE;IACrF,MAAM,EAAE,GAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAC7E,IAAI,KAAK;QAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5B,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC"}
1
+ {"version":3,"file":"bind.js","sourceRoot":"","sources":["../../src/ops/bind.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,oBAAoB;IACtB,OAAO,CAAiB;IACxB,KAAK,CAAU;IAExB,YAAY,OAAuB,EAAE,KAAc;QACjD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI;QACF,MAAM,EAAE,GAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1E,IAAI,IAAI,CAAC,KAAK;YAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mBAAmB;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mBAAmB,CAAC,SAAiB;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,WAAW;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,QAA8B;QAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;IAC/E,CAAC;IAED,gBAAgB,CAAC,OAAgC;QAC/C,OAAO,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,eAA+B,EAAE,KAAc,EAAwB,EAAE,CAC5F,IAAI,oBAAoB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { TaskBuilder } from '../dsl/task.js';
2
+ import type { CacheAnalysisContext, CachePlaceholderContext, Operation } from './operation.js';
2
3
  export interface BundleRef {
3
4
  kind: 'bundle';
4
5
  name: string;
@@ -15,6 +16,38 @@ export interface UnpackOp {
15
16
  from: TaskBuilder;
16
17
  ref: BundleRef;
17
18
  }
18
- export declare const pack: (ref: BundleRef) => PackOp;
19
- export declare const unpack: (from: TaskBuilder, ref: BundleRef) => UnpackOp;
19
+ export declare class PackOperation implements Operation<PackOp> {
20
+ readonly ref: BundleRef;
21
+ constructor(ref: BundleRef);
22
+ get kind(): PackOp['kind'];
23
+ toOp(): PackOp;
24
+ analysisPlaceholder(): undefined;
25
+ extractDependencies(_taskName: string): [];
26
+ extractSecrets(): string[];
27
+ extractRefs(): [];
28
+ cacheNormalize(_context: CacheAnalysisContext): unknown;
29
+ cachePlaceholder(_context: CachePlaceholderContext): undefined;
30
+ }
31
+ export declare class UnpackOperation implements Operation<UnpackOp> {
32
+ readonly from: TaskBuilder;
33
+ readonly ref: BundleRef;
34
+ constructor(from: TaskBuilder, ref: BundleRef);
35
+ get kind(): UnpackOp['kind'];
36
+ toOp(): UnpackOp;
37
+ analysisPlaceholder(): undefined;
38
+ extractDependencies(taskName: string): Array<{
39
+ from: string;
40
+ to: string;
41
+ type: 'unpack';
42
+ }>;
43
+ extractSecrets(): string[];
44
+ extractRefs(): Array<{
45
+ type: 'bundle';
46
+ ref: BundleRef;
47
+ }>;
48
+ cacheNormalize(context: CacheAnalysisContext): unknown;
49
+ cachePlaceholder(_context: CachePlaceholderContext): undefined;
50
+ }
51
+ export declare const pack: (ref: BundleRef) => PackOperation;
52
+ export declare const unpack: (from: TaskBuilder, ref: BundleRef) => UnpackOperation;
20
53
  //# sourceMappingURL=bundle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/ops/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC;CAC7C;AASD,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,SAQ9C,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,SAAS,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,SAAS,CAAC;CAChB;AAED,eAAO,MAAM,IAAI,GAAI,KAAK,SAAS,KAAG,MAGpC,CAAC;AAEH,eAAO,MAAM,MAAM,GAAI,MAAM,WAAW,EAAE,KAAK,SAAS,KAAG,QAIzD,CAAC"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/ops/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE/F,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC;CAC7C;AASD,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,SAQ9C,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,SAAS,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,SAAS,CAAC;CAChB;AAED,qBAAa,aAAc,YAAW,SAAS,CAAC,MAAM,CAAC;IACrD,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;gBAEZ,GAAG,EAAE,SAAS;IAI1B,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,CAEzB;IAED,IAAI,IAAI,MAAM;IAId,mBAAmB,IAAI,SAAS;IAIhC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,EAAE;IAI1C,cAAc,IAAI,MAAM,EAAE;IAI1B,WAAW,IAAI,EAAE;IAIjB,cAAc,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO;IAIvD,gBAAgB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,SAAS;CAG/D;AAED,qBAAa,eAAgB,YAAW,SAAS,CAAC,QAAQ,CAAC;IACzD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;gBAEZ,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS;IAK7C,IAAI,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,CAE3B;IAED,IAAI,IAAI,QAAQ;IAIhB,mBAAmB,IAAI,SAAS;IAIhC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;QAC3C,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,QAAQ,CAAC;KAChB,CAAC;IAIF,cAAc,IAAI,MAAM,EAAE;IAI1B,WAAW,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,GAAG,EAAE,SAAS,CAAA;KAAE,CAAC;IAIxD,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO;IAUtD,gBAAgB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,SAAS;CAG/D;AAED,eAAO,MAAM,IAAI,GAAI,KAAK,SAAS,KAAG,aAAuC,CAAC;AAE9E,eAAO,MAAM,MAAM,GAAI,MAAM,WAAW,EAAE,KAAK,SAAS,KAAG,eAC3B,CAAC"}
@@ -12,13 +12,74 @@ export const createBundleRef = (name) => {
12
12
  };
13
13
  return ref;
14
14
  };
15
- export const pack = (ref) => ({
16
- kind: 'pack',
17
- ref,
18
- });
19
- export const unpack = (from, ref) => ({
20
- kind: 'unpack',
21
- from,
22
- ref,
23
- });
15
+ export class PackOperation {
16
+ ref;
17
+ constructor(ref) {
18
+ this.ref = ref;
19
+ }
20
+ get kind() {
21
+ return 'pack';
22
+ }
23
+ toOp() {
24
+ return { kind: 'pack', ref: this.ref };
25
+ }
26
+ analysisPlaceholder() {
27
+ return undefined;
28
+ }
29
+ extractDependencies(_taskName) {
30
+ return [];
31
+ }
32
+ extractSecrets() {
33
+ return [];
34
+ }
35
+ extractRefs() {
36
+ return [];
37
+ }
38
+ cacheNormalize(_context) {
39
+ return { kind: this.kind, name: this.ref.name, patterns: this.ref.patterns };
40
+ }
41
+ cachePlaceholder(_context) {
42
+ return undefined;
43
+ }
44
+ }
45
+ export class UnpackOperation {
46
+ from;
47
+ ref;
48
+ constructor(from, ref) {
49
+ this.from = from;
50
+ this.ref = ref;
51
+ }
52
+ get kind() {
53
+ return 'unpack';
54
+ }
55
+ toOp() {
56
+ return { kind: 'unpack', from: this.from, ref: this.ref };
57
+ }
58
+ analysisPlaceholder() {
59
+ return undefined;
60
+ }
61
+ extractDependencies(taskName) {
62
+ return [{ from: this.from.config.name, to: taskName, type: 'unpack' }];
63
+ }
64
+ extractSecrets() {
65
+ return [];
66
+ }
67
+ extractRefs() {
68
+ return [{ type: 'bundle', ref: this.ref }];
69
+ }
70
+ cacheNormalize(context) {
71
+ context.addDependency(this.from.config.name);
72
+ return {
73
+ kind: this.kind,
74
+ from: this.from.config.name,
75
+ name: this.ref.name,
76
+ patterns: this.ref.patterns,
77
+ };
78
+ }
79
+ cachePlaceholder(_context) {
80
+ return undefined;
81
+ }
82
+ }
83
+ export const pack = (ref) => new PackOperation(ref);
84
+ export const unpack = (from, ref) => new UnpackOperation(from, ref);
24
85
  //# sourceMappingURL=bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/ops/bundle.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,GAAG,CAAC,GAAc,EAAE,QAAkB,EAAa,EAAE,CAAC,CAAC;IACtE,GAAG,GAAG;IACN,QAAQ;IACR,KAAK,EAAE,CAAC,GAAG,YAAsB,EAAE,EAAE,CACnC,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;CACtE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAa,EAAE;IACzD,MAAM,GAAG,GAAc;QACrB,IAAI,EAAE,QAAQ;QACd,IAAI;QACJ,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,CAAC,GAAG,QAAkB,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;KAC7D,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAaF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAc,EAAU,EAAE,CAAC,CAAC;IAC/C,IAAI,EAAE,MAAM;IACZ,GAAG;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAiB,EAAE,GAAc,EAAY,EAAE,CAAC,CAAC;IACtE,IAAI,EAAE,QAAQ;IACd,IAAI;IACJ,GAAG;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/ops/bundle.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { StepGenerator } from '../dsl/types.js';
2
+ import type { CacheAnalysisContext, CachePlaceholderContext, Operation } from './operation.js';
2
3
  export interface CacheKey {
3
4
  files?: string[];
4
5
  env?: string[];
@@ -36,10 +37,51 @@ export interface CacheOrOp {
36
37
  key?: CacheKey;
37
38
  compute: StepGenerator;
38
39
  }
39
- export declare const cacheOr: (name: string, options: CacheOrOptions) => CacheOrOp;
40
- type CacheFn = ((name: string, options: CacheOptions) => CacheOp) & {
40
+ export declare class CacheOperation implements Operation<CacheOp> {
41
+ readonly name: string;
42
+ readonly paths: string[];
43
+ readonly key?: CacheKey;
44
+ constructor(name: string, paths: string[], key?: CacheKey);
45
+ get kind(): CacheOp['kind'];
46
+ toOp(): CacheOp;
47
+ analysisPlaceholder(): undefined;
48
+ extractDependencies(_taskName: string): [];
49
+ extractSecrets(): string[];
50
+ extractRefs(): [];
51
+ cacheNormalize(_context: CacheAnalysisContext): unknown;
52
+ cachePlaceholder(context: CachePlaceholderContext): unknown;
53
+ }
54
+ export declare class CacheOrOperation implements Operation<CacheOrOp> {
55
+ readonly name: string;
56
+ readonly paths: string[];
57
+ readonly key?: CacheKey;
58
+ readonly compute: StepGenerator;
59
+ constructor(name: string, paths: string[], compute: StepGenerator, key?: CacheKey);
60
+ get kind(): CacheOrOp['kind'];
61
+ toOp(): CacheOrOp;
62
+ analysisPlaceholder(): undefined;
63
+ extractDependencies(_taskName: string): [];
64
+ extractSecrets(): string[];
65
+ extractRefs(): [];
66
+ cacheNormalize(context: CacheAnalysisContext): unknown;
67
+ cachePlaceholder(context: CachePlaceholderContext): unknown;
68
+ }
69
+ export declare class CacheMountOperation implements Operation<CacheMountOp> {
70
+ readonly cache: CacheRef;
71
+ constructor(cache: CacheRef);
72
+ get kind(): CacheMountOp['kind'];
73
+ toOp(): CacheMountOp;
74
+ analysisPlaceholder(): undefined;
75
+ extractDependencies(_taskName: string): [];
76
+ extractSecrets(): string[];
77
+ extractRefs(): [];
78
+ cacheNormalize(_context: CacheAnalysisContext): unknown;
79
+ cachePlaceholder(context: CachePlaceholderContext): unknown;
80
+ }
81
+ export declare const cacheOr: (name: string, options: CacheOrOptions) => CacheOrOperation;
82
+ type CacheFn = ((name: string, options: CacheOptions) => CacheOperation) & {
41
83
  dir: (name: string) => CacheRef;
42
- mount: (ref: CacheRef) => CacheMountOp;
84
+ mount: (ref: CacheRef) => CacheMountOperation;
43
85
  };
44
86
  export declare const cache: CacheFn;
45
87
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/ops/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC;IAC/B,YAAY,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,QAAQ,CAAC;CAChD;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,aAAa,CAAC;CACxB;AAcD,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,SAAS,cAAc,KAAG,SAM9D,CAAC;AAEH,KAAK,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,GAAG;IAClE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC;IAChC,KAAK,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,YAAY,CAAC;CACxC,CAAC;AAeF,eAAO,MAAM,KAAK,SAAU,CAAC"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/ops/cache.ts"],"names":[],"mappings":"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"}