local-operator-ui 0.34.29 → 0.34.31

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 (68) hide show
  1. package/out/main/index.js +286 -133
  2. package/out/renderer/assets/{_basePickBy-BnUD-Zp6.js → _basePickBy-gsWNnL8j.js} +1 -1
  3. package/out/renderer/assets/{_baseUniq-B9ICcMEU.js → _baseUniq-C5l0J_O6.js} +1 -1
  4. package/out/renderer/assets/{agent-details-page-CREcjICs.js → agent-details-page-DOUGX96x.js} +1 -1
  5. package/out/renderer/assets/{agent-hub-page-CRmDAFrO.js → agent-hub-page-DABmkR95.js} +1 -1
  6. package/out/renderer/assets/{agents-page-ChVYOYCt.js → agents-page-C0hiW8Y-.js} +3 -3
  7. package/out/renderer/assets/{arc-D-a7vN_W.js → arc-BTaq9nTj.js} +1 -1
  8. package/out/renderer/assets/{architectureDiagram-IEHRJDOE-nYUbBKkh.js → architectureDiagram-IEHRJDOE-wVAAAp4Q.js} +1 -1
  9. package/out/renderer/assets/{blockDiagram-JOT3LUYC-DQDnm9mA.js → blockDiagram-JOT3LUYC-Bs4G73iB.js} +1 -1
  10. package/out/renderer/assets/{browser-page-CmmXGKX9.js → browser-page-PLs7fq5C.js} +1 -1
  11. package/out/renderer/assets/{browser-webauthn-prompt-BvR2_NhE.js → browser-webauthn-prompt-B9kmFz6z.js} +1 -1
  12. package/out/renderer/assets/{c4Diagram-VJAJSXHY-B9GZ3jBY.js → c4Diagram-VJAJSXHY-D0q1Qpyu.js} +1 -1
  13. package/out/renderer/assets/channel-DsXie7lp.js +1 -0
  14. package/out/renderer/assets/{chunk-4BMEZGHF-CP6tEKmZ.js → chunk-4BMEZGHF-CvHQheuo.js} +1 -1
  15. package/out/renderer/assets/{chunk-A2AXSNBT-92EJR3L5.js → chunk-A2AXSNBT-BjUHeria.js} +1 -1
  16. package/out/renderer/assets/{chunk-AEK57VVT-D7JrZUMm.js → chunk-AEK57VVT-CgyS77iO.js} +1 -1
  17. package/out/renderer/assets/{chunk-D6G4REZN-lzCPMLe6.js → chunk-D6G4REZN-C7o-nYwn.js} +1 -1
  18. package/out/renderer/assets/{chunk-RZ5BOZE2-QFdC9COn.js → chunk-RZ5BOZE2-BusO_5Tl.js} +1 -1
  19. package/out/renderer/assets/{chunk-XZIHB7SX-huqMI3NL.js → chunk-XZIHB7SX-CJWkR_g_.js} +1 -1
  20. package/out/renderer/assets/classDiagram-GIVACNV2-CcOoxcHZ.js +1 -0
  21. package/out/renderer/assets/classDiagram-v2-COTLJTTW-CcOoxcHZ.js +1 -0
  22. package/out/renderer/assets/clone-r9efBuQF.js +1 -0
  23. package/out/renderer/assets/{conversation-input-sync-rMH3OgVN.js → conversation-input-sync-CyV2Rt9s.js} +114 -114
  24. package/out/renderer/assets/{dagre-OKDRZEBW-C4Awul0x.js → dagre-OKDRZEBW-Bbq7XOEU.js} +1 -1
  25. package/out/renderer/assets/{diagram-SSKATNLV-DF-rK8zl.js → diagram-SSKATNLV-CmaRShOS.js} +1 -1
  26. package/out/renderer/assets/{diagram-VNBRO52H-Demqxhbg.js → diagram-VNBRO52H-vChIl-Zs.js} +1 -1
  27. package/out/renderer/assets/{erDiagram-Q7BY3M3F-DB0ki28m.js → erDiagram-Q7BY3M3F-DXqNkkeq.js} +1 -1
  28. package/out/renderer/assets/{flowDiagram-4HSFHLVR-Cj-AfXac.js → flowDiagram-4HSFHLVR-DsGksM3Z.js} +1 -1
  29. package/out/renderer/assets/{ganttDiagram-APWFNJXF-jH_gPXVp.js → ganttDiagram-APWFNJXF-C9ODwIj2.js} +1 -1
  30. package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-bGhhwHiL.js → gitGraphDiagram-7IBYFJ6S-s2DTzfkq.js} +1 -1
  31. package/out/renderer/assets/{graph-BPF3hTTf.js → graph-Cj8Vtlbg.js} +1 -1
  32. package/out/renderer/assets/{index-DLQItd-o.js → index-Caxk5tgb.js} +1 -1
  33. package/out/renderer/assets/{index-lkIfxs0B.js → index-IINfVLtx.js} +130 -130
  34. package/out/renderer/assets/{index-BZfNnNpY.js → index-e7_5cYB9.js} +1 -1
  35. package/out/renderer/assets/{infoDiagram-PH2N3AL5-Dyx9PRNX.js → infoDiagram-PH2N3AL5-C0dwbbo2.js} +1 -1
  36. package/out/renderer/assets/{journeyDiagram-U35MCT3I-DHZ2UoLo.js → journeyDiagram-U35MCT3I-Ce_-6oPh.js} +1 -1
  37. package/out/renderer/assets/{kanban-definition-NDS4AKOZ-RTHyZSKK.js → kanban-definition-NDS4AKOZ-BfC2rELG.js} +1 -1
  38. package/out/renderer/assets/{layout-CP560bMp.js → layout-C8qa96WZ.js} +1 -1
  39. package/out/renderer/assets/{legacy-agents-page-Bz67t01X.js → legacy-agents-page-oxgL0K8w.js} +1 -1
  40. package/out/renderer/assets/{mermaid.core-g2m09-Uk.js → mermaid.core-XU5D2QM-.js} +5 -5
  41. package/out/renderer/assets/{mesh-page-CFEHILax.js → mesh-page-CKWQJjR9.js} +1 -1
  42. package/out/renderer/assets/{mindmap-definition-ALO5MXBD-Bm-ENsfy.js → mindmap-definition-ALO5MXBD-BljWsgbL.js} +1 -1
  43. package/out/renderer/assets/{mini-BPw55_9k.js → mini-Dx_pCNq_.js} +1 -1
  44. package/out/renderer/assets/{org-surface-gate-9BvL9duo.js → org-surface-gate-C_mfNSkA.js} +1 -1
  45. package/out/renderer/assets/{pieDiagram-IB7DONF6-kHrJNI2E.js → pieDiagram-IB7DONF6-0DtrHJC4.js} +1 -1
  46. package/out/renderer/assets/{projects-page-KO31CxX1.js → projects-page-BtO7qveV.js} +1 -1
  47. package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-DqUMvCWj.js → quadrantDiagram-7GDLP6J5-LH8QQXdE.js} +1 -1
  48. package/out/renderer/assets/{radar-MK3ICKWK-DhtAdHcZ.js → radar-MK3ICKWK-BXPsHVb3.js} +1 -1
  49. package/out/renderer/assets/{radient-auth-buttons-BmyM2Jng.js → radient-auth-buttons-BDIMPwPh.js} +1 -1
  50. package/out/renderer/assets/{requirementDiagram-KVF5MWMF-BpsXRjl2.js → requirementDiagram-KVF5MWMF-NUiela-Z.js} +1 -1
  51. package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-D1rOj5EU.js → sankeyDiagram-QLVOVGJD-Bv32xiGK.js} +1 -1
  52. package/out/renderer/assets/{schedules-page-DWZgGq4g.js → schedules-page-ZOQ5Aa7i.js} +1 -1
  53. package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-BAKa7NcX.js → sequenceDiagram-X6HHIX6F-DhKfMbpL.js} +1 -1
  54. package/out/renderer/assets/{settings-page-FH8N53JF.js → settings-page-J0ziKUQu.js} +1 -1
  55. package/out/renderer/assets/{stateDiagram-DGXRK772-IL4xN6t6.js → stateDiagram-DGXRK772-DtuHtZqu.js} +1 -1
  56. package/out/renderer/assets/{stateDiagram-v2-YXO3MK2T-B-jauzSa.js → stateDiagram-v2-YXO3MK2T-CQ7XIglm.js} +1 -1
  57. package/out/renderer/assets/{timeline-definition-BDJGKUSR-BE9Mpwsh.js → timeline-definition-BDJGKUSR-DaghAT0K.js} +1 -1
  58. package/out/renderer/assets/{use-download-agent-mutation-CqFcEPKY.js → use-download-agent-mutation-Uqc8JSLO.js} +1 -1
  59. package/out/renderer/assets/{use-memberships-query-BvozDwmN.js → use-memberships-query-Bf_-KANH.js} +1 -1
  60. package/out/renderer/assets/{use-session-snapshot-DAfjYfk4.js → use-session-snapshot-L5kUKUQN.js} +1 -1
  61. package/out/renderer/assets/{xychartDiagram-VJFVF3MP-Beh15smi.js → xychartDiagram-VJFVF3MP-Q-Qk3b4A.js} +1 -1
  62. package/out/renderer/index.html +2 -2
  63. package/out/renderer/mini.html +3 -3
  64. package/package.json +2 -2
  65. package/out/renderer/assets/channel-DHH0IpMT.js +0 -1
  66. package/out/renderer/assets/classDiagram-GIVACNV2-CCrmGD_-.js +0 -1
  67. package/out/renderer/assets/classDiagram-v2-COTLJTTW-CCrmGD_-.js +0 -1
  68. package/out/renderer/assets/clone-BfLeE4rI.js +0 -1
