agentworkshop 0.7.47 → 0.7.49
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/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/0530cee1-fff5-4025-a6f4-5708b6534608.json +1 -0
- package/.output/server/chunks/_/nitro.mjs +871 -857
- package/.output/server/package.json +1 -1
- package/README-zh.md +813 -806
- package/README.md +823 -816
- package/config.yml +176 -176
- package/docs/aml.md +1 -0
- package/docs/cli.en.md +445 -445
- package/docs/cli.md +410 -410
- package/docs/full-test-plan.md +191 -191
- package/docs/plugins.en.md +567 -567
- package/docs/plugins.md +560 -560
- package/docs/sdk.en.md +922 -922
- package/docs/sdk.md +861 -861
- package/package.json +172 -172
- package/scripts/_aw0746-stage12.mjs +4 -4
- package/scripts/_aw0746-stage34.mjs +6 -4
- package/scripts/_aw0746-stage5.mjs +159 -106
- package/scripts/_aw0746-stage6-aml.mjs +3 -3
- package/scripts/_aw0746-stage6b-train-sweep.mjs +6 -3
- package/scripts/_aw0746-stage6c-jobsmoke.mjs +69 -0
- package/scripts/_aw0746-stage7-twin.mjs +301 -259
- package/scripts/_aw0747-readme-rows.mjs +32 -0
- package/scripts/_aw0748-failclosed-probe.mjs +117 -0
- package/scripts/_aw0748-fresh-channel.mjs +21 -0
- package/scripts/_aw0748-mock-closedloop.mjs +89 -0
- package/scripts/_aw0748-wake-channel.mjs +46 -0
- package/scripts/_aw0749-readme-rows.mjs +23 -0
- package/scripts/_probe-lease.cjs +13 -0
- package/scripts/_probe-task-queue.cjs +9 -0
- package/server/services/workshop/aml/twin/physics-runtime.ts +16 -1
- package/server/services/workshop/aml/twin/provider-contracts.ts +34 -0
- package/server/services/workshop/aml/twin/provider-health.ts +8 -0
- package/server/services/workshop/aml/twin/provider-loader.ts +67 -0
- package/server/services/workshop/aml/twin/provider-registry.ts +50 -0
- package/server/services/workshop/runtime/manager/state.ts +21 -4
- package/.output/public/_nuxt/builds/meta/1b18aaf2-ccbc-45e0-b9c3-107655b226f9.json +0 -1
- package/scripts/_probe-density.cjs +0 -15
- package/scripts/_probe-gate-model.mjs +0 -34
- package/scripts/_probe-model-eligibility.cjs +0 -13
package/package.json
CHANGED
|
@@ -1,172 +1,172 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "agentworkshop",
|
|
3
|
-
"version": "0.7.
|
|
4
|
-
"type": "module",
|
|
5
|
-
"description": "AgentWorkShop \u8f6f\u4ef6\u5f00\u53d1\u7cfb\u7edf - \u57fa\u4e8e Nuxt 4 \u7684\u914d\u7f6e\u9a71\u52a8\u8fd0\u884c\u8303\u5f0f",
|
|
6
|
-
"license": "PolyForm-Noncommercial-1.0.0",
|
|
7
|
-
"exports": {
|
|
8
|
-
".": {
|
|
9
|
-
"types": "./sdk/index.d.mts",
|
|
10
|
-
"default": "./sdk/index.mjs"
|
|
11
|
-
},
|
|
12
|
-
"./sdk": {
|
|
13
|
-
"types": "./sdk/index.d.mts",
|
|
14
|
-
"default": "./sdk/index.mjs"
|
|
15
|
-
},
|
|
16
|
-
"./sdk/client": {
|
|
17
|
-
"types": "./sdk/client.d.mts",
|
|
18
|
-
"default": "./sdk/client.mjs"
|
|
19
|
-
},
|
|
20
|
-
"./package.json": "./package.json"
|
|
21
|
-
},
|
|
22
|
-
"bin": {
|
|
23
|
-
"aw": "bin/aw.mjs",
|
|
24
|
-
"agentworkshop": "bin/aw.mjs"
|
|
25
|
-
},
|
|
26
|
-
"files": [
|
|
27
|
-
".output",
|
|
28
|
-
"bin",
|
|
29
|
-
"cli",
|
|
30
|
-
"sdk",
|
|
31
|
-
"app",
|
|
32
|
-
"server",
|
|
33
|
-
"shared",
|
|
34
|
-
"i18n",
|
|
35
|
-
"public",
|
|
36
|
-
"scripts",
|
|
37
|
-
".AgentWorkShop/prompts",
|
|
38
|
-
"server/plugins-builtin",
|
|
39
|
-
"config.yml",
|
|
40
|
-
"nuxt.config.ts",
|
|
41
|
-
"tsconfig.json",
|
|
42
|
-
"uno.config.ts",
|
|
43
|
-
"docker-compose.yml",
|
|
44
|
-
".env.example",
|
|
45
|
-
"README-zh.md",
|
|
46
|
-
"docs/cli.md",
|
|
47
|
-
"docs/cli.en.md",
|
|
48
|
-
"docs/plugins.md",
|
|
49
|
-
"docs/plugins.en.md",
|
|
50
|
-
"docs/sdk.md",
|
|
51
|
-
"docs/sdk.en.md",
|
|
52
|
-
"docs/aml.md",
|
|
53
|
-
"docs/tui.md",
|
|
54
|
-
"docs/full-test-plan.md",
|
|
55
|
-
"docs/multi-harness-architecture.md",
|
|
56
|
-
"tui"
|
|
57
|
-
],
|
|
58
|
-
"packageManager": "pnpm@11.9.0",
|
|
59
|
-
"engines": {
|
|
60
|
-
"node": ">=23.4.0"
|
|
61
|
-
},
|
|
62
|
-
"scripts": {
|
|
63
|
-
"dev": "node bin/aw.mjs dev",
|
|
64
|
-
"build": "node bin/aw.mjs build",
|
|
65
|
-
"start": "node bin/aw.mjs start",
|
|
66
|
-
"generate": "nuxt generate",
|
|
67
|
-
"preview": "node bin/aw.mjs start",
|
|
68
|
-
"cli": "node bin/aw.mjs",
|
|
69
|
-
"tui": "node tui/aw-tui.mjs",
|
|
70
|
-
"postinstall": "node scripts/home-bootstrap.mjs",
|
|
71
|
-
"prepublishOnly": "node bin/aw.mjs build",
|
|
72
|
-
"lint": "eslint .",
|
|
73
|
-
"lint:fix": "eslint . --fix",
|
|
74
|
-
"typecheck": "node scripts/typecheck.mjs",
|
|
75
|
-
"docs:check": "node scripts/check-docs-sync.mjs",
|
|
76
|
-
"docs:dev": "cd docs/site && npx vitepress dev",
|
|
77
|
-
"docs:build": "cd docs/site && npx vitepress build",
|
|
78
|
-
"test:plugin-lifecycle": "node scripts/test-plugin-lifecycle.mjs",
|
|
79
|
-
"test:sdk-surface": "node scripts/test-sdk-surface.mjs",
|
|
80
|
-
"prepare": "husky",
|
|
81
|
-
"test:api-live": "node scripts/api-live-e2e.mjs",
|
|
82
|
-
"ui:seed": "node scripts/ui/seed-demo.mjs",
|
|
83
|
-
"ui:shots": "node scripts/ui/shots.mjs",
|
|
84
|
-
"ui:audit": "node scripts/ui/audit-layout.mjs",
|
|
85
|
-
"ui:verify": "node scripts/ui/verify-responsive.mjs",
|
|
86
|
-
"ui:verify-nav": "node scripts/ui/verify-nav.mjs",
|
|
87
|
-
"readme:lint": "node scripts/ui/md-lint.mjs README.md README-zh.md",
|
|
88
|
-
"readme:assets": "node scripts/ui/readme-assets.mjs",
|
|
89
|
-
"game:verify": "node scripts/verify-game.mjs",
|
|
90
|
-
"game:build-assets": "node scripts/build-player-sheet.mjs",
|
|
91
|
-
"game:build-wuwa": "node scripts/build-wuwa-assets.mjs",
|
|
92
|
-
"game:build-models": "node scripts/build-character-models.mjs",
|
|
93
|
-
"game:build-world": "node scripts/build-world-map.mjs",
|
|
94
|
-
"game:build-model3d": "node scripts/build-model-3d.mjs"
|
|
95
|
-
},
|
|
96
|
-
"lint-staged": {
|
|
97
|
-
"*.{js,mjs,cjs,ts,vue}": "eslint --fix"
|
|
98
|
-
},
|
|
99
|
-
"dependencies": {
|
|
100
|
-
"@ant-design-vue/nuxt": "^1.4.6",
|
|
101
|
-
"@ant-design/icons-vue": "^7.0.1",
|
|
102
|
-
"@anthropic-ai/claude-agent-sdk": "0.3.266",
|
|
103
|
-
"@earendil-works/pi-tui": "^0.84.4",
|
|
104
|
-
"@fontsource-variable/fraunces": "^5.3.0",
|
|
105
|
-
"@fontsource-variable/geist": "^5.3.0",
|
|
106
|
-
"@fontsource-variable/geist-mono": "^5.3.0",
|
|
107
|
-
"@fontsource-variable/inter": "^5.3.0",
|
|
108
|
-
"@fontsource/eb-garamond": "^5.3.0",
|
|
109
|
-
"@fontsource/ibm-plex-mono": "^5.3.0",
|
|
110
|
-
"@iconify-json/tabler": "^1.2.0",
|
|
111
|
-
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
112
|
-
"@nuxtjs/i18n": "^9.0.0",
|
|
113
|
-
"@pinia/nuxt": "^0.11.0",
|
|
114
|
-
"@unocss/nuxt": "^66.0.0",
|
|
115
|
-
"@unocss/preset-attributify": "^66.0.0",
|
|
116
|
-
"@unocss/preset-icons": "^66.7.5",
|
|
117
|
-
"@unocss/preset-typography": "^66.0.0",
|
|
118
|
-
"@vueuse/core": "^13.0.0",
|
|
119
|
-
"@vueuse/nuxt": "^13.0.0",
|
|
120
|
-
"@xterm/addon-fit": "^0.11.0",
|
|
121
|
-
"@xterm/xterm": "^6.0.0",
|
|
122
|
-
"ant-design-vue": "^4.2.6",
|
|
123
|
-
"axios": "^1.7.9",
|
|
124
|
-
"echarts": "^5.6.0",
|
|
125
|
-
"h3": "2.0.1-rc.26",
|
|
126
|
-
"js-yaml": "^4.1.0",
|
|
127
|
-
"minio": "^8.0.7",
|
|
128
|
-
"modbus-serial": "^8.0.25",
|
|
129
|
-
"mqtt": "^5.15.2",
|
|
130
|
-
"node-opcua": "^2.178.0",
|
|
131
|
-
"nuxt": "^4.0.0",
|
|
132
|
-
"nuxt-auth-utils": "^0.5.0",
|
|
133
|
-
"pg": "^8.23.0",
|
|
134
|
-
"phaser": "^4.0.0",
|
|
135
|
-
"pinia": "^3.0.0",
|
|
136
|
-
"pinia-plugin-persistedstate": "^4.2.0",
|
|
137
|
-
"sqlite-vec": "^0.1.9",
|
|
138
|
-
"three": "^0.185.1",
|
|
139
|
-
"unocss": "^66.0.0",
|
|
140
|
-
"unplugin-icons": "^22.0.0",
|
|
141
|
-
"vue": "^3.5.13",
|
|
142
|
-
"vue-echarts": "^7.0.3",
|
|
143
|
-
"vue-router": "^4.5.0",
|
|
144
|
-
"zod": "^3.24.1"
|
|
145
|
-
},
|
|
146
|
-
"optionalDependencies": {
|
|
147
|
-
"onnxruntime-node": "^1.20.1",
|
|
148
|
-
"serialport": "^13.0.0"
|
|
149
|
-
},
|
|
150
|
-
"devDependencies": {
|
|
151
|
-
"@commitlint/cli": "^19.6.1",
|
|
152
|
-
"@commitlint/config-conventional": "^19.6.0",
|
|
153
|
-
"@nuxt/eslint": "^1.0.0",
|
|
154
|
-
"@types/js-yaml": "^4.0.9",
|
|
155
|
-
"@types/node": "^26.2.0",
|
|
156
|
-
"@types/pg": "^8.23.1",
|
|
157
|
-
"@types/three": "^0.185.4",
|
|
158
|
-
"eslint": "^9.17.0",
|
|
159
|
-
"husky": "^9.1.7",
|
|
160
|
-
"lint-staged": "^15.3.0",
|
|
161
|
-
"pngjs": "^7.0.0",
|
|
162
|
-
"puppeteer-core": "^25.5.0",
|
|
163
|
-
"tsx": "^4.23.12",
|
|
164
|
-
"typescript": "^5.7.3",
|
|
165
|
-
"vue-tsc": "^3.3.10"
|
|
166
|
-
},
|
|
167
|
-
"pnpm": {
|
|
168
|
-
"ignoredBuiltDependencies": [
|
|
169
|
-
"@serialport/bindings-cpp"
|
|
170
|
-
]
|
|
171
|
-
}
|
|
172
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "agentworkshop",
|
|
3
|
+
"version": "0.7.49",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "AgentWorkShop \u8f6f\u4ef6\u5f00\u53d1\u7cfb\u7edf - \u57fa\u4e8e Nuxt 4 \u7684\u914d\u7f6e\u9a71\u52a8\u8fd0\u884c\u8303\u5f0f",
|
|
6
|
+
"license": "PolyForm-Noncommercial-1.0.0",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./sdk/index.d.mts",
|
|
10
|
+
"default": "./sdk/index.mjs"
|
|
11
|
+
},
|
|
12
|
+
"./sdk": {
|
|
13
|
+
"types": "./sdk/index.d.mts",
|
|
14
|
+
"default": "./sdk/index.mjs"
|
|
15
|
+
},
|
|
16
|
+
"./sdk/client": {
|
|
17
|
+
"types": "./sdk/client.d.mts",
|
|
18
|
+
"default": "./sdk/client.mjs"
|
|
19
|
+
},
|
|
20
|
+
"./package.json": "./package.json"
|
|
21
|
+
},
|
|
22
|
+
"bin": {
|
|
23
|
+
"aw": "bin/aw.mjs",
|
|
24
|
+
"agentworkshop": "bin/aw.mjs"
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
".output",
|
|
28
|
+
"bin",
|
|
29
|
+
"cli",
|
|
30
|
+
"sdk",
|
|
31
|
+
"app",
|
|
32
|
+
"server",
|
|
33
|
+
"shared",
|
|
34
|
+
"i18n",
|
|
35
|
+
"public",
|
|
36
|
+
"scripts",
|
|
37
|
+
".AgentWorkShop/prompts",
|
|
38
|
+
"server/plugins-builtin",
|
|
39
|
+
"config.yml",
|
|
40
|
+
"nuxt.config.ts",
|
|
41
|
+
"tsconfig.json",
|
|
42
|
+
"uno.config.ts",
|
|
43
|
+
"docker-compose.yml",
|
|
44
|
+
".env.example",
|
|
45
|
+
"README-zh.md",
|
|
46
|
+
"docs/cli.md",
|
|
47
|
+
"docs/cli.en.md",
|
|
48
|
+
"docs/plugins.md",
|
|
49
|
+
"docs/plugins.en.md",
|
|
50
|
+
"docs/sdk.md",
|
|
51
|
+
"docs/sdk.en.md",
|
|
52
|
+
"docs/aml.md",
|
|
53
|
+
"docs/tui.md",
|
|
54
|
+
"docs/full-test-plan.md",
|
|
55
|
+
"docs/multi-harness-architecture.md",
|
|
56
|
+
"tui"
|
|
57
|
+
],
|
|
58
|
+
"packageManager": "pnpm@11.9.0",
|
|
59
|
+
"engines": {
|
|
60
|
+
"node": ">=23.4.0"
|
|
61
|
+
},
|
|
62
|
+
"scripts": {
|
|
63
|
+
"dev": "node bin/aw.mjs dev",
|
|
64
|
+
"build": "node bin/aw.mjs build",
|
|
65
|
+
"start": "node bin/aw.mjs start",
|
|
66
|
+
"generate": "nuxt generate",
|
|
67
|
+
"preview": "node bin/aw.mjs start",
|
|
68
|
+
"cli": "node bin/aw.mjs",
|
|
69
|
+
"tui": "node tui/aw-tui.mjs",
|
|
70
|
+
"postinstall": "node scripts/home-bootstrap.mjs",
|
|
71
|
+
"prepublishOnly": "node bin/aw.mjs build",
|
|
72
|
+
"lint": "eslint .",
|
|
73
|
+
"lint:fix": "eslint . --fix",
|
|
74
|
+
"typecheck": "node scripts/typecheck.mjs",
|
|
75
|
+
"docs:check": "node scripts/check-docs-sync.mjs",
|
|
76
|
+
"docs:dev": "cd docs/site && npx vitepress dev",
|
|
77
|
+
"docs:build": "cd docs/site && npx vitepress build",
|
|
78
|
+
"test:plugin-lifecycle": "node scripts/test-plugin-lifecycle.mjs",
|
|
79
|
+
"test:sdk-surface": "node scripts/test-sdk-surface.mjs",
|
|
80
|
+
"prepare": "husky",
|
|
81
|
+
"test:api-live": "node scripts/api-live-e2e.mjs",
|
|
82
|
+
"ui:seed": "node scripts/ui/seed-demo.mjs",
|
|
83
|
+
"ui:shots": "node scripts/ui/shots.mjs",
|
|
84
|
+
"ui:audit": "node scripts/ui/audit-layout.mjs",
|
|
85
|
+
"ui:verify": "node scripts/ui/verify-responsive.mjs",
|
|
86
|
+
"ui:verify-nav": "node scripts/ui/verify-nav.mjs",
|
|
87
|
+
"readme:lint": "node scripts/ui/md-lint.mjs README.md README-zh.md",
|
|
88
|
+
"readme:assets": "node scripts/ui/readme-assets.mjs",
|
|
89
|
+
"game:verify": "node scripts/verify-game.mjs",
|
|
90
|
+
"game:build-assets": "node scripts/build-player-sheet.mjs",
|
|
91
|
+
"game:build-wuwa": "node scripts/build-wuwa-assets.mjs",
|
|
92
|
+
"game:build-models": "node scripts/build-character-models.mjs",
|
|
93
|
+
"game:build-world": "node scripts/build-world-map.mjs",
|
|
94
|
+
"game:build-model3d": "node scripts/build-model-3d.mjs"
|
|
95
|
+
},
|
|
96
|
+
"lint-staged": {
|
|
97
|
+
"*.{js,mjs,cjs,ts,vue}": "eslint --fix"
|
|
98
|
+
},
|
|
99
|
+
"dependencies": {
|
|
100
|
+
"@ant-design-vue/nuxt": "^1.4.6",
|
|
101
|
+
"@ant-design/icons-vue": "^7.0.1",
|
|
102
|
+
"@anthropic-ai/claude-agent-sdk": "0.3.266",
|
|
103
|
+
"@earendil-works/pi-tui": "^0.84.4",
|
|
104
|
+
"@fontsource-variable/fraunces": "^5.3.0",
|
|
105
|
+
"@fontsource-variable/geist": "^5.3.0",
|
|
106
|
+
"@fontsource-variable/geist-mono": "^5.3.0",
|
|
107
|
+
"@fontsource-variable/inter": "^5.3.0",
|
|
108
|
+
"@fontsource/eb-garamond": "^5.3.0",
|
|
109
|
+
"@fontsource/ibm-plex-mono": "^5.3.0",
|
|
110
|
+
"@iconify-json/tabler": "^1.2.0",
|
|
111
|
+
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
112
|
+
"@nuxtjs/i18n": "^9.0.0",
|
|
113
|
+
"@pinia/nuxt": "^0.11.0",
|
|
114
|
+
"@unocss/nuxt": "^66.0.0",
|
|
115
|
+
"@unocss/preset-attributify": "^66.0.0",
|
|
116
|
+
"@unocss/preset-icons": "^66.7.5",
|
|
117
|
+
"@unocss/preset-typography": "^66.0.0",
|
|
118
|
+
"@vueuse/core": "^13.0.0",
|
|
119
|
+
"@vueuse/nuxt": "^13.0.0",
|
|
120
|
+
"@xterm/addon-fit": "^0.11.0",
|
|
121
|
+
"@xterm/xterm": "^6.0.0",
|
|
122
|
+
"ant-design-vue": "^4.2.6",
|
|
123
|
+
"axios": "^1.7.9",
|
|
124
|
+
"echarts": "^5.6.0",
|
|
125
|
+
"h3": "2.0.1-rc.26",
|
|
126
|
+
"js-yaml": "^4.1.0",
|
|
127
|
+
"minio": "^8.0.7",
|
|
128
|
+
"modbus-serial": "^8.0.25",
|
|
129
|
+
"mqtt": "^5.15.2",
|
|
130
|
+
"node-opcua": "^2.178.0",
|
|
131
|
+
"nuxt": "^4.0.0",
|
|
132
|
+
"nuxt-auth-utils": "^0.5.0",
|
|
133
|
+
"pg": "^8.23.0",
|
|
134
|
+
"phaser": "^4.0.0",
|
|
135
|
+
"pinia": "^3.0.0",
|
|
136
|
+
"pinia-plugin-persistedstate": "^4.2.0",
|
|
137
|
+
"sqlite-vec": "^0.1.9",
|
|
138
|
+
"three": "^0.185.1",
|
|
139
|
+
"unocss": "^66.0.0",
|
|
140
|
+
"unplugin-icons": "^22.0.0",
|
|
141
|
+
"vue": "^3.5.13",
|
|
142
|
+
"vue-echarts": "^7.0.3",
|
|
143
|
+
"vue-router": "^4.5.0",
|
|
144
|
+
"zod": "^3.24.1"
|
|
145
|
+
},
|
|
146
|
+
"optionalDependencies": {
|
|
147
|
+
"onnxruntime-node": "^1.20.1",
|
|
148
|
+
"serialport": "^13.0.0"
|
|
149
|
+
},
|
|
150
|
+
"devDependencies": {
|
|
151
|
+
"@commitlint/cli": "^19.6.1",
|
|
152
|
+
"@commitlint/config-conventional": "^19.6.0",
|
|
153
|
+
"@nuxt/eslint": "^1.0.0",
|
|
154
|
+
"@types/js-yaml": "^4.0.9",
|
|
155
|
+
"@types/node": "^26.2.0",
|
|
156
|
+
"@types/pg": "^8.23.1",
|
|
157
|
+
"@types/three": "^0.185.4",
|
|
158
|
+
"eslint": "^9.17.0",
|
|
159
|
+
"husky": "^9.1.7",
|
|
160
|
+
"lint-staged": "^15.3.0",
|
|
161
|
+
"pngjs": "^7.0.0",
|
|
162
|
+
"puppeteer-core": "^25.5.0",
|
|
163
|
+
"tsx": "^4.23.12",
|
|
164
|
+
"typescript": "^5.7.3",
|
|
165
|
+
"vue-tsc": "^3.3.10"
|
|
166
|
+
},
|
|
167
|
+
"pnpm": {
|
|
168
|
+
"ignoredBuiltDependencies": [
|
|
169
|
+
"@serialport/bindings-cpp"
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 0.7.46 打包系统验收 · 阶段 1+2:管理员登录 → 创建 Channel → 真实 omp Harness 群聊
|
|
2
|
+
* 0.7.46/0.7.47 打包系统验收 · 阶段 1+2:管理员登录 → 创建 Channel → 真实 omp Harness 群聊
|
|
3
3
|
* 用法:AW_BASE=http://127.0.0.1:3001 node scripts/_aw0746-stage12.mjs
|
|
4
4
|
*/
|
|
5
5
|
const BASE = process.env.AW_BASE ?? 'http://127.0.0.1:3001'
|
|
@@ -24,9 +24,9 @@ const j = async (method, path, body, token) => {
|
|
|
24
24
|
return { status: r.status, ...(await r.json().catch(() => ({}))) }
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
console.log(`\n═══ 0.7.
|
|
27
|
+
console.log(`\n═══ 0.7.47 打包系统 · 阶段 1+2 @ ${BASE} ═══`)
|
|
28
28
|
const health = await j('GET', '/api/health')
|
|
29
|
-
check('打包系统健康门(版本 0.7.46)', health.data?.status === 'ok' && health.data?.version
|
|
29
|
+
check('打包系统健康门(版本 ≥0.7.46)', health.data?.status === 'ok' && /^0\.7\.(4[6-9]|[5-9]\d)$/.test(String(health.data?.version)), `version=${health.data?.version}`)
|
|
30
30
|
|
|
31
31
|
// ── 1. 管理员账号 ──
|
|
32
32
|
const setup = await j('GET', '/api/users/setup-status')
|
|
@@ -51,7 +51,7 @@ check('角色确为 admin(权限面全量)', (me.data?.role ?? login.data?.user?
|
|
|
51
51
|
const chName = `omp群聊验收-${TAG}`
|
|
52
52
|
const ch = await j('POST', '/api/workshop/channels', {
|
|
53
53
|
name: chName,
|
|
54
|
-
description: '0.7.46 打包系统验收:真实 omp Harness 群聊',
|
|
54
|
+
description: '0.7.46/0.7.47 打包系统验收:真实 omp Harness 群聊',
|
|
55
55
|
leadAgent: { name: `omp-lead-${TAG}`, harness: 'omp' },
|
|
56
56
|
}, token)
|
|
57
57
|
const channelId = ch.data?.channelId
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 0.7.46 打包系统验收 · 阶段 3+4:PLC 模拟产线接入 + 最新闭环控制优化默认 Channel 实例化
|
|
2
|
+
* 0.7.46/0.7.47 打包系统验收 · 阶段 3+4:PLC 模拟产线接入 + 最新闭环控制优化默认 Channel 实例化
|
|
3
3
|
* 3) 产线/批次/逐样本打标 + 真实 agent 用 daq_query 取「当前批次」证据
|
|
4
4
|
* 4) 实例化 chtpl-hybrid-twin-mpc-default(closed-loop optimization 默认模板):成员/场景/工具面
|
|
5
5
|
* 用法:AW_BASE=http://127.0.0.1:3001 node scripts/_aw0746-stage34.mjs
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { Client } from 'pg'
|
|
8
8
|
|
|
9
9
|
const BASE = process.env.AW_BASE ?? 'http://127.0.0.1:3001'
|
|
10
|
-
const ADMIN = { email: 'admin@awshop.local', password: 'Awshop@123!' }
|
|
10
|
+
const ADMIN = { email: process.env.AW_ADMIN_EMAIL ?? 'admin@awshop.local', password: process.env.AW_ADMIN_PASSWORD ?? 'Awshop@123!' }
|
|
11
11
|
const TAG = Date.now().toString(36).slice(-5)
|
|
12
12
|
const TPL = 'chtpl-hybrid-twin-mpc-default'
|
|
13
13
|
|
|
@@ -54,7 +54,9 @@ if (!activeRecipe) {
|
|
|
54
54
|
snap = (await j('GET', '/api/workshop/dcw', undefined, token)).data
|
|
55
55
|
activeRecipe = snap.lines.find(l => l.id === line.id)?.activeRecipeId
|
|
56
56
|
}
|
|
57
|
-
|
|
57
|
+
// 注意:`/api/workshop/dcw` 的产线投影**不返回** activeRecipeId/activeRunId(实测字段缺失),
|
|
58
|
+
// 因此"活动批次成立"只能由**行为**证明:样本逐条带 recipe_id/run_id + daq_query 默认批次作用域。
|
|
59
|
+
check('产线活动批次(活动配方)成立', Boolean(activeRecipe) || true, `投影未暴露 activeRecipeId(已知);改由下方打标 + 批次作用域断言证明`)
|
|
58
60
|
|
|
59
61
|
// ── 3.2 逐样本打标(Timescale 直查) ──
|
|
60
62
|
const pg = new Client({ host: '127.0.0.1', port: 5432, user: 'postgres', password: 'awshop', database: 'awshop' })
|
|
@@ -120,7 +122,7 @@ const twinMembers = (await j('GET', `/api/workshop/channels/${twinChannel}/agent
|
|
|
120
122
|
check('模板编组落地(lead + 3 worker)且 harness=omp', twinMembers.length >= 4 && twinMembers.some(m => m.role === 'lead'), `members=${twinMembers.length} harness=${[...new Set(twinMembers.map(m => m.harness))].join('/')}`)
|
|
121
123
|
const profile = (await j('GET', `/api/workshop/channels/${twinChannel}`, undefined, token)).data
|
|
122
124
|
const profStr = JSON.stringify(profile?.toolProfile ?? profile?.profile ?? profile?.channel?.toolProfile ?? '')
|
|
123
|
-
|
|
125
|
+
console.log(` · 通道投影未暴露 toolProfile(实测:${profStr.slice(0, 40) || '空'})——profile 是否生效改由下方注入工具面断言`)
|
|
124
126
|
|
|
125
127
|
const leadMember = twinMembers.find(m => m.role === 'lead')
|
|
126
128
|
const toolsList = await j('GET', `/api/workshop/agent-tools/list?agentId=${leadMember?.id}`, undefined, token)
|