@userreason/wizard 0.3.2 → 0.3.4

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 +5 -4
  2. package/dist/agent-note.js +6 -6
  3. package/dist/agent-skill.js +5 -5
  4. package/dist/analytics.js +2 -2
  5. package/dist/bin.js +17 -17
  6. package/dist/{chunk-SB3AYQWG.js → chunk-225I4MPU.js} +2 -2
  7. package/dist/{chunk-4INLEQE2.js → chunk-35TGSCUX.js} +2 -2
  8. package/dist/{chunk-TRBSH5G7.js → chunk-5CTBOWPM.js} +3 -3
  9. package/dist/{chunk-XPFKXLIZ.js → chunk-CNEPXK56.js} +2 -2
  10. package/dist/{chunk-KF37D5WL.js → chunk-EYWKSEFP.js} +1 -1
  11. package/dist/{chunk-DMXUXEQI.js → chunk-GL5QLAXN.js} +1 -1
  12. package/dist/{chunk-7O7H3PIM.js → chunk-JGA2YOH6.js} +4 -4
  13. package/dist/{chunk-CSZW2ULJ.js → chunk-MAI5ACWM.js} +6 -6
  14. package/dist/{chunk-Q5U5UOQN.js → chunk-RD246DPJ.js} +30 -16
  15. package/dist/{chunk-EVNEX5N5.js → chunk-RNLKT62F.js} +1 -1
  16. package/dist/{chunk-XASPGFYK.js → chunk-SRPIGJNK.js} +3 -3
  17. package/dist/{chunk-7AAH6C4L.js → chunk-TFLNCXAS.js} +2 -2
  18. package/dist/{chunk-ZHJV247H.js → chunk-TH2SHRVY.js} +1 -1
  19. package/dist/{chunk-NNPYUATH.js → chunk-UIKLAZSY.js} +1 -1
  20. package/dist/{chunk-TOID3NYP.js → chunk-XNJSFD5A.js} +2 -2
  21. package/dist/{chunk-PJQOSDYS.js → chunk-YCOGBUPY.js} +1 -1
  22. package/dist/{chunk-LEJFE4U5.js → chunk-ZXFKMFM4.js} +2 -2
  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 -5
  27. package/dist/global-cli.js +5 -5
  28. package/dist/install-diagnostics.js +2 -2
  29. package/dist/integrate.js +4 -4
  30. package/dist/project.js +3 -3
  31. package/dist/setup-flow.js +9 -9
  32. package/dist/setup.js +8 -8
  33. package/dist/startup.js +2 -2
  34. package/dist/state.js +5 -5
  35. package/dist/ui.js +2 -2
  36. package/package.json +1 -1
package/README.md CHANGED
@@ -197,10 +197,11 @@ creating a session or local effects.
197
197
  Malformed protocol data and already-started setups never fall back silently.
198
198
  Server rollout flags remain off by default; publication is a separate release.
199
199
 
200
- The browser owns workspace/site selection, optional choices, local-plan approval,
200
+ The browser owns workspace/site selection, optional choices, installation options,
201
201
  finish and cancellation. Source analysis, suggested drafts and the Agent test
202
202
  remain implemented but are hidden and skipped while their rollout flags are off. The local runner executes only approved typed effects
203
- using the separate owner-only setup capability. It does not read or replace
203
+ using the separate owner-only setup capability. Press **Continue** on the setup
204
+ options to begin installation; there is no separate local-change review screen. It does not read or replace
204
205
  normal CLI credentials. Stopping the local process leaves the setup resumable;
205
206
  cancelling in the browser does not undo completed edits or delete created drafts.
206
207
  Terminal results list verified, failed and manual outcomes separately.
@@ -221,8 +222,8 @@ skill never grants ongoing CLI access. Authorize continuing access separately
221
222
  with `userreason login --open` when wanted. Standalone CLI survey tools remain
222
223
  available outside onboarding.
223
224
 
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
225
+ The production profile for wizard 0.3.4 selects `@userreason/js@0.5.4` and
226
+ `@userreason/cli@0.2.2`. New installs use those exact versions; an installed
226
227
  stable patch in the same release line is reused. Earlier SDK 0.4 and CLI 0.1
227
228
  releases are upgraded when installation is selected. Browser setup is the default and requires a server advertising the capability.
228
229
  Use `--terminal-setup` for the terminal flow.
@@ -3,13 +3,13 @@ import {
3
3
  applyAgentNote,
4
4
  offerAgentNote,
5
5
  planAgentNote
6
- } from "./chunk-7O7H3PIM.js";
7
- import "./chunk-LEJFE4U5.js";
8
- import "./chunk-TOID3NYP.js";
9
- import "./chunk-PJQOSDYS.js";
6
+ } from "./chunk-JGA2YOH6.js";
7
+ import "./chunk-ZXFKMFM4.js";
8
+ import "./chunk-XNJSFD5A.js";
9
+ import "./chunk-YCOGBUPY.js";
10
10
  import "./chunk-NMHTFC5Q.js";
