@cmmd-center/forge 0.13.86 → 0.13.88

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 (24) hide show
  1. package/dist/bin.cjs +19 -5
  2. package/dist/bin.mjs +43 -29
  3. package/dist/client/assets/{CanvasPanel-Dyho_JDo.js → CanvasPanel-D9NzolmF.js} +3 -3
  4. package/dist/client/assets/{CompositeItem-DeDhuBZB.js → CompositeItem-DU4kdAw6.js} +2 -2
  5. package/dist/client/assets/{DiffPanel-Wwck4i4x.js → DiffPanel-CYNKb6rV.js} +3 -3
  6. package/dist/client/assets/{DiffPanel.logic-vZA-EEq9.js → DiffPanel.logic-C2oTg0F3.js} +2 -2
  7. package/dist/client/assets/{DiffWorkerPoolProvider-nJtWq5CX.js → DiffWorkerPoolProvider-D2jrFGJ8.js} +12 -12
  8. package/dist/client/assets/{PullRequestCodePanel-CQIqU8rk.js → PullRequestCodePanel-V2Hpw_yq.js} +3 -3
  9. package/dist/client/assets/{Virtualizer-fUDByMp-.js → Virtualizer-CRqhCU4I.js} +2 -2
  10. package/dist/client/assets/WorkerPoolContext-BwqlIoS2.js +2540 -0
  11. package/dist/client/assets/{canvasStateStore-DJ_OzrrC.js → canvasStateStore-CBQkAlnK.js} +2 -2
  12. package/dist/client/assets/{cmmdAuthRedirect-Bqx90tp9.js → cmmdAuthRedirect-CCwq2L-I.js} +2 -2
  13. package/dist/client/assets/index-BdKqG5iV.js +153 -0
  14. package/dist/client/assets/index-BvseDV5h.css +1 -0
  15. package/dist/client/assets/{popover-D20eY2oM.js → popover-DJpPSHsy.js} +2 -2
  16. package/dist/client/assets/{src-CoTxmdk3.js → src-CF8xm6xH.js} +2 -2
  17. package/dist/client/assets/{toggle-AqC0QUc1.js → toggle-Bv2GfLGu.js} +2 -2
  18. package/dist/client/index.html +11 -11
  19. package/dist/forge-build.json +1 -1
  20. package/dist/{open-2-reBrpv.mjs → open-yHTUkd2Y.mjs} +3 -3
  21. package/package.json +1 -1
  22. package/dist/client/assets/WorkerPoolContext-DzmFrufP.js +0 -2537
  23. package/dist/client/assets/index-C-3BZaMd.css +0 -1
  24. package/dist/client/assets/index-CRLdcQMd.js +0 -153
