shortcutxl 0.4.0 → 0.4.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 (75) hide show
  1. package/BINARY-INVENTORY.json +12 -12
  2. package/CHANGELOG.md +6 -0
  3. package/dist/app/agent-session-runtime-adapter.d.ts +5 -0
  4. package/dist/app/agent-session-runtime-adapter.js +7 -4
  5. package/dist/app/agent-session.d.ts +7 -2
  6. package/dist/app/agent-session.js +9 -5
  7. package/dist/app/observability/client-logging/client-logger.d.ts +2 -1
  8. package/dist/app/observability/client-logging/client-logger.js +11 -5
  9. package/dist/app/providers/model-resolver.d.ts +6 -0
  10. package/dist/app/providers/model-resolver.js +23 -20
  11. package/dist/app/services/user-context.d.ts +2 -0
  12. package/dist/app/services/user-context.js +4 -1
  13. package/dist/app/session/account-default-model.d.ts +33 -0
  14. package/dist/app/session/account-default-model.js +53 -0
  15. package/dist/app/session/model-manager.d.ts +15 -4
  16. package/dist/app/session/model-manager.js +23 -8
  17. package/dist/app/session/session-lifecycle.js +14 -12
  18. package/dist/cli.js +1892 -956
  19. package/dist/config.d.ts +13 -5
  20. package/dist/config.js +37 -23
  21. package/dist/contracts/model-stream.d.ts +5 -0
  22. package/dist/contracts/wire.d.ts +3 -1
  23. package/dist/core/agent-engine.d.ts +2 -1
  24. package/dist/core/agent-engine.js +3 -0
  25. package/dist/core/agent-loop.js +8 -2
  26. package/dist/core/core-types.d.ts +3 -1
  27. package/dist/core/session/compaction/compaction.d.ts +2 -0
  28. package/dist/core/session/compaction/compaction.js +3 -0
  29. package/dist/core/session/compaction-bridge.d.ts +2 -1
  30. package/dist/core/session/compaction-bridge.js +4 -1
  31. package/dist/embedded-agent/compaction-wiring.js +4 -1
  32. package/dist/embedded-agent/compose.js +12 -4
  33. package/dist/main.d.ts +7 -0
  34. package/dist/main.js +21 -17
  35. package/dist/rpc/rpc-host.js +7 -1
  36. package/dist/shell/interactive/auth-workflow.js +7 -1
  37. package/dist/shortcut-default-model.d.ts +30 -0
  38. package/dist/shortcut-default-model.js +86 -0
  39. package/dist/startup/terminal-update-flow.js +4 -1
  40. package/dist/startup/update-action.d.ts +17 -2
  41. package/dist/startup/update-action.js +114 -40
  42. package/dist/startup/update-diagnostics.d.ts +85 -0
  43. package/dist/startup/update-diagnostics.js +188 -0
  44. package/dist/startup/update-execution.d.ts +13 -1
  45. package/dist/startup/update-execution.js +205 -6
  46. package/dist/startup/update-installation.d.ts +55 -0
  47. package/dist/startup/update-installation.js +242 -0
  48. package/dist/startup/update-manager.d.ts +5 -0
  49. package/dist/startup/update-manager.js +23 -5
  50. package/dist/startup/update-verification.d.ts +87 -0
  51. package/dist/startup/update-verification.js +204 -0
  52. package/dist/supported-models.generated.js +1 -1
  53. package/native-app/main/chunks/{config-CwtqLhpn.js → config-DSoKsgPT.js} +1 -1
  54. package/native-app/main/chunks/{linux-C5J5oKJy.js → linux-TBGGGecs.js} +3 -3
  55. package/native-app/main/chunks/{mac-Bt_bFwUg.js → mac-Dg93p_2s.js} +3 -3
  56. package/native-app/main/chunks/{setup-worker-protocol-QUVpcuEb.js → setup-worker-protocol-CHVmPxBP.js} +54 -35
  57. package/native-app/main/chunks/{shared-Q59yhreZ.js → shared-BbAcLTbB.js} +1 -1
  58. package/native-app/main/index.js +190 -16
  59. package/native-app/main/setup-worker.js +3 -3
  60. package/native-app/package.json +1 -1
  61. package/native-app/renderer/assets/{index-DkKrXRl6.js → index-BJUrz0xE.js} +2210 -167
  62. package/native-app/renderer/assets/server-PLrRTws-.js +2689 -0
  63. package/native-app/renderer/index.html +1 -1
  64. package/package.json +1 -1
  65. package/xll/python/Lib/site-packages/httpx-0.28.1.dist-info/RECORD +1 -1
  66. package/xll/python/Lib/site-packages/idna-3.18.dist-info/RECORD +1 -1
  67. package/xll/python/Lib/site-packages/pip-26.2.dist-info/RECORD +3 -3
  68. package/xll/python/Lib/site-packages/pywin32-311.dist-info/RECORD +2 -2
  69. package/xll/python/Scripts/httpx.exe +0 -0
  70. package/xll/python/Scripts/idna.exe +0 -0
  71. package/xll/python/Scripts/pip.exe +0 -0
  72. package/xll/python/Scripts/pip3.13.exe +0 -0
  73. package/xll/python/Scripts/pip3.exe +0 -0
  74. package/xll/python/Scripts/pywin32_postinstall.exe +0 -0
  75. package/xll/python/Scripts/pywin32_testall.exe +0 -0
