agentworkshop 0.7.11 → 0.7.12

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 (79) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{BLzCac9K2.js → CcwJ2mrD2.js} +1 -1
  3. package/.output/public/_nuxt/CvYfzHYz.js +1 -0
  4. package/.output/public/_nuxt/{B5CYgFAD.js → D2JyEL28.js} +4 -4
  5. package/.output/public/_nuxt/{CGx-mtWf.js → D8xY-Yjc.js} +1 -1
  6. package/.output/public/_nuxt/DaE5saZg.js +1 -0
  7. package/.output/public/_nuxt/Dsdy4Ua-.js +1 -0
  8. package/.output/public/_nuxt/{B8WV7GzS.js → E88a-JCG.js} +1 -1
  9. package/.output/public/_nuxt/bAFueD6a.js +1 -0
  10. package/.output/public/_nuxt/builds/latest.json +1 -1
  11. package/.output/public/_nuxt/builds/meta/54e22640-4fd0-4fee-9077-31d4d4bb7969.json +1 -0
  12. package/.output/public/_nuxt/dcw.rpqpOYQ8.css +1 -0
  13. package/.output/public/_nuxt/entry.Bv_GCmPP.css +1 -0
  14. package/.output/public/_nuxt/hb_ceMJP.js +1 -0
  15. package/.output/public/_nuxt/logs.BS1sb41K.css +1 -0
  16. package/.output/public/_nuxt/pages.BkE-AfIb.css +1 -0
  17. package/.output/public/_nuxt/permissions.DTRtZeTw.css +1 -0
  18. package/.output/public/_nuxt/plugins.BcSEwwGb.css +1 -0
  19. package/.output/public/_nuxt/tokens.rW1xHxRW.css +1 -0
  20. package/.output/public/_nuxt/workshop.CbymC2LY.css +1 -0
  21. package/.output/server/chunks/_/nitro.mjs +772 -772
  22. package/.output/server/chunks/build/{dcw-DqjHrl5Z.mjs → dcw-B0dtiHFG.mjs} +43 -43
  23. package/.output/server/chunks/build/dcw-B0dtiHFG.mjs.map +1 -0
  24. package/.output/server/chunks/build/{default-YcUHc1Ev.mjs → default-DdV642BY.mjs} +23 -2
  25. package/.output/server/chunks/build/{default-YcUHc1Ev.mjs.map → default-DdV642BY.mjs.map} +1 -1
  26. package/.output/server/chunks/build/{logs-Co854R4y.mjs → logs-Crf6f1IC.mjs} +34 -34
  27. package/.output/server/chunks/build/{logs-Co854R4y.mjs.map → logs-Crf6f1IC.mjs.map} +1 -1
  28. package/.output/server/chunks/build/{pages-DPC1Vp6w.mjs → pages-BmRUbGUi.mjs} +28 -18
  29. package/.output/server/chunks/build/pages-BmRUbGUi.mjs.map +1 -0
  30. package/.output/server/chunks/build/{permissions-Eu9e6hfZ.mjs → permissions-CxEgXic0.mjs} +12 -12
  31. package/.output/server/chunks/build/{permissions-Eu9e6hfZ.mjs.map → permissions-CxEgXic0.mjs.map} +1 -1
  32. package/.output/server/chunks/build/{plugins-D84mvK9G.mjs → plugins-wLIKHcIE.mjs} +17 -17
  33. package/.output/server/chunks/build/plugins-wLIKHcIE.mjs.map +1 -0
  34. package/.output/server/chunks/build/{tokens-CZpnEDVf.mjs → tokens-BKLzcdMg.mjs} +44 -75
  35. package/.output/server/chunks/build/tokens-BKLzcdMg.mjs.map +1 -0
  36. package/.output/server/chunks/build/{workshop-Crsai2Y9.mjs → workshop-CTcYDq2i.mjs} +21 -16
  37. package/.output/server/chunks/build/{workshop-Crsai2Y9.mjs.map → workshop-CTcYDq2i.mjs.map} +1 -1
  38. package/.output/server/chunks/routes/renderer.mjs +1 -1
  39. package/.output/server/chunks/virtual/entry.mjs +12 -10
  40. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  41. package/.output/server/package.json +1 -1
  42. package/app/assets/css/main.css +161 -0
  43. package/app/components/AwChart.vue +12 -2
  44. package/app/composables/useRouteMeta.ts +8 -1
  45. package/app/pages/dcw/index.vue +1079 -1079
  46. package/app/pages/index.vue +7 -2
  47. package/app/pages/logs/index.vue +621 -621
  48. package/app/pages/permissions/index.vue +330 -327
  49. package/app/pages/plugins/index.vue +6 -3
  50. package/app/pages/tokens.vue +9 -13
  51. package/app/pages/workshop/index.vue +3 -1
  52. package/i18n/locales/en.ts +1944 -1943
  53. package/i18n/locales/zh-CN.ts +1943 -1942
  54. package/package.json +1 -1
  55. package/scripts/_dbg-kicker-check.mjs +11 -0
  56. package/scripts/_dbg-perms-e2e.mjs +3 -3
  57. package/scripts/_dbg-plugins-e2e.mjs +1 -1
  58. package/scripts/_dbg-swatch-check.mjs +10 -0
  59. package/scripts/_dbg-ui-shots.mjs +28 -0
  60. package/server/data/dcw-rollback.json +6 -6
  61. package/server/data/dcws.json +345 -345
  62. package/.output/public/_nuxt/Bckshc9V.js +0 -1
  63. package/.output/public/_nuxt/D7jiode2.js +0 -1
  64. package/.output/public/_nuxt/DEaY_uvR.js +0 -1
  65. package/.output/public/_nuxt/builds/meta/88479a5b-ce6a-400f-9737-1cc9f54b1fe5.json +0 -1
  66. package/.output/public/_nuxt/d_Sz9KGm.js +0 -1
  67. package/.output/public/_nuxt/dcw.DcDjwvqv.css +0 -1
  68. package/.output/public/_nuxt/entry.B03HBJGC.css +0 -1
  69. package/.output/public/_nuxt/logs.BO-BSyjm.css +0 -1
  70. package/.output/public/_nuxt/pages.CytEOfUs.css +0 -1
  71. package/.output/public/_nuxt/permissions.CwZo6t1V.css +0 -1
  72. package/.output/public/_nuxt/plugins.Clsky_kl.css +0 -1
  73. package/.output/public/_nuxt/tJuVvBSl.js +0 -1
  74. package/.output/public/_nuxt/tokens.BPLe9ioQ.css +0 -1
  75. package/.output/public/_nuxt/workshop.BIdoGfoC.css +0 -1
  76. package/.output/server/chunks/build/dcw-DqjHrl5Z.mjs.map +0 -1
  77. package/.output/server/chunks/build/pages-DPC1Vp6w.mjs.map +0 -1
  78. package/.output/server/chunks/build/plugins-D84mvK9G.mjs.map +0 -1
  79. package/.output/server/chunks/build/tokens-CZpnEDVf.mjs.map +0 -1
