@wrongstack/webui 0.275.1 → 0.276.2
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/index-D8YeqUJA.css +2 -0
- package/dist/assets/index-ZU8u12kr.js +141 -0
- package/dist/assets/vendor-C3aCZA5Q.css +1 -0
- package/dist/assets/{vendor-Cl_sFcw4.js → vendor-Co2oLbbP.js} +291 -284
- package/dist/index.html +4 -4
- package/dist/index.js +27991 -25766
- package/dist/index.js.map +1 -1
- package/dist/providers.json +107 -0
- package/dist/server/entry.js +10512 -9687
- package/dist/server/entry.js.map +1 -1
- package/dist/server/handlers.js +21 -15
- package/dist/server/handlers.js.map +1 -1
- package/dist/server/index.d.ts +727 -727
- package/dist/server/index.js +10477 -9658
- package/dist/server/index.js.map +1 -1
- package/dist/types.d.ts +120 -63
- package/package.json +8 -6
- package/dist/assets/index-COYIBP3F.js +0 -141
- package/dist/assets/index-Cw32ELnp.css +0 -2
- package/dist/assets/vendor-Doh9e_v3.css +0 -1
package/dist/types.d.ts
CHANGED
|
@@ -37,9 +37,12 @@ interface WSSessionEnd {
|
|
|
37
37
|
totalCost: number;
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
|
+
interface SessionScopedPayload {
|
|
41
|
+
sessionId?: string | undefined;
|
|
42
|
+
}
|
|
40
43
|
interface WSUserMessage {
|
|
41
44
|
type: 'user_message';
|
|
42
|
-
payload: {
|
|
45
|
+
payload: SessionScopedPayload & {
|
|
43
46
|
id: string;
|
|
44
47
|
content: string;
|
|
45
48
|
timestamp: number;
|
|
@@ -49,20 +52,20 @@ interface WSUserMessage {
|
|
|
49
52
|
}
|
|
50
53
|
interface WSTextDelta {
|
|
51
54
|
type: 'provider.text_delta';
|
|
52
|
-
payload: {
|
|
55
|
+
payload: SessionScopedPayload & {
|
|
53
56
|
text: string;
|
|
54
57
|
messageId: string;
|
|
55
58
|
};
|
|
56
59
|
}
|
|
57
60
|
interface WSThinkingDelta {
|
|
58
61
|
type: 'provider.thinking_delta';
|
|
59
|
-
payload: {
|
|
62
|
+
payload: SessionScopedPayload & {
|
|
60
63
|
text: string;
|
|
61
64
|
};
|
|
62
65
|
}
|
|
63
66
|
interface WSToolUseStart {
|
|
64
67
|
type: 'tool.started';
|
|
65
|
-
payload: {
|
|
68
|
+
payload: SessionScopedPayload & {
|
|
66
69
|
id: string;
|
|
67
70
|
name: string;
|
|
68
71
|
input?: unknown | undefined;
|
|
@@ -71,7 +74,7 @@ interface WSToolUseStart {
|
|
|
71
74
|
}
|
|
72
75
|
interface WSToolProgress {
|
|
73
76
|
type: 'tool.progress';
|
|
74
|
-
payload: {
|
|
77
|
+
payload: SessionScopedPayload & {
|
|
75
78
|
name: string;
|
|
76
79
|
id: string;
|
|
77
80
|
event: {
|
|
@@ -83,7 +86,7 @@ interface WSToolProgress {
|
|
|
83
86
|
}
|
|
84
87
|
interface WSToolExecuted {
|
|
85
88
|
type: 'tool.executed';
|
|
86
|
-
payload: {
|
|
89
|
+
payload: SessionScopedPayload & {
|
|
87
90
|
id: string;
|
|
88
91
|
name: string;
|
|
89
92
|
durationMs: number;
|
|
@@ -94,28 +97,28 @@ interface WSToolExecuted {
|
|
|
94
97
|
}
|
|
95
98
|
interface WSIterationStarted {
|
|
96
99
|
type: 'iteration.started';
|
|
97
|
-
payload: {
|
|
100
|
+
payload: SessionScopedPayload & {
|
|
98
101
|
index: number;
|
|
99
102
|
maxIterations?: number | undefined;
|
|
100
103
|
};
|
|
101
104
|
}
|
|
102
105
|
interface WSIterationCompleted {
|
|
103
106
|
type: 'iteration.completed';
|
|
104
|
-
payload: {
|
|
107
|
+
payload: SessionScopedPayload & {
|
|
105
108
|
index: number;
|
|
106
109
|
totalIterations: number;
|
|
107
110
|
};
|
|
108
111
|
}
|
|
109
112
|
interface WSIterationLimitReached {
|
|
110
113
|
type: 'iteration.limit_reached';
|
|
111
|
-
payload: {
|
|
114
|
+
payload: SessionScopedPayload & {
|
|
112
115
|
currentIterations: number;
|
|
113
116
|
currentLimit: number;
|
|
114
117
|
};
|
|
115
118
|
}
|
|
116
119
|
interface WSProviderResponse {
|
|
117
120
|
type: 'provider.response';
|
|
118
|
-
payload: {
|
|
121
|
+
payload: SessionScopedPayload & {
|
|
119
122
|
usage: Usage;
|
|
120
123
|
stopReason: string;
|
|
121
124
|
messageId: string;
|
|
@@ -123,7 +126,7 @@ interface WSProviderResponse {
|
|
|
123
126
|
}
|
|
124
127
|
interface WSProviderRetry {
|
|
125
128
|
type: 'provider.retry';
|
|
126
|
-
payload: {
|
|
129
|
+
payload: SessionScopedPayload & {
|
|
127
130
|
providerId: string;
|
|
128
131
|
attempt: number;
|
|
129
132
|
delayMs: number;
|
|
@@ -133,7 +136,7 @@ interface WSProviderRetry {
|
|
|
133
136
|
}
|
|
134
137
|
interface WSProviderError {
|
|
135
138
|
type: 'provider.error';
|
|
136
|
-
payload: {
|
|
139
|
+
payload: SessionScopedPayload & {
|
|
137
140
|
providerId: string;
|
|
138
141
|
status: number;
|
|
139
142
|
description: string;
|
|
@@ -142,7 +145,7 @@ interface WSProviderError {
|
|
|
142
145
|
}
|
|
143
146
|
interface WSProviderFallback {
|
|
144
147
|
type: 'provider.fallback';
|
|
145
|
-
payload: {
|
|
148
|
+
payload: SessionScopedPayload & {
|
|
146
149
|
from: {
|
|
147
150
|
providerId: string;
|
|
148
151
|
model: string;
|
|
@@ -157,14 +160,14 @@ interface WSProviderFallback {
|
|
|
157
160
|
}
|
|
158
161
|
interface WSProviderStreamError {
|
|
159
162
|
type: 'provider.stream_error';
|
|
160
|
-
payload: {
|
|
163
|
+
payload: SessionScopedPayload & {
|
|
161
164
|
eventType: string;
|
|
162
165
|
message: string;
|
|
163
166
|
};
|
|
164
167
|
}
|
|
165
168
|
interface WSRunResult {
|
|
166
169
|
type: 'run.result';
|
|
167
|
-
payload: {
|
|
170
|
+
payload: SessionScopedPayload & {
|
|
168
171
|
status: 'done' | 'failed' | 'max_iterations' | 'aborted';
|
|
169
172
|
iterations: number;
|
|
170
173
|
finalText?: string | undefined;
|
|
@@ -188,14 +191,14 @@ interface WSSessionStats {
|
|
|
188
191
|
}
|
|
189
192
|
interface WSError {
|
|
190
193
|
type: 'error';
|
|
191
|
-
payload: {
|
|
194
|
+
payload: SessionScopedPayload & {
|
|
192
195
|
phase: string;
|
|
193
196
|
message: string;
|
|
194
197
|
};
|
|
195
198
|
}
|
|
196
199
|
interface WSToolConfirmNeeded {
|
|
197
200
|
type: 'tool.confirm_needed';
|
|
198
|
-
payload: {
|
|
201
|
+
payload: SessionScopedPayload & {
|
|
199
202
|
id: string;
|
|
200
203
|
toolName: string;
|
|
201
204
|
input: unknown;
|
|
@@ -205,14 +208,14 @@ interface WSToolConfirmNeeded {
|
|
|
205
208
|
}
|
|
206
209
|
interface WSToolConfirmResult {
|
|
207
210
|
type: 'tool.confirm_result';
|
|
208
|
-
payload: {
|
|
211
|
+
payload: SessionScopedPayload & {
|
|
209
212
|
id: string;
|
|
210
213
|
decision: 'yes' | 'no' | 'always' | 'deny';
|
|
211
214
|
};
|
|
212
215
|
}
|
|
213
216
|
interface WSTrustPersisted {
|
|
214
217
|
type: 'trust.persisted';
|
|
215
|
-
payload: {
|
|
218
|
+
payload: SessionScopedPayload & {
|
|
216
219
|
tool: string;
|
|
217
220
|
pattern: string;
|
|
218
221
|
decision: 'always' | 'deny';
|
|
@@ -220,7 +223,7 @@ interface WSTrustPersisted {
|
|
|
220
223
|
}
|
|
221
224
|
interface WSToolLoopDetected {
|
|
222
225
|
type: 'tool.loop_detected';
|
|
223
|
-
payload: {
|
|
226
|
+
payload: SessionScopedPayload & {
|
|
224
227
|
tools: string;
|
|
225
228
|
repeatCount: number;
|
|
226
229
|
iteration: number;
|
|
@@ -229,14 +232,14 @@ interface WSToolLoopDetected {
|
|
|
229
232
|
}
|
|
230
233
|
interface WSDelegateStarted {
|
|
231
234
|
type: 'delegate.started';
|
|
232
|
-
payload: {
|
|
235
|
+
payload: SessionScopedPayload & {
|
|
233
236
|
target: string;
|
|
234
237
|
task: string;
|
|
235
238
|
};
|
|
236
239
|
}
|
|
237
240
|
interface WSDelegateCompleted {
|
|
238
241
|
type: 'delegate.completed';
|
|
239
|
-
payload: {
|
|
242
|
+
payload: SessionScopedPayload & {
|
|
240
243
|
target: string;
|
|
241
244
|
task: string;
|
|
242
245
|
ok: boolean;
|
|
@@ -259,7 +262,7 @@ interface WSModelSwitch {
|
|
|
259
262
|
type MemoryScope = 'project-agents' | 'project-memory' | 'user-memory';
|
|
260
263
|
interface WSContextDebug {
|
|
261
264
|
type: 'context.debug';
|
|
262
|
-
payload: {
|
|
265
|
+
payload: SessionScopedPayload & {
|
|
263
266
|
total: number;
|
|
264
267
|
mode?: string | undefined;
|
|
265
268
|
policy?: unknown | undefined;
|
|
@@ -286,7 +289,7 @@ interface WSContextDebug {
|
|
|
286
289
|
}
|
|
287
290
|
interface WSContextCompacted {
|
|
288
291
|
type: 'context.compacted';
|
|
289
|
-
payload: {
|
|
292
|
+
payload: SessionScopedPayload & {
|
|
290
293
|
before: number;
|
|
291
294
|
after: number;
|
|
292
295
|
saved: number;
|
|
@@ -303,7 +306,7 @@ interface WSContextCompacted {
|
|
|
303
306
|
}
|
|
304
307
|
interface WSCompactionFailed {
|
|
305
308
|
type: 'compaction.failed';
|
|
306
|
-
payload: {
|
|
309
|
+
payload: SessionScopedPayload & {
|
|
307
310
|
message: string;
|
|
308
311
|
aggressive: boolean;
|
|
309
312
|
level: 'warn' | 'soft' | 'hard';
|
|
@@ -315,7 +318,7 @@ interface WSCompactionFailed {
|
|
|
315
318
|
}
|
|
316
319
|
interface WSContextRepaired {
|
|
317
320
|
type: 'context.repaired';
|
|
318
|
-
payload: {
|
|
321
|
+
payload: SessionScopedPayload & {
|
|
319
322
|
removedToolUses: string[];
|
|
320
323
|
removedToolResults: string[];
|
|
321
324
|
removedMessages: number;
|
|
@@ -325,7 +328,7 @@ interface WSContextRepaired {
|
|
|
325
328
|
}
|
|
326
329
|
interface WSContextPct {
|
|
327
330
|
type: 'ctx.pct';
|
|
328
|
-
payload: {
|
|
331
|
+
payload: SessionScopedPayload & {
|
|
329
332
|
load: number;
|
|
330
333
|
rawLoad?: number | undefined;
|
|
331
334
|
tokens: number;
|
|
@@ -334,7 +337,7 @@ interface WSContextPct {
|
|
|
334
337
|
}
|
|
335
338
|
interface WSContextMaxContext {
|
|
336
339
|
type: 'ctx.max_context';
|
|
337
|
-
payload: {
|
|
340
|
+
payload: SessionScopedPayload & {
|
|
338
341
|
providerId: string;
|
|
339
342
|
modelId: string;
|
|
340
343
|
maxContext: number;
|
|
@@ -342,20 +345,20 @@ interface WSContextMaxContext {
|
|
|
342
345
|
}
|
|
343
346
|
interface WSTokenThreshold {
|
|
344
347
|
type: 'token.threshold';
|
|
345
|
-
payload: {
|
|
348
|
+
payload: SessionScopedPayload & {
|
|
346
349
|
used: number;
|
|
347
350
|
limit: number;
|
|
348
351
|
};
|
|
349
352
|
}
|
|
350
353
|
interface WSTokenCostEstimateUnavailable {
|
|
351
354
|
type: 'token.cost_estimate_unavailable';
|
|
352
|
-
payload: {
|
|
355
|
+
payload: SessionScopedPayload & {
|
|
353
356
|
model: string;
|
|
354
357
|
};
|
|
355
358
|
}
|
|
356
359
|
interface WSContextModesList {
|
|
357
360
|
type: 'context.modes.list';
|
|
358
|
-
payload: {
|
|
361
|
+
payload: SessionScopedPayload & {
|
|
359
362
|
activeId: string;
|
|
360
363
|
modes: Array<{
|
|
361
364
|
id: string;
|
|
@@ -374,7 +377,7 @@ interface WSContextModesList {
|
|
|
374
377
|
}
|
|
375
378
|
interface WSContextModeChanged {
|
|
376
379
|
type: 'context.mode.changed';
|
|
377
|
-
payload: {
|
|
380
|
+
payload: SessionScopedPayload & {
|
|
378
381
|
id: string;
|
|
379
382
|
name: string;
|
|
380
383
|
policy: unknown;
|
|
@@ -575,7 +578,7 @@ interface WSSkillsExported {
|
|
|
575
578
|
}
|
|
576
579
|
interface WSDiagGet {
|
|
577
580
|
type: 'diag.get';
|
|
578
|
-
payload: {
|
|
581
|
+
payload: SessionScopedPayload & {
|
|
579
582
|
provider: string;
|
|
580
583
|
model: string;
|
|
581
584
|
cwd: string;
|
|
@@ -601,7 +604,7 @@ interface WSDiagGet {
|
|
|
601
604
|
}
|
|
602
605
|
interface WSStatsGet {
|
|
603
606
|
type: 'stats.get';
|
|
604
|
-
payload: {
|
|
607
|
+
payload: SessionScopedPayload & {
|
|
605
608
|
sessionId: string;
|
|
606
609
|
provider: string;
|
|
607
610
|
model: string;
|
|
@@ -626,7 +629,7 @@ interface WSStatsGet {
|
|
|
626
629
|
}
|
|
627
630
|
interface WSSideEffects {
|
|
628
631
|
type: 'side_effects';
|
|
629
|
-
payload: {
|
|
632
|
+
payload: SessionScopedPayload & {
|
|
630
633
|
sideEffects: Array<{
|
|
631
634
|
toolUseId: string;
|
|
632
635
|
toolName: string;
|
|
@@ -728,6 +731,31 @@ interface WSKeyOperationResult {
|
|
|
728
731
|
message: string;
|
|
729
732
|
};
|
|
730
733
|
}
|
|
734
|
+
/** Which subscription OAuth login a flow is running. */
|
|
735
|
+
type OAuthKind = 'chatgpt' | 'claude' | 'copilot';
|
|
736
|
+
/**
|
|
737
|
+
* Progress for an in-flight subscription OAuth login, broadcast in reply to
|
|
738
|
+
* `auth.oauth.start` / `auth.oauth.code`. `phase` drives the UI:
|
|
739
|
+
* - `awaiting_browser` — loopback flows: open `authorizeUrl` in a new tab.
|
|
740
|
+
* - `awaiting_code` — copilot device flow: show `userCode` + `verificationUri`.
|
|
741
|
+
* - `exchanging` / `fetching_models` — spinner states.
|
|
742
|
+
* - `success` — `providerId` is now saved (the `providers.saved` broadcast follows).
|
|
743
|
+
* - `error` — `message` carries the reason.
|
|
744
|
+
*/
|
|
745
|
+
interface WSAuthOAuthStatus {
|
|
746
|
+
type: 'auth.oauth.status';
|
|
747
|
+
payload: {
|
|
748
|
+
kind: OAuthKind;
|
|
749
|
+
phase: 'awaiting_browser' | 'awaiting_code' | 'exchanging' | 'fetching_models' | 'success' | 'error';
|
|
750
|
+
providerId?: string | undefined;
|
|
751
|
+
authorizeUrl?: string | undefined;
|
|
752
|
+
verificationUri?: string | undefined;
|
|
753
|
+
userCode?: string | undefined;
|
|
754
|
+
/** True when a loopback listener bound (false → manual paste needed). */
|
|
755
|
+
bound?: boolean | undefined;
|
|
756
|
+
message?: string | undefined;
|
|
757
|
+
};
|
|
758
|
+
}
|
|
731
759
|
interface WSFilesList {
|
|
732
760
|
type: 'files.list';
|
|
733
761
|
payload: {
|
|
@@ -770,7 +798,7 @@ interface WSCompletionResult {
|
|
|
770
798
|
}
|
|
771
799
|
interface WSTodosUpdated {
|
|
772
800
|
type: 'todos.updated';
|
|
773
|
-
payload: {
|
|
801
|
+
payload: SessionScopedPayload & {
|
|
774
802
|
todos: Array<{
|
|
775
803
|
id: string;
|
|
776
804
|
content: string;
|
|
@@ -822,7 +850,7 @@ interface WSEternalIteration {
|
|
|
822
850
|
}
|
|
823
851
|
interface WSAgentTimelineMessage {
|
|
824
852
|
type: 'agent.timeline.message';
|
|
825
|
-
payload: {
|
|
853
|
+
payload: SessionScopedPayload & {
|
|
826
854
|
subagentId: string;
|
|
827
855
|
agentName: string;
|
|
828
856
|
content: string;
|
|
@@ -835,7 +863,7 @@ interface WSAgentTimelineMessage {
|
|
|
835
863
|
}
|
|
836
864
|
interface WSAgentStatusChanged {
|
|
837
865
|
type: 'agent.status_changed';
|
|
838
|
-
payload: {
|
|
866
|
+
payload: SessionScopedPayload & {
|
|
839
867
|
subagentId: string;
|
|
840
868
|
agentName: string;
|
|
841
869
|
status: 'spawned' | 'running' | 'completed' | 'failed' | 'timeout' | 'stopped' | 'budget_exhausted';
|
|
@@ -1195,39 +1223,45 @@ type WSClientMessage = WSUserMessage | WSToolConfirmResult | {
|
|
|
1195
1223
|
};
|
|
1196
1224
|
} | {
|
|
1197
1225
|
type: 'abort';
|
|
1198
|
-
payload:
|
|
1226
|
+
payload: SessionScopedPayload;
|
|
1199
1227
|
} | {
|
|
1200
1228
|
type: 'session.resume';
|
|
1201
1229
|
payload: {
|
|
1202
1230
|
id: string;
|
|
1203
|
-
};
|
|
1231
|
+
} & SessionScopedPayload;
|
|
1204
1232
|
} | {
|
|
1205
1233
|
type: 'session.new';
|
|
1234
|
+
payload?: SessionScopedPayload;
|
|
1206
1235
|
} | {
|
|
1207
1236
|
type: 'session.checkpoints';
|
|
1237
|
+
payload?: SessionScopedPayload;
|
|
1208
1238
|
} | {
|
|
1209
1239
|
type: 'session.rewind';
|
|
1210
1240
|
payload: {
|
|
1211
1241
|
checkpointIndex: number;
|
|
1212
|
-
};
|
|
1242
|
+
} & SessionScopedPayload;
|
|
1213
1243
|
} | {
|
|
1214
1244
|
type: 'context.clear';
|
|
1245
|
+
payload?: SessionScopedPayload;
|
|
1215
1246
|
} | {
|
|
1216
1247
|
type: 'context.compact';
|
|
1217
1248
|
payload: {
|
|
1218
1249
|
aggressive: boolean;
|
|
1219
|
-
};
|
|
1250
|
+
} & SessionScopedPayload;
|
|
1220
1251
|
} | {
|
|
1221
1252
|
type: 'context.repair';
|
|
1253
|
+
payload?: SessionScopedPayload;
|
|
1222
1254
|
} | {
|
|
1223
1255
|
type: 'context.debug';
|
|
1256
|
+
payload?: SessionScopedPayload;
|
|
1224
1257
|
} | {
|
|
1225
1258
|
type: 'context.modes.list';
|
|
1259
|
+
payload?: SessionScopedPayload;
|
|
1226
1260
|
} | {
|
|
1227
1261
|
type: 'context.mode.switch';
|
|
1228
1262
|
payload: {
|
|
1229
1263
|
id: string;
|
|
1230
|
-
};
|
|
1264
|
+
} & SessionScopedPayload;
|
|
1231
1265
|
} | {
|
|
1232
1266
|
type: 'context.mode.create';
|
|
1233
1267
|
payload: {
|
|
@@ -1241,7 +1275,7 @@ type WSClientMessage = WSUserMessage | WSToolConfirmResult | {
|
|
|
1241
1275
|
};
|
|
1242
1276
|
preserveK: number;
|
|
1243
1277
|
eliseThreshold: number;
|
|
1244
|
-
};
|
|
1278
|
+
} & SessionScopedPayload;
|
|
1245
1279
|
} | {
|
|
1246
1280
|
type: 'context.mode.update';
|
|
1247
1281
|
payload: {
|
|
@@ -1255,12 +1289,12 @@ type WSClientMessage = WSUserMessage | WSToolConfirmResult | {
|
|
|
1255
1289
|
} | undefined;
|
|
1256
1290
|
preserveK?: number | undefined;
|
|
1257
1291
|
eliseThreshold?: number | undefined;
|
|
1258
|
-
};
|
|
1292
|
+
} & SessionScopedPayload;
|
|
1259
1293
|
} | {
|
|
1260
1294
|
type: 'context.mode.delete';
|
|
1261
1295
|
payload: {
|
|
1262
1296
|
id: string;
|
|
1263
|
-
};
|
|
1297
|
+
} & SessionScopedPayload;
|
|
1264
1298
|
} | WSModelSwitch | {
|
|
1265
1299
|
type: 'providers.list';
|
|
1266
1300
|
} | {
|
|
@@ -1335,6 +1369,22 @@ type WSClientMessage = WSUserMessage | WSToolConfirmResult | {
|
|
|
1335
1369
|
providerId: string;
|
|
1336
1370
|
timeoutMs?: number | undefined;
|
|
1337
1371
|
};
|
|
1372
|
+
} | {
|
|
1373
|
+
type: 'auth.oauth.start';
|
|
1374
|
+
payload: {
|
|
1375
|
+
kind: OAuthKind;
|
|
1376
|
+
};
|
|
1377
|
+
} | {
|
|
1378
|
+
type: 'auth.oauth.code';
|
|
1379
|
+
payload: {
|
|
1380
|
+
kind: OAuthKind;
|
|
1381
|
+
input: string;
|
|
1382
|
+
};
|
|
1383
|
+
} | {
|
|
1384
|
+
type: 'auth.oauth.cancel';
|
|
1385
|
+
payload: {
|
|
1386
|
+
kind: OAuthKind;
|
|
1387
|
+
};
|
|
1338
1388
|
} | {
|
|
1339
1389
|
type: 'tools.list';
|
|
1340
1390
|
} | {
|
|
@@ -1403,15 +1453,18 @@ type WSClientMessage = WSUserMessage | WSToolConfirmResult | {
|
|
|
1403
1453
|
};
|
|
1404
1454
|
} | {
|
|
1405
1455
|
type: 'diag.get';
|
|
1456
|
+
payload?: SessionScopedPayload;
|
|
1406
1457
|
} | {
|
|
1407
1458
|
type: 'stats.get';
|
|
1459
|
+
payload?: SessionScopedPayload;
|
|
1408
1460
|
} | {
|
|
1409
1461
|
type: 'session.save';
|
|
1462
|
+
payload?: SessionScopedPayload;
|
|
1410
1463
|
} | {
|
|
1411
1464
|
type: 'sessions.list';
|
|
1412
1465
|
payload: {
|
|
1413
1466
|
limit: number;
|
|
1414
|
-
};
|
|
1467
|
+
} & SessionScopedPayload;
|
|
1415
1468
|
} | {
|
|
1416
1469
|
type: 'session.delete';
|
|
1417
1470
|
payload: {
|
|
@@ -1449,37 +1502,41 @@ type WSClientMessage = WSUserMessage | WSToolConfirmResult | {
|
|
|
1449
1502
|
};
|
|
1450
1503
|
} | WSCompletionRequest | {
|
|
1451
1504
|
type: 'todos.get';
|
|
1505
|
+
payload?: SessionScopedPayload;
|
|
1452
1506
|
} | {
|
|
1453
1507
|
type: 'todos.clear';
|
|
1508
|
+
payload?: SessionScopedPayload;
|
|
1454
1509
|
} | {
|
|
1455
1510
|
type: 'todos.remove';
|
|
1456
1511
|
payload: {
|
|
1457
1512
|
id?: string | undefined;
|
|
1458
1513
|
index?: number | undefined;
|
|
1459
|
-
};
|
|
1514
|
+
} & SessionScopedPayload;
|
|
1460
1515
|
} | {
|
|
1461
1516
|
type: 'todo.update';
|
|
1462
1517
|
payload: {
|
|
1463
1518
|
id: string;
|
|
1464
1519
|
status?: 'pending' | 'in_progress' | 'completed' | undefined;
|
|
1465
1520
|
activeForm?: string | undefined;
|
|
1466
|
-
};
|
|
1521
|
+
} & SessionScopedPayload;
|
|
1467
1522
|
} | {
|
|
1468
1523
|
type: 'tasks.get';
|
|
1524
|
+
payload?: SessionScopedPayload;
|
|
1469
1525
|
} | {
|
|
1470
1526
|
type: 'task.update';
|
|
1471
1527
|
payload: {
|
|
1472
1528
|
id: string;
|
|
1473
1529
|
status: string;
|
|
1474
|
-
};
|
|
1530
|
+
} & SessionScopedPayload;
|
|
1475
1531
|
} | {
|
|
1476
1532
|
type: 'plan.get';
|
|
1533
|
+
payload?: SessionScopedPayload;
|
|
1477
1534
|
} | {
|
|
1478
1535
|
type: 'plan.item.update';
|
|
1479
1536
|
payload: {
|
|
1480
1537
|
target: string;
|
|
1481
1538
|
status: 'open' | 'in_progress' | 'done';
|
|
1482
|
-
};
|
|
1539
|
+
} & SessionScopedPayload;
|
|
1483
1540
|
} | {
|
|
1484
1541
|
type: 'ping';
|
|
1485
1542
|
} | {
|
|
@@ -1733,7 +1790,7 @@ type WSClientMessage = WSUserMessage | WSToolConfirmResult | {
|
|
|
1733
1790
|
} | {
|
|
1734
1791
|
type: 'webui.shutdown';
|
|
1735
1792
|
};
|
|
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 | {
|
|
1793
|
+
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 | WSAuthOAuthStatus | WSFilesList | {
|
|
1737
1794
|
type: 'files.tree';
|
|
1738
1795
|
payload: {
|
|
1739
1796
|
root: string;
|
|
@@ -1812,7 +1869,7 @@ type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSThinkingD
|
|
|
1812
1869
|
};
|
|
1813
1870
|
} | WSEternalIteration | WSAgentTimelineMessage | WSAgentStatusChanged | {
|
|
1814
1871
|
type: 'subagent.event';
|
|
1815
|
-
payload: Record<string, unknown> & {
|
|
1872
|
+
payload: SessionScopedPayload & Record<string, unknown> & {
|
|
1816
1873
|
kind: string;
|
|
1817
1874
|
};
|
|
1818
1875
|
} | WSWorktreeState | WSWorktreeEvent | WSWorktreeOrphans | WSWorktreeCleanupResult | WSWorktreeMergeResult | WSWorktreeDiffResult | WSCollabState | WSCollabParticipantJoined | WSCollabParticipantLeft | WSCollabEvent | WSCollabAnnotationAdded | WSCollabAnnotationResolved | WSCollabPauseGranted | WSCollabPauseReleased | WSCollabInjectionGranted | {
|
|
@@ -1940,7 +1997,7 @@ type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSThinkingD
|
|
|
1940
1997
|
};
|
|
1941
1998
|
} | {
|
|
1942
1999
|
type: 'brain.answer';
|
|
1943
|
-
payload: {
|
|
2000
|
+
payload: SessionScopedPayload & {
|
|
1944
2001
|
question: string;
|
|
1945
2002
|
decision: {
|
|
1946
2003
|
type: string;
|
|
@@ -1953,7 +2010,7 @@ type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSThinkingD
|
|
|
1953
2010
|
};
|
|
1954
2011
|
} | {
|
|
1955
2012
|
type: 'brain.event';
|
|
1956
|
-
payload: Record<string, unknown> & {
|
|
2013
|
+
payload: SessionScopedPayload & Record<string, unknown> & {
|
|
1957
2014
|
event: string;
|
|
1958
2015
|
};
|
|
1959
2016
|
} | {
|
|
@@ -1964,14 +2021,14 @@ type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSThinkingD
|
|
|
1964
2021
|
};
|
|
1965
2022
|
} | {
|
|
1966
2023
|
type: 'session.rewound';
|
|
1967
|
-
payload: {
|
|
2024
|
+
payload: SessionScopedPayload & {
|
|
1968
2025
|
toPromptIndex: number;
|
|
1969
2026
|
revertedFiles: string[];
|
|
1970
2027
|
removedEvents: number;
|
|
1971
2028
|
};
|
|
1972
2029
|
} | {
|
|
1973
2030
|
type: 'checkpoint.written';
|
|
1974
|
-
payload: {
|
|
2031
|
+
payload: SessionScopedPayload & {
|
|
1975
2032
|
promptIndex: number;
|
|
1976
2033
|
promptPreview: string;
|
|
1977
2034
|
ts: string;
|
|
@@ -1979,13 +2036,13 @@ type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSThinkingD
|
|
|
1979
2036
|
};
|
|
1980
2037
|
} | {
|
|
1981
2038
|
type: 'in_flight.started';
|
|
1982
|
-
payload: {
|
|
2039
|
+
payload: SessionScopedPayload & {
|
|
1983
2040
|
context: string;
|
|
1984
2041
|
ts: string;
|
|
1985
2042
|
};
|
|
1986
2043
|
} | {
|
|
1987
2044
|
type: 'in_flight.ended';
|
|
1988
|
-
payload: {
|
|
2045
|
+
payload: SessionScopedPayload & {
|
|
1989
2046
|
reason: 'clean' | 'aborted' | 'recovered';
|
|
1990
2047
|
ts: string;
|
|
1991
2048
|
};
|
|
@@ -2011,7 +2068,7 @@ type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSThinkingD
|
|
|
2011
2068
|
};
|
|
2012
2069
|
} | {
|
|
2013
2070
|
type: 'coordinator.stats';
|
|
2014
|
-
payload: {
|
|
2071
|
+
payload: SessionScopedPayload & {
|
|
2015
2072
|
total: number;
|
|
2016
2073
|
running: number;
|
|
2017
2074
|
idle: number;
|
|
@@ -2028,13 +2085,13 @@ type WSServerMessage = WSSessionStart | WSSessionEnd | WSTextDelta | WSThinkingD
|
|
|
2028
2085
|
};
|
|
2029
2086
|
} | {
|
|
2030
2087
|
type: 'fleet.concurrency_update';
|
|
2031
|
-
payload: {
|
|
2088
|
+
payload: SessionScopedPayload & {
|
|
2032
2089
|
fleetConcurrency: number;
|
|
2033
2090
|
fleetConcurrencyMax: number;
|
|
2034
2091
|
};
|
|
2035
2092
|
} | {
|
|
2036
2093
|
type: 'budget.threshold_reached';
|
|
2037
|
-
payload: {
|
|
2094
|
+
payload: SessionScopedPayload & {
|
|
2038
2095
|
subagentId: string;
|
|
2039
2096
|
taskId?: string;
|
|
2040
2097
|
ts: number;
|
|
@@ -2441,4 +2498,4 @@ interface WSCollabInjectionGranted {
|
|
|
2441
2498
|
};
|
|
2442
2499
|
}
|
|
2443
2500
|
|
|
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 };
|
|
2501
|
+
export type { BroadcastFn, CollabPanelMessage, CollabRole, CompletionItemKind, MemoryScope, OAuthKind, SessionScopedPayload, WSAgentStatusChanged, WSAgentTimelineMessage, WSAuthOAuthStatus, 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.
|
|
3
|
+
"version": "0.276.2",
|
|
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": [
|
|
@@ -68,6 +68,7 @@
|
|
|
68
68
|
"@radix-ui/react-tabs": "^1.1.14",
|
|
69
69
|
"@radix-ui/react-toast": "^1.2.16",
|
|
70
70
|
"@radix-ui/react-tooltip": "^1.2.9",
|
|
71
|
+
"@types/qrcode": "^1.5.6",
|
|
71
72
|
"@uiw/react-textarea-code-editor": "^3.1.1",
|
|
72
73
|
"@xterm/addon-fit": "^0.11.0",
|
|
73
74
|
"@xterm/xterm": "^6.0.0",
|
|
@@ -77,6 +78,7 @@
|
|
|
77
78
|
"jszip": "^3.10.1",
|
|
78
79
|
"lucide-react": "^1.17.0",
|
|
79
80
|
"monaco-editor": "^0.55.1",
|
|
81
|
+
"qrcode": "^1.5.4",
|
|
80
82
|
"react": "^19.2.7",
|
|
81
83
|
"react-dom": "^19.2.7",
|
|
82
84
|
"react-markdown": "^10.1.0",
|
|
@@ -86,11 +88,11 @@
|
|
|
86
88
|
"virtua": "^0.49.1",
|
|
87
89
|
"ws": "^8.21.0",
|
|
88
90
|
"zustand": "^5.0.14",
|
|
89
|
-
"@wrongstack/
|
|
90
|
-
"@wrongstack/
|
|
91
|
-
"@wrongstack/
|
|
92
|
-
"@wrongstack/runtime": "0.
|
|
93
|
-
"@wrongstack/
|
|
91
|
+
"@wrongstack/core": "0.276.2",
|
|
92
|
+
"@wrongstack/providers": "0.276.2",
|
|
93
|
+
"@wrongstack/tools": "0.276.2",
|
|
94
|
+
"@wrongstack/runtime": "0.276.2",
|
|
95
|
+
"@wrongstack/mcp": "0.276.2"
|
|
94
96
|
},
|
|
95
97
|
"peerDependencies": {
|
|
96
98
|
"node-pty": "^1.1.0"
|