@@ -2,19 +2,19 @@ import { app, session, BrowserWindow, ipcMain, dialog, shell, powerSaveBlocker }
2
2
  import { rmSync, mkdirSync as mkdirSync$1, writeFileSync as writeFileSync$1, chmodSync, renameSync, readFileSync as readFileSync$1, existsSync as existsSync$1, openAsBlob, createWriteStream, mkdtempSync } from "node:fs";
3
3
  import { readFile, open, stat, rm, mkdir, mkdtemp, writeFile, cp, readdir as readdir$1, chmod, unlink, rename, appendFile } from "node:fs/promises";
4
4
  import { join, resolve, extname, basename, dirname, delimiter, sep, relative, isAbsolute } from "node:path";
5
- import { c as chalk, g as getAgentDir, C as CONFIG_DIR_NAME, a as getPackageDir, b as getUpdateCachePath, V as VERSION, N as NPM_PACKAGE_NAME, d as NPM_REGISTRY_URL, e as getUpdateLaunchCommand, f as getUpdateCommand, h as getUpdateInstruction, i as getBinDir, A as APP_NAME, j as isSetupWorkerMessage } from "./chunks/setup-worker-protocol-QUVpcuEb.js";
5
+ import { c as chalk, g as getAgentDir, C as CONFIG_DIR_NAME, a as getPackageDir, b as getRuntimePackageDir, N as NPM_PACKAGE_NAME, A as APP_NAME, d as getUpdateCachePath, V as VERSION, e as NPM_REGISTRY_URL, f as getUpdateLaunchCommand, h as getUpdateCommand, i as getUpdateInstruction, j as getBinDir, k as isSetupWorkerMessage } from "./chunks/setup-worker-protocol-CHVmPxBP.js";
6
6
  import require$$1 from "tty";
7
7
  import require$$1$1 from "util";
8
8
  import require$$0, { platform, arch, homedir as homedir$1 } from "os";
9
9
  import { createRequire } from "module";
10
10
  import * as path from "path";
11
- import path__default, { join as join$1, dirname as dirname$1, basename as basename$1 } from "path";
11
+ import path__default, { join as join$1, win32, posix, dirname as dirname$1, basename as basename$1 } from "path";
12
12
  import { fileURLToPath } from "url";
13
13
  import { spawn, fork } from "node:child_process";
14
14
  import { randomUUID, createHash } from "node:crypto";
15
15
  import * as readline from "node:readline";
