@wrongstack/webui 0.293.0 → 0.295.1
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/App.d.ts.map +1 -1
- package/dist/assets/AgentRosterView-C7u9H5Jp.js +11 -0
- package/dist/assets/AnalyticsDashboard-CZ8KAg7h.js +1 -0
- package/dist/assets/AudienceMemoryPanel-N6ErXDAb.js +3 -0
- package/dist/assets/ChangesView-fVxtWQ07.js +1 -0
- package/dist/assets/ChronicleDashboard-C-NQsArq.js +1 -0
- package/dist/assets/CodeEditor-B9k1HwTM.js +1 -0
- package/dist/assets/CodeMap-CZ7wFa8f.js +1 -0
- package/dist/assets/ConfirmModal-BvW6_eIc.js +1 -0
- package/dist/assets/{CronJobsPanel-ByJqIjCv.js → CronJobsPanel-C4zvyecc.js} +1 -1
- package/dist/assets/{DebugDashboard-B0pikasm.js → DebugDashboard-Z7ZFkSFX.js} +1 -1
- package/dist/assets/DesignGalleryView-DIsg05FX.js +1 -0
- package/dist/assets/{GoalView-DXO9txQs.js → GoalView-pBKJcLBt.js} +1 -1
- package/dist/assets/KanbanView-qzKvGeMx.js +3 -0
- package/dist/assets/{LazyMarkdown-BHoUIDge.js → LazyMarkdown-Cpjlf6IL.js} +3 -3
- package/dist/assets/MailboxDetailView-BKxA4wf_.js +1 -0
- package/dist/assets/MemoryManager-DO_Z8Scl.js +1 -0
- package/dist/assets/{ModelPicker-CEZN673P.js → ModelPicker-DOXb0iz4.js} +1 -1
- package/dist/assets/{OfficeMapPanel-B0j4e2O1.css → OfficeMapPanel-BFIF-EMt.css} +1 -1
- package/dist/assets/OfficeMapPanel-BVDeIWuD.js +4 -0
- package/dist/assets/ProcessMonitor-Ci000o1n.js +1 -0
- package/dist/assets/{QueuePanel-DMXksqFS.js → QueuePanel-63vvbJOy.js} +1 -1
- package/dist/assets/{RefreshDebugView-D08bCHA4.js → RefreshDebugView-8Sivo34V.js} +1 -1
- package/dist/assets/SddHub-DW97GpcS.js +2 -0
- package/dist/assets/{SessionsDashboard-BY77vax1.js → SessionsDashboard-DhNaepDJ.js} +1 -1
- package/dist/assets/SetupScreen-BewutFxF.js +1 -0
- package/dist/assets/SkillDetailView-d39kknmg.js +3 -0
- package/dist/assets/{SpecsView-CZg7e2ml.js → SpecsView-BOp0sUME.js} +1 -1
- package/dist/assets/TechStackView-DfFfTJVR.js +1 -0
- package/dist/assets/{TerminalPanel-SnRvUh6N.js → TerminalPanel-663hC2Jc.js} +1 -1
- package/dist/assets/{Toaster-BNdKxZ1U.js → Toaster-YMBi0Ssd.js} +1 -1
- package/dist/assets/activity-3HtRx2SK.js +5 -0
- package/dist/assets/activity-BGlYr63p.js +5 -0
- package/dist/assets/activity-BolwRvqr.js +5 -0
- package/dist/assets/activity-C8BMSvRx.js +5 -0
- package/dist/assets/{activity-Dyikq8Zm.js → activity-CM8z-okz.js} +4 -4
- package/dist/assets/activity-HfL12UVp.js +5 -0
- package/dist/assets/activity-Xd77MZv_.js +5 -0
- package/dist/assets/{button-Dy0bAtEY.js → button-5TIs9T5p.js} +1 -1
- package/dist/assets/{chat-store-CUODHW6c.js → chat-store-fBghgjNK.js} +7 -7
- package/dist/assets/{codemap-activity-store-CgtLR4PV.js → codemap-activity-store-C5DyqUoZ.js} +1 -1
- package/dist/assets/codemap-index-store-p2tz1Laz.js +1 -0
- package/dist/assets/{dialog-CBgO-uqz.js → dialog-BkCs93Vo.js} +1 -1
- package/dist/assets/empty-state-DrJ4uVh8.js +1 -0
- package/dist/assets/{i18n-Dk35g-uV.js → i18n-Cjk0Ya0G.js} +2 -2
- package/dist/assets/index-D0zt9ziw.css +1 -0
- package/dist/assets/index-HYvJnpTs.js +126 -0
- package/dist/assets/{input-B6FY_vtB.js → input-dEFwkTqb.js} +1 -1
- package/dist/assets/{mailbox-store-BY2SVw-s.js → mailbox-store-DC7x_eml.js} +1 -1
- package/dist/assets/progress-ring-CGN0o9DE.js +1 -0
- package/dist/assets/roster-ws-GsDcHg-w.js +1 -0
- package/dist/assets/{session-store-Coiik-Ib.js → session-store-DGtTSpPv.js} +1 -1
- package/dist/assets/{settings-C65WW7Jn.js → settings-24NUQrlz.js} +1 -1
- package/dist/assets/{settings-Dp5NIt-h.js → settings-BcyGqyX3.js} +1 -1
- package/dist/assets/{settings-B9dVH8oJ.js → settings-BhEHLxqK.js} +1 -1
- package/dist/assets/{settings-BBR9xBqW.js → settings-C67tfoiy.js} +1 -1
- package/dist/assets/{settings-BaZcBGA7.js → settings-CvkIXOQE.js} +1 -1
- package/dist/assets/{settings-BXWyZpz5.js → settings-DGTQ4aKo.js} +1 -1
- package/dist/assets/{settings-BK1-R1dO.js → settings-i7lxRYZu.js} +1 -1
- package/dist/assets/shared-C_yjayIp.js +1 -0
- package/dist/assets/stores-BSWgxKNz.js +6 -0
- package/dist/assets/ui-store-DPNSalc-.js +1 -0
- package/dist/assets/useWebSocket-BBOEYTRy.js +28 -0
- package/dist/assets/{utils-DEzFewqr.js → utils-YTsIExHc.js} +1 -1
- package/dist/assets/{vendor-DffL_bim.js → vendor-B8C0AAAG.js} +30 -30
- package/dist/assets/{view-navigation-BjlXpDXc.js → view-navigation-CV5XT76I.js} +1 -1
- package/dist/assets/ws-client-Cc6w_0zh.js +1 -0
- package/dist/components/AgentOfficeView.d.ts.map +1 -1
- package/dist/components/AgentRosterView.d.ts +16 -0
- package/dist/components/AgentRosterView.d.ts.map +1 -0
- package/dist/components/AgentRuntimePolicyEditor.d.ts +8 -0
- package/dist/components/AgentRuntimePolicyEditor.d.ts.map +1 -0
- package/dist/components/AvailabilityCalendarEditor.d.ts +1 -1
- package/dist/components/AvailabilityCalendarEditor.d.ts.map +1 -1
- package/dist/components/ChangesView.d.ts.map +1 -1
- package/dist/components/ChatInput/slash-commands.d.ts.map +1 -1
- package/dist/components/ChatInput/slash-routing.d.ts +2 -0
- package/dist/components/ChatInput/slash-routing.d.ts.map +1 -1
- package/dist/components/ChatInput.d.ts.map +1 -1
- package/dist/components/ChatView/index.d.ts.map +1 -1
- package/dist/components/ChronicleDashboard.d.ts.map +1 -1
- package/dist/components/CodeEditor.d.ts.map +1 -1
- package/dist/components/CodeMap.d.ts +6 -0
- package/dist/components/CodeMap.d.ts.map +1 -1
- package/dist/components/ContextDashboard.d.ts.map +1 -1
- package/dist/components/CronTrigger.d.ts +1 -1
- package/dist/components/CronTrigger.d.ts.map +1 -1
- package/dist/components/CustomRosterPanel.d.ts +38 -0
- package/dist/components/CustomRosterPanel.d.ts.map +1 -0
- package/dist/components/DesignGalleryView.d.ts.map +1 -1
- package/dist/components/FileActivityDrawer.d.ts +14 -0
- package/dist/components/FileActivityDrawer.d.ts.map +1 -1
- package/dist/components/FleetMonitor.d.ts.map +1 -1
- package/dist/components/KanbanDecompositionPanel.d.ts +28 -0
- package/dist/components/KanbanDecompositionPanel.d.ts.map +1 -0
- package/dist/components/KanbanTaskTree.d.ts +13 -0
- package/dist/components/KanbanTaskTree.d.ts.map +1 -0
- package/dist/components/KanbanVerificationDashboard.d.ts +12 -0
- package/dist/components/KanbanVerificationDashboard.d.ts.map +1 -0
- package/dist/components/KanbanView.d.ts +17 -1
- package/dist/components/KanbanView.d.ts.map +1 -1
- package/dist/components/MailboxDetailView.d.ts.map +1 -1
- package/dist/components/MailboxPanel.d.ts.map +1 -1
- package/dist/components/MemoryManager/MemoryDetail.d.ts +4 -4
- package/dist/components/MemoryManager/MemoryDetail.d.ts.map +1 -1
- package/dist/components/MemoryManager/MemoryEditor.d.ts.map +1 -1
- package/dist/components/MemoryManager/MemoryFilters.d.ts +4 -4
- package/dist/components/MemoryManager/MemoryFilters.d.ts.map +1 -1
- package/dist/components/MemoryManager/MemoryGraph.d.ts +4 -4
- package/dist/components/MemoryManager/MemoryGraph.d.ts.map +1 -1
- package/dist/components/MemoryManager/MemoryList.d.ts +3 -3
- package/dist/components/MemoryManager/MemoryList.d.ts.map +1 -1
- package/dist/components/MemoryManager/index.d.ts.map +1 -1
- package/dist/components/MemoryManager/shared.d.ts +15 -15
- package/dist/components/MemoryManager/shared.d.ts.map +1 -1
- package/dist/components/MessageBubble/index.d.ts.map +1 -1
- package/dist/components/OfficeMapCanvas/resolve.d.ts +17 -1
- package/dist/components/OfficeMapCanvas/resolve.d.ts.map +1 -1
- package/dist/components/OfficeMapCanvas/use-recently-finished.d.ts +21 -0
- package/dist/components/OfficeMapCanvas/use-recently-finished.d.ts.map +1 -0
- package/dist/components/OfficeMapCanvas.d.ts.map +1 -1
- package/dist/components/ProcessMonitor.d.ts.map +1 -1
- package/dist/components/QueuePanel.d.ts.map +1 -1
- package/dist/components/RefinePanel.d.ts +10 -3
- package/dist/components/RefinePanel.d.ts.map +1 -1
- package/dist/components/SddBoardView.d.ts.map +1 -1
- package/dist/components/SddTaskDrawer.d.ts.map +1 -1
- package/dist/components/SearchOverlay.d.ts.map +1 -1
- package/dist/components/SettingsPanel/BrainSection.d.ts.map +1 -1
- package/dist/components/SettingsPanel/ChimeraSettingsPanel.d.ts.map +1 -1
- package/dist/components/SettingsPanel/MCPSection.d.ts +4 -0
- package/dist/components/SettingsPanel/MCPSection.d.ts.map +1 -1
- package/dist/components/SettingsPanel/PluginToggleList.d.ts.map +1 -1
- package/dist/components/SettingsPanel/PreferenceControls.d.ts +3 -1
- package/dist/components/SettingsPanel/PreferenceControls.d.ts.map +1 -1
- package/dist/components/SettingsPanel/PreferenceToggle.d.ts +3 -1
- package/dist/components/SettingsPanel/PreferenceToggle.d.ts.map +1 -1
- package/dist/components/SettingsPanel/ProviderModelsPanel.d.ts.map +1 -1
- package/dist/components/SettingsPanel/ProviderSection.d.ts.map +1 -1
- package/dist/components/SettingsPanel/index.d.ts.map +1 -1
- package/dist/components/SettingsPanel/local-presets.d.ts +2 -29
- package/dist/components/SettingsPanel/local-presets.d.ts.map +1 -1
- package/dist/components/SetupScreen.d.ts.map +1 -1
- package/dist/components/ShortcutsOverlay.d.ts.map +1 -1
- package/dist/components/SidePanel/AgentsPanel.d.ts.map +1 -1
- package/dist/components/SidePanel/SessionPanel.d.ts.map +1 -1
- package/dist/components/SidePanel/SkillsList.d.ts.map +1 -1
- package/dist/components/SkillDetailView.d.ts.map +1 -1
- package/dist/components/TaskVerificationSection.d.ts +15 -0
- package/dist/components/TaskVerificationSection.d.ts.map +1 -0
- package/dist/components/TechStackView/DependencyDetail.d.ts +2 -1
- package/dist/components/TechStackView/DependencyDetail.d.ts.map +1 -1
- package/dist/components/TechStackView/DependencyTable.d.ts +2 -1
- package/dist/components/TechStackView/DependencyTable.d.ts.map +1 -1
- package/dist/components/TechStackView/index.d.ts.map +1 -1
- package/dist/components/TechStackView/shared.d.ts +37 -4
- package/dist/components/TechStackView/shared.d.ts.map +1 -1
- package/dist/components/VerificationReportPanel.d.ts +15 -0
- package/dist/components/VerificationReportPanel.d.ts.map +1 -0
- package/dist/components/activity-bar/index.d.ts.map +1 -1
- package/dist/components/agents/AgentDetailSection.d.ts.map +1 -1
- package/dist/components/agents/AgentRosterCard.d.ts.map +1 -1
- package/dist/components/agents/FleetSummaryBar.d.ts.map +1 -1
- package/dist/components/codemap-model.d.ts +9 -0
- package/dist/components/codemap-model.d.ts.map +1 -1
- package/dist/components/ui/api-key-display.d.ts +14 -0
- package/dist/components/ui/api-key-display.d.ts.map +1 -0
- package/dist/components/ui/empty-state.d.ts +29 -0
- package/dist/components/ui/empty-state.d.ts.map +1 -0
- package/dist/components/ui/progress-ring.d.ts +10 -0
- package/dist/components/ui/progress-ring.d.ts.map +1 -0
- package/dist/hooks/useGlobalKeyboardShortcuts.d.ts +1 -1
- package/dist/hooks/useGlobalKeyboardShortcuts.d.ts.map +1 -1
- package/dist/hooks/useWebSocket.d.ts +13 -13
- package/dist/hooks/useWebSocket.d.ts.map +1 -1
- package/dist/hooks/ws-handlers/chat-handlers.d.ts.map +1 -1
- package/dist/hooks/ws-handlers/fleet-handlers.d.ts.map +1 -1
- package/dist/hooks/ws-handlers/session-handlers.d.ts.map +1 -1
- package/dist/hooks/ws-handlers.d.ts +8 -7
- package/dist/hooks/ws-handlers.d.ts.map +1 -1
- package/dist/index.css +258 -7
- package/dist/index.css.map +2 -2
- package/dist/index.html +24 -23
- package/dist/index.js +14600 -8873
- package/dist/index.js.map +4 -4
- package/dist/lib/agent-office.d.ts +22 -0
- package/dist/lib/agent-office.d.ts.map +1 -1
- package/dist/lib/kanban-verification.d.ts +52 -0
- package/dist/lib/kanban-verification.d.ts.map +1 -0
- package/dist/lib/model-calendar.d.ts +1 -1
- package/dist/lib/model-calendar.d.ts.map +1 -1
- package/dist/lib/model-matrix-routes.d.ts +2 -191
- package/dist/lib/model-matrix-routes.d.ts.map +1 -1
- package/dist/lib/plugin-enablement.d.ts +1 -1
- package/dist/lib/plugin-enablement.d.ts.map +1 -1
- package/dist/lib/roster-ws.d.ts +48 -0
- package/dist/lib/roster-ws.d.ts.map +1 -0
- package/dist/lib/view-navigation.d.ts +1 -1
- package/dist/lib/view-navigation.d.ts.map +1 -1
- package/dist/lib/ws-client-utils.d.ts +1 -2
- package/dist/lib/ws-client-utils.d.ts.map +1 -1
- package/dist/lib/ws-client.d.ts +30 -22
- package/dist/lib/ws-client.d.ts.map +1 -1
- package/dist/protocol-compatibility.d.ts +12 -0
- package/dist/protocol-compatibility.d.ts.map +1 -0
- package/dist/providers.json +105 -85
- package/dist/stores/codemap-index-store.d.ts +9 -0
- package/dist/stores/codemap-index-store.d.ts.map +1 -0
- package/dist/stores/kanban-store.d.ts +4 -0
- package/dist/stores/kanban-store.d.ts.map +1 -1
- package/dist/stores/local-prefs.d.ts +2 -2
- package/dist/stores/local-prefs.d.ts.map +1 -1
- package/dist/stores/mailbox-store.d.ts +2 -0
- package/dist/stores/mailbox-store.d.ts.map +1 -1
- package/dist/stores/session-store.d.ts +1 -1
- package/dist/stores/session-store.d.ts.map +1 -1
- package/dist/stores/specs-store.d.ts +4 -0
- package/dist/stores/specs-store.d.ts.map +1 -1
- package/dist/stores/types.d.ts +1 -1
- package/dist/stores/types.d.ts.map +1 -1
- package/dist/stores/ui-store.d.ts +6 -4
- package/dist/stores/ui-store.d.ts.map +1 -1
- package/dist/stores/viz-store.d.ts.map +1 -1
- package/dist/types.d.ts +482 -68
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -6
- package/dist/assets/AnalyticsDashboard--x-f8QI-.js +0 -1
- package/dist/assets/AudienceMemoryPanel-j9I0RvhP.js +0 -3
- package/dist/assets/ChangesView-Bb5LXWiI.js +0 -1
- package/dist/assets/ChronicleDashboard-D34oKMQ_.js +0 -1
- package/dist/assets/CodeEditor-BkIIR8EU.js +0 -1
- package/dist/assets/CodeMap-Ej4UNFUm.js +0 -1
- package/dist/assets/ConfirmModal-4l0Tyazp.js +0 -1
- package/dist/assets/DesignGalleryView-CgLsdzTx.js +0 -1
- package/dist/assets/KanbanView--bFrj9Xa.js +0 -2
- package/dist/assets/MailboxDetailView-C-Vf3h1d.js +0 -1
- package/dist/assets/MemoryManager-DoHNBnKd.js +0 -1
- package/dist/assets/OfficeMapPanel-BMf4PTWo.js +0 -4
- package/dist/assets/ProcessMonitor-BtfARuHq.js +0 -1
- package/dist/assets/SddHub-QgMFn_rC.js +0 -2
- package/dist/assets/SetupScreen-CU7Mq-5T.js +0 -1
- package/dist/assets/SkillDetailView-6ZIVx1BG.js +0 -3
- package/dist/assets/TechStackView-9hfnNKx-.js +0 -1
- package/dist/assets/activity-AfUMXtSI.js +0 -5
- package/dist/assets/activity-Bd_pRifE.js +0 -5
- package/dist/assets/activity-Ct_QOdtL.js +0 -5
- package/dist/assets/activity-Cyx4UukM.js +0 -5
- package/dist/assets/activity-Ukyu3lON.js +0 -5
- package/dist/assets/activity-gaWDc806.js +0 -5
- package/dist/assets/index-DGX8tPCe.css +0 -1
- package/dist/assets/index-OmSX-BAb.js +0 -124
- package/dist/assets/shared-CpXz-tzA.js +0 -1
- package/dist/assets/stores-CUp_ut8r.js +0 -6
- package/dist/assets/ui-store-CwOvhFZG.js +0 -1
- package/dist/assets/useWebSocket-BJorYmOi.js +0 -27
- package/dist/assets/ws-client-Fnmzo7vN.js +0 -1
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Usage } from '@wrongstack/core';
|
|
1
|
+
import type { SessionMarker, Usage } from '@wrongstack/core/types';
|
|
2
2
|
import type { KanbanBoard, KanbanBoardPresence, KanbanBoardSummary, KanbanEvent, KanbanTask } from '@wrongstack/kanban';
|
|
3
3
|
export interface WSMessage {
|
|
4
4
|
type: string;
|
|
@@ -24,6 +24,10 @@ export interface WSSessionStart {
|
|
|
24
24
|
content: unknown;
|
|
25
25
|
ts?: string | undefined;
|
|
26
26
|
}>;
|
|
27
|
+
/** Audit markers (compaction, mode/skill switches, subagent lifecycle,
|
|
28
|
+
* provider retries, truncation) projected server-side. Replayed alongside
|
|
29
|
+
* the conversation so a reconnect shows what the live stream showed. */
|
|
30
|
+
replayMarkers?: SessionMarker[] | undefined;
|
|
27
31
|
replayUsage?: Usage | undefined;
|
|
28
32
|
/** True when no provider+model is configured yet — show the setup screen. */
|
|
29
33
|
needsSetup?: boolean | undefined;
|
|
@@ -389,6 +393,90 @@ export interface ChronicleGraphResult {
|
|
|
389
393
|
}>;
|
|
390
394
|
truncated: boolean;
|
|
391
395
|
}
|
|
396
|
+
/** Derived aggregates served from the server-side Chronicle metrics store
|
|
397
|
+
* (metrics.db) — no raw journal scan on the request path. */
|
|
398
|
+
export type ChronicleMetricsView = 'summary' | 'providers' | 'tasks' | 'files';
|
|
399
|
+
export interface ChronicleMetricsRefresh {
|
|
400
|
+
ingestedEvents: number;
|
|
401
|
+
ingestedBytes: number;
|
|
402
|
+
sourceFiles: number;
|
|
403
|
+
invalidLines: number;
|
|
404
|
+
}
|
|
405
|
+
export interface ChronicleProviderDailyRow {
|
|
406
|
+
day: string;
|
|
407
|
+
providerId: string;
|
|
408
|
+
modelId: string;
|
|
409
|
+
attempts: number;
|
|
410
|
+
completed: number;
|
|
411
|
+
failed: number;
|
|
412
|
+
retries: number;
|
|
413
|
+
fallbacks: number;
|
|
414
|
+
inputTokens: number;
|
|
415
|
+
outputTokens: number;
|
|
416
|
+
cacheReadTokens: number;
|
|
417
|
+
cacheWriteTokens: number;
|
|
418
|
+
avgDurationMs: number;
|
|
419
|
+
maxDurationMs: number;
|
|
420
|
+
}
|
|
421
|
+
export interface ChronicleTaskOutcomeRow {
|
|
422
|
+
taskId: string;
|
|
423
|
+
runId: string;
|
|
424
|
+
boardId: string;
|
|
425
|
+
sessionId: string;
|
|
426
|
+
agentId: string;
|
|
427
|
+
status: string;
|
|
428
|
+
startedAt: string | null;
|
|
429
|
+
endedAt: string | null;
|
|
430
|
+
durationMs: number | null;
|
|
431
|
+
retries: number;
|
|
432
|
+
verificationFailures: number;
|
|
433
|
+
filesTouched: number;
|
|
434
|
+
}
|
|
435
|
+
export interface ChronicleFileLineageRow {
|
|
436
|
+
path: string;
|
|
437
|
+
operation: string;
|
|
438
|
+
occurredAt: string;
|
|
439
|
+
sessionId: string;
|
|
440
|
+
agentId: string;
|
|
441
|
+
taskId: string;
|
|
442
|
+
boardId: string;
|
|
443
|
+
runId: string;
|
|
444
|
+
toolName: string;
|
|
445
|
+
providerId: string;
|
|
446
|
+
modelId: string;
|
|
447
|
+
source: string;
|
|
448
|
+
}
|
|
449
|
+
export interface ChronicleMetricsSummaryView {
|
|
450
|
+
providers: {
|
|
451
|
+
attempts: number;
|
|
452
|
+
completed: number;
|
|
453
|
+
failed: number;
|
|
454
|
+
successRate: number;
|
|
455
|
+
};
|
|
456
|
+
tasks: Record<string, number>;
|
|
457
|
+
files: {
|
|
458
|
+
mutations: number;
|
|
459
|
+
uniquePaths: number;
|
|
460
|
+
};
|
|
461
|
+
estimatedCostUsd: number;
|
|
462
|
+
}
|
|
463
|
+
export type ChronicleMetricsResultPayload = {
|
|
464
|
+
view: 'summary';
|
|
465
|
+
refreshed: ChronicleMetricsRefresh;
|
|
466
|
+
data: ChronicleMetricsSummaryView;
|
|
467
|
+
} | {
|
|
468
|
+
view: 'providers';
|
|
469
|
+
refreshed: ChronicleMetricsRefresh;
|
|
470
|
+
data: ChronicleProviderDailyRow[];
|
|
471
|
+
} | {
|
|
472
|
+
view: 'tasks';
|
|
473
|
+
refreshed: ChronicleMetricsRefresh;
|
|
474
|
+
data: ChronicleTaskOutcomeRow[];
|
|
475
|
+
} | {
|
|
476
|
+
view: 'files';
|
|
477
|
+
refreshed: ChronicleMetricsRefresh;
|
|
478
|
+
data: ChronicleFileLineageRow[];
|
|
479
|
+
};
|
|
392
480
|
export interface WSSessionStats {
|
|
393
481
|
type: 'session.stats';
|
|
394
482
|
payload: {
|
|
@@ -441,6 +529,8 @@ export interface WSToolLoopDetected {
|
|
|
441
529
|
repeatCount: number;
|
|
442
530
|
iteration: number;
|
|
443
531
|
kind?: 'tool' | 'message' | 'mixed' | undefined;
|
|
532
|
+
action?: 'steer' | 'cut' | undefined;
|
|
533
|
+
scope?: 'iteration' | 'call' | undefined;
|
|
444
534
|
};
|
|
445
535
|
}
|
|
446
536
|
export interface WSDelegateStarted {
|
|
@@ -617,22 +707,23 @@ export interface WSMemoryList {
|
|
|
617
707
|
error?: string | undefined;
|
|
618
708
|
};
|
|
619
709
|
}
|
|
620
|
-
export type
|
|
621
|
-
export type
|
|
622
|
-
export interface
|
|
623
|
-
type: 'file' | 'directory' | 'symbol' | 'package' | 'command' | 'test' | 'git';
|
|
710
|
+
export type SageScope = 'project' | 'user' | 'session' | 'file' | 'symbol';
|
|
711
|
+
export type SageStatus = 'active' | 'stale' | 'superseded' | 'contradicted' | 'archived' | 'deleted';
|
|
712
|
+
export interface SageAnchor {
|
|
713
|
+
type: 'file' | 'directory' | 'symbol' | 'package' | 'command' | 'test' | 'git' | 'agent';
|
|
624
714
|
path?: string | undefined;
|
|
625
715
|
symbol?: string | undefined;
|
|
626
716
|
command?: string | undefined;
|
|
717
|
+
role?: string | undefined;
|
|
627
718
|
lineStart?: number | undefined;
|
|
628
719
|
lineEnd?: number | undefined;
|
|
629
720
|
}
|
|
630
|
-
export interface
|
|
721
|
+
export interface SageEntry {
|
|
631
722
|
id: string;
|
|
632
723
|
revision: number;
|
|
633
|
-
scope:
|
|
724
|
+
scope: SageScope;
|
|
634
725
|
kind: string;
|
|
635
|
-
status:
|
|
726
|
+
status: SageStatus;
|
|
636
727
|
contextPolicy?: 'eligible' | 'never' | undefined;
|
|
637
728
|
text: string;
|
|
638
729
|
summary?: string | undefined;
|
|
@@ -640,7 +731,7 @@ export interface SuperMemoryEntry {
|
|
|
640
731
|
confidence: number;
|
|
641
732
|
freshness: number;
|
|
642
733
|
tags: string[];
|
|
643
|
-
anchors:
|
|
734
|
+
anchors: SageAnchor[];
|
|
644
735
|
audience?: {
|
|
645
736
|
roles?: string[];
|
|
646
737
|
taskTypes?: string[];
|
|
@@ -655,13 +746,13 @@ export interface SuperMemoryEntry {
|
|
|
655
746
|
lastVerifiedAt?: string | undefined;
|
|
656
747
|
expiresAt?: string | undefined;
|
|
657
748
|
}
|
|
658
|
-
export interface
|
|
749
|
+
export interface SageStats {
|
|
659
750
|
total: number;
|
|
660
751
|
byStatus: Record<string, number>;
|
|
661
752
|
byKind: Record<string, number>;
|
|
662
753
|
edges: number;
|
|
663
754
|
}
|
|
664
|
-
export interface
|
|
755
|
+
export interface SageGraphEdge {
|
|
665
756
|
id: string;
|
|
666
757
|
from: string;
|
|
667
758
|
to: string;
|
|
@@ -670,57 +761,57 @@ export interface SuperMemoryGraphEdge {
|
|
|
670
761
|
evidence?: string[] | undefined;
|
|
671
762
|
createdAt: string;
|
|
672
763
|
}
|
|
673
|
-
export interface
|
|
674
|
-
type: 'memory.
|
|
764
|
+
export interface WSMemorySageList {
|
|
765
|
+
type: 'memory.sage.list';
|
|
675
766
|
payload: {
|
|
676
|
-
memories?:
|
|
677
|
-
stats?:
|
|
767
|
+
memories?: SageEntry[] | undefined;
|
|
768
|
+
stats?: SageStats | undefined;
|
|
678
769
|
error?: string | undefined;
|
|
679
770
|
};
|
|
680
771
|
}
|
|
681
|
-
export interface
|
|
682
|
-
type: 'memory.
|
|
772
|
+
export interface WSMemorySageListPage {
|
|
773
|
+
type: 'memory.sage.listPage';
|
|
683
774
|
payload: {
|
|
684
|
-
memories?:
|
|
775
|
+
memories?: SageEntry[] | undefined;
|
|
685
776
|
nextCursor?: string | null | undefined;
|
|
686
777
|
total?: number | undefined;
|
|
687
778
|
statusCounts?: Record<string, number> | undefined;
|
|
688
|
-
stats?:
|
|
779
|
+
stats?: SageStats | undefined;
|
|
689
780
|
error?: string | undefined;
|
|
690
781
|
};
|
|
691
782
|
}
|
|
692
|
-
export interface
|
|
693
|
-
type: 'memory.
|
|
783
|
+
export interface WSMemorySageGet {
|
|
784
|
+
type: 'memory.sage.get';
|
|
694
785
|
payload: {
|
|
695
|
-
memory?:
|
|
786
|
+
memory?: SageEntry | undefined;
|
|
696
787
|
error?: string | undefined;
|
|
697
788
|
};
|
|
698
789
|
}
|
|
699
|
-
export interface
|
|
700
|
-
type: 'memory.
|
|
790
|
+
export interface WSMemorySageGraph {
|
|
791
|
+
type: 'memory.sage.graph';
|
|
701
792
|
payload: {
|
|
702
793
|
query: string;
|
|
703
|
-
edges?:
|
|
704
|
-
memories?:
|
|
794
|
+
edges?: SageGraphEdge[] | undefined;
|
|
795
|
+
memories?: SageEntry[] | undefined;
|
|
705
796
|
error?: string | undefined;
|
|
706
797
|
};
|
|
707
798
|
}
|
|
708
|
-
export interface
|
|
709
|
-
type: 'memory.
|
|
799
|
+
export interface WSMemorySageUpdate {
|
|
800
|
+
type: 'memory.sage.update';
|
|
710
801
|
payload: {
|
|
711
|
-
memory?:
|
|
802
|
+
memory?: SageEntry | undefined;
|
|
712
803
|
error?: string | undefined;
|
|
713
804
|
};
|
|
714
805
|
}
|
|
715
|
-
export interface
|
|
716
|
-
type: 'memory.
|
|
806
|
+
export interface WSMemorySageRemember {
|
|
807
|
+
type: 'memory.sage.remember';
|
|
717
808
|
payload: {
|
|
718
|
-
memory?:
|
|
809
|
+
memory?: SageEntry | undefined;
|
|
719
810
|
error?: string | undefined;
|
|
720
811
|
};
|
|
721
812
|
}
|
|
722
|
-
export interface
|
|
723
|
-
type: 'memory.
|
|
813
|
+
export interface WSMemorySageDelete {
|
|
814
|
+
type: 'memory.sage.delete';
|
|
724
815
|
payload: {
|
|
725
816
|
success: boolean;
|
|
726
817
|
message: string;
|
|
@@ -728,9 +819,9 @@ export interface WSMemorySuperDelete {
|
|
|
728
819
|
}
|
|
729
820
|
/**
|
|
730
821
|
* Why a memory matched the file/drawer query. Mirrors
|
|
731
|
-
* `MemoryMatchVia` from `@wrongstack/
|
|
822
|
+
* `MemoryMatchVia` from `@wrongstack/sage` (see PR #4 backend).
|
|
732
823
|
* Kept as a local re-declaration so the webui types module doesn't have to
|
|
733
|
-
* import from
|
|
824
|
+
* import from sage directly.
|
|
734
825
|
*/
|
|
735
826
|
export type MemoryMatchVia = 'scope_file' | 'scope_symbol' | 'anchor_file' | 'anchor_symbol' | 'anchor_directory' | 'mention';
|
|
736
827
|
export interface MemoryPendingReview {
|
|
@@ -741,7 +832,7 @@ export interface MemoryPendingReview {
|
|
|
741
832
|
}
|
|
742
833
|
/** Web-side mirror of `MemoryForFileMatch` — superset kept local for layering. */
|
|
743
834
|
export interface MemoryForFileMatch {
|
|
744
|
-
memory:
|
|
835
|
+
memory: SageEntry;
|
|
745
836
|
matchedVia: MemoryMatchVia;
|
|
746
837
|
/** 0..1; higher = stronger match signal. */
|
|
747
838
|
matchStrength: number;
|
|
@@ -761,11 +852,11 @@ export interface MemoryForFileResponse {
|
|
|
761
852
|
reviewPendingCount: number;
|
|
762
853
|
}
|
|
763
854
|
/**
|
|
764
|
-
* Request payload for `memory.
|
|
855
|
+
* Request payload for `memory.sage.forFile`. Cursor fields are optional —
|
|
765
856
|
* when both are provided, symbol-anchored memories overlapping the cursor
|
|
766
857
|
* range surface first (cursor-aware boost).
|
|
767
858
|
*/
|
|
768
|
-
export interface
|
|
859
|
+
export interface WSMemorySageForFileRequest {
|
|
769
860
|
/** Project-relative file path. */
|
|
770
861
|
filePath: string;
|
|
771
862
|
/** Optional caret line (1-indexed). */
|
|
@@ -779,18 +870,18 @@ export interface WSMemorySuperForFileRequest {
|
|
|
779
870
|
/** Default false. Show recoverable deleted memories for one-click recovery. */
|
|
780
871
|
showDeleted?: boolean;
|
|
781
872
|
}
|
|
782
|
-
export interface
|
|
783
|
-
type: 'memory.
|
|
873
|
+
export interface WSMemorySageForFile {
|
|
874
|
+
type: 'memory.sage.forFile';
|
|
784
875
|
payload: {
|
|
785
876
|
response?: MemoryForFileResponse | undefined;
|
|
786
877
|
error?: string | undefined;
|
|
787
878
|
};
|
|
788
879
|
}
|
|
789
|
-
export interface
|
|
790
|
-
type: 'memory.
|
|
880
|
+
export interface WSMemorySageRecover {
|
|
881
|
+
type: 'memory.sage.recover';
|
|
791
882
|
payload: {
|
|
792
883
|
/** The restored memory (active status). */
|
|
793
|
-
memory?:
|
|
884
|
+
memory?: SageEntry | undefined;
|
|
794
885
|
/** True when the requested id was already active/superseded (no-op write). */
|
|
795
886
|
noop?: boolean | undefined;
|
|
796
887
|
/** Head-of-chain id when the requested id was superseded. */
|
|
@@ -798,8 +889,8 @@ export interface WSMemorySuperRecover {
|
|
|
798
889
|
error?: string | undefined;
|
|
799
890
|
};
|
|
800
891
|
}
|
|
801
|
-
export interface
|
|
802
|
-
type: 'memory.
|
|
892
|
+
export interface WSMemorySageCandidateResolve {
|
|
893
|
+
type: 'memory.sage.candidateResolve';
|
|
803
894
|
payload: {
|
|
804
895
|
/** The resolved candidate (with updated status). */
|
|
805
896
|
candidate?: MemoryCandidateEntry | undefined;
|
|
@@ -808,7 +899,7 @@ export interface WSMemorySuperCandidateResolve {
|
|
|
808
899
|
error?: string | undefined;
|
|
809
900
|
};
|
|
810
901
|
}
|
|
811
|
-
/** Local mirror of
|
|
902
|
+
/** Local mirror of sage's `MemoryCandidate`. */
|
|
812
903
|
export interface MemoryCandidateEntry {
|
|
813
904
|
schemaVersion: 1;
|
|
814
905
|
id: string;
|
|
@@ -818,7 +909,7 @@ export interface MemoryCandidateEntry {
|
|
|
818
909
|
confidence: number;
|
|
819
910
|
importance: number;
|
|
820
911
|
tags: string[];
|
|
821
|
-
anchors:
|
|
912
|
+
anchors: SageAnchor[];
|
|
822
913
|
sources: Array<{
|
|
823
914
|
type: 'user' | 'session' | 'tool_result' | 'project_instruction' | 'file' | 'test' | 'command' | 'legacy_memory';
|
|
824
915
|
sessionId?: string;
|
|
@@ -830,8 +921,8 @@ export interface MemoryCandidateEntry {
|
|
|
830
921
|
createdAt: string;
|
|
831
922
|
updatedAt: string;
|
|
832
923
|
}
|
|
833
|
-
export interface
|
|
834
|
-
type: 'memory.
|
|
924
|
+
export interface WSMemorySageBackfillRecoverable {
|
|
925
|
+
type: 'memory.sage.backfillRecoverable';
|
|
835
926
|
payload: {
|
|
836
927
|
/** Records that were backfilled into a fresh active version (dryRun=false). */
|
|
837
928
|
recoveredRecords?: Array<{
|
|
@@ -934,6 +1025,31 @@ export interface WSDesignSet {
|
|
|
934
1025
|
error?: string | undefined;
|
|
935
1026
|
};
|
|
936
1027
|
}
|
|
1028
|
+
export interface WSDesignTune {
|
|
1029
|
+
type: 'design.tune';
|
|
1030
|
+
payload: {
|
|
1031
|
+
ok: boolean;
|
|
1032
|
+
/** The concrete token overrides the knobs resolved to. */
|
|
1033
|
+
resolved?: Record<string, string> | undefined;
|
|
1034
|
+
overrides?: Record<string, string> | undefined;
|
|
1035
|
+
error?: string | undefined;
|
|
1036
|
+
};
|
|
1037
|
+
}
|
|
1038
|
+
export interface WSDesignSwap {
|
|
1039
|
+
type: 'design.swap';
|
|
1040
|
+
payload: {
|
|
1041
|
+
ok: boolean;
|
|
1042
|
+
kit?: string | undefined;
|
|
1043
|
+
name?: string | undefined;
|
|
1044
|
+
aesthetic?: string | undefined;
|
|
1045
|
+
stack?: string | undefined;
|
|
1046
|
+
body?: string | undefined;
|
|
1047
|
+
overrides?: Record<string, string> | undefined;
|
|
1048
|
+
light?: Record<string, string> | undefined;
|
|
1049
|
+
dark?: Record<string, string> | undefined;
|
|
1050
|
+
error?: string | undefined;
|
|
1051
|
+
};
|
|
1052
|
+
}
|
|
937
1053
|
export interface WSDesignMaterialize {
|
|
938
1054
|
type: 'design.materialize';
|
|
939
1055
|
payload: {
|
|
@@ -1464,6 +1580,134 @@ export interface BrainCouncilVoterWire extends BrainModelEntryWire {
|
|
|
1464
1580
|
weight?: number | undefined;
|
|
1465
1581
|
veto?: boolean | undefined;
|
|
1466
1582
|
}
|
|
1583
|
+
/** Predicate half of a deterministic Brain rule on the wire (mirrors BrainRuleMatch). */
|
|
1584
|
+
export interface BrainRuleMatchWire {
|
|
1585
|
+
source?: string | string[] | undefined;
|
|
1586
|
+
risk?: string | string[] | undefined;
|
|
1587
|
+
minRisk?: string | undefined;
|
|
1588
|
+
maxRisk?: string | undefined;
|
|
1589
|
+
fallback?: string | string[] | undefined;
|
|
1590
|
+
hasOptions?: boolean | undefined;
|
|
1591
|
+
offersOption?: string | undefined;
|
|
1592
|
+
question?: string | undefined;
|
|
1593
|
+
context?: string | undefined;
|
|
1594
|
+
notQuestion?: string | undefined;
|
|
1595
|
+
notContext?: string | undefined;
|
|
1596
|
+
}
|
|
1597
|
+
/** Action half of a deterministic Brain rule on the wire (mirrors BrainRuleAction). */
|
|
1598
|
+
export type BrainRuleActionWire = {
|
|
1599
|
+
action: 'answer';
|
|
1600
|
+
optionId?: string | undefined;
|
|
1601
|
+
text?: string | undefined;
|
|
1602
|
+
rationale?: string | undefined;
|
|
1603
|
+
} | {
|
|
1604
|
+
action: 'deny';
|
|
1605
|
+
reason?: string | undefined;
|
|
1606
|
+
} | {
|
|
1607
|
+
action: 'escalate';
|
|
1608
|
+
prompt?: string | undefined;
|
|
1609
|
+
} | {
|
|
1610
|
+
action: 'defer';
|
|
1611
|
+
};
|
|
1612
|
+
/** One deterministic Brain rule on the wire (mirrors core's BrainRule). */
|
|
1613
|
+
export interface BrainRuleWire {
|
|
1614
|
+
id: string;
|
|
1615
|
+
enabled?: boolean | undefined;
|
|
1616
|
+
description?: string | undefined;
|
|
1617
|
+
when: BrainRuleMatchWire;
|
|
1618
|
+
then: BrainRuleActionWire;
|
|
1619
|
+
}
|
|
1620
|
+
/** Built-in pattern-heuristic toggles on the wire (mirrors BrainHeuristicsConfig). */
|
|
1621
|
+
export interface BrainHeuristicsWire {
|
|
1622
|
+
lowRiskAutoAnswer: boolean;
|
|
1623
|
+
blockedResolved: boolean;
|
|
1624
|
+
deadlockSkip: boolean;
|
|
1625
|
+
retryExhausted: boolean;
|
|
1626
|
+
continuePing: boolean;
|
|
1627
|
+
blockedResolvedMarkers?: string[] | undefined;
|
|
1628
|
+
}
|
|
1629
|
+
/** Writable form of the heuristic toggles (every field optional, `null` clears the block). */
|
|
1630
|
+
export interface BrainHeuristicsPatchWire {
|
|
1631
|
+
lowRiskAutoAnswer?: boolean | undefined;
|
|
1632
|
+
blockedResolved?: boolean | undefined;
|
|
1633
|
+
deadlockSkip?: boolean | undefined;
|
|
1634
|
+
retryExhausted?: boolean | undefined;
|
|
1635
|
+
continuePing?: boolean | undefined;
|
|
1636
|
+
blockedResolvedMarkers?: string[] | undefined;
|
|
1637
|
+
}
|
|
1638
|
+
/** Effective single-LLM tier quality gate. */
|
|
1639
|
+
export interface BrainLlmWire {
|
|
1640
|
+
maxTokens: number;
|
|
1641
|
+
rejectUncertain: boolean;
|
|
1642
|
+
minConfidence: number;
|
|
1643
|
+
denyIsTerminal: 'never' | 'when-decided' | 'always';
|
|
1644
|
+
}
|
|
1645
|
+
/** Writable single-LLM tier quality gate. */
|
|
1646
|
+
export interface BrainLlmPatchWire {
|
|
1647
|
+
maxTokens?: number | undefined;
|
|
1648
|
+
rejectUncertain?: boolean | undefined;
|
|
1649
|
+
minConfidence?: number | undefined;
|
|
1650
|
+
denyIsTerminal?: 'never' | 'when-decided' | 'always' | undefined;
|
|
1651
|
+
circuitBreaker?: {
|
|
1652
|
+
failureThreshold?: number | undefined;
|
|
1653
|
+
cooldownMs?: number | undefined;
|
|
1654
|
+
} | undefined;
|
|
1655
|
+
}
|
|
1656
|
+
/** Effective replay-trace settings. */
|
|
1657
|
+
export interface BrainTraceWire {
|
|
1658
|
+
enabled: boolean;
|
|
1659
|
+
content: 'none' | 'redacted' | 'full';
|
|
1660
|
+
path?: string | undefined;
|
|
1661
|
+
}
|
|
1662
|
+
/** Writable replay-trace settings. */
|
|
1663
|
+
export interface BrainTracePatchWire {
|
|
1664
|
+
enabled?: boolean | undefined;
|
|
1665
|
+
content?: 'none' | 'redacted' | 'full' | undefined;
|
|
1666
|
+
path?: string | undefined;
|
|
1667
|
+
maxOpenRecords?: number | undefined;
|
|
1668
|
+
}
|
|
1669
|
+
/** BrainMonitor distress-signal settings (same shape read + written). */
|
|
1670
|
+
export interface BrainMonitorWire {
|
|
1671
|
+
enabled?: boolean | undefined;
|
|
1672
|
+
policy?: 'llm' | 'steer' | 'observe' | undefined;
|
|
1673
|
+
signals?: {
|
|
1674
|
+
toolFailureStreak?: boolean | undefined;
|
|
1675
|
+
errorStorm?: boolean | undefined;
|
|
1676
|
+
agentStall?: boolean | undefined;
|
|
1677
|
+
fileChurn?: boolean | undefined;
|
|
1678
|
+
} | undefined;
|
|
1679
|
+
toolFailureStreak?: number | undefined;
|
|
1680
|
+
errorStormCount?: number | undefined;
|
|
1681
|
+
errorStormWindowMs?: number | undefined;
|
|
1682
|
+
stallMs?: number | undefined;
|
|
1683
|
+
stallCheckIntervalMs?: number | undefined;
|
|
1684
|
+
fileChurnThreshold?: number | undefined;
|
|
1685
|
+
fileChurnWindowMs?: number | undefined;
|
|
1686
|
+
fileEditTools?: string[] | undefined;
|
|
1687
|
+
cooldownMs?: number | undefined;
|
|
1688
|
+
}
|
|
1689
|
+
/** Effective decision-cache settings plus live counters (`hits`/`misses`/`size` are read-only). */
|
|
1690
|
+
export interface BrainCacheWire {
|
|
1691
|
+
enabled: boolean;
|
|
1692
|
+
ttlMs: number;
|
|
1693
|
+
maxEntries: number;
|
|
1694
|
+
hits: number;
|
|
1695
|
+
misses: number;
|
|
1696
|
+
size: number;
|
|
1697
|
+
}
|
|
1698
|
+
/** Writable decision-cache settings. */
|
|
1699
|
+
export interface BrainCachePatchWire {
|
|
1700
|
+
enabled?: boolean | undefined;
|
|
1701
|
+
ttlMs?: number | undefined;
|
|
1702
|
+
maxEntries?: number | undefined;
|
|
1703
|
+
}
|
|
1704
|
+
/** One council seat template on the wire. */
|
|
1705
|
+
export interface BrainCouncilSeatWire {
|
|
1706
|
+
persona: string;
|
|
1707
|
+
veto?: boolean | undefined;
|
|
1708
|
+
}
|
|
1709
|
+
/** Headless escalation variant. */
|
|
1710
|
+
export type BrainTerminalPolicyWire = 'conservative' | 'deny-all' | 'continue-on-recommended';
|
|
1467
1711
|
/** JSON-safe snapshot of the live Brain config (mirrors core's BrainConfigSnapshot). */
|
|
1468
1712
|
export interface BrainConfigWire {
|
|
1469
1713
|
mode: 'headless' | 'interactive';
|
|
@@ -1481,14 +1725,44 @@ export interface BrainConfigWire {
|
|
|
1481
1725
|
quorum?: number | undefined;
|
|
1482
1726
|
approval?: number | undefined;
|
|
1483
1727
|
judge?: BrainModelEntryWire | undefined;
|
|
1728
|
+
perCallTimeoutMs?: number | undefined;
|
|
1729
|
+
maxConcurrency?: number | undefined;
|
|
1730
|
+
distinctness: 'none' | 'model' | 'provider';
|
|
1731
|
+
judgeMaxTokens?: number | undefined;
|
|
1732
|
+
seats: BrainCouncilSeatWire[];
|
|
1484
1733
|
};
|
|
1485
1734
|
ledger: {
|
|
1486
1735
|
enabled: boolean;
|
|
1487
1736
|
autoDenyAfterFailures?: number | undefined;
|
|
1488
1737
|
path?: string | undefined;
|
|
1489
|
-
|
|
1738
|
+
/** Writable via the patch; core's snapshot does not echo these back yet. */
|
|
1739
|
+
maxMemoryEntries?: number | undefined;
|
|
1740
|
+
interventionRetryWindowMs?: number | undefined;
|
|
1741
|
+
};
|
|
1742
|
+
/** Configured deterministic rules, in evaluation order (read-only here). */
|
|
1743
|
+
rules: BrainRuleWire[];
|
|
1744
|
+
/** Compile diagnostics from the last assembly — one per dropped rule. */
|
|
1745
|
+
ruleErrors: string[];
|
|
1746
|
+
heuristics: BrainHeuristicsWire;
|
|
1747
|
+
llm: BrainLlmWire;
|
|
1748
|
+
trace: BrainTraceWire;
|
|
1749
|
+
monitor: BrainMonitorWire;
|
|
1750
|
+
terminalPolicy: BrainTerminalPolicyWire;
|
|
1751
|
+
decisionLogMaxEntries: number;
|
|
1752
|
+
/** Live LLM circuit-breaker state, when a breaker is wired (read-only). */
|
|
1753
|
+
circuit?: {
|
|
1754
|
+
state: string;
|
|
1755
|
+
consecutiveFailures: number;
|
|
1756
|
+
} | undefined;
|
|
1757
|
+
cache: BrainCacheWire;
|
|
1490
1758
|
poolLabels: string[];
|
|
1491
1759
|
councilLabels: string[];
|
|
1760
|
+
/**
|
|
1761
|
+
* EFFECTIVE council judge, undefined when no council is wired. Distinct from
|
|
1762
|
+
* `council.judge` (the CONFIGURED one, usually absent): the derived judge is
|
|
1763
|
+
* the one that can silently also be a seated voter.
|
|
1764
|
+
*/
|
|
1765
|
+
judgeLabel?: string | undefined;
|
|
1492
1766
|
usingSessionModel: boolean;
|
|
1493
1767
|
}
|
|
1494
1768
|
/** Partial Brain config update: omitted = untouched, null = clear, arrays replace. */
|
|
@@ -1506,11 +1780,28 @@ export interface BrainConfigPatchWire {
|
|
|
1506
1780
|
quorum?: number | null | undefined;
|
|
1507
1781
|
approval?: number | null | undefined;
|
|
1508
1782
|
judge?: string | BrainModelEntryWire | null | undefined;
|
|
1783
|
+
perCallTimeoutMs?: number | null | undefined;
|
|
1784
|
+
maxConcurrency?: number | null | undefined;
|
|
1785
|
+
distinctness?: 'none' | 'model' | 'provider' | null | undefined;
|
|
1786
|
+
judgeMaxTokens?: number | null | undefined;
|
|
1787
|
+
seats?: BrainCouncilSeatWire[] | null | undefined;
|
|
1509
1788
|
} | null | undefined;
|
|
1510
1789
|
ledger?: {
|
|
1511
1790
|
enabled?: boolean | undefined;
|
|
1512
1791
|
autoDenyAfterFailures?: number | null | undefined;
|
|
1792
|
+
maxMemoryEntries?: number | null | undefined;
|
|
1793
|
+
interventionRetryWindowMs?: number | null | undefined;
|
|
1513
1794
|
} | null | undefined;
|
|
1795
|
+
/** Replaces the whole rule table; `null` clears it. */
|
|
1796
|
+
rules?: BrainRuleWire[] | null | undefined;
|
|
1797
|
+
/** Merged field-by-field; `null` clears the block back to all-defaults. */
|
|
1798
|
+
heuristics?: BrainHeuristicsPatchWire | null | undefined;
|
|
1799
|
+
llm?: BrainLlmPatchWire | null | undefined;
|
|
1800
|
+
trace?: BrainTracePatchWire | null | undefined;
|
|
1801
|
+
monitor?: BrainMonitorWire | null | undefined;
|
|
1802
|
+
terminalPolicy?: BrainTerminalPolicyWire | null | undefined;
|
|
1803
|
+
decisionLogMaxEntries?: number | null | undefined;
|
|
1804
|
+
cache?: BrainCachePatchWire | null | undefined;
|
|
1514
1805
|
}
|
|
1515
1806
|
export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
|
|
1516
1807
|
type: 'side_effects.list';
|
|
@@ -1939,9 +2230,12 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
|
|
|
1939
2230
|
} | {
|
|
1940
2231
|
type: 'memory.list';
|
|
1941
2232
|
} | {
|
|
1942
|
-
type:
|
|
2233
|
+
type: `agent-roster.${string}`;
|
|
2234
|
+
payload?: Record<string, unknown> | undefined;
|
|
2235
|
+
} | {
|
|
2236
|
+
type: 'memory.sage.list';
|
|
1943
2237
|
} | {
|
|
1944
|
-
type: 'memory.
|
|
2238
|
+
type: 'memory.sage.listPage';
|
|
1945
2239
|
payload: {
|
|
1946
2240
|
statuses?: string[] | undefined;
|
|
1947
2241
|
kind?: string | undefined;
|
|
@@ -1950,29 +2244,29 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
|
|
|
1950
2244
|
cursor?: string | undefined;
|
|
1951
2245
|
};
|
|
1952
2246
|
} | {
|
|
1953
|
-
type: 'memory.
|
|
2247
|
+
type: 'memory.sage.get';
|
|
1954
2248
|
payload: {
|
|
1955
2249
|
id: string;
|
|
1956
2250
|
};
|
|
1957
2251
|
} | {
|
|
1958
|
-
type: 'memory.
|
|
2252
|
+
type: 'memory.sage.graph';
|
|
1959
2253
|
payload: {
|
|
1960
2254
|
query: string;
|
|
1961
2255
|
maxDepth?: number;
|
|
1962
2256
|
limit?: number;
|
|
1963
2257
|
};
|
|
1964
2258
|
} | {
|
|
1965
|
-
type: 'memory.
|
|
2259
|
+
type: 'memory.sage.update';
|
|
1966
2260
|
payload: {
|
|
1967
2261
|
id: string;
|
|
1968
2262
|
text?: string | undefined;
|
|
1969
2263
|
tags?: string[] | undefined;
|
|
1970
2264
|
kind?: string | undefined;
|
|
1971
|
-
status?:
|
|
2265
|
+
status?: SageStatus | undefined;
|
|
1972
2266
|
importance?: number | undefined;
|
|
1973
2267
|
confidence?: number | undefined;
|
|
1974
2268
|
freshness?: number | undefined;
|
|
1975
|
-
anchors?:
|
|
2269
|
+
anchors?: SageAnchor[] | undefined;
|
|
1976
2270
|
audience?: {
|
|
1977
2271
|
roles?: string[];
|
|
1978
2272
|
taskTypes?: string[];
|
|
@@ -1982,27 +2276,27 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
|
|
|
1982
2276
|
contradicts?: string[] | undefined;
|
|
1983
2277
|
};
|
|
1984
2278
|
} | {
|
|
1985
|
-
type: 'memory.
|
|
2279
|
+
type: 'memory.sage.delete';
|
|
1986
2280
|
payload: {
|
|
1987
2281
|
id: string;
|
|
1988
2282
|
reason?: string | undefined;
|
|
1989
2283
|
neverInject?: boolean | undefined;
|
|
1990
2284
|
};
|
|
1991
2285
|
} | {
|
|
1992
|
-
type: 'memory.
|
|
2286
|
+
type: 'memory.sage.recover';
|
|
1993
2287
|
payload: {
|
|
1994
2288
|
id: string;
|
|
1995
2289
|
reason?: string | undefined;
|
|
1996
2290
|
};
|
|
1997
2291
|
} | {
|
|
1998
|
-
type: 'memory.
|
|
2292
|
+
type: 'memory.sage.candidateResolve';
|
|
1999
2293
|
payload: {
|
|
2000
2294
|
candidateId: string;
|
|
2001
2295
|
action: 'accept' | 'reject';
|
|
2002
2296
|
reason?: string | undefined;
|
|
2003
2297
|
};
|
|
2004
2298
|
} | {
|
|
2005
|
-
type: 'memory.
|
|
2299
|
+
type: 'memory.sage.backfillRecoverable';
|
|
2006
2300
|
payload: {
|
|
2007
2301
|
apply: boolean;
|
|
2008
2302
|
kinds?: string[] | undefined;
|
|
@@ -2011,19 +2305,19 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
|
|
|
2011
2305
|
updatedBefore?: string | undefined;
|
|
2012
2306
|
};
|
|
2013
2307
|
} | {
|
|
2014
|
-
type: 'memory.
|
|
2015
|
-
payload:
|
|
2308
|
+
type: 'memory.sage.forFile';
|
|
2309
|
+
payload: WSMemorySageForFileRequest;
|
|
2016
2310
|
} | {
|
|
2017
|
-
type: 'memory.
|
|
2311
|
+
type: 'memory.sage.remember';
|
|
2018
2312
|
payload: {
|
|
2019
2313
|
text: string;
|
|
2020
2314
|
kind?: string | undefined;
|
|
2021
|
-
scope?:
|
|
2315
|
+
scope?: SageScope | undefined;
|
|
2022
2316
|
tags?: string[] | undefined;
|
|
2023
2317
|
importance?: number | undefined;
|
|
2024
2318
|
confidence?: number | undefined;
|
|
2025
2319
|
freshness?: number | undefined;
|
|
2026
|
-
anchors?:
|
|
2320
|
+
anchors?: SageAnchor[] | undefined;
|
|
2027
2321
|
audience?: {
|
|
2028
2322
|
roles?: string[];
|
|
2029
2323
|
taskTypes?: string[];
|
|
@@ -2100,6 +2394,13 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
|
|
|
2100
2394
|
query?: ChronicleQuery | undefined;
|
|
2101
2395
|
limit?: number | undefined;
|
|
2102
2396
|
};
|
|
2397
|
+
} | {
|
|
2398
|
+
type: 'chronicle.facets';
|
|
2399
|
+
payload: {
|
|
2400
|
+
fields: ChronicleFacet[];
|
|
2401
|
+
query?: ChronicleQuery | undefined;
|
|
2402
|
+
limit?: number | undefined;
|
|
2403
|
+
};
|
|
2103
2404
|
} | {
|
|
2104
2405
|
type: 'chronicle.graph';
|
|
2105
2406
|
payload: {
|
|
@@ -2107,6 +2408,19 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
|
|
|
2107
2408
|
hops?: number;
|
|
2108
2409
|
maxNodes?: number;
|
|
2109
2410
|
};
|
|
2411
|
+
} | {
|
|
2412
|
+
type: 'chronicle.metrics';
|
|
2413
|
+
payload: {
|
|
2414
|
+
view?: ChronicleMetricsView | undefined;
|
|
2415
|
+
from?: string | undefined;
|
|
2416
|
+
to?: string | undefined;
|
|
2417
|
+
path?: string | undefined;
|
|
2418
|
+
taskId?: string | undefined;
|
|
2419
|
+
boardId?: string | undefined;
|
|
2420
|
+
sessionId?: string | undefined;
|
|
2421
|
+
status?: string | undefined;
|
|
2422
|
+
limit?: number | undefined;
|
|
2423
|
+
};
|
|
2110
2424
|
} | {
|
|
2111
2425
|
type: 'session.save';
|
|
2112
2426
|
payload?: SessionScopedPayload;
|
|
@@ -2253,6 +2567,18 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
|
|
|
2253
2567
|
target: 'terminal' | 'file-manager';
|
|
2254
2568
|
};
|
|
2255
2569
|
} | WSCollabJoin | WSCollabLeave | WSCollabAnnotate | WSCollabResolve | WSCollabRequestPause | WSCollabResume | WSCollabGrantControl | WSCollabInjectTool | {
|
|
2570
|
+
type: 'mailbox.send';
|
|
2571
|
+
payload: {
|
|
2572
|
+
requestId: string;
|
|
2573
|
+
to: string;
|
|
2574
|
+
type: 'note' | 'ask' | 'assign' | 'steer' | 'btw' | 'broadcast' | 'status' | 'result' | 'review';
|
|
2575
|
+
audience: 'all' | 'leaders';
|
|
2576
|
+
subject: string;
|
|
2577
|
+
body: string;
|
|
2578
|
+
priority: 'low' | 'normal' | 'high';
|
|
2579
|
+
replyTo?: string | undefined;
|
|
2580
|
+
};
|
|
2581
|
+
} | {
|
|
2256
2582
|
type: 'mailbox.messages';
|
|
2257
2583
|
payload: {
|
|
2258
2584
|
limit?: number | undefined;
|
|
@@ -2370,6 +2696,22 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
|
|
|
2370
2696
|
payload: {
|
|
2371
2697
|
overrides: Record<string, string>;
|
|
2372
2698
|
};
|
|
2699
|
+
} | {
|
|
2700
|
+
type: 'design.tune';
|
|
2701
|
+
payload: {
|
|
2702
|
+
tune: {
|
|
2703
|
+
radius?: string | undefined;
|
|
2704
|
+
density?: string | undefined;
|
|
2705
|
+
font?: string | undefined;
|
|
2706
|
+
motion?: string | undefined;
|
|
2707
|
+
};
|
|
2708
|
+
};
|
|
2709
|
+
} | {
|
|
2710
|
+
type: 'design.swap';
|
|
2711
|
+
payload: {
|
|
2712
|
+
kit: string;
|
|
2713
|
+
stack?: string | undefined;
|
|
2714
|
+
};
|
|
2373
2715
|
} | {
|
|
2374
2716
|
type: 'design.materialize';
|
|
2375
2717
|
payload?: {
|
|
@@ -2378,6 +2720,11 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
|
|
|
2378
2720
|
} | undefined;
|
|
2379
2721
|
} | {
|
|
2380
2722
|
type: 'design.verify';
|
|
2723
|
+
} | {
|
|
2724
|
+
type: 'config.doctor';
|
|
2725
|
+
payload?: {
|
|
2726
|
+
apply?: boolean;
|
|
2727
|
+
} | undefined;
|
|
2381
2728
|
} | {
|
|
2382
2729
|
type: 'mcp.list';
|
|
2383
2730
|
} | {
|
|
@@ -2391,6 +2738,9 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
|
|
|
2391
2738
|
args?: string[];
|
|
2392
2739
|
env?: Record<string, string>;
|
|
2393
2740
|
allowedTools?: string[];
|
|
2741
|
+
url?: string;
|
|
2742
|
+
headers?: Record<string, string>;
|
|
2743
|
+
lazy?: boolean;
|
|
2394
2744
|
};
|
|
2395
2745
|
} | {
|
|
2396
2746
|
type: 'mcp.remove';
|
|
@@ -2408,6 +2758,9 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
|
|
|
2408
2758
|
args?: string[];
|
|
2409
2759
|
env?: Record<string, string>;
|
|
2410
2760
|
allowedTools?: string[];
|
|
2761
|
+
url?: string;
|
|
2762
|
+
headers?: Record<string, string>;
|
|
2763
|
+
lazy?: boolean;
|
|
2411
2764
|
};
|
|
2412
2765
|
} | {
|
|
2413
2766
|
type: 'mcp.wake';
|
|
@@ -2513,7 +2866,7 @@ export type WSClientMessageCore = WSUserMessage | WSToolConfirmResult | {
|
|
|
2513
2866
|
type: 'webui.shutdown';
|
|
2514
2867
|
};
|
|
2515
2868
|
export type WSClientMessage = WSClientMessageCore;
|
|
2516
|
-
export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSThinkingDelta | WSToolUseStart | WSToolProgress | WSToolExecuted | WSCodeMapToolStarted | WSCodeMapToolExecuted | WSIterationStarted | WSIterationCompleted | WSIterationLimitReached | WSProviderResponse | WSProviderRetry | WSProviderError | WSProviderFallback | WSProviderStatusChanged | WSProviderActiveBlocked | WSProviderStreamError | WSRunResult | WSSessionStats | WSError | WSToolConfirmNeeded | WSTrustPersisted | WSToolLoopDetected | WSDelegateStarted | WSDelegateCompleted | WSContextDebug | WSContextCompacted | WSCompactionFailed | WSContextRepaired | WSContextPct | WSContextMaxContext | WSTokenThreshold | WSTokenCostEstimateUnavailable | WSContextModesList | WSContextModeChanged | WSToolsList | WSMemoryList |
|
|
2869
|
+
export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSThinkingDelta | WSToolUseStart | WSToolProgress | WSToolExecuted | WSCodeMapToolStarted | WSCodeMapToolExecuted | WSIterationStarted | WSIterationCompleted | WSIterationLimitReached | WSProviderResponse | WSProviderRetry | WSProviderError | WSProviderFallback | WSProviderStatusChanged | WSProviderActiveBlocked | WSProviderStreamError | WSRunResult | WSSessionStats | WSError | WSToolConfirmNeeded | WSTrustPersisted | WSToolLoopDetected | WSDelegateStarted | WSDelegateCompleted | WSContextDebug | WSContextCompacted | WSCompactionFailed | WSContextRepaired | WSContextPct | WSContextMaxContext | WSTokenThreshold | WSTokenCostEstimateUnavailable | WSContextModesList | WSContextModeChanged | WSToolsList | WSMemoryList | WSMemorySageList | WSMemorySageListPage | WSMemorySageGet | WSMemorySageGraph | WSMemorySageUpdate | WSMemorySageRemember | WSMemorySageDelete | WSMemorySageRecover | WSMemorySageCandidateResolve | WSMemorySageBackfillRecoverable | WSMemorySageForFile | WSSkillsList | WSSkillContent | WSDesignList | WSDesignUse | WSDesignState | WSDesignSet | WSDesignTune | WSDesignSwap | WSDesignMaterialize | WSDesignVerify | WSSkillsInstalled | WSSkillsUninstalled | WSSkillsUpdated | WSSkillsCreated | WSSkillsEdited | WSSkillsExported | WSDiagGet | WSStatsGet | {
|
|
2517
2870
|
type: 'chronicle.query_result';
|
|
2518
2871
|
payload: ChronicleQueryResult;
|
|
2519
2872
|
} | {
|
|
@@ -2526,9 +2879,21 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
|
|
|
2526
2879
|
invalidLines: number;
|
|
2527
2880
|
};
|
|
2528
2881
|
};
|
|
2882
|
+
} | {
|
|
2883
|
+
type: 'chronicle.facets_result';
|
|
2884
|
+
payload: {
|
|
2885
|
+
values: Partial<Record<ChronicleFacet, ChronicleFacetValue[]>>;
|
|
2886
|
+
diagnostics: {
|
|
2887
|
+
sourceFiles: number;
|
|
2888
|
+
invalidLines: number;
|
|
2889
|
+
};
|
|
2890
|
+
};
|
|
2529
2891
|
} | {
|
|
2530
2892
|
type: 'chronicle.graph_result';
|
|
2531
2893
|
payload: ChronicleGraphResult;
|
|
2894
|
+
} | {
|
|
2895
|
+
type: 'chronicle.metrics_result';
|
|
2896
|
+
payload: ChronicleMetricsResultPayload;
|
|
2532
2897
|
} | {
|
|
2533
2898
|
type: 'chronicle.error';
|
|
2534
2899
|
payload: {
|
|
@@ -2716,6 +3081,16 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
|
|
|
2716
3081
|
agents: Array<Record<string, unknown>>;
|
|
2717
3082
|
error?: string | undefined;
|
|
2718
3083
|
};
|
|
3084
|
+
} | {
|
|
3085
|
+
type: 'mailbox.sent';
|
|
3086
|
+
payload: {
|
|
3087
|
+
requestId: string;
|
|
3088
|
+
success: boolean;
|
|
3089
|
+
messageId?: string | undefined;
|
|
3090
|
+
to?: string | undefined;
|
|
3091
|
+
audience?: 'all' | 'leaders' | undefined;
|
|
3092
|
+
error?: string | undefined;
|
|
3093
|
+
};
|
|
2719
3094
|
} | {
|
|
2720
3095
|
type: 'pong';
|
|
2721
3096
|
payload?: Record<string, unknown> | undefined;
|
|
@@ -2729,6 +3104,7 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
|
|
|
2729
3104
|
startedAt: number;
|
|
2730
3105
|
status: 'running' | 'exited' | 'killed';
|
|
2731
3106
|
protected?: boolean | undefined;
|
|
3107
|
+
background?: boolean | undefined;
|
|
2732
3108
|
}>;
|
|
2733
3109
|
};
|
|
2734
3110
|
} | WSSideEffects | {
|
|
@@ -2808,6 +3184,8 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
|
|
|
2808
3184
|
mode?: 'headless' | 'interactive' | undefined;
|
|
2809
3185
|
poolLabels?: string[] | undefined;
|
|
2810
3186
|
councilLabels?: string[] | undefined;
|
|
3187
|
+
/** EFFECTIVE council judge — undefined when no council is wired. */
|
|
3188
|
+
judgeLabel?: string | undefined;
|
|
2811
3189
|
ledgerPath?: string | undefined;
|
|
2812
3190
|
};
|
|
2813
3191
|
} | {
|
|
@@ -2861,6 +3239,13 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
|
|
|
2861
3239
|
line?: number | undefined;
|
|
2862
3240
|
endLine?: number | undefined;
|
|
2863
3241
|
};
|
|
3242
|
+
} | {
|
|
3243
|
+
type: 'codemap.index_updated';
|
|
3244
|
+
payload: {
|
|
3245
|
+
at: number;
|
|
3246
|
+
ready: boolean;
|
|
3247
|
+
reason: 'index_complete';
|
|
3248
|
+
};
|
|
2864
3249
|
} | {
|
|
2865
3250
|
type: 'session.damaged';
|
|
2866
3251
|
payload: {
|
|
@@ -3044,6 +3429,20 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
|
|
|
3044
3429
|
name: string;
|
|
3045
3430
|
ok: boolean;
|
|
3046
3431
|
};
|
|
3432
|
+
} | {
|
|
3433
|
+
type: 'config.doctor.result';
|
|
3434
|
+
payload: {
|
|
3435
|
+
success: boolean;
|
|
3436
|
+
applied: boolean;
|
|
3437
|
+
changed: boolean;
|
|
3438
|
+
changes: Array<{
|
|
3439
|
+
path: string;
|
|
3440
|
+
action: 'added' | 'replaced';
|
|
3441
|
+
}>;
|
|
3442
|
+
configPath: string;
|
|
3443
|
+
backupPath?: string;
|
|
3444
|
+
error?: string;
|
|
3445
|
+
};
|
|
3047
3446
|
} | {
|
|
3048
3447
|
type: 'mcp.list';
|
|
3049
3448
|
payload: {
|
|
@@ -3056,6 +3455,11 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
|
|
|
3056
3455
|
tools?: string[];
|
|
3057
3456
|
error?: string;
|
|
3058
3457
|
pid?: number;
|
|
3458
|
+
lazy?: boolean;
|
|
3459
|
+
command?: string;
|
|
3460
|
+
args?: string[];
|
|
3461
|
+
env?: Record<string, string>;
|
|
3462
|
+
url?: string;
|
|
3059
3463
|
health?: {
|
|
3060
3464
|
healthState: 'disabled' | 'dormant' | 'connecting' | 'healthy' | 'degraded' | 'failed';
|
|
3061
3465
|
consecutiveFailures: number;
|
|
@@ -3089,6 +3493,11 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
|
|
|
3089
3493
|
enabled: boolean;
|
|
3090
3494
|
description?: string;
|
|
3091
3495
|
tools?: string[];
|
|
3496
|
+
lazy?: boolean;
|
|
3497
|
+
command?: string;
|
|
3498
|
+
args?: string[];
|
|
3499
|
+
env?: Record<string, string>;
|
|
3500
|
+
url?: string;
|
|
3092
3501
|
};
|
|
3093
3502
|
};
|
|
3094
3503
|
} | {
|
|
@@ -3106,6 +3515,11 @@ export type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSTh
|
|
|
3106
3515
|
enabled: boolean;
|
|
3107
3516
|
description?: string;
|
|
3108
3517
|
tools?: string[];
|
|
3518
|
+
lazy?: boolean;
|
|
3519
|
+
command?: string;
|
|
3520
|
+
args?: string[];
|
|
3521
|
+
env?: Record<string, string>;
|
|
3522
|
+
url?: string;
|
|
3109
3523
|
};
|
|
3110
3524
|
};
|
|
3111
3525
|
} | {
|