@inspecto-dev/cli 0.3.2 → 0.3.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @inspecto-dev/cli
2
2
 
3
+ ## 0.3.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Stabilize onboarding and browser-to-IDE dispatch flows across CLI and IDE integrations.
8
+ - Updated dependencies
9
+ - @inspecto-dev/types@0.3.3
10
+
3
11
  ## 0.3.2
4
12
 
5
13
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inspecto-dev/cli",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "CLI tools for Inspecto onboarding and lifecycle management",
5
5
  "keywords": [
6
6
  "inspecto",
@@ -20,7 +20,7 @@
20
20
  "ora": "^9.3.0",
21
21
  "picocolors": "^1.0.0",
22
22
  "prompts": "^2.4.2",
23
- "@inspecto-dev/types": "0.3.2"
23
+ "@inspecto-dev/types": "0.3.3"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/node": "^20.0.0",
@@ -369,6 +369,7 @@ export async function runIntegrationAutomation(
369
369
  const workspaceOpenFailed = Boolean(cwd) && details.workspace?.opened === false
370
370
 
371
371
  const launched = await openUri(launchUri)
372
+
372
373
  if (launched) {
373
374
  if (!silent) {
374
375
  log.success(
@@ -141,6 +141,62 @@ describe('runIntegrationAutomation', () => {
141
141
  expect(openUriMock).toHaveBeenCalledTimes(1)
142
142
  })
143
143
 
144
+ it('launches Copilot onboarding via the Inspecto URI in VS Code', async () => {
145
+ resolveHostIdeMock.mockResolvedValue({
146
+ ide: 'vscode',
147
+ confidence: 'high',
148
+ source: 'explicit',
149
+ candidates: ['vscode'],
150
+ })
151
+
152
+ const { runIntegrationAutomation } = await import('../src/commands/integration-automation.js')
153
+
154
+ await runIntegrationAutomation('copilot', { ide: 'vscode' }, '/repo')
155
+
156
+ expect(openUriMock).toHaveBeenCalledWith(
157
+ 'vscode://inspecto.inspecto/send?target=copilot&prompt=Set+up+Inspecto+in+this+project&autoSend=true&workspace=%2Frepo&overrides=%7B%22type%22%3A%22extension%22%7D',
158
+ )
159
+ expect(logMock.success).toHaveBeenCalledWith('Step 6/6: Launched onboarding in VS Code')
160
+ expect(logMock.hint).toHaveBeenCalledWith('copilot via extension mode')
161
+ })
162
+
163
+ it('does not open a generic VS Code chat session before launching Codex onboarding', async () => {
164
+ resolveHostIdeMock.mockResolvedValue({
165
+ ide: 'vscode',
166
+ confidence: 'high',
167
+ source: 'explicit',
168
+ candidates: ['vscode'],
169
+ })
170
+ const { runIntegrationAutomation } = await import('../src/commands/integration-automation.js')
171
+
172
+ await runIntegrationAutomation('codex', { ide: 'vscode' }, '/repo')
173
+
174
+ expect(openUriMock).toHaveBeenCalledWith(
175
+ 'vscode://inspecto.inspecto/send?target=codex&prompt=Set+up+Inspecto+in+this+project&autoSend=true&workspace=%2Frepo&overrides=%7B%22type%22%3A%22extension%22%7D',
176
+ )
177
+ })
178
+
179
+ it('does not open a generic VS Code chat session before launching Claude Code onboarding', async () => {
180
+ resolveHostIdeMock.mockResolvedValue({
181
+ ide: 'vscode',
182
+ confidence: 'high',
183
+ source: 'explicit',
184
+ candidates: ['vscode'],
185
+ })
186
+ resolveDispatchModeMock.mockResolvedValue({
187
+ mode: 'extension',
188
+ ready: true,
189
+ reason: 'vscode_claude-code_extension',
190
+ })
191
+ const { runIntegrationAutomation } = await import('../src/commands/integration-automation.js')
192
+
193
+ await runIntegrationAutomation('claude-code', { ide: 'vscode' }, '/repo')
194
+
195
+ expect(openUriMock).toHaveBeenCalledWith(
196
+ 'vscode://inspecto.inspecto/send?target=claude-code&prompt=Set+up+Inspecto+in+this+project&autoSend=false&workspace=%2Frepo&overrides=%7B%22type%22%3A%22extension%22%7D',
197
+ )
198
+ })
199
+
144
200
  it('uses codex CLI mode in Cursor when the Codex extension is unavailable but the CLI exists', async () => {
145
201
  resolveHostIdeMock.mockResolvedValue({
146
202
  ide: 'cursor',