@agentbrain/cli 1.4.62 → 1.4.63
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.
- package/dist/__tests__/index.test.d.ts +2 -0
- package/dist/__tests__/index.test.js +46 -0
- package/dist/__tests__/index.test.js.map +1 -0
- package/dist/commands/__tests__/doctor.test.d.ts +2 -0
- package/dist/commands/__tests__/doctor.test.js +46 -0
- package/dist/commands/__tests__/doctor.test.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/disable.d.ts +3 -0
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/handoff.d.ts +3 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/setup.d.ts +3 -0
- package/dist/commands/standards.d.ts +3 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/display.d.ts +57 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +0 -0
- package/package.json +1 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { describe, it, expect } from '@jest/globals';
|
|
2
|
+
describe('CLI entry point', () => {
|
|
3
|
+
it('exports are available', async () => {
|
|
4
|
+
// Just verify the module can be imported
|
|
5
|
+
// (actual CLI execution is tested via integration)
|
|
6
|
+
expect(true).toBe(true);
|
|
7
|
+
});
|
|
8
|
+
});
|
|
9
|
+
describe('CLI command registration', () => {
|
|
10
|
+
it('registers doctor command', async () => {
|
|
11
|
+
const { createDoctorCommand } = await import('../commands/doctor.js');
|
|
12
|
+
const cmd = createDoctorCommand();
|
|
13
|
+
expect(cmd.name()).toBe('doctor');
|
|
14
|
+
});
|
|
15
|
+
it('registers init command', async () => {
|
|
16
|
+
const { createInitCommand } = await import('../commands/init.js');
|
|
17
|
+
const cmd = createInitCommand();
|
|
18
|
+
expect(cmd.name()).toBe('init');
|
|
19
|
+
});
|
|
20
|
+
it('registers setup command', async () => {
|
|
21
|
+
const { createSetupCommand } = await import('../commands/setup.js');
|
|
22
|
+
const cmd = createSetupCommand();
|
|
23
|
+
expect(cmd.name()).toBe('setup');
|
|
24
|
+
});
|
|
25
|
+
it('registers config command', async () => {
|
|
26
|
+
const { createConfigCommand } = await import('../commands/config.js');
|
|
27
|
+
const cmd = createConfigCommand();
|
|
28
|
+
expect(cmd.name()).toBe('config');
|
|
29
|
+
});
|
|
30
|
+
it('registers standards command', async () => {
|
|
31
|
+
const { createStandardsCommand } = await import('../commands/standards.js');
|
|
32
|
+
const cmd = createStandardsCommand();
|
|
33
|
+
expect(cmd.name()).toBe('standards');
|
|
34
|
+
});
|
|
35
|
+
it('registers handoff command', async () => {
|
|
36
|
+
const { createHandoffCommand } = await import('../commands/handoff.js');
|
|
37
|
+
const cmd = createHandoffCommand();
|
|
38
|
+
expect(cmd.name()).toBe('handoff');
|
|
39
|
+
});
|
|
40
|
+
it('registers disable command', async () => {
|
|
41
|
+
const { createDisableCommand } = await import('../commands/disable.js');
|
|
42
|
+
const cmd = createDisableCommand();
|
|
43
|
+
expect(cmd.name()).toBe('disable');
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEpD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,yCAAyC;QACzC,mDAAmD;QACnD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAA;QACrE,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;QACjE,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAA;QAC/B,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAA;QACnE,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAA;QAChC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAA;QACrE,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAA;QAC3E,MAAM,GAAG,GAAG,sBAAsB,EAAE,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAA;QACvE,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAA;QAClC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAA;QACvE,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAA;QAClC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { describe, it, expect } from '@jest/globals';
|
|
2
|
+
import { createDoctorCommand } from '../doctor.js';
|
|
3
|
+
describe('doctor command', () => {
|
|
4
|
+
it('exports createDoctorCommand function', () => {
|
|
5
|
+
expect(createDoctorCommand).toBeDefined();
|
|
6
|
+
expect(typeof createDoctorCommand).toBe('function');
|
|
7
|
+
});
|
|
8
|
+
it('creates command with correct name', () => {
|
|
9
|
+
const cmd = createDoctorCommand();
|
|
10
|
+
expect(cmd.name()).toBe('doctor');
|
|
11
|
+
});
|
|
12
|
+
it('has description', () => {
|
|
13
|
+
const cmd = createDoctorCommand();
|
|
14
|
+
expect(cmd.description()).toContain('diagnostic');
|
|
15
|
+
expect(cmd.description().length).toBeGreaterThan(10);
|
|
16
|
+
});
|
|
17
|
+
it('has --path option', () => {
|
|
18
|
+
const cmd = createDoctorCommand();
|
|
19
|
+
const pathOpt = cmd.options.find((o) => o.long === '--path');
|
|
20
|
+
expect(pathOpt).toBeDefined();
|
|
21
|
+
expect(pathOpt?.description).toContain('path');
|
|
22
|
+
});
|
|
23
|
+
it('has --fix option', () => {
|
|
24
|
+
const cmd = createDoctorCommand();
|
|
25
|
+
const fixOpt = cmd.options.find((o) => o.long === '--fix');
|
|
26
|
+
expect(fixOpt).toBeDefined();
|
|
27
|
+
expect(fixOpt?.description).toContain('fix');
|
|
28
|
+
});
|
|
29
|
+
it('has --json option', () => {
|
|
30
|
+
const cmd = createDoctorCommand();
|
|
31
|
+
const jsonOpt = cmd.options.find((o) => o.long === '--json');
|
|
32
|
+
expect(jsonOpt).toBeDefined();
|
|
33
|
+
expect(jsonOpt?.description).toContain('JSON');
|
|
34
|
+
});
|
|
35
|
+
it('has no required arguments', () => {
|
|
36
|
+
const cmd = createDoctorCommand();
|
|
37
|
+
const requiredArgs = cmd.registeredArguments.filter((a) => a.required);
|
|
38
|
+
expect(requiredArgs.length).toBe(0);
|
|
39
|
+
});
|
|
40
|
+
it('has action handler', () => {
|
|
41
|
+
const cmd = createDoctorCommand();
|
|
42
|
+
// Commander stores action in _actionHandler
|
|
43
|
+
expect(cmd._actionHandler).toBeDefined();
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=doctor.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/doctor.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAA;QACzC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QACjD,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAA;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;QAC5D,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;QAC7B,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;QAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;QAC5B,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAA;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;QAC5D,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;QAC7B,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAA;QACjC,MAAM,YAAY,GAAG,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QACtE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAA;QACjC,4CAA4C;QAC5C,MAAM,CAAE,GAAW,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAA;IACnD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { FileEntry, CostEstimate } from '@agentbrain/core';
|
|
2
|
+
/**
|
|
3
|
+
* Display welcome banner
|
|
4
|
+
*/
|
|
5
|
+
export declare function displayBanner(): void;
|
|
6
|
+
/**
|
|
7
|
+
* Display success message
|
|
8
|
+
*/
|
|
9
|
+
export declare function success(message: string): void;
|
|
10
|
+
/**
|
|
11
|
+
* Display error message
|
|
12
|
+
*/
|
|
13
|
+
export declare function error(message: string): void;
|
|
14
|
+
/**
|
|
15
|
+
* Display info message
|
|
16
|
+
*/
|
|
17
|
+
export declare function info(message: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* Display warning message
|
|
20
|
+
*/
|
|
21
|
+
export declare function warn(message: string): void;
|
|
22
|
+
/**
|
|
23
|
+
* Create a spinner
|
|
24
|
+
*/
|
|
25
|
+
export declare function spinner(text: string): import("ora").Ora;
|
|
26
|
+
/**
|
|
27
|
+
* Display file table
|
|
28
|
+
*/
|
|
29
|
+
export declare function displayFileTable(files: FileEntry[], maxRows?: number): void;
|
|
30
|
+
/**
|
|
31
|
+
* Display cost estimate with 1.4x buffer for accuracy
|
|
32
|
+
*/
|
|
33
|
+
export declare function displayCostEstimate(estimate: CostEstimate): void;
|
|
34
|
+
/**
|
|
35
|
+
* Display actual cost after generation
|
|
36
|
+
*/
|
|
37
|
+
export declare function displayActualCost(tokens: number, usd: number): void;
|
|
38
|
+
/**
|
|
39
|
+
* Display generated files summary
|
|
40
|
+
*/
|
|
41
|
+
export declare function displayGeneratedFiles(files: Array<{
|
|
42
|
+
name: string;
|
|
43
|
+
description: string;
|
|
44
|
+
}>): void;
|
|
45
|
+
/**
|
|
46
|
+
* Display next steps
|
|
47
|
+
*/
|
|
48
|
+
export declare function displayNextSteps(steps: string[]): void;
|
|
49
|
+
/**
|
|
50
|
+
* Display provider info
|
|
51
|
+
*/
|
|
52
|
+
export declare function displayProviderInfo(provider: string, models: {
|
|
53
|
+
fast: string;
|
|
54
|
+
mid: string;
|
|
55
|
+
smart: string;
|
|
56
|
+
}): void;
|
|
57
|
+
//# sourceMappingURL=display.d.ts.map
|
package/dist/index.d.ts
ADDED
package/dist/index.js
CHANGED
|
File without changes
|