@userreason/wizard 0.3.0 → 0.3.2

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 (36) hide show
  1. package/README.md +44 -51
  2. package/dist/agent-note.js +6 -5
  3. package/dist/agent-skill.js +5 -4
  4. package/dist/analytics.js +2 -2
  5. package/dist/bin.js +55 -51
  6. package/dist/{chunk-SFODN2YB.js → chunk-4INLEQE2.js} +2 -2
  7. package/dist/{chunk-77SK7TKZ.js → chunk-7AAH6C4L.js} +928 -631
  8. package/dist/{chunk-Z6ZY7X2K.js → chunk-7O7H3PIM.js} +6 -6
  9. package/dist/{chunk-VXWLSQYK.js → chunk-CSZW2ULJ.js} +39 -17
  10. package/dist/{chunk-P6DOSGRZ.js → chunk-DMXUXEQI.js} +1 -1
  11. package/dist/{chunk-GOYBYAUH.js → chunk-EVNEX5N5.js} +1 -1
  12. package/dist/{chunk-UN24JFV2.js → chunk-KF37D5WL.js} +1 -1
  13. package/dist/{chunk-5IO5LY22.js → chunk-LEJFE4U5.js} +2 -2
  14. package/dist/{chunk-MFGJ2KPT.js → chunk-NNPYUATH.js} +1 -1
  15. package/dist/chunk-PJQOSDYS.js +50 -0
  16. package/dist/{chunk-YYFC7TM2.js → chunk-Q5U5UOQN.js} +7 -5
  17. package/dist/{chunk-NZ65XDNL.js → chunk-SB3AYQWG.js} +4 -4
  18. package/dist/{chunk-CADA5WZ3.js → chunk-TOID3NYP.js} +13 -6
  19. package/dist/{chunk-ZHHIHHLU.js → chunk-TRBSH5G7.js} +5 -5
  20. package/dist/{chunk-2UEUVLCB.js → chunk-XASPGFYK.js} +3 -3
  21. package/dist/{chunk-F4FKAUQN.js → chunk-XPFKXLIZ.js} +2 -2
  22. package/dist/{chunk-HIF6NUNK.js → chunk-ZHJV247H.js} +6 -8
  23. package/dist/cli-access.js +3 -3
  24. package/dist/connection.js +2 -2
  25. package/dist/first-survey.js +2 -2
  26. package/dist/footer.js +5 -4
  27. package/dist/global-cli.js +5 -4
  28. package/dist/install-diagnostics.js +9 -0
  29. package/dist/integrate.js +4 -3
  30. package/dist/project.js +3 -2
  31. package/dist/setup-flow.js +9 -8
  32. package/dist/setup.js +8 -7
  33. package/dist/startup.js +2 -2
  34. package/dist/state.js +5 -4
  35. package/dist/ui.js +2 -2
  36. package/package.json +1 -1