11
- import "./chunk-EVNEX5N5.js";
12
- import "./chunk-7AAH6C4L.js";
11
+ import "./chunk-RNLKT62F.js";
12
+ import "./chunk-TFLNCXAS.js";
13
13
  import "./chunk-WL3NOIM6.js";
14
14
  export {
15
15
  applyAgentNote,
@@ -3,12 +3,12 @@ import {
3
3
  applyAgentSkill,
4
4
  offerAgentSkill,
5
5
  planAgentSkill
6
- } from "./chunk-SB3AYQWG.js";
7
- import "./chunk-TOID3NYP.js";
8
- import "./chunk-PJQOSDYS.js";
6
+ } from "./chunk-225I4MPU.js";
7
+ import "./chunk-XNJSFD5A.js";
8
+ import "./chunk-YCOGBUPY.js";
9
9
  import "./chunk-NMHTFC5Q.js";
10
- import "./chunk-EVNEX5N5.js";
11
- import "./chunk-7AAH6C4L.js";
10
+ import "./chunk-RNLKT62F.js";
11
+ import "./chunk-TFLNCXAS.js";
12
12
  import "./chunk-WL3NOIM6.js";
13
13
  export {
14
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-KF37D5WL.js";
5
- import "./chunk-7AAH6C4L.js";
4
+ } from "./chunk-EYWKSEFP.js";
5
+ import "./chunk-TFLNCXAS.js";
6
6
  import "./chunk-WL3NOIM6.js";
7
7
  export {
8
8
  WizardAnalytics
package/dist/bin.js CHANGED
@@ -2,47 +2,47 @@
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
3
  import {
4
4
  runBrowserWizard
5
- } from "./chunk-CSZW2ULJ.js";
5
+ } from "./chunk-MAI5ACWM.js";
6
6
  import {
7
7
  clearInstallation,
8
8
  resolveInstallation,
9
9
  saveInstallation,
10
10
  savedInstallation
11
- } from "./chunk-XASPGFYK.js";
11
+ } from "./chunk-SRPIGJNK.js";
12
12
  import {
13
13
  offerAgentNote,
14
14
  planAgentNote
15
- } from "./chunk-7O7H3PIM.js";
15
+ } from "./chunk-JGA2YOH6.js";
16
16
  import {
17
17
  offerCliAccess
18
- } from "./chunk-XPFKXLIZ.js";
18
+ } from "./chunk-CNEPXK56.js";
19
19
  import {
20
20
  offerGlobalCli
21
- } from "./chunk-TRBSH5G7.js";
21
+ } from "./chunk-5CTBOWPM.js";
22
22
  import {
23
23
  WizardAnalytics
24
- } from "./chunk-KF37D5WL.js";
24
+ } from "./chunk-EYWKSEFP.js";
25
25
  import {
26
26
  beginFirstSurveyPreparation,
27
27
  offerFirstSurvey
28
- } from "./chunk-ZHJV247H.js";
29
- import "./chunk-Q5U5UOQN.js";
30
- import "./chunk-4INLEQE2.js";
28
+ } from "./chunk-TH2SHRVY.js";
29
+ import "./chunk-RD246DPJ.js";
30
+ import "./chunk-35TGSCUX.js";
31
31
  import {
32
32
  offerAgentSkill,
33
33
  planAgentSkill
34
- } from "./chunk-SB3AYQWG.js";
34
+ } from "./chunk-225I4MPU.js";
35
35
  import {
36
36
  ensureCurrentWizard,
37
37
  wizardVersion
38
- } from "./chunk-NNPYUATH.js";
38
+ } from "./chunk-UIKLAZSY.js";
39
39
  import {
40
40
  applyIntegration,
41
41
  detectInstallation,
42
42
  integrationAdditions,
43
43
  integrationPreview,
44
44
  planIntegration
45
- } from "./chunk-LEJFE4U5.js";
45
+ } from "./chunk-ZXFKMFM4.js";
46
46
  import {
47
47
  SdkInstallError,
48
48
  cliCommand,
@@ -56,8 +56,8 @@ import {
56
56
  sdkInstallCommand,
57
57
  verifyConfiguration,
58
58
  writeIntegration
59
- } from "./chunk-TOID3NYP.js";
60
- import "./chunk-PJQOSDYS.js";
59
+ } from "./chunk-XNJSFD5A.js";
60
+ import "./chunk-YCOGBUPY.js";
61
61
  import "./chunk-NMHTFC5Q.js";