package/out/main/index.js CHANGED
@@ -8968,7 +8968,8 @@ async function managedSelectionReady(options) {
8968
8968
  return inspectManagedSelection(options).kind === "ready";
8969
8969
  }
8970
8970
  const PREPARATION_LOCK_MS = 12e4;
8971
- function reapSupersededGenerations(options, keep, now = Date.now()) {
8971
+ function reapOwnedGenerations(options, keep, now, held) {
8972
+ assertPreparation(held, managedPythonRoot(options));
8972
8973
  const removed = [];
8973
8974
  for (const [root, kept] of [
8974
8975
  [runtimesRoot(options), keep.runtime],
@@ -9011,8 +9012,24 @@ function reapSupersededGenerations(options, keep, now = Date.now()) {
9011
9012
  }
9012
9013
  return removed;
9013
9014
  }
9015
+ const activePreparations = /* @__PURE__ */ new WeakSet();
9016
+ function assertPreparation(held, root) {
9017
+ if (!activePreparations.has(held) || held.root !== fs.realpathSync(root))
9018
+ throw new Error(
9019
+ "Managed Python mutation requires its owned preparation transaction"
9020
+ );
9021
+ const current = fs.lstatSync(held.lock);
9022
+ if (current.isSymbolicLink() || current.dev !== held.device || current.ino !== held.inode || fs.readFileSync(held.lock, "utf8").trim() !== String(process.pid))
9023
+ throw new Error(
9024
+ "Managed Python preparation ownership changed; retry after it settles"
9025
+ );
9026
+ }
9014
9027
  let preparation = Promise.resolve();
9015
9028
  async function locked(root, work) {
9029
+ if (process.platform !== "darwin")
9030
+ throw new Error(
9031
+ "Managed Python preparation requires macOS. Use this platform's existing backend installer; no changes were made."
9032
+ );
9016
9033
  const previous = preparation;
9017
9034
  let release = () => {
9018
9035
  };
@@ -9022,6 +9039,7 @@ async function locked(root, work) {
9022
9039
  await previous;
9023
9040
  const path2 = path$1.join(root, "preparation.lock");
9024
9041
  let acquired = false;
9042
+ let held = null;
9025
9043
  try {
9026
9044
  await promises.mkdir(root, { recursive: true, mode: 448 });
9027
9045
  realDirectory(root);
@@ -9040,16 +9058,32 @@ async function locked(root, work) {
9040
9058
  } catch {
9041
9059
  if (Date.now() >= deadline2)
9042
9060
  throw new Error(
9043
- "Another Local Operator instance is preparing its backend. Retry when it finishes."
9061
+ "Backend preparation is blocked by an existing lock record. Wait and retry."
9044
9062
  );
9045
9063
  await new Promise((done) => setTimeout(done, 250));
9046
9064
  }
9047
9065
  }
9048
- return await work();
9066
+ const owner = fs.lstatSync(path2);
9067
+ held = {
9068
+ root: fs.realpathSync(root),
9069
+ lock: path2,
9070
+ device: owner.dev,
9071
+ inode: owner.ino
9072
+ };
9073
+ activePreparations.add(held);
9074
+ assertPreparation(held, root);
9075
+ return await work(held);
9049
9076
  } finally {
9050
- if (acquired && fs.readFileSync(path2, "utf8").trim() === String(process.pid))
9051
- fs.unlinkSync(path2);
9052
- release();
9077
+ try {
9078
+ if (acquired && held && fs.existsSync(path2)) {
9079
+ const owner = fs.lstatSync(path2);
9080
+ if (!owner.isSymbolicLink() && owner.dev === held.device && owner.ino === held.inode && fs.readFileSync(path2, "utf8").trim() === String(process.pid))
9081
+ fs.unlinkSync(path2);
9082
+ }
9083
+ } finally {
9084
+ if (held) activePreparations.delete(held);
9085
+ release();
9086
+ }
9053
9087
  }
9054
9088
  }
9055
9089
  const IMPORT_PROBE = `import sys, sysconfig, os, json, encodings, webbrowser, _ssl, _sqlite3
@@ -9138,20 +9172,33 @@ async function smokeEnvironment(venv, env) {
9138
9172
  }
9139
9173
  }
9140
9174
  async function prepareManagedPython(options, install) {
9141
- return locked(managedPythonRoot(options), async () => {
9175
+ return locked(managedPythonRoot(options), async (held) => {
9142
9176
  const state = inspectManagedSelection(options);
9143
9177
  if (state.kind === "ready") return state.selection;
9144
9178
  const superseded = state.kind === "missing" ? state.detail : null;
9145
9179
  const published = state.kind === "missing" ? state.published : null;
9146
- return publishGeneration(options, install, published, superseded, false);
9180
+ return publishGeneration(
9181
+ options,
9182
+ install,
9183
+ published,
9184
+ superseded,
9185
+ false,
9186
+ held
9187
+ );
9147
9188
  });
9148
9189
  }
9149
- async function publishGeneration(options, install, published, superseded, keepPublished) {
9190
+ async function publishGeneration(options, install, published, superseded, keepPublished, held) {
9150
9191
  const root = managedPythonRoot(options);
9151
- reapSupersededGenerations(options, {
9152
- runtime: published && (keepPublished || publishedRuntimeIsReusable(options, published)) ? [published.runtime] : [],
9153
- venv: keepPublished && published ? [published.venv] : []
9154
- });
9192
+ assertPreparation(held, root);
9193
+ reapOwnedGenerations(
9194
+ options,
9195
+ {
9196
+ runtime: published && (keepPublished || publishedRuntimeIsReusable(options, published)) ? [published.runtime] : [],
9197
+ venv: keepPublished && published ? [published.venv] : []
9198
+ },
9199
+ Date.now(),
9200
+ held
9201
+ );
9155
9202
  const { runtime, id: id2 } = await prepareRuntime(options);
9156
9203
  await promises.mkdir(environmentsRoot(options), { recursive: true, mode: 448 });
9157
9204
  realDirectory(environmentsRoot(options));
@@ -9175,11 +9222,17 @@ async function publishGeneration(options, install, published, superseded, keepPu
9175
9222
  await promises.writeFile(path$1.join(venv, READY), bytes, { flag: "wx", mode: 384 });
9176
9223
  const temporary = path$1.join(root, `.selection-${node_crypto.randomUUID()}.json`);
9177
9224
  await promises.writeFile(temporary, bytes, { flag: "wx", mode: 384 });
9225
+ assertPreparation(held, root);
9178
9226
  await promises.rename(temporary, path$1.join(root, POINTER));
9179
- reapSupersededGenerations(options, {
9180
- runtime: keepPublished && published ? [runtime, published.runtime] : [runtime],
9181
- venv: keepPublished && published ? [venv, published.venv] : [venv]
9182
- });
9227
+ reapOwnedGenerations(
9228
+ options,
9229
+ {
9230
+ runtime: keepPublished && published ? [runtime, published.runtime] : [runtime],
9231
+ venv: keepPublished && published ? [venv, published.venv] : [venv]
9232
+ },
9233
+ Date.now(),
9234
+ held
9235
+ );
9183
9236
  if (superseded)
9184
9237
  console.warn(
9185
9238
  `Replaced an unusable managed Python selection: ${superseded}`
@@ -9196,7 +9249,7 @@ function managedSelectionSatisfies(options, target2, isNewer) {
9196
9249
  return !isNewer(target2, published);
9197
9250
  }
9198
9251
  async function updateManagedPython(options, install, decision) {
9199
- return locked(managedPythonRoot(options), async () => {
9252
+ return locked(managedPythonRoot(options), async (held) => {
9200
9253
  const state = inspectManagedSelection(options);
9201
9254
  const published = state.kind === "ready" ? state.selection : null;
9202
9255
  if (published && managedSelectionSatisfies(options, decision.target, decision.isNewer))
@@ -9207,7 +9260,8 @@ async function updateManagedPython(options, install, decision) {
9207
9260
  install,
9208
9261
  previous,
9209
9262
  state.kind === "missing" ? state.detail : null,
9210
- true
9263
+ true,
9264
+ held
9211
9265
  );
9212
9266
  return { selection, replaced: true, previous };
9213
9267
  });
@@ -15671,10 +15725,10 @@ class ConsoleRegistry {
15671
15725
  count() {
15672
15726
  return this.entries.size;
15673
15727
  }
15674
- /** How many were created by that session's agent. */
15728
+ /** How many live surfaces were created by that session's agent. */
15675
15729
  agentCount(sessionId2) {
15676
15730
  return this.list(sessionId2).filter(
15677
- (entry) => entry.record.origin === "agent"
15731
+ (entry) => entry.record.origin === "agent" && entry.record.live
15678
15732
  ).length;
15679
15733
  }
15680
15734
  /**
@@ -15693,7 +15747,7 @@ class ConsoleRegistry {
15693
15747
  { limit: MAX_SURFACES_PER_APP, scope: "app" }
15694
15748
  );
15695
15749
  }
15696
- if (input.origin === "agent" && this.agentCount(input.sessionId) >= MAX_AGENT_SURFACES_PER_SESSION) {
15750
+ if (input.live !== false && input.origin === "agent" && this.agentCount(input.sessionId) >= MAX_AGENT_SURFACES_PER_SESSION) {
15697
15751
  throw new ConsoleError(
15698
15752
  "tab_limit",
15699
15753
  `this session's agent is already running ${MAX_AGENT_SURFACES_PER_SESSION} console surfaces; close one first`,
@@ -15712,10 +15766,10 @@ class ConsoleRegistry {
15712
15766
  cwd: input.cwd,
15713
15767
  cols: input.cols,
15714
15768
  rows: input.rows,
15715
- running: true,
15769
+ running: input.live !== false,
15716
15770
  exitCode: null,
15717
15771
  lastActivity: this.now(),
15718
- live: true,
15772
+ live: input.live !== false,
15719
15773
  retain: input.retain,
15720
15774
  secure: false,
15721
15775
  lastActor: null,
@@ -15843,6 +15897,10 @@ const SURFACE_COLORTERM = "truecolor";
15843
15897
  const STRIPPED_ENV_PREFIXES = ["CMUX_", "LOP_"];
15844
15898
  class ConsoleHost {
15845
15899
  registry;
15900
+ rollbackDisposals = [];
15901
+ // Acquisition precedes runtime construction/registry adoption. Keep the exact
15902
+ // emulator until adoption succeeds; startup rollback must also own that gap.
15903
+ unboundRestoreEmulators = /* @__PURE__ */ new Set();
15846
15904
  options;
15847
15905
  now;
15848
15906
  env;
@@ -16004,6 +16062,7 @@ class ConsoleHost {
16004
16062
  // The handle the history recorded, so a caller holding one across a relaunch
16005
16063
  // finds the same surface rather than a lookalike with a new nonce.
16006
16064
  surface: meta.surface,
16065
+ live: false,
16007
16066
  sessionId: meta.session_id,
16008
16067
  origin: meta.origin,
16009
16068
  command: meta.command,
@@ -16027,7 +16086,7 @@ class ConsoleHost {
16027
16086
  rows: grid.rows,
16028
16087
  scrollback: SCROLLBACK_LINES
16029
16088
  });
16030
- emulator.write(bytes);
16089
+ this.unboundRestoreEmulators.add(emulator);
16031
16090
  const runtime = {
16032
16091
  // A reconstructed surface has no pty. `null` rather than a fake process:
16033
16092
  // every path that would signal one checks `running` first, and the record
@@ -16049,8 +16108,10 @@ class ConsoleHost {
16049
16108
  exitDelivered: true,
16050
16109
  exitWaiters: []
16051
16110
  };
16052
- runtime.log.append(bytes);
16053
16111
  this.registry.attach(entry.record.surface, runtime);
16112
+ this.unboundRestoreEmulators.delete(emulator);
16113
+ emulator.write(bytes);
16114
+ runtime.log.append(bytes);
16054
16115
  this.registry.update(entry.record.surface, {
16055
16116
  running: false,
16056
16117
  exitCode: meta.exit_code,
@@ -16764,17 +16825,63 @@ class ConsoleHost {
16764
16825
  this.options.onChanged?.();
16765
16826
  }
16766
16827
  /** Stop everything: every pty, every record, every subscriber. */
16767
- dispose() {
16768
- for (const entry of this.registry.clear()) {
16769
- const runtime = entry.runtime;
16770
- if (!runtime) continue;
16771
- if (runtime.pendingTimer) clearTimeout(runtime.pendingTimer);
16772
- if (runtime.persistTimer) clearTimeout(runtime.persistTimer);
16773
- runtime.subscribers.clear();
16774
- if (entry.record.retain) this.persist(entry, runtime);
16775
- if (entry.record.running) runtime.pty?.kill();
16776
- runtime.emulator.dispose();
16777
- }
16828
+ dispose(persistHistory = true) {
16829
+ if (!persistHistory || this.rollbackDisposals.length > 0 || this.unboundRestoreEmulators.size > 0) {
16830
+ const entries = [...this.rollbackDisposals, ...this.registry.clear()];
16831
+ this.rollbackDisposals = [];
16832
+ const failures = [];
16833
+ for (const entry of entries) {
16834
+ if (entry.runtime)
16835
+ this.unboundRestoreEmulators.delete(entry.runtime.emulator);
16836
+ }
16837
+ for (const entry of entries) {
16838
+ const runtime = entry.runtime;
16839
+ if (!runtime) continue;
16840
+ let incomplete = false;
16841
+ for (const release of [
16842
+ () => {
16843
+ if (runtime.pendingTimer) clearTimeout(runtime.pendingTimer);
16844
+ if (runtime.persistTimer) clearTimeout(runtime.persistTimer);
16845
+ runtime.subscribers.clear();
16846
+ },
16847
+ () => {
16848
+ if (entry.record.running) runtime.pty?.kill();
16849
+ },
16850
+ () => runtime.emulator.dispose()
16851
+ ]) {
16852
+ try {
16853
+ release();
16854
+ } catch (error) {
16855
+ incomplete = true;
16856
+ failures.push(error);
16857
+ }
16858
+ }
16859
+ if (incomplete) this.rollbackDisposals.push(entry);
16860
+ }
16861
+ for (const emulator of this.unboundRestoreEmulators) {
16862
+ try {
16863
+ emulator.dispose();
16864
+ this.unboundRestoreEmulators.delete(emulator);
16865
+ } catch (error) {
16866
+ failures.push(error);
16867
+ }
16868
+ }
16869
+ if (failures.length)
16870
+ throw new AggregateError(
16871
+ failures,
16872
+ "Partial console runtime cleanup incomplete."
16873
+ );
16874
+ } else
16875
+ for (const entry of this.registry.clear()) {
16876
+ const runtime = entry.runtime;
16877
+ if (!runtime) continue;
16878
+ if (runtime.pendingTimer) clearTimeout(runtime.pendingTimer);
16879
+ if (runtime.persistTimer) clearTimeout(runtime.persistTimer);
16880
+ runtime.subscribers.clear();
16881
+ if (persistHistory && entry.record.retain) this.persist(entry, runtime);
16882
+ if (entry.record.running) runtime.pty?.kill();
16883
+ runtime.emulator.dispose();
16884
+ }
16778
16885
  this.createdAt.clear();
16779
16886
  this.persistedBytes.clear();
16780
16887
  this.metaSignatures.clear();
@@ -17810,112 +17917,158 @@ async function startConsoleHost(options) {
17810
17917
  `[console] restored the exec bit on ${load.helper.path ?? "spawn-helper"}`
17811
17918
  );
17812
17919
  }
17813
- const configDir = options.configDir ?? localOperatorConfigDir();
17814
- const history = new ConsoleHistory(
17815
- path$1.join(configDir, "run", "ui-console", "history")
17816
- );
17817
- const registry = new ConsoleRegistry();
17818
17920
  let hostRef = null;
17819
- const completion = consoleCompletionHooks({
17820
- host: () => hostRef,
17821
- registry,
17822
- notifier: () => options.notifier ?? null,
17823
- log: log2,
17824
- now: options.now
17825
- });
17826
- const capture = options.consoleCaptureUrl && options.preloadPath ? new ConsoleCaptureView({
17827
- url: options.consoleCaptureUrl,
17828
- preload: options.preloadPath,
17829
- log: log2
17830
- }) : null;
17831
- const host = new ConsoleHost(registry, {
17832
- window: () => options.window,
17833
- log: log2,
17834
- history,
17835
- now: options.now,
17836
- // Resolved BEFORE the host exists, so no surface can be created against the
17837
- // launch environment and then start behaving like the user's terminal later:
17838
- // a surface's PATH is decided here, once, and every surface this host makes
17839
- // carries the same one. Bounded by the resolver's own timeout (it never
17840
- // rejects and answers null when the shell cannot speak), and no part of the
17841
- // app's own startup waits on it: the browser host is attached to the window
17842
- // without being awaited, so the cost of a slow rc here is this host coming
17843
- // online later, not the app failing to come up.
17844
- env: await withUserShellPath(process.env, options.userShellPath),
17845
- captureOffscreen: capture ? (request) => capture.capture(request) : void 0,
17846
- spawn: options.spawn ?? ((spawnOptions) => spawnPty(load.module, spawnOptions, (report) => {
17847
- log2(
17848
- `[console] restored the exec bit on ${report.path ?? "spawn-helper"}`
17849
- );
17850
- })),
17851
- /*
17852
- * ONE PUSHER, and it is A's. `broadcastConsoleState` was already the app's
17853
- * single "the projection moved" signal when this branch arrived; the
17854
- * completion seam below therefore does NOT push a second copy of the same
17855
- * frame. It only raises a banner, which is the half a push cannot express —
17856
- * and the host calls `onChanged` for a mark and an exit too, so the renderer
17857
- * still refetches on both (see `ConsoleHostOptions.onExit`).
17858
- */
17859
- onChanged: () => {
17860
- broadcastConsoleState(options.window);
17861
- },
17862
- onMark: completion.onMark,
17863
- onExit: completion.onExit,
17864
- onReveal: (request) => {
17865
- const window = options.window;
17866
- if (window.isDestroyed()) return;
17867
- window.webContents.send("console-reveal", {
17868
- surface: request.surface,
17869
- session_id: request.sessionId,
17870
- mode: request.mode
17871
- });
17921
+ let capture = null;
17922
+ let host = null;
17923
+ let rollbackOwners = [];
17924
+ const cleanupStartupOwners = () => {
17925
+ const pending = [];
17926
+ const failures = [];
17927
+ for (const release of rollbackOwners.splice(0).reverse()) {
17928
+ try {
17929
+ release();
17930
+ } catch (error) {
17931
+ pending.unshift(release);
17932
+ failures.push(error);
17933
+ }
17872
17934
  }
17873
- });
17874
- if (options.restoreHistory !== false) {
17875
- const retained = history.list().sort((a, b) => b.meta.last_seen_at - a.meta.last_seen_at).slice(0, MAX_SURFACES_PER_APP);
17876
- for (const surface of retained) {
17877
- host.restore(surface.meta, surface.bytes);
17935
+ rollbackOwners = pending;
17936
+ if (failures.length)
17937
+ throw new AggregateError(failures, "Partial console cleanup incomplete.");
17938
+ };
17939
+ try {
17940
+ const configDir = options.configDir ?? localOperatorConfigDir();
17941
+ const history = new ConsoleHistory(
17942
+ path$1.join(configDir, "run", "ui-console", "history")
17943
+ );
17944
+ const registry = new ConsoleRegistry();
17945
+ const completion = consoleCompletionHooks({
17946
+ host: () => hostRef,
17947
+ registry,
17948
+ notifier: () => options.notifier ?? null,
17949
+ log: log2,
17950
+ now: options.now
17951
+ });
17952
+ capture = options.consoleCaptureUrl && options.preloadPath ? new ConsoleCaptureView({
17953
+ url: options.consoleCaptureUrl,
17954
+ preload: options.preloadPath,
17955
+ log: log2
17956
+ }) : null;
17957
+ const captureView = capture;
17958
+ if (captureView) rollbackOwners.push(() => captureView.dispose());
17959
+ host = new ConsoleHost(registry, {
17960
+ window: () => options.window,
17961
+ log: log2,
17962
+ history,
17963
+ now: options.now,
17964
+ // Resolved BEFORE the host exists, so no surface can be created against the
17965
+ // launch environment and then start behaving like the user's terminal later:
17966
+ // a surface's PATH is decided here, once, and every surface this host makes
17967
+ // carries the same one. Bounded by the resolver's own timeout (it never
17968
+ // rejects and answers null when the shell cannot speak), and no part of the
17969
+ // app's own startup waits on it: the browser host is attached to the window
17970
+ // without being awaited, so the cost of a slow rc here is this host coming
17971
+ // online later, not the app failing to come up.
17972
+ env: await withUserShellPath(process.env, options.userShellPath),
17973
+ captureOffscreen: captureView ? (request) => captureView.capture(request) : void 0,
17974
+ spawn: options.spawn ?? ((spawnOptions) => spawnPty(load.module, spawnOptions, (report) => {
17975
+ log2(
17976
+ `[console] restored the exec bit on ${report.path ?? "spawn-helper"}`
17977
+ );
17978
+ })),
17979
+ /*
17980
+ * ONE PUSHER, and it is A's. `broadcastConsoleState` was already the app's
17981
+ * single "the projection moved" signal when this branch arrived; the
17982
+ * completion seam below therefore does NOT push a second copy of the same
17983
+ * frame. It only raises a banner, which is the half a push cannot express —
17984
+ * and the host calls `onChanged` for a mark and an exit too, so the renderer
17985
+ * still refetches on both (see `ConsoleHostOptions.onExit`).
17986
+ */
17987
+ onChanged: () => {
17988
+ broadcastConsoleState(options.window);
17989
+ },
17990
+ onMark: completion.onMark,
17991
+ onExit: completion.onExit,
17992
+ onReveal: (request) => {
17993
+ const window = options.window;
17994
+ if (window.isDestroyed()) return;
17995
+ window.webContents.send("console-reveal", {
17996
+ surface: request.surface,
17997
+ session_id: request.sessionId,
17998
+ mode: request.mode
17999
+ });
18000
+ }
18001
+ });
18002
+ const ownedHost = host;
18003
+ rollbackOwners.push(() => ownedHost.dispose(false));
18004
+ if (options.restoreHistory !== false) {
18005
+ const retained = history.list().sort((a, b) => b.meta.last_seen_at - a.meta.last_seen_at).slice(0, MAX_SURFACES_PER_APP);
18006
+ for (const surface of retained) {
18007
+ host.restore(surface.meta, surface.bytes);
18008
+ }
18009
+ if (retained.length > 0) {
18010
+ log2(
18011
+ `[console] restored ${retained.length} retained surface(s) from history; none of them is running`
18012
+ );
18013
+ }
17878
18014
  }
17879
- if (retained.length > 0) {
18015
+ const collected = history.collect();
18016
+ if (collected.removedSessions.length > 0) {
17880
18017
  log2(
17881
- `[console] restored ${retained.length} retained surface(s) from history; none of them is running`
18018
+ `[console] history GC removed ${collected.removedSurfaces} surface(s) from ${collected.removedSessions.length} session(s) older than the window`
17882
18019
  );
17883
18020
  }
17884
- }
17885
- const collected = history.collect();
17886
- if (collected.removedSessions.length > 0) {
18021
+ hostRef = host;
18022
+ const readyHost = host;
18023
+ registerConsoleIpc({
18024
+ window: () => options.window,
18025
+ expectedUrl: options.expectedUrl,
18026
+ host: () => readyHost,
18027
+ log: log2
18028
+ });
17887
18029
  log2(
17888
- `[console] history GC removed ${collected.removedSurfaces} surface(s) from ${collected.removedSessions.length} session(s) older than the window`
18030
+ `[console] host ready on the existing endpoint: ${registry.count()} surface(s) (node-pty ${helperStatus(load.helper)})`
17889
18031
  );
17890
- }
17891
- hostRef = host;
17892
- registerConsoleIpc({
17893
- window: () => options.window,
17894
- expectedUrl: options.expectedUrl,
17895
- host: () => host,
17896
- log: log2
17897
- });
17898
- log2(
17899
- `[console] host ready on the existing endpoint: ${registry.count()} surface(s) (node-pty ${helperStatus(load.helper)})`
17900
- );
17901
- return {
17902
- ok: true,
17903
- host,
17904
- registry,
17905
- counts: () => host.counts(),
17906
- dispatch: async (method, params) => {
17907
- if (!isConsoleDispatchMethod(method)) {
17908
- throw new Error(`not a console method: ${method}`);
18032
+ return {
18033
+ ok: true,
18034
+ host,
18035
+ registry,
18036
+ counts: () => readyHost.counts(),
18037
+ dispatch: async (method, params) => {
18038
+ if (!isConsoleDispatchMethod(method)) {
18039
+ throw new Error(`not a console method: ${method}`);
18040
+ }
18041
+ return dispatchConsole(readyHost, method, params);
18042
+ },
18043
+ stop: async () => {
18044
+ unregisterConsoleIpc();
18045
+ capture?.dispose();
18046
+ readyHost.dispose();
18047
+ log2("[console] host stopped");
17909
18048
  }
17910
- return dispatchConsole(host, method, params);
17911
- },
17912
- stop: async () => {
17913
- unregisterConsoleIpc();
17914
- capture?.dispose();
17915
- host.dispose();
17916
- log2("[console] host stopped");
18049
+ };
18050
+ } catch (error) {
18051
+ try {
18052
+ cleanupStartupOwners();
18053
+ } catch (cleanupError) {
18054
+ log2(
18055
+ `[console] partial cleanup retained for stop: ${String(cleanupError)}`
18056
+ );
17917
18057
  }
17918
- };
18058
+ hostRef = null;
18059
+ const detail = String(error);
18060
+ log2(`[console] startup failed: ${detail}`);
18061
+ registerRefusal("startup_failed", detail);
18062
+ return {
18063
+ ok: false,
18064
+ reason: "startup_failed",
18065
+ detail,
18066
+ stop: async () => {
18067
+ unregisterConsoleIpc();
18068
+ cleanupStartupOwners();
18069
+ }
18070
+ };
18071
+ }
17919
18072
  }
17920
18073
  const WEBAUTHN_GROUP_SUFFIX = ".webauthn";
17921
18074
  const WEBAUTHN_PROMPT_REASON = "use a passkey for $1";
@@ -1 +1 @@
1
- import{e as o,c as b,g as v,k as O,h as P,j as p,l as w,m as A,n as x,t as c,o as N}from"./_baseUniq-B9ICcMEU.js";import{as as g,aa as y,at as E,au as F,av as M,aw as I,ax as _,ay as $,az as B,aA as T}from"./mermaid.core-g2m09-Uk.js";var S=/\s/;function z(n){for(var r=n.length;r--&&S.test(n.charAt(r)););return r}var G=/^\s+/;function H(n){return n&&n.slice(0,z(n)+1).replace(G,"")}var m=NaN,L=/^[-+]0x[0-9a-f]+$/i,R=/^0b[01]+$/i,q=/^0o[0-7]+$/i,C=parseInt;function K(n){if(typeof n=="number")return n;if(o(n))return m;if(g(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=g(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=H(n);var t=R.test(n);return t||q.test(n)?C(n.slice(2),t?2:8):L.test(n)?m:+n}var W=1/0,X=17976931348623157e292;function Y(n){if(!n)return n===0?n:0;if(n=K(n),n===W||n===-1/0){var r=n<0?-1:1;return r*X}return n===n?n:0}function D(n){var r=Y(n),t=r%1;return r===r?t?r-t:r:0}function fn(n){var r=n==null?0:n.length;return r?b(n):[]}var l=Object.prototype,J=l.hasOwnProperty,dn=y(function(n,r){n=Object(n);var t=-1,e=r.length,a=e>2?r[2]:void 0;for(a&&E(r[0],r[1],a)&&(e=1);++t<e;)for(var f=r[t],i=F(f),s=-1,d=i.length;++s<d;){var u=i[s],h=n[u];(h===void 0||M(h,l[u])&&!J.call(n,u))&&(n[u]=f[u])}return n});function un(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}function Q(n){return function(r,t,e){var a=Object(r);if(!I(r)){var f=v(t);r=O(r),t=function(s){return f(a[s],s,a)}}var i=n(r,t,e);return i>-1?a[f?r[i]:i]:void 0}}var U=Math.max;function Z(n,r,t){var e=n==null?0:n.length;if(!e)return-1;var a=t==null?0:D(t);return a<0&&(a=U(e+a,0)),P(n,v(r),a)}var hn=Q(Z);function V(n,r){var t=-1,e=I(n)?Array(n.length):[];return p(n,function(a,f,i){e[++t]=r(a,f,i)}),e}function gn(n,r){var t=_(n)?w:V;return t(n,v(r))}var j=Object.prototype,k=j.hasOwnProperty;function nn(n,r){return n!=null&&k.call(n,r)}function vn(n,r){return n!=null&&A(n,r,nn)}function rn(n,r){return n<r}function tn(n,r,t){for(var e=-1,a=n.length;++e<a;){var f=n[e],i=r(f);if(i!=null&&(s===void 0?i===i&&!o(i):t(i,s)))var s=i,d=f}return d}function mn(n){return n&&n.length?tn(n,$,rn):void 0}function an(n,r,t,e){if(!g(n))return n;r=x(r,n);for(var a=-1,f=r.length,i=f-1,s=n;s!=null&&++a<f;){var d=c(r[a]),u=t;if(d==="__proto__"||d==="constructor"||d==="prototype")return n;if(a!=i){var h=s[d];u=void 0,u===void 0&&(u=g(h)?h:B(r[a+1])?[]:{})}T(s,d,u),s=s[d]}return n}function on(n,r,t){for(var e=-1,a=r.length,f={};++e<a;){var i=r[e],s=N(n,i);t(s,i)&&an(f,x(i,n),s)}return f}export{rn as a,tn as b,V as c,on as d,mn as e,fn as f,hn as g,vn as h,dn as i,D as j,un as l,gn as m,Y as t};
1
+ import{e as o,c as b,g as v,k as O,h as P,j as p,l as w,m as A,n as x,t as c,o as N}from"./_baseUniq-C5l0J_O6.js";import{as as g,aa as y,at as E,au as F,av as M,aw as I,ax as _,ay as $,az as B,aA as T}from"./mermaid.core-XU5D2QM-.js";var S=/\s/;function z(n){for(var r=n.length;r--&&S.test(n.charAt(r)););return r}var G=/^\s+/;function H(n){return n&&n.slice(0,z(n)+1).replace(G,"")}var m=NaN,L=/^[-+]0x[0-9a-f]+$/i,R=/^0b[01]+$/i,q=/^0o[0-7]+$/i,C=parseInt;function K(n){if(typeof n=="number")return n;if(o(n))return m;if(g(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=g(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=H(n);var t=R.test(n);return t||q.test(n)?C(n.slice(2),t?2:8):L.test(n)?m:+n}var W=1/0,X=17976931348623157e292;function Y(n){if(!n)return n===0?n:0;if(n=K(n),n===W||n===-1/0){var r=n<0?-1:1;return r*X}return n===n?n:0}function D(n){var r=Y(n),t=r%1;return r===r?t?r-t:r:0}function fn(n){var r=n==null?0:n.length;return r?b(n):[]}var l=Object.prototype,J=l.hasOwnProperty,dn=y(function(n,r){n=Object(n);var t=-1,e=r.length,a=e>2?r[2]:void 0;for(a&&E(r[0],r[1],a)&&(e=1);++t<e;)for(var f=r[t],i=F(f),s=-1,d=i.length;++s<d;){var u=i[s],h=n[u];(h===void 0||M(h,l[u])&&!J.call(n,u))&&(n[u]=f[u])}return n});function un(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}function Q(n){return function(r,t,e){var a=Object(r);if(!I(r)){var f=v(t);r=O(r),t=function(s){return f(a[s],s,a)}}var i=n(r,t,e);return i>-1?a[f?r[i]:i]:void 0}}var U=Math.max;function Z(n,r,t){var e=n==null?0:n.length;if(!e)return-1;var a=t==null?0:D(t);return a<0&&(a=U(e+a,0)),P(n,v(r),a)}var hn=Q(Z);function V(n,r){var t=-1,e=I(n)?Array(n.length):[];return p(n,function(a,f,i){e[++t]=r(a,f,i)}),e}function gn(n,r){var t=_(n)?w:V;return t(n,v(r))}var j=Object.prototype,k=j.hasOwnProperty;function nn(n,r){return n!=null&&k.call(n,r)}function vn(n,r){return n!=null&&A(n,r,nn)}function rn(n,r){return n<r}function tn(n,r,t){for(var e=-1,a=n.length;++e<a;){var f=n[e],i=r(f);if(i!=null&&(s===void 0?i===i&&!o(i):t(i,s)))var s=i,d=f}return d}function mn(n){return n&&n.length?tn(n,$,rn):void 0}function an(n,r,t,e){if(!g(n))return n;r=x(r,n);for(var a=-1,f=r.length,i=f-1,s=n;s!=null&&++a<f;){var d=c(r[a]),u=t;if(d==="__proto__"||d==="constructor"||d==="prototype")return n;if(a!=i){var h=s[d];u=void 0,u===void 0&&(u=g(h)?h:B(r[a+1])?[]:{})}T(s,d,u),s=s[d]}return n}function on(n,r,t){for(var e=-1,a=r.length,f={};++e<a;){var i=r[e],s=N(n,i);t(s,i)&&an(f,x(i,n),s)}return f}export{rn as a,tn as b,V as c,on as d,mn as e,fn as f,hn as g,vn as h,dn as i,D as j,un as l,gn as m,Y as t};
@@ -1 +1 @@
1
- import{aH as S,aI as Rn,ax as T,aJ as w,aK as xn,aL as Mn,aw as sn,aM as mn,aN as un,aO as x,au as U,aP as Cn,aQ as on,aR as Fn,aS as E,aF as gn,aT as R,as as ln,aU as Dn,aV as D,aW as Gn,aX as Un,aY as _,aA as Nn,aZ as Bn,av as Kn,a_ as X,a$ as Hn,b0 as jn,az as Yn,ay as cn,aD as Zn,b1 as m}from"./mermaid.core-g2m09-Uk.js";var qn="[object Symbol]";function N(n){return typeof n=="symbol"||S(n)&&Rn(n)==qn}function dn(n,r){for(var e=-1,t=n==null?0:n.length,a=Array(t);++e<t;)a[e]=r(n[e],e,n);return a}var J=w?w.prototype:void 0,Q=J?J.toString:void 0;function pn(n){if(typeof n=="string")return n;if(T(n))return dn(n,pn)+"";if(N(n))return Q?Q.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Xn(){}function An(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Jn(n,r,e,t){for(var a=n.length,i=e+-1;++i<a;)if(r(n[i],i,n))return i;return-1}function Qn(n){return n!==n}function Wn(n,r,e){for(var t=e-1,a=n.length;++t<a;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Wn(n,r,e):Jn(n,Qn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function $(n){return sn(n)?xn(n):Mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function B(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||N(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=mn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,ar=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,a,i){r.push(a?i.replace(ir,"$1"):t||e)}),r});function fr(n){return n==null?"":pn(n)}function yn(n,r){return T(n)?n:B(n,r)?[n]:ar(fr(n))}function M(n){if(typeof n=="string"||N(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function bn(n,r){r=yn(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:bn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,a=n.length;++e<t;)n[a+e]=r[e];return n}var W=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(W&&n&&n[W])}function Ot(n,r,e,t,a){var i=-1,f=n.length;for(e||(e=ur),a||(a=[]);++i<f;){var s=n[i];e(s)?K(a,s):t||(a[a.length]=s)}return a}function or(n,r,e,t){var a=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++a]);++a<i;)e=r(e,n[a],a,n);return e}function gr(n,r){return n&&x(r,$(r),n)}function lr(n,r){return n&&x(r,U(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,a=0,i=[];++e<t;){var f=n[e];r(f,e,n)&&(i[a++]=f)}return i}function hn(){return[]}var cr=Object.prototype,dr=cr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,H=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return dr.call(n,r)}))}:hn;function pr(n,r){return x(n,H(n),r)}var Ar=Object.getOwnPropertySymbols,wn=Ar?function(n){for(var r=[];n;)K(r,H(n)),n=Cn(n);return r}:hn;function yr(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,$,H)}function br(n){return On(n,U,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var $r=/\w*$/;function _r(n){var r=new n.constructor(n.source,$r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Ir="[object Date]",Pr="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",Mr="[object Symbol]",mr="[object ArrayBuffer]",Cr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Ur="[object Int16Array]",Nr="[object Int32Array]",Br="[object Uint8Array]",Kr="[object Uint8ClampedArray]",Hr="[object Uint16Array]",jr="[object Uint32Array]";function Yr(n,r,e){var t=n.constructor;switch(r){case mr:return on(n);case Er:case Ir:return new t(+n);case Cr:return Or(n,e);case Fr:case Dr:case Gr:case Ur:case Nr:case Br:case Kr:case Hr:case jr:return Fn(n,e);case Pr:return new t;case vr:case xr:return new t(n);case Lr:return _r(n);case Rr:return new t;case Mr:return Sr(n)}}var Zr="[object Map]";function qr(n){return S(n)&&E(n)==Zr}var nn=R&&R.isMap,Xr=nn?gn(nn):qr,Jr="[object Set]";function Qr(n){return S(n)&&E(n)==Jr}var rn=R&&R.isSet,Wr=rn?gn(rn):Qr,zr=1,Vr=2,kr=4,$n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",_n="[object Function]",ie="[object GeneratorFunction]",ae="[object Map]",fe="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",ce="[object ArrayBuffer]",de="[object DataView]",pe="[object Float32Array]",Ae="[object Float64Array]",ye="[object Int8Array]",be="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",$e="[object Uint32Array]",g={};g[$n]=g[ne]=g[ce]=g[de]=g[re]=g[ee]=g[pe]=g[Ae]=g[ye]=g[be]=g[Te]=g[ae]=g[fe]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[$e]=!0;g[te]=g[_n]=g[le]=!1;function C(n,r,e,t,a,i){var f,s=r&zr,u=r&Vr,d=r&kr;if(f!==void 0)return f;if(!ln(n))return n;var l=T(n);if(l){if(f=wr(n),!s)return Dn(n,f)}else{var o=E(n),c=o==_n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==$n||c&&!a){if(f=u||c?{}:Un(n),!s)return u?yr(n,lr(f,n)):pr(n,gr(f,n))}else{if(!g[o])return a?n:{};f=Yr(n,o,s)}}i||(i=new _);var h=i.get(n);if(h)return h;i.set(n,f),Wr(n)?n.forEach(function(p){f.add(C(p,r,e,p,n,i))}):Xr(n)&&n.forEach(function(p,A){f.set(A,C(p,r,e,A,n,i))});var y=d?u?br:G:u?U:$,b=l?void 0:y(n);return An(b||n,function(p,A){b&&(A=p,p=n[A]),Nn(f,A,C(p,r,e,A,n,i))}),f}var _e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,_e),this}function Ee(n){return this.__data__.has(n)}function I(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Bn;++r<e;)this.add(n[r])}I.prototype.add=I.prototype.push=Se;I.prototype.has=Ee;function Ie(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Pe=1,ve=2;function In(n,r,e,t,a,i){var f=e&Pe,s=n.length,u=r.length;if(s!=u&&!(f&&u>s))return!1;var d=i.get(n),l=i.get(r);if(d&&l)return d==r&&l==n;var o=-1,c=!0,h=e&ve?new I:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var y=n[o],b=r[o];if(t)var p=f?t(b,y,o,r,n,i):t(y,b,o,n,r,i);if(p!==void 0){if(p)continue;c=!1;break}if(h){if(!Ie(r,function(A,O){if(!En(h,O)&&(y===A||a(y,A,e,t,i)))return h.push(O)})){c=!1;break}}else if(!(y===b||a(y,b,e,t,i))){c=!1;break}}return i.delete(n),i.delete(r),c}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,a){e[++r]=[a,t]}),e}function j(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,Me="[object Boolean]",me="[object Date]",Ce="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ue="[object Set]",Ne="[object String]",Be="[object Symbol]",Ke="[object ArrayBuffer]",He="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function je(n,r,e,t,a,i,f){switch(e){case He:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new X(n),new X(r)));case Me:case me:case De:return Kn(+n,+r);case Ce:return n.name==r.name&&n.message==r.message;case Ge:case Ne:return n==r+"";case Fe:var s=Le;case Ue:var u=t&Re;if(s||(s=j),n.size!=r.size&&!u)return!1;var d=f.get(n);if(d)return d==r;t|=xe,f.set(n,r);var l=In(s(n),s(r),t,a,i,f);return f.delete(n),l;case Be:if(F)return F.call(n)==F.call(r)}return!1}var Ye=1,Ze=Object.prototype,qe=Ze.hasOwnProperty;function Xe(n,r,e,t,a,i){var f=e&Ye,s=G(n),u=s.length,d=G(r),l=d.length;if(u!=l&&!f)return!1;for(var o=u;o--;){var c=s[o];if(!(f?c in r:qe.call(r,c)))return!1}var h=i.get(n),y=i.get(r);if(h&&y)return h==r&&y==n;var b=!0;i.set(n,r),i.set(r,n);for(var p=f;++o<u;){c=s[o];var A=n[c],O=r[c];if(t)var q=f?t(O,A,c,r,n,i):t(A,O,c,n,r,i);if(!(q===void 0?A===O||a(A,O,e,t,i):q)){b=!1;break}p||(p=c=="constructor")}if(b&&!p){var P=n.constructor,v=r.constructor;P!=v&&"constructor"in n&&"constructor"in r&&!(typeof P=="function"&&P instanceof P&&typeof v=="function"&&v instanceof v)&&(b=!1)}return i.delete(n),i.delete(r),b}var Je=1,tn="[object Arguments]",an="[object Array]",L="[object Object]",Qe=Object.prototype,fn=Qe.hasOwnProperty;function We(n,r,e,t,a,i){var f=T(n),s=T(r),u=f?an:E(n),d=s?an:E(r);u=u==tn?L:u,d=d==tn?L:d;var l=u==L,o=d==L,c=u==d;if(c&&D(n)){if(!D(r))return!1;f=!0,l=!1}if(c&&!l)return i||(i=new _),f||Hn(n)?In(n,r,e,t,a,i):je(n,r,u,e,t,a,i);if(!(e&Je)){var h=l&&fn.call(n,"__wrapped__"),y=o&&fn.call(r,"__wrapped__");if(h||y){var b=h?n.value():n,p=y?r.value():r;return i||(i=new _),a(b,p,e,t,i)}}return c?(i||(i=new _),Xe(n,r,e,t,a,i)):!1}function Y(n,r,e,t,a){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:We(n,r,e,t,Y,a)}var ze=1,Ve=2;function ke(n,r,e,t){var a=e.length,i=a;if(n==null)return!i;for(n=Object(n);a--;){var f=e[a];if(f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++a<i;){f=e[a];var s=f[0],u=n[s],d=f[1];if(f[2]){if(u===void 0&&!(s in n))return!1}else{var l=new _,o;if(!(o===void 0?Y(d,u,ze|Ve,t,l):o))return!1}}return!0}function Pn(n){return n===n&&!ln(n)}function nt(n){for(var r=$(n),e=r.length;e--;){var t=r[e],a=n[t];r[e]=[t,a,Pn(a)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=yn(r,n);for(var t=-1,a=r.length,i=!1;++t<a;){var f=M(r[t]);if(!(i=n!=null&&e(n,f)))break;n=n[f]}return i||++t!=a?i:(a=n==null?0:n.length,!!a&&jn(a)&&Yn(f,a)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var at=1,ft=2;function st(n,r){return B(n)&&Pn(r)?vn(M(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):Y(r,t,at|ft)}}function ut(n){return function(r){return r?.[n]}}function ot(n){return function(r){return bn(r,n)}}function gt(n){return B(n)?ut(M(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&Zn(n,r,$)}function ct(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var a=e.length,i=-1,f=Object(e);++i<a&&t(f[i],i,f)!==!1;);return e}}var Z=ct(lt);function dt(n){return typeof n=="function"?n:cn}function $t(n,r){var e=T(n)?An:Z;return e(n,dt(r))}function pt(n,r){var e=[];return Z(n,function(t,a,i){r(t,a,i)&&e.push(t)}),e}function _t(n,r){var e=T(n)?Tn:pt;return e(n,Ln(r))}function At(n,r){return dn(r,function(e){return n[e]})}function St(n){return n==null?[]:At(n,$(n))}function Et(n){return n===void 0}function yt(n,r,e,t,a){return a(n,function(i,f,s){e=t?(t=!1,i):r(e,i,f,s)}),e}function It(n,r,e){var t=T(n)?or:yt,a=arguments.length<3;return t(n,Ln(r),e,a,Z)}var bt=1/0,Tt=m&&1/j(new m([,-0]))[1]==bt?function(n){return new m(n)}:Xn,ht=200;function Pt(n,r,e){var t=-1,a=Vn,i=n.length,f=!0,s=[],u=s;if(i>=ht){var d=r?null:Tt(n);if(d)return j(d);f=!1,a=En,u=new I}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,f&&o===o){for(var c=u.length;c--;)if(u[c]===o)continue n;r&&u.push(o),s.push(l)}else a(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,pt as B,Ie as C,Xn as D,I as S,Pt as a,C as b,Ot as c,$t as d,N as e,_t as f,Ln as g,Jn as h,Et as i,Z as j,$ as k,dn as l,tt as m,yn as n,bn as o,dt as p,lt as q,It as r,it as s,M as t,fr as u,St as v,Vn as w,En as x,zn as y,br as z};
1
+ import{aH as S,aI as Rn,ax as T,aJ as w,aK as xn,aL as Mn,aw as sn,aM as mn,aN as un,aO as x,au as U,aP as Cn,aQ as on,aR as Fn,aS as E,aF as gn,aT as R,as as ln,aU as Dn,aV as D,aW as Gn,aX as Un,aY as _,aA as Nn,aZ as Bn,av as Kn,a_ as X,a$ as Hn,b0 as jn,az as Yn,ay as cn,aD as Zn,b1 as m}from"./mermaid.core-XU5D2QM-.js";var qn="[object Symbol]";function N(n){return typeof n=="symbol"||S(n)&&Rn(n)==qn}function dn(n,r){for(var e=-1,t=n==null?0:n.length,a=Array(t);++e<t;)a[e]=r(n[e],e,n);return a}var J=w?w.prototype:void 0,Q=J?J.toString:void 0;function pn(n){if(typeof n=="string")return n;if(T(n))return dn(n,pn)+"";if(N(n))return Q?Q.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Xn(){}function An(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Jn(n,r,e,t){for(var a=n.length,i=e+-1;++i<a;)if(r(n[i],i,n))return i;return-1}function Qn(n){return n!==n}function Wn(n,r,e){for(var t=e-1,a=n.length;++t<a;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Wn(n,r,e):Jn(n,Qn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function $(n){return sn(n)?xn(n):Mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function B(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||N(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=mn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,ar=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,a,i){r.push(a?i.replace(ir,"$1"):t||e)}),r});function fr(n){return n==null?"":pn(n)}function yn(n,r){return T(n)?n:B(n,r)?[n]:ar(fr(n))}function M(n){if(typeof n=="string"||N(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function bn(n,r){r=yn(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:bn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,a=n.length;++e<t;)n[a+e]=r[e];return n}var W=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(W&&n&&n[W])}function Ot(n,r,e,t,a){var i=-1,f=n.length;for(e||(e=ur),a||(a=[]);++i<f;){var s=n[i];e(s)?K(a,s):t||(a[a.length]=s)}return a}function or(n,r,e,t){var a=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++a]);++a<i;)e=r(e,n[a],a,n);return e}function gr(n,r){return n&&x(r,$(r),n)}function lr(n,r){return n&&x(r,U(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,a=0,i=[];++e<t;){var f=n[e];r(f,e,n)&&(i[a++]=f)}return i}function hn(){return[]}var cr=Object.prototype,dr=cr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,H=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return dr.call(n,r)}))}:hn;function pr(n,r){return x(n,H(n),r)}var Ar=Object.getOwnPropertySymbols,wn=Ar?function(n){for(var r=[];n;)K(r,H(n)),n=Cn(n);return r}:hn;function yr(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,$,H)}function br(n){return On(n,U,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var $r=/\w*$/;function _r(n){var r=new n.constructor(n.source,$r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Ir="[object Date]",Pr="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",Mr="[object Symbol]",mr="[object ArrayBuffer]",Cr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Ur="[object Int16Array]",Nr="[object Int32Array]",Br="[object Uint8Array]",Kr="[object Uint8ClampedArray]",Hr="[object Uint16Array]",jr="[object Uint32Array]";function Yr(n,r,e){var t=n.constructor;switch(r){case mr:return on(n);case Er:case Ir:return new t(+n);case Cr:return Or(n,e);case Fr:case Dr:case Gr:case Ur:case Nr:case Br:case Kr:case Hr:case jr:return Fn(n,e);case Pr:return new t;case vr:case xr:return new t(n);case Lr:return _r(n);case Rr:return new t;case Mr:return Sr(n)}}var Zr="[object Map]";function qr(n){return S(n)&&E(n)==Zr}var nn=R&&R.isMap,Xr=nn?gn(nn):qr,Jr="[object Set]";function Qr(n){return S(n)&&E(n)==Jr}var rn=R&&R.isSet,Wr=rn?gn(rn):Qr,zr=1,Vr=2,kr=4,$n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",_n="[object Function]",ie="[object GeneratorFunction]",ae="[object Map]",fe="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",ce="[object ArrayBuffer]",de="[object DataView]",pe="[object Float32Array]",Ae="[object Float64Array]",ye="[object Int8Array]",be="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",$e="[object Uint32Array]",g={};g[$n]=g[ne]=g[ce]=g[de]=g[re]=g[ee]=g[pe]=g[Ae]=g[ye]=g[be]=g[Te]=g[ae]=g[fe]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[$e]=!0;g[te]=g[_n]=g[le]=!1;function C(n,r,e,t,a,i){var f,s=r&zr,u=r&Vr,d=r&kr;if(f!==void 0)return f;if(!ln(n))return n;var l=T(n);if(l){if(f=wr(n),!s)return Dn(n,f)}else{var o=E(n),c=o==_n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==$n||c&&!a){if(f=u||c?{}:Un(n),!s)return u?yr(n,lr(f,n)):pr(n,gr(f,n))}else{if(!g[o])return a?n:{};f=Yr(n,o,s)}}i||(i=new _);var h=i.get(n);if(h)return h;i.set(n,f),Wr(n)?n.forEach(function(p){f.add(C(p,r,e,p,n,i))}):Xr(n)&&n.forEach(function(p,A){f.set(A,C(p,r,e,A,n,i))});var y=d?u?br:G:u?U:$,b=l?void 0:y(n);return An(b||n,function(p,A){b&&(A=p,p=n[A]),Nn(f,A,C(p,r,e,A,n,i))}),f}var _e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,_e),this}function Ee(n){return this.__data__.has(n)}function I(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Bn;++r<e;)this.add(n[r])}I.prototype.add=I.prototype.push=Se;I.prototype.has=Ee;function Ie(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Pe=1,ve=2;function In(n,r,e,t,a,i){var f=e&Pe,s=n.length,u=r.length;if(s!=u&&!(f&&u>s))return!1;var d=i.get(n),l=i.get(r);if(d&&l)return d==r&&l==n;var o=-1,c=!0,h=e&ve?new I:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var y=n[o],b=r[o];if(t)var p=f?t(b,y,o,r,n,i):t(y,b,o,n,r,i);if(p!==void 0){if(p)continue;c=!1;break}if(h){if(!Ie(r,function(A,O){if(!En(h,O)&&(y===A||a(y,A,e,t,i)))return h.push(O)})){c=!1;break}}else if(!(y===b||a(y,b,e,t,i))){c=!1;break}}return i.delete(n),i.delete(r),c}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,a){e[++r]=[a,t]}),e}function j(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,Me="[object Boolean]",me="[object Date]",Ce="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ue="[object Set]",Ne="[object String]",Be="[object Symbol]",Ke="[object ArrayBuffer]",He="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function je(n,r,e,t,a,i,f){switch(e){case He:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new X(n),new X(r)));case Me:case me:case De:return Kn(+n,+r);case Ce:return n.name==r.name&&n.message==r.message;case Ge:case Ne:return n==r+"";case Fe:var s=Le;case Ue:var u=t&Re;if(s||(s=j),n.size!=r.size&&!u)return!1;var d=f.get(n);if(d)return d==r;t|=xe,f.set(n,r);var l=In(s(n),s(r),t,a,i,f);return f.delete(n),l;case Be:if(F)return F.call(n)==F.call(r)}return!1}var Ye=1,Ze=Object.prototype,qe=Ze.hasOwnProperty;function Xe(n,r,e,t,a,i){var f=e&Ye,s=G(n),u=s.length,d=G(r),l=d.length;if(u!=l&&!f)return!1;for(var o=u;o--;){var c=s[o];if(!(f?c in r:qe.call(r,c)))return!1}var h=i.get(n),y=i.get(r);if(h&&y)return h==r&&y==n;var b=!0;i.set(n,r),i.set(r,n);for(var p=f;++o<u;){c=s[o];var A=n[c],O=r[c];if(t)var q=f?t(O,A,c,r,n,i):t(A,O,c,n,r,i);if(!(q===void 0?A===O||a(A,O,e,t,i):q)){b=!1;break}p||(p=c=="constructor")}if(b&&!p){var P=n.constructor,v=r.constructor;P!=v&&"constructor"in n&&"constructor"in r&&!(typeof P=="function"&&P instanceof P&&typeof v=="function"&&v instanceof v)&&(b=!1)}return i.delete(n),i.delete(r),b}var Je=1,tn="[object Arguments]",an="[object Array]",L="[object Object]",Qe=Object.prototype,fn=Qe.hasOwnProperty;function We(n,r,e,t,a,i){var f=T(n),s=T(r),u=f?an:E(n),d=s?an:E(r);u=u==tn?L:u,d=d==tn?L:d;var l=u==L,o=d==L,c=u==d;if(c&&D(n)){if(!D(r))return!1;f=!0,l=!1}if(c&&!l)return i||(i=new _),f||Hn(n)?In(n,r,e,t,a,i):je(n,r,u,e,t,a,i);if(!(e&Je)){var h=l&&fn.call(n,"__wrapped__"),y=o&&fn.call(r,"__wrapped__");if(h||y){var b=h?n.value():n,p=y?r.value():r;return i||(i=new _),a(b,p,e,t,i)}}return c?(i||(i=new _),Xe(n,r,e,t,a,i)):!1}function Y(n,r,e,t,a){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:We(n,r,e,t,Y,a)}var ze=1,Ve=2;function ke(n,r,e,t){var a=e.length,i=a;if(n==null)return!i;for(n=Object(n);a--;){var f=e[a];if(f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++a<i;){f=e[a];var s=f[0],u=n[s],d=f[1];if(f[2]){if(u===void 0&&!(s in n))return!1}else{var l=new _,o;if(!(o===void 0?Y(d,u,ze|Ve,t,l):o))return!1}}return!0}function Pn(n){return n===n&&!ln(n)}function nt(n){for(var r=$(n),e=r.length;e--;){var t=r[e],a=n[t];r[e]=[t,a,Pn(a)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=yn(r,n);for(var t=-1,a=r.length,i=!1;++t<a;){var f=M(r[t]);if(!(i=n!=null&&e(n,f)))break;n=n[f]}return i||++t!=a?i:(a=n==null?0:n.length,!!a&&jn(a)&&Yn(f,a)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var at=1,ft=2;function st(n,r){return B(n)&&Pn(r)?vn(M(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):Y(r,t,at|ft)}}function ut(n){return function(r){return r?.[n]}}function ot(n){return function(r){return bn(r,n)}}function gt(n){return B(n)?ut(M(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&Zn(n,r,$)}function ct(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var a=e.length,i=-1,f=Object(e);++i<a&&t(f[i],i,f)!==!1;);return e}}var Z=ct(lt);function dt(n){return typeof n=="function"?n:cn}function $t(n,r){var e=T(n)?An:Z;return e(n,dt(r))}function pt(n,r){var e=[];return Z(n,function(t,a,i){r(t,a,i)&&e.push(t)}),e}function _t(n,r){var e=T(n)?Tn:pt;return e(n,Ln(r))}function At(n,r){return dn(r,function(e){return n[e]})}function St(n){return n==null?[]:At(n,$(n))}function Et(n){return n===void 0}function yt(n,r,e,t,a){return a(n,function(i,f,s){e=t?(t=!1,i):r(e,i,f,s)}),e}function It(n,r,e){var t=T(n)?or:yt,a=arguments.length<3;return t(n,Ln(r),e,a,Z)}var bt=1/0,Tt=m&&1/j(new m([,-0]))[1]==bt?function(n){return new m(n)}:Xn,ht=200;function Pt(n,r,e){var t=-1,a=Vn,i=n.length,f=!0,s=[],u=s;if(i>=ht){var d=r?null:Tt(n);if(d)return j(d);f=!1,a=En,u=new I}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,f&&o===o){for(var c=u.length;c--;)if(u[c]===o)continue n;r&&u.push(o),s.push(l)}else a(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,pt as B,Ie as C,Xn as D,I as S,Pt as a,C as b,Ot as c,$t as d,N as e,_t as f,Ln as g,Jn as h,Et as i,Z as j,$ as k,dn as l,tt as m,yn as n,bn as o,dt as p,lt as q,It as r,it as s,M as t,fr as u,St as v,Vn as w,En as x,zn as y,br as z};
@@ -1,4 +1,4 @@
1
- import{r as E,j as e,c as J}from"./index-FkCpfjDn.js";import{l as he,c as xe,u as ge,d as je,g as fe,i as pe,a as ye,b as ve,e as we}from"./use-memberships-query-BvozDwmN.js";import{aF as ie,u as K,aL as C,aM as O,aw as H,aN as Q,aO as re,aP as oe,aQ as be,ax as Ce,aR as Ne,aS as ee,av as Ae,aT as ke,aU as Se}from"./conversation-input-sync-rMH3OgVN.js";import{c as De,L as Te,T as te,B as o,S as I,a as le,b as M,d as z,e as w,X as Ee,f as b,A as se,g as ae,h as ne}from"./error-boundary-zZlBqg1b.js";import{f as Y,h as Fe,u as _e,i as Pe,a as qe,b as Le,c as Me,O as ze,H as Ie,A as Ke}from"./use-download-agent-mutation-CqFcEPKY.js";import{S as Oe,a as Qe,A as Ue,b as Be,c as Re}from"./index-lkIfxs0B.js";import"./ui-preferences-store-C0rHfuT8.js";import"./en-US-BcB1DWxG.js";import"./book-open-D3nH3Oq3.js";import"./console-mirror-Bzwctj4T.js";/**
1
+ import{r as E,j as e,c as J}from"./index-FkCpfjDn.js";import{l as he,c as xe,u as ge,d as je,g as fe,i as pe,a as ye,b as ve,e as we}from"./use-memberships-query-Bf_-KANH.js";import{aF as ie,u as K,aL as C,aM as O,aw as H,aN as Q,aO as re,aP as oe,aQ as be,ax as Ce,aR as Ne,aS as ee,av as Ae,aT as ke,aU as Se}from"./conversation-input-sync-CyV2Rt9s.js";import{c as De,L as Te,T as te,B as o,S as I,a as le,b as M,d as z,e as w,X as Ee,f as b,A as se,g as ae,h as ne}from"./error-boundary-zZlBqg1b.js";import{f as Y,h as Fe,u as _e,i as Pe,a as qe,b as Le,c as Me,O as ze,H as Ie,A as Ke}from"./use-download-agent-mutation-Uqc8JSLO.js";import{S as Oe,a as Qe,A as Ue,b as Be,c as Re}from"./index-IINfVLtx.js";import"./ui-preferences-store-C0rHfuT8.js";import"./en-US-BcB1DWxG.js";import"./book-open-D3nH3Oq3.js";import"./console-mirror-Bzwctj4T.js";/**
2
2
  * @license lucide-react v0.507.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.