@rubytech/create-maxy-code 0.1.389 → 0.1.391

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 (56) hide show
  1. package/dist/__tests__/claude-bin.test.js +51 -0
  2. package/dist/__tests__/claude-upgrade-privilege.test.js +17 -0
  3. package/dist/__tests__/launchd-plist.test.js +36 -1
  4. package/dist/__tests__/macos-darwin-branch.test.js +18 -0
  5. package/dist/__tests__/neo4j-datadir.test.js +14 -0
  6. package/dist/claude-bin.js +78 -0
  7. package/dist/claude-upgrade-privilege.js +21 -0
  8. package/dist/index.js +241 -34
  9. package/dist/launchd-plist.js +25 -9
  10. package/dist/neo4j-datadir.js +15 -0
  11. package/package.json +1 -1
  12. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +4 -4
  13. package/payload/platform/scripts/smoke-boot-services.sh +35 -10
  14. package/payload/platform/services/claude-session-manager/dist/claude-host-creds.d.ts +11 -0
  15. package/payload/platform/services/claude-session-manager/dist/claude-host-creds.d.ts.map +1 -0
  16. package/payload/platform/services/claude-session-manager/dist/claude-host-creds.js +37 -0
  17. package/payload/platform/services/claude-session-manager/dist/claude-host-creds.js.map +1 -0
  18. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  19. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +7 -0
  20. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  21. package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts +1 -1
  22. package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts.map +1 -1
  23. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js +5 -1
  24. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js.map +1 -1
  25. package/payload/server/public/assets/{AdminLoginScreens-CerrEc_m.js → AdminLoginScreens-CL27ZV86.js} +1 -1
  26. package/payload/server/public/assets/{AdminShell-cRTvNRbo.js → AdminShell-CBcSh9Yd.js} +1 -1
  27. package/payload/server/public/assets/{Checkbox-Dh2pLMFN.js → Checkbox-DRIcYN9r.js} +1 -1
  28. package/payload/server/public/assets/{Transcript-B_GVJujB.js → Transcript-CRc72hkG.js} +1 -1
  29. package/payload/server/public/assets/{admin-BXaYelnR.js → admin-iKYYnv3w.js} +1 -1
  30. package/payload/server/public/assets/{browser-fhjGE7fH.js → browser--8gzAe-E.js} +1 -1
  31. package/payload/server/public/assets/{calendar-PnZudAtc.js → calendar-7xAT81N_.js} +1 -1
  32. package/payload/server/public/assets/chat-B8Z9W42Z.js +1 -0
  33. package/payload/server/public/assets/chevron-left-DDselYau.js +1 -0
  34. package/payload/server/public/assets/data-Ece320dZ.js +1 -0
  35. package/payload/server/public/assets/{graph-CycO3tkW.js → graph-B3haz2DN.js} +1 -1
  36. package/payload/server/public/assets/{graph-labels-DlSsSpBV.js → graph-labels-Ba_fyw6I.js} +1 -1
  37. package/payload/server/public/assets/{operator-L4kBC-zS.js → operator-BYL1IFz9.js} +1 -1
  38. package/payload/server/public/assets/page-Bj6lB07z.js +32 -0
  39. package/payload/server/public/assets/{page-D5E-Ng4D.js → page-CLKVCquw.js} +1 -1
  40. package/payload/server/public/assets/{public-BmnajF3K.js → public-BKJUKC76.js} +1 -1
  41. package/payload/server/public/assets/{rotate-ccw-W5HhvAbo.js → rotate-ccw-BypBbSI4.js} +1 -1
  42. package/payload/server/public/assets/{useSubAccountSwitcher-D1TI1xvd.css → useSubAccountSwitcher-4qilMyPX.css} +1 -1
  43. package/payload/server/public/browser.html +4 -4
  44. package/payload/server/public/calendar.html +5 -5
  45. package/payload/server/public/chat.html +8 -8
  46. package/payload/server/public/data.html +7 -7
  47. package/payload/server/public/graph.html +8 -8
  48. package/payload/server/public/index.html +10 -10
  49. package/payload/server/public/operator.html +10 -10
  50. package/payload/server/public/public.html +8 -8
  51. package/payload/server/server.js +52 -7
  52. package/payload/server/public/assets/chat-Dy_zrjKS.js +0 -1
  53. package/payload/server/public/assets/chevron-left-IB6TmMZ_.js +0 -1
  54. package/payload/server/public/assets/data-B2IcjAj6.js +0 -1
  55. package/payload/server/public/assets/page-M8sD9LOi.js +0 -32
  56. /package/payload/server/public/assets/{useSubAccountSwitcher-UqZbmzYy.js → useSubAccountSwitcher-CsRv6MEd.js} +0 -0
