@dotobokuri/fleet-console 1.60.0 → 1.62.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 (69) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.d.ts +13 -2
  3. package/dist/cli.mjs +296 -39
  4. package/dist/client/assets/{_baseUniq-CA3I-KTP.js → _baseUniq-B6CLI4cf.js} +1 -1
  5. package/dist/client/assets/{arc-DOkIWugv.js → arc-r3CRqUQ5.js} +1 -1
  6. package/dist/client/assets/{architectureDiagram-Q4EWVU46--Z_t3Gn9.js → architectureDiagram-Q4EWVU46-CJfgw2eJ.js} +1 -1
  7. package/dist/client/assets/{blockDiagram-DXYQGD6D-CrRA5qvl.js → blockDiagram-DXYQGD6D-CkBuOBUs.js} +1 -1
  8. package/dist/client/assets/{c4Diagram-AHTNJAMY-DKvbMOAM.js → c4Diagram-AHTNJAMY-Ln5TenJL.js} +1 -1
  9. package/dist/client/assets/channel-DBCxCWtI.js +1 -0
  10. package/dist/client/assets/{chunk-4BX2VUAB-D6wc2KrB.js → chunk-4BX2VUAB-BiYTw90k.js} +1 -1
  11. package/dist/client/assets/{chunk-4TB4RGXK-B4QvYh7f.js → chunk-4TB4RGXK-nPQaGu1w.js} +1 -1
  12. package/dist/client/assets/{chunk-55IACEB6-B0VZPoad.js → chunk-55IACEB6-BU2oCJkl.js} +1 -1
  13. package/dist/client/assets/{chunk-EDXVE4YY-BdHIgvVh.js → chunk-EDXVE4YY-Ej7y6KOv.js} +1 -1
  14. package/dist/client/assets/{chunk-FMBD7UC4-BAYTd_pU.js → chunk-FMBD7UC4-hOkBpfhE.js} +1 -1
  15. package/dist/client/assets/{chunk-OYMX7WX6-DkZ-neug.js → chunk-OYMX7WX6-Cv43HwvT.js} +1 -1
  16. package/dist/client/assets/{chunk-QZHKN3VN-B5h7E8GE.js → chunk-QZHKN3VN-Bi7AEJxb.js} +1 -1
  17. package/dist/client/assets/{chunk-YZCP3GAM-COMJ2EwJ.js → chunk-YZCP3GAM-CBwmJdga.js} +1 -1
  18. package/dist/client/assets/classDiagram-6PBFFD2Q-QQSWiJjR.js +1 -0
  19. package/dist/client/assets/classDiagram-v2-HSJHXN6E-QQSWiJjR.js +1 -0
  20. package/dist/client/assets/clone-vom5rXcJ.js +1 -0
  21. package/dist/client/assets/{cose-bilkent-S5V4N54A-JvC7pCqe.js → cose-bilkent-S5V4N54A-ERDn7bly.js} +1 -1
  22. package/dist/client/assets/{dagre-KV5264BT-jZdVPQcJ.js → dagre-KV5264BT-DapcbnEu.js} +1 -1
  23. package/dist/client/assets/{diagram-5BDNPKRD-B6-u7AU2.js → diagram-5BDNPKRD-DbRBVaVH.js} +1 -1
  24. package/dist/client/assets/{diagram-G4DWMVQ6-CV5G3KNM.js → diagram-G4DWMVQ6-CLP0MwBH.js} +1 -1
  25. package/dist/client/assets/{diagram-MMDJMWI5-ZLrEkNww.js → diagram-MMDJMWI5-BMZ9AsEI.js} +1 -1
  26. package/dist/client/assets/{diagram-TYMM5635-D1tv2JX9.js → diagram-TYMM5635-DtPPkZ2y.js} +1 -1
  27. package/dist/client/assets/{erDiagram-SMLLAGMA-Bta0Mt3t.js → erDiagram-SMLLAGMA-DIvbhhTb.js} +1 -1
  28. package/dist/client/assets/{flowDiagram-DWJPFMVM-C282oRLT.js → flowDiagram-DWJPFMVM-C_R3RpTk.js} +1 -1
  29. package/dist/client/assets/{ganttDiagram-T4ZO3ILL-D9P4CVIW.js → ganttDiagram-T4ZO3ILL-eaIqpHsY.js} +1 -1
  30. package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-DLQnTjJ2.js → gitGraphDiagram-UUTBAWPF-CYCsHY_E.js} +1 -1
  31. package/dist/client/assets/{graph-Cd8Q-8WG.js → graph-HfvOsgk2.js} +1 -1
  32. package/dist/client/assets/index-C2erdgSj.css +1 -0
  33. package/dist/client/assets/index-CrEYBugN.js +465 -0
  34. package/dist/client/assets/{infoDiagram-42DDH7IO-ClhLpons.js → infoDiagram-42DDH7IO-rmDH5YRZ.js} +1 -1
  35. package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-BDeZ2vOG.js → ishikawaDiagram-UXIWVN3A-EAZO3mIY.js} +1 -1
  36. package/dist/client/assets/{journeyDiagram-VCZTEJTY-DbJhbFKN.js → journeyDiagram-VCZTEJTY-4vWYlXOF.js} +1 -1
  37. package/dist/client/assets/{kanban-definition-6JOO6SKY-CYKcE2fE.js → kanban-definition-6JOO6SKY-CkkSfsbD.js} +1 -1
  38. package/dist/client/assets/{layout-CuAgTRkn.js → layout-DWbhbrdO.js} +1 -1
  39. package/dist/client/assets/{linear-3EL9MakS.js → linear-BjRBsqi0.js} +1 -1
  40. package/dist/client/assets/{mermaid.core-7qKaxHEA.js → mermaid.core-RuG-kUU2.js} +4 -4
  41. package/dist/client/assets/{min-4mJsdKjT.js → min-D--jZrv5.js} +1 -1
  42. package/dist/client/assets/{mindmap-definition-QFDTVHPH-B-Zve2OH.js → mindmap-definition-QFDTVHPH-fLwhQBcX.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-DEJITSTG-DlsdbAii.js → pieDiagram-DEJITSTG-DJkWnAQK.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-34T5L4WZ-Cb4h0xwt.js → quadrantDiagram-34T5L4WZ-Kd4q9kEz.js} +1 -1
  45. package/dist/client/assets/{requirementDiagram-MS252O5E-CZNGYqJt.js → requirementDiagram-MS252O5E-Bgrtq8Kh.js} +1 -1
  46. package/dist/client/assets/{sankeyDiagram-XADWPNL6-DeVSGR6W.js → sankeyDiagram-XADWPNL6-BW9BdQ-8.js} +1 -1
  47. package/dist/client/assets/{sequenceDiagram-FGHM5R23-Te7TkLIe.js → sequenceDiagram-FGHM5R23-KpgcxIJb.js} +1 -1
  48. package/dist/client/assets/{stateDiagram-FHFEXIEX-Be-0oYyv.js → stateDiagram-FHFEXIEX-CNaCHtL2.js} +1 -1
  49. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-D3k4sLJ4.js +1 -0
  50. package/dist/client/assets/{timeline-definition-GMOUNBTQ-DQyUgC-K.js → timeline-definition-GMOUNBTQ-MGPKEXGI.js} +1 -1
  51. package/dist/client/assets/{vennDiagram-DHZGUBPP-BrArIWI8.js → vennDiagram-DHZGUBPP-bDOCVDJ1.js} +1 -1
  52. package/dist/client/assets/{wardley-RL74JXVD-6-sWm8kk.js → wardley-RL74JXVD-DuvLJQPg.js} +1 -1
  53. package/dist/client/assets/{wardleyDiagram-NUSXRM2D-C4MvFXGS.js → wardleyDiagram-NUSXRM2D-BdBIEtIl.js} +1 -1
  54. package/dist/client/assets/{xychartDiagram-5P7HB3ND-CGrtjhmr.js → xychartDiagram-5P7HB3ND-vycMI6c3.js} +1 -1
  55. package/dist/client/index.html +2 -2
  56. package/dist/fleet-plugins/ledger/routes.mjs +19834 -428
  57. package/dist/fleet-plugins/quota/routes.mjs +206 -3
  58. package/dist/fleet-plugins/scuttlebutt/routes.mjs +182 -11
  59. package/dist/fleet-plugins/terminal/routes.mjs +7254 -5848
  60. package/dist/fleet.mjs +6401 -5872
  61. package/package.json +2 -2
  62. package/dist/client/assets/channel-Bjfd2afp.js +0 -1
  63. package/dist/client/assets/classDiagram-6PBFFD2Q-DgpHvFOU.js +0 -1
  64. package/dist/client/assets/classDiagram-v2-HSJHXN6E-DgpHvFOU.js +0 -1
  65. package/dist/client/assets/clone-sFXqwEZz.js +0 -1
  66. package/dist/client/assets/index-B3gusU1E.js +0 -465
  67. package/dist/client/assets/index-_PHObHQ-.css +0 -1
  68. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-BnQ2lBhr.js +0 -1
  69. /package/{AGENTS.md → CLAUDE.md} +0 -0
