codexmate 0.0.55 → 0.0.57

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.
Files changed (49) hide show
  1. package/README.md +2 -0
  2. package/README.vi.md +2 -0
  3. package/README.zh.md +2 -0
  4. package/cli/local-bridge.js +221 -22
  5. package/cli.js +797 -134
  6. package/lib/task-orchestrator.js +90 -21
  7. package/lib/task-workspace-chat.js +292 -0
  8. package/package.json +2 -2
  9. package/web-ui/app.js +57 -129
  10. package/web-ui/modules/app.computed.main-tabs.mjs +304 -7
  11. package/web-ui/modules/app.computed.session.mjs +210 -0
  12. package/web-ui/modules/app.methods.agents.mjs +3 -0
  13. package/web-ui/modules/app.methods.claude-config.mjs +178 -22
  14. package/web-ui/modules/app.methods.codex-config.mjs +294 -65
  15. package/web-ui/modules/app.methods.navigation.mjs +71 -84
  16. package/web-ui/modules/app.methods.openclaw-editing.mjs +3 -6
  17. package/web-ui/modules/app.methods.providers.mjs +15 -1
  18. package/web-ui/modules/app.methods.runtime.mjs +7 -2
  19. package/web-ui/modules/app.methods.session-actions.mjs +25 -12
  20. package/web-ui/modules/app.methods.session-browser.mjs +23 -54
  21. package/web-ui/modules/app.methods.session-trash.mjs +0 -1
  22. package/web-ui/modules/app.methods.startup-claude.mjs +35 -17
  23. package/web-ui/modules/app.methods.task-orchestration.mjs +347 -8
  24. package/web-ui/modules/app.methods.tool-config-permissions.mjs +0 -3
  25. package/web-ui/modules/app.methods.web-ui-preferences.mjs +415 -68
  26. package/web-ui/modules/config-template-confirm-pref.mjs +2 -3
  27. package/web-ui/modules/i18n/locales/en.mjs +187 -28
  28. package/web-ui/modules/i18n/locales/ja.mjs +184 -25
  29. package/web-ui/modules/i18n/locales/vi.mjs +186 -33
  30. package/web-ui/modules/i18n/locales/zh-tw.mjs +187 -28
  31. package/web-ui/modules/i18n/locales/zh.mjs +189 -30
  32. package/web-ui/modules/i18n.mjs +5 -12
  33. package/web-ui/modules/provider-default-names.mjs +25 -0
  34. package/web-ui/modules/sessions-filters-url.mjs +1 -2
  35. package/web-ui/partials/index/layout-header.html +37 -14
  36. package/web-ui/partials/index/modal-health-check.html +69 -5
  37. package/web-ui/partials/index/panel-config-codex.html +2 -2
  38. package/web-ui/partials/index/panel-orchestration.html +489 -282
  39. package/web-ui/partials/index/panel-sessions.html +97 -17
  40. package/web-ui/res/web-ui-render.precompiled.js +1423 -732
  41. package/web-ui/session-helpers.mjs +4 -1
  42. package/web-ui/styles/layout-shell.css +157 -1
  43. package/web-ui/styles/navigation-panels.css +11 -0
  44. package/web-ui/styles/responsive.css +98 -0
  45. package/web-ui/styles/sessions-preview.css +212 -2
  46. package/web-ui/styles/sessions-toolbar-trash.css +61 -18
  47. package/web-ui/styles/skills-list.css +122 -0
  48. package/web-ui/styles/task-orchestration.css +2161 -4
  49. package/web-ui/styles/titles-cards.css +52 -0
@@ -1,9 +1,15 @@
1
+ .session-selector-section {
2
+ padding: 8px 10px;
3
+ gap: 4px;
4
+ margin-bottom: 8px;
5
+ }
6
+
1
7
  .session-toolbar {
2
8
  display: grid;
3
- grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
4
- gap: var(--spacing-xs);
5
- margin-bottom: var(--spacing-xs);
6
- align-items: end;
9
+ grid-template-columns: minmax(0, 1fr);
10
+ gap: 8px;
11
+ margin-bottom: 0;
12
+ align-items: center;
7
13
  }
8
14
 
9
15
  .session-toolbar-group {
@@ -15,15 +21,30 @@
15
21
  }
