@customize-agent/server 3.0.10 → 3.0.11
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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +54 -36
- package/.next/prerender-manifest.json +3 -3
- package/.next/routes-manifest.json +6 -0
- package/.next/server/chunks/3445.js +6 -6
- package/.next/server/chunks/5076.js +1 -1
- package/.next/server/chunks/8204.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/api/documents/chapter/regenerate.js +1 -1
- package/.next/server/pages/api/documents/chapter/regenerate.js.nft.json +1 -1
- package/.next/server/pages/api/documents/export.js +1 -1
- package/.next/server/pages/api/documents/export.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generate.js +1 -1
- package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
- package/.next/server/pages/api/documents/specs.js +1 -0
- package/.next/server/pages/api/documents/specs.js.nft.json +1 -0
- package/.next/server/pages/api/documents/templates.js +1 -1
- package/.next/server/pages/api/documents/templates.js.nft.json +1 -1
- package/.next/server/pages/context/long-term.html +1 -1
- package/.next/server/pages/context/short-term.html +1 -1
- package/.next/server/pages/document-roles.html +1 -1
- package/.next/server/pages/document-specs.html +1 -0
- package/.next/server/pages/document-specs.js.nft.json +1 -0
- package/.next/server/pages/documents.html +1 -1
- package/.next/server/pages/guide.html +1 -1
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/knowledge/file-detail.html +1 -1
- package/.next/server/pages/knowledge/files.html +1 -1
- package/.next/server/pages/knowledge/manage.html +1 -1
- package/.next/server/pages/knowledge/search.html +1 -1
- package/.next/server/pages/knowledge.html +1 -1
- package/.next/server/pages/models.html +1 -1
- package/.next/server/pages/overview.html +1 -1
- package/.next/server/pages/prompt.html +1 -1
- package/.next/server/pages/settings.html +1 -1
- package/.next/server/pages-manifest.json +22 -20
- package/.next/static/chunks/{400-ba996d76e74a7368.js → 400-f06f00619f22421e.js} +1 -1
- package/.next/static/chunks/730-727fe4b055c78dc2.js +1 -0
- package/.next/static/chunks/740-2bcba39d841f2b16.js +16 -0
- package/.next/static/chunks/{845-b394c886baabe12f.js → 804-e654a1589d9adc65.js} +3 -3
- package/.next/static/chunks/846-fed995f7c83fc6c3.js +1 -0
- package/.next/static/chunks/958-66e2dcf301fb3c3f.js +1 -0
- package/.next/static/chunks/pages/{_app-15fb8428c7126df0.js → _app-49c11d5b0712c7a5.js} +9 -9
- package/.next/static/chunks/pages/context/{long-term-9685fc1fd8397807.js → long-term-710aaeb12e378258.js} +1 -1
- package/.next/static/chunks/pages/context/{short-term-86f5d204405bb05c.js → short-term-e68f01478e7ed238.js} +1 -1
- package/.next/static/chunks/pages/document-roles-caee7af42da4f792.js +1 -0
- package/.next/static/chunks/pages/document-specs-7085069b6dcdaee6.js +1 -0
- package/.next/static/chunks/pages/documents-b78988e17525927f.js +1 -0
- package/.next/static/chunks/pages/{guide-0aa6938c95fd8152.js → guide-b495954d18d56b33.js} +1 -1
- package/.next/static/chunks/pages/knowledge/{file-detail-21dbc84d04f969ca.js → file-detail-793d12234ccddac1.js} +1 -1
- package/.next/static/chunks/pages/knowledge/{files-369d7ccf6a6e4e43.js → files-a3a4bbc49c980b46.js} +1 -1
- package/.next/static/chunks/pages/knowledge/manage-64ad6cdce068edb1.js +1 -0
- package/.next/static/chunks/pages/knowledge/{search-5a199ff773f7938b.js → search-fe148477dfe05966.js} +1 -1
- package/.next/static/chunks/pages/models-6131bc7596604158.js +1 -0
- package/.next/static/chunks/pages/overview-db5df4f0bec2a77c.js +1 -0
- package/.next/static/yEauW-YU8G-h4UdYFV8_d/_buildManifest.js +1 -0
- package/package.json +4 -4
- package/.next/static/PkdECgLy3eGpkRC2sc90n/_buildManifest.js +0 -1
- package/.next/static/chunks/228-7112f995b33b1fd3.js +0 -1
- package/.next/static/chunks/740-cd38299e151d3ffc.js +0 -16
- package/.next/static/chunks/951-320008e618be7e4f.js +0 -1
- package/.next/static/chunks/958-0793922b6b146891.js +0 -1
- package/.next/static/chunks/pages/document-roles-1449654aa961426e.js +0 -1
- package/.next/static/chunks/pages/documents-dc6582d6886d4fb6.js +0 -1
- package/.next/static/chunks/pages/knowledge/manage-447ce42652c203f4.js +0 -1
- package/.next/static/chunks/pages/models-fc67c4147d2aa3cb.js +0 -1
- package/.next/static/chunks/pages/overview-558db8205a06d058.js +0 -1
- /package/.next/static/{PkdECgLy3eGpkRC2sc90n → yEauW-YU8G-h4UdYFV8_d}/_ssgManifest.js +0 -0
package/.next/BUILD_ID
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
yEauW-YU8G-h4UdYFV8_d
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"ampDevFiles": [],
|
|
7
7
|
"lowPriorityFiles": [
|
|
8
|
-
"static/
|
|
9
|
-
"static/
|
|
8
|
+
"static/yEauW-YU8G-h4UdYFV8_d/_buildManifest.js",
|
|
9
|
+
"static/yEauW-YU8G-h4UdYFV8_d/_ssgManifest.js"
|
|
10
10
|
],
|
|
11
11
|
"rootMainFiles": [],
|
|
12
12
|
"rootMainFilesTree": {},
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"static/chunks/framework-b5223c1542334872.js",
|
|
23
23
|
"static/chunks/main-1a03005b3754c708.js",
|
|
24
24
|
"static/css/5237c5e3358f3282.css",
|
|
25
|
-
"static/chunks/pages/_app-
|
|
25
|
+
"static/chunks/pages/_app-49c11d5b0712c7a5.js"
|
|
26
26
|
],
|
|
27
27
|
"/_error": [
|
|
28
28
|
"static/chunks/webpack-77d10b4726f13aa5.js",
|
|
@@ -40,14 +40,14 @@
|
|
|
40
40
|
"static/chunks/201-b16b4788042ed1aa.js",
|
|
41
41
|
"static/chunks/668-662b7bc81e4ad48f.js",
|
|
42
42
|
"static/chunks/227-442963c7b630eade.js",
|
|
43
|
-
"static/chunks/740-
|
|
43
|
+
"static/chunks/740-2bcba39d841f2b16.js",
|
|
44
44
|
"static/chunks/174-e7df14600b457a5c.js",
|
|
45
45
|
"static/chunks/492-62671486700ed3f9.js",
|
|
46
|
-
"static/chunks/446-0591221372df7d49.js",
|
|
47
|
-
"static/chunks/400-ba996d76e74a7368.js",
|
|
48
46
|
"static/chunks/455-e31becaaf948f868.js",
|
|
47
|
+
"static/chunks/446-0591221372df7d49.js",
|
|
48
|
+
"static/chunks/400-f06f00619f22421e.js",
|
|
49
49
|
"static/chunks/257-ba16dfe16a27f417.js",
|
|
50
|
-
"static/chunks/pages/context/long-term-
|
|
50
|
+
"static/chunks/pages/context/long-term-710aaeb12e378258.js"
|
|
51
51
|
],
|
|
52
52
|
"/context/short-term": [
|
|
53
53
|
"static/chunks/webpack-77d10b4726f13aa5.js",
|
|
@@ -59,14 +59,14 @@
|
|
|
59
59
|
"static/chunks/201-b16b4788042ed1aa.js",
|
|
60
60
|
"static/chunks/668-662b7bc81e4ad48f.js",
|
|
61
61
|
"static/chunks/227-442963c7b630eade.js",
|
|
62
|
-
"static/chunks/740-
|
|
62
|
+
"static/chunks/740-2bcba39d841f2b16.js",
|
|
63
63
|
"static/chunks/174-e7df14600b457a5c.js",
|
|
64
64
|
"static/chunks/492-62671486700ed3f9.js",
|
|
65
|
-
"static/chunks/446-0591221372df7d49.js",
|
|
66
|
-
"static/chunks/400-ba996d76e74a7368.js",
|
|
67
65
|
"static/chunks/455-e31becaaf948f868.js",
|
|
66
|
+
"static/chunks/446-0591221372df7d49.js",
|
|
67
|
+
"static/chunks/400-f06f00619f22421e.js",
|
|
68
68
|
"static/chunks/257-ba16dfe16a27f417.js",
|
|
69
|
-
"static/chunks/pages/context/short-term-
|
|
69
|
+
"static/chunks/pages/context/short-term-e68f01478e7ed238.js"
|
|
70
70
|
],
|
|
71
71
|
"/document-roles": [
|
|
72
72
|
"static/chunks/webpack-77d10b4726f13aa5.js",
|
|
@@ -78,12 +78,30 @@
|
|
|
78
78
|
"static/chunks/201-b16b4788042ed1aa.js",
|
|
79
79
|
"static/chunks/668-662b7bc81e4ad48f.js",
|
|
80
80
|
"static/chunks/227-442963c7b630eade.js",
|
|
81
|
-
"static/chunks/740-
|
|
81
|
+
"static/chunks/740-2bcba39d841f2b16.js",
|
|
82
|
+
"static/chunks/174-e7df14600b457a5c.js",
|
|
83
|
+
"static/chunks/492-62671486700ed3f9.js",
|
|
84
|
+
"static/chunks/455-e31becaaf948f868.js",
|
|
85
|
+
"static/chunks/846-fed995f7c83fc6c3.js",
|
|
86
|
+
"static/chunks/pages/document-roles-caee7af42da4f792.js"
|
|
87
|
+
],
|
|
88
|
+
"/document-specs": [
|
|
89
|
+
"static/chunks/webpack-77d10b4726f13aa5.js",
|
|
90
|
+
"static/chunks/framework-b5223c1542334872.js",
|
|
91
|
+
"static/chunks/main-1a03005b3754c708.js",
|
|
92
|
+
"static/chunks/260-7a7a65a3ca8539ba.js",
|
|
93
|
+
"static/chunks/167-9f45623d7ea7ab43.js",
|
|
94
|
+
"static/chunks/382-dd7535429e16931b.js",
|
|
95
|
+
"static/chunks/201-b16b4788042ed1aa.js",
|
|
96
|
+
"static/chunks/668-662b7bc81e4ad48f.js",
|
|
97
|
+
"static/chunks/227-442963c7b630eade.js",
|
|
98
|
+
"static/chunks/740-2bcba39d841f2b16.js",
|
|
82
99
|
"static/chunks/174-e7df14600b457a5c.js",
|
|
83
100
|
"static/chunks/492-62671486700ed3f9.js",
|
|
84
101
|
"static/chunks/455-e31becaaf948f868.js",
|
|
85
|
-
"static/chunks/
|
|
86
|
-
"static/chunks/
|
|
102
|
+
"static/chunks/992-ea93dfa182a02a8e.js",
|
|
103
|
+
"static/chunks/846-fed995f7c83fc6c3.js",
|
|
104
|
+
"static/chunks/pages/document-specs-7085069b6dcdaee6.js"
|
|
87
105
|
],
|
|
88
106
|
"/documents": [
|
|
89
107
|
"static/chunks/webpack-77d10b4726f13aa5.js",
|
|
@@ -95,14 +113,14 @@
|
|
|
95
113
|
"static/chunks/201-b16b4788042ed1aa.js",
|
|
96
114
|
"static/chunks/668-662b7bc81e4ad48f.js",
|
|
97
115
|
"static/chunks/227-442963c7b630eade.js",
|
|
98
|
-
"static/chunks/740-
|
|
116
|
+
"static/chunks/740-2bcba39d841f2b16.js",
|
|
99
117
|
"static/chunks/174-e7df14600b457a5c.js",
|
|
100
118
|
"static/chunks/492-62671486700ed3f9.js",
|
|
101
119
|
"static/chunks/455-e31becaaf948f868.js",
|
|
102
120
|
"static/chunks/292-c2888a94068fae74.js",
|
|
103
|
-
"static/chunks/
|
|
104
|
-
"static/chunks/
|
|
105
|
-
"static/chunks/pages/documents-
|
|
121
|
+
"static/chunks/846-fed995f7c83fc6c3.js",
|
|
122
|
+
"static/chunks/730-727fe4b055c78dc2.js",
|
|
123
|
+
"static/chunks/pages/documents-b78988e17525927f.js"
|
|
106
124
|
],
|
|
107
125
|
"/guide": [
|
|
108
126
|
"static/chunks/webpack-77d10b4726f13aa5.js",
|
|
@@ -112,9 +130,9 @@
|
|
|
112
130
|
"static/chunks/167-9f45623d7ea7ab43.js",
|
|
113
131
|
"static/chunks/382-dd7535429e16931b.js",
|
|
114
132
|
"static/chunks/292-c2888a94068fae74.js",
|
|
115
|
-
"static/chunks/
|
|
116
|
-
"static/chunks/
|
|
117
|
-
"static/chunks/pages/guide-
|
|
133
|
+
"static/chunks/730-727fe4b055c78dc2.js",
|
|
134
|
+
"static/chunks/804-e654a1589d9adc65.js",
|
|
135
|
+
"static/chunks/pages/guide-b495954d18d56b33.js"
|
|
118
136
|
],
|
|
119
137
|
"/knowledge": [
|
|
120
138
|
"static/chunks/webpack-77d10b4726f13aa5.js",
|
|
@@ -132,15 +150,15 @@
|
|
|
132
150
|
"static/chunks/201-b16b4788042ed1aa.js",
|
|
133
151
|
"static/chunks/668-662b7bc81e4ad48f.js",
|
|
134
152
|
"static/chunks/227-442963c7b630eade.js",
|
|
135
|
-
"static/chunks/740-
|
|
153
|
+
"static/chunks/740-2bcba39d841f2b16.js",
|
|
136
154
|
"static/chunks/174-e7df14600b457a5c.js",
|
|
137
155
|
"static/chunks/446-0591221372df7d49.js",
|
|
138
|
-
"static/chunks/400-
|
|
156
|
+
"static/chunks/400-f06f00619f22421e.js",
|
|
139
157
|
"static/chunks/292-c2888a94068fae74.js",
|
|
140
158
|
"static/chunks/969-8843874536e7fd83.js",
|
|
141
159
|
"static/chunks/517-f43787133528ba48.js",
|
|
142
160
|
"static/css/d284a7454d6f6b06.css",
|
|
143
|
-
"static/chunks/pages/knowledge/file-detail-
|
|
161
|
+
"static/chunks/pages/knowledge/file-detail-793d12234ccddac1.js"
|
|
144
162
|
],
|
|
145
163
|
"/knowledge/files": [
|
|
146
164
|
"static/chunks/webpack-77d10b4726f13aa5.js",
|
|
@@ -152,13 +170,13 @@
|
|
|
152
170
|
"static/chunks/201-b16b4788042ed1aa.js",
|
|
153
171
|
"static/chunks/668-662b7bc81e4ad48f.js",
|
|
154
172
|
"static/chunks/227-442963c7b630eade.js",
|
|
155
|
-
"static/chunks/740-
|
|
173
|
+
"static/chunks/740-2bcba39d841f2b16.js",
|
|
156
174
|
"static/chunks/174-e7df14600b457a5c.js",
|
|
157
175
|
"static/chunks/446-0591221372df7d49.js",
|
|
158
|
-
"static/chunks/400-
|
|
176
|
+
"static/chunks/400-f06f00619f22421e.js",
|
|
159
177
|
"static/chunks/15-289cb38b53bafa4a.js",
|
|
160
178
|
"static/css/d284a7454d6f6b06.css",
|
|
161
|
-
"static/chunks/pages/knowledge/files-
|
|
179
|
+
"static/chunks/pages/knowledge/files-a3a4bbc49c980b46.js"
|
|
162
180
|
],
|
|
163
181
|
"/knowledge/manage": [
|
|
164
182
|
"static/chunks/webpack-77d10b4726f13aa5.js",
|
|
@@ -169,13 +187,13 @@
|
|
|
169
187
|
"static/chunks/382-dd7535429e16931b.js",
|
|
170
188
|
"static/chunks/201-b16b4788042ed1aa.js",
|
|
171
189
|
"static/chunks/227-442963c7b630eade.js",
|
|
172
|
-
"static/chunks/740-
|
|
190
|
+
"static/chunks/740-2bcba39d841f2b16.js",
|
|
173
191
|
"static/chunks/174-e7df14600b457a5c.js",
|
|
174
192
|
"static/chunks/446-0591221372df7d49.js",
|
|
175
|
-
"static/chunks/400-
|
|
176
|
-
"static/chunks/958-
|
|
193
|
+
"static/chunks/400-f06f00619f22421e.js",
|
|
194
|
+
"static/chunks/958-66e2dcf301fb3c3f.js",
|
|
177
195
|
"static/chunks/891-b6a172e1df7ab8c1.js",
|
|
178
|
-
"static/chunks/pages/knowledge/manage-
|
|
196
|
+
"static/chunks/pages/knowledge/manage-64ad6cdce068edb1.js"
|
|
179
197
|
],
|
|
180
198
|
"/knowledge/search": [
|
|
181
199
|
"static/chunks/webpack-77d10b4726f13aa5.js",
|
|
@@ -191,7 +209,7 @@
|
|
|
191
209
|
"static/chunks/992-ea93dfa182a02a8e.js",
|
|
192
210
|
"static/chunks/969-8843874536e7fd83.js",
|
|
193
211
|
"static/css/d284a7454d6f6b06.css",
|
|
194
|
-
"static/chunks/pages/knowledge/search-
|
|
212
|
+
"static/chunks/pages/knowledge/search-fe148477dfe05966.js"
|
|
195
213
|
],
|
|
196
214
|
"/models": [
|
|
197
215
|
"static/chunks/webpack-77d10b4726f13aa5.js",
|
|
@@ -202,12 +220,12 @@
|
|
|
202
220
|
"static/chunks/382-dd7535429e16931b.js",
|
|
203
221
|
"static/chunks/201-b16b4788042ed1aa.js",
|
|
204
222
|
"static/chunks/668-662b7bc81e4ad48f.js",
|
|
205
|
-
"static/chunks/740-
|
|
223
|
+
"static/chunks/740-2bcba39d841f2b16.js",
|
|
206
224
|
"static/chunks/492-62671486700ed3f9.js",
|
|
207
225
|
"static/chunks/455-e31becaaf948f868.js",
|
|
208
226
|
"static/chunks/992-ea93dfa182a02a8e.js",
|
|
209
227
|
"static/css/0e153583d22cc52e.css",
|
|
210
|
-
"static/chunks/pages/models-
|
|
228
|
+
"static/chunks/pages/models-6131bc7596604158.js"
|
|
211
229
|
],
|
|
212
230
|
"/overview": [
|
|
213
231
|
"static/chunks/webpack-77d10b4726f13aa5.js",
|
|
@@ -217,9 +235,9 @@
|
|
|
217
235
|
"static/chunks/167-9f45623d7ea7ab43.js",
|
|
218
236
|
"static/chunks/227-442963c7b630eade.js",
|
|
219
237
|
"static/chunks/15-289cb38b53bafa4a.js",
|
|
220
|
-
"static/chunks/958-
|
|
238
|
+
"static/chunks/958-66e2dcf301fb3c3f.js",
|
|
221
239
|
"static/chunks/851-1190cb42a0630eef.js",
|
|
222
|
-
"static/chunks/pages/overview-
|
|
240
|
+
"static/chunks/pages/overview-db5df4f0bec2a77c.js"
|
|
223
241
|
],
|
|
224
242
|
"/prompt": [
|
|
225
243
|
"static/chunks/webpack-77d10b4726f13aa5.js",
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"routes": {},
|
|
4
4
|
"dynamicRoutes": {},
|
|
5
5
|
"preview": {
|
|
6
|
-
"previewModeId": "
|
|
7
|
-
"previewModeSigningKey": "
|
|
8
|
-
"previewModeEncryptionKey": "
|
|
6
|
+
"previewModeId": "066f0f2ef7b0e0ba9df37a6f41e119d0",
|
|
7
|
+
"previewModeSigningKey": "389766dba17ffb40e4ed31ed33fed850bc7f2a546274f21b67735235c915da6f",
|
|
8
|
+
"previewModeEncryptionKey": "b7659d692f988e578e96784365f3b3e6abc917f167f49e0a78e44b8f04fb263c"
|
|
9
9
|
},
|
|
10
10
|
"notFoundRoutes": []
|
|
11
11
|
}
|
|
@@ -98,6 +98,12 @@
|
|
|
98
98
|
"routeKeys": {},
|
|
99
99
|
"namedRegex": "^/document\\-roles(?:/)?$"
|
|
100
100
|
},
|
|
101
|
+
{
|
|
102
|
+
"page": "/document-specs",
|
|
103
|
+
"regex": "^/document\\-specs(?:/)?$",
|
|
104
|
+
"routeKeys": {},
|
|
105
|
+
"namedRegex": "^/document\\-specs(?:/)?$"
|
|
106
|
+
},
|
|
101
107
|
{
|
|
102
108
|
"page": "/documents",
|
|
103
109
|
"regex": "^/documents(?:/)?$",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
"use strict";exports.id=3445,exports.ids=[3445],exports.modules={2323:(a,b,c)=>{c.d(b,{I:()=>f});var d=c(96770);let e=null;function f(){return e||(e=new d.ConfigStore),e}},23328:(a,b,c)=>{c.d(b,{Qh:()=>k,aY:()=>m});var d=c(19898),e=c(87550),f=c.n(e),g=c(33873),h=c(21820),i=c(29021);let j=null;function k(){return j||(j=new d.MultiProjectManager),j}function l(a){let b=g.resolve(a);return b===g.resolve(g.join(h.homedir(),".customize-agent"))||b.includes(`${g.sep}.customize-agent${g.sep}`)||b.endsWith(`${g.sep}apps${g.sep}server`)||b.endsWith(`${g.sep}apps${g.sep}cli`)}function m(a=!1){let b=process.env.CUSTOMIZE_PROJECT_ROOT??process.env.INIT_CWD;if(b&&i.existsSync(b)&&!l(b))return g.resolve(b);let c=function(){let a=g.join(h.homedir(),".customize-agent","projects","registry.db");if(!i.existsSync(a))return[];let b=new(f())(a,{readonly:!0});try{return b.prepare("SELECT project_root FROM project_registry ORDER BY last_opened_at DESC").all().map(a=>g.resolve(a.project_root)).filter(a=>!l(a))}finally{b.close()}}();return c.length>0?c[0]:a&&!l(process.cwd())?process.cwd():""}},73445:(a,b,c)=>{c.d(b,{Bh:()=>
|
|
2
|
-
只返回 JSON,不要返回 markdown。`},{role:"user",content:b}],{temperature:0})).content.trim().replace(/^```json\s*/u,"").replace(/^```\s*/u,"").replace(/```$/u,"").trim();return JSON.parse(
|
|
1
|
+
"use strict";exports.id=3445,exports.ids=[3445],exports.modules={2323:(a,b,c)=>{c.d(b,{I:()=>f});var d=c(96770);let e=null;function f(){return e||(e=new d.ConfigStore),e}},23328:(a,b,c)=>{c.d(b,{Qh:()=>k,aY:()=>m});var d=c(19898),e=c(87550),f=c.n(e),g=c(33873),h=c(21820),i=c(29021);let j=null;function k(){return j||(j=new d.MultiProjectManager),j}function l(a){let b=g.resolve(a);return b===g.resolve(g.join(h.homedir(),".customize-agent"))||b.includes(`${g.sep}.customize-agent${g.sep}`)||b.endsWith(`${g.sep}apps${g.sep}server`)||b.endsWith(`${g.sep}apps${g.sep}cli`)}function m(a=!1){let b=process.env.CUSTOMIZE_PROJECT_ROOT??process.env.INIT_CWD;if(b&&i.existsSync(b)&&!l(b))return g.resolve(b);let c=function(){let a=g.join(h.homedir(),".customize-agent","projects","registry.db");if(!i.existsSync(a))return[];let b=new(f())(a,{readonly:!0});try{return b.prepare("SELECT project_root FROM project_registry ORDER BY last_opened_at DESC").all().map(a=>g.resolve(a.project_root)).filter(a=>!l(a))}finally{b.close()}}();return c.length>0?c[0]:a&&!l(process.cwd())?process.cwd():""}},57367:(a,b,c)=>{c.d(b,{Co:()=>l,EK:()=>n,ER:()=>o,py:()=>m});var d=c(73024),e=c(48161),f=c(76760);function g(){let a=f.join(e.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),f.join(a,"document-specs.json")}function h(a){return(a||`spec-${Date.now()}`).replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,80)}function i(a){return{id:h(a.id),name:a.name||"未命名规范包",description:a.description||"",factFields:Array.isArray(a.factFields)?a.factFields.filter(a=>a.name).map(a=>({id:h(a.id),name:a.name,type:["text","number","date","table","list"].includes(a.type)?a.type:"text",required:!!a.required,sourceRoleIds:Array.isArray(a.sourceRoleIds)?a.sourceRoleIds.filter(Boolean):[],extractionHint:a.extractionHint||"",validationHint:a.validationHint||""})):[],chapterRules:Array.isArray(a.chapterRules)?a.chapterRules.filter(a=>a.title).map((a,b)=>({id:h(a.id),title:a.title,required:!!a.required,order:Number.isFinite(a.order)?a.order:b,minWords:Number.isFinite(a.minWords)?a.minWords:0,requiredFactIds:Array.isArray(a.requiredFactIds)?a.requiredFactIds.filter(Boolean):[],requiredFileRoleIds:Array.isArray(a.requiredFileRoleIds)?a.requiredFileRoleIds.filter(Boolean):[],requiredPromptRoleIds:Array.isArray(a.requiredPromptRoleIds)?a.requiredPromptRoleIds.filter(Boolean):[],generationHint:a.generationHint||""})):[],gateRules:Array.isArray(a.gateRules)?a.gateRules.filter(a=>a.name).map(a=>({id:h(a.id),name:a.name,type:["required_fact","required_chapter","required_file_role","required_prompt_role","source_required","forbidden_text","min_chapter_length","table_required"].includes(a.type)?a.type:"required_fact",level:"warning"===a.level||"info"===a.level?a.level:"error",target:a.target||"",value:a.value||""})):[],wordTemplatePath:a.wordTemplatePath||""}}function j(){try{let a=g();if(!d.existsSync(a))return[];return JSON.parse(d.readFileSync(a,"utf-8")).map(i)}catch{return[]}}function k(a){d.writeFileSync(g(),JSON.stringify(a.map(i),null,2),"utf-8")}function l(){return j()}function m(a){if(a)return j().find(b=>b.id===a)}function n(a){let b=i(a),c=j().filter(a=>a.id!==b.id);return c.push(b),k(c),b}function o(a){k(j().filter(b=>b.id!==a))}},73445:(a,b,c)=>{c.d(b,{Bh:()=>u,OX:()=>E,R1:()=>F,bV:()=>w,h0:()=>v,jG:()=>s});var d=c(73024),e=c(76760),f=c(15751),g=c(48161),h=c(95393),i=c(23328),j=c(2323),k=c(89952),l=c(57367);let m=[{id:"construction-organization-design",name:"施工组织设计",description:"根据招标文件、图纸、清单、表格和项目资料生成施工组织设计草稿。",category:"工程建设",outputTitle:"施工组织设计",chapters:[{id:"basis",title:"第一章 编制依据",purpose:"整理招标文件、图纸、规范和编制说明。",requiredFacts:["招标文件","图纸","规范标准"],queries:["招标文件 编制依据 技术规范 标准 图纸 合同","规范 标准 图纸 招标文件"]},{id:"overview",title:"第二章 工程概况",purpose:"提取工程名称、地点、规模、范围和建设条件。",requiredFacts:["工程名称","工程地点","工程规模","施工范围"],queries:["工程名称 工程地点 建设单位 工程规模 建筑面积 结构类型","工程概况 招标范围 项目规模"]},{id:"deployment",title:"第三章 施工部署",purpose:"形成项目组织、施工区段和总体部署。",requiredFacts:["施工部署","组织机构","施工段"],queries:["施工部署 项目组织机构 施工段划分 总体安排","施工组织 施工顺序 施工流水"]},{id:"schedule",title:"第四章 施工进度计划及保证措施",purpose:"提取工期、节点、进度要求并形成保证措施。",requiredFacts:["工期要求","节点工期"],queries:["工期要求 开工 竣工 进度计划 节点工期","工期 进度 保证措施"]},{id:"preparation",title:"第五章 施工准备",purpose:"整理技术、现场、材料、机械和劳动力准备。",requiredFacts:["技术准备","现场准备","材料准备"],queries:["施工准备 技术准备 现场准备 材料准备 机械准备","临设 水电 进场 准备"]},{id:"methods",title:"第六章 主要分部分项工程施工方案",purpose:"依据工程范围生成主要施工方法。",requiredFacts:["主要分部分项工程","施工工艺"],queries:["土方 基础 主体 砌体 装饰 安装 道路 管线 主要施工方法","分部分项 施工工艺 技术措施"]},{id:"quality",title:"第七章 质量保证体系及措施",purpose:"形成质量目标、体系和保证措施。",requiredFacts:["质量目标","质量标准"],queries:["质量目标 质量标准 验收规范 质量保证措施","质量管理 检验 试验"]},{id:"safety",title:"第八章 安全生产管理体系及措施",purpose:"形成安全目标、风险控制和应急管理。",requiredFacts:["安全目标","安全要求"],queries:["安全目标 安全文明施工 安全管理 危险源 应急预案","安全生产 风险 防护"]},{id:"civilized",title:"第九章 文明施工及环境保护措施",purpose:"整理文明施工、扬尘、噪声、污水和固废措施。",requiredFacts:["文明施工","环境保护"],queries:["文明施工 环境保护 扬尘 噪声 污水 固废","绿色施工 环保 控制措施"]},{id:"resources",title:"第十章 劳动力、材料、机械设备投入计划",purpose:"提取资源计划和相关表格。",requiredFacts:["劳动力计划","材料计划","机械设备计划"],queries:["劳动力计划 材料计划 机械设备计划 主要设备 表格","资源投入 机械 劳动力 材料"]},{id:"layout",title:"第十一章 施工总平面布置",purpose:"整理临设、道路、水电、堆场和平面布置要求。",requiredFacts:["施工总平面布置"],queries:["施工平面布置 临时设施 道路 水电 堆场","总平面布置 临时用地"]},{id:"season",title:"第十二章 季节性施工措施",purpose:"形成雨季、冬季、高温、防汛等措施。",requiredFacts:["季节性施工要求"],queries:["雨季施工 冬季施工 高温施工 台风 防汛","季节性施工 措施"]},{id:"emergency",title:"第十三章 应急预案",purpose:"形成风险、组织、响应和救援措施。",requiredFacts:["应急预案"],queries:["应急预案 风险 应急组织 救援措施","事故 应急 响应"]},{id:"appendix",title:"第十四章 附表及附件",purpose:"汇总附件、表格、图纸和来源清单。",requiredFacts:["附表","附件"],queries:["附表 计划表 机械表 劳动力表 进度表","附件 表格 清单 图纸"]}],builtIn:!0}];function n(){let a=e.join(g.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),a}function o(){return e.join(n(),"document-templates.json")}function p(a){return{...a,id:a.id.replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,80)||`template-${Date.now()}`,name:a.name||"未命名模板",description:a.description||"",category:a.category||"自定义",outputTitle:a.outputTitle||a.name||"业务文档",projectRoleConfigId:a.projectRoleConfigId||void 0,documentSpecId:a.documentSpecId||void 0,chapters:Array.isArray(a.chapters)&&a.chapters.length>0?a.chapters.map((a,b)=>({id:(a.id||`chapter-${b+1}`).replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,80),title:a.title||`第 ${b+1} 章`,purpose:a.purpose||"",queries:Array.isArray(a.queries)?a.queries.filter(Boolean):[],requiredFacts:Array.isArray(a.requiredFacts)?a.requiredFacts.filter(Boolean):[]})):[{id:"document",title:a.outputTitle||a.name||"业务文档",purpose:a.description||"",queries:[],requiredFacts:[]}],promptIds:Array.isArray(a.promptIds)?a.promptIds.filter(Boolean):[],boundFilePaths:Array.isArray(a.boundFilePaths)?a.boundFilePaths.filter(Boolean):[],promptBindings:Array.isArray(a.promptBindings)?a.promptBindings.filter(a=>a.promptId&&a.roleId):Array.isArray(a.promptIds)?a.promptIds.filter(Boolean).map(a=>({promptId:a,roleId:"chapter_generation"})):[],fileBindings:Array.isArray(a.fileBindings)?a.fileBindings.filter(a=>a.filePath&&a.roleId):Array.isArray(a.boundFilePaths)?a.boundFilePaths.filter(Boolean).map(a=>({filePath:a,roleId:"project_fact"})):[],builtIn:!1}}function q(){try{let a=o();if(!d.existsSync(a))return[];return JSON.parse(d.readFileSync(a,"utf-8")).map(p)}catch{return[]}}function r(a){d.writeFileSync(o(),JSON.stringify(a.map(p),null,2),"utf-8")}function s(){return[...m,...q()]}function t(a){return s().find(b=>b.id===a)}function u(a){let b=p(a);if(m.some(a=>a.id===b.id))throw Error("Built-in template cannot be overwritten");let c=q().filter(a=>a.id!==b.id);return c.push(b),r(c),b}function v(a){if(m.some(b=>b.id===a))throw Error("Built-in template cannot be deleted");r(q().filter(b=>b.id!==a))}function w(a){let b=t(a);if(!b)throw Error("Document template not found");let c=p({...b,id:`${b.id}-copy-${Date.now()}`,name:`${b.name} Copy`,builtIn:!1}),d=q();return d.push(c),r(d),c}function x(a,b){let c=new Set;return a.sort((a,b)=>b.score-a.score).filter(a=>{let b=`${a.filePath}:${a.content.slice(0,100)}`;return!c.has(b)&&(c.add(b),!0)}).slice(0,b)}function y(a){return`- ${a.filePath}(score=${a.score.toFixed(3)}):${a.content.replace(/\s+/gu," ").slice(0,260)}`}function z(a){if(a.projectRoleConfigId){let b=(0,k.Mu)(a.projectRoleConfigId),c=(0,k.XB)("prompt");if(b)return[...b.promptRoles].sort((a,b)=>a.order-b.order).map(a=>c.find(b=>b.id===a.roleId)).filter(a=>!!a?.resourceId).map(a=>({promptId:a.resourceId,roleId:a.id}))}return a.promptBindings?.length?a.promptBindings:(a.promptIds??[]).map(a=>({promptId:a,roleId:"chapter_generation"}))}function A(a){if(a.projectRoleConfigId){let b=(0,k.Mu)(a.projectRoleConfigId),c=(0,k.XB)("file");if(b)return[...b.fileRoles].sort((a,b)=>a.order-b.order).map(a=>c.find(b=>b.id===a.roleId)).filter(a=>!!a?.resourceId).map(a=>({filePath:a.resourceId,roleId:a.id}))}return a.fileBindings?.length?a.fileBindings:(a.boundFilePaths??[]).map(a=>({filePath:a,roleId:"project_fact"}))}async function B(a,b){try{let c=(0,j.I)().load(),d=c.models.reasoning.active||c.models.action.active||c.models.reader.active,e=[...c.models.reasoning.list,...c.models.action.list,...c.models.reader.list].find(a=>a.name===d);if(!e)return;let f=c.providers[e.provider];if(!f)return;let g=(0,h.createProvider)(e.provider,{baseUrl:f.baseUrl,apiKey:f.apiKey,modelName:e.name}),i=(await g.chat([{role:"system",content:`${a}
|
|
2
|
+
只返回 JSON,不要返回 markdown。`},{role:"user",content:b}],{temperature:0})).content.trim().replace(/^```json\s*/u,"").replace(/^```\s*/u,"").replace(/```$/u,"").trim();return JSON.parse(i)}catch{return}}async function C(a,b){let c=[{type:"fact_extraction",roleId:"llm-json",status:"skipped",message:"LLM JSON 抽取未启用或无可用模型"}],d=a.slice(0,20).map(a=>`文件:${a.filePath}
|
|
3
3
|
角色:${a.roleId||""}
|
|
4
4
|
处理:${a.processingType||""}
|
|
5
|
-
内容:${a.content.slice(0,1200)}`).join("\n\n---\n\n");if(!d.trim())return{facts:[],stages:c};let e=await
|
|
5
|
+
内容:${a.content.slice(0,1200)}`).join("\n\n---\n\n");if(!d.trim())return{facts:[],stages:c};let e=await B(b||"你是工程文档事实抽取器。",`请从资料中抽取工程文档结构化事实,返回 {"facts":[{"key":"工程名称","value":"...","sourceFile":"...","roleId":"...","processingType":"project_fact","confidence":0.8}]}。
|
|
6
6
|
|
|
7
|
-
${d}`);return e?.facts?.length?{facts:e.facts.filter(a=>a.key&&a.value).map(a=>({key:a.key,value:a.value,sourceFile:a.sourceFile||"",roleId:a.roleId||"llm",processingType:a.processingType,confidence:a.confidence??.8,sourceRef:{filePath:a.sourceFile||"",roleId:a.roleId||"llm",processingType:a.processingType}})),stages:[{type:"fact_extraction",roleId:"llm-json",status:"success",message:`LLM 抽取 ${e.facts.length} 条事实`}]}:{facts:[],stages:c}}async function
|
|
8
|
-
${a.content}`).join("\n\n"),
|
|
9
|
-
${m.slice(0,3e3)}`:"","",e.length>0?`本章根据模板绑定资料围绕“${a.purpose||b.description}”整理。`:"模板绑定资料未检索到明确内容,需进一步确认。","",e.length>0?"### 资料依据":"",...e.map(w),"",h.length>0?"### 待确认事项":"",...h.map(a=>`- ${a}:资料未提供,需进一步确认。`)].filter(Boolean).join("\n");t.push({id:a.id,title:a.title,content:i,evidence:e,missingFacts:h})}let B=function(a,b){let c={};for(let d of[...new Set(a.chapters.flatMap(a=>a.requiredFacts))]){let a=b.find(a=>a.content.includes(d.replace(/要求|计划|目标|标准/gu,""))||a.content.includes(d));a&&(c[d]=`${a.content.replace(/\s+/gu," ").slice(0,180)}(来源:${a.filePath})`)}return c}(b,u),C=function(a){let b=[["工程名称",/工程名称[::\s]+([^\n,。;;]+)/u],["工程地点",/(?:工程地点|建设地点)[::\s]+([^\n,。;;]+)/u],["建设单位",/建设单位[::\s]+([^\n,。;;]+)/u],["工期要求",/(?:工期|计划工期)[::\s]+([^\n,。;;]+)/u],["质量目标",/质量目标[::\s]+([^\n,。;;]+)/u],["安全目标",/安全目标[::\s]+([^\n,。;;]+)/u],["施工范围",/(?:施工范围|招标范围)[::\s]+([^\n]+)/u]],c=[];for(let d of a)for(let[a,e]of b){let b=d.content.match(e);b?.[1]&&!c.some(c=>c.key===a&&c.value===b[1].trim())&&c.push({key:a,value:b[1].trim().slice(0,300),sourceFile:d.filePath,roleId:d.roleId||"unknown",processingType:d.processingType,confidence:d.score})}return c}(u),D=await A(u,m),E=[...C,...D.facts],F=function(a){let b=[];for(let c of a.filter(a=>"table"===a.processingType)){let a=c.content.split("\n").map(a=>a.trim()).filter(Boolean).filter(a=>a.includes("|")||a.includes(" ")||a.includes(","));if(a.length<2)continue;let d=a[0].includes("|")?"|":a[0].includes(" ")?" ":",",e=a.map(a=>a.split(d).map(a=>a.trim()).filter(Boolean)).filter(a=>a.length>1);e.length<2||b.push({tableType:c.roleId||"table",headers:e[0],rows:e.slice(1,80),sourceFile:c.filePath,sourceRange:c.sectionTitle})}return b}(u);for(let a of E)B[a.key]=`${a.value}(来源:${a.sourceFile},角色:${a.roleId})`;let G=new Map;for(let a of u)G.set(a.filePath,(G.get(a.filePath)??0)+1);let H=[...G.entries()].sort((a,b)=>b[1]-a[1]).map(([a,b])=>({filePath:a,count:b})),I=function(a,b=[],c=[]){let d=b=>a.filter(a=>b.some(b=>a.key.includes(b))),e=b=>a.filter(a=>a.processingType===b||a.roleId.includes(b));return{project:d(["工程名称","工程地点","建设单位","施工范围"]),schedule:d(["工期","开工","竣工","节点"]),quality:d(["质量"]),safety:d(["安全"]),resources:d(["劳动力","材料","机械","设备"]),tables:b,drawings:e("drawing"),rules:e("rule"),specifications:e("specification"),missing:[...new Set(c)],conflicts:[]}}(E,F,z),J=function(a,b,c=[],d){let e=[],f=[];for(let b of a)0===b.evidence.length&&e.push(`${b.title} 未检索到资料证据`),b.content.length<80&&e.push(`${b.title} 内容较短,建议人工补充或重新生成`);for(let a of["工程名称","工期要求","质量目标","施工范围"])b[a]||c.some(b=>b.key===a)||e.push(`${a} 未形成明确事实,请人工确认`);d&&0===y(d).length&&f.push("模板未绑定任何知识库文件"),d&&0===x(d).length&&f.push("模板未绑定任何提示词");let g=new Set(c.map(a=>a.roleId));for(let a of["project_fact","rule"])d?.fileBindings?.some(b=>b.roleId===a)&&!g.has(a)&&e.push(`${a} 角色未抽取到结构化事实`);return{passed:0===f.length,warnings:e,errors:f}}(t,B,E,b),K=function(a,b,c){let d=[...a.errors.map(a=>({level:"error",message:a,suggestion:"请补充配置或资料后重新生成。"})),...a.warnings.map(a=>({level:"warning",message:a,suggestion:"建议人工确认或补充对应资料。"}))];return 0===b.project.length&&d.push({level:"error",message:"项目基础事实缺失",suggestion:"请在项目事实文件角色中绑定包含工程概况的资料。"}),c.some(a=>a.content.includes("资料未提供"))&&d.push({level:"warning",message:"存在资料未提供章节",suggestion:"请检查项目角色配置中的文件绑定和顺序。"}),b.conflicts.length>0&&d.push(...b.conflicts.map(a=>({level:"error",message:a}))),d}(J,I,t),L=function(a,b,c){let d=[{key:"no_errors",label:"无阻断级校验错误",passed:!a.some(a=>"error"===a.level)},{key:"project_facts",label:"项目基础事实齐全",passed:b.project.length>0},{key:"source_traceability",label:"事实具备来源追踪",passed:[...b.project,...b.schedule,...b.quality,...b.safety].every(a=>!!a.sourceFile)},{key:"chapter_evidence",label:"章节均具备证据",passed:c.every(a=>a.evidence.length>0)},{key:"no_missing_content",label:"无资料未提供章节",passed:c.every(a=>!a.content.includes("资料未提供"))}],e=a.filter(a=>"error"===a.level);return{passed:0===e.length&&d.every(a=>a.passed),blockingIssues:e,checklist:d}}(K,I,t),M=[...D.stages,{type:"chapter_generation",roleId:"document-workflow",status:"success",message:`生成 ${t.length} 个章节`},{type:"validation",roleId:"document-workflow",status:J.errors.length>0?"failed":"success",message:`错误 ${J.errors.length},警告 ${J.warnings.length}`},{type:"formatting",roleId:"document-workflow",status:"success",message:"已生成正式排版 Markdown"}],N={templateId:b.id,templateName:b.name,title:b.outputTitle,requirement:a.requirement||(i.length?`使用模板绑定提示词:${i.map(a=>`${a.promptId}(${a.roleId})`).join(", ")}`:""),facts:B,structuredFacts:E,factsModel:I,chapters:t,sources:H,missingItems:[...new Set(z)],validation:J,validationIssues:K,executionStages:M,exportGate:L,generatedAt:Date.now()};return{...N,markdown:['<div class="document-cover">',`# ${N.title}`,"",`**文档版本**:V1.0 `,`**生成时间**:${new Date(N.generatedAt).toLocaleString("zh-CN")} `,`**生成要求**:${N.requirement||"未填写"} `,"</div>","",'<div class="page-break"></div>',"","## 目录","",...N.chapters.map((a,b)=>`${b+1}. ${a.title}`),"",'<div class="page-break"></div>',"","## 结构化事实表","",Object.keys(N.facts).length>0?["| 事实项 | 依据 |","|---|---|",...Object.entries(N.facts).map(([a,b])=>`| ${a} | ${b.replace(/\|/gu," ")} |`)].join("\n"):"未抽取到明确事实,需人工确认。","",...N.chapters.flatMap(a=>[a.content,""]),"## 资料来源清单","","| 文件 | 引用次数 |","|---|---:|",...N.sources.map(a=>`| ${a.filePath} | ${a.count} |`),"","## 缺失项与需确认事项","",...N.missingItems.length>0?N.missingItems.map(a=>`- ${a}`):["- 暂未发现完全缺失章节;仍需人工复核关键数据。"],"","## 校验结果","",...N.validation.warnings.map(a=>`- 警告:${a}`),...N.validation.errors.map(a=>`- 错误:${a}`),"","## 严格校验清单","",...N.validationIssues.map(a=>`- ${a.level.toUpperCase()}:${a.message}${a.suggestion?`(建议:${a.suggestion})`:""}`)].join("\n")}}async function C(a){let b=r(a.templateId);if(!b)throw Error("Document template not found");let c=b.chapters.find(b=>b.id===a.chapterId);if(!c)throw Error("Document chapter not found");let d=a.projectRoot||(0,h.aY)();if(!d)throw Error("No knowledge base project found");let e=(0,h.Qh)(),f=Math.max(5,Math.min(30,a.maxEvidencePerChapter??12)),g=[];for(let a of c.queries){let b=await e.search(d,a,{scope:"project",limit:f,weights:{keyword:.4,vector:.45,rewrite:.75,hybridBonus:.15}});g.push(...b.results.map(a=>({chapterId:c.id,filePath:a.filePath,score:a.score,content:a.content,sectionTitle:a.sectionTitle,source:a.source})))}let i=v(g,f),j=c.requiredFacts.filter(a=>!i.some(b=>b.content.includes(a.replace(/要求|计划|目标|标准/gu,""))||b.content.includes(a))),k=[`## ${c.title}`,"",a.requirement?`> 生成要求:${a.requirement}`:"",i.length>0?`本章根据知识库资料围绕“${c.purpose}”重新整理。`:"资料未提供,需进一步确认。","",i.length>0?"### 资料依据":"",...i.map(w),"",j.length>0?"### 待确认事项":"",...j.map(a=>`- ${a}:资料未提供,需进一步确认。`)].filter(Boolean).join("\n");return{id:c.id,title:c.title,content:k,evidence:i,missingFacts:j}}},89952:(a,b,c)=>{c.d(b,{DZ:()=>p,FV:()=>o,Mu:()=>q,NR:()=>r,XB:()=>m,dg:()=>n,dw:()=>s});var d=c(73024),e=c(48161),f=c(76760);function g(){let a=f.join(e.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),f.join(a,"document-roles.json")}function h(a){return(a||`item-${Date.now()}`).replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,80)}function i(a){var b,c;let d="prompt"===a.type?"prompt":"file";return{id:h(a.id),name:a.name||"未命名角色",description:a.description||"",type:d,resourceId:a.resourceId||void 0,executionType:"prompt"===d?"fact_extraction"===(b=a.executionType)||"chapter_generation"===b||"validation"===b||"formatting"===b||"reference"===b?b:"reference":void 0,processingType:"file"===d?"rule"===(c=a.processingType)||"project_fact"===c||"table"===c||"drawing"===c||"specification"===c||"reference"===c?c:"reference":void 0}}function j(a){return{id:h(a.id),name:a.name||"未命名配置",description:a.description||"",fileRoles:Array.isArray(a.fileRoles)?a.fileRoles.filter(a=>a.roleId).map((a,b)=>({roleId:a.roleId,order:Number.isFinite(a.order)?a.order:b})):[],promptRoles:Array.isArray(a.promptRoles)?a.promptRoles.filter(a=>a.roleId).map((a,b)=>({roleId:a.roleId,order:Number.isFinite(a.order)?a.order:b})):[]}}function k(){try{let a=g();if(!d.existsSync(a))return{roles:[],configs:[]};let b=JSON.parse(d.readFileSync(a,"utf-8"));if(Array.isArray(b))return{roles:b.map(i),configs:[]};return{roles:Array.isArray(b.roles)?b.roles.map(i):[],configs:Array.isArray(b.configs)?b.configs.map(j):[]}}catch{return{roles:[],configs:[]}}}function l(a){d.writeFileSync(g(),JSON.stringify({roles:a.roles.map(i),configs:a.configs.map(j)},null,2),"utf-8")}function m(a){let b=k().roles;return a?b.filter(b=>b.type===a):b}function n(a){let b=i(a),c=k();return c.roles=c.roles.filter(a=>a.id!==b.id||a.type!==b.type),c.roles.push(b),l(c),b}function o(a,b){let c=k();c.roles=c.roles.filter(c=>c.id!==b||c.type!==a),c.configs=c.configs.map(a=>({...a,fileRoles:a.fileRoles.filter(a=>a.roleId!==b),promptRoles:a.promptRoles.filter(a=>a.roleId!==b)})),l(c)}function p(){return k().configs}function q(a){return k().configs.find(b=>b.id===a)}function r(a){let b=j(a),c=k();return c.configs=c.configs.filter(a=>a.id!==b.id),c.configs.push(b),l(c),b}function s(a){let b=k();b.configs=b.configs.filter(b=>b.id!==a),l(b)}}};
|
|
7
|
+
${d}`);return e?.facts?.length?{facts:e.facts.filter(a=>a.key&&a.value).map(a=>({key:a.key,value:a.value,sourceFile:a.sourceFile||"",roleId:a.roleId||"llm",processingType:a.processingType,confidence:a.confidence??.8,sourceRef:{filePath:a.sourceFile||"",roleId:a.roleId||"llm",processingType:a.processingType}})),stages:[{type:"fact_extraction",roleId:"llm-json",status:"success",message:`LLM 抽取 ${e.facts.length} 条事实`}]}:{facts:[],stages:c}}function D(a){return['<div class="document-cover">',`# ${a.title}`,"",`**文档版本**:V1.0 `,`**生成时间**:${new Date(a.generatedAt).toLocaleString("zh-CN")} `,`**生成要求**:${a.requirement||"未填写"} `,"</div>","",'<div class="page-break"></div>',"","## 目录","",...a.chapters.map((a,b)=>`${b+1}. ${a.title}`),"",'<div class="page-break"></div>',"","## 结构化事实表","",Object.keys(a.facts).length>0?["| 事实项 | 依据 |","|---|---|",...Object.entries(a.facts).map(([a,b])=>`| ${a} | ${b.replace(/\|/gu," ")} |`)].join("\n"):"未抽取到明确事实,需人工确认。","",...a.chapters.flatMap(a=>[a.content,""]),"## 资料来源清单","","| 文件 | 引用次数 |","|---|---:|",...a.sources.map(a=>`| ${a.filePath} | ${a.count} |`),"","## 缺失项与需确认事项","",...a.missingItems.length>0?a.missingItems.map(a=>`- ${a}`):["- 暂未发现完全缺失章节;仍需人工复核关键数据。"],"","## 校验结果","",...a.validation.warnings.map(a=>`- 警告:${a}`),...a.validation.errors.map(a=>`- 错误:${a}`),"","## 严格校验清单","",...a.validationIssues.map(a=>`- ${a.level.toUpperCase()}:${a.message}${a.suggestion?`(建议:${a.suggestion})`:""}`)].join("\n")}async function E(a){let b=t(a.templateId);if(!b)throw Error("Document template not found");let c=a.projectRoot||(0,i.aY)();if(!c)throw Error("No knowledge base project found");let g=(0,i.Qh)(),h=Math.max(5,Math.min(30,a.maxEvidencePerChapter??12)),j=z(b),m=A(b),o=(0,l.py)(b.documentSpecId),p=(function(a=[]){let b;if(0===a.length)return[];let c=[];try{let a=JSON.parse(d.readFileSync(e.join(n(),"prompts.json"),"utf-8"));b=Array.isArray(a.customPrompts)?a.customPrompts:[]}catch{b=[]}for(let f of a){let a=f.promptId;if(a.startsWith("custom:")){let d=b.find(b=>b.id===a);d&&c.push({id:a,roleId:f.roleId,name:d.name,content:d.content});continue}if(a.startsWith("file:")){let b=a.slice(5);d.existsSync(b)&&c.push({id:a,roleId:f.roleId,name:e.basename(e.dirname(b))||b,content:d.readFileSync(b,"utf-8")})}}return c})(j).map(a=>`## [${a.roleId}] ${a.name}
|
|
8
|
+
${a.content}`).join("\n\n"),q=new Set(m.map(a=>a.filePath)),r=(0,k.XB)("file"),s=new Map(m.map(a=>[a.filePath,a.roleId])),u=new Map(m.map(a=>[a.filePath,r.find(b=>b.id===a.roleId)?.processingType||"reference"])),v=await g.getProject(c);await v.incrementalIndex();let w=[],B=[],E=[];for(let a of b.chapters){let d=[];for(let e of a.queries.length>0?a.queries:[b.name,b.outputTitle,a.title,...m.map(a=>a.filePath)]){let b=await g.search(c,e,{scope:"project",limit:Math.max(h,q.size>0?30:h),weights:{keyword:.4,vector:.45,rewrite:.75,hybridBonus:.15}});d.push(...b.results.filter(a=>0===q.size||q.has(a.filePath)).map(b=>({chapterId:a.id,filePath:b.filePath,score:b.score,content:b.content,roleId:s.get(b.filePath),processingType:u.get(b.filePath),sectionTitle:b.sectionTitle,source:b.source})))}for(let b of q){let c=v.getFileDetail(b);c&&d.push(...c.chunks.slice(0,Math.max(h,20)).map(b=>({chapterId:a.id,filePath:c.file.relativePath,score:1,content:b.content,roleId:s.get(c.file.relativePath),processingType:u.get(c.file.relativePath),sectionTitle:b.sectionTitle,source:"bound-file"})))}let e=x(d,h);B.push(...e);let f=a.requiredFacts.filter(a=>!e.some(b=>b.content.includes(a.replace(/要求|计划|目标|标准/gu,""))||b.content.includes(a)));for(let b of(0===e.length&&E.push(`${a.title}:未检索到明确资料依据`),f))E.push(`${a.title}:${b} 未检索到明确依据`);let i=[`## ${a.title}`,"",p?`### 模板绑定提示词规则
|
|
9
|
+
${p.slice(0,3e3)}`:"","",e.length>0?`本章根据模板绑定资料围绕“${a.purpose||b.description}”整理。`:"模板绑定资料未检索到明确内容,需进一步确认。","",e.length>0?"### 资料依据":"",...e.map(y),"",f.length>0?"### 待确认事项":"",...f.map(a=>`- ${a}:资料未提供,需进一步确认。`)].filter(Boolean).join("\n");w.push({id:a.id,title:a.title,content:i,evidence:e,missingFacts:f})}let F=function(a,b){let c={};for(let d of[...new Set(a.chapters.flatMap(a=>a.requiredFacts))]){let a=b.find(a=>a.content.includes(d.replace(/要求|计划|目标|标准/gu,""))||a.content.includes(d));a&&(c[d]=`${a.content.replace(/\s+/gu," ").slice(0,180)}(来源:${a.filePath})`)}return c}(b,B),G=function(a){let b=[["工程名称",/工程名称[::\s]+([^\n,。;;]+)/u],["工程地点",/(?:工程地点|建设地点)[::\s]+([^\n,。;;]+)/u],["建设单位",/建设单位[::\s]+([^\n,。;;]+)/u],["工期要求",/(?:工期|计划工期)[::\s]+([^\n,。;;]+)/u],["质量目标",/质量目标[::\s]+([^\n,。;;]+)/u],["安全目标",/安全目标[::\s]+([^\n,。;;]+)/u],["施工范围",/(?:施工范围|招标范围)[::\s]+([^\n]+)/u]],c=[];for(let d of a)for(let[a,e]of b){let b=d.content.match(e);b?.[1]&&!c.some(c=>c.key===a&&c.value===b[1].trim())&&c.push({key:a,value:b[1].trim().slice(0,300),sourceFile:d.filePath,roleId:d.roleId||"unknown",processingType:d.processingType,confidence:d.score})}return c}(B),H=await C(B,p),I=[...G,...H.facts],J=function(a){let b=[],c=new Set;for(let g of a.filter(a=>"table"===a.processingType)){if(c.has(g.filePath))continue;c.add(g.filePath);let a=e.isAbsolute(g.filePath)?g.filePath:e.join((0,i.aY)(),g.filePath),h=e.extname(g.filePath).toLowerCase();if(d.existsSync(a)&&[".xlsx",".xls",".csv"].includes(h))try{let c=f.readFile(a,{cellDates:!0,sheetStubs:!1});for(let a of c.SheetNames){let d=c.Sheets[a],e=f.utils.sheet_to_json(d,{header:1,raw:!1,defval:""}).map(a=>a.map(a=>String(a).trim())).filter(a=>a.some(Boolean));if(e.length<2)continue;let h=e.findIndex(a=>a.filter(Boolean).length>=2);if(h<0)continue;let i=e[h].filter(Boolean),j=e.slice(h+1).map(a=>a.slice(0,i.length)).filter(a=>a.some(Boolean));0!==j.length&&b.push({tableType:g.roleId||"table",sheet:a,headers:i,rows:j.slice(0,200),sourceFile:g.filePath,sourceRange:d["!ref"]})}continue}catch{}let j=g.content.split("\n").map(a=>a.trim()).filter(Boolean).filter(a=>a.includes("|")||a.includes(" ")||a.includes(","));if(j.length<2)continue;let k=j[0].includes("|")?"|":j[0].includes(" ")?" ":",",l=j.map(a=>a.split(k).map(a=>a.trim()).filter(Boolean)).filter(a=>a.length>1);l.length<2||b.push({tableType:g.roleId||"table",headers:l[0],rows:l.slice(1,80),sourceFile:g.filePath,sourceRange:g.sectionTitle})}return b}(B);for(let a of I)F[a.key]=`${a.value}(来源:${a.sourceFile},角色:${a.roleId})`;let K=new Map;for(let a of B)K.set(a.filePath,(K.get(a.filePath)??0)+1);let L=[...K.entries()].sort((a,b)=>b[1]-a[1]).map(([a,b])=>({filePath:a,count:b})),M=function(a,b=[],c=[]){let d=b=>a.filter(a=>b.some(b=>a.key.includes(b))),e=b=>a.filter(a=>a.processingType===b||a.roleId.includes(b));return{project:d(["工程名称","工程地点","建设单位","施工范围"]),schedule:d(["工期","开工","竣工","节点"]),quality:d(["质量"]),safety:d(["安全"]),resources:d(["劳动力","材料","机械","设备"]),tables:b,drawings:e("drawing"),rules:e("rule"),specifications:e("specification"),missing:[...new Set(c)],conflicts:[]}}(I,J,E),N=function(a,b,c=[],d){let e=[],f=[];for(let b of a)0===b.evidence.length&&e.push(`${b.title} 未检索到资料证据`),b.content.length<80&&e.push(`${b.title} 内容较短,建议人工补充或重新生成`);for(let a of["工程名称","工期要求","质量目标","施工范围"])b[a]||c.some(b=>b.key===a)||e.push(`${a} 未形成明确事实,请人工确认`);d&&0===A(d).length&&f.push("模板未绑定任何知识库文件"),d&&0===z(d).length&&f.push("模板未绑定任何提示词");let g=new Set(c.map(a=>a.roleId));for(let a of["project_fact","rule"])d?.fileBindings?.some(b=>b.roleId===a)&&!g.has(a)&&e.push(`${a} 角色未抽取到结构化事实`);return{passed:0===f.length,warnings:e,errors:f}}(w,F,I,b),O=function(a,b,c){let d=[...a.errors.map(a=>({level:"error",message:a,suggestion:"请补充配置或资料后重新生成。"})),...a.warnings.map(a=>({level:"warning",message:a,suggestion:"建议人工确认或补充对应资料。"}))];return 0===b.project.length&&d.push({level:"error",message:"项目基础事实缺失",suggestion:"请在项目事实文件角色中绑定包含工程概况的资料。"}),c.some(a=>a.content.includes("资料未提供"))&&d.push({level:"warning",message:"存在资料未提供章节",suggestion:"请检查项目角色配置中的文件绑定和顺序。"}),b.conflicts.length>0&&d.push(...b.conflicts.map(a=>({level:"error",message:a}))),d}(N,M,w),P=[...H.stages,{type:"chapter_generation",roleId:"document-workflow",status:"success",message:`生成 ${w.length} 个章节`},{type:"validation",roleId:"document-workflow",status:N.errors.length>0?"failed":"success",message:`错误 ${N.errors.length},警告 ${N.warnings.length}`},{type:"formatting",roleId:"document-workflow",status:"success",message:"已生成正式排版 Markdown"}],Q={templateId:b.id,templateName:b.name,title:b.outputTitle,requirement:a.requirement||(j.length?`使用模板绑定提示词:${j.map(a=>`${a.promptId}(${a.roleId})`).join(", ")}`:""),facts:F,structuredFacts:I,factsModel:M,chapters:w,sources:L,missingItems:[...new Set(E)],validation:N,validationIssues:O,executionStages:P,exportGate:{passed:!0,blockingIssues:[],checklist:[]},generatedAt:Date.now()},R=function(a,b,c){let d=[{key:"no_errors",label:"无阻断级校验错误",passed:!a.some(a=>"error"===a.level)},{key:"project_facts",label:"项目基础事实齐全",passed:b.project.length>0},{key:"source_traceability",label:"事实具备来源追踪",passed:[...b.project,...b.schedule,...b.quality,...b.safety].every(a=>!!a.sourceFile)},{key:"chapter_evidence",label:"章节均具备证据",passed:c.every(a=>a.evidence.length>0)},{key:"no_missing_content",label:"无资料未提供章节",passed:c.every(a=>!a.content.includes("资料未提供"))}],e=a.filter(a=>"error"===a.level);return{passed:0===e.length&&d.every(a=>a.passed),blockingIssues:e,checklist:d}}(O=function(a,b,c,d,e,f,g){if(!a)return b;let h=[...b],i=new Set([...c.project,...c.schedule,...c.quality,...c.safety,...c.resources].map(a=>a.key)),j=new Set(d.map(a=>a.title));for(let b of a.factFields.filter(a=>a.required))i.has(b.name)||h.push({level:"error",message:`必需事实缺失:${b.name}`,suggestion:b.extractionHint||"请补充资料或调整事实字段配置。"});for(let b of a.chapterRules.filter(a=>a.required)){j.has(b.title)||h.push({level:"error",message:`必需章节缺失:${b.title}`,suggestion:"请在模板或规范包章节规则中补齐章节。"});let a=d.find(a=>a.title===b.title);a&&b.minWords&&a.content.length<b.minWords&&h.push({level:"warning",message:`章节内容低于最低字数:${b.title}`,suggestion:`建议不少于 ${b.minWords} 字。`})}for(let b of a.gateRules){let a=b.level;"required_fact"===b.type&&b.target&&!i.has(b.target)&&h.push({level:a,message:`${b.name}:缺少事实 ${b.target}`}),"required_chapter"===b.type&&b.target&&!j.has(b.target)&&h.push({level:a,message:`${b.name}:缺少章节 ${b.target}`}),"required_file_role"===b.type&&b.target&&!f.some(a=>a.roleId===b.target)&&h.push({level:a,message:`${b.name}:缺少文件角色 ${b.target}`}),"required_prompt_role"===b.type&&b.target&&!g.some(a=>a.roleId===b.target)&&h.push({level:a,message:`${b.name}:缺少提示词角色 ${b.target}`}),"forbidden_text"===b.type&&b.value&&e.includes(b.value)&&h.push({level:a,message:`${b.name}:出现禁用文本 ${b.value}`}),"table_required"===b.type&&0===c.tables.length&&h.push({level:a,message:`${b.name}:缺少结构化表格`}),"source_required"===b.type&&[...c.project,...c.schedule,...c.quality,...c.safety].some(a=>!a.sourceFile)&&h.push({level:a,message:`${b.name}:存在无来源事实`})}return h}(o,O,M,w,D(Q),m,j),M,w);return{...Q,validationIssues:O,exportGate:R,markdown:D({...Q,validationIssues:O,exportGate:R})}}async function F(a){let b=t(a.templateId);if(!b)throw Error("Document template not found");let c=b.chapters.find(b=>b.id===a.chapterId);if(!c)throw Error("Document chapter not found");let d=a.projectRoot||(0,i.aY)();if(!d)throw Error("No knowledge base project found");let e=(0,i.Qh)(),f=Math.max(5,Math.min(30,a.maxEvidencePerChapter??12)),g=[];for(let a of c.queries){let b=await e.search(d,a,{scope:"project",limit:f,weights:{keyword:.4,vector:.45,rewrite:.75,hybridBonus:.15}});g.push(...b.results.map(a=>({chapterId:c.id,filePath:a.filePath,score:a.score,content:a.content,sectionTitle:a.sectionTitle,source:a.source})))}let h=x(g,f),j=c.requiredFacts.filter(a=>!h.some(b=>b.content.includes(a.replace(/要求|计划|目标|标准/gu,""))||b.content.includes(a))),k=[`## ${c.title}`,"",a.requirement?`> 生成要求:${a.requirement}`:"",h.length>0?`本章根据知识库资料围绕“${c.purpose}”重新整理。`:"资料未提供,需进一步确认。","",h.length>0?"### 资料依据":"",...h.map(y),"",j.length>0?"### 待确认事项":"",...j.map(a=>`- ${a}:资料未提供,需进一步确认。`)].filter(Boolean).join("\n");return{id:c.id,title:c.title,content:k,evidence:h,missingFacts:j}}},89952:(a,b,c)=>{c.d(b,{DZ:()=>p,FV:()=>o,Mu:()=>q,NR:()=>r,XB:()=>m,dg:()=>n,dw:()=>s});var d=c(73024),e=c(48161),f=c(76760);function g(){let a=f.join(e.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),f.join(a,"document-roles.json")}function h(a){return(a||`item-${Date.now()}`).replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,80)}function i(a){var b,c;let d="prompt"===a.type?"prompt":"file";return{id:h(a.id),name:a.name||"未命名角色",description:a.description||"",type:d,resourceId:a.resourceId||void 0,executionType:"prompt"===d?"fact_extraction"===(b=a.executionType)||"chapter_generation"===b||"validation"===b||"formatting"===b||"reference"===b?b:"reference":void 0,processingType:"file"===d?"rule"===(c=a.processingType)||"project_fact"===c||"table"===c||"drawing"===c||"specification"===c||"reference"===c?c:"reference":void 0}}function j(a){return{id:h(a.id),name:a.name||"未命名配置",description:a.description||"",fileRoles:Array.isArray(a.fileRoles)?a.fileRoles.filter(a=>a.roleId).map((a,b)=>({roleId:a.roleId,order:Number.isFinite(a.order)?a.order:b})):[],promptRoles:Array.isArray(a.promptRoles)?a.promptRoles.filter(a=>a.roleId).map((a,b)=>({roleId:a.roleId,order:Number.isFinite(a.order)?a.order:b})):[]}}function k(){try{let a=g();if(!d.existsSync(a))return{roles:[],configs:[]};let b=JSON.parse(d.readFileSync(a,"utf-8"));if(Array.isArray(b))return{roles:b.map(i),configs:[]};return{roles:Array.isArray(b.roles)?b.roles.map(i):[],configs:Array.isArray(b.configs)?b.configs.map(j):[]}}catch{return{roles:[],configs:[]}}}function l(a){d.writeFileSync(g(),JSON.stringify({roles:a.roles.map(i),configs:a.configs.map(j)},null,2),"utf-8")}function m(a){let b=k().roles;return a?b.filter(b=>b.type===a):b}function n(a){let b=i(a),c=k();return c.roles=c.roles.filter(a=>a.id!==b.id||a.type!==b.type),c.roles.push(b),l(c),b}function o(a,b){let c=k();c.roles=c.roles.filter(c=>c.id!==b||c.type!==a),c.configs=c.configs.map(a=>({...a,fileRoles:a.fileRoles.filter(a=>a.roleId!==b),promptRoles:a.promptRoles.filter(a=>a.roleId!==b)})),l(c)}function p(){return k().configs}function q(a){return k().configs.find(b=>b.id===a)}function r(a){let b=j(a),c=k();return c.configs=c.configs.filter(a=>a.id!==b.id),c.configs.push(b),l(c),b}function s(a){let b=k();b.configs=b.configs.filter(b=>b.id!==a),l(b)}}};
|