@@ -5,11 +5,11 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Browser — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/browser-fhjGE7fH.js"></script>
8
+ <script type="module" crossorigin src="/assets/browser--8gzAe-E.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-UqZbmzYy.js">
11
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-cRTvNRbo.js">
12
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-D1TI1xvd.css">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-CsRv6MEd.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-CBcSh9Yd.js">
12
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-4qilMyPX.css">
13
13
  <link rel="stylesheet" href="/brand-defaults.css">
14
14
  </head>
15
15
  <body>
@@ -5,12 +5,12 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Calendar — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/calendar-PnZudAtc.js"></script>
8
+ <script type="module" crossorigin src="/assets/calendar-7xAT81N_.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-UqZbmzYy.js">
11
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-cRTvNRbo.js">
12
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-IB6TmMZ_.js">
13
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-D1TI1xvd.css">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-CsRv6MEd.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-CBcSh9Yd.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-DDselYau.js">
13
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-4qilMyPX.css">
14
14
  <link rel="stylesheet" href="/brand-defaults.css">
15
15
  </head>
16
16
  <body>
@@ -5,17 +5,17 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Chat — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/chat-Dy_zrjKS.js"></script>
8
+ <script type="module" crossorigin src="/assets/chat-B8Z9W42Z.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-UqZbmzYy.js">
11
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-cRTvNRbo.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-CsRv6MEd.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-CBcSh9Yd.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/admin-types-hioowVct.js">
13
13
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-C5gCWwwF.js">
14
- <link rel="modulepreload" crossorigin href="/assets/Transcript-B_GVJujB.js">
15
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-IB6TmMZ_.js">
16
- <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-W5HhvAbo.js">
17
- <link rel="modulepreload" crossorigin href="/assets/page-M8sD9LOi.js">
18
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-D1TI1xvd.css">
14
+ <link rel="modulepreload" crossorigin href="/assets/Transcript-CRc72hkG.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-DDselYau.js">
16
+ <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-BypBbSI4.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/page-Bj6lB07z.js">
18
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-4qilMyPX.css">
19
19
  <link rel="stylesheet" href="/brand-defaults.css">
20
20
  </head>
21
21
  <body>
@@ -5,15 +5,15 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Data — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/data-B2IcjAj6.js"></script>
8
+ <script type="module" crossorigin src="/assets/data-Ece320dZ.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-UqZbmzYy.js">
11
- <link rel="modulepreload" crossorigin href="/assets/graph-labels-DlSsSpBV.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-CsRv6MEd.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/graph-labels-Ba_fyw6I.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-C5gCWwwF.js">
13
- <link rel="modulepreload" crossorigin href="/assets/Transcript-B_GVJujB.js">
14
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-IB6TmMZ_.js">
15
- <link rel="modulepreload" crossorigin href="/assets/page-D5E-Ng4D.js">
16
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-D1TI1xvd.css">
13
+ <link rel="modulepreload" crossorigin href="/assets/Transcript-CRc72hkG.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-DDselYau.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/page-CLKVCquw.js">
16
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-4qilMyPX.css">
17
17
  <link rel="stylesheet" href="/brand-defaults.css">
18
18
  </head>
19
19
  <body>
@@ -5,15 +5,15 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Graph — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/graph-CycO3tkW.js"></script>
8
+ <script type="module" crossorigin src="/assets/graph-B3haz2DN.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-UqZbmzYy.js">
11
- <link rel="modulepreload" crossorigin href="/assets/graph-labels-DlSsSpBV.js">
12
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-cRTvNRbo.js">
13
- <link rel="modulepreload" crossorigin href="/assets/Checkbox-Dh2pLMFN.js">
14
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-IB6TmMZ_.js">
15
- <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-W5HhvAbo.js">
16
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-D1TI1xvd.css">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-CsRv6MEd.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/graph-labels-Ba_fyw6I.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-CBcSh9Yd.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/Checkbox-DRIcYN9r.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-DDselYau.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-BypBbSI4.js">
16
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-4qilMyPX.css">
17
17
  <link rel="stylesheet" href="/brand-defaults.css">
18
18
  </head>
19
19
  <body>
