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.
- package/BINARY-INVENTORY.json +12 -12
- package/CHANGELOG.md +6 -0
- package/dist/app/agent-session-runtime-adapter.d.ts +5 -0
- package/dist/app/agent-session-runtime-adapter.js +7 -4
- package/dist/app/agent-session.d.ts +7 -2
- package/dist/app/agent-session.js +9 -5
- package/dist/app/observability/client-logging/client-logger.d.ts +2 -1
- package/dist/app/observability/client-logging/client-logger.js +11 -5
- package/dist/app/providers/model-resolver.d.ts +6 -0
- package/dist/app/providers/model-resolver.js +23 -20
- package/dist/app/services/user-context.d.ts +2 -0
- package/dist/app/services/user-context.js +4 -1
- package/dist/app/session/account-default-model.d.ts +33 -0
- package/dist/app/session/account-default-model.js +53 -0
- package/dist/app/session/model-manager.d.ts +15 -4
- package/dist/app/session/model-manager.js +23 -8
- package/dist/app/session/session-lifecycle.js +14 -12
- package/dist/cli.js +1892 -956
- package/dist/config.d.ts +13 -5
- package/dist/config.js +37 -23
- package/dist/contracts/model-stream.d.ts +5 -0
- package/dist/contracts/wire.d.ts +3 -1
- package/dist/core/agent-engine.d.ts +2 -1
- package/dist/core/agent-engine.js +3 -0
- package/dist/core/agent-loop.js +8 -2
- package/dist/core/core-types.d.ts +3 -1
- package/dist/core/session/compaction/compaction.d.ts +2 -0
- package/dist/core/session/compaction/compaction.js +3 -0
- package/dist/core/session/compaction-bridge.d.ts +2 -1
- package/dist/core/session/compaction-bridge.js +4 -1
- package/dist/embedded-agent/compaction-wiring.js +4 -1
- package/dist/embedded-agent/compose.js +12 -4
- package/dist/main.d.ts +7 -0
- package/dist/main.js +21 -17
- package/dist/rpc/rpc-host.js +7 -1
- package/dist/shell/interactive/auth-workflow.js +7 -1
- package/dist/shortcut-default-model.d.ts +30 -0
- package/dist/shortcut-default-model.js +86 -0
- package/dist/startup/terminal-update-flow.js +4 -1
- package/dist/startup/update-action.d.ts +17 -2
- package/dist/startup/update-action.js +114 -40
- package/dist/startup/update-diagnostics.d.ts +85 -0
- package/dist/startup/update-diagnostics.js +188 -0
- package/dist/startup/update-execution.d.ts +13 -1
- package/dist/startup/update-execution.js +205 -6
- package/dist/startup/update-installation.d.ts +55 -0
- package/dist/startup/update-installation.js +242 -0
- package/dist/startup/update-manager.d.ts +5 -0
- package/dist/startup/update-manager.js +23 -5
- package/dist/startup/update-verification.d.ts +87 -0
- package/dist/startup/update-verification.js +204 -0
- package/dist/supported-models.generated.js +1 -1
- package/native-app/main/chunks/{config-CwtqLhpn.js → config-DSoKsgPT.js} +1 -1
- package/native-app/main/chunks/{linux-C5J5oKJy.js → linux-TBGGGecs.js} +3 -3
- package/native-app/main/chunks/{mac-Bt_bFwUg.js → mac-Dg93p_2s.js} +3 -3
- package/native-app/main/chunks/{setup-worker-protocol-QUVpcuEb.js → setup-worker-protocol-CHVmPxBP.js} +54 -35
- package/native-app/main/chunks/{shared-Q59yhreZ.js → shared-BbAcLTbB.js} +1 -1
- package/native-app/main/index.js +190 -16
- package/native-app/main/setup-worker.js +3 -3
- package/native-app/package.json +1 -1
- package/native-app/renderer/assets/{index-DkKrXRl6.js → index-BJUrz0xE.js} +2210 -167
- package/native-app/renderer/assets/server-PLrRTws-.js +2689 -0
- package/native-app/renderer/index.html +1 -1
- package/package.json +1 -1
- package/xll/python/Lib/site-packages/httpx-0.28.1.dist-info/RECORD +1 -1
- package/xll/python/Lib/site-packages/idna-3.18.dist-info/RECORD +1 -1
- package/xll/python/Lib/site-packages/pip-26.2.dist-info/RECORD +3 -3
- package/xll/python/Lib/site-packages/pywin32-311.dist-info/RECORD +2 -2
- package/xll/python/Scripts/httpx.exe +0 -0
- package/xll/python/Scripts/idna.exe +0 -0
- package/xll/python/Scripts/pip.exe +0 -0
- package/xll/python/Scripts/pip3.13.exe +0 -0
- package/xll/python/Scripts/pip3.exe +0 -0
- package/xll/python/Scripts/pywin32_postinstall.exe +0 -0
- package/xll/python/Scripts/pywin32_testall.exe +0 -0
package/native-app/main/index.js
CHANGED
|
@@ -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
|
|
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:
|
|
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, {
|
|
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, {
|
|
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, {
|
|
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-
|
|
14142
|
-
import("./chunks/setup-worker-protocol-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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,
|
|
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-
|
|
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-
|
|
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();
|
package/native-app/package.json
CHANGED