task-pipeliner 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/README.ko.md +17 -1
  2. package/README.md +17 -1
  3. package/dist/index.cjs +18 -16
  4. package/dist/index.js +18 -16
  5. package/dist/task-pipeliner-rs.node +0 -0
  6. package/package.json +17 -1
  7. package/dist/cli/index.d.ts +0 -19
  8. package/dist/cli/index.d.ts.map +0 -1
  9. package/dist/cli/index.js +0 -305
  10. package/dist/cli/index.js.map +0 -1
  11. package/dist/cli/prompts.d.ts +0 -48
  12. package/dist/cli/prompts.d.ts.map +0 -1
  13. package/dist/cli/prompts.js +0 -75
  14. package/dist/cli/prompts.js.map +0 -1
  15. package/dist/cli/ui.d.ts +0 -39
  16. package/dist/cli/ui.d.ts.map +0 -1
  17. package/dist/cli/ui.js +0 -84
  18. package/dist/cli/ui.js.map +0 -1
  19. package/dist/core/__tests__/actual-execution.test.d.ts +0 -2
  20. package/dist/core/__tests__/actual-execution.test.d.ts.map +0 -1
  21. package/dist/core/__tests__/actual-execution.test.js +0 -147
  22. package/dist/core/__tests__/actual-execution.test.js.map +0 -1
  23. package/dist/core/__tests__/base-dir.test.d.ts +0 -2
  24. package/dist/core/__tests__/base-dir.test.d.ts.map +0 -1
  25. package/dist/core/__tests__/base-dir.test.js +0 -146
  26. package/dist/core/__tests__/base-dir.test.js.map +0 -1
  27. package/dist/core/__tests__/built-code-execution.test.d.ts +0 -2
  28. package/dist/core/__tests__/built-code-execution.test.d.ts.map +0 -1
  29. package/dist/core/__tests__/built-code-execution.test.js +0 -48
  30. package/dist/core/__tests__/built-code-execution.test.js.map +0 -1
  31. package/dist/core/__tests__/choose-as-var-condition.test.d.ts +0 -2
  32. package/dist/core/__tests__/choose-as-var-condition.test.d.ts.map +0 -1
  33. package/dist/core/__tests__/choose-as-var-condition.test.js +0 -308
  34. package/dist/core/__tests__/choose-as-var-condition.test.js.map +0 -1
  35. package/dist/core/__tests__/cli-integration.test.d.ts +0 -2
  36. package/dist/core/__tests__/cli-integration.test.d.ts.map +0 -1
  37. package/dist/core/__tests__/cli-integration.test.js +0 -83
  38. package/dist/core/__tests__/cli-integration.test.js.map +0 -1
  39. package/dist/core/__tests__/comprehensive-basic-yaml.test.d.ts +0 -2
  40. package/dist/core/__tests__/comprehensive-basic-yaml.test.d.ts.map +0 -1
  41. package/dist/core/__tests__/comprehensive-basic-yaml.test.js +0 -114
  42. package/dist/core/__tests__/comprehensive-basic-yaml.test.js.map +0 -1
  43. package/dist/core/__tests__/condition-evaluator.test.d.ts +0 -2
  44. package/dist/core/__tests__/condition-evaluator.test.d.ts.map +0 -1
  45. package/dist/core/__tests__/condition-evaluator.test.js +0 -164
  46. package/dist/core/__tests__/condition-evaluator.test.js.map +0 -1
  47. package/dist/core/__tests__/debug-basic-yaml.test.d.ts +0 -2
  48. package/dist/core/__tests__/debug-basic-yaml.test.d.ts.map +0 -1
  49. package/dist/core/__tests__/debug-basic-yaml.test.js +0 -126
  50. package/dist/core/__tests__/debug-basic-yaml.test.js.map +0 -1
  51. package/dist/core/__tests__/example-files.test.d.ts +0 -2
  52. package/dist/core/__tests__/example-files.test.d.ts.map +0 -1
  53. package/dist/core/__tests__/example-files.test.js +0 -199
  54. package/dist/core/__tests__/example-files.test.js.map +0 -1
  55. package/dist/core/__tests__/executor-choice-integration.test.d.ts +0 -2
  56. package/dist/core/__tests__/executor-choice-integration.test.d.ts.map +0 -1
  57. package/dist/core/__tests__/executor-choice-integration.test.js +0 -169
  58. package/dist/core/__tests__/executor-choice-integration.test.js.map +0 -1
  59. package/dist/core/__tests__/executor-choice.test.d.ts +0 -2
  60. package/dist/core/__tests__/executor-choice.test.d.ts.map +0 -1
  61. package/dist/core/__tests__/executor-choice.test.js +0 -170
  62. package/dist/core/__tests__/executor-choice.test.js.map +0 -1
  63. package/dist/core/__tests__/executor-parallel.test.d.ts +0 -2
  64. package/dist/core/__tests__/executor-parallel.test.d.ts.map +0 -1
  65. package/dist/core/__tests__/executor-parallel.test.js +0 -129
  66. package/dist/core/__tests__/executor-parallel.test.js.map +0 -1
  67. package/dist/core/__tests__/executor-prompt.test.d.ts +0 -2
  68. package/dist/core/__tests__/executor-prompt.test.d.ts.map +0 -1
  69. package/dist/core/__tests__/executor-prompt.test.js +0 -147
  70. package/dist/core/__tests__/executor-prompt.test.js.map +0 -1
  71. package/dist/core/__tests__/executor-real-scenario.test.d.ts +0 -2
  72. package/dist/core/__tests__/executor-real-scenario.test.d.ts.map +0 -1
  73. package/dist/core/__tests__/executor-real-scenario.test.js +0 -169
  74. package/dist/core/__tests__/executor-real-scenario.test.js.map +0 -1
  75. package/dist/core/__tests__/file-condition.test.d.ts +0 -2
  76. package/dist/core/__tests__/file-condition.test.d.ts.map +0 -1
  77. package/dist/core/__tests__/file-condition.test.js +0 -172
  78. package/dist/core/__tests__/file-condition.test.js.map +0 -1
  79. package/dist/core/__tests__/final-verification.test.d.ts +0 -2
  80. package/dist/core/__tests__/final-verification.test.d.ts.map +0 -1
  81. package/dist/core/__tests__/final-verification.test.js +0 -56
  82. package/dist/core/__tests__/final-verification.test.js.map +0 -1
  83. package/dist/core/__tests__/parallel-when-condition.test.d.ts +0 -2
  84. package/dist/core/__tests__/parallel-when-condition.test.d.ts.map +0 -1
  85. package/dist/core/__tests__/parallel-when-condition.test.js +0 -155
  86. package/dist/core/__tests__/parallel-when-condition.test.js.map +0 -1
  87. package/dist/core/__tests__/parser.test.d.ts +0 -2
  88. package/dist/core/__tests__/parser.test.d.ts.map +0 -1
  89. package/dist/core/__tests__/parser.test.js +0 -91
  90. package/dist/core/__tests__/parser.test.js.map +0 -1
  91. package/dist/core/__tests__/real-inquirer-test.test.d.ts +0 -2
  92. package/dist/core/__tests__/real-inquirer-test.test.d.ts.map +0 -1
  93. package/dist/core/__tests__/real-inquirer-test.test.js +0 -20
  94. package/dist/core/__tests__/real-inquirer-test.test.js.map +0 -1
  95. package/dist/core/__tests__/reproduce-bug.test.d.ts +0 -2
  96. package/dist/core/__tests__/reproduce-bug.test.d.ts.map +0 -1
  97. package/dist/core/__tests__/reproduce-bug.test.js +0 -85
  98. package/dist/core/__tests__/reproduce-bug.test.js.map +0 -1
  99. package/dist/core/__tests__/timeout-retry.test.d.ts +0 -2
  100. package/dist/core/__tests__/timeout-retry.test.d.ts.map +0 -1
  101. package/dist/core/__tests__/timeout-retry.test.js +0 -184
  102. package/dist/core/__tests__/timeout-retry.test.js.map +0 -1
  103. package/dist/core/__tests__/workflow-validation.test.d.ts +0 -2
  104. package/dist/core/__tests__/workflow-validation.test.d.ts.map +0 -1
  105. package/dist/core/__tests__/workflow-validation.test.js +0 -116
  106. package/dist/core/__tests__/workflow-validation.test.js.map +0 -1
  107. package/dist/core/__tests__/workspace.test.d.ts +0 -2
  108. package/dist/core/__tests__/workspace.test.d.ts.map +0 -1
  109. package/dist/core/__tests__/workspace.test.js +0 -29
  110. package/dist/core/__tests__/workspace.test.js.map +0 -1
  111. package/dist/core/__tests__/yaml-integration.test.d.ts +0 -2
  112. package/dist/core/__tests__/yaml-integration.test.d.ts.map +0 -1
  113. package/dist/core/__tests__/yaml-integration.test.js +0 -114
  114. package/dist/core/__tests__/yaml-integration.test.js.map +0 -1
  115. package/dist/core/__tests__/yaml-scenarios.test.d.ts +0 -2
  116. package/dist/core/__tests__/yaml-scenarios.test.d.ts.map +0 -1
  117. package/dist/core/__tests__/yaml-scenarios.test.js +0 -197
  118. package/dist/core/__tests__/yaml-scenarios.test.js.map +0 -1
  119. package/dist/core/condition-evaluator.d.ts +0 -44
  120. package/dist/core/condition-evaluator.d.ts.map +0 -1
  121. package/dist/core/condition-evaluator.js +0 -121
  122. package/dist/core/condition-evaluator.js.map +0 -1
  123. package/dist/core/executor.d.ts +0 -172
  124. package/dist/core/executor.d.ts.map +0 -1
  125. package/dist/core/executor.js +0 -590
  126. package/dist/core/executor.js.map +0 -1
  127. package/dist/core/history.d.ts +0 -51
  128. package/dist/core/history.d.ts.map +0 -1
  129. package/dist/core/history.js +0 -57
  130. package/dist/core/history.js.map +0 -1
  131. package/dist/core/parser.d.ts +0 -41
  132. package/dist/core/parser.d.ts.map +0 -1
  133. package/dist/core/parser.js +0 -206
  134. package/dist/core/parser.js.map +0 -1
  135. package/dist/core/recorder.d.ts +0 -48
  136. package/dist/core/recorder.d.ts.map +0 -1
  137. package/dist/core/recorder.js +0 -56
  138. package/dist/core/recorder.js.map +0 -1
  139. package/dist/core/rust-task-runner.d.ts +0 -14
  140. package/dist/core/rust-task-runner.d.ts.map +0 -1
  141. package/dist/core/rust-task-runner.js +0 -34
  142. package/dist/core/rust-task-runner.js.map +0 -1
  143. package/dist/core/task-runner.d.ts +0 -63
  144. package/dist/core/task-runner.d.ts.map +0 -1
  145. package/dist/core/task-runner.js +0 -259
  146. package/dist/core/task-runner.js.map +0 -1
  147. package/dist/core/template.d.ts +0 -11
  148. package/dist/core/template.d.ts.map +0 -1
  149. package/dist/core/template.js +0 -36
  150. package/dist/core/template.js.map +0 -1
  151. package/dist/core/workflow-schema.d.ts +0 -31
  152. package/dist/core/workflow-schema.d.ts.map +0 -1
  153. package/dist/core/workflow-schema.js +0 -127
  154. package/dist/core/workflow-schema.js.map +0 -1
  155. package/dist/core/workspace.d.ts +0 -90
  156. package/dist/core/workspace.d.ts.map +0 -1
  157. package/dist/core/workspace.js +0 -143
  158. package/dist/core/workspace.js.map +0 -1
  159. package/dist/index.d.ts.map +0 -1
  160. package/dist/index.js.map +0 -1
  161. package/dist/types/condition.d.ts +0 -62
  162. package/dist/types/condition.d.ts.map +0 -1
  163. package/dist/types/condition.js +0 -6
  164. package/dist/types/condition.js.map +0 -1
  165. package/dist/types/workflow.d.ts +0 -90
  166. package/dist/types/workflow.d.ts.map +0 -1
  167. package/dist/types/workflow.js +0 -2
  168. package/dist/types/workflow.js.map +0 -1
