agentworkshop 0.7.11 → 0.7.13

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 (84) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/CXutoGrn.js +14 -0
  3. package/.output/public/_nuxt/{BLzCac9K2.js → CcwJ2mrD2.js} +1 -1
  4. package/.output/public/_nuxt/{CGx-mtWf.js → D8xY-Yjc.js} +1 -1
  5. package/.output/public/_nuxt/DGVAuScD.js +1 -0
  6. package/.output/public/_nuxt/DVoWWlUW.js +1 -0
  7. package/.output/public/_nuxt/DaE5saZg.js +1 -0
  8. package/.output/public/_nuxt/Dsdy4Ua-.js +1 -0
  9. package/.output/public/_nuxt/{B8WV7GzS.js → E88a-JCG.js} +1 -1
  10. package/.output/public/_nuxt/bAFueD6a.js +1 -0
  11. package/.output/public/_nuxt/builds/latest.json +1 -1
  12. package/.output/public/_nuxt/builds/meta/bf43874b-06d3-4e20-a84d-e5b0d09e8a27.json +1 -0
  13. package/.output/public/_nuxt/dcw.rpqpOYQ8.css +1 -0
  14. package/.output/public/_nuxt/entry.Bv_GCmPP.css +1 -0
  15. package/.output/public/_nuxt/logs.BarkrvUp.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.BVXU1jOK.css +1 -0
  20. package/.output/public/_nuxt/workshop.CbymC2LY.css +1 -0
  21. package/.output/server/chunks/_/nitro.mjs +610 -609
  22. package/.output/server/chunks/_/user.schema.mjs +1 -1
  23. package/.output/server/chunks/_/user.schema.mjs.map +1 -1
  24. package/.output/server/chunks/build/{dcw-DqjHrl5Z.mjs → dcw-B0dtiHFG.mjs} +43 -43
  25. package/.output/server/chunks/build/dcw-B0dtiHFG.mjs.map +1 -0
  26. package/.output/server/chunks/build/{default-YcUHc1Ev.mjs → default-DdV642BY.mjs} +23 -2
  27. package/.output/server/chunks/build/{default-YcUHc1Ev.mjs.map → default-DdV642BY.mjs.map} +1 -1
  28. package/.output/server/chunks/build/{logs-Co854R4y.mjs → logs-UWXeNKy_.mjs} +34 -34
  29. package/.output/server/chunks/build/{logs-Co854R4y.mjs.map → logs-UWXeNKy_.mjs.map} +1 -1
  30. package/.output/server/chunks/build/{pages-DPC1Vp6w.mjs → pages-BmRUbGUi.mjs} +28 -18
  31. package/.output/server/chunks/build/pages-BmRUbGUi.mjs.map +1 -0
  32. package/.output/server/chunks/build/{permissions-Eu9e6hfZ.mjs → permissions-CxEgXic0.mjs} +12 -12
  33. package/.output/server/chunks/build/{permissions-Eu9e6hfZ.mjs.map → permissions-CxEgXic0.mjs.map} +1 -1
  34. package/.output/server/chunks/build/{plugins-D84mvK9G.mjs → plugins-wLIKHcIE.mjs} +17 -17
  35. package/.output/server/chunks/build/plugins-wLIKHcIE.mjs.map +1 -0
  36. package/.output/server/chunks/build/{tokens-CZpnEDVf.mjs → tokens-Dxnuw96_.mjs} +44 -75
  37. package/.output/server/chunks/build/tokens-Dxnuw96_.mjs.map +1 -0
  38. package/.output/server/chunks/build/{workshop-Crsai2Y9.mjs → workshop-CTcYDq2i.mjs} +21 -16
  39. package/.output/server/chunks/build/{workshop-Crsai2Y9.mjs.map → workshop-CTcYDq2i.mjs.map} +1 -1
  40. package/.output/server/chunks/routes/renderer.mjs +1 -1
  41. package/.output/server/chunks/virtual/entry.mjs +14 -12
  42. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  43. package/.output/server/package.json +1 -1
  44. package/app/assets/css/main.css +161 -0
  45. package/app/components/AwChart.vue +12 -2
  46. package/app/composables/useRouteMeta.ts +8 -1
  47. package/app/pages/dcw/index.vue +1079 -1079
  48. package/app/pages/index.vue +7 -2
  49. package/app/pages/logs/index.vue +623 -621
  50. package/app/pages/permissions/index.vue +330 -327
  51. package/app/pages/plugins/index.vue +6 -3
  52. package/app/pages/tokens.vue +11 -13
  53. package/app/pages/workshop/index.vue +3 -1
  54. package/i18n/locales/en.ts +1944 -1943
  55. package/i18n/locales/zh-CN.ts +1943 -1942
  56. package/package.json +1 -1
  57. package/scripts/_dbg-kicker-check.mjs +11 -0
  58. package/scripts/_dbg-perms-e2e.mjs +3 -3
  59. package/scripts/_dbg-plugins-e2e.mjs +1 -1
  60. package/scripts/_dbg-swatch-check.mjs +10 -0
  61. package/scripts/_dbg-ui-shots.mjs +28 -0
  62. package/server/data/dcw-rollback.json +6 -6
  63. package/server/data/dcws.json +345 -345
  64. package/server/repositories/user.repository.ts +4 -3
  65. package/server/schemas/user.schema.ts +2 -2
  66. package/.output/public/_nuxt/B5CYgFAD.js +0 -14
  67. package/.output/public/_nuxt/Bckshc9V.js +0 -1
  68. package/.output/public/_nuxt/D7jiode2.js +0 -1
  69. package/.output/public/_nuxt/DEaY_uvR.js +0 -1
  70. package/.output/public/_nuxt/builds/meta/88479a5b-ce6a-400f-9737-1cc9f54b1fe5.json +0 -1
  71. package/.output/public/_nuxt/d_Sz9KGm.js +0 -1
  72. package/.output/public/_nuxt/dcw.DcDjwvqv.css +0 -1
  73. package/.output/public/_nuxt/entry.B03HBJGC.css +0 -1
  74. package/.output/public/_nuxt/logs.BO-BSyjm.css +0 -1
  75. package/.output/public/_nuxt/pages.CytEOfUs.css +0 -1
  76. package/.output/public/_nuxt/permissions.CwZo6t1V.css +0 -1
  77. package/.output/public/_nuxt/plugins.Clsky_kl.css +0 -1
  78. package/.output/public/_nuxt/tJuVvBSl.js +0 -1
  79. package/.output/public/_nuxt/tokens.BPLe9ioQ.css +0 -1
  80. package/.output/public/_nuxt/workshop.BIdoGfoC.css +0 -1
  81. package/.output/server/chunks/build/dcw-DqjHrl5Z.mjs.map +0 -1
  82. package/.output/server/chunks/build/pages-DPC1Vp6w.mjs.map +0 -1
  83. package/.output/server/chunks/build/plugins-D84mvK9G.mjs.map +0 -1
  84. 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,9 @@ useHead({ title: () => tt('titles.tokens') })
