@dotobokuri/fleet-console 1.35.0 → 1.37.0

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 (66) hide show
  1. package/dist/cli.mjs +71 -24
  2. package/dist/client/assets/{_baseUniq--isZn0gt.js → _baseUniq-5ZwChDah.js} +1 -1
  3. package/dist/client/assets/{arc-CbzUc80R.js → arc-E1tMbaFV.js} +1 -1
  4. package/dist/client/assets/{architectureDiagram-Q4EWVU46-KMk7A7ht.js → architectureDiagram-Q4EWVU46-B4NlSadA.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-DXYQGD6D-BDIXylVL.js → blockDiagram-DXYQGD6D-CD-YIRsr.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AHTNJAMY-4BtEjWxc.js → c4Diagram-AHTNJAMY-CnQqEr8G.js} +1 -1
  7. package/dist/client/assets/channel-CmNg3R9J.js +1 -0
  8. package/dist/client/assets/{chunk-4BX2VUAB-B6P7vZc2.js → chunk-4BX2VUAB-CBwcU6wi.js} +1 -1
  9. package/dist/client/assets/{chunk-4TB4RGXK-w5tBo1dz.js → chunk-4TB4RGXK-dvTB68tB.js} +1 -1
  10. package/dist/client/assets/{chunk-55IACEB6-C_Bcd4uB.js → chunk-55IACEB6-BbJgnSb2.js} +1 -1
  11. package/dist/client/assets/{chunk-EDXVE4YY-BikIv-lO.js → chunk-EDXVE4YY-BZmdugC4.js} +1 -1
  12. package/dist/client/assets/{chunk-FMBD7UC4-C785J70Z.js → chunk-FMBD7UC4-DHvrxUgj.js} +1 -1
  13. package/dist/client/assets/{chunk-OYMX7WX6-qhvy0Mwx.js → chunk-OYMX7WX6-DMBZS2Tk.js} +1 -1
  14. package/dist/client/assets/{chunk-QZHKN3VN-28VsIAWd.js → chunk-QZHKN3VN-hdwn0yqd.js} +1 -1
  15. package/dist/client/assets/{chunk-YZCP3GAM-Dj_CFH0t.js → chunk-YZCP3GAM-CbP-7sbL.js} +1 -1
  16. package/dist/client/assets/classDiagram-6PBFFD2Q-C4gcV_Y_.js +1 -0
  17. package/dist/client/assets/classDiagram-v2-HSJHXN6E-C4gcV_Y_.js +1 -0
  18. package/dist/client/assets/clone-Dkpldca2.js +1 -0
  19. package/dist/client/assets/{cose-bilkent-S5V4N54A-CbwRTcWp.js → cose-bilkent-S5V4N54A-CAe4GCGZ.js} +1 -1
  20. package/dist/client/assets/{dagre-KV5264BT-DmTFlNmc.js → dagre-KV5264BT-DMEJwcre.js} +1 -1
  21. package/dist/client/assets/{diagram-5BDNPKRD-D5filFx0.js → diagram-5BDNPKRD-CUNTFHbl.js} +1 -1
  22. package/dist/client/assets/{diagram-G4DWMVQ6-BstKtz5F.js → diagram-G4DWMVQ6-BUR44CTL.js} +1 -1
  23. package/dist/client/assets/{diagram-MMDJMWI5-BubZFKBf.js → diagram-MMDJMWI5-DH10do5_.js} +1 -1
  24. package/dist/client/assets/{diagram-TYMM5635-Dkt0qt66.js → diagram-TYMM5635-CRLToeE6.js} +1 -1
  25. package/dist/client/assets/{erDiagram-SMLLAGMA-D32vcceA.js → erDiagram-SMLLAGMA-Ds8X0gDu.js} +1 -1
  26. package/dist/client/assets/{flowDiagram-DWJPFMVM-8iX8d0Mm.js → flowDiagram-DWJPFMVM-G_d_Gmcs.js} +1 -1
  27. package/dist/client/assets/{ganttDiagram-T4ZO3ILL-DVdts0bT.js → ganttDiagram-T4ZO3ILL-CRvHF2tU.js} +1 -1
  28. package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-C36cV6di.js → gitGraphDiagram-UUTBAWPF-jDeSbU3q.js} +1 -1
  29. package/dist/client/assets/{graph-BfCG4izN.js → graph-5k0aoPuF.js} +1 -1
  30. package/dist/client/assets/index-BwZOsc1k.js +452 -0
  31. package/dist/client/assets/index-BwqqI28y.css +1 -0
  32. package/dist/client/assets/{infoDiagram-42DDH7IO-7hCUS4JK.js → infoDiagram-42DDH7IO-YiEXq-b7.js} +1 -1
  33. package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-DYOGN_tm.js → ishikawaDiagram-UXIWVN3A-DIGUlQBC.js} +1 -1
  34. package/dist/client/assets/{journeyDiagram-VCZTEJTY-C-RaUFGz.js → journeyDiagram-VCZTEJTY-CVUsiYfG.js} +1 -1
  35. package/dist/client/assets/{kanban-definition-6JOO6SKY-7GR2tX78.js → kanban-definition-6JOO6SKY-C7Lu50vq.js} +1 -1
  36. package/dist/client/assets/{layout-C9u6a9pL.js → layout-GNwZ2tq4.js} +1 -1
  37. package/dist/client/assets/{linear-CoxISMQN.js → linear-kMYE-PoA.js} +1 -1
  38. package/dist/client/assets/{mermaid.core-Clx-Pww4.js → mermaid.core-DpzJvKxo.js} +4 -4
  39. package/dist/client/assets/{min-B7iH_omx.js → min-D1uUUV6U.js} +1 -1
  40. package/dist/client/assets/{mindmap-definition-QFDTVHPH-BEg4jpMk.js → mindmap-definition-QFDTVHPH-Ck5YjDOb.js} +1 -1
  41. package/dist/client/assets/{pieDiagram-DEJITSTG-Cu-NdmIs.js → pieDiagram-DEJITSTG-ClEJYViq.js} +1 -1
  42. package/dist/client/assets/{quadrantDiagram-34T5L4WZ-BW_7SRcp.js → quadrantDiagram-34T5L4WZ-D8UalGfe.js} +1 -1
  43. package/dist/client/assets/{requirementDiagram-MS252O5E-C_F2SkO4.js → requirementDiagram-MS252O5E-oPDnadqP.js} +1 -1
  44. package/dist/client/assets/{sankeyDiagram-XADWPNL6-B7f43JV1.js → sankeyDiagram-XADWPNL6-sfj8jPj8.js} +1 -1
  45. package/dist/client/assets/{sequenceDiagram-FGHM5R23-oARdfmhl.js → sequenceDiagram-FGHM5R23-CdNxeg0P.js} +1 -1
  46. package/dist/client/assets/{stateDiagram-FHFEXIEX-VKGucJY7.js → stateDiagram-FHFEXIEX-BlhUqqQz.js} +1 -1
  47. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-DKsRFi9q.js +1 -0
  48. package/dist/client/assets/{timeline-definition-GMOUNBTQ-DsImBBQe.js → timeline-definition-GMOUNBTQ-B5BYCKye.js} +1 -1
  49. package/dist/client/assets/{vennDiagram-DHZGUBPP-DdJLtnOA.js → vennDiagram-DHZGUBPP-BMpktFuz.js} +1 -1
  50. package/dist/client/assets/{wardley-RL74JXVD-Cn3hq_Uh.js → wardley-RL74JXVD-CW3mIBOT.js} +1 -1
  51. package/dist/client/assets/{wardleyDiagram-NUSXRM2D-VZCV5eGr.js → wardleyDiagram-NUSXRM2D-BKMwHoHK.js} +1 -1
  52. package/dist/client/assets/{xychartDiagram-5P7HB3ND-BglQI2vQ.js → xychartDiagram-5P7HB3ND-YCKgsPhn.js} +1 -1
  53. package/dist/client/index.html +4 -3
  54. package/dist/client/theme-boot.js +18 -0
  55. package/dist/fleet-plugins/ledger/routes.mjs +17209 -0
  56. package/dist/fleet-plugins/repository/routes.mjs +18 -9
  57. package/dist/fleet-plugins/scuttlebutt/routes.mjs +23055 -0
  58. package/dist/fleet-plugins/terminal/routes.mjs +84 -15
  59. package/package.json +1 -1
  60. package/dist/client/assets/channel-DNy689Yu.js +0 -1
  61. package/dist/client/assets/classDiagram-6PBFFD2Q-BN9_O5GO.js +0 -1
  62. package/dist/client/assets/classDiagram-v2-HSJHXN6E-BN9_O5GO.js +0 -1
  63. package/dist/client/assets/clone-CYXyhbsy.js +0 -1
  64. package/dist/client/assets/index-0s24Vlsc.css +0 -1
  65. package/dist/client/assets/index-o0x3lJ2C.js +0 -452
  66. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-DfRePizj.js +0 -1