package/README.md CHANGED
@@ -81,4 +81,4 @@ pnpm --filter @dotobokuri/fleet-console build
81
81
 
82
82
  `build` emits `dist/fleet.mjs`, `dist/cli.mjs`, `dist/client/`, and `dist/fleet-plugins/terminal/routes.mjs`. There is no external embed step.
83
83
 
84
- See `AGENTS.md` for ownership, token-boundary, and streaming invariants.
84
+ See `CLAUDE.md` for ownership, token-boundary, and streaming invariants.
package/dist/cli.d.ts CHANGED
@@ -30,13 +30,21 @@ interface ConsoleHealth {
30
30
  readonly workspaceCount: number;
31
31
  }
32
32
 
33
+ /**
34
+ * 브라우저 실행기가 실제로 떴는지에 대한 답. 실패를 삼키면 CLI가 "열었다"고 말한 뒤
35
+ * 아무것도 뜨지 않는 화면만 남으므로, 이 결과는 호출자가 사용자에게 전할 사실이다.
36
+ */
37
+ interface BrowserOpenResult {
38
+ readonly opened: boolean;
39
+ readonly reason?: string;
40
+ }
33
41
  interface OpenBrowserDeps {
34
42
  readonly platform?: NodeJS.Platform;
35
43
  readonly spawnBrowser?: (command: string, args: readonly string[], options: {
36
44
  readonly detached: true;
37
45
  readonly stdio: "ignore";
38
46
  readonly windowsHide: true;
39
- }) => void;
47
+ }) => void | Promise<BrowserOpenResult>;
40
48
  }
41
49
 
