@dotobokuri/fleet-console 1.25.0 → 1.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/cli.d.ts +2 -2
- package/dist/cli.mjs +41 -18
- package/dist/client/assets/{_baseUniq-CftO_qma.js → _baseUniq-DDQ9j_k8.js} +1 -1
- package/dist/client/assets/{arc-CIUNumHO.js → arc-Bfozxruz.js} +1 -1
- package/dist/client/assets/{architectureDiagram-Q4EWVU46-TpVISJv_.js → architectureDiagram-Q4EWVU46-DCTNRtj5.js} +1 -1
- package/dist/client/assets/{blockDiagram-DXYQGD6D-iHi0B0P6.js → blockDiagram-DXYQGD6D-CWyPMMVT.js} +1 -1
- package/dist/client/assets/{c4Diagram-AHTNJAMY-CYAcFDrF.js → c4Diagram-AHTNJAMY-Rt5eOwFM.js} +1 -1
- package/dist/client/assets/channel-CetR928K.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-B3Nh-xBT.js → chunk-4BX2VUAB-D4PVI1Vt.js} +1 -1
- package/dist/client/assets/{chunk-4TB4RGXK-CDbmqVYQ.js → chunk-4TB4RGXK-C1Oxcig_.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-DRXIVd03.js → chunk-55IACEB6-Cpo6RFvp.js} +1 -1
- package/dist/client/assets/{chunk-EDXVE4YY-b05C0dVN.js → chunk-EDXVE4YY-DbsnZ6G8.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-ByrEd9CG.js → chunk-FMBD7UC4-Dbn5YbUa.js} +1 -1
- package/dist/client/assets/{chunk-OYMX7WX6-BpEVT-V-.js → chunk-OYMX7WX6-d2kjzA4y.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-CfdhAAA9.js → chunk-QZHKN3VN-CYgkgTK2.js} +1 -1
- package/dist/client/assets/{chunk-YZCP3GAM-Fdx8QRTs.js → chunk-YZCP3GAM-BJU26g8l.js} +1 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-D0UUo5I1.js +1 -0
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-D0UUo5I1.js +1 -0
- package/dist/client/assets/clone-kWHSuIUT.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-D8w9KovE.js → cose-bilkent-S5V4N54A-z-z1o5SL.js} +1 -1
- package/dist/client/assets/{dagre-KV5264BT-D4fw7rTF.js → dagre-KV5264BT-BcXLhG5I.js} +1 -1
- package/dist/client/assets/{diagram-5BDNPKRD-BRFcBwDM.js → diagram-5BDNPKRD-B-ws82Eu.js} +1 -1
- package/dist/client/assets/{diagram-G4DWMVQ6-BKzuEau8.js → diagram-G4DWMVQ6-BmCJvW_F.js} +1 -1
- package/dist/client/assets/{diagram-MMDJMWI5-DkqP7aZ4.js → diagram-MMDJMWI5-CpqgkpUs.js} +1 -1
- package/dist/client/assets/{diagram-TYMM5635-NelXGAN3.js → diagram-TYMM5635-D9qcELVs.js} +1 -1
- package/dist/client/assets/{erDiagram-SMLLAGMA-DHH5btR9.js → erDiagram-SMLLAGMA-CIrLBm_M.js} +1 -1
- package/dist/client/assets/{flowDiagram-DWJPFMVM-BmqHUJoi.js → flowDiagram-DWJPFMVM-Cn_vQPc6.js} +1 -1
- package/dist/client/assets/{ganttDiagram-T4ZO3ILL-BtmWEvNP.js → ganttDiagram-T4ZO3ILL-B1NSn3FS.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-B64kk9Nb.js → gitGraphDiagram-UUTBAWPF-BoFQ1joe.js} +1 -1
- package/dist/client/assets/{graph-CEjP0hvY.js → graph-CxiyRWzn.js} +1 -1
- package/dist/client/assets/index-Bf9IE54V.js +380 -0
- package/dist/client/assets/index-CjSWaFbs.css +1 -0
- package/dist/client/assets/{infoDiagram-42DDH7IO-CaTXrw5R.js → infoDiagram-42DDH7IO-o7pQ1RaC.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-D9-Ds_71.js → ishikawaDiagram-UXIWVN3A-Du1ieZFu.js} +1 -1
- package/dist/client/assets/{journeyDiagram-VCZTEJTY-Cv4qWOhs.js → journeyDiagram-VCZTEJTY-seGxI0_P.js} +1 -1
- package/dist/client/assets/{kanban-definition-6JOO6SKY-CWBLcIpD.js → kanban-definition-6JOO6SKY-fMx5ietE.js} +1 -1
- package/dist/client/assets/{layout-D8eNRDnf.js → layout-BaAXqyYr.js} +1 -1
- package/dist/client/assets/{linear-lDifS_HV.js → linear-DMj40Ji6.js} +1 -1
- package/dist/client/assets/{mermaid.core-DcGkHMSR.js → mermaid.core-BdlXsBT1.js} +4 -4
- package/dist/client/assets/{min-Dz_jFvYt.js → min-s6WtGnlJ.js} +1 -1
- package/dist/client/assets/{mindmap-definition-QFDTVHPH-F3RmDOG-.js → mindmap-definition-QFDTVHPH-MCWf_KUb.js} +1 -1
- package/dist/client/assets/{pieDiagram-DEJITSTG-B1fDKBcl.js → pieDiagram-DEJITSTG-BLXhYJPc.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-34T5L4WZ-D93hlO3O.js → quadrantDiagram-34T5L4WZ-DNh1hAV-.js} +1 -1
- package/dist/client/assets/{requirementDiagram-MS252O5E-B4wj4AQL.js → requirementDiagram-MS252O5E-CqG-OGkG.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-XADWPNL6-ZRwx77Xd.js → sankeyDiagram-XADWPNL6-CHhecl0F.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-FGHM5R23-COMMRNyM.js → sequenceDiagram-FGHM5R23-DVjf5Mte.js} +1 -1
- package/dist/client/assets/{stateDiagram-FHFEXIEX-CpBccMyi.js → stateDiagram-FHFEXIEX-SB71u-q-.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-BWyhQXqE.js +1 -0
- package/dist/client/assets/{timeline-definition-GMOUNBTQ-C44EI_-o.js → timeline-definition-GMOUNBTQ-BiFLtGFX.js} +1 -1
- package/dist/client/assets/{vennDiagram-DHZGUBPP-BiBJbCdD.js → vennDiagram-DHZGUBPP-gVVHuVaX.js} +1 -1
- package/dist/client/assets/{wardley-RL74JXVD-Dm5-kWNd.js → wardley-RL74JXVD-DmAOySPQ.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-NUSXRM2D-BjbesihY.js → wardleyDiagram-NUSXRM2D-CxDohXgj.js} +1 -1
- package/dist/client/assets/{xychartDiagram-5P7HB3ND-5P6xhAMr.js → xychartDiagram-5P7HB3ND-CgRIIIEQ.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/fleet-plugins/file-explorer/routes.mjs +1 -1
- package/dist/fleet-plugins/terminal/routes.mjs +359 -512
- package/package.json +1 -1
- package/dist/client/assets/channel-B-2UBgQ_.js +0 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-DiaCSZq-.js +0 -1
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-DiaCSZq-.js +0 -1
- package/dist/client/assets/clone-Dq4F-r1q.js +0 -1
- package/dist/client/assets/index-B3gs6ohi.js +0 -380
- package/dist/client/assets/index-DDfl_vPx.css +0 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-UCYrbaKP.js +0 -1
package/README.md
CHANGED
|
@@ -62,9 +62,9 @@ The launcher ensures the local console server is running and opens `/console/` d
|
|
|
62
62
|
|
|
63
63
|
Fleet Console Desktop is a thin Electron shell around this service, not a second Console implementation. Its packaged standard Node `22.23.1` sidecar runs this package's `dist/cli.mjs serve` outside Electron's asar and loads exactly `http://127.0.0.1:<verified-port>/console/`. The service remains the owner of HTTP/REST/SSE/WebSocket, PTY, provider policy, plugin runtime, durable JSON state, and the React UI.
|
|
64
64
|
|
|
65
|
-
Published stable CLI/browser and
|
|
65
|
+
Published stable CLI/browser and Desktop-supervised Console share one canonical stable lock and `~/.fleet/console` durable-state namespace (unless the existing `FLEET_CONSOLE_DIR` override is deliberately set). Owner metadata remains provenance/lifecycle compatibility data; it does not alter Console channel, health, update, or CLI-control behavior. Desktop can pair with an already running Console by its token-free loopback pairing identity.
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
Updates apply in-session only to ordinary global packages through the npm-global worker. A managed `console/latest` runtime is updated by Desktop's hardened entry-flow installer on relaunch; `POST /api/v1/updates/apply` refuses unsupported install layouts rather than mutating a live managed runtime. The pairing identity endpoint is discovery, not authentication: the user's exact `127.0.0.1:port` choice is the trust decision.
|
|
68
68
|
|
|
69
69
|
## Development
|
|
70
70
|
|
package/dist/cli.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ interface ConsoleHealth {
|
|
|
25
25
|
readonly endpoint: string;
|
|
26
26
|
readonly startedAt: number;
|
|
27
27
|
readonly version: string;
|
|
28
|
-
readonly channel?: "stable" | "local"
|
|
28
|
+
readonly channel?: "stable" | "local";
|
|
29
29
|
readonly owner?: ConsoleOwnerMetadata;
|
|
30
30
|
readonly workspaceCount: number;
|
|
31
31
|
}
|
|
@@ -81,7 +81,7 @@ interface ConsoleStopDeps {
|
|
|
81
81
|
}
|
|
82
82
|
type ConsoleHookCommand = {
|
|
83
83
|
readonly command: "capture-session";
|
|
84
|
-
readonly provider:
|
|
84
|
+
readonly provider: "claude" | "codex";
|
|
85
85
|
} | {
|
|
86
86
|
readonly command: "turn-start";
|
|
87
87
|
} | {
|
package/dist/cli.mjs
CHANGED
|
@@ -1022,15 +1022,15 @@ function isSafeOwnerId(value) {
|
|
|
1022
1022
|
}
|
|
1023
1023
|
function readFleetConsoleRelease(env = process.env) {
|
|
1024
1024
|
const desktop = readDesktopProtocolEnvironment(env);
|
|
1025
|
-
if (desktop) return readReleaseAt(desktop.resourceRoot,
|
|
1025
|
+
if (desktop) return readReleaseAt(desktop.resourceRoot, readPackageChannel(desktop.resourceRoot));
|
|
1026
1026
|
const requireFromHere = createRequire(import.meta.url);
|
|
1027
1027
|
const packageJsonPath = resolvePackageJsonPath(requireFromHere);
|
|
1028
1028
|
const packageRoot = path29__default.dirname(packageJsonPath);
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
return
|
|
1029
|
+
return readReleaseAt(packageRoot, readPackageChannel(packageRoot, requireFromHere), requireFromHere);
|
|
1030
|
+
}
|
|
1031
|
+
function readPackageChannel(packageRoot, requireFromHere = createRequire(import.meta.url)) {
|
|
1032
|
+
const pkg = requireFromHere(path29__default.join(packageRoot, "package.json"));
|
|
1033
|
+
return pkg.private === true ? "local" : "stable";
|
|
1034
1034
|
}
|
|
1035
1035
|
function readReleaseAt(packageRoot, channel, requireFromHere = createRequire(import.meta.url)) {
|
|
1036
1036
|
const packageJsonPath = path29__default.join(packageRoot, "package.json");
|
|
@@ -38137,6 +38137,7 @@ function createConsoleUpdateApplyService(deps = {}) {
|
|
|
38137
38137
|
fs14__default.writeFileSync(filePath, content, { mode: options.mode });
|
|
38138
38138
|
});
|
|
38139
38139
|
async function start(request) {
|
|
38140
|
+
if (isManagedRuntimePackageRoot(request.currentPackageRoot)) throw new Error("managed_runtime_update_requires_relaunch");
|
|
38140
38141
|
const packageManager = await preflightInstall(request.currentPackageRoot);
|
|
38141
38142
|
const stamp = `${now()}-${processPid}`;
|
|
38142
38143
|
const workerPath = path29__default.join(tmpDir, `${WORKER_FILE_PREFIX}${stamp}${WORKER_FILE_SUFFIX}`);
|
|
@@ -38439,6 +38440,14 @@ function sanitizeError(error) {
|
|
|
38439
38440
|
}
|
|
38440
38441
|
`;
|
|
38441
38442
|
}
|
|
38443
|
+
function isManagedRuntimePackageRoot(packageRoot) {
|
|
38444
|
+
if (path29__default.basename(packageRoot) !== "latest" || path29__default.basename(path29__default.dirname(packageRoot)) !== "console") return false;
|
|
38445
|
+
try {
|
|
38446
|
+
return isDesktopResourceRootMarkerValid(fs14__default.readFileSync(path29__default.join(packageRoot, DESKTOP_RESOURCE_ROOT_MARKER), "utf8"));
|
|
38447
|
+
} catch {
|
|
38448
|
+
return false;
|
|
38449
|
+
}
|
|
38450
|
+
}
|
|
38442
38451
|
async function preflightPackageManager(packageRoot, env) {
|
|
38443
38452
|
const updater = createGlobalPackageUpdater({
|
|
38444
38453
|
env,
|
|
@@ -38544,7 +38553,7 @@ function createConsoleUpdateCheckService(deps = {}) {
|
|
|
38544
38553
|
};
|
|
38545
38554
|
const resolveUpdateStatus = async () => {
|
|
38546
38555
|
const release = readRelease();
|
|
38547
|
-
if (release.channel === "local"
|
|
38556
|
+
if (release.channel === "local") {
|
|
38548
38557
|
return NO_UPDATE_STATUS;
|
|
38549
38558
|
}
|
|
38550
38559
|
const latestVersion = await fetchLatest(FLEET_CONSOLE_PACKAGE_NAME);
|
|
@@ -38596,7 +38605,16 @@ var MAX_BODY_BYTES = 1024 * 1024;
|
|
|
38596
38605
|
var UPDATE_APPLY_FORBIDDEN_BODY_KEYS = /* @__PURE__ */ new Set(["channel", "package", "packageName", "packageVersion", "packages", "targetVersion", "version"]);
|
|
38597
38606
|
var OPERATION_RENAMED_EVENT_CHANNEL = "operation:renamed";
|
|
38598
38607
|
var OPERATION_DELETED_EVENT_CHANNEL = "operation:deleted";
|
|
38608
|
+
var PAIRING_IDENTITY_PATH = "/api/v1/pairing-identity";
|
|
38609
|
+
var PAIRING_IDENTITY = { product: "fleet-console", schemaVersion: 1, pairingProtocolVersion: 1 };
|
|
38599
38610
|
var SERVER_API_CATALOG = [
|
|
38611
|
+
{
|
|
38612
|
+
method: "GET",
|
|
38613
|
+
path: PAIRING_IDENTITY_PATH,
|
|
38614
|
+
summary: "Read the loopback runtime pairing identity.",
|
|
38615
|
+
category: "Observer",
|
|
38616
|
+
gate: "loopback"
|
|
38617
|
+
},
|
|
38600
38618
|
{
|
|
38601
38619
|
method: "GET",
|
|
38602
38620
|
path: "/api/v1/status",
|
|
@@ -39040,6 +39058,10 @@ function createConsoleServer(deps = {}) {
|
|
|
39040
39058
|
writeJson(res, 403, { error: "host_mismatch" });
|
|
39041
39059
|
return;
|
|
39042
39060
|
}
|
|
39061
|
+
if (pathname === PAIRING_IDENTITY_PATH) {
|
|
39062
|
+
handlePairingIdentity(req, res);
|
|
39063
|
+
return;
|
|
39064
|
+
}
|
|
39043
39065
|
if (tryServeStaticConsole2(req, res, pathname)) return;
|
|
39044
39066
|
if (pathname === "/api/v1/health") {
|
|
39045
39067
|
handleHealth(req, res);
|
|
@@ -39087,6 +39109,13 @@ function createConsoleServer(deps = {}) {
|
|
|
39087
39109
|
res.writeHead(404);
|
|
39088
39110
|
res.end();
|
|
39089
39111
|
}
|
|
39112
|
+
function handlePairingIdentity(req, res) {
|
|
39113
|
+
if (req.method !== "GET") {
|
|
39114
|
+
writeJson(res, 405, { error: "Method not allowed" });
|
|
39115
|
+
return;
|
|
39116
|
+
}
|
|
39117
|
+
writeJson(res, 200, PAIRING_IDENTITY);
|
|
39118
|
+
}
|
|
39090
39119
|
function handlePluginRuntimeRoute({ req, res, pathname }) {
|
|
39091
39120
|
if (req.method !== "GET") {
|
|
39092
39121
|
writeJson(res, 405, { error: "Method not allowed" });
|
|
@@ -39135,7 +39164,6 @@ function createConsoleServer(deps = {}) {
|
|
|
39135
39164
|
endpoint: payload.endpoint,
|
|
39136
39165
|
startedAt: payload.startedAt,
|
|
39137
39166
|
version: payload.version,
|
|
39138
|
-
...channel === "desktop" ? { channel } : {},
|
|
39139
39167
|
...payload.owner ? { owner: payload.owner } : {},
|
|
39140
39168
|
workspaceCount: operations.list().length
|
|
39141
39169
|
};
|
|
@@ -39306,10 +39334,6 @@ function createConsoleServer(deps = {}) {
|
|
|
39306
39334
|
writeJson(res, 400, { error: "invalid_update_apply_body" });
|
|
39307
39335
|
return;
|
|
39308
39336
|
}
|
|
39309
|
-
if (channel === "desktop") {
|
|
39310
|
-
writeJson(res, 403, { error: "desktop_update_managed" });
|
|
39311
|
-
return;
|
|
39312
|
-
}
|
|
39313
39337
|
if (channel === "local") {
|
|
39314
39338
|
writeJson(res, 403, { error: "local_channel" });
|
|
39315
39339
|
return;
|
|
@@ -39338,9 +39362,10 @@ function createConsoleServer(deps = {}) {
|
|
|
39338
39362
|
lockFile: activeLockFile,
|
|
39339
39363
|
targetVersion: freshStatus.latestVersion
|
|
39340
39364
|
});
|
|
39341
|
-
} catch {
|
|
39365
|
+
} catch (error51) {
|
|
39342
39366
|
updateApplyInFlight = false;
|
|
39343
|
-
|
|
39367
|
+
const updateError = error51 instanceof Error && error51.message === "managed_runtime_update_requires_relaunch" ? "managed_runtime_update_requires_relaunch" : "update_worker_unavailable";
|
|
39368
|
+
writeJson(res, 503, { error: updateError });
|
|
39344
39369
|
return;
|
|
39345
39370
|
}
|
|
39346
39371
|
res.once("finish", () => {
|
|
@@ -39868,7 +39893,7 @@ function parseConsoleHookCommand(argv) {
|
|
|
39868
39893
|
if (commandName === "turn-end" && rest.length === 0) return { command: "turn-end" };
|
|
39869
39894
|
if (commandName === "attention" && rest.length === 0) return { command: "attention" };
|
|
39870
39895
|
if (commandName === "auto-name" && rest.length === 0) return { command: "auto-name" };
|
|
39871
|
-
if (commandName === "capture-session" && rest.length === 1 && rest[0]) return { command: "capture-session", provider: rest[0] };
|
|
39896
|
+
if (commandName === "capture-session" && rest.length === 1 && (rest[0] === "claude" || rest[0] === "codex")) return { command: "capture-session", provider: rest[0] };
|
|
39872
39897
|
throw new Error("Unknown fleet-console hook command");
|
|
39873
39898
|
}
|
|
39874
39899
|
function buildConsoleHelpText(options = {}) {
|
|
@@ -39940,7 +39965,7 @@ function createConsoleDaemonLifecycle(deps = {}) {
|
|
|
39940
39965
|
async function stop() {
|
|
39941
39966
|
const payload = readTrustedLock();
|
|
39942
39967
|
if (!payload) return;
|
|
39943
|
-
if (isLockProcessAlive(payload.pid))
|
|
39968
|
+
if (isLockProcessAlive(payload.pid)) ;
|
|
39944
39969
|
try {
|
|
39945
39970
|
process4.kill(payload.pid, "SIGTERM");
|
|
39946
39971
|
} catch (err) {
|
|
@@ -39960,7 +39985,6 @@ function createConsoleDaemonLifecycle(deps = {}) {
|
|
|
39960
39985
|
const probeResult = await health.probe(current);
|
|
39961
39986
|
const isBuildStale = current ? stale.isBuildStale(current, serverModulePath) : false;
|
|
39962
39987
|
if (probeResult.healthy && current) {
|
|
39963
|
-
if (current.owner?.kind === "desktop") return current.endpoint;
|
|
39964
39988
|
if (!isBuildStale) return current.endpoint;
|
|
39965
39989
|
if (typeof probeResult.health?.workspaceCount === "number" && probeResult.health.workspaceCount > 0) return current.endpoint;
|
|
39966
39990
|
}
|
|
@@ -40027,7 +40051,6 @@ async function runConsoleStop(deps = {}) {
|
|
|
40027
40051
|
return "Fleet Console server stopped.";
|
|
40028
40052
|
}
|
|
40029
40053
|
function assertCliCanControlDaemon(payload) {
|
|
40030
|
-
if (payload.owner?.kind === "desktop") throw new Error("Fleet Console is owned by the desktop app; quit it from the native menu.");
|
|
40031
40054
|
}
|
|
40032
40055
|
function isLockProcessAlive(pid) {
|
|
40033
40056
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aW as L,bs as ln,aG as A,aU as P,aF as W,bt as gn,bu as dn,bv as hn,bw as z,bx as pn,bn as An,by as m,aX as N,b0 as U,b3 as T,bz as _n,a_ as on,bA as wn,bq as On,aH as V,bo as vn,bB as I}from"./mermaid.core-
|
|
1
|
+
import{aW as L,bs as ln,aG as A,aU as P,aF as W,bt as gn,bu as dn,bv as hn,bw as z,bx as pn,bn as An,by as m,aX as N,b0 as U,b3 as T,bz as _n,a_ as on,bA as wn,bq as On,aH as V,bo as vn,bB as I}from"./mermaid.core-BdlXsBT1.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function yn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var B=P?P.prototype:void 0,H=B?B.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return yn(n,k)+"";if(x(n))return H?H.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function bn(){}function En(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function Rn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function In(n,r,e){return r===r?Rn(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&In(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Fn=/\\(\\)?/g,Gn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Fn,"$1"):i||e)}),r});function Dn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Gn(Dn(n))}function R(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[R(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var K=P?P.isConcatSpreadable:void 0;function Nn(n){return A(n)||z(n)||!!(K&&n&&n[K])}function Kr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Un(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Bn(){return[]}var Hn=Object.prototype,Kn=Hn.propertyIsEnumerable,q=Object.getOwnPropertySymbols,qn=q?function(n){return n==null?[]:(n=Object(n),en(q(n),function(r){return Kn.call(n,r)}))}:Bn;function Zn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function Z(n){return Zn(n,M,qn)}var Xn="__lodash_hash_undefined__";function Yn(n){return this.__data__.set(n,Xn),this}function Jn(n){return this.__data__.has(n)}function y(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}y.prototype.add=y.prototype.push=Yn;y.prototype.has=Jn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new y:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Qn(r,function(O,v){if(!tn(o,v)&&(p===O||f(p,O,e,i,t)))return o.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",X=P?P.prototype:void 0,S=X?X.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=Z(n),a=u.length,h=Z(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],v=r[d];if(i)var D=s?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(D===void 0?O===v||f(O,v,e,i,t):D)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var b=n.constructor,E=r.constructor;b!=E&&"constructor"in n&&"constructor"in r&&!(typeof b=="function"&&b instanceof b&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,Y="[object Arguments]",J="[object Array]",c="[object Object]",wr=Object.prototype,Q=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?J:N(n),h=u?J:N(r);a=a==Y?c:a,h=h==Y?c:h;var g=a==c,l=h==c,d=a==h;if(d&&U(n)){if(!U(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function F(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Or(n,r,e,i,F,f)}var vr=1,Pr=2;function yr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?F(h,a,vr|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function br(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function Er(n){var r=br(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||yr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=R(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Rr(n,r){return n!=null&&Tr(n,r,cr)}var Ir=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(R(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Rr(e,n):F(r,i,Ir|Sr)}}function xr(n){return function(r){return r?.[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(R(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):Er(n):$r(n)}function Cr(n,r){return n&&vn(n,r,M)}function Fr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var G=Fr(Cr);function Gr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?En:G;return e(n,Gr(r))}function Dr(n,r){var e=[];return G(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Zr(n,r){var e=A(n)?en:Dr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Xr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,G)}var Nr=1/0,Ur=I&&1/C(new I([,-0]))[1]==Nr?function(n){return new I(n)}:bn,Br=200;function Yr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Br){var h=r?null:Ur(n);if(h)return C(h);s=!1,f=tn,a=new y}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{G as a,Kr as b,an as c,yn as d,rn as e,Zn as f,qn as g,En as h,x as i,Z as j,M as k,Yr as l,Zr as m,qr as n,cn as o,Gr as p,Cr as q,Xr as r,Bn as s,Tr as t,j as u,R as v,nn as w,Rr as x,Dn as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as ln,a0 as an,a1 as G,a2 as q,a3 as z,a4 as un,a5 as y,a6 as tn,a7 as K,a8 as _,a9 as rn,aa as o,ab as on,ac as sn,ad as fn}from"./mermaid.core-
|
|
1
|
+
import{$ as ln,a0 as an,a1 as G,a2 as q,a3 as z,a4 as un,a5 as y,a6 as tn,a7 as K,a8 as _,a9 as rn,aa as o,ab as on,ac as sn,ad as fn}from"./mermaid.core-BdlXsBT1.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,B,a){var O=I-l,i=D-h,n=B-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function V(l,h,I,D,v,A,B){var a=l-I,O=h-D,i=(B?A:-A)/K(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,C=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*K(on(0,T*T*R-P*P)),$=(P*g-m*S)/R,j=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=$-C,e=j-t,r=w-C,F=p-t;return x*x+e*e>r*r+F*F&&($=w,j=p),{cx:$,cy:j,x01:-n,y01:-d,x11:$*(v/T-1),y11:j*(v/T-1)}}function hn(){var l=cn,h=yn,I=z(0),D=null,v=gn,A=dn,B=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,C=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(C>tn-y)a.moveTo(s*G(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*G(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=C,S=C,$=B.apply(this,arguments)/2,j=$>y&&(D?+D.apply(this,arguments):K(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(j>y){var F=sn(j/u*q($)),L=sn(j/s*q($));(P-=F*2)>y?(F*=t?1:-1,R+=F,T-=F):(P=0,R=T=(f+c)/2),(S-=L*2)>y?(L*=t?1:-1,m+=L,g-=L):(S=0,m=g=(f+c)/2)}var H=s*G(m),J=s*q(m),M=u*G(T),N=u*q(T);if(w>y){var Q=s*G(g),U=s*q(g),W=u*G(R),X=u*q(R),E;if(C<an)if(E=pn(H,J,W,X,Q,U,M,N)){var Y=H-E[0],Z=J-E[1],b=Q-E[0],k=U-E[1],nn=1/q(fn((Y*b+Z*k)/(K(Y*Y+Z*Z)*K(b*b+k*k)))/2),en=K(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=V(W,X,H,J,s,x,t),r=V(Q,U,M,N,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(H,J),a.arc(0,0,s,m,g,!t)):a.moveTo(H,J),!(u>y)||!(P>y)?a.lineTo(M,N):p>y?(e=V(M,N,Q,U,u,-p,t),r=V(H,J,W,X,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[G(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:z(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:z(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:z(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:z(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:z(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:z(+n),i):A},i.padAngle=function(n){return arguments.length?(B=typeof n=="function"?n:z(+n),i):B},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
|