@outputai/cli 0.8.2-next.42a0ddf.0 → 0.8.2-next.4b5c049.0
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.
|
@@ -4,8 +4,8 @@ import Generate from './generate.js';
|
|
|
4
4
|
import { generateWorkflow } from '#services/workflow_generator.js';
|
|
5
5
|
import { parseWorkflowDir } from '#utils/workflow_dir_parser.js';
|
|
6
6
|
import { InvalidNameError, WorkflowExistsError } from '#types/errors.js';
|
|
7
|
-
vi.mock('
|
|
8
|
-
vi.mock('
|
|
7
|
+
vi.mock('#services/workflow_generator.js');
|
|
8
|
+
vi.mock('#utils/workflow_dir_parser.js');
|
|
9
9
|
describe('Generate Command', () => {
|
|
10
10
|
let mockGenerateWorkflow;
|
|
11
11
|
let mockParseWorkflowDir;
|
|
@@ -3,13 +3,13 @@ import { checkAgentStructure, prepareTemplateVariables, initializeAgentConfig, e
|
|
|
3
3
|
import { access } from 'node:fs/promises';
|
|
4
4
|
import fs from 'node:fs/promises';
|
|
5
5
|
vi.mock('node:fs/promises');
|
|
6
|
-
vi.mock('
|
|
6
|
+
vi.mock('#utils/paths.js', () => ({
|
|
7
7
|
getTemplateDir: vi.fn().mockReturnValue('/templates')
|
|
8
8
|
}));
|
|
9
|
-
vi.mock('
|
|
9
|
+
vi.mock('#utils/template.js', () => ({
|
|
10
10
|
processTemplate: vi.fn().mockImplementation((content) => content)
|
|
11
11
|
}));
|
|
12
|
-
vi.mock('
|
|
12
|
+
vi.mock('#utils/claude.js', () => ({
|
|
13
13
|
executeClaudeCommand: vi.fn().mockResolvedValue(undefined)
|
|
14
14
|
}));
|
|
15
15
|
vi.mock('@oclif/core', () => ({
|
|
@@ -152,14 +152,14 @@ describe('coding_agents service', () => {
|
|
|
152
152
|
vi.mocked(fs.writeFile).mockResolvedValue(undefined);
|
|
153
153
|
});
|
|
154
154
|
it('should call registerPluginMarketplace and installOutputAIPlugin', async () => {
|
|
155
|
-
const { executeClaudeCommand } = await import('
|
|
155
|
+
const { executeClaudeCommand } = await import('#utils/claude.js');
|
|
156
156
|
await ensureClaudePlugin('/test/project');
|
|
157
157
|
expect(executeClaudeCommand).toHaveBeenCalledWith(['plugin', 'marketplace', 'add', 'growthxai/output'], '/test/project', { ignoreFailure: true });
|
|
158
158
|
expect(executeClaudeCommand).toHaveBeenCalledWith(['plugin', 'marketplace', 'update', 'outputai'], '/test/project');
|
|
159
159
|
expect(executeClaudeCommand).toHaveBeenCalledWith(['plugin', 'install', 'outputai@outputai', '--scope', 'project'], '/test/project');
|
|
160
160
|
});
|
|
161
161
|
it('should show error and prompt user when plugin commands fail', async () => {
|
|
162
|
-
const { executeClaudeCommand } = await import('
|
|
162
|
+
const { executeClaudeCommand } = await import('#utils/claude.js');
|
|
163
163
|
const { confirm } = await import('#utils/prompt.js');
|
|
164
164
|
vi.mocked(executeClaudeCommand)
|
|
165
165
|
.mockResolvedValueOnce(undefined) // marketplace add
|
|
@@ -171,7 +171,7 @@ describe('coding_agents service', () => {
|
|
|
171
171
|
}));
|
|
172
172
|
});
|
|
173
173
|
it('should allow user to proceed without plugin setup if they confirm', async () => {
|
|
174
|
-
const { executeClaudeCommand } = await import('
|
|
174
|
+
const { executeClaudeCommand } = await import('#utils/claude.js');
|
|
175
175
|
const { confirm } = await import('#utils/prompt.js');
|
|
176
176
|
vi.mocked(executeClaudeCommand)
|
|
177
177
|
.mockRejectedValue(new Error('All plugin commands fail'));
|
|
@@ -221,7 +221,7 @@ describe('coding_agents service', () => {
|
|
|
221
221
|
vi.mocked(fs.writeFile).mockResolvedValue(undefined);
|
|
222
222
|
});
|
|
223
223
|
it('should show error and prompt user when registerPluginMarketplace fails', async () => {
|
|
224
|
-
const { executeClaudeCommand } = await import('
|
|
224
|
+
const { executeClaudeCommand } = await import('#utils/claude.js');
|
|
225
225
|
const { confirm } = await import('#utils/prompt.js');
|
|
226
226
|
vi.mocked(executeClaudeCommand)
|
|
227
227
|
.mockResolvedValueOnce(undefined) // marketplace add
|
|
@@ -233,7 +233,7 @@ describe('coding_agents service', () => {
|
|
|
233
233
|
}));
|
|
234
234
|
});
|
|
235
235
|
it('should show error and prompt user when installOutputAIPlugin fails', async () => {
|
|
236
|
-
const { executeClaudeCommand } = await import('
|
|
236
|
+
const { executeClaudeCommand } = await import('#utils/claude.js');
|
|
237
237
|
const { confirm } = await import('#utils/prompt.js');
|
|
238
238
|
vi.mocked(executeClaudeCommand)
|
|
239
239
|
.mockResolvedValueOnce(undefined) // marketplace add
|
|
@@ -246,7 +246,7 @@ describe('coding_agents service', () => {
|
|
|
246
246
|
}));
|
|
247
247
|
});
|
|
248
248
|
it('should allow user to proceed without plugin setup if they confirm', async () => {
|
|
249
|
-
const { executeClaudeCommand } = await import('
|
|
249
|
+
const { executeClaudeCommand } = await import('#utils/claude.js');
|
|
250
250
|
const { confirm } = await import('#utils/prompt.js');
|
|
251
251
|
vi.mocked(executeClaudeCommand)
|
|
252
252
|
.mockRejectedValue(new Error('All plugin commands fail'));
|
|
@@ -256,7 +256,7 @@ describe('coding_agents service', () => {
|
|
|
256
256
|
expect(fs.mkdir).toHaveBeenCalled();
|
|
257
257
|
});
|
|
258
258
|
it('should rethrow plugin error in non-interactive mode without prompting', async () => {
|
|
259
|
-
const { executeClaudeCommand } = await import('
|
|
259
|
+
const { executeClaudeCommand } = await import('#utils/claude.js');
|
|
260
260
|
const { confirm } = await import('#utils/prompt.js');
|
|
261
261
|
const { isInteractive } = await import('#utils/interactive.js');
|
|
262
262
|
vi.mocked(isInteractive).mockReturnValueOnce(false);
|
package/oclif.manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@outputai/cli",
|
|
3
|
-
"version": "0.8.2-next.
|
|
3
|
+
"version": "0.8.2-next.4b5c049.0",
|
|
4
4
|
"description": "CLI for Output.ai workflow generation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"ky": "1.14.3",
|
|
35
35
|
"react": "19.2.5",
|
|
36
36
|
"semver": "7.7.4",
|
|
37
|
-
"undici": "8.
|
|
37
|
+
"undici": "8.5.0",
|
|
38
38
|
"yaml": "^2.8.3",
|
|
39
|
-
"@outputai/credentials": "0.8.2-next.
|
|
40
|
-
"@outputai/
|
|
41
|
-
"@outputai/
|
|
39
|
+
"@outputai/credentials": "0.8.2-next.4b5c049.0",
|
|
40
|
+
"@outputai/llm": "0.8.2-next.4b5c049.0",
|
|
41
|
+
"@outputai/evals": "0.8.2-next.4b5c049.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/cli-progress": "3.11.6",
|