@runweave/server-darwin-x64 0.1.0 → 0.1.3

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 (84) hide show
  1. package/manifest.json +157 -152
  2. package/native.tar.gz +0 -0
  3. package/package.json +6 -1
  4. package/payload/app-server/build-info.json +4 -4
  5. package/payload/app-server/index.cjs +191 -19
  6. package/payload/app-server/index.cjs.map +1 -1
  7. package/payload/backend/build-info.json +4 -4
  8. package/payload/backend/dev-resources/control.cjs +195 -20
  9. package/payload/backend/index.cjs +204 -19
  10. package/payload/backend/scheduled-tasks-sqlite-worker.cjs +11 -7
  11. package/payload/frontend/dist/assets/{_baseUniq-BJ9V9bG-.js → _baseUniq-Z8S1OGl1.js} +1 -1
  12. package/payload/frontend/dist/assets/{access-DYFqfdy3.js → access-BkQls-gl.js} +1 -1
  13. package/payload/frontend/dist/assets/{advanced-C4Sx575S.js → advanced-Cwuko7dT.js} +1 -1
  14. package/payload/frontend/dist/assets/{appearance-Bhq5haQK.js → appearance-D1NbgiL9.js} +1 -1
  15. package/payload/frontend/dist/assets/{arc-Bihx3tKA.js → arc-yTzSLmPE.js} +1 -1
  16. package/payload/frontend/dist/assets/{architectureDiagram-Q4EWVU46-63rNkvm4.js → architectureDiagram-Q4EWVU46-BvvnA771.js} +1 -1
  17. package/payload/frontend/dist/assets/{blockDiagram-DXYQGD6D-BlolQExt.js → blockDiagram-DXYQGD6D-4mSkYwEH.js} +1 -1
  18. package/payload/frontend/dist/assets/{c4Diagram-AHTNJAMY-DJtJ952u.js → c4Diagram-AHTNJAMY-BFsQYjNJ.js} +1 -1
  19. package/payload/frontend/dist/assets/channel-DGu_xwRJ.js +1 -0
  20. package/payload/frontend/dist/assets/{chunk-4BX2VUAB-ChncjhEG.js → chunk-4BX2VUAB-B4j2kD8S.js} +1 -1
  21. package/payload/frontend/dist/assets/{chunk-4TB4RGXK-C6ipd8Rb.js → chunk-4TB4RGXK-BHHtOn_W.js} +1 -1
  22. package/payload/frontend/dist/assets/{chunk-55IACEB6-D9P1TLAl.js → chunk-55IACEB6-npi1DjnI.js} +1 -1
  23. package/payload/frontend/dist/assets/{chunk-EDXVE4YY-NqBFXrAb.js → chunk-EDXVE4YY-6XoKXtpJ.js} +1 -1
  24. package/payload/frontend/dist/assets/{chunk-FMBD7UC4-DDP02KGl.js → chunk-FMBD7UC4-D5wdm5pu.js} +1 -1
  25. package/payload/frontend/dist/assets/{chunk-OYMX7WX6-BH7IIwJs.js → chunk-OYMX7WX6-CdQRrw_z.js} +1 -1
  26. package/payload/frontend/dist/assets/{chunk-QZHKN3VN-BQs-0fGA.js → chunk-QZHKN3VN-j-pcsMU1.js} +1 -1
  27. package/payload/frontend/dist/assets/{chunk-YZCP3GAM-BjN5B1FZ.js → chunk-YZCP3GAM-ISBm3jAD.js} +1 -1
  28. package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-Xx1qN_NY.js +1 -0
  29. package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-Xx1qN_NY.js +1 -0
  30. package/payload/frontend/dist/assets/clone-DdDT5GkX.js +1 -0
  31. package/payload/frontend/dist/assets/{connection-BK8OyohU.js → connection-BL2ZiJKS.js} +1 -1
  32. package/payload/frontend/dist/assets/{connections-BMlDGuxr.js → connections-BuXymnab.js} +1 -1
  33. package/payload/frontend/dist/assets/{cose-bilkent-S5V4N54A-NPOCJBiA.js → cose-bilkent-S5V4N54A-D3ioXA7D.js} +1 -1
  34. package/payload/frontend/dist/assets/{dagre-KV5264BT-COIvyDWn.js → dagre-KV5264BT-DjtjEtE5.js} +1 -1
  35. package/payload/frontend/dist/assets/{desktop-ByVdibdg.js → desktop-Du3Gd9LW.js} +1 -1
  36. package/payload/frontend/dist/assets/{diagram-5BDNPKRD-S_8jRdqp.js → diagram-5BDNPKRD-CtxPyS9C.js} +1 -1
  37. package/payload/frontend/dist/assets/{diagram-G4DWMVQ6-C42mxsNM.js → diagram-G4DWMVQ6-ikqU0pq3.js} +1 -1
  38. package/payload/frontend/dist/assets/{diagram-MMDJMWI5-BJM6otf0.js → diagram-MMDJMWI5-CoKNp7eo.js} +1 -1
  39. package/payload/frontend/dist/assets/{diagram-TYMM5635-By5p6aCA.js → diagram-TYMM5635-7xoHFg4D.js} +1 -1
  40. package/payload/frontend/dist/assets/{erDiagram-SMLLAGMA-U0Ye_786.js → erDiagram-SMLLAGMA-Da8Jm4bc.js} +1 -1
  41. package/payload/frontend/dist/assets/{flowDiagram-DWJPFMVM-CUkOR4uD.js → flowDiagram-DWJPFMVM-bcIflYKx.js} +1 -1
  42. package/payload/frontend/dist/assets/{ganttDiagram-T4ZO3ILL-CRlDiioi.js → ganttDiagram-T4ZO3ILL-CCSwpL4k.js} +1 -1
  43. package/payload/frontend/dist/assets/{gitGraphDiagram-UUTBAWPF-DV4Ea1j2.js → gitGraphDiagram-UUTBAWPF-C5YN1uxh.js} +1 -1
  44. package/payload/frontend/dist/assets/{graph-Bn4s-NIu.js → graph-DhVKaWIc.js} +1 -1
  45. package/payload/frontend/dist/assets/{image-0wCxVgo2.js → image-CAXFSZmt.js} +1 -1
  46. package/payload/frontend/dist/assets/{index-De2lxGIa.js → index-BPgmi_HT.js} +5 -5
  47. package/payload/frontend/dist/assets/{infoDiagram-42DDH7IO-ut--ZHxq.js → infoDiagram-42DDH7IO-CKUkVeJd.js} +1 -1
  48. package/payload/frontend/dist/assets/{ishikawaDiagram-UXIWVN3A-DbJ9qouY.js → ishikawaDiagram-UXIWVN3A-Cu6SCNrB.js} +1 -1
  49. package/payload/frontend/dist/assets/{journeyDiagram-VCZTEJTY-CZ5a4nqq.js → journeyDiagram-VCZTEJTY-BJsUgp8J.js} +1 -1
  50. package/payload/frontend/dist/assets/{kanban-definition-6JOO6SKY-CagFKide.js → kanban-definition-6JOO6SKY-BGowhqfi.js} +1 -1
  51. package/payload/frontend/dist/assets/{layout-DJ8E_yHX.js → layout-CunOX6M2.js} +1 -1
  52. package/payload/frontend/dist/assets/{linear-Dn6DMk6q.js → linear-C_0D1AIt.js} +1 -1
  53. package/payload/frontend/dist/assets/{main-T426svZw.js → main-D9JUBZrL.js} +147 -147
  54. package/payload/frontend/dist/assets/{min-DnGEZSmi.js → min-CYRFaNhC.js} +1 -1
  55. package/payload/frontend/dist/assets/{mindmap-definition-QFDTVHPH-Dy5F9V5f.js → mindmap-definition-QFDTVHPH-CC29vHKR.js} +1 -1
  56. package/payload/frontend/dist/assets/{monitoring-BdNkTyog.js → monitoring-CSJEFZ4D.js} +1 -1
  57. package/payload/frontend/dist/assets/{notifications-incoktxl.js → notifications-B6plZwi5.js} +1 -1
  58. package/payload/frontend/dist/assets/{pieDiagram-DEJITSTG-yXPGxeUi.js → pieDiagram-DEJITSTG-ZPTChlGS.js} +1 -1
  59. package/payload/frontend/dist/assets/{quadrantDiagram-34T5L4WZ-D4cCRjRq.js → quadrantDiagram-34T5L4WZ-B4sL0Weo.js} +1 -1
  60. package/payload/frontend/dist/assets/{record-content-D1WJhPcw.js → record-content-DBb8tU0P.js} +1 -1
  61. package/payload/frontend/dist/assets/{requirementDiagram-MS252O5E-mq9zSUQY.js → requirementDiagram-MS252O5E-Q2PHuGEG.js} +1 -1
  62. package/payload/frontend/dist/assets/{sankeyDiagram-XADWPNL6-CLpI-tDz.js → sankeyDiagram-XADWPNL6-k8w1jlHT.js} +1 -1
  63. package/payload/frontend/dist/assets/{sequenceDiagram-FGHM5R23-B-T8p6AJ.js → sequenceDiagram-FGHM5R23-0qPxopqC.js} +1 -1
  64. package/payload/frontend/dist/assets/{stateDiagram-FHFEXIEX-l2_t6o5K.js → stateDiagram-FHFEXIEX-BHxYXi2c.js} +1 -1
  65. package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-s5VUMcqx.js +1 -0
  66. package/payload/frontend/dist/assets/{status-CP5f7C2Y.js → status-Zy2MW6gr.js} +1 -1
  67. package/payload/frontend/dist/assets/suiji-5pox13NE.js +1 -0
  68. package/payload/frontend/dist/assets/{svg-G8v0TLQu.js → svg-vmNZnz5w.js} +1 -1
  69. package/payload/frontend/dist/assets/{tabs-CuKPIDlT.js → tabs-C257BfM6.js} +1 -1
  70. package/payload/frontend/dist/assets/{timeline-definition-GMOUNBTQ-CSaExDd9.js → timeline-definition-GMOUNBTQ-BC_3Dip2.js} +1 -1
  71. package/payload/frontend/dist/assets/{vennDiagram-DHZGUBPP-x-fCoh_Q.js → vennDiagram-DHZGUBPP-V_X88VPq.js} +1 -1
  72. package/payload/frontend/dist/assets/{wardley-RL74JXVD-B4O75ZAB.js → wardley-RL74JXVD-CflQhbCA.js} +1 -1
  73. package/payload/frontend/dist/assets/{wardleyDiagram-NUSXRM2D-CdXssvxH.js → wardleyDiagram-NUSXRM2D-C75i3btX.js} +1 -1
  74. package/payload/frontend/dist/assets/{xychartDiagram-5P7HB3ND-DwTtw7p0.js → xychartDiagram-5P7HB3ND-KIYpQyyi.js} +1 -1
  75. package/payload/frontend/dist/build-info.json +4 -4
  76. package/payload/frontend/dist/companion.html +1 -1
  77. package/payload/frontend/dist/index.html +2 -2
  78. package/payload/server/index.cjs +203 -19
  79. package/payload/frontend/dist/assets/channel-Mm4Vb-2P.js +0 -1
  80. package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-BiLH0Poy.js +0 -1
  81. package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-BiLH0Poy.js +0 -1
  82. package/payload/frontend/dist/assets/clone-qIEEEAzl.js +0 -1
  83. package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-BXh3ccaZ.js +0 -1
  84. package/payload/frontend/dist/assets/suiji-BAD1Bzfb.js +0 -1
