@dotobokuri/fleet-console 1.10.0 → 1.10.2

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 (61) hide show
  1. package/dist/cli-bin.mjs +213 -15
  2. package/dist/cli.mjs +213 -15
  3. package/dist/client/assets/{_baseUniq-CpZAwUyg.js → _baseUniq-B0PErl2E.js} +1 -1
  4. package/dist/client/assets/{arc-D7iMsyk2.js → arc-DZOCtb72.js} +1 -1
  5. package/dist/client/assets/{architectureDiagram-Q4EWVU46-DGUN9yJC.js → architectureDiagram-Q4EWVU46-lKeHajPP.js} +1 -1
  6. package/dist/client/assets/{blockDiagram-DXYQGD6D-mHGERYOO.js → blockDiagram-DXYQGD6D-nxOjG3tp.js} +1 -1
  7. package/dist/client/assets/{c4Diagram-AHTNJAMY-CUFKgiE1.js → c4Diagram-AHTNJAMY-B6immmFF.js} +1 -1
  8. package/dist/client/assets/channel-BPvn1RT5.js +1 -0
  9. package/dist/client/assets/{chunk-4BX2VUAB-DJVv4Xuk.js → chunk-4BX2VUAB-hrDXiMYn.js} +1 -1
  10. package/dist/client/assets/{chunk-4TB4RGXK-CiMGZvmq.js → chunk-4TB4RGXK-CjiaitfY.js} +1 -1
  11. package/dist/client/assets/{chunk-55IACEB6-NErjEbD9.js → chunk-55IACEB6-Dfp3hg95.js} +1 -1
  12. package/dist/client/assets/{chunk-EDXVE4YY-DTTJdEr-.js → chunk-EDXVE4YY-D91XPfwh.js} +1 -1
  13. package/dist/client/assets/{chunk-FMBD7UC4-CUQsmXDG.js → chunk-FMBD7UC4-DTGdaoi9.js} +1 -1
  14. package/dist/client/assets/{chunk-OYMX7WX6-DEXFXMqS.js → chunk-OYMX7WX6-j4aVytt_.js} +1 -1
  15. package/dist/client/assets/{chunk-QZHKN3VN-0XA0aotU.js → chunk-QZHKN3VN-CA2z0Wnz.js} +1 -1
  16. package/dist/client/assets/{chunk-YZCP3GAM-B1CBq-Bd.js → chunk-YZCP3GAM-B0NhMyF9.js} +1 -1
  17. package/dist/client/assets/classDiagram-6PBFFD2Q-CGvwHQW2.js +1 -0
  18. package/dist/client/assets/classDiagram-v2-HSJHXN6E-CGvwHQW2.js +1 -0
  19. package/dist/client/assets/clone-jCrAo27W.js +1 -0
  20. package/dist/client/assets/{cose-bilkent-S5V4N54A-aZiE_5HW.js → cose-bilkent-S5V4N54A-BGHrOYlY.js} +1 -1
  21. package/dist/client/assets/{dagre-KV5264BT-CyE3dfqF.js → dagre-KV5264BT-BFtQQNJz.js} +1 -1
  22. package/dist/client/assets/{diagram-5BDNPKRD-Dn1c6pP2.js → diagram-5BDNPKRD-Bl5sE460.js} +1 -1
  23. package/dist/client/assets/{diagram-G4DWMVQ6-BJlWBn9n.js → diagram-G4DWMVQ6-Cjz1orfi.js} +1 -1
  24. package/dist/client/assets/{diagram-MMDJMWI5-EO6LIBA2.js → diagram-MMDJMWI5-B-fFQatb.js} +1 -1
  25. package/dist/client/assets/{diagram-TYMM5635-DP-obRT1.js → diagram-TYMM5635-C1aFMoW4.js} +1 -1
  26. package/dist/client/assets/{erDiagram-SMLLAGMA-DwQvA8OY.js → erDiagram-SMLLAGMA-Dnsp-AHy.js} +1 -1
  27. package/dist/client/assets/{flowDiagram-DWJPFMVM-DJgNhD-9.js → flowDiagram-DWJPFMVM-Ik7b9ai0.js} +1 -1
  28. package/dist/client/assets/{ganttDiagram-T4ZO3ILL-pNmuyhTT.js → ganttDiagram-T4ZO3ILL-BC-NrcBq.js} +1 -1
  29. package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-DywGqs_d.js → gitGraphDiagram-UUTBAWPF-DWLFCHqJ.js} +1 -1
  30. package/dist/client/assets/{graph-wLI-a6f_.js → graph-CFrgLuks.js} +1 -1
  31. package/dist/client/assets/index-BSr9Yi1L.css +1 -0
  32. package/dist/client/assets/{index-BvlhP0lF.js → index-BmsjlgH0.js} +162 -162
  33. package/dist/client/assets/{infoDiagram-42DDH7IO-Dd-W13KY.js → infoDiagram-42DDH7IO-C8LNvGxg.js} +1 -1
  34. package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-Cxusf_HC.js → ishikawaDiagram-UXIWVN3A-BVF0c1qh.js} +1 -1
  35. package/dist/client/assets/{journeyDiagram-VCZTEJTY-CNBWilxn.js → journeyDiagram-VCZTEJTY-DRe82d1J.js} +1 -1
  36. package/dist/client/assets/{kanban-definition-6JOO6SKY-COvid-XL.js → kanban-definition-6JOO6SKY-DWQP2qnF.js} +1 -1
  37. package/dist/client/assets/{layout-kFbZe4kW.js → layout-CRE4t3i4.js} +1 -1
  38. package/dist/client/assets/{linear-Ms3Rqxm3.js → linear-CEMkymuU.js} +1 -1
  39. package/dist/client/assets/{mermaid.core-pNTEyfuV.js → mermaid.core-Bstsk9cs.js} +4 -4
  40. package/dist/client/assets/{min-DHX2aDkR.js → min-Dqb8cdig.js} +1 -1
  41. package/dist/client/assets/{mindmap-definition-QFDTVHPH-BvC6-hNE.js → mindmap-definition-QFDTVHPH-C4IgFjul.js} +1 -1
  42. package/dist/client/assets/{pieDiagram-DEJITSTG-B_Usa7SZ.js → pieDiagram-DEJITSTG-qQsv3h1d.js} +1 -1
  43. package/dist/client/assets/{quadrantDiagram-34T5L4WZ-BelZwQw0.js → quadrantDiagram-34T5L4WZ-B9Z5d9Su.js} +1 -1
  44. package/dist/client/assets/{requirementDiagram-MS252O5E-D3PopSCU.js → requirementDiagram-MS252O5E-B3bvh52E.js} +1 -1
  45. package/dist/client/assets/{sankeyDiagram-XADWPNL6-CT_hbWMk.js → sankeyDiagram-XADWPNL6-CzMbxMn4.js} +1 -1
  46. package/dist/client/assets/{sequenceDiagram-FGHM5R23-BiNn8SKW.js → sequenceDiagram-FGHM5R23-OC2b3ovy.js} +1 -1
  47. package/dist/client/assets/{stateDiagram-FHFEXIEX-JGDKAj7k.js → stateDiagram-FHFEXIEX-DZ794L2W.js} +1 -1
  48. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-CWkyT6YP.js +1 -0
  49. package/dist/client/assets/{timeline-definition-GMOUNBTQ-C_m1mLvt.js → timeline-definition-GMOUNBTQ-VG_E_aeb.js} +1 -1
  50. package/dist/client/assets/{vennDiagram-DHZGUBPP-CbTzleI3.js → vennDiagram-DHZGUBPP-rtfRsKP2.js} +1 -1
  51. package/dist/client/assets/{wardley-RL74JXVD-n43ETO10.js → wardley-RL74JXVD-BFVZEiVh.js} +1 -1
  52. package/dist/client/assets/{wardleyDiagram-NUSXRM2D-CPYrHJfx.js → wardleyDiagram-NUSXRM2D-CAwmkN7Y.js} +1 -1
  53. package/dist/client/assets/{xychartDiagram-5P7HB3ND-D5_xXt5s.js → xychartDiagram-5P7HB3ND-Gk8gTxJJ.js} +1 -1
  54. package/dist/client/index.html +2 -2
  55. package/package.json +1 -1
  56. package/dist/client/assets/channel-Bsc9v8gO.js +0 -1
  57. package/dist/client/assets/classDiagram-6PBFFD2Q-CemsJaFk.js +0 -1
  58. package/dist/client/assets/classDiagram-v2-HSJHXN6E-CemsJaFk.js +0 -1
  59. package/dist/client/assets/clone-D1HtW7uh.js +0 -1
  60. package/dist/client/assets/index-CTyjGQHF.css +0 -1
  61. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-CiJ42_NW.js +0 -1