package/README.md CHANGED
@@ -36,21 +36,12 @@ terminal. The [first survey guide](https://docs.userreason.com/get-started/first
36
36
  walks through creating and publishing a survey. Installing the SDK does not
37
37
  publish a survey.
38
38
 
39
- In development mode (`--dev`), an interactive installation continues into a
40
- guided first-survey flow. Choose an improvement, workflow-friction or satisfaction
41
- goal and immediately review a ready-to-edit question. You can save that starter
42
- without AI or skip the step. Optional AI personalization runs while you review
43
- the starter and never replaces your edits automatically.
44
-
45
- Local source preparation starts after sign-in and stays in memory. It does not
46
- upload code, read Git history or make a model call. Personalization requires a
47
- separate review and approval of the exact source packet. Changed files are
48
- rechecked before upload and before using a source-based suggestion.
49
-
50
- Saving creates an unpublished draft. Choose a verified completion event or
51
- configure audience and timing in the editor; the latter leaves the draft unable
52
- to match anyone. No survey is published automatically. This development flow
53
- does not change the production wizard or require an SDK release.
39
+ Onboarding opens in the browser by default in production and development (`--dev`).
40
+ Survey suggestions and the Agent test step are paused in production and development.
41
+ Setup does not prepare or upload application source for recommendations, and it
42
+ neither offers nor creates suggested drafts. The terminal flow skips the
43
+ first-survey offer too. You can create surveys in the dashboard after setup.
44
+ Use `--terminal-setup` to choose terminal onboarding explicitly.
54
45
 
55
46
  For a different application directory:
56
47
 
@@ -178,9 +169,17 @@ send and store no analytics. The bounded queue stays outside the project,
178
169
  expires after seven days, and retries best-effort uploads with short deadlines.
179
170
  Measurement failures never fail an installation.
180
171
 
181
- ### Browser-guided setup (explicit opt-in)
172
+ ### Browser-guided setup
182
173
 
183
- Prepared compatible builds support:
174
+ Development onboarding uses the browser by default, including local development
175
+ package builds. With a published package, select the development API:
176
+
177
+ ```sh
178
+ npx -y @userreason/wizard@latest --dev
179
+ ```
180
+
181
+ Production and development both use browser setup by default. `--browser-setup`
182
+ remains an optional explicit alias. Compatible builds also support:
184
183
 
185
184
  ```sh
186
185
  npx -y @userreason/wizard@latest --browser-setup
@@ -188,28 +187,27 @@ npx -y @userreason/wizard@latest --resume-setup SETUP_UUID
188
187
  ```
189
188
 
190
189
  Run from the same project and use the same `--api-url` or `--api-environment`
191
- on resume. A custom API also needs its trusted `--browser-origin`. Ordinary
192
- startup keeps the existing terminal wizard. If a server has not enabled browser
193
- setup, a new connection falls back before creating a session or local effects.
190
+ on resume. A custom API also needs its trusted `--browser-origin`.
191
+ Use `--terminal-setup` to choose terminal onboarding explicitly. Scripted runs
192
+ with `--yes` or `--json`, package refresh, dry runs, and explicit terminal
193
+ installation/resource flags retain their existing behavior; an explicit
194
+ `--browser-setup` still rejects incompatible terminal options.
195
+ If a server has not enabled browser setup, a new connection falls back before
196
+ creating a session or local effects.
194
197
  Malformed protocol data and already-started setups never fall back silently.
195
198
  Server rollout flags remain off by default; publication is a separate release.
196
199
 
197
200
  The browser owns workspace/site selection, optional choices, local-plan approval,
198
- source/provider consent, candidate selection, inactive draft saves, sample skip,
199
- finish and cancellation. The local runner executes only approved typed effects
201
+ finish and cancellation. Source analysis, suggested drafts and the Agent test
202
+ remain implemented but are hidden and skipped while their rollout flags are off. The local runner executes only approved typed effects
200
203
  using the separate owner-only setup capability. It does not read or replace
201
204
  normal CLI credentials. Stopping the local process leaves the setup resumable;
202
205
  cancelling in the browser does not undo completed edits or delete created drafts.
203
206
  Terminal results list verified, failed and manual outcomes separately.
204
207
 
205
- Source analysis starts only when the server advertises availability. Before
206
- consent, the terminal displays the exact bounded excerpts, hashes and line ranges;
207
- the browser receives metadata only. No Git history is collected. Approving the
208
- source packet and providers is separate from approving installation. Immediately
209
- before upload, the runner revalidates full files and installed package versions.
210
- Changed source requires fresh browser review. Raw source stays in memory and is
211
- not written to setup receipts. A lost analysis response is polled rather than
212
- repeated; browser retry starts a fresh preparation and consent.
208
+ Source analysis starts only when the server advertises availability. It is
209
+ currently disabled for production and development onboarding, including resumed
210
+ setups. No onboarding recommendation providers are called.
213
211
 
214
212
  The optional footer choice defaults to No. `planFooter` preserves the reachable
215
213
  host footer and adds a plain `Powered by UserReason` link when placement is
@@ -218,25 +216,20 @@ Package managers use fixed allowlisted arguments, disabled scripts and exact
218
216
  versions. Lockfiles are declared generated outputs and verified by recorded hashes.
219
217
  Interrupted commands reconcile local receipts instead of blindly reinstalling.
220
218
 
221
- At the optional agent test, the terminal prints a setup-scoped command and the
222
- prompt “What do UserReason dummy respondents think?”. It reads only the static
223
- sample and records its receipt; it does not read production responses. Installing
224
- the agent skill and reading that sample never grant ongoing CLI access. Authorize
225
- continuing access separately with `userreason login --open` when wanted.
226
-
227
- ### Optional first survey
228
-
229
- After a successful interactive installation, choose Review suggestions, Continue
230
- with my coding agent, or Finish setup. `--yes`, JSON and diff modes never approve
231
- source analysis. Suggestions reuse the CLI's bounded collector, explicit provider
232
- consent and per-candidate draft review; failures leave installation intact. An
233
- ongoing site-read/survey-write connection is required, not the installation grant.
234
- No automatic source edits or publication. Resume/cancel/delete with the CLI's
235
- `first-survey` group. See the CLI README and installed skill for privacy, retention,
236
- hash-guarded manual instrumentation and separate publication authorization.
237
-
238
- The production profile for wizard 0.3.0 selects `@userreason/js@0.5.0` and
239
- `@userreason/cli@0.2.0`. New installs use those exact versions; an installed
219
+ The Agent test and terminal first-survey offer are paused. Installing the agent
220
+ skill never grants ongoing CLI access. Authorize continuing access separately
221
+ with `userreason login --open` when wanted. Standalone CLI survey tools remain
222
+ available outside onboarding.
223
+
224
+ The production profile for wizard 0.3.2 selects `@userreason/js@0.5.3` and
225
+ `@userreason/cli@0.2.1`. New installs use those exact versions; an installed
240
226
  stable patch in the same release line is reused. Earlier SDK 0.4 and CLI 0.1
241
- releases are upgraded when installation is selected. Browser setup still
242
- requires explicit `--browser-setup` and a server advertising the capability.
227
+ releases are upgraded when installation is selected. Browser setup is the default and requires a server advertising the capability.
228
+ Use `--terminal-setup` for the terminal flow.
229
+
230
+ Browser-guided installation prints package-manager failures in the connected
231
+ terminal, including failed registry requests when npm provides them. Diagnostic
232
+ text is redacted and retained in the private local setup receipt for resume.
233
+ A finished browser session with failed local steps is reported as incomplete and
234
+ the wizard exits unsuccessfully. Project `.npmrc` comments and authentication
235
+ references are preserved; registry configuration only adds the UserReason scope.
@@ -3,12 +3,13 @@ import {
3
3
  applyAgentNote,
4
4
  offerAgentNote,
5
5
  planAgentNote
6
- } from "./chunk-Z6ZY7X2K.js";
7
- import "./chunk-GOYBYAUH.js";
8
- import "./chunk-5IO5LY22.js";
9
- import "./chunk-CADA5WZ3.js";
6
+ } from "./chunk-7O7H3PIM.js";
7
+ import "./chunk-LEJFE4U5.js";
8
+ import "./chunk-TOID3NYP.js";
9
+ import "./chunk-PJQOSDYS.js";
10
10
  import "./chunk-NMHTFC5Q.js";
