@wrongstack/webui 0.299.0 → 0.301.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/dist/assets/AgentRosterView-BV6ysoGs.js +9 -0
- package/dist/assets/{AnalyticsDashboard-D58kSekC.js → AnalyticsDashboard-UWNP8zjE.js} +1 -1
- package/dist/assets/AudienceMemoryPanel-DwDKbvSA.js +3 -0
- package/dist/assets/ChangesView-DuVlGWkD.js +1 -0
- package/dist/assets/ChronicleDashboard-cs16n708.js +1 -0
- package/dist/assets/CodeEditor-sr50ljZN.js +1 -0
- package/dist/assets/CodeMap-CtK-C8gK.js +1 -0
- package/dist/assets/ConfirmModal-ndS17YwF.js +1 -0
- package/dist/assets/CronJobsPanel-Dovomns5.js +1 -0
- package/dist/assets/DeadCodeScanPanel-DjR4LLMs.js +2 -0
- package/dist/assets/DebugDashboard-jK1yp3qS.js +1 -0
- package/dist/assets/DesignGalleryView-CqXlEUzE.js +1 -0
- package/dist/assets/GoalView-CGNLrnA4.js +1 -0
- package/dist/assets/KanbanView--tAf_K7N.js +3 -0
- package/dist/assets/{MailboxDetailView-ZcKcOEAe.js → MailboxDetailView-0TBzZTdN.js} +1 -1
- package/dist/assets/MemoryManager-CDK_MO8A.js +1 -0
- package/dist/assets/{ModelPicker-DvNLZzkm.js → ModelPicker-BbBZuQwR.js} +1 -1
- package/dist/assets/OfficeMapPanel-68sVzHRD.js +4 -0
- package/dist/assets/OfficeMapPanel-D6yTfGIT.css +1 -0
- package/dist/assets/{ProcessMonitor-2nSk6sXA.js → ProcessMonitor-gFwiF8gX.js} +1 -1
- package/dist/assets/{QueuePanel-4KBBWFxj.js → QueuePanel-Cx-isRGl.js} +1 -1
- package/dist/assets/{RefreshDebugView-D3XnE53y.js → RefreshDebugView-C9tdu6Ld.js} +1 -1
- package/dist/assets/RequirementIntakeView-cPEw-RpV.js +1 -0
- package/dist/assets/SageTabs-BbK6VFO0.js +2 -0
- package/dist/assets/SddHub-NKvDRECi.js +2 -0
- package/dist/assets/SessionInspectView-DPG5qWhj.js +1 -0
- package/dist/assets/SessionList-ncl-20X_.js +1 -0
- package/dist/assets/SessionsDashboard-D23UVLr4.js +1 -0
- package/dist/assets/SetupScreen-D3XQ8MGk.js +1 -0
- package/dist/assets/{SkillDetailView-D7EQ2XtV.js → SkillDetailView-DDPhVFet.js} +1 -1
- package/dist/assets/SpecsView-afIS0QpX.js +1 -0
- package/dist/assets/TechStackView-kQ2OGxxw.js +1 -0
- package/dist/assets/{TerminalPanel-BL9ZPGJt.js → TerminalPanel-GcJWeldW.js} +1 -1
- package/dist/assets/{Toaster-CJI70aa-.js → Toaster-CgQA9256.js} +1 -1
- package/dist/assets/activity-B-cvKIfT.js +9 -0
- package/dist/assets/activity-Ba3aMzvo.js +9 -0
- package/dist/assets/activity-CRTVZ5A4.js +9 -0
- package/dist/assets/activity-DsSuflRW.js +9 -0
- package/dist/assets/activity-DxDRJ8kN.js +9 -0
- package/dist/assets/activity-VI776bUZ.js +9 -0
- package/dist/assets/activity-nVmsmqAI.js +9 -0
- package/dist/assets/chat-BPuAsrkF.js +1 -0
- package/dist/assets/chat-BfQBSiII.js +1 -0
- package/dist/assets/chat-BnkVCZ3Q.js +1 -0
- package/dist/assets/chat-CR2B97dj.js +1 -0
- package/dist/assets/chat-CdiY7G6Z.js +1 -0
- package/dist/assets/chat-DResBrkV.js +1 -0
- package/dist/assets/chat-Di8o0wDz.js +1 -0
- package/dist/assets/chat-store-DbxFVDwi.js +17 -0
- package/dist/assets/{common-DMM-xyW3.js → common-BXJbu5Y-.js} +1 -1
- package/dist/assets/{common-C9ikgX7d.js → common-BiNu_WzQ.js} +1 -1
- package/dist/assets/common-COVxQ0FV.js +1 -0
- package/dist/assets/{common-D29Zdkxb.js → common-Ch7JihXD.js} +1 -1
- package/dist/assets/{common-DoUBSHRY.js → common-DPaTeTls.js} +1 -1
- package/dist/assets/{common-vdwxzODB.js → common-DdGpRh8j.js} +1 -1
- package/dist/assets/{common-C5hY-d_0.js → common-pI6fYZW3.js} +1 -1
- package/dist/assets/i18n-COgumVF5.js +2 -0
- package/dist/assets/index-CtpViiZy.js +132 -0
- package/dist/assets/index-fIsq43fR.css +1 -0
- package/dist/assets/mailbox-store-C1mzoSqJ.js +1 -0
- package/dist/assets/{progress-ring-61A-xUEl.js → progress-ring-D_48qsBl.js} +1 -1
- package/dist/assets/{roster-ws-Dfg_187V.js → roster-ws-Da57e_sI.js} +1 -1
- package/dist/assets/session-store-Df7_hhe9.js +1 -0
- package/dist/assets/settings-Bb7_utQE.js +1 -0
- package/dist/assets/settings-Bd8zMwvC.js +1 -0
- package/dist/assets/settings-DdFgBMAw.js +1 -0
- package/dist/assets/settings-De6sXIFO.js +1 -0
- package/dist/assets/settings-E8SKMLxq.js +1 -0
- package/dist/assets/settings-zIY9-ivF.js +1 -0
- package/dist/assets/settings-zKBcRjqE.js +1 -0
- package/dist/assets/stores-ChEnUmic.js +7 -0
- package/dist/assets/ui-store-CE4-TlwB.js +1 -0
- package/dist/assets/useWebSocket-_gk4MRJz.js +29 -0
- package/dist/assets/{view-navigation-DxfiZrXS.js → view-navigation-DIDEcp4V.js} +1 -1
- package/dist/assets/ws-client-TTMa0XaT.js +1 -0
- package/dist/components/AgentCard.d.ts +21 -0
- package/dist/components/AgentsPage.d.ts +0 -3
- package/dist/components/AutonomyPicker.d.ts +1 -1
- package/dist/components/ChatInput/refine-panel-host.d.ts +2 -2
- package/dist/components/ChatView/auto-collapse.d.ts +42 -0
- package/dist/components/ConfirmModal.d.ts +7 -2
- package/dist/components/FallbackModal.d.ts +2 -0
- package/dist/components/KanbanBoardState.d.ts +1 -1
- package/dist/components/KanbanVerificationDashboard.d.ts +0 -6
- package/dist/components/SettingsPanel/PluginToggleList.d.ts +11 -3
- package/dist/components/SettingsPanel/ShadowSection.d.ts +18 -1
- package/dist/components/SettingsPanel/brain-section-options.d.ts +27 -55
- package/dist/components/TaskCard.d.ts +0 -1
- package/dist/components/TaskRiskPanel.d.ts +10 -3
- package/dist/components/TechStackView/shared.d.ts +11 -6
- package/dist/components/ThemeProvider.d.ts +6 -1
- package/dist/components/agent-roster-data.d.ts +2 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/hooks/useWebSocket.d.ts +10 -2
- package/dist/hooks/ws-handlers/files-mailbox-handlers.d.ts +1 -0
- package/dist/hooks/ws-handlers/misc-handlers.d.ts +13 -0
- package/dist/hooks/ws-handlers/session-handlers.d.ts +1 -0
- package/dist/index.css +62 -0
- package/dist/index.html +18 -17
- package/dist/index.js +26640 -12728
- package/dist/lib/file-icons.d.ts +3 -3
- package/dist/lib/kanban-board-active.d.ts +19 -0
- package/dist/lib/palettes.d.ts +37 -0
- package/dist/lib/plugin-enablement.d.ts +1 -1
- package/dist/lib/ws-client.d.ts +24 -4
- package/dist/providers.json +7 -7
- package/dist/stores/config-store.d.ts +9 -1
- package/dist/stores/context-editor-store.d.ts +9 -1
- package/dist/stores/fallback-store.d.ts +30 -0
- package/dist/stores/fleet-store.d.ts +14 -1
- package/dist/stores/index.d.ts +2 -0
- package/dist/stores/local-prefs.d.ts +13 -0
- package/dist/stores/mailbox-store.d.ts +2 -0
- package/dist/stores/session-store.d.ts +9 -1
- package/dist/stores/ui-store.d.ts +2 -0
- package/dist/types/brain.d.ts +2 -0
- package/dist/types/client-message.d.ts +19 -2
- package/dist/types/protocol-core.d.ts +21 -0
- package/dist/types/runtime.d.ts +22 -0
- package/dist/types/server-message.d.ts +15 -4
- package/package.json +9 -9
- package/dist/assets/AgentRosterView-BqojERFR.js +0 -11
- package/dist/assets/AudienceMemoryPanel-Cc1UkbDl.js +0 -3
- package/dist/assets/ChangesView-BKU80ANq.js +0 -1
- package/dist/assets/ChronicleDashboard-CvCS1Dj1.js +0 -1
- package/dist/assets/CodeEditor-BHZQhx_8.js +0 -1
- package/dist/assets/CodeMap-qllGEFLB.js +0 -1
- package/dist/assets/CronJobsPanel-DD5mhZ4Q.js +0 -1
- package/dist/assets/DeadCodeScanPanel-PB-c8et_.js +0 -2
- package/dist/assets/DebugDashboard-Q8QiVflQ.js +0 -1
- package/dist/assets/DesignGalleryView-CGOtWO7s.js +0 -1
- package/dist/assets/GoalView-Dlk42vW7.js +0 -1
- package/dist/assets/KanbanView-DIP6kKmU.js +0 -3
- package/dist/assets/MemoryManager-B7620q_K.js +0 -1
- package/dist/assets/OfficeMapPanel-BFIF-EMt.css +0 -1
- package/dist/assets/OfficeMapPanel-DKJNTtOZ.js +0 -4
- package/dist/assets/RequirementIntakeView-BMxlf8bt.js +0 -1
- package/dist/assets/SageTabs-g1hO2hJ0.js +0 -2
- package/dist/assets/SddHub-Kv_TbTgT.js +0 -2
- package/dist/assets/SessionInspectView-PnKTvyvP.js +0 -1
- package/dist/assets/SessionList-BeinIC-h.js +0 -1
- package/dist/assets/SessionsDashboard-DEG_BylE.js +0 -1
- package/dist/assets/SetupScreen-DxJwZ1OZ.js +0 -1
- package/dist/assets/SpecsView-Fm7pYYcj.js +0 -1
- package/dist/assets/TechStackView-Bo_UenRF.js +0 -1
- package/dist/assets/activity-BCgOEWgR.js +0 -5
- package/dist/assets/activity-BQ0zqkw2.js +0 -5
- package/dist/assets/activity-CAovbq3e.js +0 -5
- package/dist/assets/activity-CFQyCvgu.js +0 -5
- package/dist/assets/activity-CdQf7zRK.js +0 -5
- package/dist/assets/activity-DACvyn2-.js +0 -5
- package/dist/assets/activity-DOwYydU-.js +0 -5
- package/dist/assets/chat-CRmMDzCb.js +0 -1
- package/dist/assets/chat-CwnuX7tG.js +0 -1
- package/dist/assets/chat-DLn1hY01.js +0 -1
- package/dist/assets/chat-DSEq1Bdz.js +0 -1
- package/dist/assets/chat-DxLD17ER.js +0 -1
- package/dist/assets/chat-DzPxYALH.js +0 -1
- package/dist/assets/chat-OunddzYy.js +0 -1
- package/dist/assets/chat-store-CtOyUCdF.js +0 -17
- package/dist/assets/common-BfVFjVhf.js +0 -1
- package/dist/assets/i18n-B0hsnanh.js +0 -2
- package/dist/assets/index-DHdO0CRE.js +0 -132
- package/dist/assets/index-DKrFQ76m.css +0 -1
- package/dist/assets/mailbox-store-D8TvJsuk.js +0 -1
- package/dist/assets/session-store-b2KGFwkX.js +0 -1
- package/dist/assets/settings-B5xal2R3.js +0 -1
- package/dist/assets/settings-BHtFy8EG.js +0 -1
- package/dist/assets/settings-Bss5hBla.js +0 -1
- package/dist/assets/settings-BzrLCVRP.js +0 -1
- package/dist/assets/settings-C7RdvmLZ.js +0 -1
- package/dist/assets/settings-Dd94HoV6.js +0 -1
- package/dist/assets/settings-Dm9THFe8.js +0 -1
- package/dist/assets/stores-BptlyD_v.js +0 -7
- package/dist/assets/ui-store-BsBnjO3w.js +0 -1
- package/dist/assets/useWebSocket-Bc4S0N4r.js +0 -29
- package/dist/assets/ws-client-DqFoX4jJ.js +0 -1
- package/dist/components/AgentsMonitor.d.ts +0 -26
- package/dist/components/FleetMonitor.d.ts +0 -21
- package/dist/lib/accent-colors.d.ts +0 -136
|
@@ -16,7 +16,6 @@ export interface TaskItem {
|
|
|
16
16
|
export declare const TASK_STATUS_CONFIG: Record<TaskItem['status'], {
|
|
17
17
|
icon: React.ReactNode;
|
|
18
18
|
color: string;
|
|
19
|
-
label: string;
|
|
20
19
|
}>;
|
|
21
20
|
export declare const PRIORITY_BADGE: Record<TaskItem['priority'], string>;
|
|
22
21
|
export declare const TYPE_BADGE: Record<TaskItem['type'], string>;
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import type { KanbanBoard, KanbanEvent, KanbanTask } from '@wrongstack/kanban';
|
|
2
2
|
export type TaskRiskSeverity = 'critical' | 'warning' | 'info';
|
|
3
|
+
/**
|
|
4
|
+
* A finding carries i18n KEYS, not prose: `analyzeTaskRisk` is a pure function
|
|
5
|
+
* used outside React (KanbanColumnView calls it for badge counts), so it must
|
|
6
|
+
* not depend on a translator. The panel resolves the keys at render time and
|
|
7
|
+
* feeds `detailParams` into the interpolation.
|
|
8
|
+
*/
|
|
3
9
|
export interface TaskRiskFinding {
|
|
4
10
|
id: string;
|
|
5
11
|
severity: TaskRiskSeverity;
|
|
6
12
|
category: 'operational' | 'audit';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
13
|
+
titleKey: string;
|
|
14
|
+
detailKey: string;
|
|
15
|
+
detailParams?: Record<string, string | number>;
|
|
16
|
+
remediationKey: string;
|
|
10
17
|
}
|
|
11
18
|
export interface TaskRiskAssessment {
|
|
12
19
|
score: number;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import type { ComponentType } from 'react';
|
|
7
7
|
import type { TechStackCoverage, TechStackDependency, TechStackFinding, TechStackFindingSeverity } from '@/stores';
|
|
8
8
|
export interface StatusMeta {
|
|
9
|
-
readonly
|
|
9
|
+
readonly labelKey: string;
|
|
10
10
|
/** Full literal class strings. */
|
|
11
11
|
readonly badge: string;
|
|
12
12
|
readonly dot: string;
|
|
@@ -25,8 +25,11 @@ export interface StatusMeta {
|
|
|
25
25
|
export declare const STATUS_META: Record<string, StatusMeta>;
|
|
26
26
|
export declare function statusMeta(status: string): StatusMeta;
|
|
27
27
|
export interface EcosystemMeta {
|
|
28
|
-
/** Human-readable display name
|
|
29
|
-
|
|
28
|
+
/** Human-readable display name — a proper noun (npm, Python, Rust…), so it
|
|
29
|
+
* is NOT translated. The unknown-ecosystem fallback uses `labelKey`. */
|
|
30
|
+
readonly label?: string | undefined;
|
|
31
|
+
/** i18n key, set only where the label is real display copy. */
|
|
32
|
+
readonly labelKey?: string | undefined;
|
|
30
33
|
/** Optional lucide-react icon component for visual identification. */
|
|
31
34
|
readonly icon?: ComponentType<{
|
|
32
35
|
className?: string;
|
|
@@ -41,6 +44,8 @@ export interface EcosystemMeta {
|
|
|
41
44
|
* for the UI to display a human-readable label.
|
|
42
45
|
*/
|
|
43
46
|
export declare const ECOSYSTEM_META: Record<string, EcosystemMeta>;
|
|
47
|
+
/** Display name for an ecosystem: proper noun as-is, fallback via the catalog. */
|
|
48
|
+
export declare function ecosystemLabel(ecosystem: string, t: (key: string) => string): string;
|
|
44
49
|
export declare function ecosystemMeta(ecosystem: string): EcosystemMeta;
|
|
45
50
|
/**
|
|
46
51
|
* Renders the ecosystem icon if one is registered, or nothing.
|
|
@@ -55,15 +60,15 @@ export declare function EcosystemIcon({ ecosystem, className, }: {
|
|
|
55
60
|
export declare function needsAttention(dep: TechStackDependency): boolean;
|
|
56
61
|
export declare const SEVERITY_ORDER: readonly TechStackFindingSeverity[];
|
|
57
62
|
export declare const SEVERITY_META: Record<TechStackFindingSeverity, {
|
|
58
|
-
|
|
63
|
+
labelKey: string;
|
|
59
64
|
badge: string;
|
|
60
65
|
}>;
|
|
61
66
|
export declare const ACTION_LABELS: Record<string, string>;
|
|
62
67
|
export interface CoverageMeta {
|
|
63
|
-
readonly
|
|
68
|
+
readonly labelKey: string;
|
|
64
69
|
readonly badge: string;
|
|
65
70
|
/** Short inline text for the dependency row subtitle (e.g. "limited", "best-effort"). */
|
|
66
|
-
readonly
|
|
71
|
+
readonly noteKey: string | undefined;
|
|
67
72
|
}
|
|
68
73
|
export declare const COVERAGE_META: Record<TechStackCoverage, CoverageMeta>;
|
|
69
74
|
/** Lookup helper that returns the FALLBACK for unknown coverage strings. */
|
|
@@ -1,15 +1,20 @@
|
|
|
1
|
+
import { type PaletteId } from '@/lib/palettes';
|
|
1
2
|
import type React from 'react';
|
|
2
3
|
type Theme = 'light' | 'dark' | 'system';
|
|
3
4
|
interface ThemeProviderProps {
|
|
4
5
|
children: React.ReactNode;
|
|
5
6
|
defaultTheme?: Theme | undefined;
|
|
6
7
|
storageKey?: string | undefined;
|
|
8
|
+
defaultPalette?: PaletteId | undefined;
|
|
9
|
+
paletteStorageKey?: string | undefined;
|
|
7
10
|
}
|
|
8
11
|
interface ThemeProviderState {
|
|
9
12
|
theme: Theme;
|
|
10
13
|
setTheme: (theme: Theme) => void;
|
|
14
|
+
palette: PaletteId;
|
|
15
|
+
setPalette: (palette: PaletteId) => void;
|
|
11
16
|
}
|
|
12
|
-
export declare function ThemeProvider({ children, defaultTheme, storageKey, }: ThemeProviderProps): React.JSX.Element;
|
|
17
|
+
export declare function ThemeProvider({ children, defaultTheme, storageKey, defaultPalette, paletteStorageKey, }: ThemeProviderProps): React.JSX.Element;
|
|
13
18
|
export declare function useTheme(): ThemeProviderState;
|
|
14
19
|
export {};
|
|
15
20
|
//# sourceMappingURL=ThemeProvider.d.ts.map
|
|
@@ -54,7 +54,8 @@ export type RosterTab = 'live' | 'catalog' | 'learning' | 'customize';
|
|
|
54
54
|
interface TabDef {
|
|
55
55
|
id: RosterTab;
|
|
56
56
|
icon: React.ReactNode;
|
|
57
|
-
|
|
57
|
+
/** i18n key resolved at render time — this module is hook-free by design. */
|
|
58
|
+
labelKey: string;
|
|
58
59
|
}
|
|
59
60
|
export declare const TABS: TabDef[];
|
|
60
61
|
export declare const KNOWN_ROLES: RosterAgentEntry[];
|
|
@@ -27,7 +27,6 @@ export { TaskBoard, type TaskItem } from './TaskBoard';
|
|
|
27
27
|
export { ContextBar, ContextFillBar } from './ContextBar';
|
|
28
28
|
export { ContextBreakdownModal } from './ContextBreakdownModal';
|
|
29
29
|
export { ContextDashboard } from './ContextDashboard';
|
|
30
|
-
export { AgentsPage } from './AgentsPage';
|
|
31
30
|
export { SetupScreen } from './SetupScreen';
|
|
32
31
|
export { RefinePanel } from './RefinePanel';
|
|
33
32
|
export { QueuePanel } from './QueuePanel';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ProviderCustomModelWire } from '@/types';
|
|
2
1
|
import type { WrongStackWebSocketClient, WSSendOptions } from '@/lib/ws-client';
|
|
2
|
+
import type { ProviderCustomModelWire } from '@/types';
|
|
3
3
|
/**
|
|
4
4
|
* Mounts the WebSocket connection and installs event handlers.
|
|
5
5
|
* Call this from App.tsx (top of the tree) and nowhere else.
|
|
@@ -20,7 +20,15 @@ export declare function useWebSocketBootstrap(): void;
|
|
|
20
20
|
*/
|
|
21
21
|
export declare function useWebSocket(): {
|
|
22
22
|
client: WrongStackWebSocketClient;
|
|
23
|
-
sendMessage: (content: string, images?: import('@/types').WSUserMessageImage[]) => string | null;
|
|
23
|
+
sendMessage: (content: string, images?: import('@/types').WSUserMessageImage[], freshContext?: boolean) => string | null;
|
|
24
|
+
adviseTopic: (prompt: string) => Promise<import("@/types").SessionScopedPayload & {
|
|
25
|
+
requestId: string;
|
|
26
|
+
suggestNewContext: boolean;
|
|
27
|
+
confidence: number;
|
|
28
|
+
reason: string;
|
|
29
|
+
nextTopic?: string | undefined;
|
|
30
|
+
source: 'explicit' | 'model' | 'cache' | 'local';
|
|
31
|
+
}>;
|
|
24
32
|
sendAbort: () => void;
|
|
25
33
|
sendMailboxMessage: (opts: Parameters<(opts: import("@/lib/ws-client").WSMailboxSendOptions) => string>[0]) => string;
|
|
26
34
|
sendConfirm: (id: string, decision: 'yes' | 'no' | 'always' | 'deny') => void;
|
|
@@ -10,6 +10,7 @@ export declare function handleMailboxMessages(msg: WSServerMessage): void;
|
|
|
10
10
|
export declare function handleMailboxAgents(msg: WSServerMessage): void;
|
|
11
11
|
export declare function handleMailboxReceived(msg: WSServerMessage): void;
|
|
12
12
|
export declare function handleMailboxAgentRegistered(_msg: WSServerMessage): void;
|
|
13
|
+
export declare function handleMailboxAgentDeregistered(msg: WSServerMessage): void;
|
|
13
14
|
export declare function handleMailboxCleared(_msg: WSServerMessage): void;
|
|
14
15
|
export declare function handleMailboxPurged(_msg: WSServerMessage): void;
|
|
15
16
|
export declare function handleMailboxCompacted(msg: WSServerMessage): void;
|
|
@@ -7,6 +7,19 @@ export declare function handleGoalUpdated(msg: WSServerMessage): void;
|
|
|
7
7
|
export declare function handlePrefsUpdated(msg: WSServerMessage): void;
|
|
8
8
|
export declare function handleBrainStatus(msg: WSServerMessage): void;
|
|
9
9
|
export declare function handleBrainAnswer(msg: WSServerMessage): void;
|
|
10
|
+
/**
|
|
11
|
+
* Council seat votes are NOT buffered here: the council log store already
|
|
12
|
+
* tracks each panel's seats per request id (deduped by seat id, retained as
|
|
13
|
+
* whole panels in its ring buffer). `brain.council_vote` fires once per seat
|
|
14
|
+
* and `brain.council_resolved` once per panel, both from inside
|
|
15
|
+
* `council.decide()`. Both reached the browser and were dropped on the
|
|
16
|
+
* floor, so the most expensive Brain tier — one provider call per seat — was
|
|
17
|
+
* completely invisible in the UI. The resolved handler reads the panel's
|
|
18
|
+
* seats back from the store, so vote eviction is per-panel (per-request): a
|
|
19
|
+
* live panel's seats can never be dropped by other requests' vote traffic
|
|
20
|
+
* (the old global 50-vote buffer could). Whole panels still age out of the
|
|
21
|
+
* store's ring buffer, which is the intended log retention.
|
|
22
|
+
*/
|
|
10
23
|
export declare function handleBrainEvent(msg: WSServerMessage): void;
|
|
11
24
|
export declare function handleMemoryEvent(msg: WSServerMessage): void;
|
|
12
25
|
export declare function handleCollabEvent(msg: WSServerMessage): void;
|
|
@@ -11,6 +11,7 @@ export declare function handleIterationLimitReached(msg: WSServerMessage): void;
|
|
|
11
11
|
export declare function handleProviderRetry(msg: WSServerMessage): void;
|
|
12
12
|
export declare function handleProviderError(msg: WSServerMessage): void;
|
|
13
13
|
export declare function handleProviderFallback(msg: WSServerMessage): void;
|
|
14
|
+
export declare function handleProviderFallbackPending(msg: WSServerMessage): void;
|
|
14
15
|
export declare function handleProviderStatusChanged(msg: WSServerMessage): void;
|
|
15
16
|
export declare function handleProviderStatusSnapshot(msg: WSServerMessage): void;
|
|
16
17
|
export declare function handleProviderActiveBlocked(msg: WSServerMessage): void;
|
package/dist/index.css
CHANGED
|
@@ -1007,6 +1007,36 @@
|
|
|
1007
1007
|
--desk-floor: hsl(var(--foreground) / 0.035);
|
|
1008
1008
|
--desk-aura: hsl(var(--muted-foreground) / 0.044);
|
|
1009
1009
|
}
|
|
1010
|
+
.dark .agent-office__lane {
|
|
1011
|
+
--desk-wall: hsl(var(--info) / 0.16);
|
|
1012
|
+
--desk-floor: hsl(var(--warning) / 0.16);
|
|
1013
|
+
--desk-aura: hsl(var(--warning) / 0.14);
|
|
1014
|
+
}
|
|
1015
|
+
.dark .agent-office__lane.is-desk-mint {
|
|
1016
|
+
--desk-wall: hsl(var(--success) / 0.18);
|
|
1017
|
+
--desk-floor: hsl(var(--info) / 0.14);
|
|
1018
|
+
--desk-aura: hsl(var(--success) / 0.16);
|
|
1019
|
+
}
|
|
1020
|
+
.dark .agent-office__lane.is-desk-ocean {
|
|
1021
|
+
--desk-wall: hsl(var(--info) / 0.2);
|
|
1022
|
+
--desk-floor: hsl(var(--primary) / 0.14);
|
|
1023
|
+
--desk-aura: hsl(var(--info) / 0.16);
|
|
1024
|
+
}
|
|
1025
|
+
.dark .agent-office__lane.is-desk-plum {
|
|
1026
|
+
--desk-wall: hsl(var(--primary) / 0.18);
|
|
1027
|
+
--desk-floor: hsl(var(--warning) / 0.14);
|
|
1028
|
+
--desk-aura: hsl(var(--primary) / 0.16);
|
|
1029
|
+
}
|
|
1030
|
+
.dark .agent-office__lane.is-desk-rose {
|
|
1031
|
+
--desk-wall: hsl(var(--destructive) / 0.16);
|
|
1032
|
+
--desk-floor: hsl(var(--warning) / 0.14);
|
|
1033
|
+
--desk-aura: hsl(var(--destructive) / 0.14);
|
|
1034
|
+
}
|
|
1035
|
+
.dark .agent-office__lane.is-desk-graphite {
|
|
1036
|
+
--desk-wall: hsl(var(--muted-foreground) / 0.14);
|
|
1037
|
+
--desk-floor: hsl(var(--foreground) / 0.1);
|
|
1038
|
+
--desk-aura: hsl(var(--muted-foreground) / 0.12);
|
|
1039
|
+
}
|
|
1010
1040
|
.agent-office__lane:hover {
|
|
1011
1041
|
transform: translateY(-1px);
|
|
1012
1042
|
box-shadow: 0 13px 34px hsl(var(--shadow-color) / 0.1);
|
|
@@ -2443,6 +2473,38 @@ button.agent-office__parcel:hover {
|
|
|
2443
2473
|
background: hsl(var(--primary) / 0.09);
|
|
2444
2474
|
border-color: hsl(var(--primary) / 0.24);
|
|
2445
2475
|
}
|
|
2476
|
+
.dark .agent-office__tool-glyph {
|
|
2477
|
+
border-color: hsl(var(--border));
|
|
2478
|
+
color: hsl(var(--muted-foreground));
|
|
2479
|
+
background: hsl(var(--muted) / 0.82);
|
|
2480
|
+
}
|
|
2481
|
+
.dark .agent-office__tool-glyph.is-read,
|
|
2482
|
+
.dark .agent-office__tool-glyph.is-web {
|
|
2483
|
+
border-color: hsl(var(--info) / 0.38);
|
|
2484
|
+
color: hsl(var(--info));
|
|
2485
|
+
background: hsl(var(--info) / 0.18);
|
|
2486
|
+
}
|
|
2487
|
+
.dark .agent-office__tool-glyph.is-write,
|
|
2488
|
+
.dark .agent-office__tool-glyph.is-edit {
|
|
2489
|
+
border-color: hsl(var(--warning) / 0.38);
|
|
2490
|
+
color: hsl(var(--warning));
|
|
2491
|
+
background: hsl(var(--warning) / 0.18);
|
|
2492
|
+
}
|
|
2493
|
+
.dark .agent-office__tool-glyph.is-terminal {
|
|
2494
|
+
border-color: hsl(var(--success) / 0.38);
|
|
2495
|
+
color: hsl(var(--success));
|
|
2496
|
+
background: hsl(var(--success) / 0.18);
|
|
2497
|
+
}
|
|
2498
|
+
.dark .agent-office__tool-glyph.is-search,
|
|
2499
|
+
.dark .agent-office__tool-glyph.is-memory {
|
|
2500
|
+
border-color: hsl(var(--primary) / 0.38);
|
|
2501
|
+
color: hsl(var(--primary));
|
|
2502
|
+
background: hsl(var(--primary) / 0.17);
|
|
2503
|
+
}
|
|
2504
|
+
.dark .agent-office__monitor .agent-office__tool-glyph {
|
|
2505
|
+
border: 0;
|
|
2506
|
+
background: transparent;
|
|
2507
|
+
}
|
|
2446
2508
|
.agent-office__tool-glyph.is-active::after {
|
|
2447
2509
|
position: absolute;
|
|
2448
2510
|
inset: -4px;
|
package/dist/index.html
CHANGED
|
@@ -5,38 +5,39 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/wrongstack.svg" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>WrongStack WebUI</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-CtpViiZy.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-QTnfLwEv.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="/assets/monaco-BLUV5g0U.js">
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/markdown-sSmz-Ua_.js">
|
|
12
12
|
<link rel="modulepreload" crossorigin href="/assets/vendor-BuarzSSb.js">
|
|
13
13
|
<link rel="modulepreload" crossorigin href="/assets/utils-B-9lSDIn.js">
|
|
14
|
-
<link rel="modulepreload" crossorigin href="/assets/chat-store-
|
|
15
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
16
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
17
|
-
<link rel="modulepreload" crossorigin href="/assets/chat-DLn1hY01.js">
|
|
14
|
+
<link rel="modulepreload" crossorigin href="/assets/chat-store-DbxFVDwi.js">
|
|
15
|
+
<link rel="modulepreload" crossorigin href="/assets/activity-nVmsmqAI.js">
|
|
16
|
+
<link rel="modulepreload" crossorigin href="/assets/chat-CdiY7G6Z.js">
|
|
18
17
|
<link rel="modulepreload" crossorigin href="/assets/commandPalette-DpaemFux.js">
|
|
19
|
-
<link rel="modulepreload" crossorigin href="/assets/common-
|
|
20
|
-
<link rel="modulepreload" crossorigin href="/assets/settings-
|
|
18
|
+
<link rel="modulepreload" crossorigin href="/assets/common-COVxQ0FV.js">
|
|
19
|
+
<link rel="modulepreload" crossorigin href="/assets/settings-zIY9-ivF.js">
|
|
21
20
|
<link rel="modulepreload" crossorigin href="/assets/setup-BFcmn89w.js">
|
|
22
21
|
<link rel="modulepreload" crossorigin href="/assets/toasts-BL_8kH4B.js">
|
|
23
|
-
<link rel="modulepreload" crossorigin href="/assets/i18n-
|
|
24
|
-
<link rel="modulepreload" crossorigin href="/assets/session-store-
|
|
25
|
-
<link rel="modulepreload" crossorigin href="/assets/ws-client-
|
|
22
|
+
<link rel="modulepreload" crossorigin href="/assets/i18n-COgumVF5.js">
|
|
23
|
+
<link rel="modulepreload" crossorigin href="/assets/session-store-Df7_hhe9.js">
|
|
24
|
+
<link rel="modulepreload" crossorigin href="/assets/ws-client-TTMa0XaT.js">
|
|
26
25
|
<link rel="modulepreload" crossorigin href="/assets/codemap-activity-store-DQfjo7-j.js">
|
|
27
|
-
<link rel="modulepreload" crossorigin href="/assets/mailbox-store-
|
|
28
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
29
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
26
|
+
<link rel="modulepreload" crossorigin href="/assets/mailbox-store-C1mzoSqJ.js">
|
|
27
|
+
<link rel="modulepreload" crossorigin href="/assets/ui-store-CE4-TlwB.js">
|
|
28
|
+
<link rel="modulepreload" crossorigin href="/assets/stores-ChEnUmic.js">
|
|
29
|
+
<link rel="modulepreload" crossorigin href="/assets/view-navigation-DIDEcp4V.js">
|
|
30
30
|
<link rel="modulepreload" crossorigin href="/assets/codemap-index-store-COStDU-8.js">
|
|
31
|
-
<link rel="modulepreload" crossorigin href="/assets/Toaster-
|
|
32
|
-
<link rel="modulepreload" crossorigin href="/assets/useWebSocket-
|
|
31
|
+
<link rel="modulepreload" crossorigin href="/assets/Toaster-CgQA9256.js">
|
|
32
|
+
<link rel="modulepreload" crossorigin href="/assets/useWebSocket-_gk4MRJz.js">
|
|
33
33
|
<link rel="modulepreload" crossorigin href="/assets/dialog-ftgTihmF.js">
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/assets/button-Dcy288Mc.js">
|
|
35
35
|
<link rel="modulepreload" crossorigin href="/assets/input-fo9-BPBC.js">
|
|
36
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
36
|
+
<link rel="modulepreload" crossorigin href="/assets/ConfirmModal-ndS17YwF.js">
|
|
37
|
+
<link rel="modulepreload" crossorigin href="/assets/ModelPicker-BbBZuQwR.js">
|
|
37
38
|
<link rel="stylesheet" crossorigin href="/assets/monaco-Bowa0-zp.css">
|
|
38
39
|
<link rel="stylesheet" crossorigin href="/assets/vendor-BMdWcCR4.css">
|
|
39
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
40
|
+
<link rel="stylesheet" crossorigin href="/assets/index-fIsq43fR.css">
|
|
40
41
|
</head>
|
|
41
42
|
<body>
|
|
42
43
|
<div id="root"></div>
|