62
62
  import {
63
63
  Cancelled,
@@ -66,13 +66,13 @@ import {
66
66
  clean,
67
67
  normalizeOrigin,
68
68
  openBrowser
69
- } from "./chunk-EVNEX5N5.js";
69
+ } from "./chunk-RNLKT62F.js";
70
70
  import {
71
71
  BrowserConnectionUnavailable,
72
72
  compatibilityCredentials,
73
73
  connectInstallation,
74
74
  memoryCredentials
75
- } from "./chunk-DMXUXEQI.js";
75
+ } from "./chunk-GL5QLAXN.js";
76
76
  import {
77
77
  ApiError,
78
78
  AuthenticationError,
@@ -87,7 +87,7 @@ import {
87
87
  resolveCredentials,
88
88
  saveConfig,
89
89
  uuid
90
- } from "./chunk-7AAH6C4L.js";
90
+ } from "./chunk-TFLNCXAS.js";
91
91
  import "./chunk-WL3NOIM6.js";
92
92
 
93
93
  // src/bin.ts
@@ -1,13 +1,13 @@
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
  cliCommand
4
- } from "./chunk-TOID3NYP.js";
4
+ } from "./chunk-XNJSFD5A.js";
5
5
  import {
6
6
  require_dist
7
7
  } from "./chunk-NMHTFC5Q.js";
8
8
  import {
9
9
  Cancelled
10
- } from "./chunk-EVNEX5N5.js";
10
+ } from "./chunk-RNLKT62F.js";
11
11
  import {
12
12
  __toESM
13
13
  } from "./chunk-WL3NOIM6.js";
@@ -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-LEJFE4U5.js";
4
+ } from "./chunk-ZXFKMFM4.js";
5
5
  import {
6
6
  require_typescript
7
- } from "./chunk-7AAH6C4L.js";
7
+ } from "./chunk-TFLNCXAS.js";
8
8
  import {
9
9
  __toESM
10
10
  } from "./chunk-WL3NOIM6.js";
@@ -2,13 +2,13 @@ import { createRequire as createWizardRequire } from 'node:module'; import { fil
2
2
  import {
3
3
  cliCommand,
4
4
  compatibleCliVersion
5
- } from "./chunk-TOID3NYP.js";
5
+ } from "./chunk-XNJSFD5A.js";
6
6
  import {
7
7
  Cancelled
8
- } from "./chunk-EVNEX5N5.js";
8
+ } from "./chunk-RNLKT62F.js";
9
9
  import {
10
10
  packageProfile
11
- } from "./chunk-7AAH6C4L.js";
11
+ } from "./chunk-TFLNCXAS.js";
12
12
 
13
13
  // src/global-cli.ts
14
14
  import { execFile } from "node:child_process";
@@ -2,14 +2,14 @@ import { createRequire as createWizardRequire } from 'node:module'; import { fil
2
2
  import {
3
3
  Cancelled,
4
4
  openBrowser
5
- } from "./chunk-EVNEX5N5.js";
5
+ } from "./chunk-RNLKT62F.js";
6
6
  import {
7
7
  authorizeCli,
8
8
  grantSummary,
9
9
  printable,
10
10
  resolveCredentials,
11
11
  saveConfig
12
- } from "./chunk-7AAH6C4L.js";
12
+ } from "./chunk-TFLNCXAS.js";
13
13
 
14
14
  // src/cli-access.ts
15
15
  async function offerCliAccess(config, terminal, options) {
@@ -2,7 +2,7 @@ import { createRequire as createWizardRequire } from 'node:module'; import { fil
2
2
  import {
3
3
  TELEMETRY_REASONS,
4
4
  ToolTelemetry
5
- } from "./chunk-7AAH6C4L.js";
5
+ } from "./chunk-TFLNCXAS.js";
6
6
 
7
7
  // src/analytics.ts
8
8
  var WizardAnalytics = class extends ToolTelemetry {
@@ -4,7 +4,7 @@ import {
4
4
  object,
5
5
  string,
6
6
  uuid
7
- } from "./chunk-7AAH6C4L.js";
7
+ } from "./chunk-TFLNCXAS.js";
8
8
 
9
9
  // src/connection.ts
10
10
  import { createHash, randomBytes } from "node:crypto";
@@ -1,16 +1,16 @@
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
  initializationPath
4
- } from "./chunk-LEJFE4U5.js";
4
+ } from "./chunk-ZXFKMFM4.js";
5
5
  import {
6
6
  cliCommand
7
- } from "./chunk-TOID3NYP.js";
7
+ } from "./chunk-XNJSFD5A.js";
8
8
  import {
9
9
  Cancelled
10
- } from "./chunk-EVNEX5N5.js";
10
+ } from "./chunk-RNLKT62F.js";
11
11
  import {
12
12
  packageProfile
13
- } from "./chunk-7AAH6C4L.js";
13
+ } from "./chunk-TFLNCXAS.js";
14
14
 