@@ -1,91 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { YAMLParser, JSONParser, getParser } from '../parser';
3
- describe('Workflow Parser', () => {
4
- describe('YAMLParser', () => {
5
- it('should parse YAML workflow', () => {
6
- const parser = new YAMLParser();
7
- const yaml = `
8
- name: test
9
- steps:
10
- - run: echo "hello"
11
- - run: echo "world"
12
- `;
13
- const workflow = parser.parse(yaml);
14
- expect(workflow.name).toBe('test');
15
- expect(workflow.steps).toHaveLength(2);
16
- expect(workflow.steps[0]).toHaveProperty('run', 'echo "hello"');
17
- expect(workflow.steps[1]).toHaveProperty('run', 'echo "world"');
18
- });
19
- it('should extract step line numbers from YAML', () => {
20
- const parser = new YAMLParser();
21
- const yaml = `steps:
22
- - run: echo "hello"
23
- - run: echo "world"
24
- `;
25
- const lineNumbers = parser.extractStepLineNumbers(yaml);
26
- expect(lineNumbers.get(0)).toBe(2); // First step is on line 2
27
- expect(lineNumbers.get(1)).toBe(3); // Second step is on line 3
28
- });
29
- });
30
- describe('JSONParser', () => {
31
- it('should parse JSON workflow', () => {
32
- const parser = new JSONParser();
33
- const json = JSON.stringify({
34
- name: 'test',
35
- steps: [{ run: 'echo "hello"' }, { run: 'echo "world"' }],
36
- });
37
- const workflow = parser.parse(json);
38
- expect(workflow.name).toBe('test');
39
- expect(workflow.steps).toHaveLength(2);
40
- expect(workflow.steps[0]).toHaveProperty('run', 'echo "hello"');
41
- expect(workflow.steps[1]).toHaveProperty('run', 'echo "world"');
42
- });
43
- it('should throw error for invalid JSON', () => {
44
- const parser = new JSONParser();
45
- const invalidJson = '{ invalid json }';
46
- expect(() => parser.parse(invalidJson)).toThrow('Invalid JSON format');
47
- });
48
- it('should extract step line numbers from JSON', () => {
49
- const parser = new JSONParser();
50
- const json = `{
51
- "steps": [
52
- {
53
- "run": "echo hello"
54
- },
55
- {
56
- "run": "echo world"
57
- }
58
- ]
59
- }`;
60
- const lineNumbers = parser.extractStepLineNumbers(json);
61
- // JSON steps start at the line where the object starts
62
- expect(lineNumbers.size).toBeGreaterThan(0);
63
- expect(lineNumbers.get(0)).toBeDefined();
64
- expect(lineNumbers.get(1)).toBeDefined();
65
- });
66
- });
67
- describe('getParser', () => {
68
- it('should return YAMLParser for .yaml extension', () => {
69
- const parser = getParser('workflow.yaml');
70
- expect(parser).toBeInstanceOf(YAMLParser);
71
- });
72
- it('should return YAMLParser for .yml extension', () => {
73
- const parser = getParser('workflow.yml');
74
- expect(parser).toBeInstanceOf(YAMLParser);
75
- });
76
- it('should return JSONParser for .json extension', () => {
77
- const parser = getParser('workflow.json');
78
- expect(parser).toBeInstanceOf(JSONParser);
79
- });
80
- it('should default to YAMLParser for unknown extension', () => {
81
- const parser = getParser('workflow.txt');
82
- expect(parser).toBeInstanceOf(YAMLParser);
83
- });
84
- it('should handle case-insensitive extensions', () => {
85
- expect(getParser('workflow.YAML')).toBeInstanceOf(YAMLParser);
86
- expect(getParser('workflow.YML')).toBeInstanceOf(YAMLParser);
87
- expect(getParser('workflow.JSON')).toBeInstanceOf(JSONParser);
88
- });
89
- });
90
- });
91
- //# sourceMappingURL=parser.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/parser.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=real-inquirer-test.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"real-inquirer-test.test.d.ts","sourceRoot":"","sources":["../../../src/core/__tests__/real-inquirer-test.test.ts"],"names":[],"mappings":""}
@@ -1,20 +0,0 @@
1
- import inquirer from 'inquirer';
2
- import { describe, expect, it, vi } from 'vitest';
3
- import { ChoicePrompt } from '../../cli/prompts';
4
- // Test using actual inquirer
5
- describe('Real Inquirer Test', () => {
6
- it('should return correct format from inquirer', async () => {
7
- const choicePrompt = new ChoicePrompt();
8
- // Mock inquirer directly
9
- const mockInquirer = vi.spyOn(inquirer, 'prompt');
10
- mockInquirer.mockResolvedValueOnce({ choice: 'staging' });
11
- const result = await choicePrompt.prompt('Test message', [
12
- { id: 'staging', label: 'Staging' },
13
- { id: 'prod', label: 'Production' },
14
- ]);
15
- expect(result).toEqual({ id: 'staging', label: 'Staging' });
16
- expect(result.id).toBe('staging');
17
- mockInquirer.mockRestore();
18
- });
19
- });
20
- //# sourceMappingURL=real-inquirer-test.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"real-inquirer-test.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/real-inquirer-test.test.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,6BAA6B;AAC7B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QAExC,yBAAyB;QACzB,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClD,YAAY,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE;YACvD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;YACnC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE;SACpC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAElC,YAAY,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=reproduce-bug.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reproduce-bug.test.d.ts","sourceRoot":"","sources":["../../../src/core/__tests__/reproduce-bug.test.ts"],"names":[],"mappings":""}
@@ -1,85 +0,0 @@
1
- import { readFileSync } from 'fs';
2
- import { describe, expect, it, vi } from 'vitest';
3
- import { parse } from 'yaml';
4
- import { Executor } from '../executor';
5
- // Bug reproduction test: same environment as actual execution
6
- describe('BUG REPRODUCTION: Choice condition not working', () => {
7
- it('REPRODUCE: Execute basic.yaml and verify staging step runs', async () => {
8
- const content = readFileSync('examples/yaml-examples/basic.yaml', 'utf-8');
9
- const workflow = parse(content);
10
- const executor = new Executor();
11
- const executed = [];
12
- // Use actual taskRunner
13
- const taskRunner = executor.taskRunner;
14
- const originalRun = taskRunner.run.bind(taskRunner);
15
- taskRunner.run = vi.fn().mockImplementation(async (cmd) => {
16
- executed.push(cmd);
17
- console.log(`[EXEC] ${cmd}`);
18
- return await originalRun(cmd);
19
- });
20
- // Use actual choicePrompt (mocked)
21
- const choicePrompt = executor.choicePrompt;
22
- choicePrompt.prompt = vi.fn().mockResolvedValue({ id: 'staging', label: 'Staging' });
23
- // Mock TextPrompt (prevent timeout)
24
- const textPrompt = executor.textPrompt;
25
- textPrompt.prompt = vi.fn().mockResolvedValue('1.0.0');
26
- process.env.CI = 'false';
27
- try {
28
- // Execute
29
- await executor.execute(workflow);
30
- // Verify
31
- console.log('\n=== EXECUTION RESULT ===');
32
- console.log('Executed:', executed);
33
- console.log('Workspace choices:', Array.from(executor.workspace.state.choices.entries()));
34
- // Required: staging step must execute
35
- expect(executed).toContain('echo "Deploying to staging..."');
36
- expect(executed).not.toContain('echo "Deploying to production..."');
37
- // Verify workspace
38
- const workspace = executor.workspace;
39
- expect(workspace.hasChoice('staging')).toBe(true);
40
- expect(workspace.getChoice('staging')).toBe('staging');
41
- if (!executed.includes('echo "Deploying to staging..."')) {
42
- throw new Error('BUG REPRODUCED: staging step did not execute!');
43
- }
44
- }
45
- finally {
46
- delete process.env.CI;
47
- }
48
- });
49
- it('DEBUG: Trace exact execution flow', async () => {
50
- const workflow = {
51
- steps: [
52
- { choose: { message: 'Choose?', options: [{ id: 'staging', label: 'S' }] } },
53
- { choose: { message: 'Choose?', options: [{ id: 'staging', label: 'S' }], as: 'env' } },
54
- { when: { var: { env: 'staging' } }, run: 'echo "Staging"' },
55
- ],
56
- };
57
- const executor = new Executor();
58
- const executed = [];
59
- const taskRunner = executor.taskRunner;
60
- taskRunner.run = vi.fn().mockImplementation((cmd) => {
61
- executed.push(cmd);
62
- return Promise.resolve(true);
63
- });
64
- const choicePrompt = executor.choicePrompt;
65
- choicePrompt.prompt = vi
66
- .fn()
67
- .mockResolvedValueOnce({ id: 'staging', label: 'S' })
68
- .mockResolvedValueOnce({ id: 'staging', label: 'S' });
69
- // Mock TextPrompt (prevent timeout)
70
- const textPrompt = executor.textPrompt;
71
- textPrompt.prompt = vi.fn().mockResolvedValue('1.0.0');
72
- // Workspace state before execution
73
- const workspaceBefore = executor.workspace;
74
- console.log('Before execution - choices:', Array.from(workspaceBefore.state.choices.entries()));
75
- await executor.execute(workflow);
76
- // Workspace state after execution
77
- const workspaceAfter = executor.workspace;
78
- console.log('After execution - choices:', Array.from(workspaceAfter.state.choices.entries()));
79
- console.log('Executed commands:', executed);
80
- // Required verification
81
- expect(workspaceAfter.hasChoice('staging')).toBe(true);
82
- expect(executed).toContain('echo "Staging"');
83
- });
84
- });
85
- //# sourceMappingURL=reproduce-bug.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reproduce-bug.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/reproduce-bug.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=timeout-retry.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timeout-retry.test.d.ts","sourceRoot":"","sources":["../../../src/core/__tests__/timeout-retry.test.ts"],"names":[],"mappings":""}
@@ -1,184 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { Executor } from '../executor';
3
- // Mock TaskRunner
4
- const mockRun = vi.fn();
5
- vi.mock('../task-runner.js', () => {
6
- return {
7
- TaskRunner: vi.fn().mockImplementation(() => {
8
- return {
9
- run: mockRun,
10
- };
11
- }),
12
- };
13
- });
14
- describe('Timeout and Retry', () => {
15
- let executor;
16
- beforeEach(() => {
17
- vi.clearAllMocks();
18
- executor = new Executor();
19
- });
20
- describe('Timeout', () => {
21
- it('should pass timeout to TaskRunner', async () => {
22
- mockRun.mockResolvedValueOnce(true);
23
- const workflow = {
24
- steps: [
25
- {
26
- run: 'echo "test"',
27
- timeout: 30, // 30 seconds
28
- },
29
- ],
30
- };
31
- await executor.execute(workflow);
32
- expect(mockRun).toHaveBeenCalledWith('echo "test"', expect.any(Number), 'echo "test"', undefined, false, false, undefined, undefined, undefined, 30 // timeout should be passed
33
- );
34
- });
35
- it('should handle timeout when command exceeds limit', async () => {
36
- // Simulate timeout by returning false
37
- mockRun.mockResolvedValueOnce(false);
38
- const workflow = {
39
- steps: [
40
- {
41
- run: 'sleep 100',
42
- timeout: 1, // 1 second timeout
43
- },
44
- ],
45
- };
46
- // Executor throws error on failure, which is expected
47
- await expect(executor.execute(workflow)).rejects.toThrow();
48
- expect(mockRun).toHaveBeenCalledWith('sleep 100', expect.any(Number), 'sleep 100', undefined, false, false, undefined, undefined, undefined, 1);
49
- });
50
- it('should work without timeout (undefined)', async () => {
51
- mockRun.mockResolvedValueOnce(true);
52
- const workflow = {
53
- steps: [
54
- {
55
- run: 'echo "test"',
56
- // no timeout specified
57
- },
58
- ],
59
- };
60
- await executor.execute(workflow);
61
- expect(mockRun).toHaveBeenCalledWith('echo "test"', expect.any(Number), 'echo "test"', undefined, false, false, undefined, undefined, undefined, undefined // timeout should be undefined
62
- );
63
- });
64
- });
65
- describe('Retry', () => {
66
- it('should retry on failure', async () => {
67
- // First attempt fails, second succeeds
68
- mockRun.mockResolvedValueOnce(false);
69
- mockRun.mockResolvedValueOnce(true);
70
- const workflow = {
71
- steps: [
72
- {
73
- run: 'echo "test"',
74
- retry: 1, // Retry once
75
- },
76
- ],
77
- };
78
- await executor.execute(workflow);
79
- // Should be called twice (initial + 1 retry)
80
- expect(mockRun).toHaveBeenCalledTimes(2);
81
- });
82
- it('should retry multiple times', async () => {
83
- // First two attempts fail, third succeeds
84
- mockRun.mockResolvedValueOnce(false);
85
- mockRun.mockResolvedValueOnce(false);
86
- mockRun.mockResolvedValueOnce(true);
87
- const workflow = {
88
- steps: [
89
- {
90
- run: 'echo "test"',
91
- retry: 2, // Retry twice
92
- },
93
- ],
94
- };
95
- await executor.execute(workflow);
96
- // Should be called 3 times (initial + 2 retries)
97
- expect(mockRun).toHaveBeenCalledTimes(3);
98
- });
99
- it('should stop retrying after success', async () => {
100
- // First attempt succeeds
101
- mockRun.mockResolvedValueOnce(true);
102
- const workflow = {
103
- steps: [
104
- {
105
- run: 'echo "test"',
106
- retry: 5, // Even though retry is 5, should stop after success
107
- },
108
- ],
109
- };
110
- await executor.execute(workflow);
111
- // Should be called only once (success on first try)
112
- expect(mockRun).toHaveBeenCalledTimes(1);
113
- });
114
- it('should stop after max retries even if still failing', async () => {
115
- // All attempts fail
116
- mockRun.mockResolvedValue(false);
117
- const workflow = {
118
- steps: [
119
- {
120
- run: 'echo "test"',
121
- retry: 2, // Retry twice
122
- },
123
- ],
124
- };
125
- // Executor throws error on failure after all retries, which is expected
126
- await expect(executor.execute(workflow)).rejects.toThrow();
127
- // Should be called 3 times (initial + 2 retries), then stop
128
- expect(mockRun).toHaveBeenCalledTimes(3);
129
- });
130
- it('should not retry if retry is 0', async () => {
131
- mockRun.mockResolvedValueOnce(false);
132
- const workflow = {
133
- steps: [
134
- {
135
- run: 'echo "test"',
136
- retry: 0, // No retry
137
- },
138
- ],
139
- };
140
- // Executor throws error on failure, which is expected
141
- await expect(executor.execute(workflow)).rejects.toThrow();
142
- // Should be called only once
143
- expect(mockRun).toHaveBeenCalledTimes(1);
144
- });
145
- it('should not retry if retry is not specified', async () => {
146
- mockRun.mockResolvedValueOnce(false);
147
- const workflow = {
148
- steps: [
149
- {
150
- run: 'echo "test"',
151
- // retry not specified
152
- },
153
- ],
154
- };
155
- // Executor throws error on failure, which is expected
156
- await expect(executor.execute(workflow)).rejects.toThrow();
157
- // Should be called only once (default: no retry)
158
- expect(mockRun).toHaveBeenCalledTimes(1);
159
- });
160
- });
161
- describe('Timeout and Retry Combined', () => {
162
- it('should support both timeout and retry', async () => {
163
- mockRun.mockResolvedValueOnce(false);
164
- mockRun.mockResolvedValueOnce(true);
165
- const workflow = {
166
- steps: [
167
- {
168
- run: 'echo "test"',
169
- timeout: 30,
170
- retry: 1,
171
- },
172
- ],
173
- };
174
- await executor.execute(workflow);
175
- // Both timeout and retry should be passed
176
- expect(mockRun).toHaveBeenCalledTimes(2);
177
- expect(mockRun).toHaveBeenNthCalledWith(1, 'echo "test"', expect.any(Number), 'echo "test"', undefined, false, false, undefined, undefined, undefined, 30 // timeout
178
- );
179
- expect(mockRun).toHaveBeenNthCalledWith(2, 'echo "test"', expect.any(Number), 'echo "test"', undefined, false, false, undefined, undefined, undefined, 30 // timeout (same for retry)
180
- );
181
- });
182
- });
183
- });
184
- //# sourceMappingURL=timeout-retry.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timeout-retry.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/timeout-retry.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=workflow-validation.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-validation.test.d.ts","sourceRoot":"","sources":["../../../src/core/__tests__/workflow-validation.test.ts"],"names":[],"mappings":""}
@@ -1,116 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { YAMLParser, JSONParser } from '../parser';
3
- describe('Workflow Validation', () => {
4
- describe('YAMLParser', () => {
5
- it('should validate correct workflow', () => {
6
- const parser = new YAMLParser();
7
- const yaml = `
8
- name: test
9
- steps:
10
- - run: echo "hello"
11
- `;
12
- const workflow = parser.parse(yaml);
13
- expect(workflow.name).toBe('test');
14
- expect(workflow.steps).toHaveLength(1);
15
- });
16
- it('should reject workflow with invalid step', () => {
17
- const parser = new YAMLParser();
18
- const yaml = `
19
- name: test
20
- steps:
21
- - invalid_step: "this should fail"
22
- `;
23
- expect(() => parser.parse(yaml)).toThrow('Invalid workflow structure');
24
- });
25
- it('should reject workflow without steps', () => {
26
- const parser = new YAMLParser();
27
- const yaml = `
28
- name: test
29
- `;
30
- expect(() => parser.parse(yaml)).toThrow('Invalid workflow structure');
31
- });
32
- it('should reject workflow with empty steps array', () => {
33
- const parser = new YAMLParser();
34
- const yaml = `
35
- name: test
36
- steps: []
37
- `;
38
- expect(() => parser.parse(yaml)).toThrow('Invalid workflow structure');
39
- });
40
- it('should validate workflow with all step types', () => {
41
- const parser = new YAMLParser();
42
- const yaml = `
43
- name: test
44
- steps:
45
- - run: echo "hello"
46
- - choose:
47
- message: "Select"
48
- options:
49
- - id: opt1
50
- label: "Option 1"
51
- as: choice
52
- - prompt:
53
- message: "Enter name"
54
- as: name
55
- - parallel:
56
- - run: echo "task1"
57
- - run: echo "task2"
58
- - fail:
59
- message: "Error"
60
- `;
61
- const workflow = parser.parse(yaml);
62
- expect(workflow.steps).toHaveLength(5);
63
- });
64
- });
65
- describe('JSONParser', () => {
66
- it('should validate correct workflow', () => {
67
- const parser = new JSONParser();
68
- const json = JSON.stringify({
69
- name: 'test',
70
- steps: [{ run: 'echo "hello"' }],
71
- });
72
- const workflow = parser.parse(json);
73
- expect(workflow.name).toBe('test');
74
- expect(workflow.steps).toHaveLength(1);
75
- });
76
- it('should reject workflow with invalid step', () => {
77
- const parser = new JSONParser();
78
- const json = JSON.stringify({
79
- name: 'test',
80
- steps: [{ invalid_step: 'this should fail' }],
81
- });
82
- expect(() => parser.parse(json)).toThrow('Invalid workflow structure');
83
- });
84
- it('should reject workflow without steps', () => {
85
- const parser = new JSONParser();
86
- const json = JSON.stringify({
87
- name: 'test',
88
- });
89
- expect(() => parser.parse(json)).toThrow('Invalid workflow structure');
90
- });
91
- it('should reject invalid JSON format', () => {
92
- const parser = new JSONParser();
93
- const json = '{ invalid json }';
94
- expect(() => parser.parse(json)).toThrow('Invalid JSON format');
95
- });
96
- it('should validate workflow with conditions', () => {
97
- const parser = new JSONParser();
98
- const json = JSON.stringify({
99
- steps: [
100
- {
101
- run: 'echo "hello"',
102
- when: {
103
- var: {
104
- env: 'dev',
105
- },
106
- },
107
- },
108
- ],
109
- });
110
- const workflow = parser.parse(json);
111
- expect(workflow.steps).toHaveLength(1);
112
- expect(workflow.steps[0]).toHaveProperty('when');
113
- });
114
- });
115
- });
116
- //# sourceMappingURL=workflow-validation.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-validation.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/workflow-validation.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEnD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG;;;;CAIlB,CAAC;YACI,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG;;;;CAIlB,CAAC;YACI,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG;;CAElB,CAAC;YACI,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG;;;CAGlB,CAAC;YACI,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;CAkBlB,CAAC;YACI,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC1B,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;aACjC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC1B,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC;aAC9C,CAAC,CAAC;YACH,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC1B,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,kBAAkB,CAAC;YAChC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC1B,KAAK,EAAE;oBACL;wBACE,GAAG,EAAE,cAAc;wBACnB,IAAI,EAAE;4BACJ,GAAG,EAAE;gCACH,GAAG,EAAE,KAAK;6BACX;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=workspace.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace.test.d.ts","sourceRoot":"","sources":["../../../src/core/__tests__/workspace.test.ts"],"names":[],"mappings":""}
@@ -1,29 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { Workspace } from '../workspace';
3
- describe('Workspace', () => {
4
- it('should set and get facts', () => {
5
- const workspace = new Workspace();
6
- workspace.setFact('test', true);
7
- expect(workspace.hasFact('test')).toBe(true);
8
- expect(workspace.getFact('test')).toBe(true);
9
- });
10
- it('should set and get choices', () => {
11
- const workspace = new Workspace();
12
- workspace.setChoice('staging', 'staging');
13
- expect(workspace.hasChoice('staging')).toBe(true);
14
- expect(workspace.getChoice('staging')).toBe('staging');
15
- });
16
- it('should return false for non-existent choice', () => {
17
- const workspace = new Workspace();
18
- expect(workspace.hasChoice('nonexistent')).toBe(false);
19
- });
20
- it('should clone workspace state', () => {
21
- const workspace = new Workspace();
22
- workspace.setFact('test', true);
23
- workspace.setChoice('staging', 'staging');
24
- const cloned = workspace.clone();
25
- expect(cloned.hasFact('test')).toBe(true);
26
- expect(cloned.hasChoice('staging')).toBe(true);
27
- });
28
- });
29
- //# sourceMappingURL=workspace.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/workspace.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChC,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=yaml-integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"yaml-integration.test.d.ts","sourceRoot":"","sources":["../../../src/core/__tests__/yaml-integration.test.ts"],"names":[],"mappings":""}