16
16
  import { createRequire as createRequire$1 } from "node:module";
17
- import require$$0$3, { existsSync, mkdirSync, readFileSync, writeFileSync, chmodSync as chmodSync$1, renameSync as renameSync$1, rmSync as rmSync$1, readdirSync, statSync } from "fs";
17
+ import require$$0$3, { existsSync, mkdirSync, readFileSync, realpathSync, writeFileSync, chmodSync as chmodSync$1, renameSync as renameSync$1, rmSync as rmSync$1, readdirSync, statSync } from "fs";
18
18
  import { readdir, readFile as readFile$1, stat as stat$1 } from "fs/promises";
19
19
  import { randomUUID as randomUUID$1, createHash as createHash$1 } from "crypto";
20
20
  import { homedir, hostname } from "node:os";
@@ -273,7 +273,7 @@ const MODEL_CATALOG = {
273
273
  control: "adaptive-effort",
274
274
  defaultLevel: "medium",
275
275
  levels: ["low", "medium", "high", "xhigh", "max"],
276
- supportsOff: true
276
+ supportsOff: false
277
277
  }
278
278
  },
279
279
  protocol: "anthropic-messages"
@@ -2539,7 +2539,8 @@ async function fetchUserInfo(accessToken, options) {
2539
2539
  plan: hasPlan ? data.plan ?? null : void 0,
2540
2540
  proCreditsTier: data.proCreditsTier ?? null,
2541
2541
  authorizedSkillTeamIds: parseAuthorizedSkillTeamIds(data),
2542
- ...additionalModelPickerEntries.length > 0 ? { additionalModelPickerEntries } : {}
2542
+ ...additionalModelPickerEntries.length > 0 ? { additionalModelPickerEntries } : {},
2543
+ ...typeof data.defaultModelPickerEntryKey === "string" ? { defaultModelPickerEntryKey: data.defaultModelPickerEntryKey } : {}
2543
2544
  };