15
15
  // src/agent-note.ts
16
16
  import { constants } from "node:fs";
@@ -3,14 +3,14 @@ import {
3
3
  connectSetup,
4
4
  resumeSetup,
5
5
  runSetup
6
- } from "./chunk-Q5U5UOQN.js";
6
+ } from "./chunk-RD246DPJ.js";
7
7
  import {
8
8
  clean,
9
9
  openBrowser
10
- } from "./chunk-EVNEX5N5.js";
10
+ } from "./chunk-RNLKT62F.js";
11
11
  import {
12
12
  BrowserSetupUnavailable
13
- } from "./chunk-7AAH6C4L.js";
13
+ } from "./chunk-TFLNCXAS.js";
14
14
 
15
15
  // src/setup-flow.ts
16
16
  var shell = (value) => /^[A-Za-z0-9_./:@=-]+$/.test(value) ? value : `'${value.replace(/'/g, `'"'"'`)}'`;
@@ -46,14 +46,14 @@ async function runBrowserWizard(input) {
46
46
  let connected;
47
47
  try {
48
48
  connected = input.resumeId ? await resumeSetup(apiOrigin, input.resumeId, project, { signal, measurementDisabled: input.measurementDisabled }) : await connectSetup(apiOrigin, project, async (url, code) => {
49
- terminal.block("Continue in your browser", [url, `Verification code: ${code}`, input.development ? "Choose your workspace, site and installation options in the browser." : "Review the project, local changes and source permissions there."]);
49
+ terminal.block("Continue in your browser", [url, `Verification code: ${code}`, "Choose your workspace, site and installation options in the browser."]);
50
50
  if (!input.noOpen && !await openBrowser(url)) terminal.info("Open the link above to continue.");
51
51
  }, {
52
52
  signal,
53
53
  browserOrigin: input.browserOrigin,
54
- automaticSetup: input.development,
54
+ automaticSetup: true,
55
55
  measurementDisabled: input.measurementDisabled,
56
- ...input.development ? { launcher: { wizard_version: input.version, api_origin: apiOrigin, ...input.profile.kind === "local-development" ? { registry: input.profile.registry } : {} } } : {}
56
+ launcher: { wizard_version: input.version, api_origin: apiOrigin, ...input.profile.kind === "local-development" ? { registry: input.profile.registry } : {} }
57
57
  });
58
58
  } catch (error) {
59
59
  if (!input.resumeId && error instanceof BrowserSetupUnavailable) return false;
@@ -1,15 +1,15 @@
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
  planFooter
4
- } from "./chunk-4INLEQE2.js";
4
+ } from "./chunk-35TGSCUX.js";
5
5
  import {
6
6
  planAgentSkill
7
- } from "./chunk-SB3AYQWG.js";
7
+ } from "./chunk-225I4MPU.js";
8
8
  import {
9
9
  detectInstallation,
10
10
  initializationPath,
11
11
  planIntegration
12
- } from "./chunk-LEJFE4U5.js";
12
+ } from "./chunk-ZXFKMFM4.js";
13
13
  import {
14
14
  compatibleProductionVersion,
15
15
  inspectProject,
@@ -17,7 +17,7 @@ import {
17
17
  installSdk,
18
18
  installedVersion,
19
19
  integrationSource
20
- } from "./chunk-TOID3NYP.js";
20
+ } from "./chunk-XNJSFD5A.js";
21
21
  import {
22
22
  planPackageRegistry
23
23
  } from "./chunk-NMHTFC5Q.js";
@@ -35,14 +35,15 @@ import {
35
35
  setupHash,
36
36
  verifySetupFiles,
37
37
  writeSetupFile
38
- } from "./chunk-7AAH6C4L.js";
38
+ } from "./chunk-TFLNCXAS.js";
39
39
 
40
40
  // src/setup.ts
41
41
  import { basename } from "node:path";
42
42
 
43
43
  // src/setup-plan.ts
44
- import { randomUUID } from "node:crypto";
45
- import { lstat, readdir, readFile } from "node:fs/promises";
44
+ import { createHash, randomUUID } from "node:crypto";
45
+ import { constants } from "node:fs";
46
+ import { lstat, open, readdir } from "node:fs/promises";
46
47
  import { join, relative } from "node:path";
47
48
  var relativeName = (project, path) => relative(project.directory, path).replaceAll("\\", "/");
