@wrongstack/webui 0.274.0 → 0.275.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/types.d.ts CHANGED
@@ -428,6 +428,84 @@ interface WSSkillContent {
428
428
  sourceUrl?: string;
429
429
  };
430
430
  }
431
+ interface WSDesignKitSummary {
432
+ id: string;
433
+ name: string;
434
+ aesthetic: string;
435
+ bestFor: string;
436
+ stacks: string[];
437
+ tags: string[];
438
+ light: Record<string, string>;
439
+ dark: Record<string, string>;
440
+ }
441
+ interface WSDesignList {
442
+ type: 'design.list';
443
+ payload: {
444
+ kits: WSDesignKitSummary[];
445
+ activeKit: string | null;
446
+ stack: string | null;
447
+ overrides?: Record<string, string> | undefined;
448
+ error?: string | undefined;
449
+ };
450
+ }
451
+ interface WSDesignUse {
452
+ type: 'design.use';
453
+ payload: {
454
+ ok: boolean;
455
+ kit?: string | undefined;
456
+ name?: string | undefined;
457
+ aesthetic?: string | undefined;
458
+ stack?: string | undefined;
459
+ body?: string | undefined;
460
+ overrides?: Record<string, string> | undefined;
461
+ light?: Record<string, string> | undefined;
462
+ dark?: Record<string, string> | undefined;
463
+ error?: string | undefined;
464
+ };
465
+ }
466
+ interface WSDesignState {
467
+ type: 'design.state';
468
+ payload: {
469
+ activeKit: string | null;
470
+ stack: string | null;
471
+ overrides?: Record<string, string> | undefined;
472
+ };
473
+ }
474
+ interface WSDesignSet {
475
+ type: 'design.set';
476
+ payload: {
477
+ ok: boolean;
478
+ overrides?: Record<string, string> | undefined;
479
+ error?: string | undefined;
480
+ };
481
+ }
482
+ interface WSDesignMaterialize {
483
+ type: 'design.materialize';
484
+ payload: {
485
+ ok: boolean;
486
+ path?: string | undefined;
487
+ format?: string | undefined;
488
+ stack?: string | undefined;
489
+ error?: string | undefined;
490
+ };
491
+ }
492
+ interface WSDesignVerify {
493
+ type: 'design.verify';
494
+ payload: {
495
+ ok: boolean;
496
+ kit?: string | undefined;
497
+ filesScanned?: number | undefined;
498
+ score?: number | undefined;
499
+ violationCount?: number | undefined;
500
+ violations?: {
501
+ file: string;
502
+ line: number;
503
+ snippet: string;
504
+ reason: string;
505
+ }[] | undefined;
506
+ error?: string | undefined;
507
+ };
508
+ }
431
509
  interface WSSkillsInstalled {
432
510
  type: 'skills.installed';
433
511
  payload: {
@@ -542,9 +620,23 @@ interface WSStatsGet {
542
620
  messages: number;
543
621
  readFiles: number;
544
622
  tools: number;
623
+ sideEffectCount?: number | undefined;
545
624
  elapsedMs: number;
546
625
  };
547
626
  }
627
+ interface WSSideEffects {
628
+ type: 'side_effects';
629
+ payload: {
630
+ sideEffects: Array<{
631
+ toolUseId: string;
632
+ toolName: string;
633
+ ts: string;
634
+ input: Record<string, unknown>;
635
+ outcome?: string | undefined;
636
+ risk: string;
637
+ }>;
638
+ };
639
+ }
548
640
  interface WSSessionsList {
549
641
  type: 'sessions.list';
550
642
  payload: {
@@ -757,6 +849,8 @@ interface WorktreeHandleView {
757
849
  handleId: string;
758
850
  ownerId: string;
759
851
  ownerLabel: string;
852
+ /** Absolute checkout path (for open-in-terminal / remove). */
853
+ dir?: string | undefined;
760
854
  branch: string;
761
855
  baseBranch: string;
762
856
  status: 'allocating' | 'active' | 'committing' | 'merging' | 'merged' | 'needs-review' | 'failed';
@@ -790,6 +884,64 @@ interface WSWorktreeEvent {
790
884
  at: number;
791
885
  };
792
886
  }
887
+ /** One orphaned git artifact left by a previous/crashed run. */
888
+ interface WorktreeOrphanView {
889
+ /** Absolute checkout path (omitted for a branch-only orphan). */
890
+ dir?: string | undefined;
891
+ /** Branch name (`wstack/ap/*`), when known. */
892
+ branch?: string | undefined;
893
+ kind: 'worktree' | 'branch';
894
+ }
895
+ /** Disk-scanned orphan inventory + whether it is safe to clean right now. */
896
+ interface WSWorktreeOrphans {
897
+ type: 'worktree.orphans';
898
+ payload: {
899
+ orphans: WorktreeOrphanView[];
900
+ /** False while a run is live (in this session or another process). */
901
+ canClean: boolean;
902
+ /** Why cleaning is blocked, when canClean is false. */
903
+ reason?: string | undefined;
904
+ };
905
+ }
906
+ /** Outcome of a worktree-panel orphan cleanup (bulk or single remove). */
907
+ interface WSWorktreeCleanupResult {
908
+ type: 'worktree.cleanup_result';
909
+ payload: {
910
+ ok: boolean;
911
+ removed: number;
912
+ reason?: string | undefined;
913
+ };
914
+ }
915
+ /** Compact per-worktree change summary. */
916
+ interface WorktreeDiffSummary {
917
+ files: Array<{
918
+ path: string;
919
+ insertions: number;
920
+ deletions: number;
921
+ }>;
922
+ insertions: number;
923
+ deletions: number;
924
+ commits: number;
925
+ }
926
+ /** Outcome of a per-worktree squash-merge into base. */
927
+ interface WSWorktreeMergeResult {
928
+ type: 'worktree.merge_result';
929
+ payload: {
930
+ ok: boolean;
931
+ branch: string;
932
+ conflict?: boolean | undefined;
933
+ conflictFiles?: string[] | undefined;
934
+ reason?: string | undefined;
935
+ };
936
+ }
937
+ /** Result of a per-worktree "View changes" request. */
938
+ interface WSWorktreeDiffResult {
939
+ type: 'worktree.diff_result';
940
+ payload: {
941
+ dir: string;
942
+ summary: WorktreeDiffSummary | null;
943
+ };
944
+ }
793
945
  type WSClientMessage = WSUserMessage | WSToolConfirmResult | {
794
946
  type: 'autophase.start';
795
947
  payload: {
@@ -985,6 +1137,35 @@ type WSClientMessage = WSUserMessage | WSToolConfirmResult | {
985
1137
  payload?: {
986
1138
  runId?: string | undefined;
987
1139
  };
1140
+ } | {
1141
+ type: 'sdd.board.destroy';
1142
+ payload?: {
1143
+ runId?: string | undefined;
1144
+ revertMerged?: boolean | undefined;
1145
+ };
1146
+ } | {
1147
+ type: 'worktree.scan';
1148
+ payload?: Record<string, never>;
1149
+ } | {
1150
+ type: 'worktree.cleanup';
1151
+ payload?: Record<string, never>;
1152
+ } | {
1153
+ type: 'worktree.remove';
1154
+ payload: {
1155
+ dir?: string | undefined;
1156
+ branch?: string | undefined;
1157
+ };
1158
+ } | {
1159
+ type: 'worktree.merge';
1160
+ payload: {
1161
+ branch: string;
1162
+ };
1163
+ } | {
1164
+ type: 'worktree.diff';
1165
+ payload: {
1166
+ dir: string;
1167
+ baseBranch?: string | undefined;
1168
+ };
988
1169
  } | {
989
1170
  type: 'sdd.spec.start';
990
1171
  payload: {
@@ -1178,6 +1359,48 @@ type WSClientMessage = WSUserMessage | WSToolConfirmResult | {
1178
1359
  name: string;
1179
1360
  source: string;
1180
1361
  };
1362
+ } | {
1363
+ type: 'prompts.list';
1364
+ } | {
1365
+ type: 'prompts.search';
1366
+ payload: {
1367
+ query?: string | undefined;
1368
+ category?: string | undefined;
1369
+ };
1370
+ } | {
1371
+ type: 'prompts.content';
1372
+ payload: {
1373
+ slug: string;
1374
+ };
1375
+ } | {
1376
+ type: 'prompts.favorite';
1377
+ payload: {
1378
+ slug: string;
1379
+ favorite: boolean;
1380
+ };
1381
+ } | {
1382
+ type: 'prompts.used';
1383
+ payload: {
1384
+ slug: string;
1385
+ };
1386
+ } | {
1387
+ type: 'prompts.recent';
1388
+ } | {
1389
+ type: 'prompts.create';
1390
+ payload: {
1391
+ title: string;
1392
+ content: string;
1393
+ description?: string | undefined;
1394
+ category?: string | undefined;
1395
+ tags?: string[] | undefined;
1396
+ variables?: {
1397
+ name: string;
1398
+ description?: string | undefined;
1399
+ required?: boolean | undefined;
1400
+ multiline?: boolean | undefined;
1401
+ enum?: string[] | undefined;
1402
+ }[] | undefined;
1403
+ };
1181
1404
  } | {
1182
1405
  type: 'diag.get';
1183
1406
  } | {
@@ -1392,6 +1615,30 @@ type WSClientMessage = WSUserMessage | WSToolConfirmResult | {
1392
1615
  name: string;
1393
1616
  body: string;
1394
1617
  };
1618
+ } | {
1619
+ type: 'design.list';
1620
+ } | {
1621
+ type: 'design.use';
1622
+ payload: {
1623
+ kit: string;
1624
+ stack?: string | undefined;
1625
+ overrides?: Record<string, string> | undefined;
1626
+ };
1627
+ } | {
1628
+ type: 'design.state';
1629
+ } | {
1630
+ type: 'design.set';
1631
+ payload: {
1632
+ overrides: Record<string, string>;
1633
+ };
1634
+ } | {
1635
+ type: 'design.materialize';
1636
+ payload?: {
1637
+ stack?: string | undefined;
1638
+ out?: string | undefined;
1639
+ } | undefined;
1640
+ } | {
1641
+ type: 'design.verify';
1395
1642
  } | {
1396
1643
  type: 'mcp.list';
1397
1644
  } | {
@@ -1486,7 +1733,7 @@ type WSClientMessage = WSUserMessage | WSToolConfirmResult | {
1486
1733
  } | {
1487
1734
  type: 'webui.shutdown';
1488
1735
  };
1489
- type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSThinkingDelta | WSToolUseStart | WSToolProgress | WSToolExecuted | WSIterationStarted | WSIterationCompleted | WSIterationLimitReached | WSProviderResponse | WSProviderRetry | WSProviderError | WSProviderFallback | WSProviderStreamError | WSRunResult | WSSessionStats | WSError | WSToolConfirmNeeded | WSTrustPersisted | WSToolLoopDetected | WSDelegateStarted | WSDelegateCompleted | WSContextDebug | WSContextCompacted | WSCompactionFailed | WSContextRepaired | WSContextPct | WSContextMaxContext | WSTokenThreshold | WSTokenCostEstimateUnavailable | WSContextModesList | WSContextModeChanged | WSToolsList | WSMemoryList | WSSkillsList | WSSkillContent | WSSkillsInstalled | WSSkillsUninstalled | WSSkillsUpdated | WSSkillsCreated | WSSkillsEdited | WSSkillsExported | WSDiagGet | WSStatsGet | WSSessionsList | WSProviderCatalog | WSProviderModels | WSSavedProviders | WSProviderProbe | WSKeyOperationResult | WSFilesList | {
1736
+ type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSThinkingDelta | WSToolUseStart | WSToolProgress | WSToolExecuted | WSIterationStarted | WSIterationCompleted | WSIterationLimitReached | WSProviderResponse | WSProviderRetry | WSProviderError | WSProviderFallback | WSProviderStreamError | WSRunResult | WSSessionStats | WSError | WSToolConfirmNeeded | WSTrustPersisted | WSToolLoopDetected | WSDelegateStarted | WSDelegateCompleted | WSContextDebug | WSContextCompacted | WSCompactionFailed | WSContextRepaired | WSContextPct | WSContextMaxContext | WSTokenThreshold | WSTokenCostEstimateUnavailable | WSContextModesList | WSContextModeChanged | WSToolsList | WSMemoryList | WSSkillsList | WSSkillContent | WSDesignList | WSDesignUse | WSDesignState | WSDesignSet | WSDesignMaterialize | WSDesignVerify | WSSkillsInstalled | WSSkillsUninstalled | WSSkillsUpdated | WSSkillsCreated | WSSkillsEdited | WSSkillsExported | WSDiagGet | WSStatsGet | WSSessionsList | WSProviderCatalog | WSProviderModels | WSSavedProviders | WSProviderProbe | WSKeyOperationResult | WSFilesList | {
1490
1737
  type: 'files.tree';
1491
1738
  payload: {
1492
1739
  root: string;
@@ -1529,12 +1776,22 @@ type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSThinkingD
1529
1776
  payload: Record<string, unknown>;
1530
1777
  } | {
1531
1778
  type: 'sdd.board.snapshot';
1532
- payload: Record<string, unknown>;
1779
+ payload: Record<string, unknown> | null;
1533
1780
  } | {
1534
1781
  type: 'sdd.board.list';
1535
1782
  payload: {
1536
1783
  boards: unknown[];
1537
1784
  };
1785
+ } | {
1786
+ type: 'sdd.board.lifecycle_result';
1787
+ payload: {
1788
+ op: 'cleanup_worktrees' | 'rollback' | 'destroy';
1789
+ ok: boolean;
1790
+ removed?: number;
1791
+ reverted?: number;
1792
+ deleted?: string[];
1793
+ reason?: string;
1794
+ };
1538
1795
  } | {
1539
1796
  type: 'sdd.spec.snapshot';
1540
1797
  payload: Record<string, unknown>;
@@ -1558,7 +1815,7 @@ type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSThinkingD
1558
1815
  payload: Record<string, unknown> & {
1559
1816
  kind: string;
1560
1817
  };
1561
- } | WSWorktreeState | WSWorktreeEvent | WSCollabState | WSCollabParticipantJoined | WSCollabParticipantLeft | WSCollabEvent | WSCollabAnnotationAdded | WSCollabAnnotationResolved | WSCollabPauseGranted | WSCollabPauseReleased | WSCollabInjectionGranted | {
1818
+ } | WSWorktreeState | WSWorktreeEvent | WSWorktreeOrphans | WSWorktreeCleanupResult | WSWorktreeMergeResult | WSWorktreeDiffResult | WSCollabState | WSCollabParticipantJoined | WSCollabParticipantLeft | WSCollabEvent | WSCollabAnnotationAdded | WSCollabAnnotationResolved | WSCollabPauseGranted | WSCollabPauseReleased | WSCollabInjectionGranted | {
1562
1819
  type: 'session.checkpoints';
1563
1820
  payload: {
1564
1821
  checkpoints: Array<{
@@ -2184,4 +2441,4 @@ interface WSCollabInjectionGranted {
2184
2441
  };
2185
2442
  }
2186
2443
 
2187
- export type { BroadcastFn, CollabPanelMessage, CollabRole, CompletionItemKind, MemoryScope, WSAgentStatusChanged, WSAgentTimelineMessage, WSAutoPhaseLifecycle, WSAutoPhaseList, WSAutoPhaseProgress, WSAutoPhaseState, WSClientMessage, WSCollabAnnotate, WSCollabAnnotationAdded, WSCollabAnnotationResolved, WSCollabEvent, WSCollabGrantControl, WSCollabInjectTool, WSCollabInjectionGranted, WSCollabJoin, WSCollabLeave, WSCollabParticipantJoined, WSCollabParticipantLeft, WSCollabPauseGranted, WSCollabPauseReleased, WSCollabRequestPause, WSCollabResolve, WSCollabResume, WSCollabState, WSCompactionFailed, WSCompletionRequest, WSCompletionResult, WSContextCompacted, WSContextDebug, WSContextMaxContext, WSContextModeChanged, WSContextModesList, WSContextPct, WSContextRepaired, WSDelegateCompleted, WSDelegateStarted, WSDiagGet, WSError, WSEternalIteration, WSFilesList, WSIterationCompleted, WSIterationLimitReached, WSIterationStarted, WSKeyOperationResult, WSMemoryList, WSMessage, WSModelSwitch, WSModesList, WSProviderCatalog, WSProviderError, WSProviderFallback, WSProviderModels, WSProviderProbe, WSProviderResponse, WSProviderRetry, WSProviderStreamError, WSRunResult, WSSavedProviders, WSServerMessage, WSSessionEnd, WSSessionStart, WSSessionStats, WSSessionsList, WSSkillContent, WSSkillsCreated, WSSkillsEdited, WSSkillsExported, WSSkillsInstalled, WSSkillsList, WSSkillsUninstalled, WSSkillsUpdated, WSStatsGet, WSTextDelta, WSThinkingDelta, WSTodosCleared, WSTodosUpdated, WSTokenCostEstimateUnavailable, WSTokenThreshold, WSToolConfirmNeeded, WSToolConfirmResult, WSToolExecuted, WSToolLoopDetected, WSToolProgress, WSToolUseStart, WSToolsList, WSTrustPersisted, WSUserMessage, WSWorktreeEvent, WSWorktreeState, WorktreeHandleView };
2444
+ export type { BroadcastFn, CollabPanelMessage, CollabRole, CompletionItemKind, MemoryScope, WSAgentStatusChanged, WSAgentTimelineMessage, WSAutoPhaseLifecycle, WSAutoPhaseList, WSAutoPhaseProgress, WSAutoPhaseState, WSClientMessage, WSCollabAnnotate, WSCollabAnnotationAdded, WSCollabAnnotationResolved, WSCollabEvent, WSCollabGrantControl, WSCollabInjectTool, WSCollabInjectionGranted, WSCollabJoin, WSCollabLeave, WSCollabParticipantJoined, WSCollabParticipantLeft, WSCollabPauseGranted, WSCollabPauseReleased, WSCollabRequestPause, WSCollabResolve, WSCollabResume, WSCollabState, WSCompactionFailed, WSCompletionRequest, WSCompletionResult, WSContextCompacted, WSContextDebug, WSContextMaxContext, WSContextModeChanged, WSContextModesList, WSContextPct, WSContextRepaired, WSDelegateCompleted, WSDelegateStarted, WSDesignKitSummary, WSDesignList, WSDesignMaterialize, WSDesignSet, WSDesignState, WSDesignUse, WSDesignVerify, WSDiagGet, WSError, WSEternalIteration, WSFilesList, WSIterationCompleted, WSIterationLimitReached, WSIterationStarted, WSKeyOperationResult, WSMemoryList, WSMessage, WSModelSwitch, WSModesList, WSProviderCatalog, WSProviderError, WSProviderFallback, WSProviderModels, WSProviderProbe, WSProviderResponse, WSProviderRetry, WSProviderStreamError, WSRunResult, WSSavedProviders, WSServerMessage, WSSessionEnd, WSSessionStart, WSSessionStats, WSSessionsList, WSSideEffects, WSSkillContent, WSSkillsCreated, WSSkillsEdited, WSSkillsExported, WSSkillsInstalled, WSSkillsList, WSSkillsUninstalled, WSSkillsUpdated, WSStatsGet, WSTextDelta, WSThinkingDelta, WSTodosCleared, WSTodosUpdated, WSTokenCostEstimateUnavailable, WSTokenThreshold, WSToolConfirmNeeded, WSToolConfirmResult, WSToolExecuted, WSToolLoopDetected, WSToolProgress, WSToolUseStart, WSToolsList, WSTrustPersisted, WSUserMessage, WSWorktreeCleanupResult, WSWorktreeDiffResult, WSWorktreeEvent, WSWorktreeMergeResult, WSWorktreeOrphans, WSWorktreeState, WorktreeDiffSummary, WorktreeHandleView, WorktreeOrphanView };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wrongstack/webui",
3
- "version": "0.274.0",
3
+ "version": "0.275.0",
4
4
  "license": "MIT",
5
5
  "description": "Browser-based WebUI for WrongStack — React + Vite frontend with WebSocket backend that drives the same agent kernel as the CLI/TUI.",
6
6
  "keywords": [
@@ -86,11 +86,11 @@
86
86
  "virtua": "^0.49.1",
87
87
  "ws": "^8.21.0",
88
88
  "zustand": "^5.0.14",
89
- "@wrongstack/core": "0.274.0",
90
- "@wrongstack/providers": "0.274.0",
91
- "@wrongstack/mcp": "0.274.0",
92
- "@wrongstack/runtime": "0.274.0",
93
- "@wrongstack/tools": "0.274.0"
89
+ "@wrongstack/core": "0.275.0",
90
+ "@wrongstack/providers": "0.275.0",
91
+ "@wrongstack/tools": "0.275.0",
92
+ "@wrongstack/mcp": "0.275.0",
93
+ "@wrongstack/runtime": "0.275.0"
94
94
  },
95
95
  "peerDependencies": {
96
96
  "node-pty": "^1.1.0"