@@ -1,4 +1,4 @@
1
- /* runweave:build-info */var __RUNWEAVE_BUILD_INFO__={"version":"0.1.0","buildId":"20261031T161639310Z-7dcff61a","sourceRevision":"7dcff61ad7d9e4c3b5cb4a1273a1f21d97b6fa9a","sourceDirty":false,"builtAt":"2026-10-31T16:16:39.310Z","contentSha256":"3ec63d53fb7c066e8ea9a6cd412308d9188bb7713a0ac7ad6a6002ea1571584c"};
1
+ /* runweave:build-info */var __RUNWEAVE_BUILD_INFO__={"version":"0.1.0","buildId":"20261101T045658445Z-f866322b","sourceRevision":"f866322b32d9c3896ed3c60bc387f1184a104614","sourceDirty":false,"builtAt":"2026-11-01T04:56:58.445Z","contentSha256":"ee7d9abbd17e6544b455ad94abecc12340c26eed846a36fe2e8fa8e46e564c1b"};
2
2
  const __IMPORT_META_URL__ = require('url').pathToFileURL(__filename).href;
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -63328,6 +63328,15 @@ function createScreenRecordingAnalysisRouter(service, auth, history) {
63328
63328
  });
63329
63329
  };
63330
63330
  register("get", "/conversations/:id", "analysisConversation", () => ({}));
63331
+ register("get", "/search", "analysisSearch", (req) => {
63332
+ const { q, from, to, limit } = req.query;
63333
+ if (typeof q !== "string" || !q.trim() || Buffer.byteLength(q, "utf8") > 48e3 || typeof from !== "string" || !/^\d{4}-\d{2}-\d{2}$/.test(from) || typeof to !== "string" || !/^\d{4}-\d{2}-\d{2}$/.test(to) || limit !== void 0 && (typeof limit !== "string" || !/^[0-9]+$/.test(limit))) {
63334
+ throw new ScreenRecordingFailure(400, "INVALID_ARGUMENT");
63335
+ }
63336
+ const count = limit === void 0 ? 100 : integer2(limit);
63337
+ if (count < 1 || count > 100) throw new ScreenRecordingFailure(400, "INVALID_ARGUMENT");
63338
+ return { q, from, to, limit: count };
63339
+ });
63331
63340
  register("get", "/status", "analysisStatus", () => ({}));
63332
63341
  register("get", "/cards", "analysisCards", (req) => ({ day: text3(req.query.day), ...req.query.cursor === void 0 ? {} : { cursor: text3(req.query.cursor) }, ...req.query.limit === void 0 ? {} : { limit: integer2(req.query.limit) } }));
63333
63342
  register("get", "/cards/:id", "analysisCard", (req) => ({ cardID: text3(req.params.id) }));
@@ -63567,7 +63576,39 @@ function registerStableConfigurationRoot(context) {
63567
63576
  (0, import_node_fs3.closeSync)(registryFd);
63568
63577
  }
63569
63578
  }