2544
2545
  } catch (error) {
2545
2546
  if (error instanceof ShortcutIdentityError)
@@ -8779,6 +8780,164 @@ class UpdateCheckScheduler {
8779
8780
  function formatUpdateReminder(update) {
8780
8781
  return `Update available: ${update.currentVersion} → ${update.latestVersion}. Quit all Shortcut terminals and apps, then rerun \`shortcut\` or \`shortcut app\` to update.`;
8781
8782
  }
8783
+ function resolveDeps(deps) {
8784
+ return {
8785
+ platform: deps.platform ?? process.platform,
8786
+ env: deps.env ?? process.env,
8787
+ exists: deps.exists ?? existsSync,
8788
+ readFile: deps.readFile ?? ((path2) => readFileSync(path2, "utf-8")),
8789
+ realpath: deps.realpath ?? ((path2) => {
8790
+ try {
8791
+ return realpathSync(path2);
8792
+ } catch {
8793
+ return path2;
8794
+ }
8795
+ })
8796
+ };
8797
+ }
8798
+ const pathApi = (platform2) => platform2 === "win32" ? win32 : posix;
8799
+ function shimNames(platform2) {
8800
+ return platform2 === "win32" ? [`${APP_NAME}.ps1`, `${APP_NAME}.cmd`, `${APP_NAME}.exe`, `${APP_NAME}.bat`] : [APP_NAME];
8801
+ }
8802
+ function resolveActiveInstallation(deps = {}) {
8803
+ const resolved = resolveDeps(deps);
8804
+ const runningDir = deps.packageDir ?? getRuntimePackageDir();
8805
+ const packageDir = pnpmStableLinkOf(runningDir, resolved) ?? runningDir;
8806
+ const pnpmShim = pnpmShimOf(runningDir, resolved);
8807
+ return {
8808
+ packageDir,
8809
+ npmPrefix: npmGlobalPrefixOf(packageDir, resolved),
8810
+ ...pnpmShim ? { pnpmShim } : {}
8811
+ };
8812
+ }
8813
+ function pnpmStableLinkOf(packageDir, deps) {
8814
+ const path2 = pathApi(deps.platform);
8815
+ const nodeModules = path2.dirname(packageDir);
8816
+ const storeEntry = path2.dirname(nodeModules);
8817
+ const virtualStore = path2.dirname(storeEntry);
8818
+ if (path2.basename(packageDir) !== NPM_PACKAGE_NAME || path2.basename(nodeModules) !== "node_modules" || !path2.basename(storeEntry).startsWith(`${NPM_PACKAGE_NAME}@`) || path2.basename(virtualStore) !== ".pnpm")
8819
+ return void 0;
8820
+ const root = path2.dirname(virtualStore);
8821
+ const candidates = [path2.join(root, "node_modules", NPM_PACKAGE_NAME)];
8822
+ if (path2.basename(root) === "node_modules")
8823
+ candidates.push(path2.join(root, NPM_PACKAGE_NAME));
8824
+ return candidates.find((candidate) => isShortcutPackage(candidate, deps));
8825
+ }
8826
+ function pnpmHomeOf(packageDir, deps) {
8827
+ const path2 = pathApi(deps.platform);
8828
+ let directory = packageDir;
8829
+ let child;
8830
+ while (path2.dirname(directory) !== directory) {
8831
+ const name = path2.basename(directory);
8832
+ if ((name === "global" || name === "store") && child && /^v?\d+$/.test(child)) {
8833
+ return path2.dirname(directory);
8834
+ }
8835
+ child = name;
8836
+ directory = path2.dirname(directory);
8837
+ }
8838
+ return void 0;
8839
+ }
8840
+ function pnpmShimOf(packageDir, deps) {
8841
+ const path2 = pathApi(deps.platform);
8842
+ const homes = [pnpmHomeOf(deps.realpath(packageDir), deps), deps.env.PNPM_HOME].filter((home) => Boolean(home));
8843
+ for (const home of new Set(homes)) {
8844
+ for (const directory of [path2.join(home, "bin"), home]) {
8845
+ for (const name of shimNames(deps.platform)) {
8846
+ const shim = path2.join(directory, name);
8847
+ if (!deps.exists(shim))
8848
+ continue;
8849
+ const target = packageDirOfShim(shim, deps);
8850
+ if (target && isSameInstallation(target, packageDir, deps))
8851
+ return shim;
8852
+ }
8853
+ }
8854
+ }
8855
+ return void 0;
8856
+ }
8857
+ function npmGlobalPrefixOf(packageDir, deps) {
8858
+ const path2 = pathApi(deps.platform);
8859
+ const nodeModules = path2.dirname(packageDir);
8860
+ if (path2.basename(packageDir) !== NPM_PACKAGE_NAME || path2.basename(nodeModules) !== "node_modules")
8861
+ return void 0;
8862
+ if (deps.platform === "win32") {
8863
+ const prefix2 = path2.dirname(nodeModules);
8864
+ return deps.exists(path2.join(prefix2, `${APP_NAME}.cmd`)) ? prefix2 : void 0;
8865
+ }
8866
+ const lib = path2.dirname(nodeModules);
8867
+ if (path2.basename(lib) !== "lib")
8868
+ return void 0;
8869
+ const prefix = path2.dirname(lib);
8870
+ return deps.exists(path2.join(prefix, "bin", APP_NAME)) ? prefix : void 0;
8871
+ }
8872
+ const MAX_SHIM_HOPS = 4;
8873
+ function packageDirOfShim(shim, deps, hops = 0) {
8874
+ const path2 = pathApi(deps.platform);
8875
+ if (deps.platform !== "win32") {
8876
+ let directory = path2.dirname(deps.realpath(shim));
8877
+ for (let depth = 0; depth < 6; depth += 1) {
8878
+ if (isShortcutPackage(directory, deps))
8879
+ return directory;
8880
+ const parent = path2.dirname(directory);
8881
+ if (parent === directory)
8882
+ break;
8883
+ directory = parent;
8884
+ }
8885
+ }
8886
+ let text;
8887
+ try {
8888
+ text = deps.readFile(shim);
8889
+ } catch {
8890
+ }
8891
+ if (text !== void 0) {
8892
+ for (const target of shimTargets(text, path2.dirname(shim), deps)) {
8893
+ const name = path2.basename(target);
8894
+ if (name === "cli.js" && path2.basename(path2.dirname(target)) === "dist") {
8895
+ const packageDir = path2.dirname(path2.dirname(target));
8896
+ if (isShortcutPackage(packageDir, deps))
8897
+ return packageDir;
8898
+ } else if (hops < MAX_SHIM_HOPS && target !== shim && isShimName(name, deps.platform) && deps.exists(target)) {
8899
+ const packageDir = packageDirOfShim(target, deps, hops + 1);
8900
+ if (packageDir)
8901
+ return packageDir;
8902
+ }
8903
+ }
8904
+ }
8905
+ if (deps.platform !== "win32")
8906
+ return void 0;
8907
+ const npmLayout = path2.join(path2.dirname(shim), "node_modules", NPM_PACKAGE_NAME);
8908
+ return isShortcutPackage(npmLayout, deps) ? npmLayout : void 0;
8909
+ }
8910
+ function shimTargets(text, shimDir, deps) {
8911
+ const path2 = pathApi(deps.platform);
8912
+ const targets = [];
8913
+ for (const match of text.matchAll(/(?:%~?dp0%?|\$basedir(?:_abs|_win)?)[\\/]+([^"'\s%$*]+)/gi)) {
8914
+ const relative2 = deps.platform === "win32" ? match[1].replaceAll("/", "\\") : match[1].replaceAll("\\", "/");
8915
+ const target = path2.resolve(shimDir, relative2);
8916
+ if (!targets.includes(target))
8917
+ targets.push(target);
8918
+ }
8919
+ return targets;
8920
+ }
8921
+ function isShimName(name, platform2) {
8922
+ const lower = platform2 === "win32" ? name.toLowerCase() : name;
8923
+ return lower === APP_NAME || shimNames(platform2).includes(lower);
8924
+ }
8925
+ function isShortcutPackage(directory, deps) {
8926
+ try {
8927
+ const manifest = JSON.parse(deps.readFile(pathApi(deps.platform).join(directory, "package.json")));
8928
+ return manifest?.name === NPM_PACKAGE_NAME;
8929
+ } catch {
8930
+ return false;
8931
+ }
8932
+ }
8933
+ function isSameInstallation(left, right, deps = {}) {
8934
+ const resolved = resolveDeps(deps);
8935
+ const normalize = (value) => {
8936
+ const real = pathApi(resolved.platform).resolve(resolved.realpath(value));
8937
+ return resolved.platform === "win32" ? real.toLowerCase() : real;
8938
+ };
8939
+ return normalize(left) === normalize(right);
8940
+ }
8782
8941
  async function resolveStartupUpdateStatus(options = {}) {
8783
8942
  const cachePath = options.cachePath ?? getUpdateCachePath();
8784
8943
  const currentVersion = options.currentVersion ?? VERSION;
@@ -8787,7 +8946,11 @@ async function resolveStartupUpdateStatus(options = {}) {
8787
8946
  return { kind: "none", currentVersion };
8788
8947
  }
8789
8948
  const cache = readUpdateCache(cachePath);
8790
- return getUpdateStatusFromCache(cache, { currentVersion, packageName });
8949
+ return getUpdateStatusFromCache(cache, {
8950
+ currentVersion,
8951
+ packageName,
8952
+ installation: options.installation
8953
+ });
8791
8954
  }
8792
8955
  async function refreshUpdateStatus(options = {}, deps = {}) {
8793
8956
  const cachePath = options.cachePath ?? getUpdateCachePath();
@@ -8797,14 +8960,22 @@ async function refreshUpdateStatus(options = {}, deps = {}) {
8797
8960
  const now = options.now ?? /* @__PURE__ */ new Date();
8798
8961
  const cache = readUpdateCache(cachePath);
8799
8962
  if (options.skipCheck || options.offline) {
8800
- return getUpdateStatusFromCache(cache, { currentVersion, packageName });
8963
+ return getUpdateStatusFromCache(cache, {
8964
+ currentVersion,
8965
+ packageName,
8966
+ installation: options.installation
8967
+ });
8801
8968
  }
8802
8969
  let refreshed;
8803
8970
  try {
8804
8971
  refreshed = await fetchAndPersistUpdateCache({ cachePath, registryUrl, now }, deps);
8805
8972
  } catch {
8806
8973
  }
8807
- return getUpdateStatusFromCache(refreshed ?? cache, { currentVersion, packageName });
8974
+ return getUpdateStatusFromCache(refreshed ?? cache, {
8975
+ currentVersion,
8976
+ packageName,
8977
+ installation: options.installation
8978
+ });
8808
8979
  }
8809
8980
  function getUpdateStatusFromCache(cache, options) {
8810
8981
  const noUpdate = {
@@ -8819,13 +8990,16 @@ function getUpdateStatusFromCache(cache, options) {
8819
8990
  return noUpdate;
8820
8991
  }
8821
8992
  const packageName = options.packageName ?? NPM_PACKAGE_NAME;
8993
+ const installation = options.installation ?? resolveActiveInstallation();
8994
+ const target = { version: cache.latestVersion, npmPrefix: installation.npmPrefix };
8822
8995
  return {
8823
8996
  kind: "available",
8824
8997
  currentVersion: options.currentVersion,
8825
8998
  latestVersion: cache.latestVersion,
8826
8999
  instruction: getUpdateInstruction(packageName),
8827
- command: getUpdateCommand(packageName),
8828
- launch: getUpdateLaunchCommand(packageName),
9000
+ command: getUpdateCommand(packageName, target),
9001
+ launch: getUpdateLaunchCommand(packageName, target),
9002
+ installation,
8829
9003
  lastCheckedAt: cache.lastCheckedAt
8830
9004
  };
8831
9005
  }
@@ -14138,8 +14312,8 @@ function createDeviceRunnerService(options) {
14138
14312
  Promise.resolve().then(() => shortcutDeployment),
14139
14313
  Promise.resolve().then(() => auth),
14140
14314
  import("./chunks/secret-store-CbWo_9sG.js"),
14141
- import("./chunks/config-CwtqLhpn.js"),
14142
- import("./chunks/setup-worker-protocol-QUVpcuEb.js").then((n) => n.w)
14315
+ import("./chunks/config-DSoKsgPT.js"),
14316
+ import("./chunks/setup-worker-protocol-CHVmPxBP.js").then((n) => n.x)
14143
14317
  ]);
14144
14318
  const apiUrl = getShortcutApiUrl2();
14145
14319
  const agentDir = config.getAgentDir();
@@ -18235,7 +18409,7 @@ const startupDiagnostics = createStartupDiagnosticWriter({
18235
18409
  resolveRemoteContext: (cwd, binding) => resolveDesktopStartupLogContext({ cwd, binding }),
18236
18410
  directory: join(app.getPath("userData"), "logs"),
18237
18411
  appVersion: app.getVersion(),
18238
- runtimeBundleVersion: "0.4.0",
18412
+ runtimeBundleVersion: "0.4.2",
18239
18413
  launchRoute: readLaunchArgument("shortcut-runtime-cli") ? "explicit" : app.isPackaged ? "packaged" : "unpackaged"
18240
18414
  });
18241
18415
  const agents = new AgentProcessManager({
@@ -18251,7 +18425,7 @@ const fileMentions = new FileMentionSearchService();
18251
18425
  let mainWindow = null;
18252
18426
  let attachmentTempDirectory;
18253
18427
  const updateOptions = {
18254
- currentVersion: "0.4.0",
18428
+ currentVersion: "0.4.2",
18255
18429
  offline: isTruthyEnvFlag(process.env.SHORTCUT_OFFLINE),
18256
18430
  skipCheck: isTruthyEnvFlag(process.env.SHORTCUT_SKIP_VERSION_CHECK),
18257
18431
  onNotice: (notice) => mainWindow?.webContents.send(AgentIpcChannel.UpdateNoticeEvent, notice)
@@ -18271,7 +18445,7 @@ const setup = new AppSetupManager({
18271
18445
  });
18272
18446
  const deviceRunner = createDeviceRunnerService({
18273
18447
  userDataDir: app.getPath("userData"),
18274
- appVersion: "0.4.0",
18448
+ appVersion: "0.4.2",
18275
18449
  nodePath: process.execPath,
18276
18450
  cliPath: runtimeLayout.cliPath,
18277
18451
  defaultRuntimeDir: join(process.resourcesPath, "automation-runtime"),
@@ -18524,7 +18698,7 @@ function createWindow() {
18524
18698
  `${JSON.stringify({
18525
18699
  appReady: true,
18526
18700
  packaged: app.isPackaged,
18527
- version: "0.4.0",
18701
+ version: "0.4.2",
18528
18702
  runtimeCliPath: runtimeLayout.cliPath,
18529
18703
  runtimeExists: existsSync$1(runtimeLayout.cliPath)
18530
18704
  })}
@@ -1,6 +1,6 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import "node:fs";
3
- import { c as chalk, k as getStableXllDir, a as getPackageDir, V as VERSION, l as getXllPath, g as getAgentDir, m as getEmbeddedPythonExe, n as getWordBridgePath, o as getPowerPointBridgePath, p as isInstalled, q as isSourceCheckout, r as isSetupWorkerResponse } from "./chunks/setup-worker-protocol-QUVpcuEb.js";
3
+ import { c as chalk, l as getStableXllDir, a as getPackageDir, V as VERSION, m as getXllPath, g as getAgentDir, n as getEmbeddedPythonExe, o as getWordBridgePath, p as getPowerPointBridgePath, q as isInstalled, r as isSourceCheckout, s as isSetupWorkerResponse } from "./chunks/setup-worker-protocol-CHVmPxBP.js";
4
4
  import { spawn, spawnSync } from "child_process";
5
5
  import { createInterface } from "readline";
6
6
  import { existsSync, readdirSync, mkdirSync, readFileSync, writeFileSync, rmSync, unlinkSync, statSync, copyFileSync, utimesSync, openSync, readSync, closeSync } from "fs";
@@ -167,7 +167,7 @@ async function runPreflight(options = {}) {
167
167
  let passed;
168
168
  let diagnostics;
169
169
  if (process.platform === "darwin") {
170
- const mac = await import("./chunks/mac-Bt_bFwUg.js");
170
+ const mac = await import("./chunks/mac-Dg93p_2s.js");
171
171
  const uvReady = await mac.ensureUv();
172
172
  if (uvReady) {
173
173
  const pythonReady = await mac.ensureUvPython();
@@ -179,7 +179,7 @@ async function runPreflight(options = {}) {
179
179
  mac.ensureNewSheet();
180
180
  passed = mac.smokeTestSheetEngine();
181
181
  } else if (process.platform === "linux") {
182
- const linux = await import("./chunks/linux-C5J5oKJy.js");
182
+ const linux = await import("./chunks/linux-TBGGGecs.js");
183
183
  const uvReady = await linux.ensureUv();
184
184
  if (uvReady) {
185
185
  const pythonReady = await linux.ensureUvPython();
@@ -4,5 +4,5 @@
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "main": "main/index.js",
7
- "version": "0.4.0"
7
+ "version": "0.4.2"
8
8
  }