@@ -5,19 +5,19 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/admin-BXaYelnR.js"></script>
8
+ <script type="module" crossorigin src="/assets/admin-iKYYnv3w.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-UqZbmzYy.js">
11
- <link rel="modulepreload" crossorigin href="/assets/graph-labels-DlSsSpBV.js">
12
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-cRTvNRbo.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-CsRv6MEd.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/graph-labels-Ba_fyw6I.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-CBcSh9Yd.js">
13
13
  <link rel="modulepreload" crossorigin href="/assets/admin-types-hioowVct.js">
14
- <link rel="modulepreload" crossorigin href="/assets/Checkbox-Dh2pLMFN.js">
15
- <link rel="modulepreload" crossorigin href="/assets/AdminLoginScreens-CerrEc_m.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/Checkbox-DRIcYN9r.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/AdminLoginScreens-CL27ZV86.js">
16
16
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-C5gCWwwF.js">
17
- <link rel="modulepreload" crossorigin href="/assets/Transcript-B_GVJujB.js">
18
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-IB6TmMZ_.js">
19
- <link rel="modulepreload" crossorigin href="/assets/page-D5E-Ng4D.js">
20
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-D1TI1xvd.css">
17
+ <link rel="modulepreload" crossorigin href="/assets/Transcript-CRc72hkG.js">
18
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-DDselYau.js">
19
+ <link rel="modulepreload" crossorigin href="/assets/page-CLKVCquw.js">
20
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-4qilMyPX.css">
21
21
  <link rel="stylesheet" crossorigin href="/assets/AdminLoginScreens-CWMpccrR.css">
22
22
  <link rel="stylesheet" href="/brand-defaults.css">
23
23
  </head>
@@ -5,19 +5,19 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Operator — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/operator-L4kBC-zS.js"></script>
8
+ <script type="module" crossorigin src="/assets/operator-BYL1IFz9.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-UqZbmzYy.js">
11
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-cRTvNRbo.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-CsRv6MEd.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-CBcSh9Yd.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/admin-types-hioowVct.js">
13
- <link rel="modulepreload" crossorigin href="/assets/Checkbox-Dh2pLMFN.js">
14
- <link rel="modulepreload" crossorigin href="/assets/AdminLoginScreens-CerrEc_m.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/Checkbox-DRIcYN9r.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/AdminLoginScreens-CL27ZV86.js">
15
15
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-C5gCWwwF.js">
16
- <link rel="modulepreload" crossorigin href="/assets/Transcript-B_GVJujB.js">
17
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-IB6TmMZ_.js">
18
- <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-W5HhvAbo.js">
19
- <link rel="modulepreload" crossorigin href="/assets/page-M8sD9LOi.js">
20
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-D1TI1xvd.css">
16
+ <link rel="modulepreload" crossorigin href="/assets/Transcript-CRc72hkG.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-DDselYau.js">
18
+ <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-BypBbSI4.js">
19
+ <link rel="modulepreload" crossorigin href="/assets/page-Bj6lB07z.js">
20
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-4qilMyPX.css">
21
21
  <link rel="stylesheet" crossorigin href="/assets/AdminLoginScreens-CWMpccrR.css">
22
22
  <link rel="stylesheet" href="/brand-defaults.css">
23
23
  </head>
@@ -5,17 +5,17 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/public-BmnajF3K.js"></script>
8
+ <script type="module" crossorigin src="/assets/public-BKJUKC76.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-UqZbmzYy.js">
11
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-cRTvNRbo.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-CsRv6MEd.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-CBcSh9Yd.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/admin-types-hioowVct.js">
13
13
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-C5gCWwwF.js">
14
- <link rel="modulepreload" crossorigin href="/assets/Transcript-B_GVJujB.js">
15
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-IB6TmMZ_.js">
16
- <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-W5HhvAbo.js">
17
- <link rel="modulepreload" crossorigin href="/assets/page-M8sD9LOi.js">
18
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-D1TI1xvd.css">
14
+ <link rel="modulepreload" crossorigin href="/assets/Transcript-CRc72hkG.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-DDselYau.js">
16
+ <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-BypBbSI4.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/page-Bj6lB07z.js">
18
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-4qilMyPX.css">
19
19
  <link rel="stylesheet" href="/brand-defaults.css">
20
20
  </head>
21
21
  <body class="public-surface">
