@dotobokuri/fleet-console 1.40.0 → 1.42.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 (70) hide show
  1. package/README.md +2 -3
  2. package/dist/cli.d.ts +2 -1
  3. package/dist/cli.mjs +151 -134
  4. package/dist/client/assets/{_baseUniq-Bao5GOIa.js → _baseUniq-DfRTNtWd.js} +1 -1
  5. package/dist/client/assets/{arc-DnhHMLy9.js → arc-Ds9vyD8n.js} +1 -1
  6. package/dist/client/assets/{architectureDiagram-Q4EWVU46-DAbURr0a.js → architectureDiagram-Q4EWVU46-pZ_1tCpx.js} +1 -1
  7. package/dist/client/assets/{blockDiagram-DXYQGD6D-DE1raZQ6.js → blockDiagram-DXYQGD6D-nntXWaQ9.js} +1 -1
  8. package/dist/client/assets/{c4Diagram-AHTNJAMY-beLZlUB3.js → c4Diagram-AHTNJAMY-AHAd4NjZ.js} +1 -1
  9. package/dist/client/assets/channel-D_VyV3Fr.js +1 -0
  10. package/dist/client/assets/{chunk-4BX2VUAB-DEqdunZS.js → chunk-4BX2VUAB-BNfWXMb-.js} +1 -1
  11. package/dist/client/assets/{chunk-4TB4RGXK-D8i5nx4L.js → chunk-4TB4RGXK-B5MiBj0N.js} +1 -1
  12. package/dist/client/assets/{chunk-55IACEB6-eM3-fH_e.js → chunk-55IACEB6-9vJ9AfWn.js} +1 -1
  13. package/dist/client/assets/{chunk-EDXVE4YY-nQoyt_Pd.js → chunk-EDXVE4YY-CpxmITfr.js} +1 -1
  14. package/dist/client/assets/{chunk-FMBD7UC4-D8Wq8CYj.js → chunk-FMBD7UC4-BoUi1EcN.js} +1 -1
  15. package/dist/client/assets/{chunk-OYMX7WX6-Cx4Wr2ZT.js → chunk-OYMX7WX6-s7qMNTfq.js} +1 -1
  16. package/dist/client/assets/{chunk-QZHKN3VN-BM2v7Krr.js → chunk-QZHKN3VN-Bdgo-JE9.js} +1 -1
  17. package/dist/client/assets/{chunk-YZCP3GAM-zTniPxm7.js → chunk-YZCP3GAM-C9RCb0eu.js} +1 -1
  18. package/dist/client/assets/classDiagram-6PBFFD2Q-TBLL_03g.js +1 -0
  19. package/dist/client/assets/classDiagram-v2-HSJHXN6E-TBLL_03g.js +1 -0
  20. package/dist/client/assets/clone-CYDDwEhh.js +1 -0
  21. package/dist/client/assets/{cose-bilkent-S5V4N54A-B5pl2A_p.js → cose-bilkent-S5V4N54A-Mr2xbCPD.js} +1 -1
  22. package/dist/client/assets/{dagre-KV5264BT-KHPgW9C2.js → dagre-KV5264BT-xIfrxsrb.js} +1 -1
  23. package/dist/client/assets/{diagram-5BDNPKRD-DCv28c7S.js → diagram-5BDNPKRD-BM49JRbq.js} +1 -1
  24. package/dist/client/assets/{diagram-G4DWMVQ6-mT5WQ415.js → diagram-G4DWMVQ6-uMduxuqy.js} +1 -1
  25. package/dist/client/assets/{diagram-MMDJMWI5-iKYfjiRC.js → diagram-MMDJMWI5-BfCnnu9a.js} +1 -1
  26. package/dist/client/assets/{diagram-TYMM5635-_uqBP7vH.js → diagram-TYMM5635-DTVL_WEx.js} +1 -1
  27. package/dist/client/assets/{erDiagram-SMLLAGMA-DxNN1WhN.js → erDiagram-SMLLAGMA-BUQDjGU2.js} +1 -1
  28. package/dist/client/assets/{flowDiagram-DWJPFMVM-DGTsrBvM.js → flowDiagram-DWJPFMVM-RZ85tRp5.js} +1 -1
  29. package/dist/client/assets/{ganttDiagram-T4ZO3ILL-C17hg4lr.js → ganttDiagram-T4ZO3ILL-CenzFyys.js} +1 -1
  30. package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-CeJ25hAd.js → gitGraphDiagram-UUTBAWPF-BpkFTm7f.js} +1 -1
  31. package/dist/client/assets/{graph-BQvb-BfT.js → graph-BlyDgw2r.js} +1 -1
  32. package/dist/client/assets/index-BAMerP8r.js +452 -0
  33. package/dist/client/assets/index-BmGY-BNs.css +1 -0
  34. package/dist/client/assets/{infoDiagram-42DDH7IO-BctsofOZ.js → infoDiagram-42DDH7IO-ZB4pKXQT.js} +1 -1
  35. package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-PiPmxcg9.js → ishikawaDiagram-UXIWVN3A-BfXl0ksQ.js} +1 -1
  36. package/dist/client/assets/{journeyDiagram-VCZTEJTY-BwkjYq3n.js → journeyDiagram-VCZTEJTY-DCSluqxm.js} +1 -1
  37. package/dist/client/assets/{kanban-definition-6JOO6SKY-CSV4dYfF.js → kanban-definition-6JOO6SKY-5X3OxziR.js} +1 -1
  38. package/dist/client/assets/{layout-DdReLJnP.js → layout-C2Jxamqz.js} +1 -1
  39. package/dist/client/assets/{linear-B54euy_k.js → linear-DgO5otCG.js} +1 -1
  40. package/dist/client/assets/{mermaid.core-CF92I5mT.js → mermaid.core-CqKupZd5.js} +4 -4
  41. package/dist/client/assets/{min-BcETQ2qJ.js → min-B9jNVA7s.js} +1 -1
  42. package/dist/client/assets/{mindmap-definition-QFDTVHPH-CrmVPycO.js → mindmap-definition-QFDTVHPH-B_Clh0rq.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-DEJITSTG-B5d4jR0H.js → pieDiagram-DEJITSTG-D1rR7mwo.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-34T5L4WZ-DlgCNExa.js → quadrantDiagram-34T5L4WZ-CGnU5k3k.js} +1 -1
  45. package/dist/client/assets/{requirementDiagram-MS252O5E-CeuVib_X.js → requirementDiagram-MS252O5E-BDFOsklw.js} +1 -1
  46. package/dist/client/assets/{sankeyDiagram-XADWPNL6-Bzxv73ik.js → sankeyDiagram-XADWPNL6-DT-8dpb6.js} +1 -1
  47. package/dist/client/assets/{sequenceDiagram-FGHM5R23-B0Ondg0u.js → sequenceDiagram-FGHM5R23-3IY8NxLM.js} +1 -1
  48. package/dist/client/assets/{stateDiagram-FHFEXIEX-CuNHg5DJ.js → stateDiagram-FHFEXIEX-DqaGlW3D.js} +1 -1
  49. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-2tlPZvTx.js +1 -0
  50. package/dist/client/assets/{timeline-definition-GMOUNBTQ-DXcye6z7.js → timeline-definition-GMOUNBTQ-DmOlxq0r.js} +1 -1
  51. package/dist/client/assets/{vennDiagram-DHZGUBPP-CL4rbpzL.js → vennDiagram-DHZGUBPP-UsUm6iWZ.js} +1 -1
  52. package/dist/client/assets/{wardley-RL74JXVD-rVZBTA_R.js → wardley-RL74JXVD-C0JK7zQx.js} +1 -1
  53. package/dist/client/assets/{wardleyDiagram-NUSXRM2D-Cb8Arj1F.js → wardleyDiagram-NUSXRM2D-pFHz6DzF.js} +1 -1
  54. package/dist/client/assets/{xychartDiagram-5P7HB3ND-C-qp4Say.js → xychartDiagram-5P7HB3ND-Cgy9Igjb.js} +1 -1
  55. package/dist/client/index.html +2 -2
  56. package/dist/fleet-plugins/file-explorer/routes.mjs +484 -56
  57. package/dist/fleet-plugins/ledger/routes.mjs +56 -47
  58. package/dist/fleet-plugins/quota/routes.mjs +19252 -118
  59. package/dist/fleet-plugins/repository/routes.mjs +274 -17
  60. package/dist/fleet-plugins/scuttlebutt/routes.mjs +6 -81
  61. package/dist/fleet-plugins/skills/routes.mjs +1 -46
  62. package/dist/fleet-plugins/terminal/routes.mjs +12535 -1253
  63. package/package.json +1 -1
  64. package/dist/client/assets/channel-Bn1wyUhs.js +0 -1
  65. package/dist/client/assets/classDiagram-6PBFFD2Q-DBE3Ix3c.js +0 -1
  66. package/dist/client/assets/classDiagram-v2-HSJHXN6E-DBE3Ix3c.js +0 -1
  67. package/dist/client/assets/clone-COL47Wy_.js +0 -1
  68. package/dist/client/assets/index-Ca6HkGPQ.css +0 -1
  69. package/dist/client/assets/index-Cr3Xq85X.js +0 -452
  70. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-BVPbUfrG.js +0 -1