16
22
 
17
23
  .session-toolbar-secondary {
18
- justify-content: flex-end;
24
+ justify-content: flex-start;
25
+ flex-wrap: wrap;
19
26
  }
20
27
 
21
28
  .session-toolbar-grow {
22
- grid-column: 1 / -1;
29
+ grid-column: auto;
30
+ }
31
+
32
+ .session-toolbar .btn-tool,
33
+ .session-toolbar .btn-tool-compact {
34
+ width: auto;
35
+ min-width: 0;
36
+ white-space: nowrap;
37
+ }
38
+
39
+ .selector-section .session-toolbar .btn-tool + .btn-tool,
40
+ .selector-section .session-toolbar .btn-tool-compact + .btn-tool,
41
+ .selector-section .session-toolbar .btn-tool + .btn-tool-compact,
42
+ .selector-section .session-toolbar .btn-tool-compact + .btn-tool-compact {
43
+ margin-top: 0;
23
44
  }
24
45
 
25
46
  .session-toolbar-actions {
26
- justify-content: flex-end;
47
+ justify-content: flex-start;
27
48
  }
28
49
 
29
50
  .session-toolbar-footer {
@@ -121,10 +142,17 @@
121
142
  }
122
143
 
123
144
  /* ===== Session source pill bar ===== */