48
49
  var metadata = (files) => files.map((file2) => ({ path: file2.path, before_hash: file2.before === null ? null : setupHash(file2.before), after_hash: setupHash(file2.after) }));
@@ -170,10 +171,27 @@ async function prepare(project, session, profile, config, operations = [], manua
170
171
  }
171
172
  return { wire: { project_fingerprint: session.project_fingerprint, choices_digest: setupDigest(session.choices), effects: operations.map((item) => item.effect), ...manual.length ? { manual_steps: manual } : {} }, operations };
172
173
  }
173
- async function snapshot(project) {
174
+ async function snapshotFile(path, expected, signal) {
175
+ const handle = await open(path, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0));
176
+ try {
177
+ const before = await handle.stat();
178
+ if (!before.isFile() || before.dev !== expected.dev || before.ino !== expected.ino)
179
+ throw new SetupError("setup_files_changed", "A project file changed while checking package installation.");
180
+ const hash = createHash("sha256");
181
+ for await (const chunk of handle.createReadStream({ autoClose: false, signal })) hash.update(chunk);
182
+ const after = await handle.stat();
183
+ if (before.size !== after.size || before.mtimeMs !== after.mtimeMs || before.ctimeMs !== after.ctimeMs)
184
+ throw new SetupError("setup_files_changed", "A project file changed while checking package installation.");
185
+ return hash.digest("hex");
186
+ } finally {
187
+ await handle.close();
188
+ }
189
+ }
190
+ async function snapshot(project, signal) {
174
191
  const result = {}, stack = [""];
175
- let entries = 0, bytes = 0;
192
+ let entries = 0;
176
193
  while (stack.length) {
194
+ signal.throwIfAborted();
177
195
  const folder = stack.pop();
178
196
  for (const entry of await readdir(join(project.directory, folder), { withFileTypes: true })) {
179
197
  if (++entries > 2e4) throw new SetupError("setup_files_changed", "Project scanning exceeds the bounded review budget.");
@@ -185,11 +203,7 @@ async function snapshot(project) {
185
203
  continue;
186
204
  }
187
205
  if (info.isDirectory()) stack.push(path);
188
- else if (info.isFile()) {
189
- bytes += info.size;
190
- if (info.size > 2e7 || bytes > 64e6) throw new SetupError("setup_files_changed", "Project scanning exceeds the bounded byte budget.");
191
- result[path] = setupHash(await readFile(join(project.directory, path)));
192
- }
206
+ else if (info.isFile()) result[path] = await snapshotFile(join(project.directory, path), info, signal);
193
207
  }
194
208
  }
195
209
  return result;
@@ -224,7 +238,7 @@ function setupRuntime(project, apiOrigin, selectedProfile = packageProfile()) {
224
238
  }
225
239
  if (operation.effect.package_manager !== current.packageManager) throw new SetupError("setup_command_mismatch", "The package manager differs from the reviewed command.");
226
240
  for (const item of operation.effect.packages) if (item.version !== (item.name === "@userreason/js" ? profile.sdkVersion : profile.cliVersion)) throw new SetupError("setup_package_version", "The approved package version differs from this local package profile.");
227
- const before = await snapshot(project);
241
+ const before = await snapshot(project, signal);
228
242
  for (const file2 of operation.files.filter((file3) => file3.path !== "package.json")) await writeSetupFile(project.directory, file2);
229
243
  for (const item of operation.effect.packages) {
230
244
  signal.throwIfAborted();
@@ -234,7 +248,7 @@ function setupRuntime(project, apiOrigin, selectedProfile = packageProfile()) {
234
248
  const actual = await readSetupFile(project.directory, manifest.path);
235
249
  if (!actual || setupDigest(JSON.parse(actual)) !== setupDigest(JSON.parse(manifest.after))) throw new Error("The package manager made unexpected manifest changes");
236
250
  await writeSetupFile(project.directory, { ...manifest, before: actual });
237
- const after = await snapshot(project), allowed = /* @__PURE__ */ new Set([...operation.files.map((file2) => file2.path), ...(operation.effect.managed_outputs ?? []).map((file2) => file2.path)]);
251
+ const after = await snapshot(project, signal), allowed = /* @__PURE__ */ new Set([...operation.files.map((file2) => file2.path), ...(operation.effect.managed_outputs ?? []).map((file2) => file2.path)]);
238
252
  for (const path of /* @__PURE__ */ new Set([...Object.keys(before), ...Object.keys(after)])) if (!allowed.has(path) && before[path] !== after[path]) throw new Error("The package manager changed an unreviewed project file");
239
253
  return "verified";
240
254
  },
@@ -7,7 +7,7 @@ import {
7
7
  plainLine,
8
8
  stripAnsi,
9
9
  textWidth
10
- } from "./chunk-7AAH6C4L.js";
10
+ } from "./chunk-TFLNCXAS.js";
11
11
  import {
12
12
  __commonJS,
13
13
  __toESM
@@ -1,15 +1,15 @@
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
  detectInstallation
4
- } from "./chunk-LEJFE4U5.js";
4
+ } from "./chunk-ZXFKMFM4.js";
5
5
  import {
6
6
  DEFAULT_API
7
- } from "./chunk-TOID3NYP.js";
7
+ } from "./chunk-XNJSFD5A.js";
8
8
  import {
9
9
  apiUrl,
10
10
  configDirectory,
11
11
  uuid
12
- } from "./chunk-7AAH6C4L.js";
12
+ } from "./chunk-TFLNCXAS.js";
13
13
 
