@runweave/server-darwin-arm64 0.1.1 → 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.
- package/manifest.json +156 -151
- package/native.tar.gz +0 -0
- package/package.json +1 -1
- package/payload/app-server/build-info.json +4 -4
- package/payload/app-server/index.cjs +191 -19
- package/payload/app-server/index.cjs.map +1 -1
- package/payload/backend/build-info.json +4 -4
- package/payload/backend/dev-resources/control.cjs +195 -20
- package/payload/backend/index.cjs +195 -19
- package/payload/backend/scheduled-tasks-sqlite-worker.cjs +11 -7
- package/payload/frontend/dist/assets/{_baseUniq-B6OtH5JH.js → _baseUniq-Z8S1OGl1.js} +1 -1
- package/payload/frontend/dist/assets/{access-CpH3nCnI.js → access-BkQls-gl.js} +1 -1
- package/payload/frontend/dist/assets/{advanced-U5MqNTD5.js → advanced-Cwuko7dT.js} +1 -1
- package/payload/frontend/dist/assets/{appearance-Cb8XjaOT.js → appearance-D1NbgiL9.js} +1 -1
- package/payload/frontend/dist/assets/{arc-CEnFQNMK.js → arc-yTzSLmPE.js} +1 -1
- package/payload/frontend/dist/assets/{architectureDiagram-Q4EWVU46-T438RyEG.js → architectureDiagram-Q4EWVU46-BvvnA771.js} +1 -1
- package/payload/frontend/dist/assets/{blockDiagram-DXYQGD6D-B6Mqb9og.js → blockDiagram-DXYQGD6D-4mSkYwEH.js} +1 -1
- package/payload/frontend/dist/assets/{c4Diagram-AHTNJAMY-CO3eA3hw.js → c4Diagram-AHTNJAMY-BFsQYjNJ.js} +1 -1
- package/payload/frontend/dist/assets/channel-DGu_xwRJ.js +1 -0
- package/payload/frontend/dist/assets/{chunk-4BX2VUAB-1vjsV_mH.js → chunk-4BX2VUAB-B4j2kD8S.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-4TB4RGXK-CtMNFDLV.js → chunk-4TB4RGXK-BHHtOn_W.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-55IACEB6-DVWWqMjZ.js → chunk-55IACEB6-npi1DjnI.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-EDXVE4YY-BBf3C6eJ.js → chunk-EDXVE4YY-6XoKXtpJ.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-FMBD7UC4-BUQfXSvf.js → chunk-FMBD7UC4-D5wdm5pu.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-OYMX7WX6-DM1nFyON.js → chunk-OYMX7WX6-CdQRrw_z.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-QZHKN3VN-Bz3CUNpU.js → chunk-QZHKN3VN-j-pcsMU1.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-YZCP3GAM-Bb6CnKMv.js → chunk-YZCP3GAM-ISBm3jAD.js} +1 -1
- package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-Xx1qN_NY.js +1 -0
- package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-Xx1qN_NY.js +1 -0
- package/payload/frontend/dist/assets/clone-DdDT5GkX.js +1 -0
- package/payload/frontend/dist/assets/{connection-ChK196PA.js → connection-BL2ZiJKS.js} +1 -1
- package/payload/frontend/dist/assets/{connections-1OP6Izpn.js → connections-BuXymnab.js} +1 -1
- package/payload/frontend/dist/assets/{cose-bilkent-S5V4N54A-DvX1W1oQ.js → cose-bilkent-S5V4N54A-D3ioXA7D.js} +1 -1
- package/payload/frontend/dist/assets/{dagre-KV5264BT-BYV7l80W.js → dagre-KV5264BT-DjtjEtE5.js} +1 -1
- package/payload/frontend/dist/assets/{desktop-DKYPd_Z3.js → desktop-Du3Gd9LW.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-5BDNPKRD-BU_VxMcA.js → diagram-5BDNPKRD-CtxPyS9C.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-G4DWMVQ6-6jnkLcPr.js → diagram-G4DWMVQ6-ikqU0pq3.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-MMDJMWI5-DAjbbS4T.js → diagram-MMDJMWI5-CoKNp7eo.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-TYMM5635-p2T86-Pr.js → diagram-TYMM5635-7xoHFg4D.js} +1 -1
- package/payload/frontend/dist/assets/{erDiagram-SMLLAGMA-DcZPoxkO.js → erDiagram-SMLLAGMA-Da8Jm4bc.js} +1 -1
- package/payload/frontend/dist/assets/{flowDiagram-DWJPFMVM-CDB-5IUB.js → flowDiagram-DWJPFMVM-bcIflYKx.js} +1 -1
- package/payload/frontend/dist/assets/{ganttDiagram-T4ZO3ILL-imCnxO5S.js → ganttDiagram-T4ZO3ILL-CCSwpL4k.js} +1 -1
- package/payload/frontend/dist/assets/{gitGraphDiagram-UUTBAWPF-DW7bWVfm.js → gitGraphDiagram-UUTBAWPF-C5YN1uxh.js} +1 -1
- package/payload/frontend/dist/assets/{graph-rPoUAwm2.js → graph-DhVKaWIc.js} +1 -1
- package/payload/frontend/dist/assets/{image-pt4OUNUX.js → image-CAXFSZmt.js} +1 -1
- package/payload/frontend/dist/assets/{index-CpU0rt1e.js → index-BPgmi_HT.js} +5 -5
- package/payload/frontend/dist/assets/{infoDiagram-42DDH7IO-C6DYDEhQ.js → infoDiagram-42DDH7IO-CKUkVeJd.js} +1 -1
- package/payload/frontend/dist/assets/{ishikawaDiagram-UXIWVN3A-o3dlbDPW.js → ishikawaDiagram-UXIWVN3A-Cu6SCNrB.js} +1 -1
- package/payload/frontend/dist/assets/{journeyDiagram-VCZTEJTY-ukG3M2cI.js → journeyDiagram-VCZTEJTY-BJsUgp8J.js} +1 -1
- package/payload/frontend/dist/assets/{kanban-definition-6JOO6SKY-CzFLztFd.js → kanban-definition-6JOO6SKY-BGowhqfi.js} +1 -1
- package/payload/frontend/dist/assets/{layout-C8SEMYSj.js → layout-CunOX6M2.js} +1 -1
- package/payload/frontend/dist/assets/{linear-DY8vPita.js → linear-C_0D1AIt.js} +1 -1
- package/payload/frontend/dist/assets/{main-B_ifx48h.js → main-D9JUBZrL.js} +139 -139
- package/payload/frontend/dist/assets/{min-9StlgeN8.js → min-CYRFaNhC.js} +1 -1
- package/payload/frontend/dist/assets/{mindmap-definition-QFDTVHPH-CyJisFtS.js → mindmap-definition-QFDTVHPH-CC29vHKR.js} +1 -1
- package/payload/frontend/dist/assets/{monitoring-Bjm0etKL.js → monitoring-CSJEFZ4D.js} +1 -1
- package/payload/frontend/dist/assets/{notifications-DhRLCgMU.js → notifications-B6plZwi5.js} +1 -1
- package/payload/frontend/dist/assets/{pieDiagram-DEJITSTG-DHSht7rk.js → pieDiagram-DEJITSTG-ZPTChlGS.js} +1 -1
- package/payload/frontend/dist/assets/{quadrantDiagram-34T5L4WZ-92xIujrE.js → quadrantDiagram-34T5L4WZ-B4sL0Weo.js} +1 -1
- package/payload/frontend/dist/assets/{record-content-Cy_dPSdi.js → record-content-DBb8tU0P.js} +1 -1
- package/payload/frontend/dist/assets/{requirementDiagram-MS252O5E-CXuOqrNd.js → requirementDiagram-MS252O5E-Q2PHuGEG.js} +1 -1
- package/payload/frontend/dist/assets/{sankeyDiagram-XADWPNL6-DR-mjY0Y.js → sankeyDiagram-XADWPNL6-k8w1jlHT.js} +1 -1
- package/payload/frontend/dist/assets/{sequenceDiagram-FGHM5R23-DmmUpAoP.js → sequenceDiagram-FGHM5R23-0qPxopqC.js} +1 -1
- package/payload/frontend/dist/assets/{stateDiagram-FHFEXIEX-CKoqQ0-j.js → stateDiagram-FHFEXIEX-BHxYXi2c.js} +1 -1
- package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-s5VUMcqx.js +1 -0
- package/payload/frontend/dist/assets/{status-B__OyRqS.js → status-Zy2MW6gr.js} +1 -1
- package/payload/frontend/dist/assets/suiji-5pox13NE.js +1 -0
- package/payload/frontend/dist/assets/{svg-BpvEgtI3.js → svg-vmNZnz5w.js} +1 -1
- package/payload/frontend/dist/assets/{tabs-BjCNEXFA.js → tabs-C257BfM6.js} +1 -1
- package/payload/frontend/dist/assets/{timeline-definition-GMOUNBTQ-CHT2sQNz.js → timeline-definition-GMOUNBTQ-BC_3Dip2.js} +1 -1
- package/payload/frontend/dist/assets/{vennDiagram-DHZGUBPP-Bvnh5q4I.js → vennDiagram-DHZGUBPP-V_X88VPq.js} +1 -1
- package/payload/frontend/dist/assets/{wardley-RL74JXVD-DeQXKB6h.js → wardley-RL74JXVD-CflQhbCA.js} +1 -1
- package/payload/frontend/dist/assets/{wardleyDiagram-NUSXRM2D-jWo5oC0L.js → wardleyDiagram-NUSXRM2D-C75i3btX.js} +1 -1
- package/payload/frontend/dist/assets/{xychartDiagram-5P7HB3ND-Btji0cq9.js → xychartDiagram-5P7HB3ND-KIYpQyyi.js} +1 -1
- package/payload/frontend/dist/build-info.json +4 -4
- package/payload/frontend/dist/companion.html +1 -1
- package/payload/frontend/dist/index.html +2 -2
- package/payload/server/index.cjs +203 -19
- package/payload/frontend/dist/assets/channel-D7VgadXd.js +0 -1
- package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-DHRHkXVC.js +0 -1
- package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-DHRHkXVC.js +0 -1
- package/payload/frontend/dist/assets/clone-BzLTnNJj.js +0 -1
- package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-BfZc0BCX.js +0 -1
- package/payload/frontend/dist/assets/suiji-nz2Jwmpc.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* runweave:build-info */var __RUNWEAVE_BUILD_INFO__={"version":"0.1.0","buildId":"
|
|
1
|
+
/* runweave:build-info */var __RUNWEAVE_BUILD_INFO__={"version":"0.1.0","buildId":"20261101T045618982Z-f866322b","sourceRevision":"f866322b32d9c3896ed3c60bc387f1184a104614","sourceDirty":false,"builtAt":"2026-11-01T04:56:18.982Z","contentSha256":"7d801b392a13c8b17518e8b86264ea4e7871b14af52661e67a799d98d311fe04"};
|
|
2
2
|
const __IMPORT_META_URL__ = require('url').pathToFileURL(__filename).href;
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -63576,7 +63576,39 @@ function registerStableConfigurationRoot(context) {
|
|
|
63576
63576
|
(0, import_node_fs3.closeSync)(registryFd);
|
|
63577
63577
|
}
|
|
63578
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
|
+
}
|
|
63579
63608
|
function acquireConfigurationOwner(context, role) {
|
|
63609
|
+
return withUpgradeGate(context, true, () => acquireOwner(context, role));
|
|
63610
|
+
}
|
|
63611
|
+
function acquireOwner(context, role) {
|
|
63580
63612
|
const directory3 = ownerDirectory(context);
|
|
63581
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);
|
|
63582
63614
|
let closed = false;
|
|
@@ -63597,13 +63629,6 @@ function acquireConfigurationOwner(context, role) {
|
|
|
63597
63629
|
}
|
|
63598
63630
|
}
|
|
63599
63631
|
|
|
63600
|
-
// packages/config-node/src/store.ts
|
|
63601
|
-
var import_node_fs4 = require("node:fs");
|
|
63602
|
-
var import_node_path5 = __toESM(require("node:path"), 1);
|
|
63603
|
-
var import_node_crypto3 = require("node:crypto");
|
|
63604
|
-
var import_yaml = __toESM(require_dist(), 1);
|
|
63605
|
-
var import_fs_native_extensions2 = require("fs-native-extensions");
|
|
63606
|
-
|
|
63607
63632
|
// packages/shared/src/configuration/fields.ts
|
|
63608
63633
|
var CONFIGURATION_FIELDS = [
|
|
63609
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"] },
|
|
@@ -63776,14 +63801,18 @@ var CONFIGURATION_FIELDS = [
|
|
|
63776
63801
|
];
|
|
63777
63802
|
|
|
63778
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
|
+
);
|
|
63779
63808
|
var CONFIGURATION_COMPATIBILITY = {
|
|
63780
63809
|
format: "runweave-yaml",
|
|
63781
|
-
schemaVersions: [
|
|
63782
|
-
domainVersions: Object.fromEntries(
|
|
63810
|
+
schemaVersions: [CONFIGURATION_SCHEMA_VERSION],
|
|
63811
|
+
domainVersions: Object.fromEntries(Object.entries(CONFIGURATION_DOMAIN_VERSIONS).map(([domain, version2]) => [domain, [version2]]))
|
|
63783
63812
|
};
|
|
63784
63813
|
var APP_SERVER_CONFIGURATION_COMPATIBILITY = {
|
|
63785
63814
|
...CONFIGURATION_COMPATIBILITY,
|
|
63786
|
-
domainVersions: Object.fromEntries(["appServer", "agents.codex", "agents.traex"].map((domain) => [domain, [
|
|
63815
|
+
domainVersions: Object.fromEntries(["appServer", "agents.codex", "agents.traex"].map((domain) => [domain, [CONFIGURATION_DOMAIN_VERSIONS[domain]]]))
|
|
63787
63816
|
};
|
|
63788
63817
|
function supportsConfiguration(target2, value) {
|
|
63789
63818
|
if (!target2 || typeof target2 !== "object") return false;
|
|
@@ -63859,6 +63888,66 @@ function configurationPathSegment(key2) {
|
|
|
63859
63888
|
return key2.replace(/\\/g, "\\\\").replace(/\./g, "\\.");
|
|
63860
63889
|
}
|
|
63861
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
|
+
|
|
63862
63951
|
// packages/config-node/src/validation.ts
|
|
63863
63952
|
var import_node_path4 = __toESM(require("node:path"), 1);
|
|
63864
63953
|
var patterns = CONFIGURATION_FIELDS.map((field) => ({ field, segments: field.path.replace(/\[\]/g, ".#").split(".") }));
|
|
@@ -63883,7 +63972,7 @@ function domainForPath(key2) {
|
|
|
63883
63972
|
}
|
|
63884
63973
|
function validateEnvelope(value, context) {
|
|
63885
63974
|
if (!isConfigurationObject(value)) throw new ConfigurationError("CONFIG_ROOT_INVALID");
|
|
63886
|
-
if (value.schemaVersion !==
|
|
63975
|
+
if (value.schemaVersion !== CONFIGURATION_SCHEMA_VERSION) throw new ConfigurationError("CONFIG_SCHEMA_UNSUPPORTED");
|
|
63887
63976
|
if (!Number.isSafeInteger(value.revision) || Number(value.revision) < 0) throw new ConfigurationError("CONFIG_REVISION_INVALID");
|
|
63888
63977
|
if (value.kind !== context.kind || value.instanceId !== context.instanceId) throw new ConfigurationError("CONFIG_IDENTITY_MISMATCH");
|
|
63889
63978
|
if (!isConfigurationObject(value.domainVersions) || !isConfigurationObject(value.migrations)) throw new ConfigurationError("CONFIG_METADATA_INVALID");
|
|
@@ -63905,7 +63994,7 @@ function validateDomains(value, context) {
|
|
|
63905
63994
|
if (["schemaVersion", "revision", "kind", "instanceId", "domainVersions", "migrations"].includes(key2.split(".")[0])) continue;
|
|
63906
63995
|
const domain = domainForPath(key2);
|
|
63907
63996
|
if (domain === "agents.team") continue;
|
|
63908
|
-
if (value.domainVersions[domain] !== void 0 && value.domainVersions[domain] !==
|
|
63997
|
+
if (value.domainVersions[domain] !== void 0 && value.domainVersions[domain] !== CONFIGURATION_DOMAIN_VERSIONS[domain]) {
|
|
63909
63998
|
issue2(key2, "CONFIG_DOMAIN_VERSION_UNSUPPORTED");
|
|
63910
63999
|
continue;
|
|
63911
64000
|
}
|
|
@@ -63980,7 +64069,7 @@ function validateDomains(value, context) {
|
|
|
63980
64069
|
}
|
|
63981
64070
|
for (const [domain, version2] of Object.entries(value.domainVersions)) {
|
|
63982
64071
|
if (domain === "agents.team") continue;
|
|
63983
|
-
if (version2 !==
|
|
64072
|
+
if (version2 !== CONFIGURATION_DOMAIN_VERSIONS[domain] && !result[domain]) result[domain] = [{ path: domain, code: "CONFIG_DOMAIN_VERSION_UNSUPPORTED" }];
|
|
63984
64073
|
}
|
|
63985
64074
|
return result;
|
|
63986
64075
|
}
|
|
@@ -64085,7 +64174,7 @@ var ConfigurationStore = class {
|
|
|
64085
64174
|
(0, import_node_fs4.closeSync)(fd);
|
|
64086
64175
|
}
|
|
64087
64176
|
}
|
|
64088
|
-
publish(document2, previous) {
|
|
64177
|
+
publish(document2, previous, backupId) {
|
|
64089
64178
|
const source2 = document2.toString({ lineWidth: 0 });
|
|
64090
64179
|
const checked = parseConfigurationYaml(source2, this.context);
|
|
64091
64180
|
registerStableConfigurationRoot(this.context);
|
|
@@ -64095,7 +64184,7 @@ var ConfigurationStore = class {
|
|
|
64095
64184
|
(0, import_node_fs4.mkdirSync)(backupRoot, { recursive: true, mode: 448 });
|
|
64096
64185
|
const backupStat = (0, import_node_fs4.lstatSync)(backupRoot);
|
|
64097
64186
|
if (!backupStat.isDirectory() || backupStat.isSymbolicLink() || backupStat.mode & 63 || typeof process.getuid === "function" && backupStat.uid !== process.getuid()) throw new ConfigurationError("CONFIG_BACKUP_ROOT_INVALID");
|
|
64098
|
-
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`);
|
|
64099
64188
|
const fd2 = (0, import_node_fs4.openSync)(backup, "wx", 384);
|
|
64100
64189
|
try {
|
|
64101
64190
|
(0, import_node_fs4.writeFileSync)(fd2, previous);
|
|
@@ -64142,7 +64231,7 @@ var ConfigurationStore = class {
|
|
|
64142
64231
|
const segments = configurationPathSegments(key2);
|
|
64143
64232
|
if (!segments.length || segments.some((part) => !part || unsafeKeys.has(part))) throw new ConfigurationError("CONFIG_FIELD_INVALID");
|
|
64144
64233
|
const domain = domainForPath(key2);
|
|
64145
|
-
if (current.value.domainVersions[domain] !== void 0 && current.value.domainVersions[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]);
|
|
64146
64235
|
const field = fieldForPath(key2);
|
|
64147
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]);
|
|
64148
64237
|
if (options.remote && (!field || !field.remote)) throw new ConfigurationError("CONFIG_FIELD_FORBIDDEN", [key2]);
|
|
@@ -64152,7 +64241,7 @@ var ConfigurationStore = class {
|
|
|
64152
64241
|
for (const segment of segments) target2.push((0, import_yaml.isSeq)(current.document.getIn(target2, true)) && /^\d+$/.test(segment) ? Number(segment) : segment);
|
|
64153
64242
|
if (!field && value === null) current.document.deleteIn(target2);
|
|
64154
64243
|
else current.document.setIn(target2, value);
|
|
64155
|
-
current.document.setIn(["domainVersions", domain],
|
|
64244
|
+
current.document.setIn(["domainVersions", domain], CONFIGURATION_DOMAIN_VERSIONS[domain]);
|
|
64156
64245
|
domains2.add(domain);
|
|
64157
64246
|
}
|
|
64158
64247
|
const revision2 = Math.max(current.value.revision, options.minimumRevision ?? 0) + 1;
|
|
@@ -64190,7 +64279,7 @@ var ConfigurationStore = class {
|
|
|
64190
64279
|
const source2 = readPrivateFile(this.file);
|
|
64191
64280
|
const { value } = parseYamlDocument(source2);
|
|
64192
64281
|
if (!isConfigurationObject(value) || !Number.isSafeInteger(value.schemaVersion) || Number(value.schemaVersion) < 1) throw new ConfigurationError("CONFIG_SCHEMA_INVALID");
|
|
64193
|
-
validateEnvelope({ ...value, schemaVersion:
|
|
64282
|
+
validateEnvelope({ ...value, schemaVersion: CONFIGURATION_SCHEMA_VERSION }, this.context);
|
|
64194
64283
|
const backup = this.readBackup(id7);
|
|
64195
64284
|
const before = new Map(flattenConfiguration(value));
|
|
64196
64285
|
const after = new Map(flattenConfiguration(backup.value));
|
|
@@ -64209,6 +64298,89 @@ var ConfigurationStore = class {
|
|
|
64209
64298
|
previewRestore(id7) {
|
|
64210
64299
|
return this.prepareRestore(id7).preview;
|
|
64211
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
|
+
}
|
|
64212
64384
|
restoreBackup(id7, expected) {
|
|
64213
64385
|
return this.locked(() => {
|
|
64214
64386
|
const { source: source2, backup, preview } = this.prepareRestore(id7);
|
|
@@ -64887,6 +65059,10 @@ function createServerManagementRouter(runtime, registry2) {
|
|
|
64887
65059
|
next(error2);
|
|
64888
65060
|
}
|
|
64889
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
|
+
});
|
|
64890
65066
|
router.post("/maintenance", async (req, res) => {
|
|
64891
65067
|
try {
|
|
64892
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: [
|
|
23743
|
-
domainVersions: Object.fromEntries(
|
|
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, [
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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};
|