@skillsmith/cli 0.6.5 → 0.7.1

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 (46) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/commands/index.d.ts +1 -0
  4. package/dist/src/commands/index.d.ts.map +1 -1
  5. package/dist/src/commands/index.js +2 -0
  6. package/dist/src/commands/index.js.map +1 -1
  7. package/dist/src/commands/inventory.action.d.ts +55 -0
  8. package/dist/src/commands/inventory.action.d.ts.map +1 -0
  9. package/dist/src/commands/inventory.action.js +179 -0
  10. package/dist/src/commands/inventory.action.js.map +1 -0
  11. package/dist/src/commands/inventory.action.test.d.ts +19 -0
  12. package/dist/src/commands/inventory.action.test.d.ts.map +1 -0
  13. package/dist/src/commands/inventory.action.test.js +371 -0
  14. package/dist/src/commands/inventory.action.test.js.map +1 -0
  15. package/dist/src/commands/inventory.d.ts +21 -0
  16. package/dist/src/commands/inventory.d.ts.map +1 -0
  17. package/dist/src/commands/inventory.js +42 -0
  18. package/dist/src/commands/inventory.js.map +1 -0
  19. package/dist/src/commands/login.d.ts.map +1 -1
  20. package/dist/src/commands/login.js +8 -40
  21. package/dist/src/commands/login.js.map +1 -1
  22. package/dist/src/commands/login.test.js +12 -32
  23. package/dist/src/commands/login.test.js.map +1 -1
  24. package/dist/src/index.js +9 -5
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/utils/skills-directory.d.ts +42 -0
  27. package/dist/src/utils/skills-directory.d.ts.map +1 -1
  28. package/dist/src/utils/skills-directory.js +76 -0
  29. package/dist/src/utils/skills-directory.js.map +1 -1
  30. package/dist/src/utils/startup-header-gate.d.ts +29 -0
  31. package/dist/src/utils/startup-header-gate.d.ts.map +1 -0
  32. package/dist/src/utils/startup-header-gate.js +44 -0
  33. package/dist/src/utils/startup-header-gate.js.map +1 -0
  34. package/dist/src/utils/startup-header-gate.test.d.ts +2 -0
  35. package/dist/src/utils/startup-header-gate.test.d.ts.map +1 -0
  36. package/dist/src/utils/startup-header-gate.test.js +46 -0
  37. package/dist/src/utils/startup-header-gate.test.js.map +1 -0
  38. package/dist/tests/skills-directory-per-harness.test.d.ts +2 -0
  39. package/dist/tests/skills-directory-per-harness.test.d.ts.map +1 -0
  40. package/dist/tests/skills-directory-per-harness.test.js +116 -0
  41. package/dist/tests/skills-directory-per-harness.test.js.map +1 -0
  42. package/package.json +3 -3
  43. package/dist/src/commands/login.post-login-sync.test.d.ts +0 -2
  44. package/dist/src/commands/login.post-login-sync.test.d.ts.map +0 -1
  45. package/dist/src/commands/login.post-login-sync.test.js +0 -120
  46. package/dist/src/commands/login.post-login-sync.test.js.map +0 -1