14
14
  // src/state.ts
15
15
  import { mkdir, readFile, writeFile, rename, rm, realpath, lstat } from "node:fs/promises";
@@ -211799,8 +211799,8 @@ var productionProfile = {
211799
211799
  kind: "production",
211800
211800
  apiEnvironment: "production",
211801
211801
  docsUrl: PRODUCTION_DOCS,
211802
- sdkVersion: "0.5.3",
211803
- cliVersion: "0.2.1"
211802
+ sdkVersion: "0.5.4",
211803
+ cliVersion: "0.2.2"
211804
211804
  };
211805
211805
  function parsePackageProfile(value) {
211806
211806
  const data = object(value, "package profile");
@@ -2,7 +2,7 @@ import { createRequire as createWizardRequire } from 'node:module'; import { fil
2
2
  import {
3
3
  firstSurvey,
4
4
  firstSurveyHandoff
5
- } from "./chunk-7AAH6C4L.js";
5
+ } from "./chunk-TFLNCXAS.js";
6
6
 
7
7
  // src/first-survey.ts
8
8
  var surveySuggestionsEnabled = false;
@@ -1,7 +1,7 @@
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
  currentPackageProfile
4
- } from "./chunk-7AAH6C4L.js";
4
+ } from "./chunk-TFLNCXAS.js";
5
5
 
6
6
  // src/startup.ts
7
7
  import { readFile } from "node:fs/promises";
@@ -1,13 +1,13 @@
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
  installFailureDetails
4
- } from "./chunk-PJQOSDYS.js";
4
+ } from "./chunk-YCOGBUPY.js";
5
5
  import {
6
6
  configurePackageRegistry
7
7
  } from "./chunk-NMHTFC5Q.js";
8
8
  import {
9
9
  packageProfile
10
- } from "./chunk-7AAH6C4L.js";
10
+ } from "./chunk-TFLNCXAS.js";
11
11
 
12
12
  // src/project.ts
13
13
  import { lstat, readFile, writeFile, access, mkdtemp, realpath, rm } from "node:fs/promises";
@@ -1,7 +1,7 @@
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
  sanitizeSetupDiagnostic
4
- } from "./chunk-7AAH6C4L.js";
4
+ } from "./chunk-TFLNCXAS.js";
5
5
 
6
6
  // src/install-diagnostics.ts
7
7
  import { readFile, readdir, stat } from "node:fs/promises";
@@ -3,10 +3,10 @@ import {
3
3
  DEFAULT_API,
4
4
  initializationSource,
5
5
  integrationSource
6
- } from "./chunk-TOID3NYP.js";
6
+ } from "./chunk-XNJSFD5A.js";
7
7
  import {
8
8
  require_typescript
9
- } from "./chunk-7AAH6C4L.js";
9
+ } from "./chunk-TFLNCXAS.js";
10
10
  import {
11
11
  __toESM
12
12
  } from "./chunk-WL3NOIM6.js";
@@ -1,9 +1,9 @@
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
  offerCliAccess
4
- } from "./chunk-XPFKXLIZ.js";
5
- import "./chunk-EVNEX5N5.js";
6
- import "./chunk-7AAH6C4L.js";
4
+ } from "./chunk-CNEPXK56.js";
5
+ import "./chunk-RNLKT62F.js";
6
+ import "./chunk-TFLNCXAS.js";
7
7
  import "./chunk-WL3NOIM6.js";
8
8
  export {
9
9
  offerCliAccess
@@ -4,10 +4,10 @@ import {
4
4
  compatibilityCredentials,
5
5
  connectInstallation,
6
6
  memoryCredentials
7
- } from "./chunk-DMXUXEQI.js";
7
+ } from "./chunk-GL5QLAXN.js";
8
8
  import {
9
9
  CredentialStoreError
10
- } from "./chunk-7AAH6C4L.js";
10
+ } from "./chunk-TFLNCXAS.js";
11
11
  import "./chunk-WL3NOIM6.js";