11
- import "./chunk-77SK7TKZ.js";
11
+ import "./chunk-EVNEX5N5.js";
12
+ import "./chunk-7AAH6C4L.js";
12
13
  import "./chunk-WL3NOIM6.js";
13
14
  export {
14
15
  applyAgentNote,
@@ -3,11 +3,12 @@ import {
3
3
  applyAgentSkill,
4
4
  offerAgentSkill,
5
5
  planAgentSkill
6
- } from "./chunk-NZ65XDNL.js";
7
- import "./chunk-GOYBYAUH.js";
8
- import "./chunk-CADA5WZ3.js";
6
+ } from "./chunk-SB3AYQWG.js";
7
+ import "./chunk-TOID3NYP.js";
8
+ import "./chunk-PJQOSDYS.js";
9
9
  import "./chunk-NMHTFC5Q.js";
10
- import "./chunk-77SK7TKZ.js";
10
+ import "./chunk-EVNEX5N5.js";
11
+ import "./chunk-7AAH6C4L.js";
11
12
  import "./chunk-WL3NOIM6.js";
12
13
  export {
13
14
  applyAgentSkill,
package/dist/analytics.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { createRequire as createWizardRequire } from 'node:module'; import { fileURLToPath as wizardFileURLToPath } from 'node:url'; import { dirname as wizardDirname } from 'node:path'; const require = createWizardRequire(import.meta.url); const __filename = wizardFileURLToPath(import.meta.url); const __dirname = wizardDirname(__filename);
2
2
  import {
3
3
  WizardAnalytics
4
- } from "./chunk-UN24JFV2.js";
5
- import "./chunk-77SK7TKZ.js";
4
+ } from "./chunk-KF37D5WL.js";
5
+ import "./chunk-7AAH6C4L.js";
6
6
  import "./chunk-WL3NOIM6.js";
