@a-t-h-i/bot-lobby 0.6.43 → 0.6.45
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/README.md +15 -4
- package/THIRD_PARTY_NOTICES.md +62 -0
- package/package.json +3 -8
- package/src/execution/agent-runner.ts +0 -2
- package/src/execution/delegation.ts +1 -2
- package/src/execution/pi-runner.ts +2 -6
- package/src/index.ts +0 -3
- package/src/lobby/host.ts +1 -12
- package/src/lobby/planner.ts +1 -6
- package/src/lobby/prompts.ts +4 -6
- package/src/lobby/quickfix.ts +0 -2
- package/src/lobby/runtime.ts +1 -5
- package/src/lobby/service.ts +0 -6
- package/src/lobby/topics.ts +0 -1
- package/src/pi/tools.ts +2 -2
- package/src/webui/api/index.ts +0 -39
- package/src/webui/dev/fake-service.ts +0 -57
- package/src/webui/dev/fixtures.ts +0 -6
- package/src/webui/palette-core.ts +241 -69
- package/src/webui/protocol.ts +0 -29
- package/src/workflow/workflow.ts +1 -17
- package/webui/dist/assets/index-ClwTDiyo.css +2 -0
- package/webui/dist/assets/index-Ct47Kp7Q.js +110 -0
- package/webui/dist/build.json +77 -117
- package/webui/dist/index.html +2 -2
- package/src/excalidraw/check.ts +0 -31
- package/src/excalidraw/client.ts +0 -334
- package/src/excalidraw/room.ts +0 -118
- package/src/excalidraw/scene.ts +0 -746
- package/src/excalidraw/sessions.ts +0 -302
- package/src/excalidraw/tools.ts +0 -223
- package/src/webui/api/excalidraw.ts +0 -105
- package/webui/dist/assets/index-6Io6swto.css +0 -2
- package/webui/dist/assets/index-KFvb_oCk.js +0 -110
- package/webui/dist/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
- package/webui/dist/licenses/obsidian.txt +0 -21
|
@@ -170,81 +170,253 @@ export function paletteCss(palette: Palette): string {
|
|
|
170
170
|
return parts.join("\n")
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
-
/** A palette from one hue, in oklch: a tinted mist and a tinted near-black, the hue as the accent. Chroma 0 is a neutral theme. */
|
|
174
|
-
function tinted(id: string, name: string, hue: number, chroma: number, lift = 0): Palette {
|
|
175
|
-
const h = hue
|
|
176
|
-
const c = chroma
|
|
177
|
-
const n = (value: number) => Number(value.toFixed(3))
|
|
178
|
-
const light: Vars = {
|
|
179
|
-
background: `oklch(0.975 ${n(c * 0.1)} ${h})`,
|
|
180
|
-
foreground: `oklch(0.22 ${n(c * 0.25)} ${h})`,
|
|
181
|
-
card: "oklch(1 0 0)",
|
|
182
|
-
"card-foreground": `oklch(0.22 ${n(c * 0.25)} ${h})`,
|
|
183
|
-
popover: "oklch(1 0 0 / 0.92)",
|
|
184
|
-
"popover-foreground": `oklch(0.22 ${n(c * 0.25)} ${h})`,
|
|
185
|
-
primary: `oklch(${n(0.5 + lift)} ${c} ${h})`,
|
|
186
|
-
"primary-foreground": "oklch(0.99 0 0)",
|
|
187
|
-
secondary: `oklch(0.3 ${n(c * 0.3)} ${h} / 0.06)`,
|
|
188
|
-
"secondary-foreground": `oklch(0.22 ${n(c * 0.25)} ${h})`,
|
|
189
|
-
muted: `oklch(0.3 ${n(c * 0.3)} ${h} / 0.05)`,
|
|
190
|
-
"muted-foreground": `oklch(0.5 ${n(c * 0.2)} ${h})`,
|
|
191
|
-
accent: `oklch(${n(0.5 + lift)} ${c} ${h} / 0.1)`,
|
|
192
|
-
"accent-foreground": `oklch(0.22 ${n(c * 0.25)} ${h})`,
|
|
193
|
-
destructive: "oklch(0.52 0.19 28)",
|
|
194
|
-
border: `oklch(0.92 ${n(c * 0.08)} ${h})`,
|
|
195
|
-
input: `oklch(0.87 ${n(c * 0.1)} ${h})`,
|
|
196
|
-
ring: `oklch(${n(0.6 + lift)} ${n(c * 0.9)} ${h})`,
|
|
197
|
-
"chart-1": `oklch(${n(0.5 + lift)} ${c} ${h})`,
|
|
198
|
-
"chart-2": "oklch(0.52 0.12 160)",
|
|
199
|
-
"chart-3": "oklch(0.55 0.1 200)",
|
|
200
|
-
"chart-4": "oklch(0.55 0.15 340)",
|
|
201
|
-
"chart-5": "oklch(0.6 0.13 75)",
|
|
202
|
-
}
|
|
203
|
-
const dark: Vars = {
|
|
204
|
-
background: `oklch(0.145 ${n(c * 0.08)} ${h})`,
|
|
205
|
-
foreground: `oklch(0.93 ${n(c * 0.05)} ${h})`,
|
|
206
|
-
card: `oklch(0.18 ${n(c * 0.09)} ${h})`,
|
|
207
|
-
"card-foreground": `oklch(0.93 ${n(c * 0.05)} ${h})`,
|
|
208
|
-
popover: `oklch(0.18 ${n(c * 0.09)} ${h} / 0.94)`,
|
|
209
|
-
"popover-foreground": `oklch(0.93 ${n(c * 0.05)} ${h})`,
|
|
210
|
-
primary: `oklch(${n(0.76 + lift / 2)} ${n(c * 0.85)} ${h})`,
|
|
211
|
-
"primary-foreground": `oklch(0.18 ${n(c * 0.4)} ${h})`,
|
|
212
|
-
secondary: "oklch(1 0 0 / 0.045)",
|
|
213
|
-
"secondary-foreground": `oklch(0.93 ${n(c * 0.05)} ${h})`,
|
|
214
|
-
muted: "oklch(1 0 0 / 0.04)",
|
|
215
|
-
"muted-foreground": `oklch(0.7 ${n(c * 0.15)} ${h})`,
|
|
216
|
-
accent: `oklch(0.76 ${n(c * 0.85)} ${h} / 0.14)`,
|
|
217
|
-
"accent-foreground": `oklch(0.93 ${n(c * 0.05)} ${h})`,
|
|
218
|
-
destructive: "oklch(0.74 0.12 25)",
|
|
219
|
-
border: `oklch(0.25 ${n(c * 0.1)} ${h})`,
|
|
220
|
-
input: `oklch(0.3 ${n(c * 0.1)} ${h})`,
|
|
221
|
-
ring: `oklch(${n(0.76 + lift / 2)} ${n(c * 0.85)} ${h})`,
|
|
222
|
-
"chart-1": `oklch(${n(0.76 + lift / 2)} ${n(c * 0.85)} ${h})`,
|
|
223
|
-
"chart-2": "oklch(0.78 0.11 160)",
|
|
224
|
-
"chart-3": "oklch(0.8 0.1 195)",
|
|
225
|
-
"chart-4": "oklch(0.78 0.11 340)",
|
|
226
|
-
"chart-5": "oklch(0.8 0.12 80)",
|
|
227
|
-
}
|
|
228
|
-
return { id, name, light, dark }
|
|
229
|
-
}
|
|
230
|
-
|
|
231
173
|
export const DEFAULT_ID = "mist"
|
|
232
174
|
|
|
233
|
-
/**
|
|
175
|
+
/**
|
|
176
|
+
* The themes that come with the page. The first is the page's own colours and
|
|
177
|
+
* sets nothing; the rest are T3 Code's built-in themes (MIT, Copyright (c) 2026
|
|
178
|
+
* T3 Tools Inc., packages/shared/src/themePalettes.ts), their roles mapped onto
|
|
179
|
+
* the shadcn variables: canvas is the background, surface the card, accent the
|
|
180
|
+
* primary, accent surface the accent, error the destructive colour.
|
|
181
|
+
*/
|
|
234
182
|
export const PRESETS: readonly Palette[] = [
|
|
235
|
-
{ id: DEFAULT_ID, name: "
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
183
|
+
{ id: DEFAULT_ID, name: "Default" },
|
|
184
|
+
{
|
|
185
|
+
id: "blossom",
|
|
186
|
+
name: "Blossom",
|
|
187
|
+
light: {
|
|
188
|
+
"background": "oklch(0.982446 0.010114 325.653)",
|
|
189
|
+
"foreground": "oklch(0.325698 0.116116 325.037)",
|
|
190
|
+
"card": "oklch(0.971835 0.012884 321.894)",
|
|
191
|
+
"card-foreground": "oklch(0.325698 0.116116 325.037)",
|
|
192
|
+
"popover": "oklch(1 0 0)",
|
|
193
|
+
"popover-foreground": "oklch(0.325698 0.116116 325.037)",
|
|
194
|
+
"primary": "oklch(0.591646 0.217985 0.584)",
|
|
195
|
+
"primary-foreground": "oklch(1 0 0)",
|
|
196
|
+
"secondary": "oklch(0.869588 0.06751 334.899)",
|
|
197
|
+
"secondary-foreground": "oklch(0.444777 0.134061 324.799)",
|
|
198
|
+
"muted": "oklch(0.802407 0.090963 345.892)",
|
|
199
|
+
"muted-foreground": "oklch(0.428932 0.163929 354.332)",
|
|
200
|
+
"accent": "oklch(0.939552 0.024286 321.664)",
|
|
201
|
+
"accent-foreground": "oklch(0.396296 0.025134 285.196)",
|
|
202
|
+
"destructive": "oklch(0.627117 0.248974 7.734)",
|
|
203
|
+
"border": "oklch(0.923531 0.021247 328.096)",
|
|
204
|
+
"input": "oklch(0.851713 0.055822 336.6)",
|
|
205
|
+
"ring": "oklch(0.591646 0.217985 0.584)",
|
|
206
|
+
"chart-1": "oklch(0.591646 0.217985 0.584)",
|
|
207
|
+
},
|
|
208
|
+
dark: {
|
|
209
|
+
"background": "oklch(0.22813 0.020366 307.469)",
|
|
210
|
+
"foreground": "oklch(0.980735 0.004092 301.426)",
|
|
211
|
+
"card": "oklch(0.267101 0.02016 311.799)",
|
|
212
|
+
"card-foreground": "oklch(0.980735 0.004092 301.426)",
|
|
213
|
+
"popover": "oklch(0.154761 0.01316 338.901)",
|
|
214
|
+
"popover-foreground": "oklch(0.980735 0.004092 301.426)",
|
|
215
|
+
"primary": "oklch(0.460685 0.185347 4.099)",
|
|
216
|
+
"primary-foreground": "oklch(0.901233 0.057189 343.694)",
|
|
217
|
+
"secondary": "oklch(0.313674 0.030572 310.061)",
|
|
218
|
+
"secondary-foreground": "oklch(0.848252 0.038248 307.961)",
|
|
219
|
+
"muted": "oklch(0.360924 0.021469 316.83)",
|
|
220
|
+
"muted-foreground": "oklch(0.880303 0.03077 342.696)",
|
|
221
|
+
"accent": "oklch(0.364912 0.050794 308.491)",
|
|
222
|
+
"accent-foreground": "oklch(0.964695 0.009139 341.803)",
|
|
223
|
+
"destructive": "oklch(0.458704 0.169677 3.815)",
|
|
224
|
+
"border": "oklch(0.266943 0.015262 302.425)",
|
|
225
|
+
"input": "oklch(0.266817 0.02897 344.461)",
|
|
226
|
+
"ring": "oklch(0.591646 0.217985 0.584)",
|
|
227
|
+
"chart-1": "oklch(0.460685 0.185347 4.099)",
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
id: "grove",
|
|
232
|
+
name: "Grove",
|
|
233
|
+
light: {
|
|
234
|
+
"background": "oklch(0.972369 0.005497 157.15)",
|
|
235
|
+
"foreground": "oklch(0.222003 0.03479 328.979)",
|
|
236
|
+
"card": "oklch(0.972369 0.005497 157.15)",
|
|
237
|
+
"card-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
238
|
+
"popover": "oklch(0.932695 0.003778 160.944)",
|
|
239
|
+
"popover-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
240
|
+
"primary": "oklch(0.523295 0.112292 158.089)",
|
|
241
|
+
"primary-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
242
|
+
"secondary": "oklch(0.936464 0.014601 163.554)",
|
|
243
|
+
"secondary-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
244
|
+
"muted": "oklch(0.945455 0.012308 162.879)",
|
|
245
|
+
"muted-foreground": "oklch(0.527266 0.012309 320.683)",
|
|
246
|
+
"accent": "oklch(0.909438 0.021521 164.612)",
|
|
247
|
+
"accent-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
248
|
+
"destructive": "oklch(0.637823 0.237287 25.436)",
|
|
249
|
+
"border": "oklch(0.864831 0.01312 167.255)",
|
|
250
|
+
"input": "oklch(0.829746 0.016084 168.234)",
|
|
251
|
+
"ring": "oklch(0.523295 0.112292 158.089)",
|
|
252
|
+
"chart-1": "oklch(0.523295 0.112292 158.089)",
|
|
253
|
+
},
|
|
254
|
+
dark: {
|
|
255
|
+
"background": "oklch(0.260865 0.02152 162.75)",
|
|
256
|
+
"foreground": "oklch(0.990339 0.008411 325.64)",
|
|
257
|
+
"card": "oklch(0.260865 0.02152 162.75)",
|
|
258
|
+
"card-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
259
|
+
"popover": "oklch(0.411828 0.014378 166.627)",
|
|
260
|
+
"popover-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
261
|
+
"primary": "oklch(0.796228 0.133058 157.319)",
|
|
262
|
+
"primary-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
263
|
+
"secondary": "oklch(0.380487 0.048313 159.608)",
|
|
264
|
+
"secondary-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
265
|
+
"muted": "oklch(0.339728 0.039456 160.274)",
|
|
266
|
+
"muted-foreground": "oklch(0.715427 0.010896 171.428)",
|
|
267
|
+
"accent": "oklch(0.437021 0.060312 158.962)",
|
|
268
|
+
"accent-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
269
|
+
"destructive": "oklch(0.655108 0.221148 23.473)",
|
|
270
|
+
"border": "oklch(0.457475 0.044046 160.971)",
|
|
271
|
+
"input": "oklch(0.519849 0.049896 160.863)",
|
|
272
|
+
"ring": "oklch(0.796228 0.133058 157.319)",
|
|
273
|
+
"chart-1": "oklch(0.796228 0.133058 157.319)",
|
|
274
|
+
},
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
id: "ocean",
|
|
278
|
+
name: "Ocean",
|
|
279
|
+
light: {
|
|
280
|
+
"background": "oklch(0.974199 0.002856 241.597)",
|
|
281
|
+
"foreground": "oklch(0.222003 0.03479 328.979)",
|
|
282
|
+
"card": "oklch(0.974199 0.002856 241.597)",
|
|
283
|
+
"card-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
284
|
+
"popover": "oklch(0.934442 0.003181 269.1)",
|
|
285
|
+
"popover-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
286
|
+
"primary": "oklch(0.536684 0.120219 247.01)",
|
|
287
|
+
"primary-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
288
|
+
"secondary": "oklch(0.939254 0.01193 241.729)",
|
|
289
|
+
"secondary-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
290
|
+
"muted": "oklch(0.948004 0.009649 241.695)",
|
|
291
|
+
"muted-foreground": "oklch(0.528741 0.01828 313.823)",
|
|
292
|
+
"accent": "oklch(0.91295 0.018827 241.836)",
|
|
293
|
+
"accent-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
294
|
+
"destructive": "oklch(0.637823 0.237287 25.436)",
|
|
295
|
+
"border": "oklch(0.867646 0.013482 252.362)",
|
|
296
|
+
"input": "oklch(0.832939 0.017389 252.598)",
|
|
297
|
+
"ring": "oklch(0.536684 0.120219 247.01)",
|
|
298
|
+
"chart-1": "oklch(0.536684 0.120219 247.01)",
|
|
299
|
+
},
|
|
300
|
+
dark: {
|
|
301
|
+
"background": "oklch(0.242641 0.024125 250.573)",
|
|
302
|
+
"foreground": "oklch(0.990339 0.008411 325.64)",
|
|
303
|
+
"card": "oklch(0.242641 0.024125 250.573)",
|
|
304
|
+
"card-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
305
|
+
"popover": "oklch(0.398517 0.018232 255.72)",
|
|
306
|
+
"popover-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
307
|
+
"primary": "oklch(0.758933 0.105833 241.548)",
|
|
308
|
+
"primary-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
309
|
+
"secondary": "oklch(0.358725 0.043145 244.911)",
|
|
310
|
+
"secondary-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
311
|
+
"muted": "oklch(0.319287 0.036766 246.065)",
|
|
312
|
+
"muted-foreground": "oklch(0.691936 0.016294 261.588)",
|
|
313
|
+
"accent": "oklch(0.413315 0.051874 243.855)",
|
|
314
|
+
"accent-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
315
|
+
"destructive": "oklch(0.655108 0.221148 23.473)",
|
|
316
|
+
"border": "oklch(0.438653 0.039496 245.44)",
|
|
317
|
+
"input": "oklch(0.500905 0.043574 244.781)",
|
|
318
|
+
"ring": "oklch(0.758933 0.105833 241.548)",
|
|
319
|
+
"chart-1": "oklch(0.758933 0.105833 241.548)",
|
|
320
|
+
},
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
id: "ember",
|
|
324
|
+
name: "Ember",
|
|
325
|
+
light: {
|
|
326
|
+
"background": "oklch(0.976527 0.002685 60.725)",
|
|
327
|
+
"foreground": "oklch(0.222003 0.03479 328.979)",
|
|
328
|
+
"card": "oklch(0.976527 0.002685 60.725)",
|
|
329
|
+
"card-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
330
|
+
"popover": "oklch(0.936659 0.002879 29.96)",
|
|
331
|
+
"popover-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
332
|
+
"primary": "oklch(0.552831 0.129438 44.656)",
|
|
333
|
+
"primary-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
334
|
+
"secondary": "oklch(0.942267 0.01151 50.785)",
|
|
335
|
+
"secondary-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
336
|
+
"muted": "oklch(0.950842 0.009273 51.528)",
|
|
337
|
+
"muted-foreground": "oklch(0.530413 0.018453 341.181)",
|
|
338
|
+
"accent": "oklch(0.916502 0.01832 49.597)",
|
|
339
|
+
"accent-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
340
|
+
"destructive": "oklch(0.637823 0.237287 25.436)",
|
|
341
|
+
"border": "oklch(0.870631 0.013204 39.431)",
|
|
342
|
+
"input": "oklch(0.836213 0.017153 38.661)",
|
|
343
|
+
"ring": "oklch(0.552831 0.129438 44.656)",
|
|
344
|
+
"chart-1": "oklch(0.552831 0.129438 44.656)",
|
|
345
|
+
},
|
|
346
|
+
dark: {
|
|
347
|
+
"background": "oklch(0.245899 0.019144 42.044)",
|
|
348
|
+
"foreground": "oklch(0.990339 0.008411 325.64)",
|
|
349
|
+
"card": "oklch(0.245899 0.019144 42.044)",
|
|
350
|
+
"card-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
351
|
+
"popover": "oklch(0.401111 0.014308 34.896)",
|
|
352
|
+
"popover-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
353
|
+
"primary": "oklch(0.762174 0.124117 52.082)",
|
|
354
|
+
"primary-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
355
|
+
"secondary": "oklch(0.361499 0.044052 49.515)",
|
|
356
|
+
"secondary-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
357
|
+
"muted": "oklch(0.322144 0.03574 48.309)",
|
|
358
|
+
"muted-foreground": "oklch(0.692479 0.015227 30.963)",
|
|
359
|
+
"accent": "oklch(0.416048 0.055354 50.484)",
|
|
360
|
+
"accent-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
361
|
+
"destructive": "oklch(0.655108 0.221148 23.473)",
|
|
362
|
+
"border": "oklch(0.44099 0.040202 48.807)",
|
|
363
|
+
"input": "oklch(0.503003 0.045721 49.44)",
|
|
364
|
+
"ring": "oklch(0.762174 0.124117 52.082)",
|
|
365
|
+
"chart-1": "oklch(0.762174 0.124117 52.082)",
|
|
366
|
+
},
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
id: "iris",
|
|
370
|
+
name: "Iris",
|
|
371
|
+
light: {
|
|
372
|
+
"background": "oklch(0.976531 0.003855 303.226)",
|
|
373
|
+
"foreground": "oklch(0.222003 0.03479 328.979)",
|
|
374
|
+
"card": "oklch(0.976531 0.003855 303.226)",
|
|
375
|
+
"card-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
376
|
+
"popover": "oklch(0.936665 0.005041 310.132)",
|
|
377
|
+
"popover-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
378
|
+
"primary": "oklch(0.525348 0.15373 294.176)",
|
|
379
|
+
"primary-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
380
|
+
"secondary": "oklch(0.941387 0.014687 300.474)",
|
|
381
|
+
"secondary-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
382
|
+
"muted": "oklch(0.950194 0.011956 300.733)",
|
|
383
|
+
"muted-foreground": "oklch(0.529955 0.022319 321.556)",
|
|
384
|
+
"accent": "oklch(0.914882 0.022965 299.986)",
|
|
385
|
+
"accent-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
386
|
+
"destructive": "oklch(0.637823 0.237287 25.436)",
|
|
387
|
+
"border": "oklch(0.869608 0.018226 303.859)",
|
|
388
|
+
"input": "oklch(0.834773 0.023405 303.676)",
|
|
389
|
+
"ring": "oklch(0.525348 0.15373 294.176)",
|
|
390
|
+
"chart-1": "oklch(0.525348 0.15373 294.176)",
|
|
391
|
+
},
|
|
392
|
+
dark: {
|
|
393
|
+
"background": "oklch(0.225975 0.031062 293.741)",
|
|
394
|
+
"foreground": "oklch(0.990339 0.008411 325.64)",
|
|
395
|
+
"card": "oklch(0.225975 0.031062 293.741)",
|
|
396
|
+
"card-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
397
|
+
"popover": "oklch(0.386739 0.024023 297.509)",
|
|
398
|
+
"popover-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
399
|
+
"primary": "oklch(0.671712 0.169136 293.929)",
|
|
400
|
+
"primary-foreground": "oklch(0.222003 0.03479 328.979)",
|
|
401
|
+
"secondary": "oklch(0.325405 0.063614 294.23)",
|
|
402
|
+
"secondary-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
403
|
+
"muted": "oklch(0.291515 0.05276 294.209)",
|
|
404
|
+
"muted-foreground": "oklch(0.663321 0.025932 301.862)",
|
|
405
|
+
"accent": "oklch(0.372436 0.07841 294.204)",
|
|
406
|
+
"accent-foreground": "oklch(0.990339 0.008411 325.64)",
|
|
407
|
+
"destructive": "oklch(0.655108 0.221148 23.473)",
|
|
408
|
+
"border": "oklch(0.40874 0.058536 295.893)",
|
|
409
|
+
"input": "oklch(0.46756 0.065775 296.265)",
|
|
410
|
+
"ring": "oklch(0.671712 0.169136 293.929)",
|
|
411
|
+
"chart-1": "oklch(0.671712 0.169136 293.929)",
|
|
412
|
+
},
|
|
413
|
+
},
|
|
242
414
|
]
|
|
243
415
|
|
|
244
|
-
/** Colours for a preview swatch, per mode:
|
|
416
|
+
/** Colours for a preview swatch, per mode: the default's own values by hand, the rest from the theme. */
|
|
245
417
|
const MIST_SWATCH = {
|
|
246
|
-
light: { background: "#
|
|
247
|
-
dark: { background: "#
|
|
418
|
+
light: { background: "#fcfcfc", card: "#ffffff", primary: "#1b4ed8", accent: "#f4f4f5" },
|
|
419
|
+
dark: { background: "#0a0a0a", card: "#111111", primary: "#346bf1", accent: "#141414" },
|
|
248
420
|
} as const
|
|
249
421
|
|
|
250
422
|
export function swatch(palette: Palette, dark: boolean): { background: string; card: string; primary: string; accent: string } {
|
package/src/webui/protocol.ts
CHANGED
|
@@ -393,25 +393,6 @@ export interface EntryRefInfo {
|
|
|
393
393
|
occurrence: number;
|
|
394
394
|
}
|
|
395
395
|
|
|
396
|
-
/** Who an Excalidraw session can be assigned to. */
|
|
397
|
-
export type ExcalidrawAgentName = "master" | "designer" | "backend" | "qa" | "scout" | "researcher" | "quickfix" | "planner";
|
|
398
|
-
|
|
399
|
-
/** One shared session with its key hidden (`room <id>`). */
|
|
400
|
-
export interface ExcalidrawSessionInfo {
|
|
401
|
-
id: string;
|
|
402
|
-
name: string;
|
|
403
|
-
masked: string;
|
|
404
|
-
agents: ExcalidrawAgentName[];
|
|
405
|
-
contribute: boolean;
|
|
406
|
-
addedAt: string;
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
/** What the last check of a session found. */
|
|
410
|
-
export interface ExcalidrawCheck {
|
|
411
|
-
ok: boolean;
|
|
412
|
-
text: string;
|
|
413
|
-
}
|
|
414
|
-
|
|
415
396
|
/** `tasks.get`: one task read whole, in the terminal's wording. */
|
|
416
397
|
export interface TaskDetail {
|
|
417
398
|
timing?: TimingProjection;
|
|
@@ -655,16 +636,6 @@ export interface Api {
|
|
|
655
636
|
"knowledge.replaceFile": { request: { agent: KnowledgeAgentName; file: string; text: string }; result: { notice: string } };
|
|
656
637
|
"knowledge.comment": { request: { agent: KnowledgeAgentName; file: string; ref: EntryRefInfo; text: string }; result: { notice: string } };
|
|
657
638
|
"knowledge.unnote": { request: { id: string }; result: { notice: string } };
|
|
658
|
-
"excalidraw.list": { request: Record<string, never>; result: { sessions: ExcalidrawSessionInfo[] } };
|
|
659
|
-
"excalidraw.add": { request: { link: string; name?: string }; result: { notice: string; id?: string } };
|
|
660
|
-
"excalidraw.create": { request: { name?: string }; result: { notice: string; id?: string } };
|
|
661
|
-
"excalidraw.remove": { request: { id: string }; result: { notice: string } };
|
|
662
|
-
"excalidraw.rename": { request: { id: string; name: string }; result: { notice: string } };
|
|
663
|
-
"excalidraw.toggleAgent": { request: { id: string; agent: ExcalidrawAgentName }; result: { notice: string } };
|
|
664
|
-
"excalidraw.toggleAll": { request: { id: string }; result: { notice: string } };
|
|
665
|
-
"excalidraw.toggleContribute": { request: { id: string }; result: { notice: string } };
|
|
666
|
-
"excalidraw.check": { request: { id: string }; result: ExcalidrawCheck };
|
|
667
|
-
"excalidraw.reveal": { request: { id: string }; result: { link: string } };
|
|
668
639
|
"git.pulls": { request: { refresh?: boolean }; result: GitPulls };
|
|
669
640
|
"git.pull": { request: { number: number }; result: GitPull };
|
|
670
641
|
"git.review": { request: { number: number; focus?: string }; result: { notice: string } };
|
package/src/workflow/workflow.ts
CHANGED
|
@@ -20,7 +20,6 @@ import { loadTask, ownerlessTask, readTaskArtifact, removeTaskScratchpads, saveT
|
|
|
20
20
|
import { dataRoot, readDataRoots } from "../state/project.ts";
|
|
21
21
|
import { appendCompletedTask, appendDecision, applyKnowledge, readFileOr, writeFileEnsured, type KnowledgeKind } from "../knowledge/store.ts";
|
|
22
22
|
import { compactKnowledgeFile, overThreshold } from "../knowledge/compactor.ts";
|
|
23
|
-
import { ExcalidrawBook } from "../excalidraw/sessions.ts";
|
|
24
23
|
import { knowledgeDir, type KnowledgeAgent } from "../knowledge/paths.ts";
|
|
25
24
|
import { lobbyTopics } from "../lobby/topics.ts";
|
|
26
25
|
import { writeScratchpad } from "../state/persistence.ts";
|
|
@@ -92,7 +91,6 @@ export const ORCHESTRATE_ACTIONS = [
|
|
|
92
91
|
"knowledge",
|
|
93
92
|
"compact",
|
|
94
93
|
"script",
|
|
95
|
-
"whiteboard",
|
|
96
94
|
"complete",
|
|
97
95
|
"block",
|
|
98
96
|
"resume",
|
|
@@ -130,7 +128,7 @@ export interface OrchestrateParams {
|
|
|
130
128
|
kind?: KnowledgeKind;
|
|
131
129
|
/** compact: the knowledge file being rewritten; script: a drafted script to take instead of `text`. */
|
|
132
130
|
file?: string;
|
|
133
|
-
/**
|
|
131
|
+
/** script: the script's file name (`seed_public_holidays.py`). */
|
|
134
132
|
name?: string;
|
|
135
133
|
/** script: one line on what the script does. */
|
|
136
134
|
purpose?: string;
|
|
@@ -1542,19 +1540,6 @@ function handleCompact(task: Task | undefined, params: OrchestrateParams, deps:
|
|
|
1542
1540
|
return `Compacted ${agent}/${file}: ${outcome.before} -> ${outcome.after} chars. Previous version archived at ${outcome.archive}.`;
|
|
1543
1541
|
}
|
|
1544
1542
|
|
|
1545
|
-
/**
|
|
1546
|
-
* The Master creates its own whiteboard: a room on the configured server,
|
|
1547
|
-
* assigned to itself so its seat keeps the room alive for this pi session.
|
|
1548
|
-
*/
|
|
1549
|
-
function handleWhiteboard(task: Task, params: OrchestrateParams, deps: WorkflowDeps): string {
|
|
1550
|
-
const book = new ExcalidrawBook({ root: deps.root });
|
|
1551
|
-
const made = book.create(params.name?.trim() || undefined);
|
|
1552
|
-
if (!made.session) throw new Error(made.notice);
|
|
1553
|
-
book.toggleAgent(made.session.id, "master");
|
|
1554
|
-
recordDecision(task, `Created Excalidraw session "${made.session.name}" and assigned it to Master.`);
|
|
1555
|
-
return `Created Excalidraw session "${made.session.name}" and assigned it to you. Join link: ${made.session.link}. Call excalidraw_read to open your seat; the connection stays open for this pi session and keeps the room alive without anyone else in it. It ends when the pi session ends.`;
|
|
1556
|
-
}
|
|
1557
|
-
|
|
1558
1543
|
/** §63: record history, drop scratchpads, then mark the task completed. */
|
|
1559
1544
|
async function handleComplete(task: Task, params: OrchestrateParams, deps: WorkflowDeps): Promise<string> {
|
|
1560
1545
|
// The fast track (and a plan QA sat out) completes straight from its work; the full workflow from review.
|
|
@@ -2068,7 +2053,6 @@ const HANDLERS: Record<OrchestrateAction, (task: Task, params: OrchestrateParams
|
|
|
2068
2053
|
knowledge: handleKnowledge,
|
|
2069
2054
|
script: handleScript,
|
|
2070
2055
|
compact: handleCompact,
|
|
2071
|
-
whiteboard: handleWhiteboard,
|
|
2072
2056
|
complete: handleComplete,
|
|
2073
2057
|
block: handleBlock,
|
|
2074
2058
|
resume: handleResume,
|