@dotobokuri/fleet-console 1.55.0 → 1.57.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/AGENTS.md +1 -1
- package/dist/cli.mjs +21480 -21477
- package/dist/client/assets/{_baseUniq-Cp0TuK00.js → _baseUniq-CswEXHiP.js} +1 -1
- package/dist/client/assets/{arc-Cwtz1wxV.js → arc-B0Pl4arp.js} +1 -1
- package/dist/client/assets/{architectureDiagram-Q4EWVU46-f2trvyEV.js → architectureDiagram-Q4EWVU46-CmHRAXMU.js} +1 -1
- package/dist/client/assets/{blockDiagram-DXYQGD6D-BhEa9Mh6.js → blockDiagram-DXYQGD6D-hm41ZpGJ.js} +1 -1
- package/dist/client/assets/{c4Diagram-AHTNJAMY-CuqbJbZK.js → c4Diagram-AHTNJAMY-B-p8I72o.js} +1 -1
- package/dist/client/assets/channel-Bc5nd73E.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-Vx63wo1i.js → chunk-4BX2VUAB-DGBjTF4d.js} +1 -1
- package/dist/client/assets/{chunk-4TB4RGXK-DHRtIlLJ.js → chunk-4TB4RGXK-CN3nUDe7.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-ChTm2kCK.js → chunk-55IACEB6-DjyzTXHN.js} +1 -1
- package/dist/client/assets/{chunk-EDXVE4YY-C_BQtaY5.js → chunk-EDXVE4YY-iErF_Y7X.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-BPV9Mw6e.js → chunk-FMBD7UC4-BL0FFqfm.js} +1 -1
- package/dist/client/assets/{chunk-OYMX7WX6-ya-VyPHj.js → chunk-OYMX7WX6-BV2UGyrH.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-CLiSGdJ6.js → chunk-QZHKN3VN-CM8OreWj.js} +1 -1
- package/dist/client/assets/{chunk-YZCP3GAM-DasGOM9R.js → chunk-YZCP3GAM-BKZsjaGL.js} +1 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-DVxPbVhM.js +1 -0
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-DVxPbVhM.js +1 -0
- package/dist/client/assets/clone-BFk58vEW.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-C11PcGWz.js → cose-bilkent-S5V4N54A-BWIKniKZ.js} +1 -1
- package/dist/client/assets/{dagre-KV5264BT-BGiNFCUB.js → dagre-KV5264BT-I1XwlA6-.js} +1 -1
- package/dist/client/assets/{diagram-5BDNPKRD-CSxK9ZtI.js → diagram-5BDNPKRD-CQ4AmbS0.js} +1 -1
- package/dist/client/assets/{diagram-G4DWMVQ6-COZtgx_6.js → diagram-G4DWMVQ6-BHnY3uHg.js} +1 -1
- package/dist/client/assets/{diagram-MMDJMWI5-4-mD0i99.js → diagram-MMDJMWI5-7dbSq7EO.js} +1 -1
- package/dist/client/assets/{diagram-TYMM5635-BNX8i0L7.js → diagram-TYMM5635-DYtx2hYn.js} +1 -1
- package/dist/client/assets/{erDiagram-SMLLAGMA-1a9K7CGs.js → erDiagram-SMLLAGMA-BesZ4xpd.js} +1 -1
- package/dist/client/assets/{flowDiagram-DWJPFMVM-B7BZTT0P.js → flowDiagram-DWJPFMVM-C2MQN-7L.js} +1 -1
- package/dist/client/assets/{ganttDiagram-T4ZO3ILL-FeCgSTyp.js → ganttDiagram-T4ZO3ILL-J9gAJMOM.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-ItC4KjyQ.js → gitGraphDiagram-UUTBAWPF-tRsIpBIJ.js} +1 -1
- package/dist/client/assets/{graph-C0wWu6sL.js → graph-BZ9PBecR.js} +1 -1
- package/dist/client/assets/index-KqHwSUsa.css +1 -0
- package/dist/client/assets/index-z0vwA__l.js +483 -0
- package/dist/client/assets/{infoDiagram-42DDH7IO-5ub69t3k.js → infoDiagram-42DDH7IO-jjqBqdXP.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-BEvDRmdo.js → ishikawaDiagram-UXIWVN3A-TO3C-r1h.js} +1 -1
- package/dist/client/assets/{journeyDiagram-VCZTEJTY-DUxQ-ZUX.js → journeyDiagram-VCZTEJTY-BnRVjjXK.js} +1 -1
- package/dist/client/assets/{kanban-definition-6JOO6SKY-BiPkJbpE.js → kanban-definition-6JOO6SKY-C4PRGn-l.js} +1 -1
- package/dist/client/assets/{layout-Bhtd-qjm.js → layout-CVM95Xti.js} +1 -1
- package/dist/client/assets/{linear-BT8b8xym.js → linear-Z1KPlefG.js} +1 -1
- package/dist/client/assets/{mermaid.core-BlTpil8e.js → mermaid.core-DkeEkWou.js} +4 -4
- package/dist/client/assets/{min-DrnMPIwV.js → min-CmPXi-g1.js} +1 -1
- package/dist/client/assets/{mindmap-definition-QFDTVHPH-uQH7Nv45.js → mindmap-definition-QFDTVHPH-BR3BEkkl.js} +1 -1
- package/dist/client/assets/{pieDiagram-DEJITSTG-MOetI488.js → pieDiagram-DEJITSTG-qj7P8Jm7.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-34T5L4WZ-C-jeoH4D.js → quadrantDiagram-34T5L4WZ-Bsd-m8Gs.js} +1 -1
- package/dist/client/assets/{requirementDiagram-MS252O5E-C7cKIVp5.js → requirementDiagram-MS252O5E-CGtG4IW5.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-XADWPNL6-Dcv2A0AY.js → sankeyDiagram-XADWPNL6-BtZyB1b1.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-FGHM5R23-CXO-xPvA.js → sequenceDiagram-FGHM5R23-jtJ4Jown.js} +1 -1
- package/dist/client/assets/{stateDiagram-FHFEXIEX-GKivP2tt.js → stateDiagram-FHFEXIEX-BoPwRnEV.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-wydiYJxD.js +1 -0
- package/dist/client/assets/{timeline-definition-GMOUNBTQ-DLJSUfwG.js → timeline-definition-GMOUNBTQ-NALvI3oP.js} +1 -1
- package/dist/client/assets/{vennDiagram-DHZGUBPP-DFihaprP.js → vennDiagram-DHZGUBPP-gchYEafV.js} +1 -1
- package/dist/client/assets/{wardley-RL74JXVD-BBV41M5Z.js → wardley-RL74JXVD-1NNyKaYX.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-NUSXRM2D-B5J5AiY-.js → wardleyDiagram-NUSXRM2D-CQOWP-Tg.js} +1 -1
- package/dist/client/assets/{xychartDiagram-5P7HB3ND-D1NFEt18.js → xychartDiagram-5P7HB3ND-Ds7oJ841.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/fleet-plugins/scuttlebutt/routes.mjs +1 -1
- package/dist/fleet-plugins/terminal/routes.mjs +82 -13
- package/dist/fleet.mjs +28 -23
- package/package.json +1 -1
- package/dist/client/assets/channel-D9kPbZ6w.js +0 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-B1zyip5T.js +0 -1
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-B1zyip5T.js +0 -1
- package/dist/client/assets/clone-x5mGq45q.js +0 -1
- package/dist/client/assets/index-B0961B8M.css +0 -1
- package/dist/client/assets/index-DEW90Ngb.js +0 -479
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-BfnEUJRo.js +0 -1
package/dist/fleet.mjs
CHANGED
|
@@ -32835,8 +32835,6 @@ function buildEffortArgs(effort) {
|
|
|
32835
32835
|
}
|
|
32836
32836
|
|
|
32837
32837
|
// ../../packages/fleet-admiral/src/agent-cli/claude/definitions.ts
|
|
32838
|
-
var NATIVE_CLAUDE_MODEL_ALIASES = ["fable[1m]", "opus[1m]", "sonnet"];
|
|
32839
|
-
var NATIVE_CLAUDE_EFFORTS = ["low", "medium", "high", "xhigh", "max"];
|
|
32840
32838
|
var claudeGatewayCli = createClaudeFamilyCliDefinition({
|
|
32841
32839
|
id: "claude-gateway",
|
|
32842
32840
|
label: "Claude (Gateway)"
|
|
@@ -47635,6 +47633,8 @@ function startSseKeepaliveLifecycle(res, onCleanup) {
|
|
|
47635
47633
|
|
|
47636
47634
|
// core/host/codex/cowork/routes.ts
|
|
47637
47635
|
var CONFLICT_ERRORS = /* @__PURE__ */ new Set(["cowork_busy", "cowork_apply_stale", "cowork_apply_busy", "cowork_apply_stale_revision"]);
|
|
47636
|
+
var COWORK_MODELS = ["opus[1m]", "sonnet", "haiku"];
|
|
47637
|
+
var COWORK_EFFORTS = ["low", "medium", "high"];
|
|
47638
47638
|
async function handleCoworkRequest(request, response, context) {
|
|
47639
47639
|
const url2 = new URL(request.url ?? "/", "http://127.0.0.1");
|
|
47640
47640
|
if (!url2.pathname.startsWith("/api/cowork")) return false;
|
|
@@ -47644,8 +47644,8 @@ async function handleCoworkRequest(request, response, context) {
|
|
|
47644
47644
|
const parts = url2.pathname.split("/").filter(Boolean);
|
|
47645
47645
|
try {
|
|
47646
47646
|
if (request.method === "GET" && parts.length === 3 && parts[2] === "options") {
|
|
47647
|
-
const models = [...
|
|
47648
|
-
const efforts = [...
|
|
47647
|
+
const models = [...COWORK_MODELS];
|
|
47648
|
+
const efforts = [...COWORK_EFFORTS];
|
|
47649
47649
|
const defaultModel = models.includes("sonnet") ? "sonnet" : models[0] ?? "";
|
|
47650
47650
|
const defaultEffort = efforts.includes("low") ? "low" : efforts[0] ?? "";
|
|
47651
47651
|
const requested = url2.searchParams.get("model");
|
|
@@ -48987,7 +48987,7 @@ function runVendorQuery(input) {
|
|
|
48987
48987
|
}
|
|
48988
48988
|
|
|
48989
48989
|
// ../../packages/core-agent/src/claude/sdk.ts
|
|
48990
|
-
var NATIVE_MODEL_ALIASES = /* @__PURE__ */ new Set(["sonnet", "opus", "haiku", "fable", "fable[1m]"]);
|
|
48990
|
+
var NATIVE_MODEL_ALIASES = /* @__PURE__ */ new Set(["sonnet", "opus", "opus[1m]", "haiku", "fable", "fable[1m]"]);
|
|
48991
48991
|
async function createClaudeGatewaySdk(options) {
|
|
48992
48992
|
const baseUrl = normalizeBaseUrl(options.baseUrl);
|
|
48993
48993
|
const accepted = resolveModels(options.models);
|
|
@@ -53685,12 +53685,12 @@ function createConsoleServer(deps = {}) {
|
|
|
53685
53685
|
}
|
|
53686
53686
|
const handle = decodeHandle(rawHandle);
|
|
53687
53687
|
if (!access.revokeSessionByHandle(handle)) {
|
|
53688
|
-
broadcastControlChanged();
|
|
53688
|
+
broadcastControlChanged(true);
|
|
53689
53689
|
writeJson(res, 404, { error: "session_not_found" });
|
|
53690
53690
|
return;
|
|
53691
53691
|
}
|
|
53692
53692
|
desktopShellsByOwner.delete(handle);
|
|
53693
|
-
|
|
53693
|
+
endSessionStreams(handle, "reclaimed");
|
|
53694
53694
|
broadcastControlChanged();
|
|
53695
53695
|
res.writeHead(204, withSecurityHeaders2({}));
|
|
53696
53696
|
res.end();
|
|
@@ -53713,7 +53713,7 @@ function createConsoleServer(deps = {}) {
|
|
|
53713
53713
|
access.revokeSessionsByPairing(removed.id);
|
|
53714
53714
|
for (const session of closed) {
|
|
53715
53715
|
desktopShellsByOwner.delete(session.handle);
|
|
53716
|
-
|
|
53716
|
+
endSessionStreams(session.handle, "reclaimed");
|
|
53717
53717
|
}
|
|
53718
53718
|
broadcastControlChanged();
|
|
53719
53719
|
res.writeHead(204, withSecurityHeaders2({}));
|
|
@@ -53815,7 +53815,7 @@ function createConsoleServer(deps = {}) {
|
|
|
53815
53815
|
writeJson(res, joined.status, { error: joined.error });
|
|
53816
53816
|
return false;
|
|
53817
53817
|
}
|
|
53818
|
-
if (listener.audience === "remote"
|
|
53818
|
+
if (listener.audience === "remote") broadcastControlChanged();
|
|
53819
53819
|
const cookies = [formatSessionCookie(joined.session, { secure: listener.secure, port: listener.port })];
|
|
53820
53820
|
if (joined.pairingSecret !== null) cookies.push(formatPairingCookie(joined.pairingSecret, { secure: listener.secure, port: listener.port }));
|
|
53821
53821
|
res.writeHead(204, withSecurityHeaders2({ "Set-Cookie": cookies }));
|
|
@@ -53824,7 +53824,6 @@ function createConsoleServer(deps = {}) {
|
|
|
53824
53824
|
}
|
|
53825
53825
|
function pairFromGrant(listener, token, device) {
|
|
53826
53826
|
const pending = access.peekGrant(token, listener.audience);
|
|
53827
|
-
if (pending !== null && !canTakeControl(listener.audience, pending.access)) return { status: 409, error: "remote_control_held" };
|
|
53828
53827
|
if (pending !== null && listener.audience === "remote" && pairedDeviceStore.list("remote").length >= PAIRED_DEVICE_LIMIT) {
|
|
53829
53828
|
return { status: 409, error: "paired_device_limit" };
|
|
53830
53829
|
}
|
|
@@ -53835,6 +53834,7 @@ function createConsoleServer(deps = {}) {
|
|
|
53835
53834
|
}
|
|
53836
53835
|
const paired = pairedDeviceStore.pair({ audience: listener.audience, access: grant.access, device });
|
|
53837
53836
|
if (!paired) return { status: 409, error: "paired_device_limit" };
|
|
53837
|
+
supersedeRemoteSessions(null);
|
|
53838
53838
|
return {
|
|
53839
53839
|
session: access.openSession(listener.audience, grant.access, device, paired.device.id),
|
|
53840
53840
|
pairingSecret: paired.secret
|
|
@@ -53844,9 +53844,7 @@ function createConsoleServer(deps = {}) {
|
|
|
53844
53844
|
const secret = readPairingCookie(req.headers, listener.port);
|
|
53845
53845
|
const paired = pairedDeviceStore.resolve(secret, listener.audience);
|
|
53846
53846
|
if (!paired || secret === null) return { status: 401, error: "unauthorized" };
|
|
53847
|
-
|
|
53848
|
-
if (!canTakeControl(listener.audience, paired.access)) return { status: 409, error: "remote_control_held" };
|
|
53849
|
-
if (reclaimedOwn) broadcastControlChanged();
|
|
53847
|
+
supersedeRemoteSessions(paired.id);
|
|
53850
53848
|
return {
|
|
53851
53849
|
// 등급은 페어링이 정한다 — 재개가 monitoring을 full로 올릴 수 없어야 한다.
|
|
53852
53850
|
session: access.openSession(listener.audience, paired.access, device ?? paired.device, paired.id),
|
|
@@ -53854,9 +53852,13 @@ function createConsoleServer(deps = {}) {
|
|
|
53854
53852
|
pairingSecret: secret
|
|
53855
53853
|
};
|
|
53856
53854
|
}
|
|
53857
|
-
function
|
|
53858
|
-
|
|
53859
|
-
|
|
53855
|
+
function supersedeRemoteSessions(ownPairingId) {
|
|
53856
|
+
for (const session of access.listSessions("remote")) {
|
|
53857
|
+
if (!access.revokeSessionByHandle(session.handle)) continue;
|
|
53858
|
+
desktopShellsByOwner.delete(session.handle);
|
|
53859
|
+
const displaced = session.pairingId === null || session.pairingId !== ownPairingId;
|
|
53860
|
+
endSessionStreams(session.handle, displaced ? "superseded" : null);
|
|
53861
|
+
}
|
|
53860
53862
|
}
|
|
53861
53863
|
function shellOwnerOf(req) {
|
|
53862
53864
|
const listener = listenerForRequest(req);
|
|
@@ -54421,10 +54423,11 @@ function createConsoleServer(deps = {}) {
|
|
|
54421
54423
|
}
|
|
54422
54424
|
return null;
|
|
54423
54425
|
}
|
|
54424
|
-
function broadcastControlChanged() {
|
|
54426
|
+
function broadcastControlChanged(resend = false) {
|
|
54425
54427
|
const holder = currentControlHolder();
|
|
54426
|
-
|
|
54427
|
-
|
|
54428
|
+
const handle = holder?.handle ?? null;
|
|
54429
|
+
if (!resend && handle === lastPublishedControlHolder) return;
|
|
54430
|
+
lastPublishedControlHolder = handle;
|
|
54428
54431
|
publishPluginEvent(CONTROL_HOLDER_EVENT_CHANNEL, { holder });
|
|
54429
54432
|
if (operationSseSubscribers.size === 0) return;
|
|
54430
54433
|
const data = encodeSseData(CONTROL_CHANGED_EVENT, controlChangedSnapshot(holder));
|
|
@@ -54433,12 +54436,14 @@ function createConsoleServer(deps = {}) {
|
|
|
54433
54436
|
subscriber.res.write(data);
|
|
54434
54437
|
}
|
|
54435
54438
|
}
|
|
54436
|
-
function
|
|
54439
|
+
function endSessionStreams(handle, reason) {
|
|
54437
54440
|
if (operationSseSubscribers.size === 0) return;
|
|
54438
|
-
const data = encodeSseData(CONTROL_RECLAIMED_EVENT, controlReclaimedSnapshot(
|
|
54439
|
-
for (const subscriber of operationSseSubscribers) {
|
|
54441
|
+
const data = reason === null ? null : encodeSseData(CONTROL_RECLAIMED_EVENT, controlReclaimedSnapshot(reason));
|
|
54442
|
+
for (const subscriber of [...operationSseSubscribers]) {
|
|
54440
54443
|
if (subscriber.sessionHandle !== handle) continue;
|
|
54441
|
-
|
|
54444
|
+
operationSseSubscribers.delete(subscriber);
|
|
54445
|
+
if (data !== null) subscriber.res.write(data);
|
|
54446
|
+
subscriber.res.end();
|
|
54442
54447
|
}
|
|
54443
54448
|
}
|
|
54444
54449
|
function broadcastDesktopThemeChanged(theme) {
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ap as o,aq as n}from"./mermaid.core-BlTpil8e.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-4TB4RGXK-DHRtIlLJ.js";import{_ as i}from"./mermaid.core-BlTpil8e.js";import"./chunk-FMBD7UC4-BPV9Mw6e.js";import"./chunk-YZCP3GAM-DasGOM9R.js";import"./chunk-55IACEB6-ChTm2kCK.js";import"./chunk-EDXVE4YY-C_BQtaY5.js";import"./index-DEW90Ngb.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-4TB4RGXK-DHRtIlLJ.js";import{_ as i}from"./mermaid.core-BlTpil8e.js";import"./chunk-FMBD7UC4-BPV9Mw6e.js";import"./chunk-YZCP3GAM-DasGOM9R.js";import"./chunk-55IACEB6-ChTm2kCK.js";import"./chunk-EDXVE4YY-C_BQtaY5.js";import"./index-DEW90Ngb.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as r}from"./graph-C0wWu6sL.js";var e=4;function a(o){return r(o,e)}export{a as c};
|