7
7
  export {
8
8
  WizardAnalytics
package/dist/bin.js CHANGED
@@ -1,62 +1,48 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as createWizardRequire } from 'node:module'; import { fileURLToPath as wizardFileURLToPath } from 'node:url'; import { dirname as wizardDirname } from 'node:path'; const require = createWizardRequire(import.meta.url); const __filename = wizardFileURLToPath(import.meta.url); const __dirname = wizardDirname(__filename);
3
+ import {
4
+ runBrowserWizard
5
+ } from "./chunk-CSZW2ULJ.js";
6
+ import {
7
+ clearInstallation,
8
+ resolveInstallation,
9
+ saveInstallation,
10
+ savedInstallation
11
+ } from "./chunk-XASPGFYK.js";
3
12
  import {
4
13
  offerAgentNote,
5
14
  planAgentNote
6
- } from "./chunk-Z6ZY7X2K.js";
15
+ } from "./chunk-7O7H3PIM.js";
7
16
  import {
8
17
  offerCliAccess
9
- } from "./chunk-F4FKAUQN.js";
18
+ } from "./chunk-XPFKXLIZ.js";
10
19
  import {
11
20
  offerGlobalCli
12
- } from "./chunk-ZHHIHHLU.js";
21
+ } from "./chunk-TRBSH5G7.js";
13
22
  import {
14
23
  WizardAnalytics
15
- } from "./chunk-UN24JFV2.js";
24
+ } from "./chunk-KF37D5WL.js";
16
25
  import {
17
26
  beginFirstSurveyPreparation,
18
27
  offerFirstSurvey
19
- } from "./chunk-HIF6NUNK.js";
20
- import {
21
- runBrowserWizard
22
- } from "./chunk-VXWLSQYK.js";
23
- import "./chunk-YYFC7TM2.js";
24
- import "./chunk-SFODN2YB.js";
28
+ } from "./chunk-ZHJV247H.js";
29
+ import "./chunk-Q5U5UOQN.js";
30
+ import "./chunk-4INLEQE2.js";
25
31
  import {
26
32
  offerAgentSkill,
27
33
  planAgentSkill
28
- } from "./chunk-NZ65XDNL.js";
34
+ } from "./chunk-SB3AYQWG.js";
29
35
  import {
30
36
  ensureCurrentWizard,
31
37
  wizardVersion
32
- } from "./chunk-MFGJ2KPT.js";
33
- import {
34
- Cancelled,
35
- Terminal,
36
- approvalStatus,
37
- clean,
38
- normalizeOrigin,
39
- openBrowser
40
- } from "./chunk-GOYBYAUH.js";
41
- import {
42
- BrowserConnectionUnavailable,
43
- compatibilityCredentials,
44
- connectInstallation,
45
- memoryCredentials
46
- } from "./chunk-P6DOSGRZ.js";
47
- import {
48
- clearInstallation,
49
- resolveInstallation,
50
- saveInstallation,
51
- savedInstallation
52
- } from "./chunk-2UEUVLCB.js";
38
+ } from "./chunk-NNPYUATH.js";
53
39
  import {
54
40
  applyIntegration,
55
41
  detectInstallation,
56
42
  integrationAdditions,
57
43
  integrationPreview,
58
44
  planIntegration
59
- } from "./chunk-5IO5LY22.js";
45
+ } from "./chunk-LEJFE4U5.js";
60
46
  import {
61
47
  SdkInstallError,
62
48
  cliCommand,
@@ -70,8 +56,23 @@ import {
70
56
  sdkInstallCommand,
71
57
  verifyConfiguration,
72
58
  writeIntegration
73
- } from "./chunk-CADA5WZ3.js";
59
+ } from "./chunk-TOID3NYP.js";
60
+ import "./chunk-PJQOSDYS.js";
74
61
  import "./chunk-NMHTFC5Q.js";
