@productbrain/cli 0.1.0-beta.30 → 0.1.0-beta.32

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 (78) hide show
  1. package/README.md +62 -178
  2. package/dist/__tests__/constants.test.js +1 -1
  3. package/dist/__tests__/constants.test.js.map +1 -1
  4. package/dist/__tests__/errors.test.d.ts +2 -0
  5. package/dist/__tests__/errors.test.d.ts.map +1 -0
  6. package/dist/__tests__/errors.test.js +117 -0
  7. package/dist/__tests__/errors.test.js.map +1 -0
  8. package/dist/__tests__/glossary.test.d.ts +2 -0
  9. package/dist/__tests__/glossary.test.d.ts.map +1 -0
  10. package/dist/__tests__/glossary.test.js +32 -0
  11. package/dist/__tests__/glossary.test.js.map +1 -0
  12. package/dist/__tests__/login.test.js +1 -1
  13. package/dist/__tests__/login.test.js.map +1 -1
  14. package/dist/__tests__/profiles.test.d.ts +2 -0
  15. package/dist/__tests__/profiles.test.d.ts.map +1 -0
  16. package/dist/__tests__/profiles.test.js +168 -0
  17. package/dist/__tests__/profiles.test.js.map +1 -0
  18. package/dist/commands/capture.d.ts.map +1 -1
  19. package/dist/commands/capture.js +3 -2
  20. package/dist/commands/capture.js.map +1 -1
  21. package/dist/commands/doctor.d.ts +9 -2
  22. package/dist/commands/doctor.d.ts.map +1 -1
  23. package/dist/commands/doctor.js +112 -25
  24. package/dist/commands/doctor.js.map +1 -1
  25. package/dist/commands/doctor.test.d.ts +2 -1
  26. package/dist/commands/doctor.test.d.ts.map +1 -1
  27. package/dist/commands/doctor.test.js +166 -3
  28. package/dist/commands/doctor.test.js.map +1 -1
  29. package/dist/commands/profile.d.ts +24 -0
  30. package/dist/commands/profile.d.ts.map +1 -0
  31. package/dist/commands/profile.js +82 -0
  32. package/dist/commands/profile.js.map +1 -0
  33. package/dist/commands/promote.d.ts.map +1 -1
  34. package/dist/commands/promote.js +3 -2
  35. package/dist/commands/promote.js.map +1 -1
  36. package/dist/formatters/promote.d.ts +1 -0
  37. package/dist/formatters/promote.d.ts.map +1 -1
  38. package/dist/formatters/promote.js +1 -0
  39. package/dist/formatters/promote.js.map +1 -1
  40. package/dist/index.js +240 -299
  41. package/dist/index.js.map +1 -1
  42. package/dist/lib/client.d.ts +2 -2
  43. package/dist/lib/client.d.ts.map +1 -1
  44. package/dist/lib/client.js +30 -11
  45. package/dist/lib/client.js.map +1 -1
  46. package/dist/lib/config.d.ts +9 -3
  47. package/dist/lib/config.d.ts.map +1 -1
  48. package/dist/lib/config.js +49 -12
  49. package/dist/lib/config.js.map +1 -1
  50. package/dist/lib/constants.d.ts +1 -1
  51. package/dist/lib/constants.d.ts.map +1 -1
  52. package/dist/lib/constants.js +1 -1
  53. package/dist/lib/constants.js.map +1 -1
  54. package/dist/lib/errors.d.ts +57 -0
  55. package/dist/lib/errors.d.ts.map +1 -0
  56. package/dist/lib/errors.js +65 -0
  57. package/dist/lib/errors.js.map +1 -0
  58. package/dist/lib/glossary.d.ts +19 -0
  59. package/dist/lib/glossary.d.ts.map +1 -0
  60. package/dist/lib/glossary.js +53 -0
  61. package/dist/lib/glossary.js.map +1 -0
  62. package/dist/lib/profiles.d.ts +34 -0
  63. package/dist/lib/profiles.d.ts.map +1 -0
  64. package/dist/lib/profiles.js +173 -0
  65. package/dist/lib/profiles.js.map +1 -0
  66. package/dist/lib/runner.d.ts +2 -0
  67. package/dist/lib/runner.d.ts.map +1 -1
  68. package/dist/lib/runner.js +33 -4
  69. package/dist/lib/runner.js.map +1 -1
  70. package/dist/lib/style.d.ts +65 -0
  71. package/dist/lib/style.d.ts.map +1 -0
  72. package/dist/lib/style.js +108 -0
  73. package/dist/lib/style.js.map +1 -0
  74. package/dist/lib/style.test.d.ts +7 -0
  75. package/dist/lib/style.test.d.ts.map +1 -0
  76. package/dist/lib/style.test.js +195 -0
  77. package/dist/lib/style.test.js.map +1 -0
  78. package/package.json +1 -1
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Tests for CLI style module — WP-302 Slice 1.
3
+ * Verifies color helpers respect NO_COLOR, quiet mode suppresses banners,
4
+ * and copy constants are non-empty strings.
5
+ */
6
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
+ // Mock runner.js for quiet mode control
8
+ vi.mock('./runner.js', () => ({
9
+ isQuietMode: vi.fn(() => false),
10
+ isJsonMode: vi.fn(() => false),
11
+ }));
12
+ import { green, red, yellow, dim, bold, supportsColor, icons, copy, banner, hint, progress, formatCheck, } from './style.js';
13
+ import { isQuietMode } from './runner.js';
14
+ const mockIsQuietMode = vi.mocked(isQuietMode);
15
+ describe('color helpers', () => {
16
+ const originalEnv = process.env.NO_COLOR;
17
+ const originalIsTTY = process.stdout.isTTY;
18
+ afterEach(() => {
19
+ if (originalEnv === undefined) {
20
+ delete process.env.NO_COLOR;
21
+ }
22
+ else {
23
+ process.env.NO_COLOR = originalEnv;
24
+ }
25
+ Object.defineProperty(process.stdout, 'isTTY', { value: originalIsTTY, writable: true });
26
+ });
27
+ it('returns ANSI-wrapped string when color is supported', () => {
28
+ Object.defineProperty(process.stdout, 'isTTY', { value: true, writable: true });
29
+ delete process.env.NO_COLOR;
30
+ expect(green('ok')).toContain('\x1b[32m');
31
+ expect(green('ok')).toContain('ok');
32
+ expect(red('err')).toContain('\x1b[31m');
33
+ expect(yellow('warn')).toContain('\x1b[33m');
34
+ expect(dim('faint')).toContain('\x1b[2m');
35
+ expect(bold('strong')).toContain('\x1b[1m');
36
+ });
37
+ it('returns plain string when NO_COLOR is set', () => {
38
+ Object.defineProperty(process.stdout, 'isTTY', { value: true, writable: true });
39
+ process.env.NO_COLOR = '1';
40
+ expect(green('ok')).toBe('ok');
41
+ expect(red('err')).toBe('err');
42
+ expect(yellow('warn')).toBe('warn');
43
+ expect(dim('faint')).toBe('faint');
44
+ expect(bold('strong')).toBe('strong');
45
+ });
46
+ it('returns plain string when not a TTY', () => {
47
+ Object.defineProperty(process.stdout, 'isTTY', { value: false, writable: true });
48
+ delete process.env.NO_COLOR;
49
+ expect(green('ok')).toBe('ok');
50
+ expect(red('err')).toBe('err');
51
+ });
52
+ });
53
+ describe('supportsColor', () => {
54
+ const originalEnv = process.env.NO_COLOR;
55
+ const originalIsTTY = process.stdout.isTTY;
56
+ afterEach(() => {
57
+ if (originalEnv === undefined) {
58
+ delete process.env.NO_COLOR;
59
+ }
60
+ else {
61
+ process.env.NO_COLOR = originalEnv;
62
+ }
63
+ Object.defineProperty(process.stdout, 'isTTY', { value: originalIsTTY, writable: true });
64
+ });
65
+ it('returns true for TTY without NO_COLOR', () => {
66
+ Object.defineProperty(process.stdout, 'isTTY', { value: true, writable: true });
67
+ delete process.env.NO_COLOR;
68
+ expect(supportsColor()).toBe(true);
69
+ });
70
+ it('returns false when NO_COLOR is set', () => {
71
+ Object.defineProperty(process.stdout, 'isTTY', { value: true, writable: true });
72
+ process.env.NO_COLOR = '1';
73
+ expect(supportsColor()).toBe(false);
74
+ });
75
+ it('returns false when not a TTY', () => {
76
+ Object.defineProperty(process.stdout, 'isTTY', { value: false, writable: true });
77
+ delete process.env.NO_COLOR;
78
+ expect(supportsColor()).toBe(false);
79
+ });
80
+ });
81
+ describe('icons', () => {
82
+ it('has all expected icon keys', () => {
83
+ expect(icons.pass).toBeTruthy();
84
+ expect(icons.fail).toBeTruthy();
85
+ expect(icons.warn).toBeTruthy();
86
+ expect(icons.arrow).toBeTruthy();
87
+ expect(icons.dot).toBeTruthy();
88
+ });
89
+ });
90
+ describe('copy constants', () => {
91
+ it('all string constants are non-empty', () => {
92
+ expect(copy.captured.length).toBeGreaterThan(0);
93
+ expect(copy.promoted.length).toBeGreaterThan(0);
94
+ expect(copy.linked.length).toBeGreaterThan(0);
95
+ expect(copy.updated.length).toBeGreaterThan(0);
96
+ expect(copy.noSession.length).toBeGreaterThan(0);
97
+ expect(copy.sessionRequired.length).toBeGreaterThan(0);
98
+ expect(copy.notFound.length).toBeGreaterThan(0);
99
+ expect(copy.authFailed.length).toBeGreaterThan(0);
100
+ expect(copy.nextOrient.length).toBeGreaterThan(0);
101
+ expect(copy.nextCapture.length).toBeGreaterThan(0);
102
+ expect(copy.sessionStarted.length).toBeGreaterThan(0);
103
+ expect(copy.sessionClosed.length).toBeGreaterThan(0);
104
+ });
105
+ it('function constants return non-empty strings', () => {
106
+ expect(copy.nextGet('BET-42').length).toBeGreaterThan(0);
107
+ expect(copy.nextGet('BET-42')).toContain('BET-42');
108
+ expect(copy.nextFields('tensions').length).toBeGreaterThan(0);
109
+ expect(copy.nextFields('tensions')).toContain('tensions');
110
+ });
111
+ });
112
+ describe('banner', () => {
113
+ let writeSpy;
114
+ beforeEach(() => {
115
+ writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
116
+ mockIsQuietMode.mockReturnValue(false);
117
+ });
118
+ afterEach(() => {
119
+ writeSpy.mockRestore();
120
+ });
121
+ it('writes title to stdout in normal mode', () => {
122
+ banner('Doctor');
123
+ expect(writeSpy).toHaveBeenCalled();
124
+ const output = writeSpy.mock.calls.map((c) => c[0]).join('');
125
+ expect(output).toContain('Doctor');
126
+ });
127
+ it('suppresses output in quiet mode', () => {
128
+ mockIsQuietMode.mockReturnValue(true);
129
+ banner('Doctor');
130
+ expect(writeSpy).not.toHaveBeenCalled();
131
+ });
132
+ });
133
+ describe('hint', () => {
134
+ let writeSpy;
135
+ beforeEach(() => {
136
+ writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
137
+ mockIsQuietMode.mockReturnValue(false);
138
+ });
139
+ afterEach(() => {
140
+ writeSpy.mockRestore();
141
+ });
142
+ it('writes hint text in normal mode', () => {
143
+ hint('Run `pb orient -b` to see your workspace.');
144
+ expect(writeSpy).toHaveBeenCalled();
145
+ });
146
+ it('suppresses output in quiet mode', () => {
147
+ mockIsQuietMode.mockReturnValue(true);
148
+ hint('Run `pb orient -b`');
149
+ expect(writeSpy).not.toHaveBeenCalled();
150
+ });
151
+ });
152
+ describe('progress', () => {
153
+ let writeSpy;
154
+ beforeEach(() => {
155
+ writeSpy = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
156
+ mockIsQuietMode.mockReturnValue(false);
157
+ });
158
+ afterEach(() => {
159
+ writeSpy.mockRestore();
160
+ });
161
+ it('writes progress text in normal mode', () => {
162
+ progress('Classifying...');
163
+ expect(writeSpy).toHaveBeenCalled();
164
+ const output = writeSpy.mock.calls.map((c) => c[0]).join('');
165
+ expect(output).toContain('Classifying...');
166
+ });
167
+ it('suppresses output in quiet mode', () => {
168
+ mockIsQuietMode.mockReturnValue(true);
169
+ progress('Classifying...');
170
+ expect(writeSpy).not.toHaveBeenCalled();
171
+ });
172
+ });
173
+ describe('formatCheck', () => {
174
+ it('formats pass result with label and detail', () => {
175
+ const result = formatCheck('pass', 'Config file', '/path/to/.env');
176
+ expect(result).toContain('Config file');
177
+ expect(result).toContain('/path/to/.env');
178
+ });
179
+ it('formats fail result', () => {
180
+ const result = formatCheck('fail', 'API key', 'Not set');
181
+ expect(result).toContain('API key');
182
+ expect(result).toContain('Not set');
183
+ });
184
+ it('formats warn result', () => {
185
+ const result = formatCheck('warn', 'CLI', 'Unable to read');
186
+ expect(result).toContain('CLI');
187
+ expect(result).toContain('Unable to read');
188
+ });
189
+ it('pads label to 16 chars', () => {
190
+ const result = formatCheck('pass', 'Node', 'v22.0.0');
191
+ // "Node" (4 chars) padded to 16
192
+ expect(result).toContain('Node v22.0.0');
193
+ });
194
+ });
195
+ //# sourceMappingURL=style.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.test.js","sourceRoot":"","sources":["../../src/lib/style.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@productbrain/cli",
3
- "version": "0.1.0-beta.30",
3
+ "version": "0.1.0-beta.32",
4
4
  "description": "Product Brain — Chain knowledge and write-back CLI",
5
5
  "type": "module",
6
6
  "bin": {