@runweave/server-linux-x64 0.1.13 → 0.1.14

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 (80) hide show
  1. package/manifest.json +144 -144
  2. package/native.tar.gz +0 -0
  3. package/package.json +1 -1
  4. package/payload/app-server/build-info.json +3 -3
  5. package/payload/app-server/index.cjs +1 -1
  6. package/payload/backend/build-info.json +4 -4
  7. package/payload/backend/index.cjs +58 -20
  8. package/payload/frontend/dist/assets/{_baseUniq-VUz3u9LC.js → _baseUniq-BqvkeJO_.js} +1 -1
  9. package/payload/frontend/dist/assets/{access-DYX0dB6C.js → access-DdS0UJde.js} +1 -1
  10. package/payload/frontend/dist/assets/{advanced-CweRHp2W.js → advanced-BbcDBPNv.js} +1 -1
  11. package/payload/frontend/dist/assets/{appearance-494KUegR.js → appearance-BvmkpQdR.js} +1 -1
  12. package/payload/frontend/dist/assets/{arc-Z2kK66lq.js → arc-C0XOrQvn.js} +1 -1
  13. package/payload/frontend/dist/assets/{architectureDiagram-Q4EWVU46-qCVxxH3R.js → architectureDiagram-Q4EWVU46-BPP9wqzx.js} +1 -1
  14. package/payload/frontend/dist/assets/{blockDiagram-DXYQGD6D-BlIbAFEf.js → blockDiagram-DXYQGD6D-C-tmnyfm.js} +1 -1
  15. package/payload/frontend/dist/assets/{c4Diagram-AHTNJAMY-E3iDtEa4.js → c4Diagram-AHTNJAMY-C6uI9h_3.js} +1 -1
  16. package/payload/frontend/dist/assets/channel-DaIQFY7W.js +1 -0
  17. package/payload/frontend/dist/assets/{chunk-4BX2VUAB-BMmYQfLj.js → chunk-4BX2VUAB-CCI-uz3D.js} +1 -1
  18. package/payload/frontend/dist/assets/{chunk-4TB4RGXK-CWBrRDbS.js → chunk-4TB4RGXK-CqUM0_7D.js} +1 -1
  19. package/payload/frontend/dist/assets/{chunk-55IACEB6-B-RyyBnf.js → chunk-55IACEB6-DDxrCLKB.js} +1 -1
  20. package/payload/frontend/dist/assets/{chunk-EDXVE4YY-BKzU4TXS.js → chunk-EDXVE4YY-LwYMVaGh.js} +1 -1
  21. package/payload/frontend/dist/assets/{chunk-FMBD7UC4-n132OCI6.js → chunk-FMBD7UC4-CQR_-5z5.js} +1 -1
  22. package/payload/frontend/dist/assets/{chunk-OYMX7WX6-4b-D8G11.js → chunk-OYMX7WX6-DQ0IiFt5.js} +1 -1
  23. package/payload/frontend/dist/assets/{chunk-QZHKN3VN-C3zjki3z.js → chunk-QZHKN3VN-BPX4TBXp.js} +1 -1
  24. package/payload/frontend/dist/assets/{chunk-YZCP3GAM-Bi7S_JyD.js → chunk-YZCP3GAM-DqZhVlNy.js} +1 -1
  25. package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-TM6ckD19.js +1 -0
  26. package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-TM6ckD19.js +1 -0
  27. package/payload/frontend/dist/assets/clone-BoG338Z7.js +1 -0
  28. package/payload/frontend/dist/assets/{connection-DtjjR8IP.js → connection-ToakGqMm.js} +1 -1
  29. package/payload/frontend/dist/assets/{connections-BytUAh1Z.js → connections-DD38aD2_.js} +1 -1
  30. package/payload/frontend/dist/assets/{cose-bilkent-S5V4N54A-CDCFpAOm.js → cose-bilkent-S5V4N54A-Bi6kn4wb.js} +1 -1
  31. package/payload/frontend/dist/assets/{dagre-KV5264BT-DTQVpeTz.js → dagre-KV5264BT-D7PPmb_h.js} +1 -1
  32. package/payload/frontend/dist/assets/{desktop-BuftJPyE.js → desktop-D80mAqEi.js} +1 -1
  33. package/payload/frontend/dist/assets/{diagram-5BDNPKRD-ShI36c2G.js → diagram-5BDNPKRD-2Fg0LDFB.js} +1 -1
  34. package/payload/frontend/dist/assets/{diagram-G4DWMVQ6-BPxdrMgU.js → diagram-G4DWMVQ6-DDht1hGL.js} +1 -1
  35. package/payload/frontend/dist/assets/{diagram-MMDJMWI5-iwh0ZT7T.js → diagram-MMDJMWI5-_slCo5qd.js} +1 -1
  36. package/payload/frontend/dist/assets/{diagram-TYMM5635-CX2F4XD4.js → diagram-TYMM5635-BibhtXBj.js} +1 -1
  37. package/payload/frontend/dist/assets/{erDiagram-SMLLAGMA-DwXz5Tds.js → erDiagram-SMLLAGMA-Tb9JdHm7.js} +1 -1
  38. package/payload/frontend/dist/assets/{flowDiagram-DWJPFMVM-CVDi2XWl.js → flowDiagram-DWJPFMVM-DmV0VUHI.js} +1 -1
  39. package/payload/frontend/dist/assets/{ganttDiagram-T4ZO3ILL-DLuDUXuQ.js → ganttDiagram-T4ZO3ILL-boTSPZL8.js} +1 -1
  40. package/payload/frontend/dist/assets/{gitGraphDiagram-UUTBAWPF-DsqOAHKo.js → gitGraphDiagram-UUTBAWPF-3Akku_ak.js} +1 -1
  41. package/payload/frontend/dist/assets/{graph-6BysLM8d.js → graph-GAq0lcsb.js} +1 -1
  42. package/payload/frontend/dist/assets/{image-dI1rk_wX.js → image-PejzD76r.js} +1 -1
  43. package/payload/frontend/dist/assets/{index-CNnzZKYi.js → index-BBNE8InR.js} +5 -5
  44. package/payload/frontend/dist/assets/{infoDiagram-42DDH7IO-ByaP-F4m.js → infoDiagram-42DDH7IO-TrixGt-D.js} +1 -1
  45. package/payload/frontend/dist/assets/{ishikawaDiagram-UXIWVN3A-BbNJbxvT.js → ishikawaDiagram-UXIWVN3A-BYKU82ro.js} +1 -1
  46. package/payload/frontend/dist/assets/{journeyDiagram-VCZTEJTY-CrOVnF8b.js → journeyDiagram-VCZTEJTY-BL_50q1o.js} +1 -1
  47. package/payload/frontend/dist/assets/{kanban-definition-6JOO6SKY-B0uutGkA.js → kanban-definition-6JOO6SKY-Clxk3CDg.js} +1 -1
  48. package/payload/frontend/dist/assets/{layout-BNJKrH1C.js → layout-BbxLzgiJ.js} +1 -1
  49. package/payload/frontend/dist/assets/{linear-CzieEpVo.js → linear-DWemxXgm.js} +1 -1
  50. package/payload/frontend/dist/assets/{main-DPDWozNB.js → main-BHwOPARZ.js} +150 -150
  51. package/payload/frontend/dist/assets/{min-COzbZh0B.js → min-DIL93Hib.js} +1 -1
  52. package/payload/frontend/dist/assets/{mindmap-definition-QFDTVHPH-COtW2jp5.js → mindmap-definition-QFDTVHPH-DlfLczjR.js} +1 -1
  53. package/payload/frontend/dist/assets/{monitoring-VTNGzAyv.js → monitoring-B6pQ-P1J.js} +1 -1
  54. package/payload/frontend/dist/assets/{notifications-D-GW-TTF.js → notifications-B9lXATqv.js} +1 -1
  55. package/payload/frontend/dist/assets/{pieDiagram-DEJITSTG-EKQe1mDG.js → pieDiagram-DEJITSTG-BaU_H2x3.js} +1 -1
  56. package/payload/frontend/dist/assets/{quadrantDiagram-34T5L4WZ-UdkJN2GP.js → quadrantDiagram-34T5L4WZ-D3nVMaXv.js} +1 -1
  57. package/payload/frontend/dist/assets/{record-content-BMMqgX4o.js → record-content-Dn6GE_dv.js} +1 -1
  58. package/payload/frontend/dist/assets/{requirementDiagram-MS252O5E-DUp6aMLi.js → requirementDiagram-MS252O5E-C7J-xGnU.js} +1 -1
  59. package/payload/frontend/dist/assets/{sankeyDiagram-XADWPNL6-BEHbyQqG.js → sankeyDiagram-XADWPNL6-BAkualMS.js} +1 -1
  60. package/payload/frontend/dist/assets/{sequenceDiagram-FGHM5R23-DOidQGue.js → sequenceDiagram-FGHM5R23-BYWAdS9C.js} +1 -1
  61. package/payload/frontend/dist/assets/{stateDiagram-FHFEXIEX-D19ZNvzk.js → stateDiagram-FHFEXIEX-C3qD8m-7.js} +1 -1
  62. package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-C18IEkog.js +1 -0
  63. package/payload/frontend/dist/assets/{status-DgyGUiXv.js → status-MDvjSQ51.js} +1 -1
  64. package/payload/frontend/dist/assets/suiji-B6w3AzG7.js +1 -0
  65. package/payload/frontend/dist/assets/{svg-DaiBcNRS.js → svg-C0XZL3qU.js} +1 -1
  66. package/payload/frontend/dist/assets/{tabs-DPvaaQlw.js → tabs-Y-BEbPyW.js} +1 -1
  67. package/payload/frontend/dist/assets/{timeline-definition-GMOUNBTQ-DyZYnin1.js → timeline-definition-GMOUNBTQ-JER6Qyhn.js} +1 -1
  68. package/payload/frontend/dist/assets/{vennDiagram-DHZGUBPP-CvLT97Cb.js → vennDiagram-DHZGUBPP-kRp3Wh4r.js} +1 -1
  69. package/payload/frontend/dist/assets/{wardley-RL74JXVD-Bi_yW1_U.js → wardley-RL74JXVD-Dnh_rEyA.js} +1 -1
  70. package/payload/frontend/dist/assets/{wardleyDiagram-NUSXRM2D-Bg55_fJ7.js → wardleyDiagram-NUSXRM2D-DxiIy5IP.js} +1 -1
  71. package/payload/frontend/dist/assets/{xychartDiagram-5P7HB3ND-CgI-KDMY.js → xychartDiagram-5P7HB3ND-DcckHE39.js} +1 -1
  72. package/payload/frontend/dist/build-info.json +4 -4
  73. package/payload/frontend/dist/companion.html +1 -1
  74. package/payload/frontend/dist/index.html +2 -2
  75. package/payload/frontend/dist/assets/channel-CoPKff4t.js +0 -1
  76. package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-FUK_Ald7.js +0 -1
  77. package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-FUK_Ald7.js +0 -1
  78. package/payload/frontend/dist/assets/clone-ByE4QDPq.js +0 -1
  79. package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-BHG_Lyc2.js +0 -1
  80. package/payload/frontend/dist/assets/suiji-C9TumXnC.js +0 -1
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "version": "0.1.0",
3
- "buildId": "20261109T123037121Z-da67d523",
4
- "sourceRevision": "da67d523de925abb4f2b958f949fd50a3ac2b5bb",
3
+ "buildId": "20261109T213633400Z-9301bc5f",
4
+ "sourceRevision": "9301bc5fbeb157ec84245bf38efb0073647b86fe",
5
5
  "sourceDirty": false,