@@ -0,0 +1,371 @@
1
+ /**
2
+ * @fileoverview Tests for `skillsmith inventory` subcommands.
3
+ * @module @skillsmith/cli/commands/inventory.action.test
4
+ * @see SMI-5392 Wave 3 — CLI inventory push/status/forget-device (umbrella SMI-5382)
5
+ *
6
+ * Covers:
7
+ * push: renders applied / consent-off / disabled-locally output correctly
8
+ * push: maps each of the 4 typed errors to console.error + process.exit(1)
9
+ * status: prints device ID, last-push, opt-out flag, and harness presence
10
+ * forget-device: calls core forgetDevice and prints confirmation with prior ID
11
+ *
12
+ * instanceof strategy:
13
+ * @skillsmith/core is mocked with inline class definitions for the four error
14
+ * types. Because vi.mock factories are hoisted, both the source module and the
15
+ * test file receive the SAME class reference — so `err instanceof InventoryAuthError`
16
+ * inside inventoryPushActionImpl matches the errors thrown in tests.
17
+ */
18
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
19
+ // ---------------------------------------------------------------------------
20
+ // @skillsmith/core/telemetry — passthrough so withTelemetry has no side effects
21
+ // ---------------------------------------------------------------------------
22
+ vi.mock('@skillsmith/core/telemetry', () => ({
23
+ withTelemetry: (fn) => fn,
24
+ }));
25
+ // ---------------------------------------------------------------------------
26
+ // @skillsmith/core — mock functions; inline class definitions for error types
27
+ // so instanceof checks work (same reference in source + test).
28
+ // ---------------------------------------------------------------------------
29
+ vi.mock('@skillsmith/core', () => {
30
+ class InventoryAuthError extends Error {
31
+ constructor(msg = 'Not authenticated. Run `skillsmith login` and try again.') {
32
+ super(msg);
33
+ this.name = 'InventoryAuthError';
34
+ }
35
+ }
36
+ class InventoryConflictError extends Error {
37
+ constructor(msg = 'device_conflict') {
38
+ super(msg);
39
+ this.name = 'InventoryConflictError';
40
+ }
41
+ }
42
+ class InventoryValidationError extends Error {
43
+ constructor(msg = 'invalid payload') {
44
+ super(msg);
45
+ this.name = 'InventoryValidationError';
46
+ }
47
+ }
48
+ class InventoryUploadError extends Error {
49
+ constructor(msg) {
50
+ super(msg);
51
+ this.name = 'InventoryUploadError';
52
+ }
53
+ }
54
+ return {
55
+ pushInventory: vi.fn(),
56
+ getDeviceId: vi.fn(),
57
+ forgetDevice: vi.fn(),
58
+ getLastInventoryPushAt: vi.fn(),
59
+ isInventorySyncDisabledLocally: vi.fn(),
60
+ InventoryAuthError,
61
+ InventoryConflictError,
62
+ InventoryValidationError,
63
+ InventoryUploadError,
64
+ };
65
+ });
66
+ // ---------------------------------------------------------------------------
67
+ // @skillsmith/core/install — sync function, mock to return a fixed presence set
68
+ // ---------------------------------------------------------------------------
69
+ vi.mock('@skillsmith/core/install', () => ({
70
+ enumerateHarnessPresence: vi.fn(() => [
71
+ { harness: 'claude-code', present: true, path: '/mock/.claude/skills' },
72
+ { harness: 'cursor', present: false, path: '/mock/.cursor/skills' },
73
+ ]),
74
+ }));
75
+ // ---------------------------------------------------------------------------
76
+ // CLI utilities
77
+ // ---------------------------------------------------------------------------
78
+ vi.mock('../utils/skills-directory.js', () => ({
79
+ getInstalledSkillsPerHarness: vi.fn(() => Promise.resolve([])),
80
+ }));
81
+ vi.mock('../version.js', () => ({ VERSION: '0.0.0-test' }));
82
+ // ---------------------------------------------------------------------------
83
+ // Import after mocks are registered
84
+ // ---------------------------------------------------------------------------
85
+ import { runPush, runStatus, runForgetDevice, inventoryPushActionImpl, inventoryStatusActionImpl, inventoryForgetDeviceActionImpl, } from './inventory.action.js';
86
+ import { pushInventory, getDeviceId, forgetDevice, getLastInventoryPushAt, isInventorySyncDisabledLocally, InventoryAuthError, InventoryConflictError, InventoryValidationError, InventoryUploadError, } from '@skillsmith/core';
87
+ import { enumerateHarnessPresence } from '@skillsmith/core/install';
88
+ import { getInstalledSkillsPerHarness } from '../utils/skills-directory.js';
89
+ const pushInventoryMock = vi.mocked(pushInventory);
90
+ const getDeviceIdMock = vi.mocked(getDeviceId);
91
+ const forgetDeviceMock = vi.mocked(forgetDevice);
92
+ const getLastInventoryPushAtMock = vi.mocked(getLastInventoryPushAt);
93
+ const isInventorySyncDisabledLocallyMock = vi.mocked(isInventorySyncDisabledLocally);
94
+ const enumerateHarnessPresenceMock = vi.mocked(enumerateHarnessPresence);
95
+ const getInstalledSkillsPerHarnessMock = vi.mocked(getInstalledSkillsPerHarness);
96
+ // ---------------------------------------------------------------------------
97
+ // Console capture helper
98
+ // ---------------------------------------------------------------------------
99
+ function captureConsole() {
100
+ const log = [];
101
+ const err = [];
102
+ vi.spyOn(console, 'log').mockImplementation((...args) => log.push(args.join(' ')));
103
+ vi.spyOn(console, 'error').mockImplementation((...args) => err.push(args.join(' ')));
104
+ return {
105
+ log,
106
+ err,
107
+ all: () => [...log, ...err],
108
+ };
109
+ }
110
+ // ---------------------------------------------------------------------------
111
+ // Setup / teardown
112
+ // ---------------------------------------------------------------------------
113
+ beforeEach(() => {
114
+ vi.clearAllMocks();
115
+ // Defaults so tests that don't care about these still get sensible values.
116
+ getDeviceIdMock.mockReturnValue('test-device-uuid-1234');
117
+ getLastInventoryPushAtMock.mockReturnValue(undefined);
118
+ isInventorySyncDisabledLocallyMock.mockReturnValue(false);
119
+ getInstalledSkillsPerHarnessMock.mockResolvedValue([]);
120
+ });
121
+ afterEach(() => {
122
+ vi.restoreAllMocks();
123
+ });
124
+ // ---------------------------------------------------------------------------
125
+ // push — happy-path rendering
126
+ // ---------------------------------------------------------------------------
127
+ describe('inventory push — happy paths', () => {
128
+ it('prints dim note when sync is locally disabled (disabled_locally)', async () => {
129
+ pushInventoryMock.mockResolvedValue({
130
+ ok: true,
131
+ applied: false,
132
+ reason: 'disabled_locally',
133
+ });
134
+ const cap = captureConsole();
135
+ await runPush();
136
+ const output = cap.all().join('\n');
137
+ expect(output).toContain('SKILLSMITH_INVENTORY_DISABLE');
138
+ expect(output).toContain('nothing sent');
139
+ });
140
+ it('prints yellow consent-off message when server returns consent_disabled', async () => {
141
+ pushInventoryMock.mockResolvedValue({
142
+ ok: true,
143
+ applied: false,
144
+ reason: 'consent_disabled',
145
+ });
146
+ const cap = captureConsole();
147
+ await runPush();
148
+ const output = cap.all().join('\n');
149
+ expect(output).toContain('sync is OFF');
150
+ expect(output).toContain('nothing stored');
151
+ });
152
+ it('prints green success line with device_id and counts when applied=true', async () => {
153
+ pushInventoryMock.mockResolvedValue({
154
+ ok: true,
155
+ applied: true,
156
+ device_id: 'abc-device-123',
157
+ skills_present: 7,
158
+ skills_absent: 2,
159
+ });
160
+ const cap = captureConsole();
161
+ await runPush();
162
+ const output = cap.all().join('\n');
163
+ expect(output).toContain('abc-device-123');
164
+ expect(output).toContain('7 present');
165
+ expect(output).toContain('2 marked absent');
166
+ });
167
+ it('prints defensive raw result for unexpected ok/reason combo', async () => {
168
+ pushInventoryMock.mockResolvedValue({ ok: false, applied: false, reason: 'unknown_reason' });
169
+ const cap = captureConsole();
170
+ await runPush();
171
+ const output = cap.all().join('\n');
172
+ expect(output).toContain('unknown_reason');
173
+ });
174
+ });
175
+ // ---------------------------------------------------------------------------
176
+ // push — typed error mapping → process.exit(1)
177
+ // ---------------------------------------------------------------------------
178
+ describe('inventory push — typed error mapping', () => {
179
+ function mockExit() {
180
+ return vi.spyOn(process, 'exit').mockImplementation((code) => {
181
+ throw new Error(`process.exit(${String(code)})`);
182
+ });
183
+ }
184
+ it('maps InventoryAuthError → "Not logged in" message + exit(1)', async () => {
185
+ const exitSpy = mockExit();
186
+ pushInventoryMock.mockRejectedValue(new InventoryAuthError());
187
+ const cap = captureConsole();
188
+ await expect(inventoryPushActionImpl()).rejects.toThrow('process.exit(1)');
189
+ expect(exitSpy).toHaveBeenCalledWith(1);
190
+ expect(cap.err.join(' ')).toContain('Not logged in');
191
+ });
192
+ it('maps InventoryConflictError → "forget-device" hint + exit(1)', async () => {
193
+ const exitSpy = mockExit();
194
+ pushInventoryMock.mockRejectedValue(new InventoryConflictError());
195
+ const cap = captureConsole();
196
+ await expect(inventoryPushActionImpl()).rejects.toThrow('process.exit(1)');
197
+ expect(exitSpy).toHaveBeenCalledWith(1);
198
+ expect(cap.err.join(' ')).toContain('forget-device');
199
+ });
200
+ it('maps InventoryValidationError → server message + exit(1)', async () => {
201
+ const exitSpy = mockExit();
202
+ pushInventoryMock.mockRejectedValue(new InventoryValidationError('skill_id_too_long'));
203
+ const cap = captureConsole();
204
+ await expect(inventoryPushActionImpl()).rejects.toThrow('process.exit(1)');
205
+ expect(exitSpy).toHaveBeenCalledWith(1);
206
+ expect(cap.err.join(' ')).toContain('skill_id_too_long');
207
+ });
208
+ it('maps InventoryUploadError → "Inventory upload failed." prefix + exit(1)', async () => {
209
+ const exitSpy = mockExit();
210
+ pushInventoryMock.mockRejectedValue(new InventoryUploadError('HTTP 503'));
211
+ const cap = captureConsole();
212
+ await expect(inventoryPushActionImpl()).rejects.toThrow('process.exit(1)');
213
+ expect(exitSpy).toHaveBeenCalledWith(1);
214
+ expect(cap.err.join(' ')).toContain('Inventory upload failed.');
215
+ expect(cap.err.join(' ')).toContain('HTTP 503');
216
+ });
217
+ });
218
+ // ---------------------------------------------------------------------------
219
+ // status — read-only local view
220
+ // ---------------------------------------------------------------------------
221
+ describe('inventory status', () => {
222
+ it('shows device ID when registered', async () => {
223
+ getDeviceIdMock.mockReturnValue('my-stable-device-uuid');
224
+ const cap = captureConsole();
225
+ await runStatus();
226
+ expect(cap.log.join('\n')).toContain('my-stable-device-uuid');
227
+ });
228
+ it('shows placeholder when device not yet registered', async () => {
229
+ getDeviceIdMock.mockReturnValue(undefined);
230
+ const cap = captureConsole();
231
+ await runStatus();
232
+ expect(cap.log.join('\n')).toContain('not yet registered');
233
+ });
234
+ it('shows "never" when no push has occurred', async () => {
235
+ getLastInventoryPushAtMock.mockReturnValue(undefined);
236
+ const cap = captureConsole();
237
+ await runStatus();
238
+ expect(cap.log.join('\n')).toContain('never');
239
+ });
240
+ it('shows last push timestamp when present', async () => {
241
+ getLastInventoryPushAtMock.mockReturnValue('2026-01-15T10:00:00.000Z');
242
+ const cap = captureConsole();
243
+ await runStatus();
244
+ expect(cap.log.join('\n')).toContain('2026-01-15T10:00:00.000Z');
245
+ });
246
+ it('shows opt-out warning when SKILLSMITH_INVENTORY_DISABLE is set', async () => {
247
+ isInventorySyncDisabledLocallyMock.mockReturnValue(true);
248
+ const cap = captureConsole();
249
+ await runStatus();
250
+ expect(cap.log.join('\n')).toContain('SKILLSMITH_INVENTORY_DISABLE');
251
+ });
252
+ it('lists harness presence from enumerateHarnessPresence', async () => {
253
+ enumerateHarnessPresenceMock.mockReturnValue([
254
+ { harness: 'claude-code', present: true, path: '/mock/.claude/skills' },
255
+ { harness: 'cursor', present: false, path: '/mock/.cursor/skills' },
256
+ ]);
257
+ const cap = captureConsole();
258
+ await runStatus();
259
+ const out = cap.log.join('\n');
260
+ expect(out).toContain('claude-code');
261
+ expect(out).toContain('cursor');
262
+ });
263
+ it('shows skill count for present harnesses', async () => {
264
+ enumerateHarnessPresenceMock.mockReturnValue([
265
+ { harness: 'claude-code', present: true, path: '/mock/.claude/skills' },
266
+ ]);
267
+ getInstalledSkillsPerHarnessMock.mockResolvedValue([
268
+ {
269
+ harness: 'claude-code',
270
+ skillId: 'foo/bar',
271
+ version: '1.0.0',
272
+ contentHash: null,
273
+ path: '/mock/foo-bar',
274
+ },
275
+ {
276
+ harness: 'claude-code',
277
+ skillId: 'baz/qux',
278
+ version: null,
279
+ contentHash: null,
280
+ path: '/mock/baz-qux',
281
+ },
282
+ ]);
283
+ const cap = captureConsole();
284
+ await runStatus();
285
+ expect(cap.log.join('\n')).toContain('2 skills');
286
+ });
287
+ it('lists skill IDs under each harness when --verbose is passed', async () => {
288
+ enumerateHarnessPresenceMock.mockReturnValue([
289
+ { harness: 'claude-code', present: true, path: '/mock/.claude/skills' },
290
+ ]);
291
+ getInstalledSkillsPerHarnessMock.mockResolvedValue([
292
+ {
293
+ harness: 'claude-code',
294
+ skillId: 'author/my-skill',
295
+ version: '1.0.0',
296
+ contentHash: null,
297
+ path: '/mock/my-skill',
298
+ },
299
+ ]);
300
+ const cap = captureConsole();
301
+ await runStatus({ verbose: true });
302
+ expect(cap.log.join('\n')).toContain('author/my-skill');
303
+ });
304
+ it('does not list skill IDs when --verbose is not passed', async () => {
305
+ enumerateHarnessPresenceMock.mockReturnValue([
306
+ { harness: 'claude-code', present: true, path: '/mock/.claude/skills' },
307
+ ]);
308
+ getInstalledSkillsPerHarnessMock.mockResolvedValue([
309
+ {
310
+ harness: 'claude-code',
311
+ skillId: 'author/hidden-skill',
312
+ version: null,
313
+ contentHash: null,
314
+ path: '/mock/hidden',
315
+ },
316
+ ]);
317
+ const cap = captureConsole();
318
+ await runStatus({ verbose: false });
319
+ expect(cap.log.join('\n')).not.toContain('author/hidden-skill');
320
+ });
321
+ it('passes through errors from getInstalledSkillsPerHarness to inventoryStatusActionImpl', async () => {
322
+ getInstalledSkillsPerHarnessMock.mockRejectedValue(new Error('disk error'));
323
+ const exitSpy = vi.spyOn(process, 'exit').mockImplementation((code) => {
324
+ throw new Error(`process.exit(${String(code)})`);
325
+ });
326
+ captureConsole();
327
+ await expect(inventoryStatusActionImpl({})).rejects.toThrow('process.exit(1)');
328
+ expect(exitSpy).toHaveBeenCalledWith(1);
329
+ });
330
+ });
331
+ // ---------------------------------------------------------------------------
332
+ // forget-device
333
+ // ---------------------------------------------------------------------------
334
+ describe('inventory forget-device', () => {
335
+ it('calls core forgetDevice', async () => {
336
+ getDeviceIdMock.mockReturnValue('old-device-uuid');
337
+ captureConsole();
338
+ await runForgetDevice();
339
+ expect(forgetDeviceMock).toHaveBeenCalledTimes(1);
340
+ });
341
+ it('confirms the previous device ID in output', async () => {
342
+ getDeviceIdMock.mockReturnValue('previous-device-abc');
343
+ const cap = captureConsole();
344
+ await runForgetDevice();
345
+ expect(cap.log.join('\n')).toContain('previous-device-abc');
346
+ });
347
+ it('shows "(none)" when there was no device ID to forget', async () => {
348
+ getDeviceIdMock.mockReturnValue(undefined);
349
+ const cap = captureConsole();
350
+ await runForgetDevice();
351
+ expect(cap.log.join('\n')).toContain('(none)');
352
+ });
353
+ it('mentions fresh device on next push', async () => {
354
+ getDeviceIdMock.mockReturnValue('any-device');
355
+ const cap = captureConsole();
356
+ await runForgetDevice();
357
+ expect(cap.log.join('\n')).toContain('fresh device');
358
+ });
359
+ it('passes through errors to inventoryForgetDeviceActionImpl + exit(1)', async () => {
360
+ forgetDeviceMock.mockImplementation(() => {
361
+ throw new Error('config write error');
362
+ });
363
+ const exitSpy = vi.spyOn(process, 'exit').mockImplementation((code) => {
364
+ throw new Error(`process.exit(${String(code)})`);
365
+ });
366
+ captureConsole();
367
+ await expect(inventoryForgetDeviceActionImpl()).rejects.toThrow('process.exit(1)');
368
+ expect(exitSpy).toHaveBeenCalledWith(1);
369
+ });
370
+ });
371
+ //# sourceMappingURL=inventory.action.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventory.action.test.js","sourceRoot":"","sources":["../../../src/commands/inventory.action.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @fileoverview `skillsmith inventory` command group — cross-harness inventory management.
3
+ * @module @skillsmith/cli/commands/inventory
4
+ * @see SMI-5392 Wave 3 — CLI `inventory` subcommands (umbrella SMI-5382).
5
+ * @see SMI-5128 sibling-split convention — action impls + withTelemetry wrappers
6
+ * live in inventory.action.ts; this file retains only the commander factory.
7
+ *
8
+ * Subcommands:
9
+ * skillsmith inventory push
10
+ * skillsmith inventory status [--verbose]
11
+ * skillsmith inventory forget-device
12
+ */
13
+ import { Command } from 'commander';
14
+ /**
15
+ * Build and return the `inventory` commander group with its three subcommands.
16
+ *
17
+ * @see SMI-5392
18
+ */
19
+ export declare function createInventoryCommand(): Command;
20
+ export { runPush, runStatus, runForgetDevice, inventoryPushActionImpl, inventoryStatusActionImpl, inventoryForgetDeviceActionImpl, } from './inventory.action.js';
21
+ //# sourceMappingURL=inventory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../../../src/commands/inventory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAYnC;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAsBhD;AAGD,OAAO,EACL,OAAO,EACP,SAAS,EACT,eAAe,EACf,uBAAuB,EACvB,yBAAyB,EACzB,+BAA+B,GAChC,MAAM,uBAAuB,CAAA"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @fileoverview `skillsmith inventory` command group — cross-harness inventory management.
3
+ * @module @skillsmith/cli/commands/inventory
4
+ * @see SMI-5392 Wave 3 — CLI `inventory` subcommands (umbrella SMI-5382).
5
+ * @see SMI-5128 sibling-split convention — action impls + withTelemetry wrappers
6
+ * live in inventory.action.ts; this file retains only the commander factory.
7
+ *
8
+ * Subcommands:
9
+ * skillsmith inventory push
10
+ * skillsmith inventory status [--verbose]
11
+ * skillsmith inventory forget-device
12
+ */
13
+ import { Command } from 'commander';
14
+ import { inventoryPushAction, inventoryStatusAction, inventoryForgetDeviceAction, } from './inventory.action.js';
15
+ // ---------------------------------------------------------------------------
16
+ // Command factory
17
+ // ---------------------------------------------------------------------------
18
+ /**
19
+ * Build and return the `inventory` commander group with its three subcommands.
20
+ *
21
+ * @see SMI-5392
22
+ */
23
+ export function createInventoryCommand() {
24
+ const inventory = new Command('inventory').description('Manage cross-harness skill inventory sync and device registration');
25
+ inventory
26
+ .command('push')
27
+ .description("Push this device's skill inventory snapshot to the registry")
28
+ .action(inventoryPushAction);
29
+ inventory
30
+ .command('status')
31
+ .description('Show local inventory state (read-only, no network calls)')
32
+ .option('--verbose', 'List individual skill IDs under each harness')
33
+ .action(inventoryStatusAction);
34
+ inventory
35
+ .command('forget-device')
36
+ .description('Clear the local device registration; the next push will create a fresh device')
37
+ .action(inventoryForgetDeviceAction);
38
+ return inventory;
39
+ }
40
+ // Internal exports for tests — sourced from inventory.action.ts (SMI-5128 split).
41
+ export { runPush, runStatus, runForgetDevice, inventoryPushActionImpl, inventoryStatusActionImpl, inventoryForgetDeviceActionImpl, } from './inventory.action.js';
42
+ //# sourceMappingURL=inventory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../../src/commands/inventory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAA;AAE9B,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CACpD,mEAAmE,CACpE,CAAA;IAED,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,6DAA6D,CAAC;SAC1E,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAE9B,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,0DAA0D,CAAC;SACvE,MAAM,CAAC,WAAW,EAAE,8CAA8C,CAAC;SACnE,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAEhC,SAAS;SACN,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,+EAA+E,CAAC;SAC5F,MAAM,CAAC,2BAA2B,CAAC,CAAA;IAEtC,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,kFAAkF;AAClF,OAAO,EACL,OAAO,EACP,SAAS,EACT,eAAe,EACf,uBAAuB,EACvB,yBAAyB,EACzB,+BAA+B,GAChC,MAAM,uBAAuB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/login.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAqYnC,eAAO,MAAM,WAAW;aAvDb,OAAO;kBACF,OAAO;mBA0DrB,CAAA;AAEF,wBAAgB,kBAAkB,IAAI,OAAO,CAM5C"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/login.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAsWnC,eAAO,MAAM,WAAW;aAvDb,OAAO;kBACF,OAAO;mBA0DrB,CAAA;AAEF,wBAAgB,kBAAkB,IAAI,OAAO,CAM5C"}
@@ -5,13 +5,9 @@ import { hostname } from 'node:os';
5
5
  import { Command } from 'commander';