62
+ import {
63
+ Cancelled,
64
+ Terminal,
65
+ approvalStatus,
66
+ clean,
67
+ normalizeOrigin,
68
+ openBrowser
69
+ } from "./chunk-EVNEX5N5.js";
70
+ import {
71
+ BrowserConnectionUnavailable,
72
+ compatibilityCredentials,
73
+ connectInstallation,
74
+ memoryCredentials
75
+ } from "./chunk-DMXUXEQI.js";
75
76
  import {
76
77
  ApiError,
77
78
  AuthenticationError,
@@ -86,7 +87,7 @@ import {
86
87
  resolveCredentials,
87
88
  saveConfig,
88
89
  uuid
89
- } from "./chunk-77SK7TKZ.js";
90
+ } from "./chunk-7AAH6C4L.js";
90
91
  import "./chunk-WL3NOIM6.js";
91
92
 
92
93
  // src/bin.ts
@@ -96,7 +97,8 @@ var help = `UserReason installation wizard
96
97
 
97
98
  userreason-wizard [--directory PATH] [--origin URL]
98
99
 
99
- --browser-setup (explicit browser-guided setup; falls back when unavailable)
100
+ --browser-setup (browser-guided setup; default for onboarding)
101
+ --terminal-setup (use terminal onboarding instead)
100
102
  --resume-setup UUID (resume this project's saved browser setup)
101
103
  --browser-origin ORIGIN (trusted dashboard origin for a custom API)
102
104
  --workspace UUID / --workspace-name NAME
@@ -149,6 +151,7 @@ async function main() {
149
151
  version: { type: "boolean", short: "v" },
150
152
  dev: { type: "boolean" },
151
153
  "browser-setup": { type: "boolean" },
154
+ "terminal-setup": { type: "boolean" },
152
155
  "resume-setup": { type: "string" },
153
156
  "browser-origin": { type: "string" },
154
157
  "api-environment": { type: "string" },
@@ -198,18 +201,6 @@ async function main() {
198
201
  process.stdout.write(help);
199
202
  return;
200
203
  }
201
- const browserMode = Boolean(values["browser-setup"] || values["resume-setup"]);
202
- if (values["browser-setup"] && values["resume-setup"]) throw new Error("Choose --browser-setup or --resume-setup");
203
- if (values["resume-setup"]) uuid(values["resume-setup"], "Setup ID");
204
- if (values["browser-origin"]) {
205
- if (!browserMode) throw new Error("--browser-origin requires browser setup");
206
- apiUrl(values["browser-origin"], "Browser origin");
207
- }
208
- if (browserMode) {
209
- const conflicts = ["refresh", "dry-run", "install", "skip-install", "integrate", "skip-integrate", "agent-note", "skip-agent-note", "agent-skill", "skip-agent-skill", "global-cli", "skip-global-cli", "cli-access", "skip-cli-access", "workspace", "workspace-name", "site", "site-name", "origin", "environment", "force", "diff", "session-only", "client-id", "credential-store"];
210
- if (conflicts.some((key) => values[key] !== void 0 && values[key] !== false)) throw new Error("Browser setup choices are reviewed in the browser. Omit terminal installation/resource flags; ongoing CLI access is a separate login.");
211
- }
212
- if (values["credential-store"] !== void 0) credentialStoreKind(values["credential-store"]);
213
204
  if (values["api-environment"] !== void 0 && !["production", "development"].includes(values["api-environment"]))
214
205
  throw new Error("API environment must be development or production");
215
206
  if (values.dev && values["api-environment"] === "production")
@@ -217,6 +208,20 @@ async function main() {
217
208
  const embeddedProfile = packageProfile();
218
209
  const apiEnvironment = values["api-environment"] ?? (values.dev ? "development" : embeddedProfile.apiEnvironment);
219
210
  const developmentApi = apiEnvironment === "development";
211
+ const explicitBrowserMode = Boolean(values["browser-setup"] || values["resume-setup"]);
212
+ if (values["browser-setup"] && values["resume-setup"]) throw new Error("Choose --browser-setup or --resume-setup");
213
+ if (values["terminal-setup"] && explicitBrowserMode) throw new Error("Choose --terminal-setup or browser setup");
214
+ if (values["resume-setup"]) uuid(values["resume-setup"], "Setup ID");
215
+ const terminalFlags = ["refresh", "dry-run", "install", "skip-install", "integrate", "skip-integrate", "agent-note", "skip-agent-note", "agent-skill", "skip-agent-skill", "global-cli", "skip-global-cli", "cli-access", "skip-cli-access", "workspace", "workspace-name", "site", "site-name", "origin", "environment", "force", "diff", "session-only", "client-id", "credential-store"];
216
+ const hasTerminalFlags = terminalFlags.some((key) => values[key] !== void 0 && values[key] !== false);
217
+ const browserMode = explicitBrowserMode || !values["terminal-setup"] && !hasTerminalFlags && !values.yes && !values.json;
218
+ if (values["browser-origin"]) {
219
+ if (!browserMode) throw new Error("--browser-origin requires browser setup");
220
+ apiUrl(values["browser-origin"], "Browser origin");
221
+ }
222
+ if (browserMode && hasTerminalFlags)
223
+ throw new Error("Browser setup choices are reviewed in the browser. Omit terminal installation/resource flags; ongoing CLI access is a separate login.");
224
+ if (values["credential-store"] !== void 0) credentialStoreKind(values["credential-store"]);
220
225
  const newSiteEnvironment = values.environment ?? apiEnvironment;
221
226
  if (values["global-cli"] && values["skip-global-cli"]) throw new Error("Choose --global-cli or --skip-global-cli");
222
227
  if (values["global-cli"] && values["skip-install"]) throw new Error("--global-cli requires project package installation; omit --skip-install");
@@ -302,7 +307,7 @@ async function main() {
302
307
  terminal.cancelState = "the local runner stopped; browser approvals, applied changes and saved drafts remain available when you resume";
303
308
  let handled;
304
309
  try {
305
- handled = await runBrowserWizard({ project, apiOrigin: apiUrl(values["api-url"] ?? (developmentApi ? "https://api-dev.userreason.com" : "https://api.userreason.com")), browserOrigin: values["browser-origin"], resumeId: values["resume-setup"], profile, version, terminal, noOpen: Boolean(values["no-open"]), json: Boolean(values.json), signal: surveyAbort.signal, measurementDisabled: values["no-telemetry"] });
310
+ handled = await runBrowserWizard({ project, apiOrigin: apiUrl(values["api-url"] ?? (developmentApi ? "https://api-dev.userreason.com" : "https://api.userreason.com")), browserOrigin: values["browser-origin"], resumeId: values["resume-setup"], profile, version, terminal, development: developmentApi, noOpen: Boolean(values["no-open"]), json: Boolean(values.json), signal: surveyAbort.signal, measurementDisabled: values["no-telemetry"] });
306
311
  } finally {
307
312
  process.off("SIGINT", interrupted);
308
313
  process.off("SIGTERM", interrupted);
@@ -695,7 +700,6 @@ async function main() {
695
700
  ]);
696
701
  } else terminal.block("Changes", [reviewed?.status === "integrated" && !packages.length ? c.muted(`nothing to edit${dot}@userreason/js and @userreason/cli are current`) : installRow]);
697
702
  const extras = [];
698
- if (developmentApi && interactive && !values.diff) extras.push({ value: "surveys", label: "Recommend surveys (share selected app code with Cerebras and OpenAI)", hint: "Optional. Suggestions first; drafts only when selected. No publishing or event edits.", initial: true });
699
703
  if (reviewed?.status === "ready" && additions) extras.push({ value: "edit", label: `${additions.created ? "Create" : "Edit"} ${additions.path}`, hint: "add UserReason.init", initial: true });
700
704
  if (noteProbe && "path" in noteProbe) extras.push({ value: "note", label: `${noteProbe.file} ${noteProbe.replacement ? "note update" : "note"}`, hint: "user-feedback guidance", initial: true });
701
705
  if (skillProbe && "files" in skillProbe) extras.push({ value: "skill", label: skillProbe.update ? "Agent skill update" : "Agent skill", hint: ".agents/skills/userreason", initial: true });
@@ -853,7 +857,7 @@ Then rerun the wizard. Your saved workspace and site will be reused.`, failure.t
853
857
  const globalCli = await measured("global_cli", () => offerGlobalCli(project, terminal, { installed: cliInstalled && !installFailed, ...globalChoice, force: values.install, verbose: values.debug, profile, preview: Boolean(values.diff) }));
