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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentworkshop-prod",
3
- "version": "0.7.11",
3
+ "version": "0.7.12",
4
4
  "type": "module",
5
5
  "private": true,
6
6
  "dependencies": {
@@ -1255,3 +1255,164 @@ ul.task-list {
1255
1255
  animation-duration: 200ms !important;
1256
1256
  }
1257
1257
  }
1258
+
1259
+ /* ============================================================
1260
+ * Warm Editorial · v2 polish(0.7.12)
1261
+ * 评审驱动的五笔:图表色板归位 / 表格系统细化 / 空态组件 / 页眉归队 / 动效补全。
1262
+ * 原则不变:transform/opacity only;reduced-motion 收敛;反 AI 味。
1263
+ * ============================================================ */
1264
+
1265
+ :root {
1266
+ /* 图表调色板:暖纸体系的同类色序(替代 ECharts 默认荧光绿/蓝绿琥珀三连) */
1267
+ --chart-1: #4a6b57; /* 墨绿 —— 首序 */
1268
+ --chart-2: #8aa07c; /* 苔绿 */
1269
+ --chart-3: #c9a26a; /* 琥珀纸 */
1270
+ --chart-4: #b3714f; /* 陶赭 */
1271
+ --chart-5: #6f8296; /* 青灰 */
1272
+ --chart-track: color-mix(in srgb, var(--ink) 8%, transparent);
1273
+
1274
+ /* 动效时长刻度(animate 规范:UI <300ms;hover 100-160;浮层 150-250) */
1275
+ --dur-press: 120ms;
1276
+ --dur-control: 160ms;
1277
+ --dur-overlay: 220ms;
1278
+ }
1279
+
1280
+ /* ── 图表:坐标轴/图例融入油墨体系;数据序用暖纸色板 ── */
1281
+ .aw-chart .ant-table,
1282
+ .aw-chart text {
1283
+ font-family: var(--font-body);
1284
+ }
1285
+
1286
+ /* ── 表格系统细化:数字等宽 / 行内操作渐显 / 表头字距 ── */
1287
+ .ant-table .ant-table-cell {
1288
+ font-variant-numeric: tabular-nums;
1289
+ }
1290
+
1291
+ .ant-table .ant-table-tbody > tr {
1292
+ transition: background-color var(--transition-fast);
1293
+ }
1294
+
1295
+ /* 行内操作默认半隐,行悬停渐显(降低常驻视觉噪音;触屏/键盘可达性不受影响) */
1296
+ @media (hover: hover) and (pointer: fine) {
1297
+ .ant-table .ant-table-tbody .row-quiet {
1298
+ opacity: 0.45;
1299
+ transition: opacity var(--transition-fast);
1300
+ }
1301
+
1302
+ .ant-table .ant-table-tbody > tr:hover .row-quiet,
1303
+ .ant-table .ant-table-tbody > tr:focus-within .row-quiet {
1304
+ opacity: 1;
1305
+ }
1306
+ }
1307
+
1308
+ /* ── 空态:细线一道 + 衬线一句 + 导语(拒绝大块剪影图形) ── */
1309
+ .aw-empty {
1310
+ display: flex;
1311
+ flex-direction: column;
1312
+ gap: 10px;
1313
+ align-items: center;
1314
+ padding: 72px 0;
1315
+ text-align: center;
1316
+ }
1317
+
1318
+ .aw-empty::before {
1319
+ content: '';
1320
+ width: 44px;
1321
+ height: 1px;
1322
+ background: var(--ink-fainter);
1323
+ }
1324
+
1325
+ .aw-empty .aw-empty-title {
1326
+ font-family: var(--font-display);
1327
+ font-size: 19px;
1328
+ color: var(--ink-soft);
1329
+ }
1330
+
1331
+ .aw-empty .aw-empty-sub {
1332
+ max-width: 46ch;
1333
+ font-size: 12.5px;
1334
+ color: var(--ink-faint);
1335
+ }
1336
+
1337
+ /* ── 状态呼吸点:运行中/live 信号(2s 缓呼吸;reduced-motion 静止) ── */
1338
+ .aw-live-dot {
1339
+ display: inline-block;
1340
+ width: 7px;
1341
+ height: 7px;
1342
+ margin-right: 6px;
1343
+ vertical-align: 1px;
1344
+ border-radius: 50%;
1345
+ background: var(--tone-live-dot, #b9770e);
1346
+ }
1347
+
1348
+ @media (prefers-reduced-motion: no-preference) {
1349
+ .aw-live-dot {
1350
+ animation: aw-breathe 2.2s ease-in-out infinite;
1351
+ }
1352
+
1353
+ @keyframes aw-breathe {
1354
+ 0%, 100% { opacity: 1; }
1355
+ 50% { opacity: 0.35; }
1356
+ }
1357
+ }
1358
+
1359
+ /* ── 卡片悬停抬升:统一递给所有 .aw-liftable(4px 上移 + hairline 转墨) ── */
1360
+ @media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
1361
+ .aw-liftable {
1362
+ transition:
1363
+ transform var(--dur-control) var(--ease-out-quart),
1364
+ border-color var(--transition-fast),
1365
+ box-shadow var(--dur-control) var(--ease-out-quart);
1366
+ }
1367
+
1368
+ .aw-liftable:hover {
1369
+ transform: translateY(-3px);
1370
+ border-color: color-mix(in srgb, var(--ink) 24%, transparent);
1371
+ box-shadow: 0 6px 18px rgb(12 10 9 / 7%);
1372
+ }
1373
+ }
1374
+
1375
+ /* ── 页面进场编排的网格扩展:stagger 之前只覆盖 6 个子元素,补到 12(卡片墙/表格页) ── */
1376
+ @media (prefers-reduced-motion: no-preference) {
1377
+ .aw-stagger > :nth-child(7) { animation-delay: 0.3s; }
1378
+ .aw-stagger > :nth-child(8) { animation-delay: 0.35s; }
1379
+ .aw-stagger > :nth-child(9) { animation-delay: 0.4s; }
1380
+ .aw-stagger > :nth-child(10) { animation-delay: 0.45s; }
1381
+ .aw-stagger > :nth-child(11) { animation-delay: 0.5s; }
1382
+ .aw-stagger > :nth-child(12) { animation-delay: 0.55s; }
1383
+ }
1384
+
1385
+ /* ── 表头对齐:左对齐与正文一致(数字列右对齐由页面按列声明) ── */
1386
+ .ant-table .ant-table-thead > tr > th {
1387
+ text-align: left;
1388
+ }
1389
+
1390
+ /* ── 空表占位:替换 ant 默认黑色团状图形为细线风格 ── */
1391
+ .ant-empty-image {
1392
+ display: flex;
1393
+ justify-content: center;
1394
+ }
1395
+
1396
+ .ant-empty-image svg {
1397
+ width: 44px;
1398
+ height: 44px;
1399
+ fill: none;
1400
+ stroke: var(--ink-fainter);
1401
+ stroke-width: 1.25;
1402
+ opacity: 0.8;
1403
+ }
1404
+
1405
+ .ant-empty-description {
1406
+ color: var(--ink-faint);
1407
+ font-size: 12.5px;
1408
+ }
1409
+
1410
+ /* ── tokens 吊销:安静墨灰,悬停转红(红色只留给确认瞬间) ── */
1411
+ .tok-revoke {
1412
+ color: var(--ink-faint) !important;
1413
+ transition: color var(--transition-fast);
1414
+ }
1415
+
1416
+ .tok-revoke:hover {
1417
+ color: var(--tone-danger-dot, #c25a4e) !important;
1418
+ }
@@ -10,6 +10,7 @@ import {
10
10
  TooltipComponent,
11
11
  } from 'echarts/components'
12
12
  import VChart from 'vue-echarts'
13
+ import { computed } from 'vue'
13
14
  import type { PropType } from 'vue'
14
15
  import type { EChartsOption } from 'echarts'
15
16
 
@@ -27,18 +28,27 @@ use([
27
28
  DataZoomComponent,
28
29
  ])
29
30
 
30
- defineProps({
31
+ /** Warm Editorial 图表色序(替代 ECharts 默认荧光绿/蓝;与 main.css --chart-* 同源) */
32
+ const EDITORIAL_PALETTE = ['#4a6b57', '#8aa07c', '#c9a26a', '#b3714f', '#6f8296', '#4e4e4e']
33
+
34
+ const props = defineProps({
31
35
  option: {
32
36
  type: Object as PropType<EChartsOption>,
33
37
  required: true,
34
38
  },
35
39
  })
40
+
41
+ // 未显式给 color 的图表统一走编辑色板;给了的尊重页面意图
42
+ const merged = computed<EChartsOption>(() => ({
43
+ color: EDITORIAL_PALETTE,
44
+ ...props.option,
45
+ }))
36
46
  </script>
37
47
 
38
48
  <template>
39
49
  <VChart
40
50
  v-bind="$attrs"
41
- :option="option"
51
+ :option="merged"
42
52
  autoresize
43
53
  />
44
54
  </template>
@@ -26,6 +26,11 @@ export function useRouteMeta() {
26
26
  '/workshop/channel-templates': { key: 'meta.ctpl', icon: 'i-tabler-layout-grid-add' },
27
27
  '/town': { key: 'menu.town', icon: 'i-tabler-map-2' },
28
28
  '/tokens': { key: 'menu.tokens', icon: 'i-tabler-key' },
29
+ '/daq': { key: 'menu.daq', icon: 'i-tabler-activity' },
30
+ '/dcw': { key: 'menu.dcw', icon: 'i-tabler-settings-automation' },
31
+ '/logs': { key: 'menu.logs', icon: 'i-tabler-list-details' },
32
+ '/permissions': { key: 'menu.permissions', icon: 'i-tabler-shield-lock' },
33
+ '/plugins': { key: 'menu.plugins', icon: 'i-tabler-puzzle' },
29
34
  '/users': { key: 'menu.users', icon: 'i-tabler-users-group' },
30
35
  '/monitor': { key: 'menu.monitor', icon: 'i-tabler-cpu' },
31
36
  '/settings': { key: 'menu.settings', icon: 'i-tabler-settings' },
@@ -43,7 +48,9 @@ export function useRouteMeta() {
43
48
  return { title: name ?? `${t('header.workspace')} ${id.slice(0, 6)}`, icon: 'i-tabler-console' }
44
49
  }
45
50
 
46
- return { title: path.split('/').filter(Boolean).pop() ?? '·', icon: 'i-tabler-point' }
51
+ // 单段动态路径(daqs/dcws 等)取末段;纯 slug 至少首字母大写,不再裸显示
52
+ const last = path.split('/').filter(Boolean).pop() ?? '·'
53
+ return { title: last.charAt(0).toUpperCase() + last.slice(1), icon: 'i-tabler-point' }
47
54
  }
48
55
 
49
56
  return { metaFor }