@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.
- package/README.md +44 -51
- package/dist/agent-note.js +6 -5
- package/dist/agent-skill.js +5 -4
- package/dist/analytics.js +2 -2
- package/dist/bin.js +55 -51
- package/dist/{chunk-SFODN2YB.js → chunk-4INLEQE2.js} +2 -2
- package/dist/{chunk-77SK7TKZ.js → chunk-7AAH6C4L.js} +928 -631
- package/dist/{chunk-Z6ZY7X2K.js → chunk-7O7H3PIM.js} +6 -6
- package/dist/{chunk-VXWLSQYK.js → chunk-CSZW2ULJ.js} +39 -17
- package/dist/{chunk-P6DOSGRZ.js → chunk-DMXUXEQI.js} +1 -1
- package/dist/{chunk-GOYBYAUH.js → chunk-EVNEX5N5.js} +1 -1
- package/dist/{chunk-UN24JFV2.js → chunk-KF37D5WL.js} +1 -1
- package/dist/{chunk-5IO5LY22.js → chunk-LEJFE4U5.js} +2 -2
- package/dist/{chunk-MFGJ2KPT.js → chunk-NNPYUATH.js} +1 -1
- package/dist/chunk-PJQOSDYS.js +50 -0
- package/dist/{chunk-YYFC7TM2.js → chunk-Q5U5UOQN.js} +7 -5
- package/dist/{chunk-NZ65XDNL.js → chunk-SB3AYQWG.js} +4 -4
- package/dist/{chunk-CADA5WZ3.js → chunk-TOID3NYP.js} +13 -6
- package/dist/{chunk-ZHHIHHLU.js → chunk-TRBSH5G7.js} +5 -5
- package/dist/{chunk-2UEUVLCB.js → chunk-XASPGFYK.js} +3 -3
- package/dist/{chunk-F4FKAUQN.js → chunk-XPFKXLIZ.js} +2 -2
- package/dist/{chunk-HIF6NUNK.js → chunk-ZHJV247H.js} +6 -8
- package/dist/cli-access.js +3 -3
- package/dist/connection.js +2 -2
- package/dist/first-survey.js +2 -2
- package/dist/footer.js +5 -4
- package/dist/global-cli.js +5 -4
- package/dist/install-diagnostics.js +9 -0
- package/dist/integrate.js +4 -3
- package/dist/project.js +3 -2
- package/dist/setup-flow.js +9 -8
- package/dist/setup.js +8 -7
- package/dist/startup.js +2 -2
- package/dist/state.js +5 -4
- package/dist/ui.js +2 -2
- 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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
|
172
|
+
### Browser-guided setup
|
|
182
173
|
|
|
183
|
-
|
|
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`.
|
|
192
|
-
|
|
193
|
-
|
|
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
|
-
|
|
199
|
-
|
|
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.
|
|
206
|
-
|
|
207
|
-
|
|
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
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
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
|
|
242
|
-
|
|
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.
|
package/dist/agent-note.js
CHANGED
|
@@ -3,12 +3,13 @@ import {
|
|
|
3
3
|
applyAgentNote,
|
|
4
4
|
offerAgentNote,
|
|
5
5
|
planAgentNote
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
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-
|
|
11
|
+
import "./chunk-EVNEX5N5.js";
|
|
12
|
+
import "./chunk-7AAH6C4L.js";
|
|
12
13
|
import "./chunk-WL3NOIM6.js";
|
|
13
14
|
export {
|
|
14
15
|
applyAgentNote,
|
package/dist/agent-skill.js
CHANGED
|
@@ -3,11 +3,12 @@ import {
|
|
|
3
3
|
applyAgentSkill,
|
|
4
4
|
offerAgentSkill,
|
|
5
5
|
planAgentSkill
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-SB3AYQWG.js";
|
|
7
|
+
import "./chunk-TOID3NYP.js";
|
|
8
|
+
import "./chunk-PJQOSDYS.js";
|
|
9
9
|
import "./chunk-NMHTFC5Q.js";
|
|
10
|
-
import "./chunk-
|
|
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-
|
|
5
|
-
import "./chunk-
|
|
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-
|
|
15
|
+
} from "./chunk-7O7H3PIM.js";
|
|
7
16
|
import {
|
|
8
17
|
offerCliAccess
|
|
9
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-XPFKXLIZ.js";
|
|
10
19
|
import {
|
|
11
20
|
offerGlobalCli
|
|
12
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-TRBSH5G7.js";
|
|
13
22
|
import {
|
|
14
23
|
WizardAnalytics
|
|
15
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-KF37D5WL.js";
|
|
16
25
|
import {
|
|
17
26
|
beginFirstSurveyPreparation,
|
|
18
27
|
offerFirstSurvey
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import
|
|
21
|
-
|
|
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-
|
|
34
|
+
} from "./chunk-SB3AYQWG.js";
|
|
29
35
|
import {
|
|
30
36
|
ensureCurrentWizard,
|
|
31
37
|
wizardVersion
|
|
32
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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 (
|
|
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-
|
|
4
|
+
} from "./chunk-LEJFE4U5.js";
|
|
5
5
|
import {
|
|
6
6
|
require_typescript
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-7AAH6C4L.js";
|
|
8
8
|
import {
|
|
9
9
|
__toESM
|
|
10
10
|
} from "./chunk-WL3NOIM6.js";
|