854
858
  currentStep = "Offering ongoing CLI access";
855
859
  const cliAccess = await measured("cli_access", () => offerCliAccess(config, terminal, { installed: cliInstalled && !installFailed, ...accessChoice, noOpen: values["no-open"], development: developmentApi, preview: Boolean(values.diff) }));
856
- if (completed && terminal.interactive && !values.yes && !values.json && !values.diff) {
860
+ if (!developmentApi && completed && terminal.interactive && !values.yes && !values.json && !values.diff) {
857
861
  try {
858
862
  currentStep = "Creating the first survey";
859
863
  await offerFirstSurvey(new UserReasonClient(config, resolveCredentials(config)), project.directory, selectedWorkspace.id, selectedSite.id, {
@@ -1,10 +1,10 @@
1
1
  import { createRequire as createWizardRequire } from 'node:module'; import { fileURLToPath as wizardFileURLToPath } from 'node:url'; import { dirname as wizardDirname } from 'node:path'; const require = createWizardRequire(import.meta.url); const __filename = wizardFileURLToPath(import.meta.url); const __dirname = wizardDirname(__filename);
2
2
  import {
3
3
  applyIntegration
4
- } from "./chunk-5IO5LY22.js";
4
+ } from "./chunk-LEJFE4U5.js";
5
5
  import {
6
6
  require_typescript
7
- } from "./chunk-77SK7TKZ.js";
7
+ } from "./chunk-7AAH6C4L.js";
8
8
  import {
9
9
  __toESM
10
10
  } from "./chunk-WL3NOIM6.js";