@dotobokuri/fleet-console 1.11.0 → 1.13.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 +2 -1
- package/dist/cli-bin.mjs +36 -4
- package/dist/cli.mjs +36 -4
- package/dist/client/assets/{_baseUniq-ztWyEFQN.js → _baseUniq-ChU2hrfs.js} +1 -1
- package/dist/client/assets/{arc-EhU8s6Ua.js → arc-EiqS42us.js} +1 -1
- package/dist/client/assets/{architectureDiagram-Q4EWVU46-D-A0BxBN.js → architectureDiagram-Q4EWVU46-qmztEGo1.js} +1 -1
- package/dist/client/assets/{blockDiagram-DXYQGD6D-2I4IGpqO.js → blockDiagram-DXYQGD6D-BAAvrsl8.js} +1 -1
- package/dist/client/assets/{c4Diagram-AHTNJAMY-CbqNPptt.js → c4Diagram-AHTNJAMY-BLx5I4Kb.js} +1 -1
- package/dist/client/assets/channel-D_ykRZSv.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-BazJQgjj.js → chunk-4BX2VUAB-r5DIUY_B.js} +1 -1
- package/dist/client/assets/{chunk-4TB4RGXK-B5U6jXNZ.js → chunk-4TB4RGXK-Ddf67h97.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-0n2BOb9g.js → chunk-55IACEB6-RcUEP-ZS.js} +1 -1
- package/dist/client/assets/{chunk-EDXVE4YY-CCIYCj-v.js → chunk-EDXVE4YY-DsvOtQoH.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-De3-snUm.js → chunk-FMBD7UC4-BB_S2idL.js} +1 -1
- package/dist/client/assets/{chunk-OYMX7WX6-diQ1neOD.js → chunk-OYMX7WX6-DHEgUzUK.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-jDt-UT0T.js → chunk-QZHKN3VN-DtrROVh7.js} +1 -1
- package/dist/client/assets/{chunk-YZCP3GAM-DcO9HsKI.js → chunk-YZCP3GAM-esfAqfqa.js} +1 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-DGWtQVRo.js +1 -0
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-DGWtQVRo.js +1 -0
- package/dist/client/assets/clone-BLbl3yHE.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A--wgqx5mz.js → cose-bilkent-S5V4N54A-Dzm0WtWj.js} +1 -1
- package/dist/client/assets/{dagre-KV5264BT-BJ0_Y4Vz.js → dagre-KV5264BT-BuizUtNo.js} +1 -1
- package/dist/client/assets/{diagram-5BDNPKRD-CfBHVHZE.js → diagram-5BDNPKRD-CwzQTgo4.js} +1 -1
- package/dist/client/assets/{diagram-G4DWMVQ6-DDcFZCuW.js → diagram-G4DWMVQ6-CSaUKQrB.js} +1 -1
- package/dist/client/assets/{diagram-MMDJMWI5-D1h5iLfb.js → diagram-MMDJMWI5-ClU81X-4.js} +1 -1
- package/dist/client/assets/{diagram-TYMM5635-BDq0icy6.js → diagram-TYMM5635-De0hefNw.js} +1 -1
- package/dist/client/assets/{erDiagram-SMLLAGMA-hM5asp2K.js → erDiagram-SMLLAGMA-DquAk5AT.js} +1 -1
- package/dist/client/assets/{flowDiagram-DWJPFMVM-Duycvo32.js → flowDiagram-DWJPFMVM-B2UECwg2.js} +1 -1
- package/dist/client/assets/{ganttDiagram-T4ZO3ILL-f43QwkVB.js → ganttDiagram-T4ZO3ILL-BKGKAKUk.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-B-fSCy1k.js → gitGraphDiagram-UUTBAWPF-fBBbSMvv.js} +1 -1
- package/dist/client/assets/{graph-Cl_pkMd7.js → graph-DXYFz3qN.js} +1 -1
- package/dist/client/assets/index-C6rRtW0v.js +777 -0
- package/dist/client/assets/index-CFIhCFSM.css +1 -0
- package/dist/client/assets/{infoDiagram-42DDH7IO-CI1F8uHU.js → infoDiagram-42DDH7IO-C6ij_zTC.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-CPTPh9Lu.js → ishikawaDiagram-UXIWVN3A-CfRd8PLR.js} +1 -1
- package/dist/client/assets/{journeyDiagram-VCZTEJTY-D_FHFgB1.js → journeyDiagram-VCZTEJTY-C8Pi51PP.js} +1 -1
- package/dist/client/assets/{kanban-definition-6JOO6SKY-C_Bn4fd8.js → kanban-definition-6JOO6SKY-DJ0RiIlP.js} +1 -1
- package/dist/client/assets/{layout-Bc8t_qfg.js → layout-CxPTfkhA.js} +1 -1
- package/dist/client/assets/{linear-GI_b927m.js → linear-DXo_1O-i.js} +1 -1
- package/dist/client/assets/{mermaid.core-Dpt8s_19.js → mermaid.core-CfU0SF8u.js} +4 -4
- package/dist/client/assets/{min-C0TmzA9X.js → min-DNKQJJON.js} +1 -1
- package/dist/client/assets/{mindmap-definition-QFDTVHPH-DeVjdvs_.js → mindmap-definition-QFDTVHPH-CnoQOTpu.js} +1 -1
- package/dist/client/assets/{pieDiagram-DEJITSTG-D6vRcSmr.js → pieDiagram-DEJITSTG-pkn-HZnT.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-34T5L4WZ-CHx1fSsQ.js → quadrantDiagram-34T5L4WZ-BGzlb80c.js} +1 -1
- package/dist/client/assets/{requirementDiagram-MS252O5E-BYXRdqXr.js → requirementDiagram-MS252O5E-CojepMS0.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-XADWPNL6-DQ6TVGQn.js → sankeyDiagram-XADWPNL6-DBK_MdUK.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-FGHM5R23-DLKBakQH.js → sequenceDiagram-FGHM5R23-yuQ86htX.js} +1 -1
- package/dist/client/assets/{stateDiagram-FHFEXIEX-CKEUdeZY.js → stateDiagram-FHFEXIEX-B8Ze2bIg.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-DO0adfjo.js +1 -0
- package/dist/client/assets/{timeline-definition-GMOUNBTQ-DJ34nw1g.js → timeline-definition-GMOUNBTQ-C3iREGsD.js} +1 -1
- package/dist/client/assets/{vennDiagram-DHZGUBPP-DaF9-6LK.js → vennDiagram-DHZGUBPP-D37DpOPl.js} +1 -1
- package/dist/client/assets/{wardley-RL74JXVD-B3nUfV4p.js → wardley-RL74JXVD-AQGWPT1m.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-NUSXRM2D-DeYWbpzl.js → wardleyDiagram-NUSXRM2D-C1CVXpp0.js} +1 -1
- package/dist/client/assets/{xychartDiagram-5P7HB3ND-DkpV5JZH.js → xychartDiagram-5P7HB3ND-BHnFjh9Q.js} +1 -1
- package/dist/client/favicon.svg +35 -0
- package/dist/client/index.html +3 -2
- package/package.json +1 -1
- package/dist/client/assets/channel-Dd54JtFQ.js +0 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-DXlHCr38.js +0 -1
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-DXlHCr38.js +0 -1
- package/dist/client/assets/clone-aAfeyUSr.js +0 -1
- package/dist/client/assets/index-BvDAt7ke.js +0 -777
- package/dist/client/assets/index-CWhJm0eS.css +0 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-DtBjrVLm.js +0 -1
package/AGENTS.md
CHANGED
|
@@ -84,10 +84,11 @@ The console is the operations variant of Fleet Wiki's **Maritime Codex** languag
|
|
|
84
84
|
- `brass` means "지금 보고 있는 곳" — selected job brass dot indicator, active navigation, structural decoration, and non-live active/focus-adjacent emphasis.
|
|
85
85
|
- `aurora` means "지금 살아있는 것" — streaming status, live dots, tenant beacons, stream caret, follow button, and `connection-chip--live`. Unlike Fleet Wiki, console does not reserve aurora only for document linkage because there is no document-link concept here.
|
|
86
86
|
- `coral` means error/bad; `--warn` (amber, near `oklch(80% 0.13 85)`) means warning/connecting; neutral ink means idle.
|
|
87
|
+
- User accents recolor the Dock chip `::before` perimeter ring (the same edge band the underway/in-progress orbit rides) to a user-chosen hue, which may be any hue across the wheel (red/amber/green included). The accent is the static full-perimeter fill of that ring; the underway state overrides the same `::before` with the animated aurora/warn conic and wins while work is in progress (functional status outranks an identity tag). Accents never tint the chip fill, name, border, box-shadow ring, beacon, count, or close, and never animate on their own (an infinitely orbiting ring is reserved for the functional in-progress signal). Active brass lives on the border/fill/name, so an accented chip can be active and accented at once without collision.
|
|
87
88
|
- **Typography**: `Fraunces Variable` is display type for the topbar brand, job titles, idle marks, and large headings. `Manrope Variable` is the default UI family. `JetBrains Mono Variable` is for stream output, job ids, timelines, and eyebrow labels with uppercase tracked styling. **Exception**: the Operations terminal (xterm) uses `Cascadia Code` — a terminal-tuned face for box-drawing/Powerline glyph alignment — rendered via the xterm WebGL addon with DOM fallback. This is the sole surface where the console mono identity deliberately diverges from JetBrains Mono; the terminal font lives in the `terminal.tsx` xterm options (xterm takes a JS font string, not a CSS token), so it is not a `theme.css` variable.
|
|
88
89
|
- **Surface and atmosphere**: `body::before` owns the multi-radial cold teal + brass afterglow field, and `body::after` owns the `feTurbulence` grain overlay. Sidebar, selected-job stage, timeline dock, and job summary are glass cards using `backdrop-filter: blur(18px) saturate(140%)`, `--surface-glass`, `--surface-rim`, `--shadow-soft`, and `--radius-xl`/large-radius surfaces.
|
|
89
90
|
- **Motion**: panes use one first-paint `codex-rise` reveal (720ms, `--ease-spring`, topbar/sidebar/stage staggered 40/120/200ms). Live dots use aurora pulse, the stream caret keeps its blink, and ambient infinite motion is forbidden. `prefers-reduced-motion` must continue to short-circuit animation. Exception: the Operations canvas background may render a user-toggleable ambient radar sweep that defaults on and persists per browser; it remains short-circuited by `prefers-reduced-motion`. Second exception: a running Operation panel renders a continuous perimeter "wake" ripple as a functional status signal (not ambient decoration) — it appears only while work is in progress (an active carrier job, or an in-progress Agent CLI turn), its color **follows the panel beacon** (aurora for an active job, amber `--warn` for a turn in progress), and it stays short-circuited by `prefers-reduced-motion`, degrading to a static tinted rim and glow. Like the live-dot pulse, this is allowed functional status motion, not forbidden ambient motion.
|
|
90
|
-
- **Hard bans**: no font CDN; no `Inter`/`Roboto`/`Arial`/`system-ui` as the first font family; no solid `#fff` or `#000` backgrounds; no card/button/chip radius at or below 4px; no removal of `prefers-reduced-motion`; no mixing brass and aurora roles; no reintroduction of `--carbon-*` or `--signal-*` token families.
|
|
91
|
+
- **Hard bans**: no font CDN; no `Inter`/`Roboto`/`Arial`/`system-ui` as the first font family; no solid `#fff` or `#000` backgrounds; no card/button/chip radius at or below 4px; no removal of `prefers-reduced-motion`; no mixing brass and aurora roles; no reintroduction of `--carbon-*` or `--signal-*` token families; no user-accent leak into border, ring, glow, beacon, count, or close channels.
|
|
91
92
|
- CSS stays in three layers: `theme.css` (tokens/reset/keyframes only), `layout.css` (shell grid/breakpoints only), `components.css` (every concrete surface).
|
|
92
93
|
|
|
93
94
|
## TypeScript File Structure
|
package/dist/cli-bin.mjs
CHANGED
|
@@ -32879,8 +32879,6 @@ function buildCodexNativeArgs(context) {
|
|
|
32879
32879
|
"--enable",
|
|
32880
32880
|
"plugins",
|
|
32881
32881
|
"--enable",
|
|
32882
|
-
"child_agents_md",
|
|
32883
|
-
"--enable",
|
|
32884
32882
|
"hooks",
|
|
32885
32883
|
"--profile",
|
|
32886
32884
|
profileName,
|
|
@@ -42208,6 +42206,7 @@ function sanitizeDurableOperation(value) {
|
|
|
42208
42206
|
if (!sessionId || !theaterId || !cwd || !cwdLabel || sequence === null || createdAt === null) return null;
|
|
42209
42207
|
const label = readOptionalString(value.label);
|
|
42210
42208
|
const labelSource = readLabelSource(value.labelSource);
|
|
42209
|
+
const accent = readOptionalAccent(value.accent);
|
|
42211
42210
|
const autoNamePromptSeen = value.autoNamePromptSeen === true || labelSource === "auto" && label !== void 0;
|
|
42212
42211
|
const providerSession = sanitizeProviderSession(value.providerSession);
|
|
42213
42212
|
return {
|
|
@@ -42218,6 +42217,7 @@ function sanitizeDurableOperation(value) {
|
|
|
42218
42217
|
sequence,
|
|
42219
42218
|
...label ? { label } : {},
|
|
42220
42219
|
...labelSource ? { labelSource } : {},
|
|
42220
|
+
...accent ? { accent } : {},
|
|
42221
42221
|
...autoNamePromptSeen ? { autoNamePromptSeen: true } : {},
|
|
42222
42222
|
...readOptionalString(value.cliId) ? { cliId: readOptionalString(value.cliId) } : {},
|
|
42223
42223
|
...readOptionalString(value.cliLabel) ? { cliLabel: readOptionalString(value.cliLabel) } : {},
|
|
@@ -42254,6 +42254,11 @@ function readOptionalString(value) {
|
|
|
42254
42254
|
function readLabelSource(value) {
|
|
42255
42255
|
return value === "user" || value === "auto" ? value : void 0;
|
|
42256
42256
|
}
|
|
42257
|
+
function readOptionalAccent(value) {
|
|
42258
|
+
if (typeof value !== "string") return void 0;
|
|
42259
|
+
const trimmed = value.trim();
|
|
42260
|
+
return trimmed.length > 0 ? trimmed.slice(0, 64) : void 0;
|
|
42261
|
+
}
|
|
42257
42262
|
function readPositiveInteger(value) {
|
|
42258
42263
|
return typeof value === "number" && Number.isInteger(value) && value > 0 ? value : null;
|
|
42259
42264
|
}
|
|
@@ -42819,6 +42824,7 @@ function createConsoleObservabilityStore(deps = {}) {
|
|
|
42819
42824
|
sequence: operation.sequence,
|
|
42820
42825
|
label: operation.label,
|
|
42821
42826
|
labelSource: operation.labelSource,
|
|
42827
|
+
accent: operation.accent,
|
|
42822
42828
|
autoNamePromptSeen: operation.autoNamePromptSeen,
|
|
42823
42829
|
cliId: operation.cliId,
|
|
42824
42830
|
cliLabel: operation.cliLabel,
|
|
@@ -42843,6 +42849,7 @@ function createConsoleObservabilityStore(deps = {}) {
|
|
|
42843
42849
|
sequence: session.sequence,
|
|
42844
42850
|
...session.label ? { label: session.label } : {},
|
|
42845
42851
|
...session.labelSource ? { labelSource: session.labelSource } : {},
|
|
42852
|
+
...session.accent ? { accent: session.accent } : {},
|
|
42846
42853
|
...session.autoNamePromptSeen ? { autoNamePromptSeen: true } : {},
|
|
42847
42854
|
...session.cliId ? { cliId: session.cliId } : {},
|
|
42848
42855
|
...session.cliLabel ? { cliLabel: session.cliLabel } : {},
|
|
@@ -42898,6 +42905,17 @@ function createConsoleObservabilityStore(deps = {}) {
|
|
|
42898
42905
|
}
|
|
42899
42906
|
return toTerminalSessionInfo(session);
|
|
42900
42907
|
}
|
|
42908
|
+
function setTerminalSessionAccent(sessionId, accent) {
|
|
42909
|
+
const session = terminalSessionsById.get(sessionId);
|
|
42910
|
+
if (!session) return null;
|
|
42911
|
+
const normalized = accent?.trim().slice(0, 64) ?? "";
|
|
42912
|
+
if (normalized.length === 0) {
|
|
42913
|
+
delete session.accent;
|
|
42914
|
+
} else {
|
|
42915
|
+
session.accent = normalized;
|
|
42916
|
+
}
|
|
42917
|
+
return toTerminalSessionInfo(session);
|
|
42918
|
+
}
|
|
42901
42919
|
function autoNameTerminalSession(sessionId, label) {
|
|
42902
42920
|
const session = terminalSessionsById.get(sessionId);
|
|
42903
42921
|
if (!session) return null;
|
|
@@ -42964,6 +42982,7 @@ function createConsoleObservabilityStore(deps = {}) {
|
|
|
42964
42982
|
notifySessionAttention,
|
|
42965
42983
|
notifySessionUpdated,
|
|
42966
42984
|
renameTerminalSession,
|
|
42985
|
+
setTerminalSessionAccent,
|
|
42967
42986
|
autoNameTerminalSession,
|
|
42968
42987
|
subscribe,
|
|
42969
42988
|
subscribeAll,
|
|
@@ -43035,6 +43054,7 @@ function toTerminalSessionInfo(state) {
|
|
|
43035
43054
|
cwdLabel: state.cwdLabel,
|
|
43036
43055
|
sequence: state.sequence,
|
|
43037
43056
|
label: state.label,
|
|
43057
|
+
accent: state.accent,
|
|
43038
43058
|
cliId: state.cliId,
|
|
43039
43059
|
cliLabel: state.cliLabel,
|
|
43040
43060
|
status: state.status,
|
|
@@ -45231,13 +45251,25 @@ function createConsoleServer(deps = {}) {
|
|
|
45231
45251
|
writeJson(res, 400, { error: "invalid_session_label" });
|
|
45232
45252
|
return;
|
|
45233
45253
|
}
|
|
45234
|
-
|
|
45254
|
+
if (body.accent !== void 0 && body.accent !== null && typeof body.accent !== "string") {
|
|
45255
|
+
writeJson(res, 400, { error: "invalid_session_accent" });
|
|
45256
|
+
return;
|
|
45257
|
+
}
|
|
45258
|
+
let updated = observability.getTerminalSessionInfo(sessionId);
|
|
45259
|
+
let renamed = false;
|
|
45260
|
+
if (body.label !== void 0) {
|
|
45261
|
+
updated = observability.renameTerminalSession(sessionId, body.label);
|
|
45262
|
+
renamed = true;
|
|
45263
|
+
}
|
|
45264
|
+
if (body.accent !== void 0) {
|
|
45265
|
+
updated = observability.setTerminalSessionAccent(sessionId, body.accent);
|
|
45266
|
+
}
|
|
45235
45267
|
if (!updated) {
|
|
45236
45268
|
writeJson(res, 404, { error: "session_not_found" });
|
|
45237
45269
|
return;
|
|
45238
45270
|
}
|
|
45239
45271
|
observability.notifySessionUpdated(updated);
|
|
45240
|
-
injectRenameCommand(sessionId, updated.label);
|
|
45272
|
+
if (renamed) injectRenameCommand(sessionId, updated.label);
|
|
45241
45273
|
persistDurableState();
|
|
45242
45274
|
writeJson(res, 200, updated);
|
|
45243
45275
|
return;
|
package/dist/cli.mjs
CHANGED
|
@@ -32879,8 +32879,6 @@ function buildCodexNativeArgs(context) {
|
|
|
32879
32879
|
"--enable",
|
|
32880
32880
|
"plugins",
|
|
32881
32881
|
"--enable",
|
|
32882
|
-
"child_agents_md",
|
|
32883
|
-
"--enable",
|
|
32884
32882
|
"hooks",
|
|
32885
32883
|
"--profile",
|
|
32886
32884
|
profileName,
|
|
@@ -42208,6 +42206,7 @@ function sanitizeDurableOperation(value) {
|
|
|
42208
42206
|
if (!sessionId || !theaterId || !cwd || !cwdLabel || sequence === null || createdAt === null) return null;
|
|
42209
42207
|
const label = readOptionalString(value.label);
|
|
42210
42208
|
const labelSource = readLabelSource(value.labelSource);
|
|
42209
|
+
const accent = readOptionalAccent(value.accent);
|
|
42211
42210
|
const autoNamePromptSeen = value.autoNamePromptSeen === true || labelSource === "auto" && label !== void 0;
|
|
42212
42211
|
const providerSession = sanitizeProviderSession(value.providerSession);
|
|
42213
42212
|
return {
|
|
@@ -42218,6 +42217,7 @@ function sanitizeDurableOperation(value) {
|
|
|
42218
42217
|
sequence,
|
|
42219
42218
|
...label ? { label } : {},
|
|
42220
42219
|
...labelSource ? { labelSource } : {},
|
|
42220
|
+
...accent ? { accent } : {},
|
|
42221
42221
|
...autoNamePromptSeen ? { autoNamePromptSeen: true } : {},
|
|
42222
42222
|
...readOptionalString(value.cliId) ? { cliId: readOptionalString(value.cliId) } : {},
|
|
42223
42223
|
...readOptionalString(value.cliLabel) ? { cliLabel: readOptionalString(value.cliLabel) } : {},
|
|
@@ -42254,6 +42254,11 @@ function readOptionalString(value) {
|
|
|
42254
42254
|
function readLabelSource(value) {
|
|
42255
42255
|
return value === "user" || value === "auto" ? value : void 0;
|
|
42256
42256
|
}
|
|
42257
|
+
function readOptionalAccent(value) {
|
|
42258
|
+
if (typeof value !== "string") return void 0;
|
|
42259
|
+
const trimmed = value.trim();
|
|
42260
|
+
return trimmed.length > 0 ? trimmed.slice(0, 64) : void 0;
|
|
42261
|
+
}
|
|
42257
42262
|
function readPositiveInteger(value) {
|
|
42258
42263
|
return typeof value === "number" && Number.isInteger(value) && value > 0 ? value : null;
|
|
42259
42264
|
}
|
|
@@ -42819,6 +42824,7 @@ function createConsoleObservabilityStore(deps = {}) {
|
|
|
42819
42824
|
sequence: operation.sequence,
|
|
42820
42825
|
label: operation.label,
|
|
42821
42826
|
labelSource: operation.labelSource,
|
|
42827
|
+
accent: operation.accent,
|
|
42822
42828
|
autoNamePromptSeen: operation.autoNamePromptSeen,
|
|
42823
42829
|
cliId: operation.cliId,
|
|
42824
42830
|
cliLabel: operation.cliLabel,
|
|
@@ -42843,6 +42849,7 @@ function createConsoleObservabilityStore(deps = {}) {
|
|
|
42843
42849
|
sequence: session.sequence,
|
|
42844
42850
|
...session.label ? { label: session.label } : {},
|
|
42845
42851
|
...session.labelSource ? { labelSource: session.labelSource } : {},
|
|
42852
|
+
...session.accent ? { accent: session.accent } : {},
|
|
42846
42853
|
...session.autoNamePromptSeen ? { autoNamePromptSeen: true } : {},
|
|
42847
42854
|
...session.cliId ? { cliId: session.cliId } : {},
|
|
42848
42855
|
...session.cliLabel ? { cliLabel: session.cliLabel } : {},
|
|
@@ -42898,6 +42905,17 @@ function createConsoleObservabilityStore(deps = {}) {
|
|
|
42898
42905
|
}
|
|
42899
42906
|
return toTerminalSessionInfo(session);
|
|
42900
42907
|
}
|
|
42908
|
+
function setTerminalSessionAccent(sessionId, accent) {
|
|
42909
|
+
const session = terminalSessionsById.get(sessionId);
|
|
42910
|
+
if (!session) return null;
|
|
42911
|
+
const normalized = accent?.trim().slice(0, 64) ?? "";
|
|
42912
|
+
if (normalized.length === 0) {
|
|
42913
|
+
delete session.accent;
|
|
42914
|
+
} else {
|
|
42915
|
+
session.accent = normalized;
|
|
42916
|
+
}
|
|
42917
|
+
return toTerminalSessionInfo(session);
|
|
42918
|
+
}
|
|
42901
42919
|
function autoNameTerminalSession(sessionId, label) {
|
|
42902
42920
|
const session = terminalSessionsById.get(sessionId);
|
|
42903
42921
|
if (!session) return null;
|
|
@@ -42964,6 +42982,7 @@ function createConsoleObservabilityStore(deps = {}) {
|
|
|
42964
42982
|
notifySessionAttention,
|
|
42965
42983
|
notifySessionUpdated,
|
|
42966
42984
|
renameTerminalSession,
|
|
42985
|
+
setTerminalSessionAccent,
|
|
42967
42986
|
autoNameTerminalSession,
|
|
42968
42987
|
subscribe,
|
|
42969
42988
|
subscribeAll,
|
|
@@ -43035,6 +43054,7 @@ function toTerminalSessionInfo(state) {
|
|
|
43035
43054
|
cwdLabel: state.cwdLabel,
|
|
43036
43055
|
sequence: state.sequence,
|
|
43037
43056
|
label: state.label,
|
|
43057
|
+
accent: state.accent,
|
|
43038
43058
|
cliId: state.cliId,
|
|
43039
43059
|
cliLabel: state.cliLabel,
|
|
43040
43060
|
status: state.status,
|
|
@@ -45231,13 +45251,25 @@ function createConsoleServer(deps = {}) {
|
|
|
45231
45251
|
writeJson(res, 400, { error: "invalid_session_label" });
|
|
45232
45252
|
return;
|
|
45233
45253
|
}
|
|
45234
|
-
|
|
45254
|
+
if (body.accent !== void 0 && body.accent !== null && typeof body.accent !== "string") {
|
|
45255
|
+
writeJson(res, 400, { error: "invalid_session_accent" });
|
|
45256
|
+
return;
|
|
45257
|
+
}
|
|
45258
|
+
let updated = observability.getTerminalSessionInfo(sessionId);
|
|
45259
|
+
let renamed = false;
|
|
45260
|
+
if (body.label !== void 0) {
|
|
45261
|
+
updated = observability.renameTerminalSession(sessionId, body.label);
|
|
45262
|
+
renamed = true;
|
|
45263
|
+
}
|
|
45264
|
+
if (body.accent !== void 0) {
|
|
45265
|
+
updated = observability.setTerminalSessionAccent(sessionId, body.accent);
|
|
45266
|
+
}
|
|
45235
45267
|
if (!updated) {
|
|
45236
45268
|
writeJson(res, 404, { error: "session_not_found" });
|
|
45237
45269
|
return;
|
|
45238
45270
|
}
|
|
45239
45271
|
observability.notifySessionUpdated(updated);
|
|
45240
|
-
injectRenameCommand(sessionId, updated.label);
|
|
45272
|
+
if (renamed) injectRenameCommand(sessionId, updated.label);
|
|
45241
45273
|
persistDurableState();
|
|
45242
45274
|
writeJson(res, 200, updated);
|
|
45243
45275
|
return;
|
|
@@ -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-CfU0SF8u.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-CfU0SF8u.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};
|