12
12
  export {
13
13
  BrowserConnectionUnavailable,
@@ -2,8 +2,8 @@ import { createRequire as createWizardRequire } from 'node:module'; import { fil
2
2
  import {
3
3
  beginFirstSurveyPreparation,
4
4
  offerFirstSurvey
5
- } from "./chunk-ZHJV247H.js";
6
- import "./chunk-7AAH6C4L.js";
5
+ } from "./chunk-TH2SHRVY.js";
6
+ import "./chunk-TFLNCXAS.js";
7
7
  import "./chunk-WL3NOIM6.js";
8
8
  export {
9
9
  beginFirstSurveyPreparation,
package/dist/footer.js CHANGED
@@ -3,12 +3,12 @@ import {
3
3
  FOOTER_LINK,
4
4
  applyFooter,
5
5
  planFooter
6
- } from "./chunk-4INLEQE2.js";
7
- import "./chunk-LEJFE4U5.js";
8
- import "./chunk-TOID3NYP.js";
9
- import "./chunk-PJQOSDYS.js";
6
+ } from "./chunk-35TGSCUX.js";
7
+ import "./chunk-ZXFKMFM4.js";
8
+ import "./chunk-XNJSFD5A.js";
9
+ import "./chunk-YCOGBUPY.js";
10
10
  import "./chunk-NMHTFC5Q.js";
11
- import "./chunk-7AAH6C4L.js";
11
+ import "./chunk-TFLNCXAS.js";
12
12
  import "./chunk-WL3NOIM6.js";
13
13
  export {
14
14
  FOOTER_LINK,
@@ -2,12 +2,12 @@ import { createRequire as createWizardRequire } from 'node:module'; import { fil
2
2
  import {
3
3
  globalCliInstallCommand,
4
4
  offerGlobalCli
5
- } from "./chunk-TRBSH5G7.js";
6
- import "./chunk-TOID3NYP.js";
7
- import "./chunk-PJQOSDYS.js";
5
+ } from "./chunk-5CTBOWPM.js";
6
+ import "./chunk-XNJSFD5A.js";
7
+ import "./chunk-YCOGBUPY.js";
8
8
  import "./chunk-NMHTFC5Q.js";
9
- import "./chunk-EVNEX5N5.js";
10
- import "./chunk-7AAH6C4L.js";
9
+ import "./chunk-RNLKT62F.js";
10
+ import "./chunk-TFLNCXAS.js";
11
11
  import "./chunk-WL3NOIM6.js";
12
12
  export {
13
13
  globalCliInstallCommand,
@@ -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
  installFailureDetails
4
- } from "./chunk-PJQOSDYS.js";
5
- import "./chunk-7AAH6C4L.js";
4
+ } from "./chunk-YCOGBUPY.js";
5
+ import "./chunk-TFLNCXAS.js";
6
6
  import "./chunk-WL3NOIM6.js";
7
7
  export {
8
8
  installFailureDetails
package/dist/integrate.js CHANGED
@@ -6,11 +6,11 @@ import {
6
6
  integrationAdditions,
7
7
  integrationPreview,
8
8
  planIntegration
9
- } from "./chunk-LEJFE4U5.js";
10
- import "./chunk-TOID3NYP.js";
11
- import "./chunk-PJQOSDYS.js";
9
+ } from "./chunk-ZXFKMFM4.js";
10
+ import "./chunk-XNJSFD5A.js";
11
+ import "./chunk-YCOGBUPY.js";
12
12
  import "./chunk-NMHTFC5Q.js";
13
- import "./chunk-7AAH6C4L.js";
13
+ import "./chunk-TFLNCXAS.js";
14
14
  import "./chunk-WL3NOIM6.js";
15
15
  export {
16
16
  applyIntegration,
package/dist/project.js CHANGED
@@ -19,10 +19,10 @@ import {
19
19
  sdkInstallCommand,
20
20
  verifyConfiguration,
21
21
  writeIntegration
22
- } from "./chunk-TOID3NYP.js";
23
- import "./chunk-PJQOSDYS.js";
22
+ } from "./chunk-XNJSFD5A.js";
23
+ import "./chunk-YCOGBUPY.js";
24
24
  import "./chunk-NMHTFC5Q.js";
25
- import "./chunk-7AAH6C4L.js";
25
+ import "./chunk-TFLNCXAS.js";
26
26
  import "./chunk-WL3NOIM6.js";
27
27
  export {
28
28
  DEFAULT_API,
@@ -5,16 +5,16 @@ import {
5
5
  setupResumeCommand,
6
6
  setupSampleCommand,
7
7
  setupSummary
8
- } from "./chunk-CSZW2ULJ.js";
9
- import "./chunk-Q5U5UOQN.js";
10
- import "./chunk-4INLEQE2.js";
11
- import "./chunk-SB3AYQWG.js";
12
- import "./chunk-LEJFE4U5.js";
13
- import "./chunk-TOID3NYP.js";
14
- import "./chunk-PJQOSDYS.js";
8
+ } from "./chunk-MAI5ACWM.js";
9
+ import "./chunk-RD246DPJ.js";
10
+ import "./chunk-35TGSCUX.js";
11
+ import "./chunk-225I4MPU.js";
12
+ import "./chunk-ZXFKMFM4.js";
13
+ import "./chunk-XNJSFD5A.js";
14
+ import "./chunk-YCOGBUPY.js";
15
15
  import "./chunk-NMHTFC5Q.js";
16
- import "./chunk-EVNEX5N5.js";
17
- import "./chunk-7AAH6C4L.js";
16
+ import "./chunk-RNLKT62F.js";
17
+ import "./chunk-TFLNCXAS.js";
18
18
  import "./chunk-WL3NOIM6.js";
19
19
  export {
20
20
  runBrowserWizard,
package/dist/setup.js CHANGED
@@ -6,19 +6,19 @@ import {
6
6
  resumeSetup,
7
7
  runSetup,
8
8
  setupRuntime
9
- } from "./chunk-Q5U5UOQN.js";
10
- import "./chunk-4INLEQE2.js";
11
- import "./chunk-SB3AYQWG.js";
12
- import "./chunk-LEJFE4U5.js";
13
- import "./chunk-TOID3NYP.js";
14
- import "./chunk-PJQOSDYS.js";
9
+ } from "./chunk-RD246DPJ.js";
10
+ import "./chunk-35TGSCUX.js";
11
+ import "./chunk-225I4MPU.js";
12
+ import "./chunk-ZXFKMFM4.js";
13
+ import "./chunk-XNJSFD5A.js";
14
+ import "./chunk-YCOGBUPY.js";
15
15
  import "./chunk-NMHTFC5Q.js";
16
- import "./chunk-EVNEX5N5.js";
16
+ import "./chunk-RNLKT62F.js";
17
17
  import {
18
18
  BrowserSetupUnavailable,
19
19
  SetupError,
20
20
  withSetupProjectLock
21
- } from "./chunk-7AAH6C4L.js";
21
+ } from "./chunk-TFLNCXAS.js";
22
22
  import "./chunk-WL3NOIM6.js";