package/dist/cli.mjs CHANGED
@@ -12163,7 +12163,10 @@ var DESKTOP_THEME_EVENT = "desktop:theme";
12163
12163
  var DESKTOP_TITLE_BAR_OVERLAYS = {
12164
12164
  instrument: { color: "#03080e", symbolColor: "#989fa6", height: 43 },
12165
12165
  maritime: { color: "#041729", symbolColor: "#c8c4b7", height: 43 },
12166
- carbon: { color: "#101215", symbolColor: "#bfc1c3", height: 43 }
12166
+ carbon: { color: "#101215", symbolColor: "#bfc1c3", height: 43 },
12167
+ daywatch: { color: "#e6ecf2", symbolColor: "#3e4953", height: 43 },
12168
+ whites: { color: "#eef0f3", symbolColor: "#334055", height: 43 },
12169
+ drydock: { color: "#ddeaf2", symbolColor: "#30475d", height: 43 }
12167
12170
  };
12168
12171
  function desktopThemeSnapshot(theme) {
12169
12172
  return { theme, titleBarOverlay: { ...DESKTOP_TITLE_BAR_OVERLAYS[theme] } };
@@ -12278,7 +12281,7 @@ function readConsoleGeneralSettings(value) {
12278
12281
  const language = value.language === "auto" || value.language === "en" || value.language === "ko" ? value.language : void 0;
12279
12282
  const reducePanelMotion = typeof value.reducePanelMotion === "boolean" ? value.reducePanelMotion : void 0;
12280
12283
  const seenFeatureTours = sanitizeSeenFeatureTours(value.seenFeatureTours);
12281
- const theme = value.theme === "instrument" || value.theme === "maritime" || value.theme === "carbon" ? value.theme : void 0;
12284
+ const theme = value.theme === "instrument" || value.theme === "maritime" || value.theme === "carbon" || value.theme === "daywatch" || value.theme === "whites" || value.theme === "drydock" ? value.theme : void 0;
12282
12285
  const uiFont = sanitizeUiFontSettings(value.uiFont);
12283
12286
  return {
12284
12287
  ...consolePortMode !== void 0 ? { consolePortMode } : {},
@@ -12390,7 +12393,7 @@ async function mutateGlobalSettings(req, res, deps) {
12390
12393
  deps.writeJson(res, 400, { error: "invalid_seen_feature_tours" });
12391
12394
  return;
12392
12395
  }
12393
- if (body2.theme !== void 0 && body2.theme !== "instrument" && body2.theme !== "maritime" && body2.theme !== "carbon") {
12396
+ if (body2.theme !== void 0 && body2.theme !== "instrument" && body2.theme !== "maritime" && body2.theme !== "carbon" && body2.theme !== "daywatch" && body2.theme !== "whites" && body2.theme !== "drydock") {
12394
12397
  deps.writeJson(res, 400, { error: "invalid_theme" });
12395
12398
  return;
12396
12399
  }
@@ -12398,7 +12401,7 @@ async function mutateGlobalSettings(req, res, deps) {
12398
12401
  deps.writeJson(res, 400, { error: "invalid_ui_font" });
12399
12402
  return;
12400
12403
  }
12401
- const theme = body2.theme === "instrument" || body2.theme === "maritime" || body2.theme === "carbon" ? body2.theme : void 0;
12404
+ const theme = body2.theme === "instrument" || body2.theme === "maritime" || body2.theme === "carbon" || body2.theme === "daywatch" || body2.theme === "whites" || body2.theme === "drydock" ? body2.theme : void 0;
12402
12405
  const updated = deps.consoleSettingsStore.update((current) => ({
12403
12406
  ...current,
12404
12407
  version: 1,
@@ -31390,7 +31393,7 @@ var AcpConnection = class extends BaseConnection {
31390
31393
  * @param mcpServers - 에이전트에 연결할 MCP 서버 목록 (선택, 기본: [])
31391
31394
  * @returns 세션 정보
31392
31395
  */
31393
- async createSession(workspace, sessionId, mcpServers, _systemPrompt, strictMcp, effort) {
31396
+ async createSession(workspace, sessionId, mcpServers, systemPrompt, strictMcp, effort) {
31394
31397
  try {
31395
31398
  const agent = this.getAgent();
31396
31399
  const servers = mcpServers ?? [];
@@ -31404,7 +31407,7 @@ var AcpConnection = class extends BaseConnection {
31404
31407
  cwd: workspace,
31405
31408
  mcpServers: servers
31406
31409
  };
31407
- const meta3 = this.buildClaudeSessionMeta(strictMcp, effort);
31410
+ const meta3 = this.buildClaudeSessionMeta(systemPrompt, strictMcp, effort);
31408
31411
  if (meta3) {
31409
31412
  loadSessionParams._meta = meta3;
31410
31413
  }
@@ -31419,7 +31422,7 @@ var AcpConnection = class extends BaseConnection {
31419
31422
  cwd: workspace,
31420
31423
  mcpServers: servers
31421
31424
  };
31422
- const meta3 = this.buildClaudeSessionMeta(strictMcp, effort);
31425
+ const meta3 = this.buildClaudeSessionMeta(systemPrompt, strictMcp, effort);
31423
31426
  if (meta3) {
31424
31427
  newSessionParams._meta = meta3;
31425
31428
  }
@@ -31473,7 +31476,7 @@ var AcpConnection = class extends BaseConnection {
31473
31476
  mcpServers: params.mcpServers,
31474
31477
  ...params.additionalDirectories ? { additionalDirectories: params.additionalDirectories } : {}
31475
31478
  };
31476
- const meta3 = this.buildClaudeSessionMeta(void 0, effort);
31479
+ const meta3 = this.buildClaudeSessionMeta(void 0, void 0, effort);
31477
31480
  if (meta3) {
31478
31481
  loadSessionParams._meta = meta3;
31479
31482
  }
@@ -31539,17 +31542,21 @@ var AcpConnection = class extends BaseConnection {
31539
31542
  isClaudeBackend() {
31540
31543
  return this.cliType === "claude" || this.cliType === "claude-kimi";
31541
31544
  }
31542
- /** Claude bridge 전용 strict-MCP와 effort `_meta`를 조립합니다. */
31543
- buildClaudeSessionMeta(strictMcp, effort) {
31545
+ /** Claude bridge 전용 system prompt replacement, strict-MCP와 effort `_meta`를 조립합니다. */
31546
+ buildClaudeSessionMeta(systemPrompt, strictMcp, effort) {
31544
31547
  if (!this.isClaudeBackend()) {
31545
31548
  return void 0;
31546
31549
  }
31550
+ const shouldReplaceSystemPrompt = !!systemPrompt;
31547
31551
  const shouldInjectStrictMcp = strictMcp;
31548
31552
  const shouldInjectEffort = !!effort;
31549
- if (!shouldInjectStrictMcp && !shouldInjectEffort) {
31553
+ if (!shouldReplaceSystemPrompt && !shouldInjectStrictMcp && !shouldInjectEffort) {
31550
31554
  return void 0;
31551
31555
  }
31552
31556
  const meta3 = {};
31557
+ if (shouldReplaceSystemPrompt) {
31558
+ meta3.systemPrompt = systemPrompt;
31559
+ }
31553
31560
  if (shouldInjectStrictMcp || shouldInjectEffort) {
31554
31561
  const claudeOptions = {};
31555
31562
  if (shouldInjectStrictMcp) {
@@ -32595,6 +32602,7 @@ var UnifiedClaudeAgentClient = class extends EventEmitter {
32595
32602
  sessionId = null;
32596
32603
  sessionCwd = null;
32597
32604
  currentSystemPrompt = null;
32605
+ currentSystemPromptMode = "prepend";
32598
32606
  firstPromptPending = null;
32599
32607
  currentEffort = null;
32600
32608
  detector = new CliDetector();
@@ -32617,6 +32625,13 @@ var UnifiedClaudeAgentClient = class extends EventEmitter {
32617
32625
  }
32618
32626
  async connect(options) {
32619
32627
  await this.disconnect();
32628
+ const systemPromptMode = options.systemPromptMode ?? "prepend";
32629
+ const requestedCli = options.cli ?? this.cliType;
32630
+ if (systemPromptMode === "replace" && requestedCli !== "claude" && requestedCli !== "claude-kimi") {
32631
+ throw new Error(
32632
+ `system prompt replacement is not supported by the "${requestedCli}" backend`
32633
+ );
32634
+ }
32620
32635
  if (options.cli && options.cli !== this.cliType) {
32621
32636
  throw new Error(`UnifiedClaudeAgentClient\uB294 ${this.cliType} CLI\uB9CC \uC9C0\uC6D0\uD569\uB2C8\uB2E4.`);
32622
32637
  }
@@ -32670,7 +32685,7 @@ var UnifiedClaudeAgentClient = class extends EventEmitter {
32670
32685
  options.cwd,
32671
32686
  options.sessionId,
32672
32687
  acpMcpServers,
32673
- void 0,
32688
+ systemPromptMode === "replace" ? options.systemPrompt : void 0,
32674
32689
  options.strictMcp,
32675
32690
  options.effort
32676
32691
  );
@@ -32785,6 +32800,7 @@ var UnifiedClaudeAgentClient = class extends EventEmitter {
32785
32800
  }, this.currentEffort ?? void 0);
32786
32801
  this.sessionId = sessionId;
32787
32802
  this.currentSystemPrompt = null;
32803
+ this.currentSystemPromptMode = "prepend";
32788
32804
  this.firstPromptPending = null;
32789
32805
  }
32790
32806
  async resetSession(cwd) {
@@ -32801,13 +32817,13 @@ var UnifiedClaudeAgentClient = class extends EventEmitter {
32801
32817
  targetCwd,
32802
32818
  void 0,
32803
32819
  void 0,
32804
- void 0,
32820
+ this.currentSystemPromptMode === "replace" ? this.currentSystemPrompt ?? void 0 : void 0,
32805
32821
  void 0,
32806
32822
  this.currentEffort ?? void 0
32807
32823
  );
32808
32824
  this.sessionId = session.sessionId;
32809
32825
  this.sessionCwd = targetCwd;
32810
- this.firstPromptPending = this.currentSystemPrompt;
32826
+ this.firstPromptPending = this.currentSystemPromptMode === "prepend" ? this.currentSystemPrompt : null;
32811
32827
  return {
32812
32828
  cli: this.cliType,
32813
32829
  protocol: "acp",
@@ -32833,7 +32849,8 @@ var UnifiedClaudeAgentClient = class extends EventEmitter {
32833
32849
  this.sessionId = session.sessionId;
32834
32850
  this.sessionCwd = options.cwd;
32835
32851
  this.currentSystemPrompt = options.systemPrompt ?? null;
32836
- this.firstPromptPending = options.sessionId ? null : this.currentSystemPrompt;
32852
+ this.currentSystemPromptMode = options.systemPromptMode ?? "prepend";
32853
+ this.firstPromptPending = options.sessionId || this.currentSystemPromptMode === "replace" ? null : this.currentSystemPrompt;
32837
32854
  this.currentEffort = options.effort ?? null;
32838
32855
  return {
32839
32856
  cli: this.cliType,
@@ -32845,6 +32862,7 @@ var UnifiedClaudeAgentClient = class extends EventEmitter {
32845
32862
  this.sessionId = null;
32846
32863
  this.sessionCwd = null;
32847
32864
  this.currentSystemPrompt = null;
32865
+ this.currentSystemPromptMode = "prepend";
32848
32866
  this.firstPromptPending = null;
32849
32867
  this.currentEffort = null;
32850
32868
  }
@@ -35132,12 +35150,31 @@ var UnifiedAgent = {
35132
35150
  };
35133
35151
 
35134
35152
  // core/host/sse.ts
35153
+ var SSE_KEEPALIVE_INTERVAL_MS = 3e4;
35135
35154
  function encodeSseData(event, data) {
35136
35155
  return `event: ${event}
35137
35156
  data: ${JSON.stringify(data)}
35138
35157
 
35139
35158
  `;
35140
35159
  }
35160
+ function startSseKeepaliveLifecycle(res, onCleanup) {
35161
+ res.setTimeout(0);
35162
+ const interval = setInterval(() => {
35163
+ if (res.writableEnded || res.destroyed) return;
35164
+ res.write(": keepalive\n\n");
35165
+ }, SSE_KEEPALIVE_INTERVAL_MS);
35166
+ interval.unref();
35167
+ let cleanedUp = false;
35168
+ const cleanup = () => {
35169
+ if (cleanedUp) return;
35170
+ cleanedUp = true;
35171
+ clearInterval(interval);
35172
+ onCleanup();
35173
+ };
35174
+ res.on("close", cleanup);
35175
+ res.on("error", cleanup);
35176
+ return cleanup;
35177
+ }
35141
35178
 
35142
35179
  // core/host/codex/cowork/routes.ts
35143
35180
  var CONFLICT_ERRORS = /* @__PURE__ */ new Set(["cowork_busy", "cowork_apply_stale", "cowork_apply_busy", "cowork_apply_stale_revision"]);
@@ -40153,11 +40190,11 @@ var MIME_TYPES = {
40153
40190
  ".svg": "image/svg+xml",
40154
40191
  ".woff2": "font/woff2"
40155
40192
  };
40156
- function createStaticConsoleHandler(packageRoot) {
40193
+ function createStaticConsoleHandler(packageRoot, deps) {
40157
40194
  const consoleRoot = path23__default.join(packageRoot, "dist", "client");
40158
- return (req, res, pathname) => tryServeStaticConsole(req, res, pathname, consoleRoot);
40195
+ return (req, res, pathname) => tryServeStaticConsole(req, res, pathname, consoleRoot, deps?.getActiveTheme);
40159
40196
  }
40160
- function tryServeStaticConsole(req, res, pathname, consoleRoot) {
40197
+ function tryServeStaticConsole(req, res, pathname, consoleRoot, getActiveTheme) {
40161
40198
  if (pathname !== "/console" && !pathname.startsWith("/console/")) return false;
40162
40199
  if (req.method !== "GET" && req.method !== "HEAD") {
40163
40200
  res.writeHead(405, withSecurityHeaders2({ Allow: "GET, HEAD", "Content-Type": "application/json" }));
@@ -40184,19 +40221,19 @@ function tryServeStaticConsole(req, res, pathname, consoleRoot) {
40184
40221
  res.end();
40185
40222
  return true;
40186
40223
  }
40187
- res.end(data);
40224
+ res.end(contentType === MIME_TYPES[".html"] ? injectActiveTheme(data.toString("utf8"), getActiveTheme) : data);
40188
40225
  return true;
40189
40226
  } catch (err) {
40190
40227
  if (err.code !== "ENOENT") throw err;
40191
40228
  if (pathname.startsWith("/console/")) {
40192
- return serveFallbackIndex(req, res, consoleRoot);
40229
+ return serveFallbackIndex(req, res, consoleRoot, getActiveTheme);
40193
40230
  }
40194
40231
  res.writeHead(404, withSecurityHeaders2({ "Content-Type": "application/json" }));
40195
40232
  res.end(JSON.stringify({ error: "Not found" }));
40196
40233
  return true;
40197
40234
  }
40198
40235
  }
40199
- function serveFallbackIndex(req, res, consoleRoot) {
40236
+ function serveFallbackIndex(req, res, consoleRoot, getActiveTheme) {
40200
40237
  try {
40201
40238
  const data = fs10__default.readFileSync(path23__default.join(consoleRoot, "index.html"));
40202
40239
  res.writeHead(200, withSecurityHeaders2({ "Content-Type": MIME_TYPES[".html"] }));
@@ -40204,7 +40241,7 @@ function serveFallbackIndex(req, res, consoleRoot) {
40204
40241
  res.end();
40205
40242
  return true;
40206
40243
  }
40207
- res.end(data);
40244
+ res.end(injectActiveTheme(data.toString("utf8"), getActiveTheme));
40208
40245
  return true;
40209
40246
  } catch (err) {
40210
40247
  if (err.code !== "ENOENT") throw err;
@@ -40213,6 +40250,14 @@ function serveFallbackIndex(req, res, consoleRoot) {
40213
40250
  return true;
40214
40251
  }
40215
40252
  }
40253
+ function injectActiveTheme(html, getActiveTheme) {
40254
+ if (!getActiveTheme) return html;
40255
+ const theme = getActiveTheme();
40256
+ if (theme !== "instrument" && theme !== "maritime" && theme !== "carbon" && theme !== "daywatch" && theme !== "whites" && theme !== "drydock") {
40257
+ return html;
40258
+ }
40259
+ return html.replace('data-theme="instrument"', `data-theme="${theme}" data-theme-source="server"`);
40260
+ }
40216
40261
  function resolveConsolePath(pathname) {
40217
40262
  if (pathname === "/console" || pathname === "/console/") return "index.html";
40218
40263
  if (!pathname.startsWith("/console/")) return null;
@@ -41099,7 +41144,6 @@ function createConsoleServer(deps = {}) {
41099
41144
  const port = deps.port ?? DEFAULT_PORT2;
41100
41145
  const release = deps.release ?? readFleetConsoleRelease();
41101
41146
  const desktop = readDesktopProtocolEnvironment();
41102
- const tryServeStaticConsole2 = createStaticConsoleHandler(release.packageRoot);
41103
41147
  const version2 = deps.version ?? release.version;
41104
41148
  const channel = release.channel;
41105
41149
  const lock = createConsoleLock({ hostname: () => host });
@@ -41114,6 +41158,9 @@ function createConsoleServer(deps = {}) {
41114
41158
  const durablePaths = createConsoleDataPaths({ fleetDataDir: deps.dataDir });
41115
41159
  const durableStateStore = createConsoleDurableStateStore({ paths: durablePaths });
41116
41160
  const consoleSettingsStore = createConsoleSettingsStore({ paths: durablePaths });
41161
+ const tryServeStaticConsole2 = createStaticConsoleHandler(release.packageRoot, {
41162
+ getActiveTheme: () => consoleSettingsStore.load().general?.theme ?? "instrument"
41163
+ });
41117
41164
  const wikiWorkspaceResolver = createWikiWorkspaceResolver({
41118
41165
  ensureWorkspace: (cwd) => {
41119
41166
  const workspace = ensureWorkspaceDirectory(fleetDataDir, cwd);
@@ -41424,7 +41471,7 @@ function createConsoleServer(deps = {}) {
41424
41471
  res.write(":connected\n\n");
41425
41472
  res.write(encodeSseData(DESKTOP_FULLSCREEN_EVENT, desktopFullscreenSnapshot(desktopFullscreen)));
41426
41473
  operationSseSubscribers.add(res);
41427
- res.on("close", () => {
41474
+ startSseKeepaliveLifecycle(res, () => {
41428
41475
  operationSseSubscribers.delete(res);
41429
41476
  });
41430
41477
  }
@@ -1 +1 @@
1
- import{aW as L,bs as ln,aG as A,aU as P,aF as W,bt as gn,bu as dn,bv as hn,bw as z,bx as pn,bn as An,by as m,aX as N,b0 as U,b3 as T,bz as _n,a_ as on,bA as wn,bq as On,aH as V,bo as vn,bB as I}from"./mermaid.core-Clx-Pww4.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function yn(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 yn(n,k)+"";if(x(n))return H?H.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function bn(){}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 Rn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function In(n,r,e){return r===r?Rn(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&In(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,Fn=/\\(\\)?/g,Gn=$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(Fn,"$1"):i||e)}),r});function Dn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Gn(Dn(n))}function R(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[R(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 Xn="__lodash_hash_undefined__";function Yn(n){return this.__data__.set(n,Xn),this}function Jn(n){return this.__data__.has(n)}function y(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}y.prototype.add=y.prototype.push=Yn;y.prototype.has=Jn;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 y: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]",X=P?P.prototype:void 0,S=X?X.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 D=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(D===void 0?O===v||f(O,v,e,i,t):D)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var b=n.constructor,E=r.constructor;b!=E&&"constructor"in n&&"constructor"in r&&!(typeof b=="function"&&b instanceof b&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,Y="[object Arguments]",J="[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?J:N(n),h=u?J:N(r);a=a==Y?c:a,h=h==Y?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 F(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,F,f)}var vr=1,Pr=2;function yr(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?F(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function br(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=br(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||yr(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=R(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 Rr(n,r){return n!=null&&Tr(n,r,cr)}var Ir=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(R(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Rr(e,n):F(r,i,Ir|Sr)}}function xr(n){return function(r){return r?.[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(R(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 Fr(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 G=Fr(Cr);function Gr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?En:G;return e(n,Gr(r))}function Dr(n,r){var e=[];return G(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Zr(n,r){var e=A(n)?en:Dr;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 Xr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,G)}var Nr=1/0,Ur=I&&1/C(new I([,-0]))[1]==Nr?function(n){return new I(n)}:bn,Br=200;function Yr(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 y}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{G as a,Kr as b,an as c,yn as d,rn as e,Zn as f,qn as g,En as h,x as i,Z as j,M as k,Yr as l,Zr as m,qr as n,cn as o,Gr as p,Cr as q,Xr as r,Bn as s,Tr as t,j as u,R as v,nn as w,Rr as x,Dn as y};
1
+ import{aW as L,bs as ln,aG as A,aU as P,aF as W,bt as gn,bu as dn,bv as hn,bw as z,bx as pn,bn as An,by as m,aX as N,b0 as U,b3 as T,bz as _n,a_ as on,bA as wn,bq as On,aH as V,bo as vn,bB as I}from"./mermaid.core-DpzJvKxo.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function yn(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 yn(n,k)+"";if(x(n))return H?H.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function bn(){}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 Rn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function In(n,r,e){return r===r?Rn(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&In(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,Fn=/\\(\\)?/g,Gn=$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(Fn,"$1"):i||e)}),r});function Dn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Gn(Dn(n))}function R(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[R(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 Xn="__lodash_hash_undefined__";function Yn(n){return this.__data__.set(n,Xn),this}function Jn(n){return this.__data__.has(n)}function y(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}y.prototype.add=y.prototype.push=Yn;y.prototype.has=Jn;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 y: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]",X=P?P.prototype:void 0,S=X?X.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 D=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(D===void 0?O===v||f(O,v,e,i,t):D)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var b=n.constructor,E=r.constructor;b!=E&&"constructor"in n&&"constructor"in r&&!(typeof b=="function"&&b instanceof b&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,Y="[object Arguments]",J="[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?J:N(n),h=u?J:N(r);a=a==Y?c:a,h=h==Y?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 F(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,F,f)}var vr=1,Pr=2;function yr(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?F(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function br(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=br(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||yr(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=R(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 Rr(n,r){return n!=null&&Tr(n,r,cr)}var Ir=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(R(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Rr(e,n):F(r,i,Ir|Sr)}}function xr(n){return function(r){return r?.[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(R(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 Fr(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 G=Fr(Cr);function Gr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?En:G;return e(n,Gr(r))}function Dr(n,r){var e=[];return G(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Zr(n,r){var e=A(n)?en:Dr;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 Xr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,G)}var Nr=1/0,Ur=I&&1/C(new I([,-0]))[1]==Nr?function(n){return new I(n)}:bn,Br=200;function Yr(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 y}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{G as a,Kr as b,an as c,yn as d,rn as e,Zn as f,qn as g,En as h,x as i,Z as j,M as k,Yr as l,Zr as m,qr as n,cn as o,Gr as p,Cr as q,Xr as r,Bn as s,Tr as t,j as u,R as v,nn as w,Rr as x,Dn as y};
@@ -1 +1 @@
1
- import{$ as ln,a0 as an,a1 as G,a2 as q,a3 as z,a4 as un,a5 as y,a6 as tn,a7 as K,a8 as _,a9 as rn,aa as o,ab as on,ac as sn,ad as fn}from"./mermaid.core-Clx-Pww4.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,I,D,v,A,B,a){var O=I-l,i=D-h,n=B-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function V(l,h,I,D,v,A,B){var a=l-I,O=h-D,i=(B?A:-A)/K(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,C=(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,S=(g<0?-1:1)*K(on(0,T*T*R-P*P)),$=(P*g-m*S)/R,j=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=$-C,e=j-t,r=w-C,F=p-t;return x*x+e*e>r*r+F*F&&($=w,j=p),{cx:$,cy:j,x01:-n,y01:-d,x11:$*(v/T-1),y11:j*(v/T-1)}}function hn(){var l=cn,h=yn,I=z(0),D=null,v=gn,A=dn,B=mn,a=null,O=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,C=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(C>tn-y)a.moveTo(s*G(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*G(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=C,S=C,$=B.apply(this,arguments)/2,j=$>y&&(D?+D.apply(this,arguments):K(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(j>y){var F=sn(j/u*q($)),L=sn(j/s*q($));(P-=F*2)>y?(F*=t?1:-1,R+=F,T-=F):(P=0,R=T=(f+c)/2),(S-=L*2)>y?(L*=t?1:-1,m+=L,g-=L):(S=0,m=g=(f+c)/2)}var H=s*G(m),J=s*q(m),M=u*G(T),N=u*q(T);if(w>y){var Q=s*G(g),U=s*q(g),W=u*G(R),X=u*q(R),E;if(C<an)if(E=pn(H,J,W,X,Q,U,M,N)){var Y=H-E[0],Z=J-E[1],b=Q-E[0],k=U-E[1],nn=1/q(fn((Y*b+Z*k)/(K(Y*Y+Z*Z)*K(b*b+k*k)))/2),en=K(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=V(W,X,H,J,s,x,t),r=V(Q,U,M,N,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(H,J),a.arc(0,0,s,m,g,!t)):a.moveTo(H,J),!(u>y)||!(P>y)?a.lineTo(M,N):p>y?(e=V(M,N,Q,U,u,-p,t),r=V(H,J,W,X,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[G(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:z(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:z(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:z(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:z(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:z(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:z(+n),i):A},i.padAngle=function(n){return arguments.length?(B=typeof n=="function"?n:z(+n),i):B},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{$ as ln,a0 as an,a1 as G,a2 as q,a3 as z,a4 as un,a5 as y,a6 as tn,a7 as K,a8 as _,a9 as rn,aa as o,ab as on,ac as sn,ad as fn}from"./mermaid.core-DpzJvKxo.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,I,D,v,A,B,a){var O=I-l,i=D-h,n=B-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function V(l,h,I,D,v,A,B){var a=l-I,O=h-D,i=(B?A:-A)/K(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,C=(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,S=(g<0?-1:1)*K(on(0,T*T*R-P*P)),$=(P*g-m*S)/R,j=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=$-C,e=j-t,r=w-C,F=p-t;return x*x+e*e>r*r+F*F&&($=w,j=p),{cx:$,cy:j,x01:-n,y01:-d,x11:$*(v/T-1),y11:j*(v/T-1)}}function hn(){var l=cn,h=yn,I=z(0),D=null,v=gn,A=dn,B=mn,a=null,O=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,C=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(C>tn-y)a.moveTo(s*G(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*G(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=C,S=C,$=B.apply(this,arguments)/2,j=$>y&&(D?+D.apply(this,arguments):K(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(j>y){var F=sn(j/u*q($)),L=sn(j/s*q($));(P-=F*2)>y?(F*=t?1:-1,R+=F,T-=F):(P=0,R=T=(f+c)/2),(S-=L*2)>y?(L*=t?1:-1,m+=L,g-=L):(S=0,m=g=(f+c)/2)}var H=s*G(m),J=s*q(m),M=u*G(T),N=u*q(T);if(w>y){var Q=s*G(g),U=s*q(g),W=u*G(R),X=u*q(R),E;if(C<an)if(E=pn(H,J,W,X,Q,U,M,N)){var Y=H-E[0],Z=J-E[1],b=Q-E[0],k=U-E[1],nn=1/q(fn((Y*b+Z*k)/(K(Y*Y+Z*Z)*K(b*b+k*k)))/2),en=K(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=V(W,X,H,J,s,x,t),r=V(Q,U,M,N,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(H,J),a.arc(0,0,s,m,g,!t)):a.moveTo(H,J),!(u>y)||!(P>y)?a.lineTo(M,N):p>y?(e=V(M,N,Q,U,u,-p,t),r=V(H,J,W,X,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[G(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:z(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:z(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:z(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:z(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:z(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:z(+n),i):A},i.padAngle=function(n){return arguments.length?(B=typeof n=="function"?n:z(+n),i):B},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};