42
50
  interface ConsoleProbeResult {
@@ -68,10 +76,13 @@ interface ConsoleDaemonLifecycleDeps {
68
76
  }
69
77
  interface OpenFleetConsoleDeps {
70
78
  readonly lifecycle?: Pick<ReturnType<typeof createConsoleDaemonLifecycle>, "ensureDaemon" | "probe">;
71
- readonly openBrowser?: (url: string, deps?: OpenBrowserDeps) => void;
79
+ readonly openBrowser?: (url: string, deps?: OpenBrowserDeps) => void | Promise<BrowserOpenResult>;
72
80
  }
73
81
  interface OpenFleetConsoleResult {
74
82
  readonly url: string;
83
+ /** 브라우저 실행기가 실제로 떴는지. 거짓이면 호출자가 주소를 사용자에게 직접 건네야 한다. */
84
+ readonly browserOpened: boolean;
85
+ readonly browserError?: string;
75
86
  }
76
87
  interface ConsoleStatusDeps {
77
88
  readonly lifecycle?: Pick<ReturnType<typeof createConsoleDaemonLifecycle>, "probe">;
package/dist/cli.mjs CHANGED
@@ -125,23 +125,88 @@ function withNodeSystemCa(env) {
125
125
  if (!hasExplicitValue) next[NODE_USE_SYSTEM_CA_ENV] = "1";
126
126
  return next;
127
127
  }
128
+ var SPAWN_GRACE_MS = 250;
128
129
  function openBrowser(url2, deps = {}) {
129
130
  const platform = deps.platform ?? os4__default.platform();
130
- const spawnBrowser = deps.spawnBrowser ?? ((command2, args, options) => {
131
- const child = spawn(command2, [...args], options);
132
- child.once("error", () => {
131
+ const spawnBrowser = deps.spawnBrowser ?? defaultSpawnBrowser;
132
+ const options = { detached: true, stdio: "ignore", windowsHide: true };
133
+ if (platform === "darwin") return normalize(spawnBrowser("open", [url2], options));
134
+ if (platform === "win32") return normalize(spawnBrowser("cmd", ["/c", "start", "", url2], options));
135
+ return normalize(spawnBrowser("xdg-open", [url2], options));
136
+ }
137
+ async function normalize(result) {
138
+ const resolved = await result;
139
+ return resolved ?? { opened: true };
140
+ }
141
+ function defaultSpawnBrowser(command2, args, options) {
142
+ return new Promise((resolve3) => {
143
+ let child;
144
+ try {
145
+ child = spawn(command2, [...args], options);
146
+ } catch (error51) {
147
+ resolve3({ opened: false, reason: describe(error51, command2) });
148
+ return;
149
+ }
150
+ const timer = setTimeout(() => {
151
+ child.unref();
152
+ resolve3({ opened: true });
153
+ }, SPAWN_GRACE_MS);
154
+ child.once("error", (error51) => {
155
+ clearTimeout(timer);
156
+ child.unref();
157
+ resolve3({ opened: false, reason: describe(error51, command2) });
158
+ });
159
+ child.once("exit", (code) => {
160
+ clearTimeout(timer);
161
+ child.unref();
162
+ if (code === null || code === 0) resolve3({ opened: true });
163
+ else resolve3({ opened: false, reason: `${command2} exited with status ${code}` });
133
164
  });
134
- child.unref();
135
165
  });
136
- if (platform === "darwin") {
137
- spawnBrowser("open", [url2], { detached: true, stdio: "ignore", windowsHide: true });
138
- return;
139
- }
140
- if (platform === "win32") {
141
- spawnBrowser("cmd", ["/c", "start", "", url2], { detached: true, stdio: "ignore", windowsHide: true });
142
- return;
166
+ }
167
+ function describe(error51, command2) {
168
+ const code = error51?.code;
169
+ if (code === "ENOENT") return `${command2} is not on PATH`;
170
+ if (code === "EACCES") return `${command2} is not executable`;
171
+ return error51 instanceof Error ? error51.message : String(error51);
172
+ }
173
+
174
+ // core/host/failure-notice.ts
175
+ function formatFailureNotice(notice) {
176
+ const lines = [notice.what, ` Why ${notice.why}`];
177
+ notice.next.forEach((step, index) => {
178
+ lines.push(` ${index === 0 ? "Next " : " "} ${step}`);
179
+ });
180
+ return lines.join("\n");
181
+ }
182
+ function describeConsoleLaunch(successLine, outcome) {
183
+ if (outcome.browserOpened) return successLine;
184
+ return formatFailureNotice({
185
+ what: "Fleet Console is running, but no browser opened on this machine.",
186
+ why: outcome.browserError ?? "the browser launcher did not start",
187
+ next: [`Open this address yourself: ${outcome.url}`]
188
+ });
189
+ }
190
+ function describeDaemonStartFailure(input) {
191
+ if (input.spawnError) {
192
+ return formatFailureNotice({
193
+ what: "Fleet Console server did not start.",
194
+ why: `the server process could not be spawned \u2014 ${input.spawnError}`,
195
+ next: [
196
+ "Check that this Node install can run the Console: node --version",
197
+ "Reinstall if the package is incomplete: npm install -g @dotobokuri/fleet-console"
198
+ ]
199
+ });
143
200
  }
144
- spawnBrowser("xdg-open", [url2], { detached: true, stdio: "ignore", windowsHide: true });
201
+ return formatFailureNotice({
202
+ what: "Fleet Console server did not start.",
203
+ why: input.probeError ? `it was started but never answered a health check \u2014 ${input.probeError}` : "it was started but never answered a health check within 3 seconds",
204
+ next: [
205
+ `Check that this directory is writable: ${input.dataDir}`,
206
+ "Show the current state: fleet console status",
207
+ "Then try again: fleet console restart"
208
+ ]
209
+ });
145
210
  }
146
211
 
147
212
  // core/host/health.ts
@@ -16147,7 +16212,7 @@ __export(external_exports, {
16147
16212
  date: () => date3,
16148
16213
  decode: () => decode2,
16149
16214
  decodeAsync: () => decodeAsync2,
16150
- describe: () => describe2,
16215
+ describe: () => describe3,
16151
16216
  discriminatedUnion: () => discriminatedUnion,
16152
16217
  e164: () => e1642,
16153
16218
  email: () => email2,
@@ -16525,7 +16590,7 @@ __export(core_exports2, {
16525
16590
  createToJSONSchemaMethod: () => createToJSONSchemaMethod,
16526
16591
  decode: () => decode,
16527
16592
  decodeAsync: () => decodeAsync,
16528
- describe: () => describe,
16593
+ describe: () => describe2,
16529
16594
  encode: () => encode,
16530
16595
  encodeAsync: () => encodeAsync,
16531
16596
  extractDefs: () => extractDefs,
@@ -27341,7 +27406,7 @@ function _check(fn, params) {
27341
27406
  return ch;
27342
27407
  }
27343
27408
  // @__NO_SIDE_EFFECTS__
27344
- function describe(description) {
27409
+ function describe2(description) {
27345
27410
  const ch = new $ZodCheck({ check: "describe" });
27346
27411
  ch._zod.onattach = [
27347
27412
  (inst) => {
@@ -28497,7 +28562,7 @@ __export(schemas_exports2, {
28497
28562
  cuid2: () => cuid22,
28498
28563
  custom: () => custom,
28499
28564
  date: () => date3,
28500
- describe: () => describe2,
28565
+ describe: () => describe3,
28501
28566
  discriminatedUnion: () => discriminatedUnion,
28502
28567
  e164: () => e1642,
28503
28568
  email: () => email2,
@@ -29948,7 +30013,7 @@ function refine(fn, _params = {}) {
29948
30013
  function superRefine(fn, params) {
29949
30014
  return _superRefine(fn, params);
29950
30015
  }
29951
- var describe2 = describe;
30016
+ var describe3 = describe2;
29952
30017
  var meta2 = meta;
29953
30018
  function _instanceof(cls, params = {}) {
29954
30019
  const inst = new ZodCustom({
@@ -34195,6 +34260,115 @@ var models_default = {
34195
34260
  }
34196
34261
  ]
34197
34262
  }
34263
+ },
34264
+ pricing: {
34265
+ source: "openrouter",
34266
+ observedAt: "2026-08-16T00:00:00Z",
34267
+ models: {
34268
+ "openai/gpt-5.6-sol": {
34269
+ inputCostPerToken: 5e-6,
34270
+ outputCostPerToken: 3e-5,
34271
+ cacheReadInputTokenCost: 5e-7,
34272
+ cacheCreationInputTokenCost: 625e-8,
34273
+ aliases: [
34274
+ "gpt-5.6-sol"
34275
+ ]
34276
+ },
34277
+ "openai/gpt-5.6-terra": {
34278
+ inputCostPerToken: 1e-6,
34279
+ outputCostPerToken: 6e-6,
34280
+ cacheReadInputTokenCost: 1e-7,
34281
+ cacheCreationInputTokenCost: 125e-8,
34282
+ aliases: [
34283
+ "gpt-5.6-terra"
34284
+ ]
34285
+ },
34286
+ "openai/gpt-5.6-luna": {
34287
+ inputCostPerToken: 1e-7,
34288
+ outputCostPerToken: 6e-7,
34289
+ cacheReadInputTokenCost: 1e-8,
34290
+ cacheCreationInputTokenCost: 125e-9,
34291
+ aliases: [
34292
+ "gpt-5.6-luna"
34293
+ ]
34294
+ },
34295
+ "x-ai/grok-4.5": {
34296
+ inputCostPerToken: 2e-6,
34297
+ outputCostPerToken: 6e-6,
34298
+ cacheReadInputTokenCost: 3e-7,
34299
+ aliases: [
34300
+ "grok-4.5"
34301
+ ]
34302
+ },
34303
+ "x-ai/grok-4.6": {
34304
+ inputCostPerToken: 2e-6,
34305
+ outputCostPerToken: 6e-6,
34306
+ cacheReadInputTokenCost: 5e-7,
34307
+ aliases: [
34308
+ "grok-4.6"
34309
+ ]
34310
+ },
34311
+ "anthropic/claude-opus-5": {
34312
+ inputCostPerToken: 5e-6,
34313
+ outputCostPerToken: 25e-6,
34314
+ cacheReadInputTokenCost: 5e-7,
34315
+ cacheCreationInputTokenCost: 625e-8,
34316
+ aliases: [
34317
+ "claude-opus-5"
34318
+ ]
34319
+ },
34320
+ "anthropic/claude-fable-5": {
34321
+ inputCostPerToken: 1e-5,
34322
+ outputCostPerToken: 5e-5,
34323
+ cacheReadInputTokenCost: 1e-6,
34324
+ cacheCreationInputTokenCost: 125e-7,
34325
+ aliases: [
34326
+ "claude-fable-5"
34327
+ ]
34328
+ },
34329
+ "moonshotai/kimi-k3": {
34330
+ inputCostPerToken: 3e-6,
34331
+ outputCostPerToken: 15e-6,
34332
+ cacheReadInputTokenCost: 3e-7,
34333
+ aliases: [
34334
+ "k3",
34335
+ "kimi-k3"
34336
+ ]
34337
+ },
34338
+ "qwen/qwen3.8-max": {
34339
+ inputCostPerToken: 2e-6,
34340
+ outputCostPerToken: 6e-6,
34341
+ cacheReadInputTokenCost: 25e-8,
34342
+ cacheCreationInputTokenCost: 25e-7,
34343
+ aliases: [
34344
+ "qwen3.8-max"
34345
+ ]
34346
+ },
34347
+ "deepseek/deepseek-v4-flash": {
34348
+ inputCostPerToken: 14e-8,
34349
+ outputCostPerToken: 28e-8,
34350
+ cacheReadInputTokenCost: 28e-10,
34351
+ aliases: [
34352
+ "deepseek-v4-flash"
34353
+ ]
34354
+ },
34355
+ "deepseek/deepseek-v4-pro": {
34356
+ inputCostPerToken: 435e-9,
34357
+ outputCostPerToken: 87e-8,
34358
+ cacheReadInputTokenCost: 3625e-12,
34359
+ aliases: [
34360
+ "deepseek-v4-pro"
34361
+ ]
34362
+ },
34363
+ "z-ai/glm-5.2": {
34364
+ inputCostPerToken: 14e-7,
34365
+ outputCostPerToken: 44e-7,
34366
+ cacheReadInputTokenCost: 26e-8,
34367
+ aliases: [
34368
+ "glm-5.2"
34369
+ ]
34370
+ }
34371
+ }
34198
34372
  }
34199
34373
  };
34200
34374
  var GATEWAY_PROVIDERS = ["codex", "xai", "cursor", "opencode", "kimi"];
@@ -34257,6 +34431,18 @@ var GatewayBenchmarksRegistrySchema = external_exports.object({
34257
34431
  sources: external_exports.record(external_exports.string().min(1), GatewayBenchmarkSourceSchema),
34258
34432
  models: external_exports.record(external_exports.string().min(1), GatewayBenchmarkModelEntrySchema)
34259
34433
  }).strict();
34434
+ var GatewayModelPricingSchema = external_exports.object({
34435
+ inputCostPerToken: external_exports.number().nonnegative(),
34436
+ outputCostPerToken: external_exports.number().nonnegative(),
34437
+ cacheReadInputTokenCost: external_exports.number().nonnegative(),
34438
+ cacheCreationInputTokenCost: external_exports.number().nonnegative().optional(),
34439
+ aliases: external_exports.array(external_exports.string().min(1)).min(1)
34440
+ }).strict();
34441
+ var GatewayPricingRegistrySchema = external_exports.object({
34442
+ source: external_exports.literal("openrouter"),
34443
+ observedAt: external_exports.iso.datetime(),
34444
+ models: external_exports.record(external_exports.string().min(1), GatewayModelPricingSchema)
34445
+ }).strict();
34260
34446
  var GatewayModelEntrySchema = external_exports.object({
34261
34447
  modelId: external_exports.string().min(1),
34262
34448
  name: external_exports.string().min(1),
@@ -34287,7 +34473,8 @@ var GatewayModelsRegistrySchema = external_exports.object({
34287
34473
  kimi: GatewayProviderSchema,
34288
34474
  opencode: GatewayProviderSchema,
34289
34475
  xai: GatewayProviderSchema
34290
- }).strict()
34476
+ }).strict(),
34477
+ pricing: GatewayPricingRegistrySchema
34291
34478
  }).strict();
34292
34479
  var UNSUPPORTED_GATEWAY_MODEL_EFFORT = Object.freeze({ supported: false });
34293
34480
  var benchmarksRegistry = parseGatewayBenchmarksRegistry(benchmarks_default);
@@ -34311,6 +34498,15 @@ var registry2 = (() => {
34311
34498
  return parsed;
34312
34499
  })();
34313
34500
  var GATEWAY_MODELS_UPDATED_AT = registry2.updatedAt;
34501
+ registry2.pricing.observedAt;
34502
+ Object.freeze(
34503
+ Object.fromEntries(
34504
+ Object.entries(registry2.pricing.models).map(([modelId, pricing]) => [
34505
+ modelId,
34506
+ Object.freeze({ ...pricing, aliases: Object.freeze([...pricing.aliases]) })
34507
+ ])
34508
+ )
34509
+ );
34314
34510
  Object.entries(benchmarksRegistry.sources).map(([sourceId, source]) => `${sourceId}:${source.observedAt}`).sort().join("|");
34315
34511
  Object.freeze(
34316
34512
  Object.fromEntries(
@@ -35510,6 +35706,7 @@ var CLAUDE_GATEWAY_TURN_KEYS = Object.freeze([
35510
35706
  "allowedTools",
35511
35707
  "disallowedTools",
35512
35708
  "permissionMode",
35709
+ "canUseTool",
35513
35710
  "mcpServers",
35514
35711
  "servedMcpServers",
35515
35712
  "includePartialMessages",
@@ -35525,8 +35722,10 @@ function claudeGatewayLaunchEnv(inherited, options) {
35525
35722
  if (value !== void 0) env[key] = value;
35526
35723
  }
35527
35724
  env.ANTHROPIC_BASE_URL = options.baseUrl;
35528
- env.CLAUDE_CONFIG_DIR = options.configDir;
35529
- env.CLAUDE_SECURESTORAGE_CONFIG_DIR = "";
35725
+ if (options.homeKind !== "shared") {
35726
+ env.CLAUDE_CONFIG_DIR = options.configDir;
35727
+ env.CLAUDE_SECURESTORAGE_CONFIG_DIR = "";
35728
+ }
35530
35729
  env.CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY = "1";
35531
35730
  env.ENABLE_TOOL_SEARCH = "true";
35532
35731
  env.CLAUDE_CODE_AUTO_COMPACT_WINDOW ??= "1000000";
@@ -35541,6 +35740,18 @@ function claudeGatewayModelCache(options) {
35541
35740
  }
35542
35741
 
35543
35742
  // ../../packages/core-agent/src/claude/config-dir.ts
35743
+ function createSharedClaudeConfigHome(configDir) {
35744
+ if (typeof configDir !== "string" || !path18__default.isAbsolute(configDir)) {
35745
+ throw new TypeError("A shared Claude config home requires an absolute config directory path.");
35746
+ }
35747
+ return {
35748
+ path: configDir,
35749
+ async writeModelCache() {
35750
+ },
35751
+ async dispose() {
35752
+ }
35753
+ };
35754
+ }
35544
35755
  async function createIsolatedClaudeConfigDir(tempRoot = tmpdir()) {
35545
35756
  const root = await mkdtemp(path18__default.join(tempRoot, "core-agent-claude-"));
35546
35757
  const cachePath = path18__default.join(root, CLAUDE_GATEWAY_MODEL_CACHE_RELPATH);
@@ -35597,7 +35808,7 @@ async function createClaudeGatewaySdk(options) {
35597
35808
  const accepted = resolveModels(options.models);
35598
35809
  const catalogModels = accepted.filter((entry) => entry.kind === "catalog").map((entry) => entry.model);
35599
35810
  const inherited = options.env ?? process.env;
35600
- const configDir = await createIsolatedClaudeConfigDir(options.tempRoot);
35811
+ const configDir = options.home?.kind === "shared" ? createSharedClaudeConfigHome(options.home.configDir) : await createIsolatedClaudeConfigDir(options.tempRoot);
35601
35812
  let disposed = false;
35602
35813
  let active = null;
35603
35814
  const sdk = {
@@ -35612,19 +35823,27 @@ async function createClaudeGatewaySdk(options) {
35612
35823
  }
35613
35824
  const model = resolveTurnModel(turn.model, accepted);
35614
35825
  await configDir.writeModelCache({ baseUrl, models: catalogModels, fetchedAt: Date.now() });
35615
- const env = claudeGatewayLaunchEnv(inherited, { baseUrl, configDir: configDir.path });
35826
+ const env = claudeGatewayLaunchEnv(inherited, {
35827
+ baseUrl,
35828
+ configDir: configDir.path,
35829
+ homeKind: options.home?.kind === "shared" ? "shared" : "isolated"
35830
+ });
35616
35831
  const run = runVendorQuery({
35617
35832
  prompt: turn.prompt,
35618
35833
  options: {
35619
35834
  env,
35620
35835
  model,
35621
35836
  ...turn.systemPrompt === void 0 ? {} : { systemPrompt: vendorSystemPrompt(turn.systemPrompt) },
35622
- // 패키지가 스스로 지어내는 지시는 없다. systemPrompt는 호출자가 것을 그대로 옮긴
35623
- // 것뿐이고, 주지 않으면 아무것도 붙지 않는다. `settingSources: []`는 사용자·프로젝트 설정과
35624
- // CLAUDE.md를 끄고, `strictMcpConfig`는 그와 별개인 ambient .mcp.json을 막는다 — 둘 다
35625
- // 세워야 호출자가 쓰지 않은 지시가 새지 않는다.
35626
- settingSources: [],
35627
- strictMcpConfig: true,
35837
+ // 패키지가 스스로 지어내는 지시는 없다 여기 실리는 것은 전부 호출자가 고른 것이고,
35838
+ // 고르지 않으면 아무것도 붙지 않는다. 기본값이 규율을 구조로 만든다:
35839
+ // `settingSources: []`가 사용자·프로젝트 설정과 CLAUDE.md를 끄고, `strictMcpConfig`가
35840
+ // 그와 별개인 ambient .mcp.json·플러그인 MCP를 막는다.
35841
+ settingSources: options.settingSources ? [...options.settingSources] : [],
35842
+ strictMcpConfig: options.allowAmbientMcpServers !== true,
35843
+ // 플러그인의 MCP 선언은 읽지 않는다 — 좌표는 호출자가 이미 소유한다.
35844
+ ...options.plugins && options.plugins.length > 0 ? { plugins: options.plugins.map((plugin) => ({ type: "local", path: plugin.path, skipMcpDiscovery: true })) } : {},
35845
+ // `--settings`와 같은 자리다. flag 소스로 병합되므로 사용자·프로젝트 설정을 대체하지 않는다.
35846
+ ...options.skillOverrides && Object.keys(options.skillOverrides).length > 0 ? { settings: { skillOverrides: { ...options.skillOverrides } } } : {},
35628
35847
  ...turn.effort === void 0 ? {} : { effort: turn.effort },
35629
35848
  ...turn.cwd === void 0 ? {} : { cwd: turn.cwd },
35630
35849
  ...turn.resume === void 0 ? {} : { resume: turn.resume },
@@ -35634,6 +35853,7 @@ async function createClaudeGatewaySdk(options) {
35634
35853
  ...turn.allowedTools === void 0 ? {} : { allowedTools: [...turn.allowedTools] },
35635
35854
  ...turn.disallowedTools === void 0 ? {} : { disallowedTools: [...turn.disallowedTools] },
35636
35855
  ...turn.permissionMode === void 0 ? {} : { permissionMode: turn.permissionMode },
35856
+ ...turn.canUseTool === void 0 ? {} : { canUseTool: vendorCanUseTool(turn.canUseTool) },
35637
35857
  ...turn.mcpServers === void 0 && turn.servedMcpServers === void 0 ? {} : { mcpServers: { ...turn.mcpServers, ...vendorServedMcpServers(turn.servedMcpServers) } },
35638
35858
  ...turn.includePartialMessages === void 0 ? {} : { includePartialMessages: turn.includePartialMessages },
35639
35859
  ...turn.abortController === void 0 ? {} : { abortController: turn.abortController },
@@ -35729,6 +35949,22 @@ function resolveTurnModel(requested, accepted) {
35729
35949
  }
35730
35950
  return entry.id;
35731
35951
  }
35952
+ function vendorCanUseTool(canUseTool) {
35953
+ return async (toolName, input, options) => {
35954
+ try {
35955
+ const decision = await canUseTool(toolName, input, {
35956
+ toolUseId: typeof options.toolUseID === "string" ? options.toolUseID : "",
35957
+ signal: options.signal instanceof AbortSignal ? options.signal : new AbortController().signal
35958
+ });
35959
+ if (decision.behavior === "allow") {
35960
+ return decision.updatedInput === void 0 ? { behavior: "allow", updatedInput: input } : { behavior: "allow", updatedInput: { ...decision.updatedInput } };
35961
+ }
35962
+ return { behavior: "deny", message: decision.message };
35963
+ } catch (error51) {
35964
+ return { behavior: "deny", message: error51 instanceof Error ? error51.message : String(error51) };
35965
+ }
35966
+ };
35967
+ }
35732
35968
  function vendorSystemPrompt(systemPrompt) {
35733
35969
  const text = systemPrompt?.text;
35734
35970
  if (typeof text !== "string" || text.length === 0) {
@@ -38162,7 +38398,8 @@ var SHIM_NAMED_EXPORTS = {
38162
38398
  "@fleet-console/sdk/settings/browser": ["ExperimentalBadge", "SettingsCard", "SettingsField", "SettingsRow", "SettingsSelect", "SettingsToggle", "defineSettingsSection"],
38163
38399
  "@fleet-console/sdk/operations/browser": ["ApiError", "OperationBody", "assertOperationNode", "fetchOperationCatalog", "hasForbiddenBrowserPayloadKey"],
38164
38400
  "@fleet-console/sdk/notifications/browser": ["defineNotificationKind"],
38165
- "@fleet-console/sdk/react/browser": ["PluginErrorBoundary", "React", "Select", "useSelect"]
38401
+ "@fleet-console/sdk/react/browser": ["PluginErrorBoundary", "React", "Select", "useSelect"],
38402
+ "@fleet-console/sdk/components/failure-notice": ["FailureNotice"]
38166
38403
  };
38167
38404
 
38168
38405
  // core/host/plugin-host/plugin-host.ts
@@ -38295,7 +38532,8 @@ var SHIM_DEFINITIONS = [
38295
38532
  { name: "sdk-settings-browser", specifier: "@fleet-console/sdk/settings/browser", globalKey: "@fleet-console/sdk/settings/browser", namedExports: SHIM_NAMED_EXPORTS["@fleet-console/sdk/settings/browser"] ?? [] },
38296
38533
  { name: "sdk-operations-browser", specifier: "@fleet-console/sdk/operations/browser", globalKey: "@fleet-console/sdk/operations/browser", namedExports: SHIM_NAMED_EXPORTS["@fleet-console/sdk/operations/browser"] ?? [] },
38297
38534
  { name: "sdk-notifications-browser", specifier: "@fleet-console/sdk/notifications/browser", globalKey: "@fleet-console/sdk/notifications/browser", namedExports: SHIM_NAMED_EXPORTS["@fleet-console/sdk/notifications/browser"] ?? [] },
38298
- { name: "sdk-react-browser", specifier: "@fleet-console/sdk/react/browser", globalKey: "@fleet-console/sdk/react/browser", namedExports: SHIM_NAMED_EXPORTS["@fleet-console/sdk/react/browser"] ?? [] }
38535
+ { name: "sdk-react-browser", specifier: "@fleet-console/sdk/react/browser", globalKey: "@fleet-console/sdk/react/browser", namedExports: SHIM_NAMED_EXPORTS["@fleet-console/sdk/react/browser"] ?? [] },
38536
+ { name: "sdk-components-failure-notice", specifier: "@fleet-console/sdk/components/failure-notice", globalKey: "@fleet-console/sdk/components/failure-notice", namedExports: SHIM_NAMED_EXPORTS["@fleet-console/sdk/components/failure-notice"] ?? [] }
38299
38537
  ];
38300
38538
  var SHIM_URL_BY_SPECIFIER = new Map(SHIM_DEFINITIONS.map((definition) => [definition.specifier, `/plugin-runtime/shim/${definition.name}.mjs`]));
38301
38539
  var SHIM_BY_NAME = new Map(SHIM_DEFINITIONS.map((definition) => [definition.name, definition]));
@@ -38306,9 +38544,11 @@ var NODE_BUILTINS = /* @__PURE__ */ new Set([
38306
38544
  function createPluginClientAssets(deps) {
38307
38545
  const clientSources = /* @__PURE__ */ new Map();
38308
38546
  const preparedPlugins = /* @__PURE__ */ new Set();
38547
+ const skippedPlugins = /* @__PURE__ */ new Map();
38309
38548
  async function prepare() {
38310
38549
  clientSources.clear();
38311
38550
  preparedPlugins.clear();
38551
+ skippedPlugins.clear();
38312
38552
  for (const plugin of deps.plugins) {
38313
38553
  if (!plugin.external || !plugin.clientEntry) continue;
38314
38554
  try {
@@ -38317,17 +38557,24 @@ function createPluginClientAssets(deps) {
38317
38557
  preparedPlugins.add(plugin.manifest.id);
38318
38558
  } catch (error51) {
38319
38559
  console.warn(`[fleet-console] Plugin ${plugin.manifest.id} client skipped: ${error51 instanceof Error ? error51.message : String(error51)}`);
38560
+ skippedPlugins.set(plugin.manifest.id, {
38561
+ id: plugin.manifest.id,
38562
+ ...plugin.manifest.name ? { name: plugin.manifest.name } : {},
38563
+ reason: error51?.message === "unsupported_client_entry" ? "unsupported_client_entry" : "client_build_failed"
38564
+ });
38320
38565
  }
38321
38566
  }
38322
38567
  }
38323
38568
  function manifest() {
38569
+ const skipped = [...skippedPlugins.values()];
38324
38570
  return {
38325
38571
  plugins: deps.plugins.filter((plugin) => plugin.external && !!plugin.clientEntry && preparedPlugins.has(plugin.manifest.id)).map((plugin) => ({
38326
38572
  id: plugin.manifest.id,
38327
38573
  ...plugin.manifest.name ? { name: plugin.manifest.name } : {},
38328
38574
  clientUrl: `/plugin-runtime/client/${plugin.manifest.id}.mjs`,
38329
38575
  apiVersion: plugin.manifest.apiVersion ?? SDK_API_VERSION
38330
- }))
38576
+ })),
38577
+ ...skipped.length > 0 ? { skipped } : {}
38331
38578
  };
38332
38579
  }
38333
38580
  function getClient(id) {
@@ -42081,9 +42328,11 @@ function createConsoleDaemonLifecycle(deps = {}) {
42081
42328
  const childEnv = env.FLEET_CONSOLE_NO_SYSTEM_CA === "1" ? env : withNodeSystemCa(env);
42082
42329
  const execPath = deps.execPath ?? process4.execPath;
42083
42330
  const serverModulePath = deps.serverModulePath ?? resolveDefaultServerModulePath2();
42331
+ let lastSpawnError = null;
42084
42332
  const spawnDetached = deps.spawnDetached ?? ((bin, args, options) => {
42085
42333
  const child = spawn(bin, [...args], options);
42086
- child.once("error", () => {
42334
+ child.once("error", (error51) => {
42335
+ lastSpawnError = error51 instanceof Error ? error51.message : String(error51);
42087
42336
  });
42088
42337
  child.unref();
42089
42338
  });
@@ -42136,13 +42385,20 @@ function createConsoleDaemonLifecycle(deps = {}) {
42136
42385
  if (typeof probeResult.health?.workspaceCount === "number" && probeResult.health.workspaceCount > 0) return current.endpoint;
42137
42386
  }
42138
42387
  if (current) await stop();
42388
+ lastSpawnError = null;
42139
42389
  spawnDetached(execPath, [serverModulePath, "serve"], withHidden({ detached: true, env: childEnv, stdio: "ignore" }));
42390
+ let lastProbeError = null;
42140
42391
  for (let i = 0; i < 30; i += 1) {
42141
42392
  await sleep(100);
42142
42393
  const next = await probe();
42143
42394
  if (next.healthy && next.lock) return next.lock.endpoint;
42395
+ if (next.error) lastProbeError = next.error;
42144
42396
  }
42145
- throw new Error("Fleet Console server did not become healthy");
42397
+ throw new Error(describeDaemonStartFailure({
42398
+ spawnError: lastSpawnError,
42399
+ probeError: lastProbeError,
42400
+ dataDir: paths.dir
42401
+ }));
42146
42402
  }
42147
42403
  return { ensureDaemon, probe, runServer, stop };
42148
42404
  function readTrustedLock(options = {}) {
@@ -42171,8 +42427,9 @@ async function openFleetConsole(deps = {}) {
42171
42427
  throw new Error("Fleet Console server is not healthy after ensure");
42172
42428
  }
42173
42429
  const url2 = `${status.lock.endpoint}console/`;
42174
- (deps.openBrowser ?? openBrowser)(url2);
42175
- return { url: url2 };
42430
+ const browser = await (deps.openBrowser ?? openBrowser)(url2);
42431
+ const result = browser ?? { opened: true };
42432
+ return result.opened ? { url: url2, browserOpened: true } : { url: url2, browserOpened: false, browserError: result.reason };
42176
42433
  }
42177
42434
  async function runConsoleStatus(deps = {}) {
42178
42435
  const lifecycle = deps.lifecycle ?? createConsoleDaemonLifecycle();
@@ -42263,14 +42520,14 @@ async function main() {
42263
42520
  return;
42264
42521
  }
42265
42522
  if (mode === "restart") {
42266
- await runConsoleRestart();
42267
- process4.stdout.write(`Fleet Console restarted.
42523
+ const restarted = await runConsoleRestart();
42524
+ process4.stdout.write(`${describeConsoleLaunch("Fleet Console restarted.", restarted)}
42268
42525
  ${await runConsoleStatus()}
42269
42526
  `);
42270
42527
  return;
42271
42528
  }
42272
- await openFleetConsole();
42273
- process4.stdout.write(`Fleet Console opened.
42529
+ const opened = await openFleetConsole();
42530
+ process4.stdout.write(`${describeConsoleLaunch("Fleet Console opened.", opened)}
42274
42531
  ${await runConsoleStatus()}
42275
42532
  `);
42276
42533
  }
@@ -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-7qKaxHEA.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-RuG-kUU2.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-7qKaxHEA.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-RuG-kUU2.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};