145
+ .session-source-tabs-row {
146
+ display: flex;
147
+ align-items: center;
148
+ margin-bottom: 0;
149
+ min-width: 0;
150
+ }
151
+
124
152
  .session-source-pills {
125
153
  display: flex;
126
- gap: 4px;
127
- padding: 3px;
154
+ gap: 3px;
155
+ padding: 2px;
128
156
  border-radius: var(--radius-md);
129
157
  background: var(--color-surface-alt);
130
158
  border: 1px solid var(--color-border-soft);
@@ -133,8 +161,8 @@
133
161
  .session-source-pill {
134
162
  display: inline-flex;
135
163
  align-items: center;
136
- gap: 6px;
137
- padding: 6px 12px;
164
+ gap: 5px;
165
+ padding: 5px 10px;
138
166
  border-radius: var(--radius-sm);
139
167
  border: none;
140
168
  background: transparent;
@@ -257,7 +285,7 @@
257
285
  .session-time-select {
258
286
  flex: 1;
259
287
  min-width: 160px;
260
- padding: 9px 12px;
288
+ padding: 7px 10px;
261
289
  border-radius: var(--radius-md);
262
290
  border: 1px solid var(--color-border-soft);
263
291
  background: var(--color-surface);
@@ -273,23 +301,38 @@
273
301
  min-width: 220px;
274
302
  }
275
303
 
276
- @media (min-width: 980px) {
304
+ @media (min-width: 1101px) {
277
305
  .session-toolbar {
278
- grid-template-columns: repeat(12, minmax(0, 1fr));
279
- gap: 10px;
306
+ grid-template-columns: minmax(180px, 220px) minmax(240px, 1fr) minmax(560px, auto);
307
+ gap: 8px;
280
308
  }
281
309
 
282
310
  .session-toolbar-primary {
283
- grid-column: span 7;
311
+ grid-column: 1;
284
312
  }
285
313
 
286
314
  .session-toolbar-secondary {
287
- grid-column: span 5;
315
+ grid-column: 3;
316
+ justify-content: flex-end;
317
+ flex-wrap: nowrap;
318
+ }
319
+
320
+ .session-toolbar-secondary .session-role-select,
321
+ .session-toolbar-secondary .session-time-select {
322
+ flex: 0 1 112px;
323
+ min-width: 104px;
324
+ }
325
+
326
+ .session-toolbar-primary .session-path-select {
327
+ min-width: 180px;
328
+ }
329
+
330
+ .session-toolbar-actions {
288
331
  justify-content: flex-end;
289
332
  }
290
333
 
291
334
  .session-toolbar-grow {
292
- grid-column: 1 / -1;
335
+ grid-column: 2;
293
336
  }
294
337
  }
295
338
 
@@ -303,3 +303,125 @@
303
303
  box-shadow: 0 2px 6px rgba(200, 74, 58, 0.25);
304
304
  border-color: transparent;
305
305
  }
306
+
307
+ .health-failed-provider-header {
308
+ font-weight: var(--font-weight-heading);
309
+ background: rgba(176, 58, 46, 0.08);
310
+ }
311
+
312
+ .health-failed-provider-item.disabled {
313
+ opacity: 0.62;
314
+ }
315
+
316
+ .health-failed-provider-main {
317
+ display: flex;
318
+ align-items: flex-start;
319
+ gap: var(--spacing-xs);
320
+ min-width: 0;
321
+ }
322
+
323
+ .health-failed-provider-main input {
324
+ flex: 0 0 auto;
325
+ width: 13px;
326
+ height: 13px;
327
+ margin-top: 2px;
328
+ accent-color: var(--color-brand-dark);
329
+ }
330
+
331
+ .health-failed-provider-main > span {
332
+ min-width: 0;
333
+ }
334
+
335
+ .health-failed-provider-main .form-hint {
336
+ display: block;
337
+ margin-top: 3px;
338
+ }
339
+
340
+ .modal-health-check {
341
+ width: min(92vw, 560px);
342
+ max-height: min(86vh, 720px);
343
+ display: flex;
344
+ flex-direction: column;
345
+ overflow: hidden;
346
+ padding: 0;
347
+ }
348
+
349
+ .modal-health-check > .modal-title {
350
+ padding: var(--spacing-md) var(--spacing-md) 0;
351
+ margin-bottom: var(--spacing-sm);
352
+ }
353
+
354
+ .health-check-modal-body {
355
+ min-height: 0;
356
+ overflow-y: auto;
357
+ padding: 0 var(--spacing-md);
358
+ scrollbar-width: none;
359
+ overscroll-behavior: contain;
360
+ }
361
+
362
+ .health-check-modal-body::-webkit-scrollbar {
363
+ display: none;
364
+ }
365
+
366
+ .health-check-modal-actions {
367
+ margin-top: 0;
368
+ padding: var(--spacing-sm) var(--spacing-md) var(--spacing-md);
369
+ border-top: 1px solid var(--color-border-soft);
370
+ background: linear-gradient(to bottom, rgba(255, 250, 246, 0.78) 0%, rgba(255, 250, 246, 0.98) 100%);
371
+ }
372
+
373
+ .health-failed-provider-list {
374
+ max-height: min(320px, 42vh);
375
+ border-color: rgba(176, 58, 46, 0.18);
376
+ border-radius: var(--radius-md);
377
+ background: linear-gradient(180deg, rgba(255, 250, 246, 0.98), rgba(255, 255, 255, 0.92));
378
+ }
379
+
380
+ .health-failed-provider-list::-webkit-scrollbar {
381
+ display: none;
382
+ }
383
+
384
+ .health-failed-provider-header {
385
+ position: sticky;
386
+ top: 0;
387
+ z-index: 1;
388
+ align-items: center;
389
+ background: linear-gradient(135deg, rgba(176, 58, 46, 0.11), rgba(210, 107, 90, 0.07));
390
+ backdrop-filter: blur(8px);
391
+ -webkit-backdrop-filter: blur(8px);
392
+ }
393
+
394
+ .health-failed-provider-actions {
395
+ display: inline-flex;
396
+ align-items: center;
397
+ gap: 8px;
398
+ flex-shrink: 0;
399
+ }
400
+
401
+ .btn-link {
402
+ border: 0;
403
+ background: transparent;
404
+ color: var(--color-brand-dark);
405
+ font-size: var(--font-size-caption);
406
+ font-weight: var(--font-weight-secondary);
407
+ cursor: pointer;
408
+ padding: 4px 6px;
409
+ border-radius: var(--radius-xs);
410
+ }
411
+
412
+ .btn-link:hover:not(:disabled) {
413
+ background: rgba(210, 107, 90, 0.1);
414
+ }
415
+
416
+ .btn-link:disabled {
417
+ cursor: not-allowed;
418
+ opacity: 0.45;
419
+ }
420
+
421
+ .health-failed-provider-item {
422
+ align-items: flex-start;
423
+ }
424
+
425
+ .health-failed-provider-item .latency {
426
+ margin-top: 1px;
427
+ }