@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.
- package/manifest.json +157 -152
- package/native.tar.gz +0 -0
- package/package.json +6 -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 +204 -19
- package/payload/backend/scheduled-tasks-sqlite-worker.cjs +11 -7
- package/payload/frontend/dist/assets/{_baseUniq-BJ9V9bG-.js → _baseUniq-Z8S1OGl1.js} +1 -1
- package/payload/frontend/dist/assets/{access-DYFqfdy3.js → access-BkQls-gl.js} +1 -1
- package/payload/frontend/dist/assets/{advanced-C4Sx575S.js → advanced-Cwuko7dT.js} +1 -1
- package/payload/frontend/dist/assets/{appearance-Bhq5haQK.js → appearance-D1NbgiL9.js} +1 -1
- package/payload/frontend/dist/assets/{arc-Bihx3tKA.js → arc-yTzSLmPE.js} +1 -1
- package/payload/frontend/dist/assets/{architectureDiagram-Q4EWVU46-63rNkvm4.js → architectureDiagram-Q4EWVU46-BvvnA771.js} +1 -1
- package/payload/frontend/dist/assets/{blockDiagram-DXYQGD6D-BlolQExt.js → blockDiagram-DXYQGD6D-4mSkYwEH.js} +1 -1
- package/payload/frontend/dist/assets/{c4Diagram-AHTNJAMY-DJtJ952u.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-ChncjhEG.js → chunk-4BX2VUAB-B4j2kD8S.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-4TB4RGXK-C6ipd8Rb.js → chunk-4TB4RGXK-BHHtOn_W.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-55IACEB6-D9P1TLAl.js → chunk-55IACEB6-npi1DjnI.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-EDXVE4YY-NqBFXrAb.js → chunk-EDXVE4YY-6XoKXtpJ.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-FMBD7UC4-DDP02KGl.js → chunk-FMBD7UC4-D5wdm5pu.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-OYMX7WX6-BH7IIwJs.js → chunk-OYMX7WX6-CdQRrw_z.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-QZHKN3VN-BQs-0fGA.js → chunk-QZHKN3VN-j-pcsMU1.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-YZCP3GAM-BjN5B1FZ.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-BK8OyohU.js → connection-BL2ZiJKS.js} +1 -1
- package/payload/frontend/dist/assets/{connections-BMlDGuxr.js → connections-BuXymnab.js} +1 -1
- package/payload/frontend/dist/assets/{cose-bilkent-S5V4N54A-NPOCJBiA.js → cose-bilkent-S5V4N54A-D3ioXA7D.js} +1 -1
- package/payload/frontend/dist/assets/{dagre-KV5264BT-COIvyDWn.js → dagre-KV5264BT-DjtjEtE5.js} +1 -1
- package/payload/frontend/dist/assets/{desktop-ByVdibdg.js → desktop-Du3Gd9LW.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-5BDNPKRD-S_8jRdqp.js → diagram-5BDNPKRD-CtxPyS9C.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-G4DWMVQ6-C42mxsNM.js → diagram-G4DWMVQ6-ikqU0pq3.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-MMDJMWI5-BJM6otf0.js → diagram-MMDJMWI5-CoKNp7eo.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-TYMM5635-By5p6aCA.js → diagram-TYMM5635-7xoHFg4D.js} +1 -1
- package/payload/frontend/dist/assets/{erDiagram-SMLLAGMA-U0Ye_786.js → erDiagram-SMLLAGMA-Da8Jm4bc.js} +1 -1
- package/payload/frontend/dist/assets/{flowDiagram-DWJPFMVM-CUkOR4uD.js → flowDiagram-DWJPFMVM-bcIflYKx.js} +1 -1
- package/payload/frontend/dist/assets/{ganttDiagram-T4ZO3ILL-CRlDiioi.js → ganttDiagram-T4ZO3ILL-CCSwpL4k.js} +1 -1
- package/payload/frontend/dist/assets/{gitGraphDiagram-UUTBAWPF-DV4Ea1j2.js → gitGraphDiagram-UUTBAWPF-C5YN1uxh.js} +1 -1
- package/payload/frontend/dist/assets/{graph-Bn4s-NIu.js → graph-DhVKaWIc.js} +1 -1
- package/payload/frontend/dist/assets/{image-0wCxVgo2.js → image-CAXFSZmt.js} +1 -1
- package/payload/frontend/dist/assets/{index-De2lxGIa.js → index-BPgmi_HT.js} +5 -5
- package/payload/frontend/dist/assets/{infoDiagram-42DDH7IO-ut--ZHxq.js → infoDiagram-42DDH7IO-CKUkVeJd.js} +1 -1
- package/payload/frontend/dist/assets/{ishikawaDiagram-UXIWVN3A-DbJ9qouY.js → ishikawaDiagram-UXIWVN3A-Cu6SCNrB.js} +1 -1
- package/payload/frontend/dist/assets/{journeyDiagram-VCZTEJTY-CZ5a4nqq.js → journeyDiagram-VCZTEJTY-BJsUgp8J.js} +1 -1
- package/payload/frontend/dist/assets/{kanban-definition-6JOO6SKY-CagFKide.js → kanban-definition-6JOO6SKY-BGowhqfi.js} +1 -1
- package/payload/frontend/dist/assets/{layout-DJ8E_yHX.js → layout-CunOX6M2.js} +1 -1
- package/payload/frontend/dist/assets/{linear-Dn6DMk6q.js → linear-C_0D1AIt.js} +1 -1
- package/payload/frontend/dist/assets/{main-T426svZw.js → main-D9JUBZrL.js} +147 -147
- package/payload/frontend/dist/assets/{min-DnGEZSmi.js → min-CYRFaNhC.js} +1 -1
- package/payload/frontend/dist/assets/{mindmap-definition-QFDTVHPH-Dy5F9V5f.js → mindmap-definition-QFDTVHPH-CC29vHKR.js} +1 -1
- package/payload/frontend/dist/assets/{monitoring-BdNkTyog.js → monitoring-CSJEFZ4D.js} +1 -1
- package/payload/frontend/dist/assets/{notifications-incoktxl.js → notifications-B6plZwi5.js} +1 -1
- package/payload/frontend/dist/assets/{pieDiagram-DEJITSTG-yXPGxeUi.js → pieDiagram-DEJITSTG-ZPTChlGS.js} +1 -1
- package/payload/frontend/dist/assets/{quadrantDiagram-34T5L4WZ-D4cCRjRq.js → quadrantDiagram-34T5L4WZ-B4sL0Weo.js} +1 -1
- package/payload/frontend/dist/assets/{record-content-D1WJhPcw.js → record-content-DBb8tU0P.js} +1 -1
- package/payload/frontend/dist/assets/{requirementDiagram-MS252O5E-mq9zSUQY.js → requirementDiagram-MS252O5E-Q2PHuGEG.js} +1 -1
- package/payload/frontend/dist/assets/{sankeyDiagram-XADWPNL6-CLpI-tDz.js → sankeyDiagram-XADWPNL6-k8w1jlHT.js} +1 -1
- package/payload/frontend/dist/assets/{sequenceDiagram-FGHM5R23-B-T8p6AJ.js → sequenceDiagram-FGHM5R23-0qPxopqC.js} +1 -1
- package/payload/frontend/dist/assets/{stateDiagram-FHFEXIEX-l2_t6o5K.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-CP5f7C2Y.js → status-Zy2MW6gr.js} +1 -1
- package/payload/frontend/dist/assets/suiji-5pox13NE.js +1 -0
- package/payload/frontend/dist/assets/{svg-G8v0TLQu.js → svg-vmNZnz5w.js} +1 -1
- package/payload/frontend/dist/assets/{tabs-CuKPIDlT.js → tabs-C257BfM6.js} +1 -1
- package/payload/frontend/dist/assets/{timeline-definition-GMOUNBTQ-CSaExDd9.js → timeline-definition-GMOUNBTQ-BC_3Dip2.js} +1 -1
- package/payload/frontend/dist/assets/{vennDiagram-DHZGUBPP-x-fCoh_Q.js → vennDiagram-DHZGUBPP-V_X88VPq.js} +1 -1
- package/payload/frontend/dist/assets/{wardley-RL74JXVD-B4O75ZAB.js → wardley-RL74JXVD-CflQhbCA.js} +1 -1
- package/payload/frontend/dist/assets/{wardleyDiagram-NUSXRM2D-CdXssvxH.js → wardleyDiagram-NUSXRM2D-C75i3btX.js} +1 -1
- package/payload/frontend/dist/assets/{xychartDiagram-5P7HB3ND-DwTtw7p0.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-Mm4Vb-2P.js +0 -1
- package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-BiLH0Poy.js +0 -1
- package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-BiLH0Poy.js +0 -1
- package/payload/frontend/dist/assets/clone-qIEEEAzl.js +0 -1
- package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-BXh3ccaZ.js +0 -1
- 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":"
|
|
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: [
|
|
63773
|
-
domainVersions: Object.fromEntries(
|
|
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, [
|
|
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 !==
|
|
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] !==
|
|
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 !==
|
|
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] !==
|
|
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],
|
|
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:
|
|
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: [
|
|
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};
|