package/dist/bin.cjs CHANGED
@@ -22535,6 +22535,16 @@ const TerminalFontSize = require_Schema$1.Int.check(require_Schema$1.isGreaterTh
22535
22535
  const FontFamilyPreference = require_Schema$1.String.check(require_Schema$1.isMaxLength(200));
22536
22536
  const AutoSettleAfterDays = require_Schema$1.NullOr(require_Schema$1.Int.check(require_Schema$1.isGreaterThanOrEqualTo(1)).check(require_Schema$1.isLessThanOrEqualTo(90)));
22537
22537
  const GlassOpacity = require_Schema$1.Int.check(require_Schema$1.isGreaterThanOrEqualTo(40)).check(require_Schema$1.isLessThanOrEqualTo(100));
22538
+ /**
22539
+ * Interface contrast, in percent of the shipped look. 100 disables mixing;
22540
+ * above it the `--contrast-*` axis in `apps/web/src/index.css` raises text
22541
+ * and border contrast from the semantic roles, below it softens them.
22542
+ * Upstream's axis and bounds, adopted by the token union.
22543
+ */
22544
+ const AppearanceContrast = require_Schema$1.Int.check(require_Schema$1.isBetween({
22545
+ minimum: 50,
22546
+ maximum: 200
22547
+ }));
22538
22548
  const ClientSettingsSchema = require_Schema$1.Struct({
22539
22549
  theme: ThemePreference.pipe(require_Schema$1.withDecodingDefault(require_Schema$1.succeed("system"))),
22540
22550
  themeId: ThemeId,
@@ -22550,6 +22560,7 @@ const ClientSettingsSchema = require_Schema$1.Struct({
22550
22560
  fontSmoothing: require_Schema$1.Boolean.pipe(require_Schema$1.withDecodingDefault(require_Schema$1.succeed(true))),
22551
22561
  sidebarAutoSettleAfterDays: AutoSettleAfterDays.pipe(require_Schema$1.withDecodingDefault(require_Schema$1.succeed(3))),
22552
22562
  glassOpacity: GlassOpacity.pipe(require_Schema$1.withDecodingDefault(require_Schema$1.succeed(80))),
22563
+ appearanceContrast: AppearanceContrast.pipe(require_Schema$1.withDecodingDefault(require_Schema$1.succeed(100))),
22553
22564
  confirmThreadArchive: require_Schema$1.Boolean.pipe(require_Schema$1.withDecodingDefault(require_Schema$1.succeed(true))),
22554
22565
  confirmThreadDelete: require_Schema$1.Boolean.pipe(require_Schema$1.withDecodingDefault(require_Schema$1.succeed(true))),
22555
22566
  showInteractionModeToggle: require_Schema$1.Boolean.pipe(require_Schema$1.withDecodingDefault(require_Schema$1.succeed(false))),
@@ -66285,7 +66296,7 @@ function normalizeNumberish(value) {
66285
66296
  }
66286
66297
  //#endregion
66287
66298
  //#region package.json
66288
- var version$1 = "0.13.86";
66299
+ var version$1 = "0.13.88";
66289
66300
  //#endregion
66290
66301
  //#region src/sentry.ts
66291
66302
  const SERVER_APP_NAME = "forge-server";
@@ -68375,7 +68386,8 @@ const CommandOAuthTokenInput = require_Schema$1.Struct({
68375
68386
  });
68376
68387
  const CommandPasswordTokenInput = require_Schema$1.Struct({
68377
68388
  email: require_Schema$1.String,
68378
- password: require_Schema$1.String
68389
+ password: require_Schema$1.String,
68390
+ pop_public_key: require_Schema$1.optionalKey(require_Schema$1.String)
68379
68391
  });
68380
68392
  const PASSWORD_LOGIN_OAUTH_STATE = "password-login";
68381
68393
  function parseCookieHeader(cookieHeader) {
@@ -68525,7 +68537,8 @@ function exchangeCmmdPasswordForOAuthToken(input) {
68525
68537
  code: authorizationCode,
68526
68538
  client_id: "cmmd-forge-web",
68527
68539
  redirect_uri: input.redirectUri,
68528
- code_verifier: pkce.verifier
68540
+ code_verifier: pkce.verifier,
68541
+ ...input.popPublicKey ? { pop_public_key: input.popPublicKey } : {}
68529
68542
  })
68530
68543
  }),
68531
68544
  catch: (cause) => new AuthError({
@@ -69090,7 +69103,8 @@ const authCmmdPasswordTokenRouteLayer = add$1("POST", "/api/auth/cmmd-password/t
69090
69103
  const tokenBundle = yield* exchangeCmmdPasswordForOAuthToken({
69091
69104
  email,
69092
69105
  password: payload.password,
69093
- redirectUri: `${publicUrl}/api/auth/callback`
69106
+ redirectUri: `${publicUrl}/api/auth/callback`,
69107
+ ...payload.pop_public_key ? { popPublicKey: payload.pop_public_key } : {}
69094
69108
  });
69095
69109
  if (serverAuth.isForgeCloudShell?.() === true) return yield* completeCloudOwnerPasswordLogin({
69096
69110
  serverAuth,
@@ -299349,7 +299363,7 @@ function resolveBuildCommitFromEnv(env) {
299349
299363
  * environment descriptor down instead of reporting an honest "unknown".
299350
299364
  */
299351
299365
  function readBakedBuildCommit() {
299352
- return "b726dc0715d7fc4d6960c398f8a75f1ce9ece432";
299366
+ return "60b0a6baf90436ed3291c93ac0273567a58cd02e";
299353
299367
  }
299354
299368
  async function resolveServerBuildCommit(input) {
299355
299369
  if (isFullCommitSha(input.baked)) return input.baked;
package/dist/bin.mjs CHANGED
@@ -23,7 +23,7 @@ import { createCipheriv, createDecipheriv, createHash, createHmac, createPublicK
23
23
  import * as FS$1 from "node:fs";
24
24
  import fs, { accessSync, chmodSync, constants, createReadStream, existsSync, mkdirSync, mkdtempSync, promises, readFile, readFileSync, readdir, readdirSync, realpathSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
25
25
  import * as NodeOS from "node:os";
26
- import $U, { homedir, networkInterfaces, tmpdir } from "node:os";
26
+ import os, { homedir, networkInterfaces, tmpdir } from "node:os";
27
27
  import * as Path$1 from "node:path";
28
28
  import path, { basename, delimiter, dirname, extname, isAbsolute, join, posix, relative, resolve, sep } from "node:path";
29
29
  import { pathToFileURL } from "node:url";
@@ -22352,6 +22352,16 @@ const TerminalFontSize = Int$1.check(isGreaterThanOrEqualTo(8)).check(isLessThan
22352
22352
  const FontFamilyPreference = String$1.check(isMaxLength(200));
22353
22353
  const AutoSettleAfterDays = NullOr(Int$1.check(isGreaterThanOrEqualTo(1)).check(isLessThanOrEqualTo(90)));
22354
22354
  const GlassOpacity = Int$1.check(isGreaterThanOrEqualTo(40)).check(isLessThanOrEqualTo(100));
22355
+ /**
22356
+ * Interface contrast, in percent of the shipped look. 100 disables mixing;
22357
+ * above it the `--contrast-*` axis in `apps/web/src/index.css` raises text
22358
+ * and border contrast from the semantic roles, below it softens them.
22359
+ * Upstream's axis and bounds, adopted by the token union.
22360
+ */
22361
+ const AppearanceContrast = Int$1.check(isBetween({
22362
+ minimum: 50,
22363
+ maximum: 200
22364
+ }));
22355
22365
  const DEFAULT_CLIENT_SETTINGS = decodeSync(Struct({
22356
22366
  theme: ThemePreference.pipe(withDecodingDefault(succeed("system"))),
22357
22367
  themeId: ThemeId,
@@ -22367,6 +22377,7 @@ const DEFAULT_CLIENT_SETTINGS = decodeSync(Struct({
22367
22377
  fontSmoothing: Boolean$1.pipe(withDecodingDefault(succeed(true))),
22368
22378
  sidebarAutoSettleAfterDays: AutoSettleAfterDays.pipe(withDecodingDefault(succeed(3))),
22369
22379
  glassOpacity: GlassOpacity.pipe(withDecodingDefault(succeed(80))),
22380
+ appearanceContrast: AppearanceContrast.pipe(withDecodingDefault(succeed(100))),
22370
22381
  confirmThreadArchive: Boolean$1.pipe(withDecodingDefault(succeed(true))),
22371
22382
  confirmThreadDelete: Boolean$1.pipe(withDecodingDefault(succeed(true))),
22372
22383
  showInteractionModeToggle: Boolean$1.pipe(withDecodingDefault(succeed(false))),
@@ -50606,7 +50617,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
50606
50617
  const min = forceColor || 0;
50607
50618
  if (env.TERM === "dumb") return min;
50608
50619
  if (process$1.platform === "win32") {
50609
- const osRelease = $U.release().split(".");
50620
+ const osRelease = os.release().split(".");
50610
50621
  if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) return Number(osRelease[2]) >= 14931 ? 3 : 2;
50611
50622
  return 1;
50612
50623
  }
@@ -53049,7 +53060,7 @@ var require_ProcessDetector = /* @__PURE__ */ __commonJSMin(((exports) => {
53049
53060
  exports.processDetector = void 0;
53050
53061
  const api_1 = (init_esm$1(), __toCommonJS(esm_exports$1));
53051
53062
  const semconv_1 = require_semconv$1();
53052
- const os$3 = __require("os");
53063
+ const os$4 = __require("os");
53053
53064
  /**
53054
53065
  * ProcessDetector will be used to detect the resources related current process running
53055
53066
  * and being instrumented from the NodeJS Process module.
@@ -53071,7 +53082,7 @@ var require_ProcessDetector = /* @__PURE__ */ __commonJSMin(((exports) => {
53071
53082
  };
53072
53083
  if (process.argv.length > 1) attributes[semconv_1.ATTR_PROCESS_COMMAND] = process.argv[1];
53073
53084
  try {
53074
- const userInfo = os$3.userInfo();
53085
+ const userInfo = os$4.userInfo();
53075
53086
  attributes[semconv_1.ATTR_PROCESS_OWNER] = userInfo.username;
53076
53087
  } catch (e) {
53077
53088
  api_1.diag.debug(`error obtaining process owner: ${e}`);
@@ -65994,7 +66005,7 @@ function normalizeNumberish(value) {
65994
66005
  }
65995
66006
  //#endregion
65996
66007
  //#region package.json
65997
- var version$1 = "0.13.86";
66008
+ var version$1 = "0.13.88";
65998
66009
  //#endregion
65999
66010
  //#region src/sentry.ts
66000
66011
  const SERVER_APP_NAME = "forge-server";
@@ -68083,7 +68094,8 @@ const CommandOAuthTokenInput = Struct({
68083
68094
  });
68084
68095
  const CommandPasswordTokenInput = Struct({
68085
68096
  email: String$1,
68086
- password: String$1
68097
+ password: String$1,
68098
+ pop_public_key: optionalKey(String$1)
68087
68099
  });
68088
68100
  const PASSWORD_LOGIN_OAUTH_STATE = "password-login";
68089
68101
  function parseCookieHeader(cookieHeader) {
@@ -68233,7 +68245,8 @@ function exchangeCmmdPasswordForOAuthToken(input) {
68233
68245
  code: authorizationCode,
68234
68246
  client_id: "cmmd-forge-web",
68235
68247
  redirect_uri: input.redirectUri,
68236
- code_verifier: pkce.verifier
68248
+ code_verifier: pkce.verifier,
68249
+ ...input.popPublicKey ? { pop_public_key: input.popPublicKey } : {}
68237
68250
  })
68238
68251
  }),
68239
68252
  catch: (cause) => new AuthError({
@@ -68798,7 +68811,8 @@ const authCmmdPasswordTokenRouteLayer = add$1("POST", "/api/auth/cmmd-password/t
68798
68811
  const tokenBundle = yield* exchangeCmmdPasswordForOAuthToken({
68799
68812
  email,
68800
68813
  password: payload.password,
68801
- redirectUri: `${publicUrl}/api/auth/callback`
68814
+ redirectUri: `${publicUrl}/api/auth/callback`,
68815
+ ...payload.pop_public_key ? { popPublicKey: payload.pop_public_key } : {}
68802
68816
  });
68803
68817
  if (serverAuth.isForgeCloudShell?.() === true) return yield* completeCloudOwnerPasswordLogin({
68804
68818
  serverAuth,
@@ -76037,7 +76051,7 @@ var require_node_gyp_build = /* @__PURE__ */ __commonJSMin(((exports, module) =>
76037
76051
  var fs$6 = __require("fs");
76038
76052
  var path$5 = __require("path");
76039
76053
  var url$1 = __require("url");
76040
- var os$2 = __require("os");
76054
+ var os$3 = __require("os");
76041
76055
  var runtimeRequire = typeof __webpack_require__ === "function" ? __non_webpack_require__ : __require;
76042
76056
  var vars = process.config && process.config.variables || {};
76043
76057
  var prebuildsOnly = !!process.env.PREBUILDS_ONLY;
@@ -76045,8 +76059,8 @@ var require_node_gyp_build = /* @__PURE__ */ __commonJSMin(((exports, module) =>
76045
76059
  var abi = versions.modules;
76046
76060
  if (versions.deno || process.isBun) abi = "unsupported";
76047
76061
  var runtime = isElectron() ? "electron" : isNwjs() ? "node-webkit" : "node";
76048
- var arch = process.env.npm_config_arch || os$2.arch();
76049
- var platform = process.env.npm_config_platform || os$2.platform();
76062
+ var arch = process.env.npm_config_arch || os$3.arch();
76063
+ var platform = process.env.npm_config_platform || os$3.platform();
76050
76064
  var libc = process.env.LIBC || (isMusl(platform) ? "musl" : "glibc");
76051
76065
  var armv = process.env.ARM_VERSION || (arch === "arm64" ? "8" : vars.arm_version) || "";
76052
76066
  var uv = (versions.uv || "").split(".")[0];
@@ -93879,7 +93893,7 @@ const launchDetached = (launch) => gen(function* () {
93879
93893
  });
93880
93894
  const OpenLive = effect(Open, gen(function* () {
93881
93895
  const open = yield* tryPromise({
93882
- try: () => import("./open-2-reBrpv.mjs"),
93896
+ try: () => import("./open-yHTUkd2Y.mjs"),
93883
93897
  catch: (cause) => new OpenError$1({
93884
93898
  message: "failed to load browser opener",
93885
93899
  cause
@@ -191818,7 +191832,7 @@ var Vce = {
191818
191832
  function Ve() {
191819
191833
  return Vce;
191820
191834
  }
191821
- var Us = $U.homedir(), lk = $U.tmpdir(), { env: Vc } = process$1, Yce = (e) => {
191835
+ var Us = os.homedir(), lk = os.tmpdir(), { env: Vc } = process$1, Yce = (e) => {
191822
191836
  let t = path.join(Us, "Library");
191823
191837
  return {
191824
191838
  data: path.join(t, "Application Support", e),
@@ -202018,12 +202032,12 @@ function qZ(e, t) {
202018
202032
  }
202019
202033
  return n;
202020
202034
  }
202021
- var os$1 = "https://code.claude.com/docs/en", kKe = [
202035
+ var os$2 = "https://code.claude.com/docs/en", kKe = [
202022
202036
  {
202023
202037
  matches: (e) => e.path === "permissions.defaultMode" && e.code === "invalid_value",
202024
202038
  tip: {
202025
202039
  suggestion: "Valid modes: \"acceptEdits\" (ask before file changes), \"plan\" (analysis only), \"bypassPermissions\" (auto-accept all), or \"default\" (standard behavior)",
202026
- docLink: `${os$1}/iam#permission-modes`
202040
+ docLink: `${os$2}/iam#permission-modes`
202027
202041
  }
202028
202042
  },
202029
202043
  {
@@ -202038,7 +202052,7 @@ var os$1 = "https://code.claude.com/docs/en", kKe = [
202038
202052
  matches: (e) => e.path.startsWith("env.") && e.code === "invalid_type",
202039
202053
  tip: {
202040
202054
  suggestion: "Environment variables must be strings. Wrap numbers and booleans in quotes. Example: \"DEBUG\": \"true\", \"PORT\": \"3000\"",
202041
- docLink: `${os$1}/settings#environment-variables`
202055
+ docLink: `${os$2}/settings#environment-variables`
202042
202056
  }
202043
202057
  },
202044
202058
  {
@@ -202049,14 +202063,14 @@ var os$1 = "https://code.claude.com/docs/en", kKe = [
202049
202063
  matches: (e) => e.path.startsWith("hooks.") && e.code === "invalid_key",
202050
202064
  tip: {
202051
202065
  suggestion: "Not a recognized hook event. Common events: PreToolUse, PostToolUse, UserPromptSubmit, SessionStart, SessionEnd, Stop. Check spelling and capitalization.",
202052
- docLink: `${os$1}/hooks`
202066
+ docLink: `${os$2}/hooks`
202053
202067
  }
202054
202068
  },
202055
202069
  {
202056
202070
  matches: (e) => /\.hooks\.\d+\.command$/.test(e.path) && e.code === "invalid_type" && e.received === "undefined",
202057
202071
  tip: {
202058
202072
  suggestion: "Command hooks require `command`. For exec form (no shell), set `command` to the executable and `args` to its arguments: {\"type\": \"command\", \"command\": \"echo\", \"args\": [\"hi\"]}. For shell form, set `command` to the full shell string: {\"type\": \"command\", \"command\": \"echo hi\"}.",
202059
- docLink: `${os$1}/hooks#exec-form-and-shell-form`
202073
+ docLink: `${os$2}/hooks#exec-form-and-shell-form`
202060
202074
  }
202061
202075
  },
202062
202076
  {
@@ -202071,7 +202085,7 @@ var os$1 = "https://code.claude.com/docs/en", kKe = [
202071
202085
  matches: (e) => e.code === "unrecognized_keys",
202072
202086
  tip: {
202073
202087
  suggestion: "Check for typos or refer to the documentation for valid fields",
202074
- docLink: `${os$1}/settings`
202088
+ docLink: `${os$2}/settings`
202075
202089
  }
202076
202090
  },
202077
202091
  {
@@ -202086,13 +202100,13 @@ var os$1 = "https://code.claude.com/docs/en", kKe = [
202086
202100
  matches: (e) => e.path === "permissions.additionalDirectories" && e.code === "invalid_type",
202087
202101
  tip: {
202088
202102
  suggestion: "Must be an array of directory paths. Example: [\"~/projects\", \"/tmp/workspace\"]. You can also use --add-dir flag or /add-dir command",
202089
- docLink: `${os$1}/iam#working-directories`
202103
+ docLink: `${os$2}/iam#working-directories`
202090
202104
  }
202091
202105
  }
202092
202106
  ], AKe = {
202093
- permissions: `${os$1}/iam#configuring-permissions`,
202094
- env: `${os$1}/settings#environment-variables`,
202095
- hooks: `${os$1}/hooks`
202107
+ permissions: `${os$2}/iam#configuring-permissions`,
202108
+ env: `${os$2}/settings#environment-variables`,
202109
+ hooks: `${os$2}/hooks`
202096
202110
  };
202097
202111
  function GZ(e) {
202098
202112
  let t = kKe.find((r) => r.matches(e));
@@ -270321,7 +270335,7 @@ var import_multicast_dns = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMi
270321
270335
  var dgram = __require("dgram");
270322
270336
  var thunky = require_thunky();
270323
270337
  var events = __require("events");
270324
- var os = __require("os");
270338
+ var os$1 = __require("os");
270325
270339
  var noop = function() {};
270326
270340
  module.exports = function(opts) {
270327
270341
  if (!opts) opts = {};
@@ -270452,14 +270466,14 @@ var import_multicast_dns = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMi
270452
270466
  return that;
270453
270467
  };
270454
270468
  function defaultInterface() {
270455
- var networks = os.networkInterfaces();
270469
+ var networks = os$1.networkInterfaces();
270456
270470
  var names = Object.keys(networks);
270457
270471
  for (var i = 0; i < names.length; i++) {
270458
270472
  var net = networks[names[i]];
270459
270473
  for (var j = 0; j < net.length; j++) {
270460
270474
  var iface = net[j];
270461
270475
  if (isIPv4(iface.family) && !iface.internal) {
270462
- if (os.platform() === "darwin" && names[i] === "en0") return iface.address;
270476
+ if (os$1.platform() === "darwin" && names[i] === "en0") return iface.address;
270463
270477
  return "0.0.0.0";
270464
270478
  }
270465
270479
  }
@@ -270467,7 +270481,7 @@ var import_multicast_dns = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMi
270467
270481
  return "127.0.0.1";
270468
270482
  }
270469
270483
  function allInterfaces() {
270470
- var networks = os.networkInterfaces();
270484
+ var networks = os$1.networkInterfaces();
270471
270485
  var names = Object.keys(networks);
270472
270486
  var res = [];
270473
270487
  for (var i = 0; i < names.length; i++) {
@@ -298799,7 +298813,7 @@ function resolveBuildCommitFromEnv(env) {
298799
298813
  * environment descriptor down instead of reporting an honest "unknown".
298800
298814
  */
298801
298815
  function readBakedBuildCommit() {
298802
- return "b726dc0715d7fc4d6960c398f8a75f1ce9ece432";
298816
+ return "60b0a6baf90436ed3291c93ac0273567a58cd02e";
298803
298817
  }
298804
298818
  async function resolveServerBuildCommit(input) {
298805
298819
  if (isFullCommitSha(input.baked)) return input.baked;
@@ -323430,7 +323444,7 @@ const connectLoginCommand = make$34("login", {
323430
323444
  })).json();
323431
323445
  },
323432
323446
  openBrowser: async (url) => {
323433
- const open = (await import("./open-2-reBrpv.mjs")).default;
323447
+ const open = (await import("./open-yHTUkd2Y.mjs")).default;
323434
323448
  await open(url);
323435
323449
  return true;
323436
323450
  },