6
6
  import { password } from '@inquirer/prompts';
7
7
  import chalk from 'chalk';
8
- import ora from 'ora';
9
8
  import { getApiKey, getApiBaseUrl, loadCredentials, storeCredentials, storeApiKey, isValidApiKeyFormat, } from '@skillsmith/core';
10
9
  import { withTelemetry } from '@skillsmith/core/telemetry';
11
10
  import { VERSION as CLI_VERSION } from '../version.js';
12
- import { DEFAULT_DB_PATH } from '../config.js';
13
- import { openCliDatabase } from '../utils/open-database.js';
14
- import { runRegistrySync } from './run-registry-sync.js';
15
11
  const DEVICE_PAGE_URL = 'https://skillsmith.app/device';
16
12
  const DEVICE_CODE_TIMEOUT_MS = 15 * 60 * 1000;
17
13
  const POLL_MS = 5_000;
@@ -126,33 +122,6 @@ async function pollDeviceToken(deviceCode) {
126
122
  },
127
123
  };
128
124
  }
129
- /**
130
- * SMI-4917 Bug 3: bootstrap the local skill registry immediately after a
131
- * successful login so the very next `skillsmith search` returns results.
132
- *
133
- * Non-fatal: credentials are already persisted by `storeCredentials` /
134
- * `storeApiKey` before this runs. A sync failure (offline, API error) downgrades
135
- * to a warning and never changes the login exit code. `ora` no-ops on a non-TTY
136
- * stream, so headless logins are unaffected.
137
- *
138
- * Shared by both the device-code flow and the paste-legacy flow (M1).
139
- */
140
- async function postLoginSync() {
141
- const syncSpinner = ora('Syncing skills from the registry…').start();
142
- try {
143
- const db = await openCliDatabase(DEFAULT_DB_PATH);
144
- try {
145
- const result = await runRegistrySync(db);
146
- syncSpinner.succeed(chalk.green(`Synced ${result.totalProcessed} skills.`));
147
- }
148
- finally {
149
- db.close();
150
- }
151
- }
152
- catch {
153
- syncSpinner.warn(chalk.yellow('Skills sync skipped — run `skillsmith sync` later.'));
154
- }
155
- }
156
125
  async function runDeviceCodeFlow(noBrowser) {
157
126
  let dc;
158
127
  try {
@@ -230,11 +199,12 @@ async function runDeviceCodeFlow(noBrowser) {
230
199
  }
231
200
  await storeCredentials({ ...result.creds, version: 2 });
232
201
  console.log(chalk.green('\nLogged in successfully.'));
233
- // SMI-4917 Bug 3: auto-sync the registry so the first search returns results.
234
- await postLoginSync();
235
- // SMI-4447: close the "did it work?" gap post-login. A single concrete command the
236
- // user can run in-terminal beats a URL (phishing-safe, no browser context switch).
237
- console.log(chalk.dim(' Try it: skillsmith search mcp'));
202
+ // SMI-5427: do NOT auto-sync the registry on login. The full ~74k-skill sync runs
203
+ // on the WASM SQLite driver for npx installs (no native better-sqlite3), blocking
204
+ // login for 20+ minutes. Login authenticates only; offline search is opt-in via
205
+ // `skillsmith sync`. The hint avoids `search` so users don't trip the same sync on
206
+ // first query (the search UX lands in 0.7.2 / SMI-5427).
207
+ console.log(chalk.dim(' Run `skillsmith --help` to get started.'));
238
208
  process.exit(EXIT.success);
239
209
  }
240
210
  console.error(chalk.red('\nApproval timed out. Run `skillsmith login` again.'));
@@ -272,10 +242,8 @@ async function runPasteLegacyFlow() {
272
242
  }
273
243
  console.log(chalk.green('\nLogged in successfully.'));
274
244
  console.log(chalk.dim(' Clear your clipboard when done.'));
275
- // SMI-4917 Bug 3: auto-sync the registry so the first search returns results.
276
- await postLoginSync();
277
- // SMI-4447 parity: give the paste path the same concrete next-step hint.
278
- console.log(chalk.dim(' Try it: skillsmith search mcp'));
245
+ // SMI-5427: no auto-sync on login (see the device-code flow). Authenticate only.
246
+ console.log(chalk.dim(' Run `skillsmith --help` to get started.'));
279
247
  process.exit(EXIT.success);
280
248
  }
281
249
  }
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/login.ts"],"names":[],"mappings":"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"}