@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
package/dist/ops/http.js CHANGED
@@ -40,11 +40,90 @@ const templateFromInput = (input, values) => {
40
40
  return [toTemplatePart(input)];
41
41
  };
42
42
  const hasHeader = (headers, name) => headers.some((header) => header.name.toLowerCase() === name.toLowerCase());
43
+ const collectTemplateSecrets = (template) => {
44
+ const names = new Set();
45
+ for (const part of template) {
46
+ if (part.type === 'secret')
47
+ names.add(part.name);
48
+ }
49
+ return Array.from(names);
50
+ };
51
+ const collectTemplateMetadata = (template, addSecret, addParam) => {
52
+ for (const part of template) {
53
+ if (part.type === 'secret')
54
+ addSecret(part.name);
55
+ if (part.type === 'param')
56
+ addParam(part.ref.name);
57
+ }
58
+ };
59
+ const normalizeTemplatePart = (part) => {
60
+ if (part.type === 'text' || part.type === 'interpolated') {
61
+ return { type: part.type, value: part.value };
62
+ }
63
+ if (part.type === 'secret') {
64
+ return { type: part.type, name: part.name };
65
+ }
66
+ return { type: part.type, name: part.ref.name };
67
+ };
43
68
  export class HttpBuilder {
44
69
  op;
45
70
  constructor(op) {
46
71
  this.op = op;
47
72
  }
73
+ get kind() {
74
+ return this.op.kind;
75
+ }
76
+ toOp() {
77
+ return this.op;
78
+ }
79
+ analysisPlaceholder() {
80
+ return { status: 200, ok: true, headers: {}, body: '' };
81
+ }
82
+ extractDependencies(_taskName) {
83
+ return [];
84
+ }
85
+ extractSecrets() {
86
+ const names = new Set();
87
+ for (const name of collectTemplateSecrets(this.op.url))
88
+ names.add(name);
89
+ for (const header of this.op.headers) {
90
+ for (const name of collectTemplateSecrets(header.value))
91
+ names.add(name);
92
+ }
93
+ if (this.op.body) {
94
+ for (const name of collectTemplateSecrets(this.op.body))
95
+ names.add(name);
96
+ }
97
+ return Array.from(names);
98
+ }
99
+ extractRefs() {
100
+ return [];
101
+ }
102
+ cacheNormalize(context) {
103
+ collectTemplateMetadata(this.op.url, context.addSecret, context.addParam);
104
+ for (const header of this.op.headers) {
105
+ collectTemplateMetadata(header.value, context.addSecret, context.addParam);
106
+ }
107
+ if (this.op.body) {
108
+ collectTemplateMetadata(this.op.body, context.addSecret, context.addParam);
109
+ }
110
+ return {
111
+ kind: this.op.kind,
112
+ method: this.op.method,
113
+ url: this.op.url.map(normalizeTemplatePart),
114
+ headers: this.op.headers.map((header) => ({
115
+ name: header.name,
116
+ value: header.value.map(normalizeTemplatePart),
117
+ })),
118
+ body: this.op.body ? this.op.body.map(normalizeTemplatePart) : null,
119
+ bodyPath: this.op.bodyPath ?? null,
120
+ };
121
+ }
122
+ cachePlaceholder(context) {
123
+ if (!context.isPrimary)
124
+ return undefined;
125
+ return { status: 200, ok: true, headers: {}, body: '' };
126
+ }
48
127
  header(name, value, ...values) {
49
128
  const next = { name, value: templateFromInput(value, values) };
50
129
  return new HttpBuilder({ ...this.op, headers: [...this.op.headers, next] });
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/ops/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/ops/http.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export type { Op, OpError, OpResult } from './base.js';
2
2
  export type { OpErrorType } from './errors.js';
3
3
  export { OpErrors } from './errors.js';
4
+ export type { Operation, OperationRef, TaskDependency } from './operation.js';
5
+ export { isOperation } from './operation.js';
4
6
  export { sh, CommandBuilder } from './shell.js';
5
7
  export type { CommandOp, CommandCacheConfig, CommandCacheOptions, TemplatePart, InterpolatedValue, } from './shell.js';
6
8
  export { http, HttpBuilder } from './http.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ops/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACvD,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,SAAS,EACT,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACzF,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ops/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACvD,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,SAAS,EACT,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACzF,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
package/dist/ops/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { OpErrors } from './errors.js';
2
+ export { isOperation } from './operation.js';
2
3
  export { sh, CommandBuilder } from './shell.js';
3
4
  export { http, HttpBuilder } from './http.js';
4
5
  export { env } from './env.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ops/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAQhD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAU5C,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEzF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ops/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAQhD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAU5C,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEzF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,40 @@
1
+ export interface TaskDependency {
2
+ from: string;
3
+ to: string;
4
+ type: 'needs' | 'use' | 'unpack';
5
+ }
6
+ export type OperationRef = {
7
+ type: 'value' | 'bundle';
8
+ ref: unknown;
9
+ };
10
+ export interface CachePlaceholderContext {
11
+ value: unknown;
12
+ isPrimary: boolean;
13
+ }
14
+ export type StepGeneratorLike = (ctx: StepCtx) => Generator<Operation, unknown, unknown>;
15
+ export interface CacheAnalysisContext {
16
+ addCommandSignature: (signature: string) => void;
17
+ addDependency: (name: string) => void;
18
+ addSecret: (name: string) => void;
19
+ addParam: (name: string) => void;
20
+ analyzeNested: (compute: StepGeneratorLike, resultValue: unknown) => unknown[];
21
+ resultValue: unknown;
22
+ placeholder: CachePlaceholderContext;
23
+ }
24
+ export interface Operation<TOp extends {
25
+ kind: string;
26
+ } = {
27
+ kind: string;
28
+ }> {
29
+ readonly kind: TOp['kind'];
30
+ toOp(): TOp;
31
+ analysisPlaceholder(): unknown;
32
+ extractDependencies(taskName: string): TaskDependency[];
33
+ extractSecrets(): string[];
34
+ extractRefs(): OperationRef[];
35
+ cacheNormalize(context: CacheAnalysisContext): unknown;
36
+ cachePlaceholder(context: CachePlaceholderContext): unknown;
37
+ }
38
+ export declare const isOperation: (value: unknown) => value is Operation;
39
+ import type { StepCtx } from '../dsl/types.js';
40
+ //# sourceMappingURL=operation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../src/ops/operation.ts"],"names":[],"mappings":"AAAA,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,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtE,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAEzF,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,aAAa,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;IAC/E,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,uBAAuB,CAAC;CACtC;AAED,MAAM,WAAW,SAAS,CAAC,GAAG,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;IACxE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,IAAI,GAAG,CAAC;IACZ,mBAAmB,IAAI,OAAO,CAAC;IAC/B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAAC;IACxD,cAAc,IAAI,MAAM,EAAE,CAAC;IAC3B,WAAW,IAAI,YAAY,EAAE,CAAC;IAC9B,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC;IACvD,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC;CAC7D;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAarD,CAAC;AACF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export const isOperation = (value) => {
2
+ if (!value || typeof value !== 'object')
3
+ return false;
4
+ const op = value;
5
+ return (typeof op.kind === 'string' &&
6
+ typeof op.toOp === 'function' &&
7
+ typeof op.analysisPlaceholder === 'function' &&
8
+ typeof op.extractDependencies === 'function' &&
9
+ typeof op.extractSecrets === 'function' &&
10
+ typeof op.extractRefs === 'function' &&
11
+ typeof op.cacheNormalize === 'function' &&
12
+ typeof op.cachePlaceholder === 'function');
13
+ };
14
+ //# sourceMappingURL=operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/ops/operation.ts"],"names":[],"mappings":"AAoCA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAsB,EAAE;IAChE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,EAAE,GAAG,KAAgC,CAAC;IAC5C,OAAO,CACL,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ;QAC3B,OAAO,EAAE,CAAC,IAAI,KAAK,UAAU;QAC7B,OAAO,EAAE,CAAC,mBAAmB,KAAK,UAAU;QAC5C,OAAO,EAAE,CAAC,mBAAmB,KAAK,UAAU;QAC5C,OAAO,EAAE,CAAC,cAAc,KAAK,UAAU;QACvC,OAAO,EAAE,CAAC,WAAW,KAAK,UAAU;QACpC,OAAO,EAAE,CAAC,cAAc,KAAK,UAAU;QACvC,OAAO,EAAE,CAAC,gBAAgB,KAAK,UAAU,CAC1C,CAAC;AACJ,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { TaskBuilder } from '../dsl/task.js';
2
2
  import type { BundleRef } from './bundle.js';
3
+ import type { CacheAnalysisContext, CachePlaceholderContext, Operation } from './operation.js';
3
4
  import type { ValueRef } from './types.js';
4
5
  export type { ValueRef } from './types.js';
5
6
  export interface EmitOp<T> {
@@ -19,6 +20,39 @@ export declare const out: {
19
20
  readonly boolean: (name: string) => ValueRef<boolean>;
20
21
  readonly json: <T>(name: string) => ValueRef<T>;
21
22
  };
22
- export declare const emit: <T>(ref: ValueRef<T>, value: T) => EmitOp<T>;
23
- export declare const use: <T>(from: TaskBuilder, ref: ValueRef<T>) => UseOp<T>;
23
+ export declare const emit: <T>(ref: ValueRef<T>, value: T) => EmitOperation<T>;
24
+ export declare const use: <T>(from: TaskBuilder, ref: ValueRef<T>) => UseOperation<T>;
25
+ export declare class EmitOperation<T> implements Operation<EmitOp<T>> {
26
+ readonly ref: ValueRef<T>;
27
+ readonly value: T;
28
+ constructor(ref: ValueRef<T>, value: T);
29
+ get kind(): EmitOp<T>['kind'];
30
+ toOp(): EmitOp<T>;
31
+ analysisPlaceholder(): unknown;
32
+ extractDependencies(_taskName: string): [];
33
+ extractSecrets(): string[];
34
+ extractRefs(): [];
35
+ cacheNormalize(_context: CacheAnalysisContext): unknown;
36
+ cachePlaceholder(_context: CachePlaceholderContext): unknown;
37
+ }
38
+ export declare class UseOperation<T> implements Operation<UseOp<T>> {
39
+ readonly from: TaskBuilder;
40
+ readonly ref: ValueRef<T>;
41
+ constructor(from: TaskBuilder, ref: ValueRef<T>);
42
+ get kind(): UseOp<T>['kind'];
43
+ toOp(): UseOp<T>;
44
+ analysisPlaceholder(): unknown;
45
+ extractDependencies(taskName: string): Array<{
46
+ from: string;
47
+ to: string;
48
+ type: 'use';
49
+ }>;
50
+ extractSecrets(): string[];
51
+ extractRefs(): Array<{
52
+ type: 'value';
53
+ ref: ValueRef<T>;
54
+ }>;
55
+ cacheNormalize(context: CacheAnalysisContext): unknown;
56
+ cachePlaceholder(context: CachePlaceholderContext): unknown;
57
+ }
24
58
  //# sourceMappingURL=output.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/ops/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjB,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;CAClB;AAED,eAAO,MAAM,GAAG;4BAEC,MAAM,KAAG,SAAS;;;;;CACzB,CAAC;AAEX,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,CAAC,CAI3D,CAAC;AAEH,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,MAAM,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAG,KAAK,CAAC,CAAC,CAIlE,CAAC"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/ops/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE/F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjB,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;CAClB;AAED,eAAO,MAAM,GAAG;4BAEC,MAAM,KAAG,SAAS;;;;;CACzB,CAAC;AAEX,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAG,aAAa,CAAC,CAAC,CACrC,CAAC;AAEhC,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,MAAM,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAG,YAAY,CAAC,CAAC,CAC9C,CAAC;AAE9B,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBAEN,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IAKtC,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAE5B;IAED,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;IAIjB,mBAAmB,IAAI,OAAO;IAI9B,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,OAAO;CAG7D;AAED,qBAAa,YAAY,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAEd,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAK/C,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAE3B;IAED,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;IAIhB,mBAAmB,IAAI,OAAO;IAI9B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;QAC3C,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,KAAK,CAAC;KACb,CAAC;IAIF,cAAc,IAAI,MAAM,EAAE;IAI1B,WAAW,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;IAIzD,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO;IAKtD,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO;CAG5D"}
@@ -4,14 +4,71 @@ export const out = {
4
4
  ...baseOut,
5
5
  bundle: (name) => createBundleRef(name),
6
6
  };
7
- export const emit = (ref, value) => ({
8
- kind: 'emit',
9
- ref,
10
- value,
11
- });
12
- export const use = (from, ref) => ({
13
- kind: 'use',
14
- from,
15
- ref,
16
- });
7
+ export const emit = (ref, value) => new EmitOperation(ref, value);
8
+ export const use = (from, ref) => new UseOperation(from, ref);
9
+ export class EmitOperation {
10
+ ref;
11
+ value;
12
+ constructor(ref, value) {
13
+ this.ref = ref;
14
+ this.value = value;
15
+ }
16
+ get kind() {
17
+ return 'emit';
18
+ }
19
+ toOp() {
20
+ return { kind: 'emit', ref: this.ref, value: this.value };
21
+ }
22
+ analysisPlaceholder() {
23
+ return this.value;
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, ref: this.ref.name, value: this.value };
36
+ }
37
+ cachePlaceholder(_context) {
38
+ return this.value;
39
+ }
40
+ }
41
+ export class UseOperation {
42
+ from;
43
+ ref;
44
+ constructor(from, ref) {
45
+ this.from = from;
46
+ this.ref = ref;
47
+ }
48
+ get kind() {
49
+ return 'use';
50
+ }
51
+ toOp() {
52
+ return { kind: 'use', from: this.from, ref: this.ref };
53
+ }
54
+ analysisPlaceholder() {
55
+ return this.ref.parse('');
56
+ }
57
+ extractDependencies(taskName) {
58
+ return [{ from: this.from.config.name, to: taskName, type: 'use' }];
59
+ }
60
+ extractSecrets() {
61
+ return [];
62
+ }
63
+ extractRefs() {
64
+ return [{ type: 'value', ref: this.ref }];
65
+ }
66
+ cacheNormalize(context) {
67
+ context.addDependency(this.from.config.name);
68
+ return { kind: this.kind, from: this.from.config.name, ref: this.ref.name };
69
+ }
70
+ cachePlaceholder(context) {
71
+ return context.isPrimary ? this.ref.parse('') : undefined;
72
+ }
73
+ }
17
74
  //# sourceMappingURL=output.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/ops/output.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAiB1C,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,GAAG,OAAO;IACV,MAAM,EAAE,CAAC,IAAY,EAAa,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;CAClD,CAAC;AAEX,MAAM,CAAC,MAAM,IAAI,GAAG,CAAI,GAAgB,EAAE,KAAQ,EAAa,EAAE,CAAC,CAAC;IACjE,IAAI,EAAE,MAAM;IACZ,GAAG;IACH,KAAK;CACN,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAI,IAAiB,EAAE,GAAgB,EAAY,EAAE,CAAC,CAAC;IACxE,IAAI,EAAE,KAAK;IACX,IAAI;IACJ,GAAG;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/ops/output.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,24 @@
1
+ import type { CacheAnalysisContext, CachePlaceholderContext, Operation } from './operation.js';
1
2
  export interface ReportOp {
2
3
  kind: 'report';
3
4
  reportType: 'junit' | 'coverage';
4
5
  path: string;
5
6
  }
7
+ export declare class ReportOperation implements Operation<ReportOp> {
8
+ readonly reportType: ReportOp['reportType'];
9
+ readonly path: string;
10
+ constructor(reportType: ReportOp['reportType'], path: string);
11
+ get kind(): ReportOp['kind'];
12
+ toOp(): ReportOp;
13
+ analysisPlaceholder(): undefined;
14
+ extractDependencies(_taskName: string): [];
15
+ extractSecrets(): string[];
16
+ extractRefs(): [];
17
+ cacheNormalize(_context: CacheAnalysisContext): unknown;
18
+ cachePlaceholder(context: CachePlaceholderContext): unknown;
19
+ }
6
20
  export declare const report: {
7
- junit: (path: string) => ReportOp;
8
- coverage: (path: string) => ReportOp;
21
+ junit: (path: string) => ReportOperation;
22
+ coverage: (path: string) => ReportOperation;
9
23
  };
10
24
  //# sourceMappingURL=report.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/ops/report.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,OAAO,GAAG,UAAU,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,MAAM;kBACH,MAAM,KAAG,QAAQ;qBAKd,MAAM,KAAG,QAAQ;CAKnC,CAAC"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/ops/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE/F,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,OAAO,GAAG,UAAU,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,eAAgB,YAAW,SAAS,CAAC,QAAQ,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM;IAK5D,IAAI,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,CAE3B;IAED,IAAI,IAAI,QAAQ;IAIhB,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,MAAM;kBACH,MAAM,KAAG,eAAe;qBACrB,MAAM,KAAG,eAAe;CAC1C,CAAC"}
@@ -1,13 +1,37 @@
1
+ export class ReportOperation {
2
+ reportType;
3
+ path;
4
+ constructor(reportType, path) {
5
+ this.reportType = reportType;
6
+ this.path = path;
7
+ }
8
+ get kind() {
9
+ return 'report';
10
+ }
11
+ toOp() {
12
+ return { kind: 'report', reportType: this.reportType, path: this.path };
13
+ }
14
+ analysisPlaceholder() {
15
+ return undefined;
16
+ }
17
+ extractDependencies(_taskName) {
18
+ return [];
19
+ }
20
+ extractSecrets() {
21
+ return [];
22
+ }
23
+ extractRefs() {
24
+ return [];
25
+ }
26
+ cacheNormalize(_context) {
27
+ return { kind: this.kind, reportType: this.reportType, path: this.path };
28
+ }
29
+ cachePlaceholder(context) {
30
+ return context.value;
31
+ }
32
+ }
1
33
  export const report = {
2
- junit: (path) => ({
3
- kind: 'report',
4
- reportType: 'junit',
5
- path,
6
- }),
7
- coverage: (path) => ({
8
- kind: 'report',
9
- reportType: 'coverage',
10
- path,
11
- }),
34
+ junit: (path) => new ReportOperation('junit', path),
35
+ coverage: (path) => new ReportOperation('coverage', path),
12
36
  };
13
37
  //# sourceMappingURL=report.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/ops/report.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,CAAC,IAAY,EAAY,EAAE,CAAC,CAAC;QAClC,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,OAAO;QACnB,IAAI;KACL,CAAC;IACF,QAAQ,EAAE,CAAC,IAAY,EAAY,EAAE,CAAC,CAAC;QACrC,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,UAAU;QACtB,IAAI;KACL,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/ops/report.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,eAAe;IACjB,UAAU,CAAyB;IACnC,IAAI,CAAS;IAEtB,YAAY,UAAkC,EAAE,IAAY;QAC1D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI;QACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1E,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,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3E,CAAC;IAED,gBAAgB,CAAC,OAAgC;QAC/C,OAAO,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,CAAC,IAAY,EAAmB,EAAE,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC;IAC5E,QAAQ,EAAE,CAAC,IAAY,EAAmB,EAAE,CAAC,IAAI,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC;CACnF,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { CacheKey } from './cache.js';
2
- import type { ParamRef, ValueRef } from './types.js';
3
- import type { Interpolatable } from './types.js';
2
+ import type { CacheAnalysisContext, CachePlaceholderContext, Operation } from './operation.js';
3
+ import type { Interpolatable, ParamRef, ValueRef } from './types.js';
4
4
  export type InterpolatedValue = Interpolatable;
5
5
  export type TemplatePart = {
6
6
  type: 'text';
@@ -34,13 +34,21 @@ export interface CommandCacheOptions {
34
34
  export interface CommandCacheConfig extends CommandCacheOptions {
35
35
  enabled?: boolean;
36
36
  }
37
- export declare class CommandBuilder {
37
+ export declare class CommandBuilder implements Operation<CommandOp> {
38
38
  readonly op: CommandOp;
39
39
  constructor(op: CommandOp);
40
- stdout(): CommandOp;
41
- code(): CommandOp;
42
- ok(): CommandOp;
43
- must(): CommandOp;
40
+ get kind(): CommandOp['kind'];
41
+ toOp(): CommandOp;
42
+ analysisPlaceholder(): unknown;
43
+ extractDependencies(_taskName: string): [];
44
+ extractSecrets(): string[];
45
+ extractRefs(): [];
46
+ cacheNormalize(context: CacheAnalysisContext): unknown;
47
+ cachePlaceholder(context: CachePlaceholderContext): unknown;
48
+ stdout(): CommandBuilder;
49
+ code(): CommandBuilder;
50
+ ok(): CommandBuilder;
51
+ must(): CommandBuilder;
44
52
  cached(options?: CommandCacheOptions): CommandBuilder;
45
53
  uncached(): CommandBuilder;
46
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/ops/shell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAE/C,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;CAAE,CAAC;AAEhE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAeD,qBAAa,cAAc;IACzB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;gBAEX,EAAE,EAAE,SAAS;IAIzB,MAAM,IAAI,SAAS;IAInB,IAAI,IAAI,SAAS;IAIjB,EAAE,IAAI,SAAS;IAIf,IAAI,IAAI,SAAS;IAIjB,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,cAAc;IAIrD,QAAQ,IAAI,cAAc;CAG3B;AAED,eAAO,MAAM,EAAE,GACb,SAAS,oBAAoB,EAC7B,GAAG,QAAQ,iBAAiB,EAAE,KAC7B,cAiBF,CAAC"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/ops/shell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC/F,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAE/C,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;CAAE,CAAC;AAEhE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAiDD,qBAAa,cAAe,YAAW,SAAS,CAAC,SAAS,CAAC;IACzD,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;gBAEX,EAAE,EAAE,SAAS;IAIzB,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,CAE5B;IAED,IAAI,IAAI,SAAS;IAIjB,mBAAmB,IAAI,OAAO;IAI9B,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,EAAE;IAI1C,cAAc,IAAI,MAAM,EAAE;IAU1B,WAAW,IAAI,EAAE;IAIjB,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO;IAWtD,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO;IAO3D,MAAM,IAAI,cAAc;IAIxB,IAAI,IAAI,cAAc;IAItB,EAAE,IAAI,cAAc;IAIpB,IAAI,IAAI,cAAc;IAItB,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,cAAc;IAIrD,QAAQ,IAAI,cAAc;CAG3B;AAED,eAAO,MAAM,EAAE,GACb,SAAS,oBAAoB,EAC7B,GAAG,QAAQ,iBAAiB,EAAE,KAC7B,cAiBF,CAAC"}
package/dist/ops/shell.js CHANGED
@@ -10,22 +10,94 @@ const toTemplatePart = (value) => {
10
10
  }
11
11
  return { type: 'value', ref: value };
12
12
  };
13
+ const collectTemplateMetadata = (template, addSecret, addParam) => {
14
+ for (const part of template) {
15
+ if (part.type === 'secret')
16
+ addSecret(part.name);
17
+ if (part.type === 'param')
18
+ addParam(part.ref.name);
19
+ }
20
+ };
21
+ const normalizeTemplatePart = (part) => {
22
+ if (part.type === 'text' || part.type === 'interpolated') {
23
+ return { type: part.type, value: part.value };
24
+ }
25
+ if (part.type === 'secret') {
26
+ return { type: part.type, name: part.name };
27
+ }
28
+ return { type: part.type, name: part.ref.name };
29
+ };
30
+ const commandSignature = (template) => {
31
+ const raw = template
32
+ .map((part) => {
33
+ if (part.type === 'text')
34
+ return part.value;
35
+ if (part.type === 'interpolated')
36
+ return String(part.value);
37
+ if (part.type === 'secret')
38
+ return `<secret:${part.name}>`;
39
+ if (part.type === 'param')
40
+ return `<param:${part.ref.name}>`;
41
+ return `<value:${part.ref.name}>`;
42
+ })
43
+ .join('');
44
+ return raw.replace(/\s+/g, ' ').trim();
45
+ };
13
46
  export class CommandBuilder {
14
47
  op;
15
48
  constructor(op) {
16
49
  this.op = op;
17
50
  }
51
+ get kind() {
52
+ return this.op.kind;
53
+ }
54
+ toOp() {
55
+ return this.op;
56
+ }
57
+ analysisPlaceholder() {
58
+ return '';
59
+ }
60
+ extractDependencies(_taskName) {
61
+ return [];
62
+ }
63
+ extractSecrets() {
64
+ const names = new Set();
65
+ collectTemplateMetadata(this.op.template, (name) => names.add(name), () => { });
66
+ return Array.from(names);
67
+ }
68
+ extractRefs() {
69
+ return [];
70
+ }
71
+ cacheNormalize(context) {
72
+ context.addCommandSignature(commandSignature(this.op.template));
73
+ collectTemplateMetadata(this.op.template, context.addSecret, context.addParam);
74
+ return {
75
+ kind: this.op.kind,
76
+ capture: this.op.capture,
77
+ cache: this.op.cache ?? null,
78
+ template: this.op.template.map(normalizeTemplatePart),
79
+ };
80
+ }
81
+ cachePlaceholder(context) {
82
+ if (!context.isPrimary)
83
+ return undefined;
84
+ if (this.op.capture === 'ok')
85
+ return true;
86
+ if (this.op.capture === 'code')
87
+ return 0;
88
+ return '';
89
+ }
18
90
  stdout() {
19
- return { ...this.op, capture: 'stdout' };
91
+ return new CommandBuilder({ ...this.op, capture: 'stdout' });
20
92
  }
21
93
  code() {
22
- return { ...this.op, capture: 'code' };
94
+ return new CommandBuilder({ ...this.op, capture: 'code' });
23
95
  }
24
96
  ok() {
25
- return { ...this.op, capture: 'ok' };
97
+ return new CommandBuilder({ ...this.op, capture: 'ok' });
26
98
  }
27
99
  must() {
28
- return { ...this.op, capture: 'must' };
100
+ return new CommandBuilder({ ...this.op, capture: 'must' });
29
101
  }
30
102
  cached(options) {
31
103
  return new CommandBuilder({ ...this.op, cache: { enabled: true, ...options } });
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/ops/shell.ts"],"names":[],"mappings":"AAgCA,MAAM,cAAc,GAAG,CAAC,KAAwB,EAAgB,EAAE;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,OAAO,cAAc;IAChB,EAAE,CAAY;IAEvB,YAAY,EAAa;QACvB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI;QACF,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACzC,CAAC;IAED,EAAE;QACA,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,IAAI;QACF,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,OAA6B;QAClC,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;CACF;AAED,MAAM,CAAC,MAAM,EAAE,GAAG,CAChB,OAA6B,EAC7B,GAAG,MAA2B,EACd,EAAE;IAClB,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,cAAc,CAAC;QACxB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,QAAQ;QACjB,QAAQ;KACT,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/ops/shell.ts"],"names":[],"mappings":"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"}