6
- "builtAt": "2026-11-09T12:30:37.121Z",
7
- "contentSha256": "fd2cc32d5678e48707cff4a53f44897eb73eb0eff1b7584fc1da101e402cb2a2"
6
+ "builtAt": "2026-11-09T21:36:33.400Z",
7
+ "contentSha256": "9206f699f02fa2889905044732d8ef8f84de3fe27d4d46d168895cb13b43d93d"
8
8
  }
@@ -1,4 +1,4 @@
1
- /* runweave:build-info */var __RUNWEAVE_BUILD_INFO__={"version":"0.1.0","buildId":"20261109T123037121Z-da67d523","sourceRevision":"da67d523de925abb4f2b958f949fd50a3ac2b5bb","sourceDirty":false,"builtAt":"2026-11-09T12:30:37.121Z","contentSha256":"fd2cc32d5678e48707cff4a53f44897eb73eb0eff1b7584fc1da101e402cb2a2"};
1
+ /* runweave:build-info */var __RUNWEAVE_BUILD_INFO__={"version":"0.1.0","buildId":"20261109T213633400Z-9301bc5f","sourceRevision":"9301bc5fbeb157ec84245bf38efb0073647b86fe","sourceDirty":false,"builtAt":"2026-11-09T21:36:33.400Z","contentSha256":"9206f699f02fa2889905044732d8ef8f84de3fe27d4d46d168895cb13b43d93d"};
2
2
  const __IMPORT_META_URL__ = require('url').pathToFileURL(__filename).href;
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -32074,7 +32074,7 @@ var require_websocket = __commonJS({
32074
32074
  var http4 = require("http");
32075
32075
  var net8 = require("net");
32076
32076
  var tls2 = require("tls");
32077
- var { randomBytes: randomBytes8, createHash: createHash48 } = require("crypto");
32077
+ var { randomBytes: randomBytes8, createHash: createHash49 } = require("crypto");
32078
32078
  var { Duplex, Readable: Readable2 } = require("stream");
32079
32079
  var { URL: URL2 } = require("url");
32080
32080
  var PerMessageDeflate = require_permessage_deflate();
@@ -32734,7 +32734,7 @@ var require_websocket = __commonJS({
32734
32734
  abortHandshake(websocket, socket, "Invalid Upgrade header");
32735
32735
  return;
32736
32736
  }
32737
- const digest7 = createHash48("sha1").update(key2 + GUID).digest("base64");
32737
+ const digest7 = createHash49("sha1").update(key2 + GUID).digest("base64");
32738
32738
  if (res.headers["sec-websocket-accept"] !== digest7) {
32739
32739
  abortHandshake(websocket, socket, "Invalid Sec-WebSocket-Accept header");
32740
32740
  return;
@@ -33101,7 +33101,7 @@ var require_websocket_server = __commonJS({
33101
33101
  var EventEmitter = require("events");
33102
33102
  var http4 = require("http");
33103
33103
  var { Duplex } = require("stream");
33104
- var { createHash: createHash48 } = require("crypto");
33104
+ var { createHash: createHash49 } = require("crypto");
33105
33105
  var extension = require_extension();
33106
33106
  var PerMessageDeflate = require_permessage_deflate();
33107
33107
  var subprotocol = require_subprotocol();
@@ -33402,7 +33402,7 @@ var require_websocket_server = __commonJS({
33402
33402
  );
33403
33403
  }
33404
33404
  if (this._state > RUNNING) return abortHandshake(socket, 503);
33405
- const digest7 = createHash48("sha1").update(key2 + GUID).digest("base64");
33405
+ const digest7 = createHash49("sha1").update(key2 + GUID).digest("base64");
33406
33406
  const headers = [
33407
33407
  "HTTP/1.1 101 Switching Protocols",
33408
33408
  "Upgrade: websocket",
@@ -112336,6 +112336,9 @@ function isRemoteBrowserProfileState(value) {
112336
112336
 
112337
112337
  // backend/src/remote/browser-bindings.ts
112338
112338
  var import_node_crypto55 = require("node:crypto");
112339
+ function matchesOwner(owner, binding) {
112340
+ return owner.desktopId === binding.desktopId && owner.hostId === binding.hostId && (owner.ownerKeyHash ? owner.ownerKeyHash === binding.ownerKeyHash : owner.ownerSessionId === binding.ownerSessionId);
112341
+ }
112339
112342
  var RemoteBrowserError = class extends Error {
112340
112343
  constructor(code, status, message2) {
112341
112344
  super(message2);
@@ -112348,10 +112351,10 @@ var DesktopBrowserBindings = class {
112348
112351
  this.sessions = sessions;
112349
112352
  }
112350
112353
  bindings = /* @__PURE__ */ new Map();
112351
- terminalBindings = /* @__PURE__ */ new Map();
112354
+ pendingSelection = Promise.resolve();
112352
112355
  capabilities = /* @__PURE__ */ new Map();
112353
112356
  async bind(ownerSessionId, input2) {
112354
- if (!input2 || input2.protocolVersion !== 2 || !/^[a-zA-Z0-9_-]{1,128}$/.test(input2.desktopId) || !/^[a-zA-Z0-9_-]{1,128}$/.test(input2.hostId) || !Number.isInteger(input2.generation) || input2.generation < 1 || !Number.isInteger(input2.reversePort) || input2.reversePort < 1 || input2.reversePort > 65535 || !/^[0-9a-f]{64}$/.test(input2.gatewayKey)) {
112357
+ if (!input2 || input2.protocolVersion !== 2 || !/^[a-zA-Z0-9_-]{1,128}$/.test(input2.desktopId) || !/^[a-zA-Z0-9_-]{1,128}$/.test(input2.hostId) || !Number.isInteger(input2.generation) || input2.generation < 1 || !Number.isInteger(input2.reversePort) || input2.reversePort < 1 || input2.reversePort > 65535 || !/^[0-9a-f]{64}$/.test(input2.gatewayKey) || input2.ownerKey !== void 0 && (typeof input2.ownerKey !== "string" || !/^[0-9a-f]{64}$/.test(input2.ownerKey))) {
112355
112358
  throw new RemoteBrowserError(
112356
112359
  "BROWSER_SCOPE_DENIED",
112357
112360
  400,
@@ -112379,10 +112382,11 @@ var DesktopBrowserBindings = class {
112379
112382
  "Desktop bridge identity does not match"
112380
112383
  );
112381
112384
  }
112385
+ const ownerKeyHash = input2.ownerKey ? (0, import_node_crypto55.createHash)("sha256").update(input2.ownerKey).digest("hex") : void 0;
112382
112386
  let existingId;
112383
112387
  for (const [id7, binding] of this.bindings) {
112384
- if (binding.ownerSessionId === ownerSessionId && binding.desktopId === input2.desktopId && binding.hostId === input2.hostId) {
112385
- if (binding.generation === input2.generation) existingId = id7;
112388
+ if ((binding.ownerSessionId === ownerSessionId || !!ownerKeyHash && binding.ownerKeyHash === ownerKeyHash) && binding.desktopId === input2.desktopId && binding.hostId === input2.hostId) {
112389
+ if (binding.ownerSessionId === ownerSessionId && binding.generation === input2.generation) existingId = id7;
112386
112390
  this.bindings.delete(id7);
112387
112391
  }
112388
112392
  }
@@ -112390,6 +112394,7 @@ var DesktopBrowserBindings = class {
112390
112394
  id: existingId ?? (0, import_node_crypto55.randomUUID)(),
112391
112395
  protocolVersion: 2,
112392
112396
  ownerSessionId,
112397
+ ownerKeyHash,
112393
112398
  desktopId: input2.desktopId,
112394
112399
  hostId: input2.hostId,
112395
112400
  generation: input2.generation,
@@ -112429,7 +112434,16 @@ var DesktopBrowserBindings = class {
112429
112434
  return this.liveBindings().filter((binding) => binding.ownerSessionId === ownerSessionId).map((binding) => this.publicBinding(binding));
112430
112435
  }
112431
112436
  select(ownerSessionId, terminalSessionId, bindingId) {
112432
- if (!this.sessions.getSession(terminalSessionId))
112437
+ const operation = this.pendingSelection.then(
112438
+ () => this.selectBinding(ownerSessionId, terminalSessionId, bindingId)
112439
+ );
112440
+ this.pendingSelection = operation.catch(() => {
112441
+ });
112442
+ return operation;
112443
+ }
112444
+ async selectBinding(ownerSessionId, terminalSessionId, bindingId) {
112445
+ const session = this.sessions.getSession(terminalSessionId);
112446
+ if (!session)
112433
112447
  throw new RemoteBrowserError(
112434
112448
  "BROWSER_SCOPE_DENIED",
112435
112449
  404,
@@ -112444,9 +112458,11 @@ var DesktopBrowserBindings = class {
112444
112458
  403,
112445
112459
  "Desktop binding is not owned by this session"
112446
112460
  );
112447
- const previous = this.terminalBindings.get(terminalSessionId);
112448
- if (previous && (previous.desktopId !== binding.desktopId || previous.hostId !== binding.hostId || previous.ownerSessionId !== binding.ownerSessionId) && this.liveBindings().some(
112449
- (candidate) => candidate.desktopId === previous.desktopId && candidate.hostId === previous.hostId && candidate.ownerSessionId === previous.ownerSessionId
112461
+ const previous = session.browserBinding;
112462
+ if (previous && matchesOwner(previous, binding) && previous.ownerKeyHash === binding.ownerKeyHash)
112463
+ return;
112464
+ if (previous && !matchesOwner(previous, binding) && this.liveBindings().some(
112465
+ (candidate) => matchesOwner(previous, candidate)
112450
112466
  )) {
112451
112467
  throw new RemoteBrowserError(
112452
112468
  "BROWSER_BINDING_CONFLICT",
@@ -112454,20 +112470,21 @@ var DesktopBrowserBindings = class {
112454
112470
  "Terminal already belongs to another desktop"
112455
112471
  );
112456
112472
  }
112457
- this.terminalBindings.set(terminalSessionId, {
112473
+ await this.sessions.updateSessionBrowserBinding(terminalSessionId, {
112458
112474
  desktopId: binding.desktopId,
112459
112475
  hostId: binding.hostId,
112460
- ownerSessionId: binding.ownerSessionId
112476
+ ownerSessionId: binding.ownerSessionId,
112477
+ ownerKeyHash: binding.ownerKeyHash
112461
112478
  });
112462
112479
  }
112463
112480
  selectedBinding(terminalSessionId) {
112464
112481
  const candidates = this.liveBindings();
112465
- const owner = this.terminalBindings.get(terminalSessionId);
112482
+ const owner = this.sessions.getSession(terminalSessionId)?.browserBinding;
112466
112483
  const selected = candidates.find(
112467
- (binding) => binding.desktopId === owner?.desktopId && binding.hostId === owner.hostId && binding.ownerSessionId === owner.ownerSessionId
112484
+ (binding) => !!owner && matchesOwner(owner, binding)
112468
112485
  );
112469
112486
  if (selected) return selected;
112470
- if (this.terminalBindings.has(terminalSessionId))
112487
+ if (owner)
112471
112488
  throw new RemoteBrowserError(
112472
112489
  "DESKTOP_UNAVAILABLE",
112473
112490
  503,
@@ -112753,14 +112770,14 @@ function registerRemoteBrowserRoutes(app, auth, sessions, requireTunnelAuth, bro
112753
112770
  }
112754
112771
  res.json(bindings.list(owner));
112755
112772
  });
112756
- app.put("/api/terminal/session/:id/browser/binding", requireAuth, (req, res) => {
112773
+ app.put("/api/terminal/session/:id/browser/binding", requireAuth, async (req, res) => {
112757
112774
  const owner = auth.verifyAccessToken(readBearerToken(req) ?? "")?.sessionId;
112758
112775
  if (!owner || typeof req.body?.bindingId !== "string") {
112759
112776
  res.sendStatus(400);
112760
112777
  return;
112761
112778
  }
112762
112779
  try {
112763
- bindings.select(owner, String(req.params.id), req.body.bindingId);
112780
+ await bindings.select(owner, String(req.params.id), req.body.bindingId);
112764
112781
  res.sendStatus(204);
112765
112782
  } catch (error2) {
112766
112783
  sendError(res, error2);
@@ -126832,6 +126849,7 @@ function toPersistedProject(project) {
126832
126849
  }
126833
126850
  function buildSessionRecord(persisted) {
126834
126851
  return {
126852
+ browserBinding: persisted.browserBinding,
126835
126853
  source: persisted.source,
126836
126854
  id: persisted.id,
126837
126855
  projectId: persisted.projectId,
@@ -126895,6 +126913,7 @@ function createRuntimeRecord(record3, options) {
126895
126913
  }
126896
126914
  function toPersistedSession(session) {
126897
126915
  return {
126916
+ browserBinding: session.browserBinding,
126898
126917
  source: session.source,
126899
126918
  id: session.id,
126900
126919
  projectId: session.projectId,
@@ -128612,6 +128631,13 @@ var TerminalManagerPanelOperations = class extends TerminalManagerSessionRuntime
128612
128631
  // backend/src/terminal/manager/manager.ts
128613
128632
  var TerminalSessionManager = class extends TerminalManagerPanelOperations {
128614
128633
  pendingSessionMove = Promise.resolve();
128634
+ async updateSessionBrowserBinding(terminalSessionId, owner) {
128635
+ const session = this.sessions.get(terminalSessionId);
128636
+ if (!session) throw new Error("Terminal session not found");
128637
+ const browserBinding = structuredClone(owner);
128638
+ await this.sessionStore.updateSessionBrowserBinding(terminalSessionId, browserBinding);
128639
+ session.browserBinding = browserBinding;
128640
+ }
128615
128641
  moveSession(terminalSessionId, projectId) {
128616
128642
  const operation = this.pendingSessionMove.then(async () => {
128617
128643
  const session = this.sessions.get(terminalSessionId);
@@ -130083,6 +130109,7 @@ var import_node_path116 = __toESM(require("node:path"), 1);
130083
130109
  var import_node_path115 = __toESM(require("node:path"), 1);
130084
130110
  function toMetadataRecord(session) {
130085
130111
  return {
130112
+ browserBinding: session.browserBinding,
130086
130113
  ptyHost: session.ptyHost,
130087
130114
  source: session.source,
130088
130115
  feishuNotificationState: session.feishuNotificationState,
@@ -130667,6 +130694,17 @@ var LowDbPanelStore = class extends LowDbScrollbackStore {
130667
130694
 
130668
130695
  // backend/src/terminal/store/lowdb-store.ts
130669
130696
  var LowDbTerminalSessionStore = class extends LowDbPanelStore {
130697
+ async updateSessionBrowserBinding(terminalSessionId, owner) {
130698
+ const browserBinding = structuredClone(owner);
130699
+ await this.enqueueWrite(async () => {
130700
+ const database = this.getDatabase();
130701
+ if (!database.data.sessions.some((session) => session.id === terminalSessionId))
130702
+ throw new Error("Terminal session not found");
130703
+ const sessions = database.data.sessions.map((session) => session.id === terminalSessionId ? { ...session, browserBinding } : session);
130704
+ await database.adapter.write({ ...database.data, sessions });
130705
+ database.data.sessions = sessions;
130706
+ });
130707
+ }
130670
130708
  async moveSession(terminalSessionId, projectId, orderedIds) {
130671
130709
  await this.enqueueWrite(async () => {
130672
130710
  const database = this.getDatabase();
@@ -1 +1 @@
1
- import{aY as L,bm as ln,aI as A,aW as P,aH as W,bn as gn,bo as dn,bp as hn,bq as z,br as pn,bs as An,bt as m,aZ as N,b2 as U,b5 as T,bu as _n,b0 as on,bv as wn,bw as On,aJ as V,bx as vn,by as R}from"./index-CNnzZKYi.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function bn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var B=P?P.prototype:void 0,H=B?B.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return bn(n,k)+"";if(x(n))return H?H.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(){}function En(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function In(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function Rn(n,r,e){return r===r?In(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&Rn(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Dn=/\\(\\)?/g,Fn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Dn,"$1"):i||e)}),r});function Gn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Fn(Gn(n))}function I(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[I(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var K=P?P.isConcatSpreadable:void 0;function Nn(n){return A(n)||z(n)||!!(K&&n&&n[K])}function Kr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Un(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Bn(){return[]}var Hn=Object.prototype,Kn=Hn.propertyIsEnumerable,q=Object.getOwnPropertySymbols,qn=q?function(n){return n==null?[]:(n=Object(n),en(q(n),function(r){return Kn.call(n,r)}))}:Bn;function Zn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function Z(n){return Zn(n,M,qn)}var Yn="__lodash_hash_undefined__";function Jn(n){return this.__data__.set(n,Yn),this}function Xn(n){return this.__data__.has(n)}function b(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}b.prototype.add=b.prototype.push=Jn;b.prototype.has=Xn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new b:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Qn(r,function(O,v){if(!tn(o,v)&&(p===O||f(p,O,e,i,t)))return o.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",Y=P?P.prototype:void 0,S=Y?Y.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=Z(n),a=u.length,h=Z(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],v=r[d];if(i)var G=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(G===void 0?O===v||f(O,v,e,i,t):G)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var y=n.constructor,E=r.constructor;y!=E&&"constructor"in n&&"constructor"in r&&!(typeof y=="function"&&y instanceof y&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,J="[object Arguments]",X="[object Array]",c="[object Object]",wr=Object.prototype,Q=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?X:N(n),h=u?X:N(r);a=a==J?c:a,h=h==J?c:h;var g=a==c,l=h==c,d=a==h;if(d&&U(n)){if(!U(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function D(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Or(n,r,e,i,D,f)}var vr=1,Pr=2;function br(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?D(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function yr(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function Er(n){var r=yr(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||br(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=I(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Ir(n,r){return n!=null&&Tr(n,r,cr)}var Rr=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(I(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Ir(e,n):D(r,i,Rr|Sr)}}function xr(n){return function(r){return r==null?void 0:r[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(I(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):Er(n):$r(n)}function Cr(n,r){return n&&vn(n,r,M)}function Dr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var F=Dr(Cr);function Fr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?En:F;return e(n,Fr(r))}function Gr(n,r){var e=[];return F(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Zr(n,r){var e=A(n)?en:Gr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Yr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,F)}var Nr=1/0,Ur=R&&1/C(new R([,-0]))[1]==Nr?function(n){return new R(n)}:yn,Br=200;function Jr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Br){var h=r?null:Ur(n);if(h)return C(h);s=!1,f=tn,a=new b}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{F as a,Kr as b,an as c,bn as d,rn as e,Zn as f,qn as g,En as h,x as i,Z as j,M as k,Jr as l,Zr as m,qr as n,cn as o,Fr as p,Cr as q,Yr as r,Bn as s,Tr as t,j as u,I as v,nn as w,Ir as x,Gn as y};
1
+ import{aY as L,bm as ln,aI as A,aW as P,aH as W,bn as gn,bo as dn,bp as hn,bq as z,br as pn,bs as An,bt as m,aZ as N,b2 as U,b5 as T,bu as _n,b0 as on,bv as wn,bw as On,aJ as V,bx as vn,by as R}from"./index-BBNE8InR.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function bn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var B=P?P.prototype:void 0,H=B?B.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return bn(n,k)+"";if(x(n))return H?H.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(){}function En(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function In(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function Rn(n,r,e){return r===r?In(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&Rn(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Dn=/\\(\\)?/g,Fn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Dn,"$1"):i||e)}),r});function Gn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Fn(Gn(n))}function I(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[I(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var K=P?P.isConcatSpreadable:void 0;function Nn(n){return A(n)||z(n)||!!(K&&n&&n[K])}function Kr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Un(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Bn(){return[]}var Hn=Object.prototype,Kn=Hn.propertyIsEnumerable,q=Object.getOwnPropertySymbols,qn=q?function(n){return n==null?[]:(n=Object(n),en(q(n),function(r){return Kn.call(n,r)}))}:Bn;function Zn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function Z(n){return Zn(n,M,qn)}var Yn="__lodash_hash_undefined__";function Jn(n){return this.__data__.set(n,Yn),this}function Xn(n){return this.__data__.has(n)}function b(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}b.prototype.add=b.prototype.push=Jn;b.prototype.has=Xn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new b:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Qn(r,function(O,v){if(!tn(o,v)&&(p===O||f(p,O,e,i,t)))return o.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",Y=P?P.prototype:void 0,S=Y?Y.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=Z(n),a=u.length,h=Z(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],v=r[d];if(i)var G=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(G===void 0?O===v||f(O,v,e,i,t):G)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var y=n.constructor,E=r.constructor;y!=E&&"constructor"in n&&"constructor"in r&&!(typeof y=="function"&&y instanceof y&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,J="[object Arguments]",X="[object Array]",c="[object Object]",wr=Object.prototype,Q=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?X:N(n),h=u?X:N(r);a=a==J?c:a,h=h==J?c:h;var g=a==c,l=h==c,d=a==h;if(d&&U(n)){if(!U(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function D(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Or(n,r,e,i,D,f)}var vr=1,Pr=2;function br(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?D(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function yr(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function Er(n){var r=yr(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||br(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=I(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Ir(n,r){return n!=null&&Tr(n,r,cr)}var Rr=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(I(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Ir(e,n):D(r,i,Rr|Sr)}}function xr(n){return function(r){return r==null?void 0:r[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(I(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):Er(n):$r(n)}function Cr(n,r){return n&&vn(n,r,M)}function Dr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var F=Dr(Cr);function Fr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?En:F;return e(n,Fr(r))}function Gr(n,r){var e=[];return F(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Zr(n,r){var e=A(n)?en:Gr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Yr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,F)}var Nr=1/0,Ur=R&&1/C(new R([,-0]))[1]==Nr?function(n){return new R(n)}:yn,Br=200;function Jr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Br){var h=r?null:Ur(n);if(h)return C(h);s=!1,f=tn,a=new b}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{F as a,Kr as b,an as c,bn as d,rn as e,Zn as f,qn as g,En as h,x as i,Z as j,M as k,Jr as l,Zr as m,qr as n,cn as o,Fr as p,Cr as q,Yr as r,Bn as s,Tr as t,j as u,I as v,nn as w,Ir as x,Gn as y};
@@ -1 +1 @@
1
- import{j as t,r as i}from"./index-D9-cSGu-.js";import{d as r,e as c,C as u,f as d,h as p,M as m}from"./main-DPDWozNB.js";import{S as l}from"./tabs-DPvaaQlw.js";function g(){var a;const s=r(),e=d(s.connection,s.auth.token,s.auth.clearToken),{open:o,close:n}=e;return i.useEffect(()=>(o(),n),[o,n]),p(!1,e.busy&&((a=e.status)==null?void 0:a.state)==="pending_approval"||!!e.status&&["approved","issuing","issued"].includes(e.status.state)),t.jsx(m,{embedded:!0,controller:e,connectionName:e.connectionName})}function b(){const s=r(),e=new URLSearchParams(c().search).get("section")??"password";return t.jsxs(t.Fragment,{children:[t.jsx(l,{items:[["password","修改密码"],["mobile","连接手机"]],active:e}),e==="mobile"?s.connection?t.jsx(g,{}):t.jsx("p",{children:"请在桌面应用中选择电脑后连接手机。"}):t.jsx(u,{embedded:!0,apiBase:s.apiBase,token:s.auth.token,onAuthExpired:s.auth.clearToken})]})}export{b as default};
1
+ import{j as t,r as i}from"./index-D9-cSGu-.js";import{d as r,e as c,C as u,f as d,h as p,M as m}from"./main-BHwOPARZ.js";import{S as l}from"./tabs-Y-BEbPyW.js";function g(){var a;const s=r(),e=d(s.connection,s.auth.token,s.auth.clearToken),{open:o,close:n}=e;return i.useEffect(()=>(o(),n),[o,n]),p(!1,e.busy&&((a=e.status)==null?void 0:a.state)==="pending_approval"||!!e.status&&["approved","issuing","issued"].includes(e.status.state)),t.jsx(m,{embedded:!0,controller:e,connectionName:e.connectionName})}function b(){const s=r(),e=new URLSearchParams(c().search).get("section")??"password";return t.jsxs(t.Fragment,{children:[t.jsx(l,{items:[["password","修改密码"],["mobile","连接手机"]],active:e}),e==="mobile"?s.connection?t.jsx(g,{}):t.jsx("p",{children:"请在桌面应用中选择电脑后连接手机。"}):t.jsx(u,{embedded:!0,apiBase:s.apiBase,token:s.auth.token,onAuthExpired:s.auth.clearToken})]})}export{b as default};
@@ -1 +1 @@
1
- import{j as t}from"./index-D9-cSGu-.js";import{d as a,i as n}from"./main-DPDWozNB.js";function s(){const e=a();return t.jsx(n,{embedded:!0,apiBase:e.apiBase,token:e.auth.token,onAuthExpired:e.auth.clearToken})}export{s as default};
1
+ import{j as t}from"./index-D9-cSGu-.js";import{d as a,i as n}from"./main-BHwOPARZ.js";function s(){const e=a();return t.jsx(n,{embedded:!0,apiBase:e.apiBase,token:e.auth.token,onAuthExpired:e.auth.clearToken})}export{s as default};
@@ -1 +1 @@
1
- import{j as s}from"./index-D9-cSGu-.js";import{z as j,u as o,S as b,g as f,B as m,A as N,a as v}from"./main-DPDWozNB.js";function k(){const{theme:h,setTheme:p}=j(),n=o(e=>e.sidecarLayout),x=o(e=>e.sidecarLayoutError),t=b.filter(e=>{var a;return e.id!=="automation"||((a=window.electronAPI)==null?void 0:a.isElectron)}).map(e=>e.id),i=f(n,t),u=i,l=o.getState();return s.jsxs("div",{className:"space-y-4",children:[s.jsxs("section",{children:[s.jsx("h2",{className:"mb-2 font-medium",children:"主题"}),s.jsx("div",{className:"grid grid-cols-3 gap-2",children:[["light","浅色"],["dark","深色"],["system","跟随系统"]].map(([e,a])=>s.jsxs("button",{"aria-pressed":h===e,onClick:()=>p(e),className:`flex items-center gap-2 rounded-md border px-3 py-2 text-left ${h===e?"border-primary ring-1 ring-primary":""}`,children:[s.jsx("div",{className:`h-5 w-8 shrink-0 rounded border ${e==="light"?"bg-stone-100":e==="dark"?"bg-neutral-900":"bg-gradient-to-r from-stone-100 to-neutral-900"}`}),a]},e))})]}),s.jsxs("section",{children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[s.jsx("h2",{className:"font-medium",children:"右侧工具标签"}),s.jsx(m,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:l.resetSidecarLayout,children:"恢复默认"})]}),s.jsx("div",{className:"divide-y rounded-md border",children:n.order.map(e=>{const a=b.find(d=>d.id===e),c=i.includes(e),r=i.indexOf(e),g=t.includes(e);return s.jsxs("div",{className:"flex items-center gap-2 px-3 py-1",children:[s.jsx("span",{className:"flex-1",children:a.label}),s.jsx(m,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0","aria-label":`上移 ${a.label}`,disabled:!c||r<=0,onClick:()=>l.reorderSidecarTabs(t,r,r-1),children:s.jsx(N,{className:"size-4"})}),s.jsx(m,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0","aria-label":`下移 ${a.label}`,disabled:!c||r===i.length-1,onClick:()=>l.reorderSidecarTabs(t,r,r+1),children:s.jsx(v,{className:"size-4"})}),s.jsx("input",{type:"checkbox","aria-label":`显示 ${a.label}`,checked:!n.hidden.includes(e),disabled:!g||c&&u.length<=1,onChange:d=>l.setSidecarTabVisible(e,d.target.checked,t)})]},e)})}),x&&s.jsx("p",{role:"alert",className:"mt-3 text-sm text-destructive",children:x})]})]})}export{k as default};
1
+ import{j as s}from"./index-D9-cSGu-.js";import{z as j,u as o,S as b,g as f,B as m,A as N,a as v}from"./main-BHwOPARZ.js";function k(){const{theme:h,setTheme:p}=j(),n=o(e=>e.sidecarLayout),x=o(e=>e.sidecarLayoutError),t=b.filter(e=>{var a;return e.id!=="automation"||((a=window.electronAPI)==null?void 0:a.isElectron)}).map(e=>e.id),i=f(n,t),u=i,l=o.getState();return s.jsxs("div",{className:"space-y-4",children:[s.jsxs("section",{children:[s.jsx("h2",{className:"mb-2 font-medium",children:"主题"}),s.jsx("div",{className:"grid grid-cols-3 gap-2",children:[["light","浅色"],["dark","深色"],["system","跟随系统"]].map(([e,a])=>s.jsxs("button",{"aria-pressed":h===e,onClick:()=>p(e),className:`flex items-center gap-2 rounded-md border px-3 py-2 text-left ${h===e?"border-primary ring-1 ring-primary":""}`,children:[s.jsx("div",{className:`h-5 w-8 shrink-0 rounded border ${e==="light"?"bg-stone-100":e==="dark"?"bg-neutral-900":"bg-gradient-to-r from-stone-100 to-neutral-900"}`}),a]},e))})]}),s.jsxs("section",{children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[s.jsx("h2",{className:"font-medium",children:"右侧工具标签"}),s.jsx(m,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:l.resetSidecarLayout,children:"恢复默认"})]}),s.jsx("div",{className:"divide-y rounded-md border",children:n.order.map(e=>{const a=b.find(d=>d.id===e),c=i.includes(e),r=i.indexOf(e),g=t.includes(e);return s.jsxs("div",{className:"flex items-center gap-2 px-3 py-1",children:[s.jsx("span",{className:"flex-1",children:a.label}),s.jsx(m,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0","aria-label":`上移 ${a.label}`,disabled:!c||r<=0,onClick:()=>l.reorderSidecarTabs(t,r,r-1),children:s.jsx(N,{className:"size-4"})}),s.jsx(m,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0","aria-label":`下移 ${a.label}`,disabled:!c||r===i.length-1,onClick:()=>l.reorderSidecarTabs(t,r,r+1),children:s.jsx(v,{className:"size-4"})}),s.jsx("input",{type:"checkbox","aria-label":`显示 ${a.label}`,checked:!n.hidden.includes(e),disabled:!g||c&&u.length<=1,onChange:d=>l.setSidecarTabVisible(e,d.target.checked,t)})]},e)})}),x&&s.jsx("p",{role:"alert",className:"mt-3 text-sm text-destructive",children:x})]})]})}export{k as default};
@@ -1 +1 @@
1
- import{N as ln,O as an,P as Z,Q as O,S as V,T as un,V as y,W as tn,X as z,Y as _,Z as rn,$ as o,a0 as on,a1 as sn,a2 as fn}from"./index-CNnzZKYi.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,D,S,v,A,W,a){var E=D-l,i=S-h,n=W-v,d=a-A,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*E,h+u*i]}function J(l,h,D,S,v,A,W){var a=l-D,E=h-S,i=(W?A:-A)/z(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,X=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,I=(g<0?-1:1)*z(on(0,T*T*R-P*P)),N=(P*g-m*I)/R,Q=(-P*m-g*I)/R,w=(P*g+m*I)/R,p=(-P*m+g*I)/R,x=N-X,e=Q-t,r=w-X,Y=p-t;return x*x+e*e>r*r+Y*Y&&(N=w,Q=p),{cx:N,cy:Q,x01:-n,y01:-d,x11:N*(v/T-1),y11:Q*(v/T-1)}}function hn(){var l=cn,h=yn,D=V(0),S=null,v=gn,A=dn,W=mn,a=null,E=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,X=rn(c-f),t=c>f;if(a||(a=n=E()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(X>tn-y)a.moveTo(s*Z(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*Z(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=X,I=X,N=W.apply(this,arguments)/2,Q=N>y&&(S?+S.apply(this,arguments):z(u*u+s*s)),w=_(rn(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(Q>y){var Y=sn(Q/u*O(N)),B=sn(Q/s*O(N));(P-=Y*2)>y?(Y*=t?1:-1,R+=Y,T-=Y):(P=0,R=T=(f+c)/2),(I-=B*2)>y?(B*=t?1:-1,m+=B,g-=B):(I=0,m=g=(f+c)/2)}var $=s*Z(m),j=s*O(m),C=u*Z(T),F=u*O(T);if(w>y){var G=s*Z(g),H=s*O(g),K=u*Z(R),L=u*O(R),q;if(X<an)if(q=pn($,j,K,L,G,H,C,F)){var M=$-q[0],U=j-q[1],k=G-q[0],b=H-q[1],nn=1/O(fn((M*k+U*b)/(z(M*M+U*U)*z(k*k+b*b)))/2),en=z(q[0]*q[0]+q[1]*q[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=J(K,L,$,j,s,x,t),r=J(G,H,C,F,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo($,j),a.arc(0,0,s,m,g,!t)):a.moveTo($,j),!(u>y)||!(P>y)?a.lineTo(C,F):p>y?(e=J(C,F,G,H,u,-p,t),r=J($,j,K,L,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[Z(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:V(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:V(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:V(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:V(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:V(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:V(+n),i):A},i.padAngle=function(n){return arguments.length?(W=typeof n=="function"?n:V(+n),i):W},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{N as ln,O as an,P as Z,Q as O,S as V,T as un,V as y,W as tn,X as z,Y as _,Z as rn,$ as o,a0 as on,a1 as sn,a2 as fn}from"./index-BBNE8InR.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,D,S,v,A,W,a){var E=D-l,i=S-h,n=W-v,d=a-A,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*E,h+u*i]}function J(l,h,D,S,v,A,W){var a=l-D,E=h-S,i=(W?A:-A)/z(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,X=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,I=(g<0?-1:1)*z(on(0,T*T*R-P*P)),N=(P*g-m*I)/R,Q=(-P*m-g*I)/R,w=(P*g+m*I)/R,p=(-P*m+g*I)/R,x=N-X,e=Q-t,r=w-X,Y=p-t;return x*x+e*e>r*r+Y*Y&&(N=w,Q=p),{cx:N,cy:Q,x01:-n,y01:-d,x11:N*(v/T-1),y11:Q*(v/T-1)}}function hn(){var l=cn,h=yn,D=V(0),S=null,v=gn,A=dn,W=mn,a=null,E=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,X=rn(c-f),t=c>f;if(a||(a=n=E()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(X>tn-y)a.moveTo(s*Z(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*Z(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=X,I=X,N=W.apply(this,arguments)/2,Q=N>y&&(S?+S.apply(this,arguments):z(u*u+s*s)),w=_(rn(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(Q>y){var Y=sn(Q/u*O(N)),B=sn(Q/s*O(N));(P-=Y*2)>y?(Y*=t?1:-1,R+=Y,T-=Y):(P=0,R=T=(f+c)/2),(I-=B*2)>y?(B*=t?1:-1,m+=B,g-=B):(I=0,m=g=(f+c)/2)}var $=s*Z(m),j=s*O(m),C=u*Z(T),F=u*O(T);if(w>y){var G=s*Z(g),H=s*O(g),K=u*Z(R),L=u*O(R),q;if(X<an)if(q=pn($,j,K,L,G,H,C,F)){var M=$-q[0],U=j-q[1],k=G-q[0],b=H-q[1],nn=1/O(fn((M*k+U*b)/(z(M*M+U*U)*z(k*k+b*b)))/2),en=z(q[0]*q[0]+q[1]*q[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=J(K,L,$,j,s,x,t),r=J(G,H,C,F,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo($,j),a.arc(0,0,s,m,g,!t)):a.moveTo($,j),!(u>y)||!(P>y)?a.lineTo(C,F):p>y?(e=J(C,F,G,H,u,-p,t),r=J($,j,K,L,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[Z(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:V(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:V(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:V(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:V(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:V(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:V(+n),i):A},i.padAngle=function(n){return arguments.length?(W=typeof n=="function"?n:V(+n),i):W},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};