package/dist/cli.mjs CHANGED
@@ -40236,7 +40236,7 @@ var AGENT_CLI_API_CATALOG = [
40236
40236
  {
40237
40237
  method: "GET",
40238
40238
  path: "/agent-cli/state",
40239
- summary: "\uC124\uCE58\uB41C Agent CLI \uC0C1\uD0DC\uB97C \uC870\uD68C\uD569\uB2C8\uB2E4.",
40239
+ summary: "Get the installed Agent CLI status.",
40240
40240
  category: "Agent CLI",
40241
40241
  gate: "loopback"
40242
40242
  }
@@ -40265,63 +40265,63 @@ var CARRIER_SETTINGS_API_CATALOG = [
40265
40265
  {
40266
40266
  method: "GET",
40267
40267
  path: "/carrier-settings/state",
40268
- summary: "\uCE90\uB9AC\uC5B4 \uC124\uC815 \uC0C1\uD0DC\uB97C \uC870\uD68C\uD569\uB2C8\uB2E4.",
40268
+ summary: "Get the carrier settings status.",
40269
40269
  category: "Carrier Settings",
40270
40270
  gate: "loopback"
40271
40271
  },
40272
40272
  {
40273
40273
  method: "GET",
40274
40274
  path: "/carrier-settings/options",
40275
- summary: "\uCE90\uB9AC\uC5B4 \uC124\uC815 \uC120\uD0DD\uC9C0\uB97C \uC870\uD68C\uD569\uB2C8\uB2E4.",
40275
+ summary: "Get the carrier settings options.",
40276
40276
  category: "Carrier Settings",
40277
40277
  gate: "loopback"
40278
40278
  },
40279
40279
  {
40280
40280
  method: "PUT",
40281
40281
  path: "/carrier-settings/carriers/:id/cli",
40282
- summary: "\uCE90\uB9AC\uC5B4 Agent CLI\uB97C \uBCC0\uACBD\uD569\uB2C8\uB2E4.",
40282
+ summary: "Change the carrier Agent CLI.",
40283
40283
  category: "Carrier Settings",
40284
40284
  gate: "terminal-origin"
40285
40285
  },
40286
40286
  {
40287
40287
  method: "PUT",
40288
40288
  path: "/carrier-settings/carriers/:id/model",
40289
- summary: "\uCE90\uB9AC\uC5B4 \uBAA8\uB378 \uC120\uD0DD\uC744 \uBCC0\uACBD\uD569\uB2C8\uB2E4.",
40289
+ summary: "Change the carrier model selection.",
40290
40290
  category: "Carrier Settings",
40291
40291
  gate: "terminal-origin"
40292
40292
  },
40293
40293
  {
40294
40294
  method: "PATCH",
40295
40295
  path: "/carrier-settings/carriers/:id/display-name",
40296
- summary: "\uCE90\uB9AC\uC5B4 \uD45C\uC2DC \uC774\uB984\uC744 \uBCC0\uACBD\uD569\uB2C8\uB2E4.",
40296
+ summary: "Change the carrier display name.",
40297
40297
  category: "Carrier Settings",
40298
40298
  gate: "terminal-origin"
40299
40299
  },
40300
40300
  {
40301
40301
  method: "PUT",
40302
40302
  path: "/carrier-settings/carriers/:id/agent-mode",
40303
- summary: "\uCE90\uB9AC\uC5B4 \uC2E4\uD589 \uBAA8\uB4DC\uB97C \uBCC0\uACBD\uD569\uB2C8\uB2E4.",
40303
+ summary: "Change the carrier execution mode.",
40304
40304
  category: "Carrier Settings",
40305
40305
  gate: "terminal-origin"
40306
40306
  },
40307
40307
  {
40308
40308
  method: "PUT",
40309
40309
  path: "/carrier-settings/carriers/:id/taskforce/:cliType",
40310
- summary: "Task Force \uBC31\uC5D4\uB4DC \uBAA8\uB378\uC744 \uC124\uC815\uD569\uB2C8\uB2E4.",
40310
+ summary: "Set the Task Force backend model.",
40311
40311
  category: "Carrier Settings",
40312
40312
  gate: "terminal-origin"
40313
40313
  },
40314
40314
  {
40315
40315
  method: "DELETE",
40316
40316
  path: "/carrier-settings/carriers/:id/taskforce/:cliType",
40317
- summary: "Task Force \uBC31\uC5D4\uB4DC \uBAA8\uB378 \uC124\uC815\uC744 \uD574\uC81C\uD569\uB2C8\uB2E4.",
40317
+ summary: "Unset the Task Force backend model.",
40318
40318
  category: "Carrier Settings",
40319
40319
  gate: "terminal-origin"
40320
40320
  },
40321
40321
  {
40322
40322
  method: "DELETE",
40323
40323
  path: "/carrier-settings/carriers/:id/taskforce",
40324
- summary: "\uCE90\uB9AC\uC5B4 Task Force \uC124\uC815\uC744 \uCD08\uAE30\uD654\uD569\uB2C8\uB2E4.",
40324
+ summary: "Reset the carrier Task Force settings.",
40325
40325
  category: "Carrier Settings",
40326
40326
  gate: "terminal-origin"
40327
40327
  }
@@ -40742,14 +40742,14 @@ var GLOBAL_SETTINGS_API_CATALOG = [
40742
40742
  {
40743
40743
  method: "GET",
40744
40744
  path: "/global-settings/state",
40745
- summary: "\uC804\uC5ED \uCF58\uC194 \uC124\uC815 \uC0C1\uD0DC\uB97C \uC870\uD68C\uD569\uB2C8\uB2E4.",
40745
+ summary: "Get the global console settings status.",
40746
40746
  category: "Global Settings",
40747
40747
  gate: "loopback"
40748
40748
  },
40749
40749
  {
40750
40750
  method: "PUT",
40751
40751
  path: "/global-settings",
40752
- summary: "\uC804\uC5ED \uCF58\uC194 \uC124\uC815\uC744 \uC800\uC7A5\uD569\uB2C8\uB2E4.",
40752
+ summary: "Save the global console settings.",
40753
40753
  category: "Global Settings",
40754
40754
  gate: "terminal-origin"
40755
40755
  }
@@ -40830,21 +40830,21 @@ var MODEL_AUTH_API_CATALOG = [
40830
40830
  {
40831
40831
  method: "GET",
40832
40832
  path: "/model-auth/state",
40833
- summary: "\uBAA8\uB378 \uB85C\uADF8\uC778 \uC0C1\uD0DC\uB97C \uC870\uD68C\uD569\uB2C8\uB2E4.",
40833
+ summary: "Get the model login status.",
40834
40834
  category: "Model Auth",
40835
40835
  gate: "loopback"
40836
40836
  },
40837
40837
  {
40838
40838
  method: "PUT",
40839
40839
  path: "/model-auth/providers/:cli",
40840
- summary: "\uBAA8\uB378 \uC81C\uACF5\uC790 API \uD0A4\uB97C \uB4F1\uB85D\uD569\uB2C8\uB2E4.",
40840
+ summary: "Register a model provider API key.",
40841
40841
  category: "Model Auth",
40842
40842
  gate: "terminal-origin"
40843
40843
  },
40844
40844
  {
40845
40845
  method: "DELETE",
40846
40846
  path: "/model-auth/providers/:cli",
40847
- summary: "\uBAA8\uB378 \uC81C\uACF5\uC790 API \uD0A4\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4.",
40847
+ summary: "Remove a model provider API key.",
40848
40848
  category: "Model Auth",
40849
40849
  gate: "terminal-origin"
40850
40850
  }
@@ -42510,6 +42510,176 @@ function resolvedWorkspaceSnapshot(resolveWorkspace, tenantId) {
42510
42510
  tenantLabel: tenantId
42511
42511
  };
42512
42512
  }
42513
+
42514
+ // src/release-notes/parser.ts
42515
+ var RELEASE_NOTE_HEADINGS = ["Added", "Changed", "Fixed", "Removed", "Breaking Changes"];
42516
+ var VERSION_HEADER_PATTERN = /^## \[([^\]]+)\](?: - ([0-9]{4}-[0-9]{2}-[0-9]{2}))?$/;
42517
+ var SECTION_HEADER_PATTERN = /^### (Added|Changed|Fixed|Removed|Breaking Changes)$/;
42518
+ var BULLET_PATTERN = /^- (.+)$/;
42519
+ var PACKAGE_TAG_PATTERN = /^\[([^\]]+)\]/;
42520
+ function parseConsoleReleaseNotes(changelog) {
42521
+ const lines = changelog.split(/\r?\n/);
42522
+ const notes = [];
42523
+ for (let index = 0; index < lines.length; index += 1) {
42524
+ const match = VERSION_HEADER_PATTERN.exec(lines[index] ?? "");
42525
+ if (match === null) continue;
42526
+ const block = [];
42527
+ for (let cursor = index + 1; cursor < lines.length; cursor += 1) {
42528
+ if ((lines[cursor] ?? "").startsWith("## ")) break;
42529
+ block.push(lines[cursor] ?? "");
42530
+ }
42531
+ const sections = collectSections(block);
42532
+ if (sections.length === 0) continue;
42533
+ notes.push({ version: match[1] ?? "", date: match[2] ?? null, sections });
42534
+ }
42535
+ return notes;
42536
+ }
42537
+ function collectSections(lines) {
42538
+ const sections = [];
42539
+ let current = null;
42540
+ for (const line of lines) {
42541
+ const sectionMatch = SECTION_HEADER_PATTERN.exec(line);
42542
+ if (sectionMatch !== null) {
42543
+ current = { heading: sectionMatch[1], items: [] };
42544
+ sections.push(current);
42545
+ continue;
42546
+ }
42547
+ if (current === null) continue;
42548
+ if (line.startsWith("### ")) {
42549
+ current = null;
42550
+ continue;
42551
+ }
42552
+ const bulletMatch = BULLET_PATTERN.exec(line);
42553
+ if (bulletMatch !== null) current.items.push(parseReleaseNoteItem(bulletMatch[1] ?? ""));
42554
+ }
42555
+ return RELEASE_NOTE_HEADINGS.map((heading) => sections.find((section2) => section2.heading === heading)).filter((section2) => Boolean(section2 && section2.items.length > 0));
42556
+ }
42557
+ function parseReleaseNoteItem(rawText) {
42558
+ const packageTags = [];
42559
+ let text = rawText.trim();
42560
+ while (true) {
42561
+ const match = PACKAGE_TAG_PATTERN.exec(text);
42562
+ if (match === null) break;
42563
+ packageTags.push(match[1] ?? "");
42564
+ text = text.slice(match[0].length).trimStart();
42565
+ }
42566
+ return { packageTags, text: text.trim() };
42567
+ }
42568
+
42569
+ // src/release-notes/types.ts
42570
+ var ConsoleReleaseNotesUnavailableError = class extends Error {
42571
+ reason;
42572
+ constructor(reason) {
42573
+ super("Console release notes are unavailable");
42574
+ this.name = "ConsoleReleaseNotesUnavailableError";
42575
+ this.reason = reason;
42576
+ }
42577
+ };
42578
+
42579
+ // src/release-notes/service.ts
42580
+ var RAW_CHANGELOG_URL = "https://raw.githubusercontent.com/sbluemin/fleet-harness/main/CHANGELOG.md";
42581
+ var SOURCE_REF = "main";
42582
+ var FETCH_TIMEOUT_MS = 3e3;
42583
+ var MAX_CHANGELOG_BYTES = 1024 * 1024;
42584
+ var SUCCESS_TTL_MS = 60 * 60 * 1e3;
42585
+ var NEGATIVE_TTL_MS = 30 * 1e3;
42586
+ function createConsoleReleaseNotesService(deps = {}) {
42587
+ const fetchImpl = deps.fetchImpl ?? fetch;
42588
+ const now = deps.now ?? (() => Date.now());
42589
+ const setTimer = deps.setTimeout ?? setTimeout;
42590
+ const clearTimer = deps.clearTimeout ?? clearTimeout;
42591
+ let lastSuccess = null;
42592
+ let lastFailureAt = 0;
42593
+ let inFlight = null;
42594
+ let forceInFlight = null;
42595
+ async function refresh(options = {}) {
42596
+ const currentTime = now();
42597
+ if (options.force) {
42598
+ if (forceInFlight) return forceInFlight;
42599
+ const pending2 = runFetch().finally(() => {
42600
+ if (forceInFlight === pending2) forceInFlight = null;
42601
+ });
42602
+ forceInFlight = pending2;
42603
+ return pending2;
42604
+ }
42605
+ if (lastSuccess && currentTime - lastSuccess.fetchedAt < SUCCESS_TTL_MS) return lastSuccess;
42606
+ if (lastFailureAt > 0 && currentTime - lastFailureAt < NEGATIVE_TTL_MS) {
42607
+ if (lastSuccess) return { ...lastSuccess, stale: true };
42608
+ throw new ConsoleReleaseNotesUnavailableError("negative_cache");
42609
+ }
42610
+ if (inFlight) return inFlight;
42611
+ const pending = runFetch().finally(() => {
42612
+ if (inFlight === pending) inFlight = null;
42613
+ });
42614
+ inFlight = pending;
42615
+ return pending;
42616
+ }
42617
+ function runFetch() {
42618
+ return fetchReleaseNotes().then((result) => {
42619
+ lastSuccess = result;
42620
+ lastFailureAt = 0;
42621
+ return result;
42622
+ }).catch((error51) => {
42623
+ lastFailureAt = now();
42624
+ if (lastSuccess) return { ...lastSuccess, stale: true };
42625
+ if (error51 instanceof ConsoleReleaseNotesUnavailableError) throw error51;
42626
+ throw new ConsoleReleaseNotesUnavailableError("cold_unavailable");
42627
+ });
42628
+ }
42629
+ async function fetchReleaseNotes() {
42630
+ const controller = new AbortController();
42631
+ const timer = setTimer(() => controller.abort(), FETCH_TIMEOUT_MS);
42632
+ timer.unref?.();
42633
+ try {
42634
+ const response = await fetchImpl(RAW_CHANGELOG_URL, {
42635
+ headers: { Accept: "text/plain; charset=utf-8" },
42636
+ signal: controller.signal
42637
+ });
42638
+ if (!response.ok) throw new ConsoleReleaseNotesUnavailableError("cold_unavailable");
42639
+ const text = await readTextWithByteLimit(response, controller);
42640
+ return {
42641
+ notes: parseConsoleReleaseNotes(text),
42642
+ sourceRef: SOURCE_REF,
42643
+ fetchedAt: now(),
42644
+ stale: false
42645
+ };
42646
+ } finally {
42647
+ clearTimer(timer);
42648
+ }
42649
+ }
42650
+ return { refresh };
42651
+ }
42652
+ async function readTextWithByteLimit(response, controller) {
42653
+ const body = response.body;
42654
+ if (body === null) return await response.text();
42655
+ const reader = body.getReader();
42656
+ const chunks = [];
42657
+ let totalBytes = 0;
42658
+ try {
42659
+ while (true) {
42660
+ const { done, value } = await reader.read();
42661
+ if (done) break;
42662
+ totalBytes += value.byteLength;
42663
+ if (totalBytes > MAX_CHANGELOG_BYTES) {
42664
+ controller.abort();
42665
+ throw new ConsoleReleaseNotesUnavailableError("cold_unavailable");
42666
+ }
42667
+ chunks.push(value);
42668
+ }
42669
+ return new TextDecoder().decode(joinChunks2(chunks, totalBytes));
42670
+ } finally {
42671
+ reader.releaseLock();
42672
+ }
42673
+ }
42674
+ function joinChunks2(chunks, totalBytes) {
42675
+ const joined = new Uint8Array(totalBytes);
42676
+ let offset = 0;
42677
+ for (const chunk of chunks) {
42678
+ joined.set(chunk, offset);
42679
+ offset += chunk.byteLength;
42680
+ }
42681
+ return joined;
42682
+ }
42513
42683
  var TENANT_EVENT_LIMIT = 1e3;
42514
42684
  var TENANT_FINALIZED_JOB_LIMIT = 100;
42515
42685
  var TENANT_JOB_LIMIT = 200;
@@ -44438,6 +44608,13 @@ var SERVER_API_CATALOG = [
44438
44608
  category: "Observer",
44439
44609
  gate: "loopback"
44440
44610
  },
44611
+ {
44612
+ method: "GET",
44613
+ path: "/observer/release-notes",
44614
+ summary: "Get the console release notes.",
44615
+ category: "Update",
44616
+ gate: "loopback"
44617
+ },
44441
44618
  {
44442
44619
  method: "GET",
44443
44620
  path: "/observer/tenants",
@@ -44589,6 +44766,7 @@ function createConsoleServer(deps = {}) {
44589
44766
  registerDefaultCarriers(carrierRegistry);
44590
44767
  const lock = createConsoleLock({ hostname: () => host });
44591
44768
  const observability = createConsoleObservabilityStore();
44769
+ const releaseNotes = deps.releaseNotes ?? createConsoleReleaseNotesService();
44592
44770
  const updateCheck = deps.updateCheck ?? createConsoleUpdateCheckService();
44593
44771
  const updateApply = deps.updateApply ?? createConsoleUpdateApplyService();
44594
44772
  const theaters = new TheaterRegistry();
@@ -44783,6 +44961,10 @@ function createConsoleServer(deps = {}) {
44783
44961
  handleObserverApiCatalog(req, res);
44784
44962
  return;
44785
44963
  }
44964
+ if (pathname === "/observer/release-notes") {
44965
+ runAsyncHandler(handleObserverReleaseNotes(req, res), res);
44966
+ return;
44967
+ }
44786
44968
  if (pathname === "/update/apply") {
44787
44969
  runAsyncHandler(handleUpdateApply(req, res), res);
44788
44970
  return;
@@ -45233,6 +45415,22 @@ function createConsoleServer(deps = {}) {
45233
45415
  function handleObserverApiCatalog(_req, res) {
45234
45416
  writeJson(res, 200, { version: version2, routes: buildApiCatalog() });
45235
45417
  }
45418
+ async function handleObserverReleaseNotes(req, res) {
45419
+ if (req.method !== "GET") {
45420
+ writeJson(res, 405, { error: "Method not allowed" });
45421
+ return;
45422
+ }
45423
+ try {
45424
+ const force = readUrl(req).searchParams.get("force") === "true";
45425
+ writeJson(res, 200, await releaseNotes.refresh({ force }));
45426
+ } catch (error51) {
45427
+ if (error51 instanceof ConsoleReleaseNotesUnavailableError) {
45428
+ writeJson(res, 503, { error: "release_notes_unavailable" });
45429
+ return;
45430
+ }
45431
+ throw error51;
45432
+ }
45433
+ }
45236
45434
  async function handleUpdateApply(req, res) {
45237
45435
  if (req.method !== "POST") {
45238
45436
  writeJson(res, 405, { error: "Method not allowed" });
@@ -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-pNTEyfuV.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-Bstsk9cs.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-pNTEyfuV.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-Bstsk9cs.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};