package/README.md CHANGED
@@ -34,7 +34,7 @@ The built-in terminal plugin lives at `runtime/fleet-plugins/terminal` (`@fleet-
34
34
 
35
35
  ## Session Binding
36
36
 
37
- When the Terminal plugin creates a terminal session, it generates a session id, resolves the selected Agent CLI through the shared fleet-admiral runtime, and keeps the selected absolute cwd server-side. The plugin records non-secret session metadata for observer hydration through generic console operation and event capabilities.
37
+ When the Terminal plugin creates a terminal session, it generates a session id and resolves every Agent CLI, including AI Gateway operations, through the shared fleet-admiral runtime. It keeps the selected absolute cwd server-side and records non-secret session metadata for observer hydration through generic console operation and event capabilities.
38
38
 
39
39
  Folder selection is handled entirely in the browser UI: the React directory browser modal calls the console-owned `POST /theaters/folders/list` route to browse the server's local filesystem, then calls `POST /theaters/folders/grants` once the operator confirms a directory. The resulting one-use grant is consumed by Theater registration; Shell and Agent launches resolve cwd from the Theater server-side. No OS-native dialog or child process is involved. The browser modal works in remote and headless browser sessions without any OS-level dialog support.
40
40
 
@@ -51,8 +51,7 @@ Codex/Fleet Wiki routes preserve the migrated wiki security boundary: Host allow
51
51
  ## Usage
52
52
 
53
53
  ```bash
54
- fleet console # via fleet-cli
55
- fleet-console # standalone binary
54
+ fleet-console
56
55
  fleet-console status
57
56
  fleet-console stop
58
57
  ```
package/dist/cli.d.ts CHANGED
@@ -122,5 +122,6 @@ declare function assertCliCanControlDaemon(payload: ConsoleLockPayload): void;
122
122
  declare function isLockProcessAlive(pid: number): boolean;
123
123
  declare function runConsoleRestart(deps?: ConsoleRestartDeps): Promise<OpenFleetConsoleResult>;
124
124
  declare function main(): Promise<void>;
125
+ declare function isCliDirectRun(argv1: string | undefined, moduleUrl?: string): boolean;
125
126
 
126
- export { type BuildConsoleHelpTextOptions, type ConsoleCliMode, type ConsoleDaemonLifecycleDeps, type ConsoleHookCommand, type ConsoleRestartDeps, type ConsoleStatusDeps, type ConsoleStopDeps, type OpenFleetConsoleDeps, type OpenFleetConsoleResult, assertCliCanControlDaemon, buildConsoleHelpText, createConsoleDaemonLifecycle, isLockProcessAlive, main, openFleetConsole, parseConsoleCliMode, parseConsoleHookCommand, runConsoleRestart, runConsoleStatus, runConsoleStop };
127
+ export { type BuildConsoleHelpTextOptions, type ConsoleCliMode, type ConsoleDaemonLifecycleDeps, type ConsoleHookCommand, type ConsoleRestartDeps, type ConsoleStatusDeps, type ConsoleStopDeps, type OpenFleetConsoleDeps, type OpenFleetConsoleResult, assertCliCanControlDaemon, buildConsoleHelpText, createConsoleDaemonLifecycle, isCliDirectRun, isLockProcessAlive, main, openFleetConsole, parseConsoleCliMode, parseConsoleHookCommand, runConsoleRestart, runConsoleStatus, runConsoleStop };
package/dist/cli.mjs CHANGED
@@ -902,16 +902,14 @@ function sanitizeGlobalOptionsData(value) {
902
902
  if (value.version !== GLOBAL_OPTIONS_VERSION) {
903
903
  return { data: createEmptyGlobalOptionsData(), changed: true };
904
904
  }
905
- const kimiModel = sanitizeKimiModel(value.kimiModel);
906
905
  const agentIdleDormantMinutes = sanitizeAgentIdleDormantMinutes(value.agentIdleDormantMinutes);
907
906
  const data = {
908
907
  version: GLOBAL_OPTIONS_VERSION,
909
908
  ...typeof value.enableMetaphor === "boolean" ? { enableMetaphor: value.enableMetaphor } : {},
910
- ...kimiModel ? { kimiModel } : {},
911
909
  ...agentIdleDormantMinutes !== void 0 ? { agentIdleDormantMinutes } : {}
912
910
  };
913
- const allowedKeys = /* @__PURE__ */ new Set(["version", "enableMetaphor", "kimiModel", "agentIdleDormantMinutes"]);
914
- const changed = Object.keys(value).some((key) => !allowedKeys.has(key)) || "enableMetaphor" in value && typeof value.enableMetaphor !== "boolean" || "kimiModel" in value && kimiModel === void 0 || "agentIdleDormantMinutes" in value && agentIdleDormantMinutes === void 0;
911
+ const allowedKeys = /* @__PURE__ */ new Set(["version", "enableMetaphor", "agentIdleDormantMinutes"]);
912
+ const changed = Object.keys(value).some((key) => !allowedKeys.has(key)) || "enableMetaphor" in value && typeof value.enableMetaphor !== "boolean" || "agentIdleDormantMinutes" in value && agentIdleDormantMinutes === void 0;
915
913
  return { data, changed };
916
914
  }
917
915
  function sanitizeAgentIdleDormantMinutes(value) {
@@ -919,18 +917,6 @@ function sanitizeAgentIdleDormantMinutes(value) {
919
917
  if (typeof value === "number" && Number.isFinite(value) && Number.isInteger(value) && value > 0) return value;
920
918
  return void 0;
921
919
  }
922
- function sanitizeKimiModel(value) {
923
- if (!isRecord(value)) {
924
- return void 0;
925
- }
926
- if (typeof value.model !== "string" || value.model.length === 0) {
927
- return void 0;
928
- }
929
- return {
930
- model: value.model,
931
- ...typeof value.effort === "string" ? { effort: value.effort } : {}
932
- };
933
- }
934
920
  function isRecord(value) {
935
921
  return typeof value === "object" && value !== null && !Array.isArray(value);
936
922
  }
@@ -1168,7 +1154,6 @@ var CONSOLE_RUNTIME_DIR_NAME = "console";
1168
1154
  var CONSOLE_DATA_DIR_NAME2 = "console";
1169
1155
  var CONSOLE_STATE_FILE_NAME2 = "state.json";
1170
1156
  var CONSOLE_SETTINGS_FILE_NAME2 = "settings.json";
1171
- var CONSOLE_CAPTURES_DIR_NAME2 = "captures";
1172
1157
  function createConsolePaths(deps = {}) {
1173
1158
  const env = deps.env ?? process.env;
1174
1159
  const base = env.FLEET_CONSOLE_DIR ?? defaultConsoleBaseDir(deps);
@@ -1179,8 +1164,7 @@ function createConsoleDataPaths(deps = {}) {
1179
1164
  return {
1180
1165
  dir,
1181
1166
  stateFile: path23__default.join(dir, CONSOLE_STATE_FILE_NAME2),
1182
- settingsFile: path23__default.join(dir, CONSOLE_SETTINGS_FILE_NAME2),
1183
- capturesDir: path23__default.join(dir, CONSOLE_CAPTURES_DIR_NAME2)
1167
+ settingsFile: path23__default.join(dir, CONSOLE_SETTINGS_FILE_NAME2)
1184
1168
  };
1185
1169
  }
1186
1170
  function defaultConsoleBaseDir(deps) {
@@ -13471,10 +13455,10 @@ function mergeDefs(...defs) {
13471
13455
  function cloneDef(schema) {
13472
13456
  return mergeDefs(schema._zod.def);
13473
13457
  }
13474
- function getElementAtPath(obj, path47) {
13475
- if (!path47)
13458
+ function getElementAtPath(obj, path48) {
13459
+ if (!path48)
13476
13460
  return obj;
13477
- return path47.reduce((acc, key) => acc?.[key], obj);
13461
+ return path48.reduce((acc, key) => acc?.[key], obj);
13478
13462
  }
13479
13463
  function promiseAllObject(promisesObj) {
13480
13464
  const keys = Object.keys(promisesObj);
@@ -13883,11 +13867,11 @@ function explicitlyAborted(x, startIndex = 0) {
13883
13867
  }
13884
13868
  return false;
13885
13869
  }
13886
- function prefixIssues(path47, issues) {
13870
+ function prefixIssues(path48, issues) {
13887
13871
  return issues.map((iss) => {
13888
13872
  var _a3;
13889
13873
  (_a3 = iss).path ?? (_a3.path = []);
13890
- iss.path.unshift(path47);
13874
+ iss.path.unshift(path48);
13891
13875
  return iss;
13892
13876
  });
13893
13877
  }
@@ -14034,16 +14018,16 @@ function flattenError(error51, mapper = (issue3) => issue3.message) {
14034
14018
  }
14035
14019
  function formatError(error51, mapper = (issue3) => issue3.message) {
14036
14020
  const fieldErrors = { _errors: [] };
14037
- const processError = (error52, path47 = []) => {
14021
+ const processError = (error52, path48 = []) => {
14038
14022
  for (const issue3 of error52.issues) {
14039
14023
  if (issue3.code === "invalid_union" && issue3.errors.length) {
14040
- issue3.errors.map((issues) => processError({ issues }, [...path47, ...issue3.path]));
14024
+ issue3.errors.map((issues) => processError({ issues }, [...path48, ...issue3.path]));
14041
14025
  } else if (issue3.code === "invalid_key") {
14042
- processError({ issues: issue3.issues }, [...path47, ...issue3.path]);
14026
+ processError({ issues: issue3.issues }, [...path48, ...issue3.path]);
14043
14027
  } else if (issue3.code === "invalid_element") {
14044
- processError({ issues: issue3.issues }, [...path47, ...issue3.path]);
14028
+ processError({ issues: issue3.issues }, [...path48, ...issue3.path]);
14045
14029
  } else {
14046
- const fullpath = [...path47, ...issue3.path];
14030
+ const fullpath = [...path48, ...issue3.path];
14047
14031
  if (fullpath.length === 0) {
14048
14032
  fieldErrors._errors.push(mapper(issue3));
14049
14033
  } else {
@@ -14070,17 +14054,17 @@ function formatError(error51, mapper = (issue3) => issue3.message) {
14070
14054
  }
14071
14055
  function treeifyError(error51, mapper = (issue3) => issue3.message) {
14072
14056
  const result = { errors: [] };
14073
- const processError = (error52, path47 = []) => {
14057
+ const processError = (error52, path48 = []) => {
14074
14058
  var _a3, _b;
14075
14059
  for (const issue3 of error52.issues) {
14076
14060
  if (issue3.code === "invalid_union" && issue3.errors.length) {
14077
- issue3.errors.map((issues) => processError({ issues }, [...path47, ...issue3.path]));
14061
+ issue3.errors.map((issues) => processError({ issues }, [...path48, ...issue3.path]));
14078
14062
  } else if (issue3.code === "invalid_key") {
14079
- processError({ issues: issue3.issues }, [...path47, ...issue3.path]);
14063
+ processError({ issues: issue3.issues }, [...path48, ...issue3.path]);
14080
14064
  } else if (issue3.code === "invalid_element") {
14081
- processError({ issues: issue3.issues }, [...path47, ...issue3.path]);
14065
+ processError({ issues: issue3.issues }, [...path48, ...issue3.path]);
14082
14066
  } else {
14083
- const fullpath = [...path47, ...issue3.path];
14067
+ const fullpath = [...path48, ...issue3.path];
14084
14068
  if (fullpath.length === 0) {
14085
14069
  result.errors.push(mapper(issue3));
14086
14070
  continue;
@@ -14112,8 +14096,8 @@ function treeifyError(error51, mapper = (issue3) => issue3.message) {
14112
14096
  }
14113
14097
  function toDotPath(_path) {
14114
14098
  const segs = [];
14115
- const path47 = _path.map((seg) => typeof seg === "object" ? seg.key : seg);
14116
- for (const seg of path47) {
14099
+ const path48 = _path.map((seg) => typeof seg === "object" ? seg.key : seg);
14100
+ for (const seg of path48) {
14117
14101
  if (typeof seg === "number")
14118
14102
  segs.push(`[${seg}]`);
14119
14103
  else if (typeof seg === "symbol")
@@ -26777,13 +26761,13 @@ function resolveRef(ref, ctx) {
26777
26761
  if (!ref.startsWith("#")) {
26778
26762
  throw new Error("External $ref is not supported, only local refs (#/...) are allowed");
26779
26763
  }
26780
- const path47 = ref.slice(1).split("/").filter(Boolean);
26781
- if (path47.length === 0) {
26764
+ const path48 = ref.slice(1).split("/").filter(Boolean);
26765
+ if (path48.length === 0) {
26782
26766
  return ctx.rootSchema;
26783
26767
  }
26784
26768
  const defsKey = ctx.version === "draft-2020-12" ? "$defs" : "definitions";
26785
- if (path47[0] === defsKey) {
26786
- const key = path47[1];
26769
+ if (path48[0] === defsKey) {
26770
+ const key = path48[1];
26787
26771
  if (!key || !ctx.defs[key]) {
26788
26772
  throw new Error(`Reference not found: ${ref}`);
26789
26773
  }
@@ -31488,7 +31472,7 @@ var AcpConnection = class extends BaseConnection {
31488
31472
  }
31489
31473
  /** Claude 계열 브릿지인지 여부를 단일 판별 지점으로 유지합니다. */
31490
31474
  isClaudeBackend() {
31491
- return this.cliType === "claude" || this.cliType === "claude-kimi";
31475
+ return this.cliType === "claude";
31492
31476
  }
31493
31477
  /** Claude bridge 전용 system prompt replacement, strict-MCP와 effort `_meta`를 조립합니다. */
31494
31478
  buildClaudeSessionMeta(systemPrompt, strictMcp, effort) {
@@ -31954,22 +31938,6 @@ var models_default = {
31954
31938
  { modelId: "claude-opus-4-8[1m]", name: "Claude Opus 4.8 [1M]", effort: { supported: true, levels: ["low", "medium", "high", "xhigh", "max"], default: "high" } }
31955
31939
  ]
31956
31940
  },
31957
- "claude-kimi": {
31958
- name: "Kimi via Claude Code",
31959
- defaultModel: "kimi-for-coding",
31960
- models: [
31961
- { modelId: "kimi-for-coding", name: "Kimi for Coding", description: "Available on every Kimi Code membership tier (262K context)", effort: { supported: false }, contextWindow: 262144 },
31962
- { modelId: "k3", name: "Kimi K3", description: "Available on Moderato and higher tiers (262K context)", effort: { supported: true, levels: ["low", "high", "max"], default: "high" }, contextWindow: 262144 },
31963
- { modelId: "k3[1m]", name: "Kimi K3 [1M]", description: "Available on Allegretto and higher tiers (1M context)", effort: { supported: true, levels: ["low", "high", "max"], default: "high" }, contextWindow: 1048576 },
31964
- { modelId: "kimi-for-coding-highspeed", name: "Kimi for Coding Highspeed", description: "Available on Allegretto and higher tiers (262K context)", effort: { supported: false }, contextWindow: 262144 }
31965
- ],
31966
- modelsMapping: {
31967
- haiku: "kimi-for-coding",
31968
- sonnet: "kimi-for-coding",
31969
- opus: "kimi-for-coding",
31970
- fable: "kimi-for-coding"
31971
- }
31972
- },
31973
31941
  codex: {
31974
31942
  name: "Codex",
31975
31943
  defaultModel: "gpt-5.6-sol",
@@ -32085,16 +32053,13 @@ var ModelEntrySchema = external_exports.object({
32085
32053
  });
32086
32054
  }
32087
32055
  });
32088
- var ModelsMappingSchema = external_exports.record(external_exports.string(), external_exports.string());
32089
32056
  var ProviderSchema = external_exports.object({
32090
32057
  /** 프로바이더 표시 이름 */
32091
32058
  name: external_exports.string(),
32092
32059
  /** 기본 모델 ID */
32093
32060
  defaultModel: external_exports.string(),
32094
32061
  /** 사용 가능한 모델 목록 */
32095
- models: external_exports.array(ModelEntrySchema).min(1),
32096
- /** modelId와 연관된 매핑 모델 (선택) */
32097
- modelsMapping: ModelsMappingSchema.optional()
32062
+ models: external_exports.array(ModelEntrySchema).min(1)
32098
32063
  }).check((ctx) => {
32099
32064
  const ids = new Set(ctx.value.models.map((m) => m.modelId));
32100
32065
  if (!ids.has(ctx.value.defaultModel)) {
@@ -32164,13 +32129,6 @@ function resolveCursorSpawnModel(modelId, effort) {
32164
32129
  }
32165
32130
  return model.spawnModelTemplate.replace("{effort}", resolvedLevel);
32166
32131
  }
32167
- function getProviderModelsMapping(cli) {
32168
- const provider = registry2.providers[cli];
32169
- if (!provider) {
32170
- throw new Error(`\uC54C \uC218 \uC5C6\uB294 \uD504\uB85C\uBC14\uC774\uB354: "${cli}"`);
32171
- }
32172
- return provider.modelsMapping ? structuredClone(provider.modelsMapping) : null;
32173
- }
32174
32132
  function findProviderModel(cli, modelId) {
32175
32133
  const provider = registry2.providers[cli];
32176
32134
  if (!provider) {
@@ -32202,32 +32160,6 @@ var CLI_BACKENDS = {
32202
32160
  usesNpxBridge: true,
32203
32161
  defaultMaxTokens: 16384
32204
32162
  },
32205
- "claude-kimi": {
32206
- id: "claude-kimi",
32207
- cliCommand: "claude",
32208
- protocol: "acp",
32209
- authRequired: true,
32210
- npxPackage: "@agentclientprotocol/claude-agent-acp@0.33.1",
32211
- modes: [
32212
- { id: "default", label: "Default" },
32213
- { id: "plan", label: "Plan" },
32214
- { id: "bypassPermissions", label: "YOLO" }
32215
- ],
32216
- supportsSessionClose: true,
32217
- supportsSessionLoad: true,
32218
- requiresModelAtSpawn: false,
32219
- usesNpxBridge: true,
32220
- defaultMaxTokens: 262144,
32221
- defaultEnv: {
32222
- ANTHROPIC_BASE_URL: "https://api.kimi.com/coding/",
32223
- ANTHROPIC_MODEL: "kimi-for-coding",
32224
- ANTHROPIC_DEFAULT_HAIKU_MODEL: "kimi-for-coding",
32225
- ANTHROPIC_DEFAULT_SONNET_MODEL: "kimi-for-coding",
32226
- ANTHROPIC_DEFAULT_OPUS_MODEL: "kimi-for-coding",
32227
- CLAUDE_CODE_SUBAGENT_MODEL: "kimi-for-coding",
32228
- API_TIMEOUT_MS: "3000000"
32229
- }
32230
- },
32231
32163
  codex: {
32232
32164
  id: "codex",
32233
32165
  cliCommand: "codex",
@@ -32304,7 +32236,6 @@ function getBackendConfig(cli) {
32304
32236
  function getYoloModeId(cli) {
32305
32237
  switch (cli) {
32306
32238
  case "claude":
32307
- case "claude-kimi":
32308
32239
  return "bypassPermissions";
32309
32240
  case "cursor":
32310
32241
  return "agent";
@@ -32519,11 +32450,7 @@ var UnifiedClaudeAgentClient = class extends EventEmitter {
32519
32450
  firstPromptPending = null;
32520
32451
  currentEffort = null;
32521
32452
  detector = new CliDetector();
32522
- cliType;
32523
- constructor(cliType = "claude") {
32524
- super();
32525
- this.cliType = cliType;
32526
- }
32453
+ cliType = "claude";
32527
32454
  on(event, listener) {
32528
32455
  return super.on(event, listener);
32529
32456
  }
@@ -32539,31 +32466,14 @@ var UnifiedClaudeAgentClient = class extends EventEmitter {
32539
32466
  async connect(options) {
32540
32467
  await this.disconnect();
32541
32468
  const systemPromptMode = options.systemPromptMode ?? "prepend";
32542
- const requestedCli = options.cli ?? this.cliType;
32543
- if (systemPromptMode === "replace" && requestedCli !== "claude" && requestedCli !== "claude-kimi") {
32544
- throw new Error(
32545
- `system prompt replacement is not supported by the "${requestedCli}" backend`
32546
- );
32547
- }
32548
32469
  if (options.cli && options.cli !== this.cliType) {
32549
32470
  throw new Error(`UnifiedClaudeAgentClient\uB294 ${this.cliType} CLI\uB9CC \uC9C0\uC6D0\uD569\uB2C8\uB2E4.`);
32550
32471
  }
32551
32472
  const acpMcpServers = this.resolveMcpServers(options.mcpServers);
32552
32473
  const spawnConfig = createSpawnConfig(this.cliType, options);
32553
- const modelsMapping = getProviderModelsMapping(this.cliType);
32554
- const mappingEnv = {};
32555
- if (modelsMapping) {
32556
- for (const [modelId, mappedModel] of Object.entries(modelsMapping)) {
32557
- const envKey = `ANTHROPIC_DEFAULT_${modelId.toUpperCase()}_MODEL`;
32558
- mappingEnv[envKey] = mappedModel;
32559
- }
32560
- }
32561
32474
  const backendConfig = getBackendConfig(this.cliType);
32562
32475
  const defaultEnv = backendConfig.defaultEnv ?? {};
32563
- const cleanEnv = cleanEnvironment(process.env, { ...defaultEnv, ...mappingEnv, ...options.env });
32564
- if (this.cliType === "claude-kimi") {
32565
- delete cleanEnv.ANTHROPIC_AUTH_TOKEN;
32566
- }
32476
+ const cleanEnv = cleanEnvironment(process.env, { ...defaultEnv, ...options.env });
32567
32477
  if (defaultEnv.ANTHROPIC_BASE_URL && !cleanEnv.ANTHROPIC_API_KEY && !cleanEnv.ANTHROPIC_AUTH_TOKEN) {
32568
32478
  throw new Error(
32569
32479
  `[${this.cliType}] ANTHROPIC_API_KEY \uD658\uACBD\uBCC0\uC218\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. ${getProviderModels(this.cliType).name} API \uD0A4\uB97C \uC124\uC815\uD574\uC8FC\uC138\uC694.`
@@ -34714,8 +34624,7 @@ var UnifiedAgent = {
34714
34624
  createClient(cli) {
34715
34625
  switch (cli) {
34716
34626
  case "claude":
34717
- case "claude-kimi":
34718
- return new UnifiedClaudeAgentClient(cli);
34627
+ return new UnifiedClaudeAgentClient();
34719
34628
  case "codex":
34720
34629
  return new UnifiedCodexAgentClient();
34721
34630
  case "cursor":
@@ -34732,7 +34641,7 @@ var UnifiedAgent = {
34732
34641
  const preferred = await new CliDetector().getPreferred();
34733
34642
  if (!preferred) {
34734
34643
  throw new Error(
34735
- "\uC0AC\uC6A9 \uAC00\uB2A5\uD55C CLI\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. claude, claude-kimi, codex, cursor \uC911 \uD558\uB098\uB97C \uC124\uCE58\uD574\uC8FC\uC138\uC694."
34644
+ "\uC0AC\uC6A9 \uAC00\uB2A5\uD55C CLI\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. claude, codex, cursor \uC911 \uD558\uB098\uB97C \uC124\uCE58\uD574\uC8FC\uC138\uC694."
34736
34645
  );
34737
34646
  }
34738
34647
  return this.createClient(preferred.cli);
@@ -36411,7 +36320,8 @@ function issueSessionToken(deps, sessionTokensByLabel, request) {
36411
36320
  const tokens = [];
36412
36321
  try {
36413
36322
  for (const { name, runtime } of deps.runtimes) {
36414
- const tools = runtime.registry.getAllAgentTools();
36323
+ const allTools = runtime.registry.getAllAgentTools();
36324
+ const tools = request.includeTool ? allTools.filter((tool) => request.includeTool?.(tool.id) ?? true) : allTools;
36415
36325
  assertNonEmptyExecutorTools(name, tools);
36416
36326
  const token = crypto2.randomUUID();
36417
36327
  registerExecutorSessionTools(runtime, token, tools);
@@ -38415,6 +38325,95 @@ function sanitizeReplacementNodes(nextNodes) {
38415
38325
  }
38416
38326
  return result;
38417
38327
  }
38328
+ var LEGACY_CAPTURES_DIR_NAME = "captures";
38329
+ function migrateLegacyCaptures(deps) {
38330
+ try {
38331
+ migrateLegacyCapturesStrict(deps);
38332
+ } catch (error51) {
38333
+ console.warn(`[fleet-console] Legacy capture migration skipped: ${error51 instanceof Error ? error51.message : String(error51)}`);
38334
+ }
38335
+ }
38336
+ function migrateLegacyCapturesStrict(deps) {
38337
+ if (!path23__default.isAbsolute(deps.consoleDataDir)) return;
38338
+ const capturesDir = path23__default.join(deps.consoleDataDir, LEGACY_CAPTURES_DIR_NAME);
38339
+ if (!fs10__default.existsSync(capturesDir)) return;
38340
+ let migrated = false;
38341
+ let retained = false;
38342
+ try {
38343
+ const entries = fs10__default.readdirSync(capturesDir);
38344
+ for (const entry of entries) {
38345
+ if (!entry.endsWith(".json")) continue;
38346
+ const operationId = entry.slice(0, -".json".length);
38347
+ if (!isSafeCaptureId(operationId)) continue;
38348
+ try {
38349
+ const outcome = processCaptureFile(deps, capturesDir, operationId, entry);
38350
+ if (outcome.migrated) migrated = true;
38351
+ if (outcome.retained) retained = true;
38352
+ } catch (error51) {
38353
+ retained = true;
38354
+ console.warn(`[fleet-console] Legacy capture migrate failed for ${entry}: ${error51 instanceof Error ? error51.message : String(error51)}`);
38355
+ }
38356
+ }
38357
+ } catch (error51) {
38358
+ retained = true;
38359
+ console.warn(`[fleet-console] Legacy capture directory read failed: ${error51 instanceof Error ? error51.message : String(error51)}`);
38360
+ }
38361
+ let saved = false;
38362
+ if (migrated) {
38363
+ try {
38364
+ deps.save?.();
38365
+ saved = true;
38366
+ } catch (error51) {
38367
+ console.warn(`[fleet-console] Legacy capture migration save failed: ${error51 instanceof Error ? error51.message : String(error51)}`);
38368
+ }
38369
+ }
38370
+ if ((!migrated || saved) && !retained) {
38371
+ try {
38372
+ fs10__default.rmSync(capturesDir, { recursive: true, force: true });
38373
+ } catch (error51) {
38374
+ console.warn(`[fleet-console] Legacy captures directory removal failed: ${error51 instanceof Error ? error51.message : String(error51)}`);
38375
+ }
38376
+ }
38377
+ }
38378
+ function processCaptureFile(deps, capturesDir, operationId, entry) {
38379
+ const operation = deps.operations.get(operationId);
38380
+ if (operation) {
38381
+ if (hasProviderSession(operation.payload)) return { migrated: false, retained: false };
38382
+ const filePath = path23__default.join(capturesDir, entry);
38383
+ const parsed = JSON.parse(fs10__default.readFileSync(filePath, "utf8"));
38384
+ const providerSession = sanitizeProviderSession(parsed);
38385
+ if (!providerSession) return { migrated: false, retained: false };
38386
+ deps.operations.patch(operationId, {
38387
+ payload: { ...operation.payload, providerSession }
38388
+ });
38389
+ return { migrated: true, retained: false };
38390
+ }
38391
+ const tombstoned = deps.tombstonedOperations?.find((candidate) => candidate.id === operationId);
38392
+ if (tombstoned && !hasProviderSession(tombstoned.payload)) {
38393
+ return { migrated: false, retained: true };
38394
+ }
38395
+ return { migrated: false, retained: false };
38396
+ }
38397
+ function hasProviderSession(payload) {
38398
+ return sanitizeProviderSession(payload?.providerSession) !== void 0;
38399
+ }
38400
+ function sanitizeProviderSession(value) {
38401
+ if (!value || typeof value !== "object" || Array.isArray(value)) return void 0;
38402
+ const candidate = value;
38403
+ if (candidate.provider !== "claude" && candidate.provider !== "codex" || typeof candidate.sessionId !== "string" || typeof candidate.capturedAt !== "string") {
38404
+ return void 0;
38405
+ }
38406
+ return {
38407
+ provider: candidate.provider,
38408
+ sessionId: candidate.sessionId,
38409
+ capturedAt: candidate.capturedAt,
38410
+ ...typeof candidate.transcriptPath === "string" && candidate.transcriptPath.length > 0 ? { transcriptPath: candidate.transcriptPath } : {},
38411
+ ...typeof candidate.source === "string" && candidate.source.length > 0 ? { source: candidate.source } : {}
38412
+ };
38413
+ }
38414
+ function isSafeCaptureId(value) {
38415
+ return value.length > 0 && path23__default.basename(value) === value && !value.includes(path23__default.sep) && !value.includes(path23__default.posix.sep);
38416
+ }
38418
38417
 
38419
38418
  // sdk/version.ts
38420
38419
  var SDK_API_VERSION = 1;
@@ -40324,9 +40323,14 @@ function createConsoleServer(deps = {}) {
40324
40323
  },
40325
40324
  registerSseChannel: () => () => void 0
40326
40325
  },
40326
+ server: {
40327
+ origin: () => {
40328
+ const activePort = lockHandle?.payload.port ?? port;
40329
+ return activePort ? `http://127.0.0.1:${activePort}` : null;
40330
+ }
40331
+ },
40327
40332
  paths: {
40328
40333
  fleetDataDir,
40329
- capturesDir: durablePaths.capturesDir,
40330
40334
  pluginDataDir: (pluginId) => path23__default.join(durablePaths.dir, "plugins", pluginId),
40331
40335
  resolveTheaterPath: (theaterId) => theaters.get(theaterId)?.realpath ?? null,
40332
40336
  canonicalizeTheaterPath: canonicalizeTheaterPathSync,
@@ -40973,6 +40977,13 @@ function createConsoleServer(deps = {}) {
40973
40977
  operations.replaceGroups([]);
40974
40978
  }
40975
40979
  deletionCoordinator.load(state.deletionTombstones ?? []);
40980
+ migrateLegacyCaptures({
40981
+ consoleDataDir: durablePaths.dir,
40982
+ operations,
40983
+ // 삭제 유예 중인 Operation은 live store에 없으므로 tombstone에서 flatten해 넘긴다.
40984
+ tombstonedOperations: deletionCoordinator.list().flatMap((tombstone) => tombstone.kind === "operation" ? [tombstone.operation] : tombstone.operations),
40985
+ save: () => saveDurableState(deletionCoordinator.list())
40986
+ });
40976
40987
  try {
40977
40988
  deletionCoordinator.sweepExpired();
40978
40989
  } catch (error51) {
@@ -41380,12 +41391,12 @@ function parseConsoleCliMode(argv) {
41380
41391
  mode = "status";
41381
41392
  } else {
41382
41393
  throw new Error(`Unknown fleet console command: ${first}
41383
- Run 'fleet console --help' for usage.`);
41394
+ Run 'fleet-console --help' for usage.`);
41384
41395
  }
41385
41396
  for (const arg of rest) {
41386
41397
  if (arg === "--help" || arg === "-h") return "help";
41387
41398
  throw new Error(`Unknown fleet console option: ${arg}
41388
- Run 'fleet console --help' for usage.`);
41399
+ Run 'fleet-console --help' for usage.`);
41389
41400
  }
41390
41401
  return mode;
41391
41402
  }