23
23
  export {
24
24
  BrowserSetupUnavailable,
package/dist/startup.js CHANGED
@@ -2,8 +2,8 @@ import { createRequire as createWizardRequire } from 'node:module'; import { fil
2
2
  import {
3
3
  ensureCurrentWizard,
4
4
  wizardVersion
5
- } from "./chunk-NNPYUATH.js";
6
- import "./chunk-7AAH6C4L.js";
5
+ } from "./chunk-UIKLAZSY.js";
6
+ import "./chunk-TFLNCXAS.js";
7
7
  import "./chunk-WL3NOIM6.js";
8
8
  export {
9
9
  ensureCurrentWizard,
package/dist/state.js CHANGED
@@ -4,12 +4,12 @@ import {
4
4
  resolveInstallation,
5
5
  saveInstallation,
6
6
  savedInstallation
7
- } from "./chunk-XASPGFYK.js";
8
- import "./chunk-LEJFE4U5.js";
9
- import "./chunk-TOID3NYP.js";
10
- import "./chunk-PJQOSDYS.js";
7
+ } from "./chunk-SRPIGJNK.js";
8
+ import "./chunk-ZXFKMFM4.js";
9
+ import "./chunk-XNJSFD5A.js";
10
+ import "./chunk-YCOGBUPY.js";
11
11
  import "./chunk-NMHTFC5Q.js";
12
- import "./chunk-7AAH6C4L.js";
12
+ import "./chunk-TFLNCXAS.js";
13
13
  import "./chunk-WL3NOIM6.js";
14
14
  export {
15
15
  clearInstallation,
package/dist/ui.js CHANGED
@@ -8,8 +8,8 @@ import {
8
8
  cleanStyled,
9
9
  normalizeOrigin,
10
10
  openBrowser
11
- } from "./chunk-EVNEX5N5.js";
12
- import "./chunk-7AAH6C4L.js";
11
+ } from "./chunk-RNLKT62F.js";
12
+ import "./chunk-TFLNCXAS.js";
13
13
  import "./chunk-WL3NOIM6.js";
14
14
  export {
15
15
  Cancelled,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@userreason/wizard",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "Authenticated UserReason SDK installation wizard",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",