63579
+ function withUpgradeGate(context, shared, run2) {
63580
+ const directory3 = ownerDirectory(context);
63581
+ const fd = (0, import_node_fs3.openSync)(import_node_path3.default.join(directory3, "configuration-upgrade.lock"), import_node_fs3.constants.O_CREAT | import_node_fs3.constants.O_RDWR | import_node_fs3.constants.O_NOFOLLOW, 384);
63582
+ try {
63583
+ assertPrivateDescriptor(fd);
63584
+ if (!(0, import_fs_native_extensions.tryLock)(fd, 0, 0, { shared })) throw new ConfigurationError("CONFIG_UPGRADE_BUSY");
63585
+ return run2();
63586
+ } finally {
63587
+ (0, import_node_fs3.closeSync)(fd);
63588
+ }
63589
+ }
63590
+ function withConfigurationUpgradeOwnership(context, run2, ignoredRoles = []) {
63591
+ return withUpgradeGate(context, false, () => {
63592
+ const directory3 = ownerDirectory(context);
63593
+ const held = [];
63594
+ try {
63595
+ for (const file of (0, import_node_fs3.readdirSync)(directory3).filter((name) => name.endsWith(".owner.lock"))) {
63596
+ if (ignoredRoles.includes(file.replace(/\.owner\.lock$/, ""))) continue;
63597
+ const fd = (0, import_node_fs3.openSync)(import_node_path3.default.join(directory3, file), import_node_fs3.constants.O_RDWR | import_node_fs3.constants.O_NOFOLLOW);
63598
+ held.push(fd);
63599
+ assertPrivateDescriptor(fd);
63600
+ if (!(0, import_fs_native_extensions.tryLock)(fd)) throw new ConfigurationError("CONFIG_UPGRADE_CONSUMER_RUNNING", [file.replace(/\.owner\.lock$/, "")]);
63601
+ }
63602
+ return run2();
63603
+ } finally {
63604
+ for (const fd of held) (0, import_node_fs3.closeSync)(fd);
63605
+ }
63606
+ });
63607
+ }
63570
63608
  function acquireConfigurationOwner(context, role) {
63609
+ return withUpgradeGate(context, true, () => acquireOwner(context, role));
63610
+ }
63611
+ function acquireOwner(context, role) {
63571
63612
  const directory3 = ownerDirectory(context);
63572
63613
  const fd = (0, import_node_fs3.openSync)(import_node_path3.default.join(directory3, `${role}.owner.lock`), import_node_fs3.constants.O_CREAT | import_node_fs3.constants.O_RDWR | import_node_fs3.constants.O_NOFOLLOW, 384);
63573
63614
  let closed = false;
@@ -63588,13 +63629,6 @@ function acquireConfigurationOwner(context, role) {
63588
63629
  }
63589
63630
  }
63590
63631
 
63591
- // packages/config-node/src/store.ts
63592
- var import_node_fs4 = require("node:fs");
63593
- var import_node_path5 = __toESM(require("node:path"), 1);
63594
- var import_node_crypto3 = require("node:crypto");
63595
- var import_yaml = __toESM(require_dist(), 1);
63596
- var import_fs_native_extensions2 = require("fs-native-extensions");
63597
-
63598
63632
  // packages/shared/src/configuration/fields.ts
