codexmate 0.1.6 → 0.1.8

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 (33) hide show
  1. package/README.md +3 -1
  2. package/README.vi.md +6 -3
  3. package/README.zh.md +6 -3
  4. package/cli/system-prompt-files.js +177 -0
  5. package/cli.js +27 -0
  6. package/package.json +1 -1
  7. package/skills/{codexmate-project-context-recovery → context-recovery}/SKILL.md +2 -2
  8. package/web-ui/app.js +19 -0
  9. package/web-ui/modules/app.computed.session.mjs +1 -1
  10. package/web-ui/modules/app.methods.agents.mjs +5 -12
  11. package/web-ui/modules/app.methods.index.mjs +2 -0
  12. package/web-ui/modules/app.methods.session-actions.mjs +27 -0
  13. package/web-ui/modules/app.methods.session-browser.mjs +21 -1
  14. package/web-ui/modules/app.methods.session-trash.mjs +5 -0
  15. package/web-ui/modules/app.methods.system-prompt.mjs +294 -0
  16. package/web-ui/modules/i18n/locales/en.mjs +29 -0
  17. package/web-ui/modules/i18n/locales/ja.mjs +43 -0
  18. package/web-ui/modules/i18n/locales/vi.mjs +27 -0
  19. package/web-ui/modules/i18n/locales/zh-tw.mjs +27 -0
  20. package/web-ui/modules/i18n/locales/zh.mjs +27 -0
  21. package/web-ui/modules/request-token.mjs +9 -0
  22. package/web-ui/partials/index/panel-prompts.html +96 -1
  23. package/web-ui/partials/index/panel-settings.html +0 -23
  24. package/web-ui/partials/index/panel-trash.html +36 -1
  25. package/web-ui/res/web-ui-render.precompiled.js +750 -456
  26. package/web-ui/session-helpers.mjs +9 -0
  27. package/web-ui/styles/responsive.css +18 -0
  28. package/web-ui/styles/sessions-list.css +5 -0
  29. package/web-ui/styles/sessions-usage.css +20 -1
  30. package/web-ui/styles/system-prompt.css +23 -0
  31. package/web-ui/styles/trash-panel.css +9 -0
  32. package/web-ui/styles.css +1 -0
  33. /package/skills/{codexmate-project-context-recovery → context-recovery}/scripts/search_sessions.py +0 -0
@@ -165,6 +165,15 @@ export function switchMainTab(tab) {
165
165
  ) {
166
166
  this.prepareSessionTabRender();
167
167
  }
168
+ const enteringTrashTab = nextTab === 'trash';
169
+ const shouldLoadTrashListOnTrashEnter = enteringTrashTab
170
+ && typeof this.loadSessionTrash === 'function'
171
+ && this.sessionTrashEnabled !== false;
172
+ if (shouldLoadTrashListOnTrashEnter) {
173
+ this.loadSessionTrash({
174
+ forceRefresh: !!this.sessionTrashLoadedOnce
175
+ });
176
+ }
168
177
  const shouldLoadTrashListOnSettingsEnter = nextTab === 'settings'
169
178
  && this.settingsTab === 'data'
170
179
  && typeof this.loadSessionTrash === 'function';