@@ -90,6 +90,9 @@ onMounted(load)
90
90
  <div class="plugins-page">
91
91
  <header class="pg-head">
92
92
  <div>
93
+ <p class="aw-kicker">
94
+ agentworkshop / plugins
95
+ </p>
93
96
  <h1 class="pg-title">
94
97
  {{ $t('plugins.title') }}
95
98
  </h1>
@@ -136,11 +139,11 @@ onMounted(load)
136
139
  {{ $t('plugins.empty') }}
137
140
  </div>
138
141
 
139
- <div class="pg-grid">
142
+ <div class="pg-grid aw-stagger">
140
143
  <article
141
144
  v-for="p in plugins"
142
145
  :key="`${p.scope}:${p.name}`"
143
- class="pg-card"
146
+ class="pg-card aw-liftable"
144
147
  :class="{ 'is-off': !p.enabled }"
145
148
  @click="openDetail(p)"
146
149
  >
@@ -254,7 +257,7 @@ onMounted(load)
254
257
  .tag.user { border-color: rgba(65, 200, 244, .5); color: #41c8f4; }
255
258
  .tag.on { border-color: rgba(53, 224, 160, .5); color: #35e0a0; }
256
259
  .tag.off { border-color: rgba(255, 107, 107, .4); color: #ff6b6b; }
257
- .tag.client { border-color: rgba(181, 140, 255, .5); color: #b58cff; }
260
+ .tag.client { border-color: color-mix(in srgb, var(--ink) 24%, transparent); color: var(--ink-soft); }
258
261
  .card-routes { display: flex; flex-direction: column; gap: 2px; }
259
262
  .card-routes code { font-size: 10px; opacity: .65; }
260
263
  .detail dt { margin-top: 10px; font-size: 11px; opacity: .5; }
@@ -272,6 +272,7 @@ useHead({ title: () => tt('titles.tokens') })
272
272
  <template v-else>
273
273
  <div class="head">
274
274
  <div>
275
+ <p class="aw-kicker">agentworkshop / api tokens</p>
275
276
  <h2>API Token</h2>
276
277
  <p class="sub">
277
278
  {{ userStore.user?.name }} · {{ $t('tokens.k1upppaw026') }}
@@ -319,37 +320,31 @@ useHead({ title: () => tt('titles.tokens') })
319
320
  <code
320
321
  class="tok-val"
321
322
  :class="{ revealed: isRevealed(record.id) }"
322
- :title="isRevealed(record.id) ? '已显示明文,点击眼睛遮回' : '掩码预览,点击眼睛查看明文'"
323
+ :title="isRevealed(record.id) ? '已显示明文,点击眼睛遮回' : '掩码预览'"
323
324
  >{{ rowDisplay(record as TokenMeta) }}</code>
324
325
  <a-button
326
+ v-if="record.hasPlain"
325
327
  type="text"
326
328
  size="small"
327
329
  class="tok-op"
328
330
  :loading="revealingId === record.id"
329
- :disabled="!record.hasPlain"
330
- :title="!record.hasPlain ? '旧版本 token 未存档明文,不可查看' : (isRevealed(record.id) ? '遮回' : '查看明文')"
331
+ :title="isRevealed(record.id) ? '遮回' : '查看明文'"
331
332
  @click="toggleRowReveal(record as TokenMeta)"
332
333
  >
333
334
  <span :class="isRevealed(record.id) ? 'i-tabler-eye-off' : 'i-tabler-eye'" />
334
335
  </a-button>
335
336
  <a-button
337
+ v-if="record.hasPlain"
336
338
  type="text"
337
339
  size="small"
338
340
  class="tok-op"
339
341
  :class="{ ok: copyId === record.id }"
340
- :disabled="!record.hasPlain"
341
342
  :title="copyId === record.id ? '已复制' : '复制明文'"
342
343
  @click="copyRow(record as TokenMeta)"
343
344
  >
344
345
  <span :class="copyId === record.id ? 'i-tabler-check' : 'i-tabler-copy'" />
345
346
  </a-button>
346
- <a-tag
347
- v-if="!record.hasPlain"
348
- class="legacy-tag"
349
- color="orange"
350
- >
351
- {{ $t('tokens.kyelqk1008') }}
352
- </a-tag>
347
+ <!-- 0.7.10 起 token 只存哈希:无明文是常态,不再打「旧版不可见」标签 -->
353
348
  </div>
354
349
  </template>
355
350
  <template v-else-if="column.key === 'createdAt'">
@@ -374,10 +369,11 @@ useHead({ title: () => tt('titles.tokens') })
374
369
  :cancel-text="'取消'"
375
370
  @confirm="doRevoke(record)"
376
371
  >
372
+ <!-- 安静文本按钮:常态墨灰,悬停转红 —— 红色只留给真实确认瞬间,不再整行批发 -->
377
373
  <a-button
378
- type="link"
374
+ type="text"
379
375
  size="small"
380
- danger
376
+ class="tok-revoke"
381
377
  >
382
378
  <span class="i-tabler-trash" />
383
379
  {{ $t('tokens.k3xmrz010') }}
@@ -415,9 +415,11 @@ useHead({ title: () => t('titles.workshop') })
415
415
 
416
416
  <div
417
417
  v-if="wsStore.workspaces.length === 0 && ready"
418
- class="card placeholder"
418
+ class="card placeholder aw-empty"
419
419
  @click="createOpen = true"
420
420
  >
421
+ <span class="aw-empty-title">从一条产线、一个 Agent 开始</span>
422
+ <span class="aw-empty-sub">Workspace 是频道与任务的容器 —— 建立第一个工作区后,你的 Agent 团队即可上线作业。</span>
421
423
  <span class="i-tabler-plus big" />
422
424
  <span>新建第一个 Workspace</span>
423
425
  </div>