@@ -1623,8 +1623,9 @@ function startAuthHealthHeartbeat(intervalMs = 5 * 60 * 1e3) {
1623
1623
  try {
1624
1624
  const h = computeAuthHealth();
1625
1625
  const expiresIn = h.expiresAt != null ? Math.round((h.expiresAt - Date.now()) / 1e3) : null;
1626
+ const store2 = process.platform === "darwin" ? "host-creds-file" : "file";
1626
1627
  console.log(
1627
- `[auth-health] brand=${BRAND_NAME} status=${h.status} expiresIn=${expiresIn != null ? expiresIn + "s" : "n/a"}`
1628
+ `[auth-health] brand=${BRAND_NAME} store=${store2} status=${h.status} expiresIn=${expiresIn != null ? expiresIn + "s" : "n/a"}`
1628
1629
  );
1629
1630
  if (h.status === "dead") {
1630
1631
  console.log(`[auth-health] op=reauth-required status=dead`);
@@ -10447,6 +10448,21 @@ import { spawn, spawnSync as spawnSync2, execFileSync as execFileSync2 } from "c
10447
10448
  import { openSync as openSync3, closeSync as closeSync3, writeFileSync as writeFileSync10, writeSync, existsSync as existsSync15, readFileSync as readFileSync24, unlinkSync as unlinkSync2 } from "fs";
10448
10449
  import { createHash as createHash3, randomUUID as randomUUID7 } from "crypto";
10449
10450
 
10451
+ // app/lib/claude-spawn-env.ts
10452
+ var HOST_AUTH_REFRESH_TIMEOUT_MS = "30000";
10453
+ function hostCredsEnv(platform, credsFile) {
10454
+ if (platform === "darwin" && credsFile) {
10455
+ return {
10456
+ CLAUDE_CODE_HOST_CREDS_FILE: credsFile,
10457
+ CLAUDE_CODE_HOST_AUTH_REFRESH_TIMEOUT_MS: HOST_AUTH_REFRESH_TIMEOUT_MS
10458
+ };
10459
+ }
10460
+ return {};
10461
+ }
10462
+ function claudeBin() {
10463
+ return process.env.CLAUDE_BIN ?? "claude";
10464
+ }
10465
+
10450
10466
  // ../lib/admins-write/src/index.ts
10451
10467
  import { existsSync as existsSync14, readFileSync as readFileSync23, writeFileSync as writeFileSync9, renameSync as renameSync5, mkdirSync as mkdirSync5, readdirSync as readdirSync13, statSync as statSync8, appendFileSync as appendFileSync2 } from "fs";
10452
10468
  import { dirname as dirname7, join as join22 } from "path";
@@ -10632,6 +10648,7 @@ function readUsersFile2() {
10632
10648
  if (!raw) return [];
10633
10649
  return JSON.parse(raw);
10634
10650
  }
10651
+ var darwinAuthChild = null;
10635
10652
  async function checkAuthStatus() {
10636
10653
  let status;
10637
10654
  try {
@@ -10677,7 +10694,11 @@ app9.post("/claude-auth", async (c) => {
10677
10694
  const start = Date.now();
10678
10695
  let logoutError = null;
10679
10696
  try {
10680
- execFileSync2("claude", ["auth", "logout"], { encoding: "utf-8", timeout: 8e3 });
10697
+ execFileSync2(claudeBin(), ["auth", "logout"], {
10698
+ env: { ...process.env, ...hostCredsEnv(process.platform, CLAUDE_CREDENTIALS_FILE) },
10699
+ encoding: "utf-8",
10700
+ timeout: 8e3
10701
+ });
10681
10702
  } catch (err) {
10682
10703
  logoutError = err instanceof Error ? err.message : String(err);
10683
10704
  }
@@ -10690,6 +10711,22 @@ app9.post("/claude-auth", async (c) => {
10690
10711
  const authenticated = await checkAuthStatus();
10691
10712
  return c.json({ completed: authenticated, authenticated });
10692
10713
  }
10714
+ if (body.action === "paste-code") {
10715
+ const code = typeof body.code === "string" ? body.code : "";
10716
+ const child = darwinAuthChild;
10717
+ if (!child || !child.stdin || child.stdin.destroyed) {
10718
+ console.log("[onboarding] op=claude-paste-code accepted=false reason=no-active-login");
10719
+ return c.json({ accepted: false, error: "No active login to paste into. Start sign-in first." }, 400);
10720
+ }
10721
+ try {
10722
+ child.stdin.write(code.trim() + "\n");
10723
+ } catch (err) {
10724
+ console.log(`[onboarding] op=claude-paste-code accepted=false reason=write-failed err=${err instanceof Error ? err.message : String(err)}`);
10725
+ return c.json({ accepted: false, error: "Sign-in already finished or closed. Try again." }, 409);
10726
+ }
10727
+ console.log(`[onboarding] op=claude-paste-code accepted=true bytes=${code.trim().length}`);
10728
+ return c.json({ accepted: true });
10729
+ }
10693
10730
  if (body.action === "launch-browser") {
10694
10731
  if (transport === "vnc") {
10695
10732
  const vncReady = await ensureVnc();
@@ -10704,13 +10741,20 @@ app9.post("/claude-auth", async (c) => {
10704
10741
  const onClaudeOutput = (chunk) => writeSync(claudeAuthLogFd, chunk);
10705
10742
  if (process.platform === "darwin") {
10706
10743
  vncLog("claude-auth", { action: "start", transport: "native", platform: "darwin" });
10707
- const claudeProc2 = spawn("claude", ["auth", "login"], {
10708
- stdio: ["ignore", "pipe", "pipe"]
10744
+ const claudeProc2 = spawn(claudeBin(), ["auth", "login"], {
10745
+ env: { ...process.env, ...hostCredsEnv(process.platform, CLAUDE_CREDENTIALS_FILE) },
10746
+ stdio: ["pipe", "pipe", "pipe"]
10709
10747
  });
10710
10748
  claudeProc2.unref();
10749
+ darwinAuthChild = claudeProc2;
10750
+ claudeProc2.stdin?.on("error", () => {
10751
+ });
10711
10752
  claudeProc2.stdout?.on("data", onClaudeOutput);
10712
10753
  claudeProc2.stderr?.on("data", onClaudeOutput);
10713
- claudeProc2.once("close", () => closeSync3(claudeAuthLogFd));
10754
+ claudeProc2.once("close", () => {
10755
+ closeSync3(claudeAuthLogFd);
10756
+ if (darwinAuthChild === claudeProc2) darwinAuthChild = null;
10757
+ });
10714
10758
  return c.json({ started: true, transport: "native" });
10715
10759
  }
10716
10760
  if (transport === "vnc") {
@@ -11497,15 +11541,16 @@ var logs_default = app13;
11497
11541
  import { execFileSync as execFileSync3 } from "child_process";
11498
11542
  var app14 = new Hono();
11499
11543
  app14.get("/", (c) => {
11544
+ const claudeEnv = { ...process.env, ...hostCredsEnv(process.platform, CLAUDE_CREDENTIALS_FILE) };
11500
11545
  let version = "unknown";
11501
11546
  try {
11502
- const raw = execFileSync3("claude", ["--version"], { encoding: "utf-8", timeout: 5e3 });
11547
+ const raw = execFileSync3(claudeBin(), ["--version"], { env: claudeEnv, encoding: "utf-8", timeout: 5e3 });
11503
11548
  version = raw.trim().replace(" (Claude Code)", "");
11504
11549
  } catch {
11505
11550
  }
11506
11551
  let account = {};
11507
11552
  try {
11508
- const raw = execFileSync3("claude", ["auth", "status"], { encoding: "utf-8", timeout: 5e3 });
11553
+ const raw = execFileSync3(claudeBin(), ["auth", "status"], { env: claudeEnv, encoding: "utf-8", timeout: 5e3 });
11509
11554
  account = JSON.parse(raw);
11510
11555
  } catch {
11511
11556
  }
@@ -1 +0,0 @@
1
- import{F as e,M as t}from"./useSubAccountSwitcher-UqZbmzYy.js";import"./admin-types-hioowVct.js";import"./AdminShell-cRTvNRbo.js";import{n}from"./page-M8sD9LOi.js";import"./Transcript-B_GVJujB.js";var r=e(),i=t();(0,r.createRoot)(document.getElementById(`root`)).render((0,i.jsx)(n,{}));
@@ -1 +0,0 @@
1
- import{D as e}from"./useSubAccountSwitcher-UqZbmzYy.js";var t=e(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]);export{t};
@@ -1 +0,0 @@
1
- import{F as e,M as t}from"./useSubAccountSwitcher-UqZbmzYy.js";import{t as n}from"./page-D5E-Ng4D.js";import"./Transcript-B_GVJujB.js";import"./graph-labels-DlSsSpBV.js";var r=e(),i=t();(0,r.createRoot)(document.getElementById(`root`)).render((0,i.jsx)(n,{}));