@@ -41413,8 +41424,7 @@ function buildConsoleHelpText(options = {}) {
41413
41424
  dim("Observe carrier jobs, live output streams, and console-owned terminal sessions.", colorEnabled),
41414
41425
  "",
41415
41426
  section("USAGE", colorEnabled),
41416
- ` ${command("fleet console", colorEnabled)} ${dim("[start|stop|restart|status] [--help]", colorEnabled)}`,
41417
- ` ${dim("Standalone binary:", colorEnabled)} ${command("fleet-console", colorEnabled)} ${dim("[start|stop|restart|status]", colorEnabled)}`,
41427
+ ` ${command("fleet-console", colorEnabled)} ${dim("[start|stop|restart|status] [--help]", colorEnabled)}`,
41418
41428
  "",
41419
41429
  section("COMMANDS", colorEnabled),
41420
41430
  ` ${command("start", colorEnabled)} ${dim("Ensure the local Fleet Console server, then open it in your browser. (default)", colorEnabled)}`,
@@ -41426,10 +41436,10 @@ function buildConsoleHelpText(options = {}) {
41426
41436
  ` ${option("--help, -h", colorEnabled)} ${dim("Show this help message and exit.", colorEnabled)}`,
41427
41437
  "",
41428
41438
  section("EXAMPLES", colorEnabled),
41429
- ` ${command("fleet console", colorEnabled)}`,
41430
- ` ${command("fleet console status", colorEnabled)}`,
41431
- ` ${command("fleet console restart", colorEnabled)}`,
41432
- ` ${command("fleet console stop", colorEnabled)}`,
41439
+ ` ${command("fleet-console", colorEnabled)}`,
41440
+ ` ${command("fleet-console status", colorEnabled)}`,
41441
+ ` ${command("fleet-console restart", colorEnabled)}`,
41442
+ ` ${command("fleet-console stop", colorEnabled)}`,
41433
41443
  ""
41434
41444
  ];
41435
41445
  const text = lines.join("\n");
@@ -41672,8 +41682,15 @@ function readStdinBestEffort() {
41672
41682
  });