272
272
  <template v-else>
273
273
  <div class="head">
274
274
  <div>
275
+ <p class="aw-kicker">
276
+ agentworkshop / api tokens
277
+ </p>
275
278
  <h2>API Token</h2>
276
279
  <p class="sub">
277
280
  {{ userStore.user?.name }} · {{ $t('tokens.k1upppaw026') }}
@@ -319,37 +322,31 @@ useHead({ title: () => tt('titles.tokens') })
319
322
  <code
320
323
  class="tok-val"
321
324
  :class="{ revealed: isRevealed(record.id) }"
322
- :title="isRevealed(record.id) ? '已显示明文,点击眼睛遮回' : '掩码预览,点击眼睛查看明文'"
325
+ :title="isRevealed(record.id) ? '已显示明文,点击眼睛遮回' : '掩码预览'"
323
326
  >{{ rowDisplay(record as TokenMeta) }}</code>
324
327
  <a-button
328
+ v-if="record.hasPlain"
325
329
  type="text"
326
330
  size="small"
327
331
  class="tok-op"
328
332
  :loading="revealingId === record.id"
329
- :disabled="!record.hasPlain"
330
- :title="!record.hasPlain ? '旧版本 token 未存档明文,不可查看' : (isRevealed(record.id) ? '遮回' : '查看明文')"
333
+ :title="isRevealed(record.id) ? '遮回' : '查看明文'"
331
334
  @click="toggleRowReveal(record as TokenMeta)"
332
335
  >
333
336
  <span :class="isRevealed(record.id) ? 'i-tabler-eye-off' : 'i-tabler-eye'" />
334
337
  </a-button>
335
338
  <a-button
339
+ v-if="record.hasPlain"
336
340
  type="text"
337
341
  size="small"
338
342
  class="tok-op"
339
343
  :class="{ ok: copyId === record.id }"
340
- :disabled="!record.hasPlain"
341
344
  :title="copyId === record.id ? '已复制' : '复制明文'"
342
345
  @click="copyRow(record as TokenMeta)"
343
346
  >
344
347
  <span :class="copyId === record.id ? 'i-tabler-check' : 'i-tabler-copy'" />
345
348
  </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>
349
+ <!-- 0.7.10 起 token 只存哈希:无明文是常态,不再打「旧版不可见」标签 -->
353
350
  </div>
354
351
  </template>
355
352
  <template v-else-if="column.key === 'createdAt'">
@@ -374,10 +371,11 @@ useHead({ title: () => tt('titles.tokens') })
374
371
  :cancel-text="'取消'"
375
372
  @confirm="doRevoke(record)"
376
373
  >
374
+ <!-- 安静文本按钮:常态墨灰,悬停转红 —— 红色只留给真实确认瞬间,不再整行批发 -->
377
375
  <a-button
378
- type="link"
376
+ type="text"
379
377
  size="small"
380
- danger
378
+ class="tok-revoke"
381
379
  >
382
380
  <span class="i-tabler-trash" />
383
381
  {{ $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>