codexmate 0.0.19 → 0.0.21

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 (102) hide show
  1. package/README.en.md +349 -255
  2. package/README.md +284 -248
  3. package/cli/agents-files.js +162 -0
  4. package/cli/archive-helpers.js +446 -0
  5. package/cli/auth-profiles.js +359 -0
  6. package/cli/builtin-proxy.js +580 -0
  7. package/cli/claude-proxy.js +998 -0
  8. package/cli/config-bootstrap.js +384 -0
  9. package/cli/config-health.js +338 -0
  10. package/cli/openclaw-config.js +629 -0
  11. package/cli/skills.js +1141 -0
  12. package/cli/zip-commands.js +510 -0
  13. package/cli.js +13129 -12973
  14. package/lib/cli-file-utils.js +151 -151
  15. package/lib/cli-models-utils.js +419 -152
  16. package/lib/cli-network-utils.js +164 -148
  17. package/lib/cli-path-utils.js +69 -0
  18. package/lib/cli-session-utils.js +121 -121
  19. package/lib/cli-sessions.js +386 -0
  20. package/lib/cli-utils.js +155 -155
  21. package/lib/download-artifacts.js +77 -0
  22. package/lib/mcp-stdio.js +440 -440
  23. package/lib/task-orchestrator.js +869 -0
  24. package/lib/text-diff.js +303 -303
  25. package/lib/workflow-engine.js +340 -340
  26. package/package.json +74 -63
  27. package/res/json5.min.js +1 -1
  28. package/res/vue.global.prod.js +13 -0
  29. package/web-ui/app.js +530 -5548
  30. package/web-ui/index.html +33 -2246
  31. package/web-ui/logic.agents-diff.mjs +386 -0
  32. package/web-ui/logic.claude.mjs +168 -0
  33. package/web-ui/logic.mjs +5 -793
  34. package/web-ui/logic.runtime.mjs +124 -0
  35. package/web-ui/logic.sessions.mjs +581 -0
  36. package/web-ui/modules/api.mjs +90 -0
  37. package/web-ui/modules/app.computed.dashboard.mjs +113 -0
  38. package/web-ui/modules/app.computed.index.mjs +15 -0
  39. package/web-ui/modules/app.computed.main-tabs.mjs +195 -0
  40. package/web-ui/modules/app.computed.session.mjs +507 -0
  41. package/web-ui/modules/app.constants.mjs +15 -0
  42. package/web-ui/modules/app.methods.agents.mjs +493 -0
  43. package/web-ui/modules/app.methods.claude-config.mjs +174 -0
  44. package/web-ui/modules/app.methods.codex-config.mjs +640 -0
  45. package/web-ui/modules/app.methods.index.mjs +88 -0
  46. package/web-ui/modules/app.methods.install.mjs +149 -0
  47. package/web-ui/modules/app.methods.navigation.mjs +619 -0
  48. package/web-ui/modules/app.methods.openclaw-core.mjs +814 -0
  49. package/web-ui/modules/app.methods.openclaw-editing.mjs +372 -0
  50. package/web-ui/modules/app.methods.openclaw-persist.mjs +369 -0
  51. package/web-ui/modules/app.methods.providers.mjs +363 -0
  52. package/web-ui/modules/app.methods.runtime.mjs +323 -0
  53. package/web-ui/modules/app.methods.session-actions.mjs +520 -0
  54. package/web-ui/modules/app.methods.session-browser.mjs +626 -0
  55. package/web-ui/modules/app.methods.session-timeline.mjs +448 -0
  56. package/web-ui/modules/app.methods.session-trash.mjs +422 -0
  57. package/web-ui/modules/app.methods.startup-claude.mjs +412 -0
  58. package/web-ui/modules/app.methods.task-orchestration.mjs +471 -0
  59. package/web-ui/modules/config-mode.computed.mjs +126 -124
  60. package/web-ui/modules/skills.computed.mjs +107 -107
  61. package/web-ui/modules/skills.methods.mjs +481 -481
  62. package/web-ui/partials/index/layout-footer.html +13 -0
  63. package/web-ui/partials/index/layout-header.html +402 -0
  64. package/web-ui/partials/index/modal-config-template-agents.html +125 -0
  65. package/web-ui/partials/index/modal-confirm-toast.html +32 -0
  66. package/web-ui/partials/index/modal-health-check.html +72 -0
  67. package/web-ui/partials/index/modal-openclaw-config.html +280 -0
  68. package/web-ui/partials/index/modal-skills.html +184 -0
  69. package/web-ui/partials/index/modals-basic.html +156 -0
  70. package/web-ui/partials/index/panel-config-claude.html +126 -0
  71. package/web-ui/partials/index/panel-config-codex.html +237 -0
  72. package/web-ui/partials/index/panel-config-openclaw.html +78 -0
  73. package/web-ui/partials/index/panel-docs.html +130 -0
  74. package/web-ui/partials/index/panel-market.html +174 -0
  75. package/web-ui/partials/index/panel-orchestration.html +397 -0
  76. package/web-ui/partials/index/panel-sessions.html +292 -0
  77. package/web-ui/partials/index/panel-settings.html +190 -0
  78. package/web-ui/partials/index/panel-usage.html +213 -0
  79. package/web-ui/session-helpers.mjs +559 -362
  80. package/web-ui/source-bundle.cjs +233 -0
  81. package/web-ui/styles/base-theme.css +271 -0
  82. package/web-ui/styles/controls-forms.css +360 -0
  83. package/web-ui/styles/docs-panel.css +182 -0
  84. package/web-ui/styles/feedback.css +108 -0
  85. package/web-ui/styles/health-check-dialog.css +144 -0
  86. package/web-ui/styles/layout-shell.css +376 -0
  87. package/web-ui/styles/modals-core.css +464 -0
  88. package/web-ui/styles/navigation-panels.css +348 -0
  89. package/web-ui/styles/openclaw-structured.css +266 -0
  90. package/web-ui/styles/responsive.css +450 -0
  91. package/web-ui/styles/sessions-list.css +400 -0
  92. package/web-ui/styles/sessions-preview.css +411 -0
  93. package/web-ui/styles/sessions-toolbar-trash.css +243 -0
  94. package/web-ui/styles/sessions-usage.css +628 -0
  95. package/web-ui/styles/skills-list.css +296 -0
  96. package/web-ui/styles/skills-market.css +335 -0
  97. package/web-ui/styles/task-orchestration.css +776 -0
  98. package/web-ui/styles/titles-cards.css +408 -0
  99. package/web-ui/styles.css +18 -4668
  100. package/web-ui.html +17 -17
  101. package/res/screenshot.png +0 -0
  102. package/res/vue.global.js +0 -18552
