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.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{BLzCac9K2.js → CcwJ2mrD2.js} +1 -1
- package/.output/public/_nuxt/CvYfzHYz.js +1 -0
- package/.output/public/_nuxt/{B5CYgFAD.js → D2JyEL28.js} +4 -4
- package/.output/public/_nuxt/{CGx-mtWf.js → D8xY-Yjc.js} +1 -1
- package/.output/public/_nuxt/DaE5saZg.js +1 -0
- package/.output/public/_nuxt/Dsdy4Ua-.js +1 -0
- package/.output/public/_nuxt/{B8WV7GzS.js → E88a-JCG.js} +1 -1
- package/.output/public/_nuxt/bAFueD6a.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/54e22640-4fd0-4fee-9077-31d4d4bb7969.json +1 -0
- package/.output/public/_nuxt/dcw.rpqpOYQ8.css +1 -0
- package/.output/public/_nuxt/entry.Bv_GCmPP.css +1 -0
- package/.output/public/_nuxt/hb_ceMJP.js +1 -0
- package/.output/public/_nuxt/logs.BS1sb41K.css +1 -0
- package/.output/public/_nuxt/pages.BkE-AfIb.css +1 -0
- package/.output/public/_nuxt/permissions.DTRtZeTw.css +1 -0
- package/.output/public/_nuxt/plugins.BcSEwwGb.css +1 -0
- package/.output/public/_nuxt/tokens.rW1xHxRW.css +1 -0
- package/.output/public/_nuxt/workshop.CbymC2LY.css +1 -0
- package/.output/server/chunks/_/nitro.mjs +772 -772
- package/.output/server/chunks/build/{dcw-DqjHrl5Z.mjs → dcw-B0dtiHFG.mjs} +43 -43
- package/.output/server/chunks/build/dcw-B0dtiHFG.mjs.map +1 -0
- package/.output/server/chunks/build/{default-YcUHc1Ev.mjs → default-DdV642BY.mjs} +23 -2
- package/.output/server/chunks/build/{default-YcUHc1Ev.mjs.map → default-DdV642BY.mjs.map} +1 -1
- package/.output/server/chunks/build/{logs-Co854R4y.mjs → logs-Crf6f1IC.mjs} +34 -34
- package/.output/server/chunks/build/{logs-Co854R4y.mjs.map → logs-Crf6f1IC.mjs.map} +1 -1
- package/.output/server/chunks/build/{pages-DPC1Vp6w.mjs → pages-BmRUbGUi.mjs} +28 -18
- package/.output/server/chunks/build/pages-BmRUbGUi.mjs.map +1 -0
- package/.output/server/chunks/build/{permissions-Eu9e6hfZ.mjs → permissions-CxEgXic0.mjs} +12 -12
- package/.output/server/chunks/build/{permissions-Eu9e6hfZ.mjs.map → permissions-CxEgXic0.mjs.map} +1 -1
- package/.output/server/chunks/build/{plugins-D84mvK9G.mjs → plugins-wLIKHcIE.mjs} +17 -17
- package/.output/server/chunks/build/plugins-wLIKHcIE.mjs.map +1 -0
- package/.output/server/chunks/build/{tokens-CZpnEDVf.mjs → tokens-BKLzcdMg.mjs} +44 -75
- package/.output/server/chunks/build/tokens-BKLzcdMg.mjs.map +1 -0
- package/.output/server/chunks/build/{workshop-Crsai2Y9.mjs → workshop-CTcYDq2i.mjs} +21 -16
- package/.output/server/chunks/build/{workshop-Crsai2Y9.mjs.map → workshop-CTcYDq2i.mjs.map} +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/virtual/entry.mjs +12 -10
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/app/assets/css/main.css +161 -0
- package/app/components/AwChart.vue +12 -2
- package/app/composables/useRouteMeta.ts +8 -1
- package/app/pages/dcw/index.vue +1079 -1079
- package/app/pages/index.vue +7 -2
- package/app/pages/logs/index.vue +621 -621
- package/app/pages/permissions/index.vue +330 -327
- package/app/pages/plugins/index.vue +6 -3
- package/app/pages/tokens.vue +9 -13
- package/app/pages/workshop/index.vue +3 -1
- package/i18n/locales/en.ts +1944 -1943
- package/i18n/locales/zh-CN.ts +1943 -1942
- package/package.json +1 -1
- package/scripts/_dbg-kicker-check.mjs +11 -0
- package/scripts/_dbg-perms-e2e.mjs +3 -3
- package/scripts/_dbg-plugins-e2e.mjs +1 -1
- package/scripts/_dbg-swatch-check.mjs +10 -0
- package/scripts/_dbg-ui-shots.mjs +28 -0
- package/server/data/dcw-rollback.json +6 -6
- package/server/data/dcws.json +345 -345
- package/.output/public/_nuxt/Bckshc9V.js +0 -1
- package/.output/public/_nuxt/D7jiode2.js +0 -1
- package/.output/public/_nuxt/DEaY_uvR.js +0 -1
- package/.output/public/_nuxt/builds/meta/88479a5b-ce6a-400f-9737-1cc9f54b1fe5.json +0 -1
- package/.output/public/_nuxt/d_Sz9KGm.js +0 -1
- package/.output/public/_nuxt/dcw.DcDjwvqv.css +0 -1
- package/.output/public/_nuxt/entry.B03HBJGC.css +0 -1
- package/.output/public/_nuxt/logs.BO-BSyjm.css +0 -1
- package/.output/public/_nuxt/pages.CytEOfUs.css +0 -1
- package/.output/public/_nuxt/permissions.CwZo6t1V.css +0 -1
- package/.output/public/_nuxt/plugins.Clsky_kl.css +0 -1
- package/.output/public/_nuxt/tJuVvBSl.js +0 -1
- package/.output/public/_nuxt/tokens.BPLe9ioQ.css +0 -1
- package/.output/public/_nuxt/workshop.BIdoGfoC.css +0 -1
- package/.output/server/chunks/build/dcw-DqjHrl5Z.mjs.map +0 -1
- package/.output/server/chunks/build/pages-DPC1Vp6w.mjs.map +0 -1
- package/.output/server/chunks/build/plugins-D84mvK9G.mjs.map +0 -1
- package/.output/server/chunks/build/tokens-CZpnEDVf.mjs.map +0 -1
package/package.json
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import puppeteer from 'puppeteer-core'
|
|
2
|
+
const browser = await puppeteer.launch({ executablePath: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe', headless: 'new', args: ['--no-sandbox', '--no-proxy-server'] })
|
|
3
|
+
const page = await browser.newPage()
|
|
4
|
+
const login = await fetch('http://127.0.0.1:3001/api/users/login', { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ email: 'admin@awshop.local', password: 'admin123' }) }).then(r => r.json())
|
|
5
|
+
await page.setCookie({ name: 'token', value: login.data.token, domain: '127.0.0.1', path: '/' })
|
|
6
|
+
await page.goto('http://127.0.0.1:3001/tokens', { waitUntil: 'networkidle2' })
|
|
7
|
+
await new Promise(r => setTimeout(r, 2000))
|
|
8
|
+
console.log('kicker count:', await page.evaluate(() => document.querySelectorAll('.aw-kicker').length))
|
|
9
|
+
console.log('kicker texts:', await page.evaluate(() => [...document.querySelectorAll('.aw-kicker')].map(e => e.textContent.trim()).join(' | ')))
|
|
10
|
+
console.log('tokens h2:', await page.evaluate(() => [...document.querySelectorAll('h2')].map(e => e.textContent.trim()).join(' | ')))
|
|
11
|
+
await browser.close()
|
|
@@ -25,9 +25,9 @@ const adminTok = await login('admin@awshop.local', ADMIN_PASS)
|
|
|
25
25
|
ok('admin 登录', Boolean(adminTok))
|
|
26
26
|
const ov = await api('/api/workshop/permissions', {}, adminTok)
|
|
27
27
|
ok('admin 权限总览(lines+users)', ov.status === 200 && ov.body?.data?.lines?.length > 0 && ov.body?.data?.users?.length > 0, `lines=${ov.body?.data?.lines?.length} users=${ov.body?.data?.users?.length}`)
|
|
28
|
-
const LINE1 = ov.body.data.lines
|
|
29
|
-
const LINE2 = ov.body.data.lines
|
|
30
|
-
ok('
|
|
28
|
+
const LINE1 = ov.body.data.lines[0]?.id
|
|
29
|
+
const LINE2 = ov.body.data.lines[1]?.id
|
|
30
|
+
ok('找到两条目标产线', Boolean(LINE1 && LINE2), `${LINE1} / ${LINE2}`)
|
|
31
31
|
|
|
32
32
|
// ---- plain 用户(注册即 user 角色) ----
|
|
33
33
|
const stamp = Date.now().toString(36)
|
|
@@ -8,7 +8,7 @@ import puppeteer from 'puppeteer-core'
|
|
|
8
8
|
import { mkdirSync } from 'node:fs'
|
|
9
9
|
|
|
10
10
|
const BASE = process.argv[2] ?? 'http://127.0.0.1:3021'
|
|
11
|
-
const ADMIN = { email: 'admin@awshop.local', password: '
|
|
11
|
+
const ADMIN = { email: 'admin@awshop.local', password: process.argv[3] ?? 'admin123' }
|
|
12
12
|
const PLAIN = { name: `plain-${Date.now().toString(36)}`, email: `plain-${Date.now().toString(36)}@awshop.local`, password: 'Plain2026' }
|
|
13
13
|
const SHOT_DIR = '.e2e-shots'
|
|
14
14
|
mkdirSync(SHOT_DIR, { recursive: true })
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import puppeteer from 'puppeteer-core'
|
|
2
|
+
const browser = await puppeteer.launch({ executablePath: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe', headless: 'new', args: ['--no-sandbox', '--no-proxy-server'] })
|
|
3
|
+
const page = await browser.newPage()
|
|
4
|
+
await page.setViewport({ width: 1600, height: 1000, deviceScaleFactor: 1.25 })
|
|
5
|
+
const login = await fetch('http://127.0.0.1:3001/api/users/login', { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ email: 'admin@awshop.local', password: 'admin123' }) }).then(r => r.json())
|
|
6
|
+
await page.setCookie({ name: 'token', value: login.data.token, domain: '127.0.0.1', path: '/' })
|
|
7
|
+
await page.goto('http://127.0.0.1:3001/settings', { waitUntil: 'networkidle2' })
|
|
8
|
+
await new Promise(r => setTimeout(r, 2000))
|
|
9
|
+
console.log('swatch labels:', await page.evaluate(() => [...document.querySelectorAll('.swatch-label')].map(e => e.textContent.trim()).join(' | ')))
|
|
10
|
+
await browser.close()
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// 全页面基线/对比截图
|
|
2
|
+
import puppeteer from 'puppeteer-core'
|
|
3
|
+
const BASE = process.argv[2] ?? 'http://127.0.0.1:3001'
|
|
4
|
+
const TAG = process.argv[3] ?? 'base'
|
|
5
|
+
const PAGES = [
|
|
6
|
+
['dashboard', '/'],
|
|
7
|
+
['workshop', '/workshop'],
|
|
8
|
+
['daq', '/daq'],
|
|
9
|
+
['dcw', '/dcw'],
|
|
10
|
+
['tokens', '/tokens'],
|
|
11
|
+
['permissions', '/permissions'],
|
|
12
|
+
['plugins', '/plugins'],
|
|
13
|
+
['logs', '/logs'],
|
|
14
|
+
['monitor', '/monitor'],
|
|
15
|
+
['settings', '/settings'],
|
|
16
|
+
]
|
|
17
|
+
const browser = await puppeteer.launch({ executablePath: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe', headless: 'new', args: ['--no-sandbox', '--disable-gpu', '--no-proxy-server', '--window-size=1600,1000'] })
|
|
18
|
+
const page = await browser.newPage()
|
|
19
|
+
await page.setViewport({ width: 1600, height: 1000, deviceScaleFactor: 1.25 })
|
|
20
|
+
const login = await fetch(`${BASE}/api/users/login`, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ email: 'admin@awshop.local', password: 'admin123' }) }).then(r => r.json())
|
|
21
|
+
await page.setCookie({ name: 'token', value: login.data.token, domain: new URL(BASE).hostname, path: '/' })
|
|
22
|
+
for (const [name, path] of PAGES) {
|
|
23
|
+
await page.goto(`${BASE}${path}`, { waitUntil: 'networkidle2', timeout: 60000 }).catch(() => {})
|
|
24
|
+
await new Promise(r => setTimeout(r, 2500))
|
|
25
|
+
await page.screenshot({ path: `.e2e-shots/ui-${TAG}-${name}.png` })
|
|
26
|
+
console.log(`📷 ${TAG}-${name}`)
|
|
27
|
+
}
|
|
28
|
+
await browser.close()
|
|
@@ -5120,7 +5120,7 @@
|
|
|
5120
5120
|
"channels": [],
|
|
5121
5121
|
"degraded": true
|
|
5122
5122
|
},
|
|
5123
|
-
"evaluatedAt": "2026-09-
|
|
5123
|
+
"evaluatedAt": "2026-09-06T15:27:48.724+08:00",
|
|
5124
5124
|
"windowAgg": {
|
|
5125
5125
|
"at": "2026-08-31T16:25:17.398Z",
|
|
5126
5126
|
"fromMs": 1788193396897,
|
|
@@ -11569,7 +11569,7 @@
|
|
|
11569
11569
|
}
|
|
11570
11570
|
]
|
|
11571
11571
|
},
|
|
11572
|
-
"evaluatedAt": "2026-09-
|
|
11572
|
+
"evaluatedAt": "2026-09-06T15:27:48.724+08:00",
|
|
11573
11573
|
"windowAgg": {
|
|
11574
11574
|
"at": "2026-09-05T02:07:03.383Z",
|
|
11575
11575
|
"fromMs": 1788573903195,
|
|
@@ -11630,7 +11630,7 @@
|
|
|
11630
11630
|
}
|
|
11631
11631
|
]
|
|
11632
11632
|
},
|
|
11633
|
-
"evaluatedAt": "2026-09-
|
|
11633
|
+
"evaluatedAt": "2026-09-06T15:27:48.724+08:00",
|
|
11634
11634
|
"windowAgg": {
|
|
11635
11635
|
"at": "2026-09-05T02:44:52.815Z",
|
|
11636
11636
|
"fromMs": 1788576172595,
|
|
@@ -11690,7 +11690,7 @@
|
|
|
11690
11690
|
}
|
|
11691
11691
|
]
|
|
11692
11692
|
},
|
|
11693
|
-
"evaluatedAt": "2026-09-
|
|
11693
|
+
"evaluatedAt": "2026-09-06T15:27:48.724+08:00",
|
|
11694
11694
|
"windowAgg": {
|
|
11695
11695
|
"at": "2026-09-05T03:09:49.742Z",
|
|
11696
11696
|
"fromMs": 1788577669697,
|
|
@@ -11750,7 +11750,7 @@
|
|
|
11750
11750
|
}
|
|
11751
11751
|
]
|
|
11752
11752
|
},
|
|
11753
|
-
"evaluatedAt": "2026-09-
|
|
11753
|
+
"evaluatedAt": "2026-09-06T15:27:48.724+08:00",
|
|
11754
11754
|
"windowAgg": {
|
|
11755
11755
|
"at": "2026-09-05T03:34:32.268Z",
|
|
11756
11756
|
"fromMs": 1788579151974,
|
|
@@ -11799,7 +11799,7 @@
|
|
|
11799
11799
|
"channels": [],
|
|
11800
11800
|
"degraded": true
|
|
11801
11801
|
},
|
|
11802
|
-
"evaluatedAt": "2026-09-
|
|
11802
|
+
"evaluatedAt": "2026-09-06T15:27:48.724+08:00",
|
|
11803
11803
|
"windowAgg": {
|
|
11804
11804
|
"at": "2026-09-05T09:01:07.414Z",
|
|
11805
11805
|
"fromMs": 1788598747074,
|