63599
63633
  var CONFIGURATION_FIELDS = [
63600
63634
  { "path": "screenRecording.analysis.enabled", "type": "boolean", "domain": "screenRecording.analysis", "sensitive": false, "remote": false, "apply": "reload", "description": "\u542F\u7528\u672C\u673A\u5C4F\u5E55\u4E8B\u9879\u5206\u6790\uFF0C\u9ED8\u8BA4\u5173\u95ED", "environmentKeys": [], "owner": "backend/screen-recording-analysis", "scope": "instance", "storage": "settings.yaml", "default": { "value": false }, "migrationSources": ["new-field:no-legacy-source"] },
@@ -63767,14 +63801,18 @@ var CONFIGURATION_FIELDS = [
63767
63801
  ];
63768
63802
 
63769
63803
  // packages/shared/src/configuration/compatibility.ts
63804
+ var CONFIGURATION_SCHEMA_VERSION = 1;
63805
+ var CONFIGURATION_DOMAIN_VERSIONS = Object.fromEntries(
63806
+ [...new Set(CONFIGURATION_FIELDS.map((field) => field.domain))].map((domain) => [domain, 1])
63807
+ );
63770
63808
  var CONFIGURATION_COMPATIBILITY = {
63771
63809
  format: "runweave-yaml",
63772
- schemaVersions: [1],
63773
- domainVersions: Object.fromEntries([...new Set(CONFIGURATION_FIELDS.map((field) => field.domain))].map((domain) => [domain, [1]]))
63810
+ schemaVersions: [CONFIGURATION_SCHEMA_VERSION],
63811
+ domainVersions: Object.fromEntries(Object.entries(CONFIGURATION_DOMAIN_VERSIONS).map(([domain, version2]) => [domain, [version2]]))
63774
63812
  };
63775
63813
  var APP_SERVER_CONFIGURATION_COMPATIBILITY = {
63776
63814
  ...CONFIGURATION_COMPATIBILITY,
63777
- domainVersions: Object.fromEntries(["appServer", "agents.codex", "agents.traex"].map((domain) => [domain, [1]]))
63815
+ domainVersions: Object.fromEntries(["appServer", "agents.codex", "agents.traex"].map((domain) => [domain, [CONFIGURATION_DOMAIN_VERSIONS[domain]]]))
63778
63816
  };
63779
63817
  function supportsConfiguration(target2, value) {
63780
63818
  if (!target2 || typeof target2 !== "object") return false;
@@ -63850,6 +63888,66 @@ function configurationPathSegment(key2) {
63850
63888
  return key2.replace(/\\/g, "\\\\").replace(/\./g, "\\.");
63851
63889
  }
63852
63890
 
63891
+ // packages/config-node/src/version-migrations.ts
63892
+ var CONFIGURATION_VERSION_MIGRATIONS = [];
63893
+ function migrateConfigurationDocument(document2) {
63894
+ const steps = [];
63895
+ const ids = /* @__PURE__ */ new Set();
63896
+ const edges = /* @__PURE__ */ new Set();
63897
+ for (const step of CONFIGURATION_VERSION_MIGRATIONS) {
63898
+ const edge2 = `${step.domain ?? "$schema"}:${step.from}`;
63899
+ if (!/^[a-zA-Z0-9][a-zA-Z0-9._-]+$/.test(step.id) || ids.has(step.id) || edges.has(edge2) || !Number.isSafeInteger(step.from) || step.from < 1 || step.to !== step.from + 1 || step.domain !== void 0 && !Object.hasOwn(CONFIGURATION_DOMAIN_VERSIONS, step.domain) || step.to > (step.domain ? CONFIGURATION_DOMAIN_VERSIONS[step.domain] : CONFIGURATION_SCHEMA_VERSION)) {
63900
+ throw new ConfigurationError("CONFIG_UPGRADE_REGISTRY_INVALID");
63901
+ }
63902
+ ids.add(step.id);
63903
+ edges.add(edge2);
63904
+ }
63905
+ const advance = (domain, target2) => {
63906
+ const versionPath = domain ? ["domainVersions", domain] : ["schemaVersion"];
63907
+ let version2 = Number(document2.getIn(versionPath) ?? 1);
63908
+ if (version2 > target2) throw new ConfigurationError("CONFIG_UPGRADE_FUTURE_VERSION", [domain ?? "schemaVersion"]);
63909
+ while (version2 < target2) {
63910
+ const step = CONFIGURATION_VERSION_MIGRATIONS.find((item) => item.domain === domain && item.from === version2);
63911
+ if (!step) throw new ConfigurationError("CONFIG_UPGRADE_PATH_MISSING", [domain ?? "schemaVersion"]);
63912
+ const before = document2.toJS();
63913
+ try {
63914
+ step.migrate(document2);
63915
+ } catch {
63916
+ throw new ConfigurationError("CONFIG_UPGRADE_STEP_FAILED", [step.id]);
63917
+ }
63918
+ const after = document2.toJS();
63919
+ for (const key2 of ["schemaVersion", "revision", "kind", "instanceId", "domainVersions", "migrations"]) {
63920
+ if (JSON.stringify(before[key2]) !== JSON.stringify(after[key2])) throw new ConfigurationError("CONFIG_UPGRADE_METADATA_CHANGED", [step.id]);
63921
+ }
63922
+ if (domain) {
63923
+ const strip = (value) => {
63924
+ const copy = structuredClone(value);
63925
+ const parts = domain.split(".");
63926
+ let parent = copy;
63927
+ for (const key2 of parts.slice(0, -1)) parent = parent[key2] ?? {};
63928
+ delete parent[parts.at(-1)];
63929
+ return copy;
63930
+ };
63931
+ if (JSON.stringify(strip(before)) !== JSON.stringify(strip(after))) throw new ConfigurationError("CONFIG_UPGRADE_SCOPE_CHANGED", [step.id]);
63932
+ }
63933
+ document2.setIn(versionPath, step.to);
63934
+ document2.setIn(["migrations", `version:${step.id}`], { from: step.from, to: step.to, domain: domain ?? "$schema" });
63935
+ steps.push(step.id);
63936
+ version2 = step.to;
63937
+ }
63938
+ };
63939
+ advance(void 0, CONFIGURATION_SCHEMA_VERSION);
63940
+ for (const [domain, target2] of Object.entries(CONFIGURATION_DOMAIN_VERSIONS)) advance(domain, target2);
63941
+ return steps;
63942
+ }
63943
+
63944
+ // packages/config-node/src/store.ts
63945
+ var import_node_fs4 = require("node:fs");
63946
+ var import_node_path5 = __toESM(require("node:path"), 1);
63947
+ var import_node_crypto3 = require("node:crypto");
63948
+ var import_yaml = __toESM(require_dist(), 1);
63949
+ var import_fs_native_extensions2 = require("fs-native-extensions");
63950
+
63853
63951
  // packages/config-node/src/validation.ts
63854
63952
  var import_node_path4 = __toESM(require("node:path"), 1);
63855
63953
  var patterns = CONFIGURATION_FIELDS.map((field) => ({ field, segments: field.path.replace(/\[\]/g, ".#").split(".") }));
@@ -63874,7 +63972,7 @@ function domainForPath(key2) {
63874
63972
  }
63875
63973
  function validateEnvelope(value, context) {
63876
63974
  if (!isConfigurationObject(value)) throw new ConfigurationError("CONFIG_ROOT_INVALID");
63877
- if (value.schemaVersion !== 1) throw new ConfigurationError("CONFIG_SCHEMA_UNSUPPORTED");
63975
+ if (value.schemaVersion !== CONFIGURATION_SCHEMA_VERSION) throw new ConfigurationError("CONFIG_SCHEMA_UNSUPPORTED");
63878
63976
  if (!Number.isSafeInteger(value.revision) || Number(value.revision) < 0) throw new ConfigurationError("CONFIG_REVISION_INVALID");
63879
63977
  if (value.kind !== context.kind || value.instanceId !== context.instanceId) throw new ConfigurationError("CONFIG_IDENTITY_MISMATCH");
63880
63978
  if (!isConfigurationObject(value.domainVersions) || !isConfigurationObject(value.migrations)) throw new ConfigurationError("CONFIG_METADATA_INVALID");
@@ -63896,7 +63994,7 @@ function validateDomains(value, context) {
63896
63994
  if (["schemaVersion", "revision", "kind", "instanceId", "domainVersions", "migrations"].includes(key2.split(".")[0])) continue;
63897
63995
  const domain = domainForPath(key2);
63898
63996
  if (domain === "agents.team") continue;
63899
- if (value.domainVersions[domain] !== void 0 && value.domainVersions[domain] !== 1) {
63997
+ if (value.domainVersions[domain] !== void 0 && value.domainVersions[domain] !== CONFIGURATION_DOMAIN_VERSIONS[domain]) {
63900
63998
  issue2(key2, "CONFIG_DOMAIN_VERSION_UNSUPPORTED");
63901
63999
  continue;
63902
64000
  }
@@ -63971,7 +64069,7 @@ function validateDomains(value, context) {
63971
64069
  }
63972
64070
  for (const [domain, version2] of Object.entries(value.domainVersions)) {
63973
64071
  if (domain === "agents.team") continue;
63974
- if (version2 !== 1 && !result[domain]) result[domain] = [{ path: domain, code: "CONFIG_DOMAIN_VERSION_UNSUPPORTED" }];
64072
+ if (version2 !== CONFIGURATION_DOMAIN_VERSIONS[domain] && !result[domain]) result[domain] = [{ path: domain, code: "CONFIG_DOMAIN_VERSION_UNSUPPORTED" }];
63975
64073
  }
63976
64074
  return result;
63977
64075
  }
@@ -64076,7 +64174,7 @@ var ConfigurationStore = class {
64076
64174
  (0, import_node_fs4.closeSync)(fd);
64077
64175
  }
64078
64176
  }
64079
- publish(document2, previous) {
64177
+ publish(document2, previous, backupId) {
64080
64178
  const source2 = document2.toString({ lineWidth: 0 });
64081
64179
  const checked = parseConfigurationYaml(source2, this.context);
64082
64180
  registerStableConfigurationRoot(this.context);
@@ -64086,7 +64184,7 @@ var ConfigurationStore = class {
64086
64184
  (0, import_node_fs4.mkdirSync)(backupRoot, { recursive: true, mode: 448 });
64087
64185
  const backupStat = (0, import_node_fs4.lstatSync)(backupRoot);
64088
64186
  if (!backupStat.isDirectory() || backupStat.isSymbolicLink() || backupStat.mode & 63 || typeof process.getuid === "function" && backupStat.uid !== process.getuid()) throw new ConfigurationError("CONFIG_BACKUP_ROOT_INVALID");
64089
- const backup = import_node_path5.default.join(backupRoot, `${Date.now()}-${(0, import_node_crypto3.randomUUID)()}.yaml`);
64187
+ const backup = import_node_path5.default.join(backupRoot, backupId ?? `${Date.now()}-${(0, import_node_crypto3.randomUUID)()}.yaml`);
64090
64188
  const fd2 = (0, import_node_fs4.openSync)(backup, "wx", 384);
64091
64189
  try {
64092
64190
  (0, import_node_fs4.writeFileSync)(fd2, previous);
@@ -64133,7 +64231,7 @@ var ConfigurationStore = class {
64133
64231
  const segments = configurationPathSegments(key2);
64134
64232
  if (!segments.length || segments.some((part) => !part || unsafeKeys.has(part))) throw new ConfigurationError("CONFIG_FIELD_INVALID");
64135
64233
  const domain = domainForPath(key2);
64136
- if (current.value.domainVersions[domain] !== void 0 && current.value.domainVersions[domain] !== 1) throw new ConfigurationError("CONFIG_DOMAIN_VERSION_UNSUPPORTED", [domain]);
64234
+ if (current.value.domainVersions[domain] !== void 0 && current.value.domainVersions[domain] !== CONFIGURATION_DOMAIN_VERSIONS[domain]) throw new ConfigurationError("CONFIG_DOMAIN_VERSION_UNSUPPORTED", [domain]);
64137
64235
  const field = fieldForPath(key2);
64138
64236
  if (!field && !(isConfigurationObject(value) && isConfigurationContainer(key2)) && !(Array.isArray(value) && isConfigurationContainer(key2, true)) && !(value === null && (isConfigurationContainer(key2) || isConfigurationContainer(key2, true)))) throw new ConfigurationError("CONFIG_FIELD_UNKNOWN", [key2]);
64139
64237
  if (options.remote && (!field || !field.remote)) throw new ConfigurationError("CONFIG_FIELD_FORBIDDEN", [key2]);
@@ -64143,7 +64241,7 @@ var ConfigurationStore = class {
64143
64241
  for (const segment of segments) target2.push((0, import_yaml.isSeq)(current.document.getIn(target2, true)) && /^\d+$/.test(segment) ? Number(segment) : segment);
64144
64242
  if (!field && value === null) current.document.deleteIn(target2);
64145
64243
  else current.document.setIn(target2, value);
64146
- current.document.setIn(["domainVersions", domain], 1);
64244
+ current.document.setIn(["domainVersions", domain], CONFIGURATION_DOMAIN_VERSIONS[domain]);
64147
64245
  domains2.add(domain);
64148
64246
  }
64149
64247
  const revision2 = Math.max(current.value.revision, options.minimumRevision ?? 0) + 1;
@@ -64181,7 +64279,7 @@ var ConfigurationStore = class {
64181
64279
  const source2 = readPrivateFile(this.file);
64182
64280
  const { value } = parseYamlDocument(source2);
64183
64281
  if (!isConfigurationObject(value) || !Number.isSafeInteger(value.schemaVersion) || Number(value.schemaVersion) < 1) throw new ConfigurationError("CONFIG_SCHEMA_INVALID");
64184
- validateEnvelope({ ...value, schemaVersion: 1 }, this.context);
64282
+ validateEnvelope({ ...value, schemaVersion: CONFIGURATION_SCHEMA_VERSION }, this.context);
64185
64283
  const backup = this.readBackup(id7);
64186
64284
  const before = new Map(flattenConfiguration(value));
64187
64285
  const after = new Map(flattenConfiguration(backup.value));
@@ -64200,6 +64298,89 @@ var ConfigurationStore = class {
64200
64298
  previewRestore(id7) {
64201
64299
  return this.prepareRestore(id7).preview;
64202
64300
  }
64301
+ /** Upgrade control plane only; business readers must use read(). */
64302
+ readUpgradeSource() {
64303
+ assertPrivateDirectory(this.context.configRoot);
64304
+ const source2 = readPrivateFile(this.file);
64305
+ const { document: document2, value } = parseYamlDocument(source2);
64306
+ if (!isConfigurationObject(value) || !Number.isSafeInteger(value.schemaVersion) || Number(value.schemaVersion) < 1) throw new ConfigurationError("CONFIG_SCHEMA_INVALID");
64307
+ validateEnvelope({ ...value, schemaVersion: CONFIGURATION_SCHEMA_VERSION }, this.context);
64308
+ return { source: source2, document: document2, value, digest: (0, import_node_crypto3.createHash)("sha256").update(source2).digest("hex") };
64309
+ }
64310
+ prepareUpgrade() {
64311
+ const { source: source2, document: document2, value, digest: digest6 } = this.readUpgradeSource();
64312
+ const original = value;
64313
+ const expectedDigest = digest6;
64314
+ const steps = migrateConfigurationDocument(document2);
64315
+ const next = parseConfigurationYaml(document2.toString({ lineWidth: 0 }), this.context);
64316
+ const failures = Object.values(next.issues).flat();
64317
+ if (failures.length) throw new ConfigurationError("CONFIG_VALIDATION_FAILED", failures.map((issue2) => issue2.path));
64318
+ const before = new Map(flattenConfiguration(original));
64319
+ const after = new Map(flattenConfiguration(next.value));
64320
+ const changedFields = [.../* @__PURE__ */ new Set([...before.keys(), ...after.keys()])].filter((key2) => JSON.stringify(before.get(key2)) !== JSON.stringify(after.get(key2))).sort();
64321
+ const preview = {
64322
+ expectedRevision: original.revision,
64323
+ expectedDigest,
64324
+ source: { schemaVersion: original.schemaVersion, domainVersions: original.domainVersions },
64325
+ target: { schemaVersion: next.value.schemaVersion, domainVersions: { ...CONFIGURATION_DOMAIN_VERSIONS, ...next.value.domainVersions } },
64326
+ steps,
64327
+ changedFields,
64328
+ changed: changedFields.length > 0
64329
+ };
64330
+ return { source: source2, document: document2, preview };
64331
+ }
64332
+ previewUpgrade() {
64333
+ return this.prepareUpgrade().preview;
64334
+ }
64335
+ recordUpgrade(value) {
64336
+ const file = import_node_path5.default.join(this.context.configRoot, "config-upgrade.json");
64337
+ const temporary = `${file}.${(0, import_node_crypto3.randomUUID)()}.tmp`;
64338
+ const fd = (0, import_node_fs4.openSync)(temporary, "wx", 384);
64339
+ try {
64340
+ (0, import_node_fs4.writeFileSync)(fd, JSON.stringify(value, null, 2) + "\n");
64341
+ (0, import_node_fs4.fsyncSync)(fd);
64342
+ } finally {
64343
+ (0, import_node_fs4.closeSync)(fd);
64344
+ }
64345
+ try {
64346
+ (0, import_node_fs4.renameSync)(temporary, file);
64347
+ const parent = (0, import_node_fs4.openSync)(this.context.configRoot, "r");
64348
+ try {
64349
+ (0, import_node_fs4.fsyncSync)(parent);
64350
+ } finally {
64351
+ (0, import_node_fs4.closeSync)(parent);
64352
+ }
64353
+ } finally {
64354
+ if ((0, import_node_fs4.existsSync)(temporary)) (0, import_node_fs4.unlinkSync)(temporary);
64355
+ }
64356
+ }
64357
+ upgrade(expected) {
64358
+ return this.locked(() => {
64359
+ const { source: source2, document: document2, preview } = this.prepareUpgrade();
64360
+ if (preview.expectedRevision !== expected.revision || preview.expectedDigest !== expected.digest) throw new ConfigurationError("CONFIG_REVISION_CONFLICT");
64361
+ if (!preview.changed) {
64362
+ const receiptFile = import_node_path5.default.join(this.context.configRoot, "config-upgrade.json");
64363
+ if ((0, import_node_fs4.existsSync)(receiptFile)) {
64364
+ const receipt = JSON.parse(readPrivateFile(receiptFile));
64365
+ if (isConfigurationObject(receipt) && receipt.phase === "prepared" && receipt.plannedDigest === expected.digest)
64366
+ this.recordUpgrade({ ...receipt, phase: "committed", savedRevision: expected.revision, digest: expected.digest });
64367
+ }
64368
+ return { ...preview, savedRevision: expected.revision, digest: expected.digest };
64369
+ }
64370
+ return withConfigurationUpgradeOwnership(this.context, () => {
64371
+ const revision2 = expected.revision + 1;
64372
+ if (!Number.isSafeInteger(revision2)) throw new ConfigurationError("CONFIG_REVISION_INVALID");
64373
+ document2.set("revision", revision2);
64374
+ const backupId = `${Date.now()}-${(0, import_node_crypto3.randomUUID)()}.yaml`;
64375
+ const plannedDigest = (0, import_node_crypto3.createHash)("sha256").update(document2.toString({ lineWidth: 0 })).digest("hex");
64376
+ this.recordUpgrade({ ...preview, backupId, plannedDigest, phase: "prepared" });
64377
+ const next = this.publish(document2, source2, backupId);
64378
+ const result = { ...preview, savedRevision: next.value.revision, digest: next.digest, backupId };
64379
+ this.recordUpgrade({ ...result, phase: "committed" });
64380
+ return result;
64381
+ });
64382
+ });
64383
+ }
64203
64384
  restoreBackup(id7, expected) {
64204
64385
  return this.locked(() => {
64205
64386
  const { source: source2, backup, preview } = this.prepareRestore(id7);
@@ -64878,6 +65059,10 @@ function createServerManagementRouter(runtime, registry2) {
64878
65059
  next(error2);
64879
65060
  }
64880
65061
  });
65062
+ router.get("/configuration", (_req, res) => {
65063
+ const { savedRevision, digest: digest6, diskError, consumers } = configuration().status();
65064
+ res.json({ savedRevision, digest: digest6, diskError, consumers });
65065
+ });
64881
65066
  router.post("/maintenance", async (req, res) => {
64882
65067
  try {
64883
65068
  res.json(
@@ -23561,10 +23561,6 @@ var invocationArguments = invocationGlobals[invocationArgumentsKey] ??= new impo
23561
23561
  // packages/config-node/src/owner.ts
23562
23562
  var import_fs_native_extensions = require("fs-native-extensions");
23563
23563
 
23564
- // packages/config-node/src/store.ts
23565
- var import_yaml = __toESM(require_dist(), 1);
23566
- var import_fs_native_extensions2 = require("fs-native-extensions");
23567
-
23568
23564
  // packages/shared/src/configuration/fields.ts
23569
23565
  var CONFIGURATION_FIELDS = [
23570
23566
  { "path": "screenRecording.analysis.enabled", "type": "boolean", "domain": "screenRecording.analysis", "sensitive": false, "remote": false, "apply": "reload", "description": "\u542F\u7528\u672C\u673A\u5C4F\u5E55\u4E8B\u9879\u5206\u6790\uFF0C\u9ED8\u8BA4\u5173\u95ED", "environmentKeys": [], "owner": "backend/screen-recording-analysis", "scope": "instance", "storage": "settings.yaml", "default": { "value": false }, "migrationSources": ["new-field:no-legacy-source"] },
@@ -23737,16 +23733,24 @@ var CONFIGURATION_FIELDS = [
23737
23733
  ];
23738
23734
 
23739
23735
  // packages/shared/src/configuration/compatibility.ts
23736
+ var CONFIGURATION_SCHEMA_VERSION = 1;
23737
+ var CONFIGURATION_DOMAIN_VERSIONS = Object.fromEntries(
23738
+ [...new Set(CONFIGURATION_FIELDS.map((field) => field.domain))].map((domain) => [domain, 1])
23739
+ );
23740
23740
  var CONFIGURATION_COMPATIBILITY = {
23741
23741
  format: "runweave-yaml",
23742
- schemaVersions: [1],
23743
- domainVersions: Object.fromEntries([...new Set(CONFIGURATION_FIELDS.map((field) => field.domain))].map((domain) => [domain, [1]]))
23742
+ schemaVersions: [CONFIGURATION_SCHEMA_VERSION],
23743
+ domainVersions: Object.fromEntries(Object.entries(CONFIGURATION_DOMAIN_VERSIONS).map(([domain, version]) => [domain, [version]]))
23744
23744
  };
23745
23745
  var APP_SERVER_CONFIGURATION_COMPATIBILITY = {
23746
23746
  ...CONFIGURATION_COMPATIBILITY,
23747
- domainVersions: Object.fromEntries(["appServer", "agents.codex", "agents.traex"].map((domain) => [domain, [1]]))
23747
+ domainVersions: Object.fromEntries(["appServer", "agents.codex", "agents.traex"].map((domain) => [domain, [CONFIGURATION_DOMAIN_VERSIONS[domain]]]))
23748
23748
  };
23749
23749
 
23750
+ // packages/config-node/src/store.ts
23751
+ var import_yaml = __toESM(require_dist(), 1);
23752
+ var import_fs_native_extensions2 = require("fs-native-extensions");
23753
+
23750
23754
  // packages/config-node/src/validation.ts
23751
23755
  var patterns = CONFIGURATION_FIELDS.map((field) => ({ field, segments: field.path.replace(/\[\]/g, ".#").split(".") }));
23752
23756
 
@@ -1 +1 @@
1
- import{aY as L,bm as ln,aI as A,aW as P,aH as W,bn as gn,bo as dn,bp as hn,bq as z,br as pn,bs as An,bt as m,aZ as N,b2 as U,b5 as T,bu as _n,b0 as on,bv as wn,bw as On,aJ as V,bx as vn,by as R}from"./index-De2lxGIa.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function bn(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 bn(n,k)+"";if(x(n))return H?H.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(){}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 In(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function Rn(n,r,e){return r===r?In(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&Rn(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,Dn=/\\(\\)?/g,Fn=$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(Dn,"$1"):i||e)}),r});function Gn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Fn(Gn(n))}function I(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[I(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 Yn="__lodash_hash_undefined__";function Jn(n){return this.__data__.set(n,Yn),this}function Xn(n){return this.__data__.has(n)}function b(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}b.prototype.add=b.prototype.push=Jn;b.prototype.has=Xn;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 b: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]",Y=P?P.prototype:void 0,S=Y?Y.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 G=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(G===void 0?O===v||f(O,v,e,i,t):G)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var y=n.constructor,E=r.constructor;y!=E&&"constructor"in n&&"constructor"in r&&!(typeof y=="function"&&y instanceof y&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,J="[object Arguments]",X="[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?X:N(n),h=u?X:N(r);a=a==J?c:a,h=h==J?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 D(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,D,f)}var vr=1,Pr=2;function br(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?D(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function yr(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=yr(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||br(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=I(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 Ir(n,r){return n!=null&&Tr(n,r,cr)}var Rr=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(I(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Ir(e,n):D(r,i,Rr|Sr)}}function xr(n){return function(r){return r==null?void 0:r[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(I(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 Dr(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 F=Dr(Cr);function Fr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?En:F;return e(n,Fr(r))}function Gr(n,r){var e=[];return F(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Zr(n,r){var e=A(n)?en:Gr;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 Yr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,F)}var Nr=1/0,Ur=R&&1/C(new R([,-0]))[1]==Nr?function(n){return new R(n)}:yn,Br=200;function Jr(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 b}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{F as a,Kr as b,an as c,bn as d,rn as e,Zn as f,qn as g,En as h,x as i,Z as j,M as k,Jr as l,Zr as m,qr as n,cn as o,Fr as p,Cr as q,Yr as r,Bn as s,Tr as t,j as u,I as v,nn as w,Ir as x,Gn as y};
1
+ import{aY as L,bm as ln,aI as A,aW as P,aH as W,bn as gn,bo as dn,bp as hn,bq as z,br as pn,bs as An,bt as m,aZ as N,b2 as U,b5 as T,bu as _n,b0 as on,bv as wn,bw as On,aJ as V,bx as vn,by as R}from"./index-BPgmi_HT.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function bn(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 bn(n,k)+"";if(x(n))return H?H.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(){}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 In(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function Rn(n,r,e){return r===r?In(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&Rn(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,Dn=/\\(\\)?/g,Fn=$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(Dn,"$1"):i||e)}),r});function Gn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Fn(Gn(n))}function I(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[I(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 Yn="__lodash_hash_undefined__";function Jn(n){return this.__data__.set(n,Yn),this}function Xn(n){return this.__data__.has(n)}function b(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}b.prototype.add=b.prototype.push=Jn;b.prototype.has=Xn;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 b: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]",Y=P?P.prototype:void 0,S=Y?Y.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 G=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(G===void 0?O===v||f(O,v,e,i,t):G)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var y=n.constructor,E=r.constructor;y!=E&&"constructor"in n&&"constructor"in r&&!(typeof y=="function"&&y instanceof y&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,J="[object Arguments]",X="[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?X:N(n),h=u?X:N(r);a=a==J?c:a,h=h==J?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 D(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,D,f)}var vr=1,Pr=2;function br(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?D(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function yr(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=yr(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||br(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=I(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 Ir(n,r){return n!=null&&Tr(n,r,cr)}var Rr=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(I(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Ir(e,n):D(r,i,Rr|Sr)}}function xr(n){return function(r){return r==null?void 0:r[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(I(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 Dr(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 F=Dr(Cr);function Fr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?En:F;return e(n,Fr(r))}function Gr(n,r){var e=[];return F(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Zr(n,r){var e=A(n)?en:Gr;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 Yr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,F)}var Nr=1/0,Ur=R&&1/C(new R([,-0]))[1]==Nr?function(n){return new R(n)}:yn,Br=200;function Jr(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 b}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{F as a,Kr as b,an as c,bn as d,rn as e,Zn as f,qn as g,En as h,x as i,Z as j,M as k,Jr as l,Zr as m,qr as n,cn as o,Fr as p,Cr as q,Yr as r,Bn as s,Tr as t,j as u,I as v,nn as w,Ir as x,Gn as y};
@@ -1 +1 @@
1
- import{j as t,r as i}from"./index-D9-cSGu-.js";import{d as r,e as c,C as u,f as d,h as p,M as m}from"./main-T426svZw.js";import{S as l}from"./tabs-CuKPIDlT.js";function g(){var a;const s=r(),e=d(s.connection,s.auth.token,s.auth.clearToken),{open:o,close:n}=e;return i.useEffect(()=>(o(),n),[o,n]),p(!1,e.busy&&((a=e.status)==null?void 0:a.state)==="pending_approval"||!!e.status&&["approved","issuing","issued"].includes(e.status.state)),t.jsx(m,{embedded:!0,controller:e,connectionName:e.connectionName})}function b(){const s=r(),e=new URLSearchParams(c().search).get("section")??"password";return t.jsxs(t.Fragment,{children:[t.jsx(l,{items:[["password","修改密码"],["mobile","连接手机"]],active:e}),e==="mobile"?s.connection?t.jsx(g,{}):t.jsx("p",{children:"请在桌面应用中选择电脑后连接手机。"}):t.jsx(u,{embedded:!0,apiBase:s.apiBase,token:s.auth.token,onAuthExpired:s.auth.clearToken})]})}export{b as default};
1
+ import{j as t,r as i}from"./index-D9-cSGu-.js";import{d as r,e as c,C as u,f as d,h as p,M as m}from"./main-D9JUBZrL.js";import{S as l}from"./tabs-C257BfM6.js";function g(){var a;const s=r(),e=d(s.connection,s.auth.token,s.auth.clearToken),{open:o,close:n}=e;return i.useEffect(()=>(o(),n),[o,n]),p(!1,e.busy&&((a=e.status)==null?void 0:a.state)==="pending_approval"||!!e.status&&["approved","issuing","issued"].includes(e.status.state)),t.jsx(m,{embedded:!0,controller:e,connectionName:e.connectionName})}function b(){const s=r(),e=new URLSearchParams(c().search).get("section")??"password";return t.jsxs(t.Fragment,{children:[t.jsx(l,{items:[["password","修改密码"],["mobile","连接手机"]],active:e}),e==="mobile"?s.connection?t.jsx(g,{}):t.jsx("p",{children:"请在桌面应用中选择电脑后连接手机。"}):t.jsx(u,{embedded:!0,apiBase:s.apiBase,token:s.auth.token,onAuthExpired:s.auth.clearToken})]})}export{b as default};
@@ -1 +1 @@
1
- import{j as t}from"./index-D9-cSGu-.js";import{d as a,i as n}from"./main-T426svZw.js";function s(){const e=a();return t.jsx(n,{embedded:!0,apiBase:e.apiBase,token:e.auth.token,onAuthExpired:e.auth.clearToken})}export{s as default};
1
+ import{j as t}from"./index-D9-cSGu-.js";import{d as a,i as n}from"./main-D9JUBZrL.js";function s(){const e=a();return t.jsx(n,{embedded:!0,apiBase:e.apiBase,token:e.auth.token,onAuthExpired:e.auth.clearToken})}export{s as default};
@@ -1 +1 @@
1
- import{j as s}from"./index-D9-cSGu-.js";import{z as j,u as o,S as b,g as f,B as m,A as N,a as v}from"./main-T426svZw.js";function k(){const{theme:h,setTheme:p}=j(),n=o(e=>e.sidecarLayout),x=o(e=>e.sidecarLayoutError),t=b.filter(e=>{var a;return e.id!=="automation"||((a=window.electronAPI)==null?void 0:a.isElectron)}).map(e=>e.id),i=f(n,t),u=i,l=o.getState();return s.jsxs("div",{className:"space-y-4",children:[s.jsxs("section",{children:[s.jsx("h2",{className:"mb-2 font-medium",children:"主题"}),s.jsx("div",{className:"grid grid-cols-3 gap-2",children:[["light","浅色"],["dark","深色"],["system","跟随系统"]].map(([e,a])=>s.jsxs("button",{"aria-pressed":h===e,onClick:()=>p(e),className:`flex items-center gap-2 rounded-md border px-3 py-2 text-left ${h===e?"border-primary ring-1 ring-primary":""}`,children:[s.jsx("div",{className:`h-5 w-8 shrink-0 rounded border ${e==="light"?"bg-stone-100":e==="dark"?"bg-neutral-900":"bg-gradient-to-r from-stone-100 to-neutral-900"}`}),a]},e))})]}),s.jsxs("section",{children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[s.jsx("h2",{className:"font-medium",children:"右侧工具标签"}),s.jsx(m,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:l.resetSidecarLayout,children:"恢复默认"})]}),s.jsx("div",{className:"divide-y rounded-md border",children:n.order.map(e=>{const a=b.find(d=>d.id===e),c=i.includes(e),r=i.indexOf(e),g=t.includes(e);return s.jsxs("div",{className:"flex items-center gap-2 px-3 py-1",children:[s.jsx("span",{className:"flex-1",children:a.label}),s.jsx(m,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0","aria-label":`上移 ${a.label}`,disabled:!c||r<=0,onClick:()=>l.reorderSidecarTabs(t,r,r-1),children:s.jsx(N,{className:"size-4"})}),s.jsx(m,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0","aria-label":`下移 ${a.label}`,disabled:!c||r===i.length-1,onClick:()=>l.reorderSidecarTabs(t,r,r+1),children:s.jsx(v,{className:"size-4"})}),s.jsx("input",{type:"checkbox","aria-label":`显示 ${a.label}`,checked:!n.hidden.includes(e),disabled:!g||c&&u.length<=1,onChange:d=>l.setSidecarTabVisible(e,d.target.checked,t)})]},e)})}),x&&s.jsx("p",{role:"alert",className:"mt-3 text-sm text-destructive",children:x})]})]})}export{k as default};
1
+ import{j as s}from"./index-D9-cSGu-.js";import{z as j,u as o,S as b,g as f,B as m,A as N,a as v}from"./main-D9JUBZrL.js";function k(){const{theme:h,setTheme:p}=j(),n=o(e=>e.sidecarLayout),x=o(e=>e.sidecarLayoutError),t=b.filter(e=>{var a;return e.id!=="automation"||((a=window.electronAPI)==null?void 0:a.isElectron)}).map(e=>e.id),i=f(n,t),u=i,l=o.getState();return s.jsxs("div",{className:"space-y-4",children:[s.jsxs("section",{children:[s.jsx("h2",{className:"mb-2 font-medium",children:"主题"}),s.jsx("div",{className:"grid grid-cols-3 gap-2",children:[["light","浅色"],["dark","深色"],["system","跟随系统"]].map(([e,a])=>s.jsxs("button",{"aria-pressed":h===e,onClick:()=>p(e),className:`flex items-center gap-2 rounded-md border px-3 py-2 text-left ${h===e?"border-primary ring-1 ring-primary":""}`,children:[s.jsx("div",{className:`h-5 w-8 shrink-0 rounded border ${e==="light"?"bg-stone-100":e==="dark"?"bg-neutral-900":"bg-gradient-to-r from-stone-100 to-neutral-900"}`}),a]},e))})]}),s.jsxs("section",{children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[s.jsx("h2",{className:"font-medium",children:"右侧工具标签"}),s.jsx(m,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:l.resetSidecarLayout,children:"恢复默认"})]}),s.jsx("div",{className:"divide-y rounded-md border",children:n.order.map(e=>{const a=b.find(d=>d.id===e),c=i.includes(e),r=i.indexOf(e),g=t.includes(e);return s.jsxs("div",{className:"flex items-center gap-2 px-3 py-1",children:[s.jsx("span",{className:"flex-1",children:a.label}),s.jsx(m,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0","aria-label":`上移 ${a.label}`,disabled:!c||r<=0,onClick:()=>l.reorderSidecarTabs(t,r,r-1),children:s.jsx(N,{className:"size-4"})}),s.jsx(m,{size:"sm",variant:"ghost",className:"h-6 w-6 p-0","aria-label":`下移 ${a.label}`,disabled:!c||r===i.length-1,onClick:()=>l.reorderSidecarTabs(t,r,r+1),children:s.jsx(v,{className:"size-4"})}),s.jsx("input",{type:"checkbox","aria-label":`显示 ${a.label}`,checked:!n.hidden.includes(e),disabled:!g||c&&u.length<=1,onChange:d=>l.setSidecarTabVisible(e,d.target.checked,t)})]},e)})}),x&&s.jsx("p",{role:"alert",className:"mt-3 text-sm text-destructive",children:x})]})]})}export{k as default};
@@ -1 +1 @@
1
- import{N as ln,O as an,P as Z,Q as O,S as V,T as un,V as y,W as tn,X as z,Y as _,Z as rn,$ as o,a0 as on,a1 as sn,a2 as fn}from"./index-De2lxGIa.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,D,S,v,A,W,a){var E=D-l,i=S-h,n=W-v,d=a-A,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*E,h+u*i]}function J(l,h,D,S,v,A,W){var a=l-D,E=h-S,i=(W?A:-A)/z(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,X=(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,I=(g<0?-1:1)*z(on(0,T*T*R-P*P)),N=(P*g-m*I)/R,Q=(-P*m-g*I)/R,w=(P*g+m*I)/R,p=(-P*m+g*I)/R,x=N-X,e=Q-t,r=w-X,Y=p-t;return x*x+e*e>r*r+Y*Y&&(N=w,Q=p),{cx:N,cy:Q,x01:-n,y01:-d,x11:N*(v/T-1),y11:Q*(v/T-1)}}function hn(){var l=cn,h=yn,D=V(0),S=null,v=gn,A=dn,W=mn,a=null,E=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,X=rn(c-f),t=c>f;if(a||(a=n=E()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(X>tn-y)a.moveTo(s*Z(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*Z(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=X,I=X,N=W.apply(this,arguments)/2,Q=N>y&&(S?+S.apply(this,arguments):z(u*u+s*s)),w=_(rn(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(Q>y){var Y=sn(Q/u*O(N)),B=sn(Q/s*O(N));(P-=Y*2)>y?(Y*=t?1:-1,R+=Y,T-=Y):(P=0,R=T=(f+c)/2),(I-=B*2)>y?(B*=t?1:-1,m+=B,g-=B):(I=0,m=g=(f+c)/2)}var $=s*Z(m),j=s*O(m),C=u*Z(T),F=u*O(T);if(w>y){var G=s*Z(g),H=s*O(g),K=u*Z(R),L=u*O(R),q;if(X<an)if(q=pn($,j,K,L,G,H,C,F)){var M=$-q[0],U=j-q[1],k=G-q[0],b=H-q[1],nn=1/O(fn((M*k+U*b)/(z(M*M+U*U)*z(k*k+b*b)))/2),en=z(q[0]*q[0]+q[1]*q[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=J(K,L,$,j,s,x,t),r=J(G,H,C,F,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($,j),a.arc(0,0,s,m,g,!t)):a.moveTo($,j),!(u>y)||!(P>y)?a.lineTo(C,F):p>y?(e=J(C,F,G,H,u,-p,t),r=J($,j,K,L,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[Z(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:V(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:V(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:V(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:V(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:V(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:V(+n),i):A},i.padAngle=function(n){return arguments.length?(W=typeof n=="function"?n:V(+n),i):W},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{N as ln,O as an,P as Z,Q as O,S as V,T as un,V as y,W as tn,X as z,Y as _,Z as rn,$ as o,a0 as on,a1 as sn,a2 as fn}from"./index-BPgmi_HT.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,D,S,v,A,W,a){var E=D-l,i=S-h,n=W-v,d=a-A,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*E,h+u*i]}function J(l,h,D,S,v,A,W){var a=l-D,E=h-S,i=(W?A:-A)/z(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,X=(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,I=(g<0?-1:1)*z(on(0,T*T*R-P*P)),N=(P*g-m*I)/R,Q=(-P*m-g*I)/R,w=(P*g+m*I)/R,p=(-P*m+g*I)/R,x=N-X,e=Q-t,r=w-X,Y=p-t;return x*x+e*e>r*r+Y*Y&&(N=w,Q=p),{cx:N,cy:Q,x01:-n,y01:-d,x11:N*(v/T-1),y11:Q*(v/T-1)}}function hn(){var l=cn,h=yn,D=V(0),S=null,v=gn,A=dn,W=mn,a=null,E=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,X=rn(c-f),t=c>f;if(a||(a=n=E()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(X>tn-y)a.moveTo(s*Z(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*Z(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=X,I=X,N=W.apply(this,arguments)/2,Q=N>y&&(S?+S.apply(this,arguments):z(u*u+s*s)),w=_(rn(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(Q>y){var Y=sn(Q/u*O(N)),B=sn(Q/s*O(N));(P-=Y*2)>y?(Y*=t?1:-1,R+=Y,T-=Y):(P=0,R=T=(f+c)/2),(I-=B*2)>y?(B*=t?1:-1,m+=B,g-=B):(I=0,m=g=(f+c)/2)}var $=s*Z(m),j=s*O(m),C=u*Z(T),F=u*O(T);if(w>y){var G=s*Z(g),H=s*O(g),K=u*Z(R),L=u*O(R),q;if(X<an)if(q=pn($,j,K,L,G,H,C,F)){var M=$-q[0],U=j-q[1],k=G-q[0],b=H-q[1],nn=1/O(fn((M*k+U*b)/(z(M*M+U*U)*z(k*k+b*b)))/2),en=z(q[0]*q[0]+q[1]*q[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=J(K,L,$,j,s,x,t),r=J(G,H,C,F,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($,j),a.arc(0,0,s,m,g,!t)):a.moveTo($,j),!(u>y)||!(P>y)?a.lineTo(C,F):p>y?(e=J(C,F,G,H,u,-p,t),r=J($,j,K,L,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[Z(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:V(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:V(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:V(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:V(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:V(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:V(+n),i):A},i.padAngle=function(n){return arguments.length?(W=typeof n=="function"?n:V(+n),i):W},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};