@dotobokuri/fleet-console 1.60.0 → 1.62.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 +1 -1
- package/dist/cli.d.ts +13 -2
- package/dist/cli.mjs +296 -39
- package/dist/client/assets/{_baseUniq-CA3I-KTP.js → _baseUniq-B6CLI4cf.js} +1 -1
- package/dist/client/assets/{arc-DOkIWugv.js → arc-r3CRqUQ5.js} +1 -1
- package/dist/client/assets/{architectureDiagram-Q4EWVU46--Z_t3Gn9.js → architectureDiagram-Q4EWVU46-CJfgw2eJ.js} +1 -1
- package/dist/client/assets/{blockDiagram-DXYQGD6D-CrRA5qvl.js → blockDiagram-DXYQGD6D-CkBuOBUs.js} +1 -1
- package/dist/client/assets/{c4Diagram-AHTNJAMY-DKvbMOAM.js → c4Diagram-AHTNJAMY-Ln5TenJL.js} +1 -1
- package/dist/client/assets/channel-DBCxCWtI.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-D6wc2KrB.js → chunk-4BX2VUAB-BiYTw90k.js} +1 -1
- package/dist/client/assets/{chunk-4TB4RGXK-B4QvYh7f.js → chunk-4TB4RGXK-nPQaGu1w.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-B0VZPoad.js → chunk-55IACEB6-BU2oCJkl.js} +1 -1
- package/dist/client/assets/{chunk-EDXVE4YY-BdHIgvVh.js → chunk-EDXVE4YY-Ej7y6KOv.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-BAYTd_pU.js → chunk-FMBD7UC4-hOkBpfhE.js} +1 -1
- package/dist/client/assets/{chunk-OYMX7WX6-DkZ-neug.js → chunk-OYMX7WX6-Cv43HwvT.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-B5h7E8GE.js → chunk-QZHKN3VN-Bi7AEJxb.js} +1 -1
- package/dist/client/assets/{chunk-YZCP3GAM-COMJ2EwJ.js → chunk-YZCP3GAM-CBwmJdga.js} +1 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-QQSWiJjR.js +1 -0
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-QQSWiJjR.js +1 -0
- package/dist/client/assets/clone-vom5rXcJ.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-JvC7pCqe.js → cose-bilkent-S5V4N54A-ERDn7bly.js} +1 -1
- package/dist/client/assets/{dagre-KV5264BT-jZdVPQcJ.js → dagre-KV5264BT-DapcbnEu.js} +1 -1
- package/dist/client/assets/{diagram-5BDNPKRD-B6-u7AU2.js → diagram-5BDNPKRD-DbRBVaVH.js} +1 -1
- package/dist/client/assets/{diagram-G4DWMVQ6-CV5G3KNM.js → diagram-G4DWMVQ6-CLP0MwBH.js} +1 -1
- package/dist/client/assets/{diagram-MMDJMWI5-ZLrEkNww.js → diagram-MMDJMWI5-BMZ9AsEI.js} +1 -1
- package/dist/client/assets/{diagram-TYMM5635-D1tv2JX9.js → diagram-TYMM5635-DtPPkZ2y.js} +1 -1
- package/dist/client/assets/{erDiagram-SMLLAGMA-Bta0Mt3t.js → erDiagram-SMLLAGMA-DIvbhhTb.js} +1 -1
- package/dist/client/assets/{flowDiagram-DWJPFMVM-C282oRLT.js → flowDiagram-DWJPFMVM-C_R3RpTk.js} +1 -1
- package/dist/client/assets/{ganttDiagram-T4ZO3ILL-D9P4CVIW.js → ganttDiagram-T4ZO3ILL-eaIqpHsY.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-DLQnTjJ2.js → gitGraphDiagram-UUTBAWPF-CYCsHY_E.js} +1 -1
- package/dist/client/assets/{graph-Cd8Q-8WG.js → graph-HfvOsgk2.js} +1 -1
- package/dist/client/assets/index-C2erdgSj.css +1 -0
- package/dist/client/assets/index-CrEYBugN.js +465 -0
- package/dist/client/assets/{infoDiagram-42DDH7IO-ClhLpons.js → infoDiagram-42DDH7IO-rmDH5YRZ.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-BDeZ2vOG.js → ishikawaDiagram-UXIWVN3A-EAZO3mIY.js} +1 -1
- package/dist/client/assets/{journeyDiagram-VCZTEJTY-DbJhbFKN.js → journeyDiagram-VCZTEJTY-4vWYlXOF.js} +1 -1
- package/dist/client/assets/{kanban-definition-6JOO6SKY-CYKcE2fE.js → kanban-definition-6JOO6SKY-CkkSfsbD.js} +1 -1
- package/dist/client/assets/{layout-CuAgTRkn.js → layout-DWbhbrdO.js} +1 -1
- package/dist/client/assets/{linear-3EL9MakS.js → linear-BjRBsqi0.js} +1 -1
- package/dist/client/assets/{mermaid.core-7qKaxHEA.js → mermaid.core-RuG-kUU2.js} +4 -4
- package/dist/client/assets/{min-4mJsdKjT.js → min-D--jZrv5.js} +1 -1
- package/dist/client/assets/{mindmap-definition-QFDTVHPH-B-Zve2OH.js → mindmap-definition-QFDTVHPH-fLwhQBcX.js} +1 -1
- package/dist/client/assets/{pieDiagram-DEJITSTG-DlsdbAii.js → pieDiagram-DEJITSTG-DJkWnAQK.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-34T5L4WZ-Cb4h0xwt.js → quadrantDiagram-34T5L4WZ-Kd4q9kEz.js} +1 -1
- package/dist/client/assets/{requirementDiagram-MS252O5E-CZNGYqJt.js → requirementDiagram-MS252O5E-Bgrtq8Kh.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-XADWPNL6-DeVSGR6W.js → sankeyDiagram-XADWPNL6-BW9BdQ-8.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-FGHM5R23-Te7TkLIe.js → sequenceDiagram-FGHM5R23-KpgcxIJb.js} +1 -1
- package/dist/client/assets/{stateDiagram-FHFEXIEX-Be-0oYyv.js → stateDiagram-FHFEXIEX-CNaCHtL2.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-D3k4sLJ4.js +1 -0
- package/dist/client/assets/{timeline-definition-GMOUNBTQ-DQyUgC-K.js → timeline-definition-GMOUNBTQ-MGPKEXGI.js} +1 -1
- package/dist/client/assets/{vennDiagram-DHZGUBPP-BrArIWI8.js → vennDiagram-DHZGUBPP-bDOCVDJ1.js} +1 -1
- package/dist/client/assets/{wardley-RL74JXVD-6-sWm8kk.js → wardley-RL74JXVD-DuvLJQPg.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-NUSXRM2D-C4MvFXGS.js → wardleyDiagram-NUSXRM2D-BdBIEtIl.js} +1 -1
- package/dist/client/assets/{xychartDiagram-5P7HB3ND-CGrtjhmr.js → xychartDiagram-5P7HB3ND-vycMI6c3.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/fleet-plugins/ledger/routes.mjs +19834 -428
- package/dist/fleet-plugins/quota/routes.mjs +206 -3
- package/dist/fleet-plugins/scuttlebutt/routes.mjs +182 -11
- package/dist/fleet-plugins/terminal/routes.mjs +7254 -5848
- package/dist/fleet.mjs +6401 -5872
- package/package.json +2 -2
- package/dist/client/assets/channel-Bjfd2afp.js +0 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-DgpHvFOU.js +0 -1
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-DgpHvFOU.js +0 -1
- package/dist/client/assets/clone-sFXqwEZz.js +0 -1
- package/dist/client/assets/index-B3gusU1E.js +0 -465
- package/dist/client/assets/index-_PHObHQ-.css +0 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-BnQ2lBhr.js +0 -1
- /package/{AGENTS.md → CLAUDE.md} +0 -0
package/README.md
CHANGED
|
@@ -81,4 +81,4 @@ pnpm --filter @dotobokuri/fleet-console build
|
|
|
81
81
|
|
|
82
82
|
`build` emits `dist/fleet.mjs`, `dist/cli.mjs`, `dist/client/`, and `dist/fleet-plugins/terminal/routes.mjs`. There is no external embed step.
|
|
83
83
|
|
|
84
|
-
See `
|
|
84
|
+
See `CLAUDE.md` for ownership, token-boundary, and streaming invariants.
|
package/dist/cli.d.ts
CHANGED
|
@@ -30,13 +30,21 @@ interface ConsoleHealth {
|
|
|
30
30
|
readonly workspaceCount: number;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
/**
|
|
34
|
+
* 브라우저 실행기가 실제로 떴는지에 대한 답. 실패를 삼키면 CLI가 "열었다"고 말한 뒤
|
|
35
|
+
* 아무것도 뜨지 않는 화면만 남으므로, 이 결과는 호출자가 사용자에게 전할 사실이다.
|
|
36
|
+
*/
|
|
37
|
+
interface BrowserOpenResult {
|
|
38
|
+
readonly opened: boolean;
|
|
39
|
+
readonly reason?: string;
|
|
40
|
+
}
|
|
33
41
|
interface OpenBrowserDeps {
|
|
34
42
|
readonly platform?: NodeJS.Platform;
|
|
35
43
|
readonly spawnBrowser?: (command: string, args: readonly string[], options: {
|
|
36
44
|
readonly detached: true;
|
|
37
45
|
readonly stdio: "ignore";
|
|
38
46
|
readonly windowsHide: true;
|
|
39
|
-
}) => void
|
|
47
|
+
}) => void | Promise<BrowserOpenResult>;
|
|
40
48
|
}
|
|
41
49
|
|
|
42
50
|
interface ConsoleProbeResult {
|
|
@@ -68,10 +76,13 @@ interface ConsoleDaemonLifecycleDeps {
|
|
|
68
76
|
}
|
|
69
77
|
interface OpenFleetConsoleDeps {
|
|
70
78
|
readonly lifecycle?: Pick<ReturnType<typeof createConsoleDaemonLifecycle>, "ensureDaemon" | "probe">;
|
|
71
|
-
readonly openBrowser?: (url: string, deps?: OpenBrowserDeps) => void
|
|
79
|
+
readonly openBrowser?: (url: string, deps?: OpenBrowserDeps) => void | Promise<BrowserOpenResult>;
|
|
72
80
|
}
|
|
73
81
|
interface OpenFleetConsoleResult {
|
|
74
82
|
readonly url: string;
|
|
83
|
+
/** 브라우저 실행기가 실제로 떴는지. 거짓이면 호출자가 주소를 사용자에게 직접 건네야 한다. */
|
|
84
|
+
readonly browserOpened: boolean;
|
|
85
|
+
readonly browserError?: string;
|
|
75
86
|
}
|
|
76
87
|
interface ConsoleStatusDeps {
|
|
77
88
|
readonly lifecycle?: Pick<ReturnType<typeof createConsoleDaemonLifecycle>, "probe">;
|
package/dist/cli.mjs
CHANGED
|
@@ -125,23 +125,88 @@ function withNodeSystemCa(env) {
|
|
|
125
125
|
if (!hasExplicitValue) next[NODE_USE_SYSTEM_CA_ENV] = "1";
|
|
126
126
|
return next;
|
|
127
127
|
}
|
|
128
|
+
var SPAWN_GRACE_MS = 250;
|
|
128
129
|
function openBrowser(url2, deps = {}) {
|
|
129
130
|
const platform = deps.platform ?? os4__default.platform();
|
|
130
|
-
const spawnBrowser = deps.spawnBrowser ??
|
|
131
|
-
|
|
132
|
-
|
|
131
|
+
const spawnBrowser = deps.spawnBrowser ?? defaultSpawnBrowser;
|
|
132
|
+
const options = { detached: true, stdio: "ignore", windowsHide: true };
|
|
133
|
+
if (platform === "darwin") return normalize(spawnBrowser("open", [url2], options));
|
|
134
|
+
if (platform === "win32") return normalize(spawnBrowser("cmd", ["/c", "start", "", url2], options));
|
|
135
|
+
return normalize(spawnBrowser("xdg-open", [url2], options));
|
|
136
|
+
}
|
|
137
|
+
async function normalize(result) {
|
|
138
|
+
const resolved = await result;
|
|
139
|
+
return resolved ?? { opened: true };
|
|
140
|
+
}
|
|
141
|
+
function defaultSpawnBrowser(command2, args, options) {
|
|
142
|
+
return new Promise((resolve3) => {
|
|
143
|
+
let child;
|
|
144
|
+
try {
|
|
145
|
+
child = spawn(command2, [...args], options);
|
|
146
|
+
} catch (error51) {
|
|
147
|
+
resolve3({ opened: false, reason: describe(error51, command2) });
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
const timer = setTimeout(() => {
|
|
151
|
+
child.unref();
|
|
152
|
+
resolve3({ opened: true });
|
|
153
|
+
}, SPAWN_GRACE_MS);
|
|
154
|
+
child.once("error", (error51) => {
|
|
155
|
+
clearTimeout(timer);
|
|
156
|
+
child.unref();
|
|
157
|
+
resolve3({ opened: false, reason: describe(error51, command2) });
|
|
158
|
+
});
|
|
159
|
+
child.once("exit", (code) => {
|
|
160
|
+
clearTimeout(timer);
|
|
161
|
+
child.unref();
|
|
162
|
+
if (code === null || code === 0) resolve3({ opened: true });
|
|
163
|
+
else resolve3({ opened: false, reason: `${command2} exited with status ${code}` });
|
|
133
164
|
});
|
|
134
|
-
child.unref();
|
|
135
165
|
});
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
140
|
-
if (
|
|
141
|
-
|
|
142
|
-
|
|
166
|
+
}
|
|
167
|
+
function describe(error51, command2) {
|
|
168
|
+
const code = error51?.code;
|
|
169
|
+
if (code === "ENOENT") return `${command2} is not on PATH`;
|
|
170
|
+
if (code === "EACCES") return `${command2} is not executable`;
|
|
171
|
+
return error51 instanceof Error ? error51.message : String(error51);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// core/host/failure-notice.ts
|
|
175
|
+
function formatFailureNotice(notice) {
|
|
176
|
+
const lines = [notice.what, ` Why ${notice.why}`];
|
|
177
|
+
notice.next.forEach((step, index) => {
|
|
178
|
+
lines.push(` ${index === 0 ? "Next " : " "} ${step}`);
|
|
179
|
+
});
|
|
180
|
+
return lines.join("\n");
|
|
181
|
+
}
|
|
182
|
+
function describeConsoleLaunch(successLine, outcome) {
|
|
183
|
+
if (outcome.browserOpened) return successLine;
|
|
184
|
+
return formatFailureNotice({
|
|
185
|
+
what: "Fleet Console is running, but no browser opened on this machine.",
|
|
186
|
+
why: outcome.browserError ?? "the browser launcher did not start",
|
|
187
|
+
next: [`Open this address yourself: ${outcome.url}`]
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
function describeDaemonStartFailure(input) {
|
|
191
|
+
if (input.spawnError) {
|
|
192
|
+
return formatFailureNotice({
|
|
193
|
+
what: "Fleet Console server did not start.",
|
|
194
|
+
why: `the server process could not be spawned \u2014 ${input.spawnError}`,
|
|
195
|
+
next: [
|
|
196
|
+
"Check that this Node install can run the Console: node --version",
|
|
197
|
+
"Reinstall if the package is incomplete: npm install -g @dotobokuri/fleet-console"
|
|
198
|
+
]
|
|
199
|
+
});
|
|
143
200
|
}
|
|
144
|
-
|
|
201
|
+
return formatFailureNotice({
|
|
202
|
+
what: "Fleet Console server did not start.",
|
|
203
|
+
why: input.probeError ? `it was started but never answered a health check \u2014 ${input.probeError}` : "it was started but never answered a health check within 3 seconds",
|
|
204
|
+
next: [
|
|
205
|
+
`Check that this directory is writable: ${input.dataDir}`,
|
|
206
|
+
"Show the current state: fleet console status",
|
|
207
|
+
"Then try again: fleet console restart"
|
|
208
|
+
]
|
|
209
|
+
});
|
|
145
210
|
}
|
|
146
211
|
|
|
147
212
|
// core/host/health.ts
|
|
@@ -16147,7 +16212,7 @@ __export(external_exports, {
|
|
|
16147
16212
|
date: () => date3,
|
|
16148
16213
|
decode: () => decode2,
|
|
16149
16214
|
decodeAsync: () => decodeAsync2,
|
|
16150
|
-
describe: () =>
|
|
16215
|
+
describe: () => describe3,
|
|
16151
16216
|
discriminatedUnion: () => discriminatedUnion,
|
|
16152
16217
|
e164: () => e1642,
|
|
16153
16218
|
email: () => email2,
|
|
@@ -16525,7 +16590,7 @@ __export(core_exports2, {
|
|
|
16525
16590
|
createToJSONSchemaMethod: () => createToJSONSchemaMethod,
|
|
16526
16591
|
decode: () => decode,
|
|
16527
16592
|
decodeAsync: () => decodeAsync,
|
|
16528
|
-
describe: () =>
|
|
16593
|
+
describe: () => describe2,
|
|
16529
16594
|
encode: () => encode,
|
|
16530
16595
|
encodeAsync: () => encodeAsync,
|
|
16531
16596
|
extractDefs: () => extractDefs,
|
|
@@ -27341,7 +27406,7 @@ function _check(fn, params) {
|
|
|
27341
27406
|
return ch;
|
|
27342
27407
|
}
|
|
27343
27408
|
// @__NO_SIDE_EFFECTS__
|
|
27344
|
-
function
|
|
27409
|
+
function describe2(description) {
|
|
27345
27410
|
const ch = new $ZodCheck({ check: "describe" });
|
|
27346
27411
|
ch._zod.onattach = [
|
|
27347
27412
|
(inst) => {
|
|
@@ -28497,7 +28562,7 @@ __export(schemas_exports2, {
|
|
|
28497
28562
|
cuid2: () => cuid22,
|
|
28498
28563
|
custom: () => custom,
|
|
28499
28564
|
date: () => date3,
|
|
28500
|
-
describe: () =>
|
|
28565
|
+
describe: () => describe3,
|
|
28501
28566
|
discriminatedUnion: () => discriminatedUnion,
|
|
28502
28567
|
e164: () => e1642,
|
|
28503
28568
|
email: () => email2,
|
|
@@ -29948,7 +30013,7 @@ function refine(fn, _params = {}) {
|
|
|
29948
30013
|
function superRefine(fn, params) {
|
|
29949
30014
|
return _superRefine(fn, params);
|
|
29950
30015
|
}
|
|
29951
|
-
var
|
|
30016
|
+
var describe3 = describe2;
|
|
29952
30017
|
var meta2 = meta;
|
|
29953
30018
|
function _instanceof(cls, params = {}) {
|
|
29954
30019
|
const inst = new ZodCustom({
|
|
@@ -34195,6 +34260,115 @@ var models_default = {
|
|
|
34195
34260
|
}
|
|
34196
34261
|
]
|
|
34197
34262
|
}
|
|
34263
|
+
},
|
|
34264
|
+
pricing: {
|
|
34265
|
+
source: "openrouter",
|
|
34266
|
+
observedAt: "2026-08-16T00:00:00Z",
|
|
34267
|
+
models: {
|
|
34268
|
+
"openai/gpt-5.6-sol": {
|
|
34269
|
+
inputCostPerToken: 5e-6,
|
|
34270
|
+
outputCostPerToken: 3e-5,
|
|
34271
|
+
cacheReadInputTokenCost: 5e-7,
|
|
34272
|
+
cacheCreationInputTokenCost: 625e-8,
|
|
34273
|
+
aliases: [
|
|
34274
|
+
"gpt-5.6-sol"
|
|
34275
|
+
]
|
|
34276
|
+
},
|
|
34277
|
+
"openai/gpt-5.6-terra": {
|
|
34278
|
+
inputCostPerToken: 1e-6,
|
|
34279
|
+
outputCostPerToken: 6e-6,
|
|
34280
|
+
cacheReadInputTokenCost: 1e-7,
|
|
34281
|
+
cacheCreationInputTokenCost: 125e-8,
|
|
34282
|
+
aliases: [
|
|
34283
|
+
"gpt-5.6-terra"
|
|
34284
|
+
]
|
|
34285
|
+
},
|
|
34286
|
+
"openai/gpt-5.6-luna": {
|
|
34287
|
+
inputCostPerToken: 1e-7,
|
|
34288
|
+
outputCostPerToken: 6e-7,
|
|
34289
|
+
cacheReadInputTokenCost: 1e-8,
|
|
34290
|
+
cacheCreationInputTokenCost: 125e-9,
|
|
34291
|
+
aliases: [
|
|
34292
|
+
"gpt-5.6-luna"
|
|
34293
|
+
]
|
|
34294
|
+
},
|
|
34295
|
+
"x-ai/grok-4.5": {
|
|
34296
|
+
inputCostPerToken: 2e-6,
|
|
34297
|
+
outputCostPerToken: 6e-6,
|
|
34298
|
+
cacheReadInputTokenCost: 3e-7,
|
|
34299
|
+
aliases: [
|
|
34300
|
+
"grok-4.5"
|
|
34301
|
+
]
|
|
34302
|
+
},
|
|
34303
|
+
"x-ai/grok-4.6": {
|
|
34304
|
+
inputCostPerToken: 2e-6,
|
|
34305
|
+
outputCostPerToken: 6e-6,
|
|
34306
|
+
cacheReadInputTokenCost: 5e-7,
|
|
34307
|
+
aliases: [
|
|
34308
|
+
"grok-4.6"
|
|
34309
|
+
]
|
|
34310
|
+
},
|
|
34311
|
+
"anthropic/claude-opus-5": {
|
|
34312
|
+
inputCostPerToken: 5e-6,
|
|
34313
|
+
outputCostPerToken: 25e-6,
|
|
34314
|
+
cacheReadInputTokenCost: 5e-7,
|
|
34315
|
+
cacheCreationInputTokenCost: 625e-8,
|
|
34316
|
+
aliases: [
|
|
34317
|
+
"claude-opus-5"
|
|
34318
|
+
]
|
|
34319
|
+
},
|
|
34320
|
+
"anthropic/claude-fable-5": {
|
|
34321
|
+
inputCostPerToken: 1e-5,
|
|
34322
|
+
outputCostPerToken: 5e-5,
|
|
34323
|
+
cacheReadInputTokenCost: 1e-6,
|
|
34324
|
+
cacheCreationInputTokenCost: 125e-7,
|
|
34325
|
+
aliases: [
|
|
34326
|
+
"claude-fable-5"
|
|
34327
|
+
]
|
|
34328
|
+
},
|
|
34329
|
+
"moonshotai/kimi-k3": {
|
|
34330
|
+
inputCostPerToken: 3e-6,
|
|
34331
|
+
outputCostPerToken: 15e-6,
|
|
34332
|
+
cacheReadInputTokenCost: 3e-7,
|
|
34333
|
+
aliases: [
|
|
34334
|
+
"k3",
|
|
34335
|
+
"kimi-k3"
|
|
34336
|
+
]
|
|
34337
|
+
},
|
|
34338
|
+
"qwen/qwen3.8-max": {
|
|
34339
|
+
inputCostPerToken: 2e-6,
|
|
34340
|
+
outputCostPerToken: 6e-6,
|
|
34341
|
+
cacheReadInputTokenCost: 25e-8,
|
|
34342
|
+
cacheCreationInputTokenCost: 25e-7,
|
|
34343
|
+
aliases: [
|
|
34344
|
+
"qwen3.8-max"
|
|
34345
|
+
]
|
|
34346
|
+
},
|
|
34347
|
+
"deepseek/deepseek-v4-flash": {
|
|
34348
|
+
inputCostPerToken: 14e-8,
|
|
34349
|
+
outputCostPerToken: 28e-8,
|
|
34350
|
+
cacheReadInputTokenCost: 28e-10,
|
|
34351
|
+
aliases: [
|
|
34352
|
+
"deepseek-v4-flash"
|
|
34353
|
+
]
|
|
34354
|
+
},
|
|
34355
|
+
"deepseek/deepseek-v4-pro": {
|
|
34356
|
+
inputCostPerToken: 435e-9,
|
|
34357
|
+
outputCostPerToken: 87e-8,
|
|
34358
|
+
cacheReadInputTokenCost: 3625e-12,
|
|
34359
|
+
aliases: [
|
|
34360
|
+
"deepseek-v4-pro"
|
|
34361
|
+
]
|
|
34362
|
+
},
|
|
34363
|
+
"z-ai/glm-5.2": {
|
|
34364
|
+
inputCostPerToken: 14e-7,
|
|
34365
|
+
outputCostPerToken: 44e-7,
|
|
34366
|
+
cacheReadInputTokenCost: 26e-8,
|
|
34367
|
+
aliases: [
|
|
34368
|
+
"glm-5.2"
|
|
34369
|
+
]
|
|
34370
|
+
}
|
|
34371
|
+
}
|
|
34198
34372
|
}
|
|
34199
34373
|
};
|
|
34200
34374
|
var GATEWAY_PROVIDERS = ["codex", "xai", "cursor", "opencode", "kimi"];
|
|
@@ -34257,6 +34431,18 @@ var GatewayBenchmarksRegistrySchema = external_exports.object({
|
|
|
34257
34431
|
sources: external_exports.record(external_exports.string().min(1), GatewayBenchmarkSourceSchema),
|
|
34258
34432
|
models: external_exports.record(external_exports.string().min(1), GatewayBenchmarkModelEntrySchema)
|
|
34259
34433
|
}).strict();
|
|
34434
|
+
var GatewayModelPricingSchema = external_exports.object({
|
|
34435
|
+
inputCostPerToken: external_exports.number().nonnegative(),
|
|
34436
|
+
outputCostPerToken: external_exports.number().nonnegative(),
|
|
34437
|
+
cacheReadInputTokenCost: external_exports.number().nonnegative(),
|
|
34438
|
+
cacheCreationInputTokenCost: external_exports.number().nonnegative().optional(),
|
|
34439
|
+
aliases: external_exports.array(external_exports.string().min(1)).min(1)
|
|
34440
|
+
}).strict();
|
|
34441
|
+
var GatewayPricingRegistrySchema = external_exports.object({
|
|
34442
|
+
source: external_exports.literal("openrouter"),
|
|
34443
|
+
observedAt: external_exports.iso.datetime(),
|
|
34444
|
+
models: external_exports.record(external_exports.string().min(1), GatewayModelPricingSchema)
|
|
34445
|
+
}).strict();
|
|
34260
34446
|
var GatewayModelEntrySchema = external_exports.object({
|
|
34261
34447
|
modelId: external_exports.string().min(1),
|
|
34262
34448
|
name: external_exports.string().min(1),
|
|
@@ -34287,7 +34473,8 @@ var GatewayModelsRegistrySchema = external_exports.object({
|
|
|
34287
34473
|
kimi: GatewayProviderSchema,
|
|
34288
34474
|
opencode: GatewayProviderSchema,
|
|
34289
34475
|
xai: GatewayProviderSchema
|
|
34290
|
-
}).strict()
|
|
34476
|
+
}).strict(),
|
|
34477
|
+
pricing: GatewayPricingRegistrySchema
|
|
34291
34478
|
}).strict();
|
|
34292
34479
|
var UNSUPPORTED_GATEWAY_MODEL_EFFORT = Object.freeze({ supported: false });
|
|
34293
34480
|
var benchmarksRegistry = parseGatewayBenchmarksRegistry(benchmarks_default);
|
|
@@ -34311,6 +34498,15 @@ var registry2 = (() => {
|
|
|
34311
34498
|
return parsed;
|
|
34312
34499
|
})();
|
|
34313
34500
|
var GATEWAY_MODELS_UPDATED_AT = registry2.updatedAt;
|
|
34501
|
+
registry2.pricing.observedAt;
|
|
34502
|
+
Object.freeze(
|
|
34503
|
+
Object.fromEntries(
|
|
34504
|
+
Object.entries(registry2.pricing.models).map(([modelId, pricing]) => [
|
|
34505
|
+
modelId,
|
|
34506
|
+
Object.freeze({ ...pricing, aliases: Object.freeze([...pricing.aliases]) })
|
|
34507
|
+
])
|
|
34508
|
+
)
|
|
34509
|
+
);
|
|
34314
34510
|
Object.entries(benchmarksRegistry.sources).map(([sourceId, source]) => `${sourceId}:${source.observedAt}`).sort().join("|");
|
|
34315
34511
|
Object.freeze(
|
|
34316
34512
|
Object.fromEntries(
|
|
@@ -35510,6 +35706,7 @@ var CLAUDE_GATEWAY_TURN_KEYS = Object.freeze([
|
|
|
35510
35706
|
"allowedTools",
|
|
35511
35707
|
"disallowedTools",
|
|
35512
35708
|
"permissionMode",
|
|
35709
|
+
"canUseTool",
|
|
35513
35710
|
"mcpServers",
|
|
35514
35711
|
"servedMcpServers",
|
|
35515
35712
|
"includePartialMessages",
|
|
@@ -35525,8 +35722,10 @@ function claudeGatewayLaunchEnv(inherited, options) {
|
|
|
35525
35722
|
if (value !== void 0) env[key] = value;
|
|
35526
35723
|
}
|
|
35527
35724
|
env.ANTHROPIC_BASE_URL = options.baseUrl;
|
|
35528
|
-
|
|
35529
|
-
|
|
35725
|
+
if (options.homeKind !== "shared") {
|
|
35726
|
+
env.CLAUDE_CONFIG_DIR = options.configDir;
|
|
35727
|
+
env.CLAUDE_SECURESTORAGE_CONFIG_DIR = "";
|
|
35728
|
+
}
|
|
35530
35729
|
env.CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY = "1";
|
|
35531
35730
|
env.ENABLE_TOOL_SEARCH = "true";
|
|
35532
35731
|
env.CLAUDE_CODE_AUTO_COMPACT_WINDOW ??= "1000000";
|
|
@@ -35541,6 +35740,18 @@ function claudeGatewayModelCache(options) {
|
|
|
35541
35740
|
}
|
|
35542
35741
|
|
|
35543
35742
|
// ../../packages/core-agent/src/claude/config-dir.ts
|
|
35743
|
+
function createSharedClaudeConfigHome(configDir) {
|
|
35744
|
+
if (typeof configDir !== "string" || !path18__default.isAbsolute(configDir)) {
|
|
35745
|
+
throw new TypeError("A shared Claude config home requires an absolute config directory path.");
|
|
35746
|
+
}
|
|
35747
|
+
return {
|
|
35748
|
+
path: configDir,
|
|
35749
|
+
async writeModelCache() {
|
|
35750
|
+
},
|
|
35751
|
+
async dispose() {
|
|
35752
|
+
}
|
|
35753
|
+
};
|
|
35754
|
+
}
|
|
35544
35755
|
async function createIsolatedClaudeConfigDir(tempRoot = tmpdir()) {
|
|
35545
35756
|
const root = await mkdtemp(path18__default.join(tempRoot, "core-agent-claude-"));
|
|
35546
35757
|
const cachePath = path18__default.join(root, CLAUDE_GATEWAY_MODEL_CACHE_RELPATH);
|
|
@@ -35597,7 +35808,7 @@ async function createClaudeGatewaySdk(options) {
|
|
|
35597
35808
|
const accepted = resolveModels(options.models);
|
|
35598
35809
|
const catalogModels = accepted.filter((entry) => entry.kind === "catalog").map((entry) => entry.model);
|
|
35599
35810
|
const inherited = options.env ?? process.env;
|
|
35600
|
-
const configDir = await createIsolatedClaudeConfigDir(options.tempRoot);
|
|
35811
|
+
const configDir = options.home?.kind === "shared" ? createSharedClaudeConfigHome(options.home.configDir) : await createIsolatedClaudeConfigDir(options.tempRoot);
|
|
35601
35812
|
let disposed = false;
|
|
35602
35813
|
let active = null;
|
|
35603
35814
|
const sdk = {
|
|
@@ -35612,19 +35823,27 @@ async function createClaudeGatewaySdk(options) {
|
|
|
35612
35823
|
}
|
|
35613
35824
|
const model = resolveTurnModel(turn.model, accepted);
|
|
35614
35825
|
await configDir.writeModelCache({ baseUrl, models: catalogModels, fetchedAt: Date.now() });
|
|
35615
|
-
const env = claudeGatewayLaunchEnv(inherited, {
|
|
35826
|
+
const env = claudeGatewayLaunchEnv(inherited, {
|
|
35827
|
+
baseUrl,
|
|
35828
|
+
configDir: configDir.path,
|
|
35829
|
+
homeKind: options.home?.kind === "shared" ? "shared" : "isolated"
|
|
35830
|
+
});
|
|
35616
35831
|
const run = runVendorQuery({
|
|
35617
35832
|
prompt: turn.prompt,
|
|
35618
35833
|
options: {
|
|
35619
35834
|
env,
|
|
35620
35835
|
model,
|
|
35621
35836
|
...turn.systemPrompt === void 0 ? {} : { systemPrompt: vendorSystemPrompt(turn.systemPrompt) },
|
|
35622
|
-
// 패키지가 스스로 지어내는 지시는
|
|
35623
|
-
//
|
|
35624
|
-
// CLAUDE.md를 끄고, `strictMcpConfig
|
|
35625
|
-
//
|
|
35626
|
-
settingSources: [],
|
|
35627
|
-
strictMcpConfig: true,
|
|
35837
|
+
// 패키지가 스스로 지어내는 지시는 없다 — 여기 실리는 것은 전부 호출자가 고른 것이고,
|
|
35838
|
+
// 고르지 않으면 아무것도 붙지 않는다. 두 기본값이 그 규율을 구조로 만든다:
|
|
35839
|
+
// `settingSources: []`가 사용자·프로젝트 설정과 CLAUDE.md를 끄고, `strictMcpConfig`가
|
|
35840
|
+
// 그와 별개인 ambient .mcp.json·플러그인 MCP를 막는다.
|
|
35841
|
+
settingSources: options.settingSources ? [...options.settingSources] : [],
|
|
35842
|
+
strictMcpConfig: options.allowAmbientMcpServers !== true,
|
|
35843
|
+
// 플러그인의 MCP 선언은 읽지 않는다 — 좌표는 호출자가 이미 소유한다.
|
|
35844
|
+
...options.plugins && options.plugins.length > 0 ? { plugins: options.plugins.map((plugin) => ({ type: "local", path: plugin.path, skipMcpDiscovery: true })) } : {},
|
|
35845
|
+
// `--settings`와 같은 자리다. flag 소스로 병합되므로 사용자·프로젝트 설정을 대체하지 않는다.
|
|
35846
|
+
...options.skillOverrides && Object.keys(options.skillOverrides).length > 0 ? { settings: { skillOverrides: { ...options.skillOverrides } } } : {},
|
|
35628
35847
|
...turn.effort === void 0 ? {} : { effort: turn.effort },
|
|
35629
35848
|
...turn.cwd === void 0 ? {} : { cwd: turn.cwd },
|
|
35630
35849
|
...turn.resume === void 0 ? {} : { resume: turn.resume },
|
|
@@ -35634,6 +35853,7 @@ async function createClaudeGatewaySdk(options) {
|
|
|
35634
35853
|
...turn.allowedTools === void 0 ? {} : { allowedTools: [...turn.allowedTools] },
|
|
35635
35854
|
...turn.disallowedTools === void 0 ? {} : { disallowedTools: [...turn.disallowedTools] },
|
|
35636
35855
|
...turn.permissionMode === void 0 ? {} : { permissionMode: turn.permissionMode },
|
|
35856
|
+
...turn.canUseTool === void 0 ? {} : { canUseTool: vendorCanUseTool(turn.canUseTool) },
|
|
35637
35857
|
...turn.mcpServers === void 0 && turn.servedMcpServers === void 0 ? {} : { mcpServers: { ...turn.mcpServers, ...vendorServedMcpServers(turn.servedMcpServers) } },
|
|
35638
35858
|
...turn.includePartialMessages === void 0 ? {} : { includePartialMessages: turn.includePartialMessages },
|
|
35639
35859
|
...turn.abortController === void 0 ? {} : { abortController: turn.abortController },
|
|
@@ -35729,6 +35949,22 @@ function resolveTurnModel(requested, accepted) {
|
|
|
35729
35949
|
}
|
|
35730
35950
|
return entry.id;
|
|
35731
35951
|
}
|
|
35952
|
+
function vendorCanUseTool(canUseTool) {
|
|
35953
|
+
return async (toolName, input, options) => {
|
|
35954
|
+
try {
|
|
35955
|
+
const decision = await canUseTool(toolName, input, {
|
|
35956
|
+
toolUseId: typeof options.toolUseID === "string" ? options.toolUseID : "",
|
|
35957
|
+
signal: options.signal instanceof AbortSignal ? options.signal : new AbortController().signal
|
|
35958
|
+
});
|
|
35959
|
+
if (decision.behavior === "allow") {
|
|
35960
|
+
return decision.updatedInput === void 0 ? { behavior: "allow", updatedInput: input } : { behavior: "allow", updatedInput: { ...decision.updatedInput } };
|
|
35961
|
+
}
|
|
35962
|
+
return { behavior: "deny", message: decision.message };
|
|
35963
|
+
} catch (error51) {
|
|
35964
|
+
return { behavior: "deny", message: error51 instanceof Error ? error51.message : String(error51) };
|
|
35965
|
+
}
|
|
35966
|
+
};
|
|
35967
|
+
}
|
|
35732
35968
|
function vendorSystemPrompt(systemPrompt) {
|
|
35733
35969
|
const text = systemPrompt?.text;
|
|
35734
35970
|
if (typeof text !== "string" || text.length === 0) {
|
|
@@ -38162,7 +38398,8 @@ var SHIM_NAMED_EXPORTS = {
|
|
|
38162
38398
|
"@fleet-console/sdk/settings/browser": ["ExperimentalBadge", "SettingsCard", "SettingsField", "SettingsRow", "SettingsSelect", "SettingsToggle", "defineSettingsSection"],
|
|
38163
38399
|
"@fleet-console/sdk/operations/browser": ["ApiError", "OperationBody", "assertOperationNode", "fetchOperationCatalog", "hasForbiddenBrowserPayloadKey"],
|
|
38164
38400
|
"@fleet-console/sdk/notifications/browser": ["defineNotificationKind"],
|
|
38165
|
-
"@fleet-console/sdk/react/browser": ["PluginErrorBoundary", "React", "Select", "useSelect"]
|
|
38401
|
+
"@fleet-console/sdk/react/browser": ["PluginErrorBoundary", "React", "Select", "useSelect"],
|
|
38402
|
+
"@fleet-console/sdk/components/failure-notice": ["FailureNotice"]
|
|
38166
38403
|
};
|
|
38167
38404
|
|
|
38168
38405
|
// core/host/plugin-host/plugin-host.ts
|
|
@@ -38295,7 +38532,8 @@ var SHIM_DEFINITIONS = [
|
|
|
38295
38532
|
{ name: "sdk-settings-browser", specifier: "@fleet-console/sdk/settings/browser", globalKey: "@fleet-console/sdk/settings/browser", namedExports: SHIM_NAMED_EXPORTS["@fleet-console/sdk/settings/browser"] ?? [] },
|
|
38296
38533
|
{ name: "sdk-operations-browser", specifier: "@fleet-console/sdk/operations/browser", globalKey: "@fleet-console/sdk/operations/browser", namedExports: SHIM_NAMED_EXPORTS["@fleet-console/sdk/operations/browser"] ?? [] },
|
|
38297
38534
|
{ name: "sdk-notifications-browser", specifier: "@fleet-console/sdk/notifications/browser", globalKey: "@fleet-console/sdk/notifications/browser", namedExports: SHIM_NAMED_EXPORTS["@fleet-console/sdk/notifications/browser"] ?? [] },
|
|
38298
|
-
{ name: "sdk-react-browser", specifier: "@fleet-console/sdk/react/browser", globalKey: "@fleet-console/sdk/react/browser", namedExports: SHIM_NAMED_EXPORTS["@fleet-console/sdk/react/browser"] ?? [] }
|
|
38535
|
+
{ name: "sdk-react-browser", specifier: "@fleet-console/sdk/react/browser", globalKey: "@fleet-console/sdk/react/browser", namedExports: SHIM_NAMED_EXPORTS["@fleet-console/sdk/react/browser"] ?? [] },
|
|
38536
|
+
{ name: "sdk-components-failure-notice", specifier: "@fleet-console/sdk/components/failure-notice", globalKey: "@fleet-console/sdk/components/failure-notice", namedExports: SHIM_NAMED_EXPORTS["@fleet-console/sdk/components/failure-notice"] ?? [] }
|
|
38299
38537
|
];
|
|
38300
38538
|
var SHIM_URL_BY_SPECIFIER = new Map(SHIM_DEFINITIONS.map((definition) => [definition.specifier, `/plugin-runtime/shim/${definition.name}.mjs`]));
|
|
38301
38539
|
var SHIM_BY_NAME = new Map(SHIM_DEFINITIONS.map((definition) => [definition.name, definition]));
|
|
@@ -38306,9 +38544,11 @@ var NODE_BUILTINS = /* @__PURE__ */ new Set([
|
|
|
38306
38544
|
function createPluginClientAssets(deps) {
|
|
38307
38545
|
const clientSources = /* @__PURE__ */ new Map();
|
|
38308
38546
|
const preparedPlugins = /* @__PURE__ */ new Set();
|
|
38547
|
+
const skippedPlugins = /* @__PURE__ */ new Map();
|
|
38309
38548
|
async function prepare() {
|
|
38310
38549
|
clientSources.clear();
|
|
38311
38550
|
preparedPlugins.clear();
|
|
38551
|
+
skippedPlugins.clear();
|
|
38312
38552
|
for (const plugin of deps.plugins) {
|
|
38313
38553
|
if (!plugin.external || !plugin.clientEntry) continue;
|
|
38314
38554
|
try {
|
|
@@ -38317,17 +38557,24 @@ function createPluginClientAssets(deps) {
|
|
|
38317
38557
|
preparedPlugins.add(plugin.manifest.id);
|
|
38318
38558
|
} catch (error51) {
|
|
38319
38559
|
console.warn(`[fleet-console] Plugin ${plugin.manifest.id} client skipped: ${error51 instanceof Error ? error51.message : String(error51)}`);
|
|
38560
|
+
skippedPlugins.set(plugin.manifest.id, {
|
|
38561
|
+
id: plugin.manifest.id,
|
|
38562
|
+
...plugin.manifest.name ? { name: plugin.manifest.name } : {},
|
|
38563
|
+
reason: error51?.message === "unsupported_client_entry" ? "unsupported_client_entry" : "client_build_failed"
|
|
38564
|
+
});
|
|
38320
38565
|
}
|
|
38321
38566
|
}
|
|
38322
38567
|
}
|
|
38323
38568
|
function manifest() {
|
|
38569
|
+
const skipped = [...skippedPlugins.values()];
|
|
38324
38570
|
return {
|
|
38325
38571
|
plugins: deps.plugins.filter((plugin) => plugin.external && !!plugin.clientEntry && preparedPlugins.has(plugin.manifest.id)).map((plugin) => ({
|
|
38326
38572
|
id: plugin.manifest.id,
|
|
38327
38573
|
...plugin.manifest.name ? { name: plugin.manifest.name } : {},
|
|
38328
38574
|
clientUrl: `/plugin-runtime/client/${plugin.manifest.id}.mjs`,
|
|
38329
38575
|
apiVersion: plugin.manifest.apiVersion ?? SDK_API_VERSION
|
|
38330
|
-
}))
|
|
38576
|
+
})),
|
|
38577
|
+
...skipped.length > 0 ? { skipped } : {}
|
|
38331
38578
|
};
|
|
38332
38579
|
}
|
|
38333
38580
|
function getClient(id) {
|
|
@@ -42081,9 +42328,11 @@ function createConsoleDaemonLifecycle(deps = {}) {
|
|
|
42081
42328
|
const childEnv = env.FLEET_CONSOLE_NO_SYSTEM_CA === "1" ? env : withNodeSystemCa(env);
|
|
42082
42329
|
const execPath = deps.execPath ?? process4.execPath;
|
|
42083
42330
|
const serverModulePath = deps.serverModulePath ?? resolveDefaultServerModulePath2();
|
|
42331
|
+
let lastSpawnError = null;
|
|
42084
42332
|
const spawnDetached = deps.spawnDetached ?? ((bin, args, options) => {
|
|
42085
42333
|
const child = spawn(bin, [...args], options);
|
|
42086
|
-
child.once("error", () => {
|
|
42334
|
+
child.once("error", (error51) => {
|
|
42335
|
+
lastSpawnError = error51 instanceof Error ? error51.message : String(error51);
|
|
42087
42336
|
});
|
|
42088
42337
|
child.unref();
|
|
42089
42338
|
});
|
|
@@ -42136,13 +42385,20 @@ function createConsoleDaemonLifecycle(deps = {}) {
|
|
|
42136
42385
|
if (typeof probeResult.health?.workspaceCount === "number" && probeResult.health.workspaceCount > 0) return current.endpoint;
|
|
42137
42386
|
}
|
|
42138
42387
|
if (current) await stop();
|
|
42388
|
+
lastSpawnError = null;
|
|
42139
42389
|
spawnDetached(execPath, [serverModulePath, "serve"], withHidden({ detached: true, env: childEnv, stdio: "ignore" }));
|
|
42390
|
+
let lastProbeError = null;
|
|
42140
42391
|
for (let i = 0; i < 30; i += 1) {
|
|
42141
42392
|
await sleep(100);
|
|
42142
42393
|
const next = await probe();
|
|
42143
42394
|
if (next.healthy && next.lock) return next.lock.endpoint;
|
|
42395
|
+
if (next.error) lastProbeError = next.error;
|
|
42144
42396
|
}
|
|
42145
|
-
throw new Error(
|
|
42397
|
+
throw new Error(describeDaemonStartFailure({
|
|
42398
|
+
spawnError: lastSpawnError,
|
|
42399
|
+
probeError: lastProbeError,
|
|
42400
|
+
dataDir: paths.dir
|
|
42401
|
+
}));
|
|
42146
42402
|
}
|
|
42147
42403
|
return { ensureDaemon, probe, runServer, stop };
|
|
42148
42404
|
function readTrustedLock(options = {}) {
|
|
@@ -42171,8 +42427,9 @@ async function openFleetConsole(deps = {}) {
|
|
|
42171
42427
|
throw new Error("Fleet Console server is not healthy after ensure");
|
|
42172
42428
|
}
|
|
42173
42429
|
const url2 = `${status.lock.endpoint}console/`;
|
|
42174
|
-
(deps.openBrowser ?? openBrowser)(url2);
|
|
42175
|
-
|
|
42430
|
+
const browser = await (deps.openBrowser ?? openBrowser)(url2);
|
|
42431
|
+
const result = browser ?? { opened: true };
|
|
42432
|
+
return result.opened ? { url: url2, browserOpened: true } : { url: url2, browserOpened: false, browserError: result.reason };
|
|
42176
42433
|
}
|
|
42177
42434
|
async function runConsoleStatus(deps = {}) {
|
|
42178
42435
|
const lifecycle = deps.lifecycle ?? createConsoleDaemonLifecycle();
|
|
@@ -42263,14 +42520,14 @@ async function main() {
|
|
|
42263
42520
|
return;
|
|
42264
42521
|
}
|
|
42265
42522
|
if (mode === "restart") {
|
|
42266
|
-
await runConsoleRestart();
|
|
42267
|
-
process4.stdout.write(
|
|
42523
|
+
const restarted = await runConsoleRestart();
|
|
42524
|
+
process4.stdout.write(`${describeConsoleLaunch("Fleet Console restarted.", restarted)}
|
|
42268
42525
|
${await runConsoleStatus()}
|
|
42269
42526
|
`);
|
|
42270
42527
|
return;
|
|
42271
42528
|
}
|
|
42272
|
-
await openFleetConsole();
|
|
42273
|
-
process4.stdout.write(
|
|
42529
|
+
const opened = await openFleetConsole();
|
|
42530
|
+
process4.stdout.write(`${describeConsoleLaunch("Fleet Console opened.", opened)}
|
|
42274
42531
|
${await runConsoleStatus()}
|
|
42275
42532
|
`);
|
|
42276
42533
|
}
|
|
@@ -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-RuG-kUU2.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-RuG-kUU2.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};
|