41673
41683
  });
41674
41684
  }
41675
- var isDirectRun = process4.argv[1] && path23__default.resolve(process4.argv[1]) === fileURLToPath(import.meta.url);
41676
- if (isDirectRun) {
41685
+ function isCliDirectRun(argv1, moduleUrl = import.meta.url) {
41686
+ if (!argv1) return false;
41687
+ try {
41688
+ return fs10__default.realpathSync(path23__default.resolve(argv1)) === fs10__default.realpathSync(fileURLToPath(moduleUrl));
41689
+ } catch {
41690
+ return false;
41691
+ }
41692
+ }
41693
+ if (isCliDirectRun(process4.argv[1])) {
41677
41694
  await main().catch((error51) => {
41678
41695
  process4.stderr.write(`${error51 instanceof Error ? error51.message : String(error51)}
41679
41696
  `);
@@ -41681,4 +41698,4 @@ if (isDirectRun) {
41681
41698
  });
41682
41699
  }
41683
41700
 
41684
- export { assertCliCanControlDaemon, buildConsoleHelpText, createConsoleDaemonLifecycle, isLockProcessAlive, main, openFleetConsole, parseConsoleCliMode, parseConsoleHookCommand, runConsoleRestart, runConsoleStatus, runConsoleStop };
41701
+ export { assertCliCanControlDaemon, buildConsoleHelpText, createConsoleDaemonLifecycle, isCliDirectRun, isLockProcessAlive, main, openFleetConsole, parseConsoleCliMode, parseConsoleHookCommand, runConsoleRestart, runConsoleStatus, runConsoleStop };
@@ -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-CF92I5mT.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-CqKupZd5.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-CF92I5mT.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-CqKupZd5.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};