@@ -0,0 +1,450 @@
1
+ .content-wrapper {
2
+ min-height: 300px;
3
+ position: relative;
4
+ }
5
+
6
+ button:focus-visible,
7
+ select:focus-visible,
8
+ input:focus-visible,
9
+ textarea:focus-visible {
10
+ outline: 3px solid rgba(201, 94, 75, 0.25);
11
+ outline-offset: 2px;
12
+ }
13
+
14
+ @media (max-width: 1280px) {
15
+ .app-shell {
16
+ grid-template-columns: 224px minmax(0, 1fr);
17
+ gap: 0;
18
+ }
19
+
20
+ .main-panel {
21
+ padding: 0 20px 20px;
22
+ }
23
+
24
+ .main-panel-topbar {
25
+ margin: 0 -20px 12px;
26
+ padding: 0 20px 10px;
27
+ }
28
+
29
+ }
30
+
31
+ @media (max-width: 960px) {
32
+ .container {
33
+ padding: 0;
34
+ }
35
+ .app-shell {
36
+ grid-template-columns: 188px minmax(0, 1fr);
37
+ gap: 0;
38
+ }
39
+ .main-panel {
40
+ padding: 0 16px 16px;
41
+ border-radius: 0;
42
+ min-height: 0;
43
+ }
44
+ .main-panel-topbar {
45
+ margin: 0 -16px 12px;
46
+ padding: 0 16px 10px;
47
+ }
48
+ .top-tabs {
49
+ display: none !important;
50
+ }
51
+ .status-strip {
52
+ grid-template-columns: repeat(2, minmax(0, 1fr));
53
+ gap: 8px;
54
+ margin-top: 2px;
55
+ }
56
+ .status-chip {
57
+ min-width: 0;
58
+ }
59
+
60
+ .skills-summary-strip {
61
+ grid-template-columns: repeat(2, minmax(0, 1fr));
62
+ }
63
+
64
+ .skills-panel-header {
65
+ flex-direction: column;
66
+ align-items: stretch;
67
+ }
68
+
69
+ .skills-modal-actions {
70
+ align-items: flex-start;
71
+ }
72
+
73
+ .market-target-switch-compact {
74
+ justify-content: flex-start;
75
+ }
76
+ }
77
+
78
+ @media (max-width: 720px) {
79
+ .app-shell {
80
+ grid-template-columns: 1fr;
81
+ min-height: auto;
82
+ height: auto;
83
+ overflow: visible;
84
+ }
85
+
86
+ .side-rail {
87
+ display: none;
88
+ }
89
+
90
+ .top-tabs {
91
+ display: flex !important;
92
+ flex-wrap: nowrap;
93
+ overflow-x: auto;
94
+ overflow-y: hidden;
95
+ padding-bottom: 2px;
96
+ margin-left: -2px;
97
+ margin-right: -2px;
98
+ }
99
+
100
+ .main-panel {
101
+ padding: 0 12px 16px;
102
+ height: auto;
103
+ overflow-y: visible;
104
+ }
105
+
106
+ .main-panel-topbar {
107
+ position: static;
108
+ margin: 0 0 10px;
109
+ padding: 0;
110
+ background: transparent;
111
+ backdrop-filter: none;
112
+ }
113
+
114
+ .panel-header-refined {
115
+ margin-left: 0;
116
+ margin-right: 0;
117
+ padding: 14px 0 12px;
118
+ }
119
+
120
+ .main-title {
121
+ font-size: 18px;
122
+ }
123
+
124
+ .subtitle {
125
+ font-size: 12px;
126
+ margin-bottom: 0;
127
+ line-height: 1.4;
128
+ }
129
+
130
+ .panel-kicker {
131
+ display: none;
132
+ }
133
+
134
+ .top-tabs {
135
+ margin: 8px 0 10px;
136
+ gap: 5px;
137
+ }
138
+
139
+ .segmented-control {
140
+ flex-direction: column;
141
+ gap: 6px;
142
+ }
143
+
144
+ .status-strip {
145
+ grid-template-columns: 1fr;
146
+ gap: 12px;
147
+ }
148
+
149
+ .market-grid {
150
+ grid-template-columns: 1fr;
151
+ }
152
+
153
+ .market-action-grid {
154
+ grid-template-columns: 1fr;
155
+ }
156
+
157
+ }
158
+
159
+ @media (max-width: 540px) {
160
+ .trash-header-actions {
161
+ display: grid;
162
+ grid-template-columns: repeat(2, minmax(0, 1fr));
163
+ width: 100%;
164
+ }
165
+
166
+ .selector-header .trash-header-actions > .btn-tool,
167
+ .selector-header .trash-header-actions > .btn-tool-compact {
168
+ width: 100%;
169
+ min-width: 0;
170
+ height: 44px;
171
+ min-height: 44px;
172
+ }
173
+
174
+ body {
175
+ padding: var(--spacing-md) var(--spacing-sm);
176
+ }
177
+ .container {
178
+ padding: 0 var(--spacing-sm) var(--spacing-md);
179
+ }
180
+ .top-tabs {
181
+ gap: 5px;
182
+ margin: 2px 0 8px;
183
+ padding-right: 14px;
184
+ }
185
+ .main-panel {
186
+ padding: 0 10px 12px;
187
+ }
188
+
189
+ .main-panel-topbar {
190
+ margin-bottom: 8px;
191
+ }
192
+ .card {
193
+ padding: 12px;
194
+ }
195
+ .session-layout {
196
+ grid-template-columns: 1fr;
197
+ height: auto;
198
+ min-height: 0;
199
+ }
200
+
201
+ .status-strip {
202
+ gap: var(--spacing-xs);
203
+ }
204
+
205
+ .status-chip {
206
+ min-width: 100%;
207
+ }
208
+
209
+ .btn-add,
210
+ .btn-tool,
211
+ .card-action-btn,
212
+ .btn-session-export,
213
+ .btn-session-open,
214
+ .btn-session-clone,
215
+ .btn-session-refresh,
216
+ .btn-session-delete,
217
+ .btn-icon,
218
+ .session-item-copy {
219
+ min-height: 44px;
220
+ padding-top: 12px;
221
+ padding-bottom: 12px;
222
+ }
223
+
224
+ .btn-icon,
225
+ .session-item-copy {
226
+ min-width: 36px;
227
+ }
228
+
229
+ .session-item {
230
+ min-height: 75px;
231
+ height: 75px;
232
+ contain-intrinsic-size: 75px;
233
+ padding: 12px 14px;
234
+ }
235
+
236
+ .session-item-header {
237
+ flex-direction: row;
238
+ align-items: center;
239
+ gap: 8px;
240
+ }
241
+
242
+ .session-item-main {
243
+ align-items: center;
244
+ }
245
+
246
+ .session-item-copy {
247
+ width: 36px;
248
+ height: 36px;
249
+ min-width: 36px;
250
+ min-height: 36px;
251
+ border-radius: 6px;
252
+ padding: 2px;
253
+ display: inline-flex;
254
+ align-items: center;
255
+ justify-content: center;
256
+ transform: translate(-3px, 0);
257
+ }
258
+
259
+ .session-item-copy svg {
260
+ width: 10px;
261
+ height: 10px;
262
+ }
263
+
264
+ .session-item-title {
265
+ -webkit-line-clamp: 1;
266
+ max-height: none;
267
+ white-space: nowrap;
268
+ text-overflow: ellipsis;
269
+ overflow: hidden;
270
+ }
271
+
272
+ .session-item-actions {
273
+ margin-top: 0;
274
+ }
275
+
276
+ .session-item-meta {
277
+ margin-top: -2px;
278
+ margin-bottom: 0;
279
+ gap: 4px;
280
+ align-items: center;
281
+ }
282
+
283
+ .trash-item.session-item {
284
+ min-height: auto;
285
+ height: auto;
286
+ contain-intrinsic-size: auto;
287
+ }
288
+
289
+ .trash-item-header {
290
+ flex-direction: column;
291
+ align-items: stretch;
292
+ gap: 10px;
293
+ }
294
+
295
+ .trash-item-mainline {
296
+ flex-direction: column;
297
+ align-items: flex-start;
298
+ gap: 6px;
299
+ }
300
+
301
+ .trash-item-side {
302
+ width: 100%;
303
+ min-width: 0;
304
+ align-items: stretch;
305
+ gap: 10px;
306
+ padding-top: 8px;
307
+ border-top: 1px dashed rgba(216, 201, 184, 0.55);
308
+ }
309
+
310
+ .trash-item-actions {
311
+ display: grid;
312
+ grid-template-columns: repeat(2, minmax(0, 1fr));
313
+ justify-content: flex-start;
314
+ width: 100%;
315
+ }
316
+
317
+ .trash-item-actions .btn-mini {
318
+ width: 100%;
319
+ height: 44px;
320
+ min-height: 44px;
321
+ padding: 0 10px;
322
+ display: inline-flex;
323
+ align-items: center;
324
+ justify-content: center;
325
+ line-height: 1;
326
+ white-space: nowrap;
327
+ }
328
+
329
+ .trash-item .session-count-badge {
330
+ align-self: flex-start;
331
+ margin-top: 0;
332
+ }
333
+
334
+ .trash-item-title {
335
+ -webkit-line-clamp: 3;
336
+ max-height: none;
337
+ white-space: normal;
338
+ text-overflow: clip;
339
+ overflow: hidden;
340
+ }
341
+
342
+ .trash-item-meta {
343
+ margin-top: 6px;
344
+ margin-bottom: 0;
345
+ gap: 6px;
346
+ align-items: center;
347
+ }
348
+
349
+ .trash-item-time {
350
+ padding-top: 2px;
351
+ line-height: 1.35;
352
+ text-align: right;
353
+ }
354
+
355
+ .trash-item-path {
356
+ grid-template-columns: 1fr;
357
+ gap: 4px;
358
+ }
359
+
360
+ .card {
361
+ padding: 8px;
362
+ }
363
+
364
+ .card-list {
365
+ gap: 4px;
366
+ margin-bottom: 4px;
367
+ }
368
+
369
+ .card-actions {
370
+ gap: 8px;
371
+ }
372
+
373
+ .card-action-btn {
374
+ width: 40px;
375
+ height: 40px;
376
+ border-radius: 10px;
377
+ }
378
+
379
+ .card-action-btn svg {
380
+ width: 18px;
381
+ height: 18px;
382
+ }
383
+
384
+ .card-trailing {
385
+ grid-auto-flow: row;
386
+ grid-auto-columns: 1fr;
387
+ justify-content: stretch;
388
+ justify-items: end;
389
+ }
390
+
391
+ .card-trailing .card-actions {
392
+ width: 100%;
393
+ justify-content: flex-end;
394
+ justify-self: end;
395
+ }
396
+
397
+ /* 移动端不显示配置状态 pill,节省空间 */
398
+ .card-trailing .pill {
399
+ display: none;
400
+ }
401
+
402
+ .auth-profile-item {
403
+ padding: 10px;
404
+ }
405
+
406
+ .auth-profile-header {
407
+ flex-direction: column;
408
+ align-items: stretch;
409
+ gap: 10px;
410
+ }
411
+
412
+ .auth-profile-actions {
413
+ justify-content: flex-start;
414
+ }
415
+
416
+ .auth-profile-grid {
417
+ grid-template-columns: 1fr;
418
+ gap: 6px;
419
+ margin-top: 8px;
420
+ }
421
+
422
+ .auth-profile-row {
423
+ display: flex;
424
+ flex-direction: column;
425
+ gap: 2px;
426
+ padding-bottom: 4px;
427
+ border-bottom: 1px dashed rgba(160, 145, 130, 0.25);
428
+ }
429
+
430
+ .auth-profile-row:last-child {
431
+ border-bottom: none;
432
+ padding-bottom: 0;
433
+ }
434
+
435
+ .session-preview {
436
+ border-radius: var(--radius-lg);
437
+ }
438
+
439
+ .skills-summary-strip {
440
+ grid-template-columns: 1fr;
441
+ }
442
+
443
+ .skills-panel {
444
+ padding: 10px;
445
+ }
446
+
447
+ .skills-root-box {
448
+ font-size: 11px;
449
+ }
450
+ }