@@ -186,6 +186,24 @@ textarea:focus-visible {
186
186
 
187
187
  .mode-cards > .segmented-control {
188
188
  flex-direction: row;
189
+ flex-wrap: nowrap;
190
+ max-width: 100%;
191
+ overflow-x: auto;
192
+ overflow-y: hidden;
193
+ scrollbar-width: none;
194
+ -webkit-overflow-scrolling: touch;
195
+ scroll-snap-type: x proximity;
196
+ }
197
+
198
+ .mode-cards > .segmented-control::-webkit-scrollbar {
199
+ display: none;
200
+ }
201
+
202
+ .mode-cards > .segmented-control > .segment {
203
+ flex: 0 0 auto;
204
+ min-width: 0;
205
+ white-space: nowrap;
206
+ scroll-snap-align: start;
189
207
  }
190
208
 
191
209
  .prompts-editor-toolbar {
@@ -188,6 +188,7 @@
188
188
  display: inline-flex;
189
189
  align-items: center;
190
190
  justify-content: center;
191
+ vertical-align: middle;
191
192
  border-radius: var(--radius-sm);
192
193
  border: 1px solid var(--color-border-soft);
193
194
  background: var(--color-surface);
@@ -195,9 +196,11 @@
195
196
  cursor: pointer;
196
197
  transition: all 120ms var(--ease-spring);
197
198
  padding: 0;
199
+ line-height: 0;
198
200
  }
199
201
 
200
202
  .trash-action-btn svg {
203
+ display: block;
201
204
  width: 16px;
202
205
  height: 16px;
203
206
  }
@@ -329,8 +332,10 @@
329
332
  display: inline-flex;
330
333
  align-items: center;
331
334
  justify-content: center;
335
+ vertical-align: middle;
332
336
  line-height: 1;
333
337
  white-space: nowrap;
338
+
334
339
  }
335
340
 
336
341
  .trash-item-time {
@@ -342,12 +342,26 @@
342
342
 
343
343
  .usage-wave-labels {
344
344
  display: flex;
345
- justify-content: space-between;
345
+ flex-wrap: nowrap;
346
+ justify-content: flex-start;
346
347
  margin-top: 12px;
347
348
  padding: 0 8px;
349
+ overflow-x: auto;
350
+ overflow-y: hidden;
351
+ scrollbar-width: none;
352
+ -webkit-overflow-scrolling: touch;
353
+ scroll-snap-type: x proximity;
354
+ }
355
+
356
+ .usage-wave-labels::-webkit-scrollbar {
357
+ display: none;
348
358
  }
349
359
 
350
360
  .usage-wave-label {
361
+ flex: 0 0 auto;
362
+ min-width: 0;
363
+ white-space: nowrap;
364
+ scroll-snap-align: start;
351
365
  font-size: 11px;
352
366
  color: var(--color-text-muted);
353
367
  cursor: pointer;
@@ -372,6 +386,11 @@
372
386
  color: var(--color-brand);
373
387
  font-weight: 600;
374
388
  background: linear-gradient(135deg, rgba(200, 121, 99, 0.12), rgba(200, 121, 99, 0.06));
389
+ scroll-snap-align: center;
390
+ }
391
+
392
+ .usage-wave-label:last-child {
393
+ scroll-snap-align: end;
375
394
  }
376
395
 
377
396
  /* ---- 日期详情 ---- */
@@ -0,0 +1,23 @@
1
+ .sys-prompt-controls {
2
+ display: flex;
3
+ gap: 16px;
4
+ flex-wrap: wrap;
5
+ margin-bottom: 12px;
6
+ }
7
+
8
+ .sys-prompt-control-group {
9
+ display: flex;
10
+ flex-direction: column;
11
+ gap: 4px;
12
+ }
13
+
14
+ .sys-prompt-control-group .form-label {
15
+ font-size: 0.8em;
16
+ opacity: 0.8;
17
+ }
18
+
19
+ .sys-prompt-select {
20
+ min-width: 180px;
21
+ }
22
+
23
+
@@ -37,6 +37,15 @@
37
37
  line-height: 1.5;
38
38
  }
39
39
 
40
+ .trash-disabled-state .trash-empty-svg {
41
+ opacity: 0.4;
42
+ }
43
+
44
+ .trash-disabled-state .trash-empty-title {
45
+ color: var(--color-text-muted);
46
+ }
47
+
48
+
40
49
  /* ---- 工具栏 — 克制·精确 ---- */
41
50
  .trash-toolbar {
42
51
  display: flex;
package/web-ui/styles.css CHANGED
@@ -22,3 +22,4 @@
22
22
  @import url('./styles/responsive.css');
23
23
  @import url('./styles/webhook.css');
24
24
  @import url('./styles/trash-panel.css');
25
+ @import url('./styles/system-prompt.css');