@customize-agent/server 2.2.0

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 (149) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/images-manifest.json +58 -0
  3. package/.next/package.json +1 -0
  4. package/.next/prerender-manifest.json +11 -0
  5. package/.next/react-loadable-manifest.json +1 -0
  6. package/.next/required-server-files.json +352 -0
  7. package/.next/routes-manifest.json +167 -0
  8. package/.next/server/chunks/204.js +1 -0
  9. package/.next/server/chunks/270.js +1 -0
  10. package/.next/server/chunks/301.js +19 -0
  11. package/.next/server/chunks/352.js +1 -0
  12. package/.next/server/chunks/580.js +6 -0
  13. package/.next/server/chunks/583.js +1 -0
  14. package/.next/server/chunks/705.js +1 -0
  15. package/.next/server/chunks/76.js +385 -0
  16. package/.next/server/dynamic-css-manifest.js +1 -0
  17. package/.next/server/functions-config-manifest.json +4 -0
  18. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  19. package/.next/server/middleware-build-manifest.js +1 -0
  20. package/.next/server/middleware-manifest.json +6 -0
  21. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  22. package/.next/server/next-font-manifest.js +1 -0
  23. package/.next/server/next-font-manifest.json +1 -0
  24. package/.next/server/pages/404.html +1 -0
  25. package/.next/server/pages/500.html +1 -0
  26. package/.next/server/pages/_app.js +1 -0
  27. package/.next/server/pages/_app.js.nft.json +1 -0
  28. package/.next/server/pages/_document.js +1 -0
  29. package/.next/server/pages/_document.js.nft.json +1 -0
  30. package/.next/server/pages/_error.js +1 -0
  31. package/.next/server/pages/_error.js.nft.json +1 -0
  32. package/.next/server/pages/api/config/healthCheck.js +1 -0
  33. package/.next/server/pages/api/config/healthCheck.js.nft.json +1 -0
  34. package/.next/server/pages/api/config/models.js +1 -0
  35. package/.next/server/pages/api/config/models.js.nft.json +1 -0
  36. package/.next/server/pages/api/config/providers/[provider].js +1 -0
  37. package/.next/server/pages/api/config/providers/[provider].js.nft.json +1 -0
  38. package/.next/server/pages/api/config/providers.js +1 -0
  39. package/.next/server/pages/api/config/providers.js.nft.json +1 -0
  40. package/.next/server/pages/api/context.js +1 -0
  41. package/.next/server/pages/api/context.js.nft.json +1 -0
  42. package/.next/server/pages/api/health.js +1 -0
  43. package/.next/server/pages/api/health.js.nft.json +1 -0
  44. package/.next/server/pages/api/kb/categories.js +1 -0
  45. package/.next/server/pages/api/kb/categories.js.nft.json +1 -0
  46. package/.next/server/pages/api/kb/duplicates.js +1 -0
  47. package/.next/server/pages/api/kb/duplicates.js.nft.json +1 -0
  48. package/.next/server/pages/api/kb/features.js +1 -0
  49. package/.next/server/pages/api/kb/features.js.nft.json +1 -0
  50. package/.next/server/pages/api/kb/files/detail.js +1 -0
  51. package/.next/server/pages/api/kb/files/detail.js.nft.json +1 -0
  52. package/.next/server/pages/api/kb/files/open.js +1 -0
  53. package/.next/server/pages/api/kb/files/open.js.nft.json +1 -0
  54. package/.next/server/pages/api/kb/files/preview-pdf-page.js +1 -0
  55. package/.next/server/pages/api/kb/files/preview-pdf-page.js.nft.json +1 -0
  56. package/.next/server/pages/api/kb/files/reindex.js +1 -0
  57. package/.next/server/pages/api/kb/files/reindex.js.nft.json +1 -0
  58. package/.next/server/pages/api/kb/files.js +2 -0
  59. package/.next/server/pages/api/kb/files.js.nft.json +1 -0
  60. package/.next/server/pages/api/kb/ignore.js +1 -0
  61. package/.next/server/pages/api/kb/ignore.js.nft.json +1 -0
  62. package/.next/server/pages/api/kb/operations.js +2 -0
  63. package/.next/server/pages/api/kb/operations.js.nft.json +1 -0
  64. package/.next/server/pages/api/kb/reindex.js +1 -0
  65. package/.next/server/pages/api/kb/reindex.js.nft.json +1 -0
  66. package/.next/server/pages/api/kb/search.js +1 -0
  67. package/.next/server/pages/api/kb/search.js.nft.json +1 -0
  68. package/.next/server/pages/api/kb/stats.js +1 -0
  69. package/.next/server/pages/api/kb/stats.js.nft.json +1 -0
  70. package/.next/server/pages/api/kb/tags.js +1 -0
  71. package/.next/server/pages/api/kb/tags.js.nft.json +1 -0
  72. package/.next/server/pages/api/kb/upload/progress.js +1 -0
  73. package/.next/server/pages/api/kb/upload/progress.js.nft.json +1 -0
  74. package/.next/server/pages/api/kb/upload.js +2 -0
  75. package/.next/server/pages/api/kb/upload.js.nft.json +1 -0
  76. package/.next/server/pages/api/prompt.js +1 -0
  77. package/.next/server/pages/api/prompt.js.nft.json +1 -0
  78. package/.next/server/pages/api/system/stats.js +1 -0
  79. package/.next/server/pages/api/system/stats.js.nft.json +1 -0
  80. package/.next/server/pages/context/long-term.html +1 -0
  81. package/.next/server/pages/context/long-term.js.nft.json +1 -0
  82. package/.next/server/pages/context/short-term.html +1 -0
  83. package/.next/server/pages/context/short-term.js.nft.json +1 -0
  84. package/.next/server/pages/index.html +1 -0
  85. package/.next/server/pages/index.js.nft.json +1 -0
  86. package/.next/server/pages/knowledge/file-detail.html +1 -0
  87. package/.next/server/pages/knowledge/file-detail.js.nft.json +1 -0
  88. package/.next/server/pages/knowledge/files.html +1 -0
  89. package/.next/server/pages/knowledge/files.js.nft.json +1 -0
  90. package/.next/server/pages/knowledge/manage.html +1 -0
  91. package/.next/server/pages/knowledge/manage.js.nft.json +1 -0
  92. package/.next/server/pages/knowledge/search.html +1 -0
  93. package/.next/server/pages/knowledge/search.js.nft.json +1 -0
  94. package/.next/server/pages/knowledge.html +1 -0
  95. package/.next/server/pages/knowledge.js.nft.json +1 -0
  96. package/.next/server/pages/models.html +1 -0
  97. package/.next/server/pages/models.js.nft.json +1 -0
  98. package/.next/server/pages/overview.html +1 -0
  99. package/.next/server/pages/overview.js.nft.json +1 -0
  100. package/.next/server/pages/prompt.html +1 -0
  101. package/.next/server/pages/prompt.js.nft.json +1 -0
  102. package/.next/server/pages/settings.html +1 -0
  103. package/.next/server/pages/settings.js.nft.json +1 -0
  104. package/.next/server/pages-manifest.json +42 -0
  105. package/.next/server/webpack-api-runtime.js +1 -0
  106. package/.next/server/webpack-runtime.js +1 -0
  107. package/.next/static/F0L2CqpDxjxDhBUAmMi8O/_buildManifest.js +1 -0
  108. package/.next/static/F0L2CqpDxjxDhBUAmMi8O/_ssgManifest.js +1 -0
  109. package/.next/static/chunks/15-fed70feebb38d5ae.js +4 -0
  110. package/.next/static/chunks/227-eb562f29334fcb34.js +1 -0
  111. package/.next/static/chunks/252-a9d7774c3009dcda.js +21 -0
  112. package/.next/static/chunks/257-c71f52e4adae1e38.js +1 -0
  113. package/.next/static/chunks/260-03f19eaee776f7fa.js +28 -0
  114. package/.next/static/chunks/425-feceb6e39a2b417d.js +25 -0
  115. package/.next/static/chunks/455-d2aca155a3032ee0.js +6 -0
  116. package/.next/static/chunks/492-5245cad2f8d60d8d.js +1 -0
  117. package/.next/static/chunks/517-c6a8c0e680dafa46.js +1 -0
  118. package/.next/static/chunks/544-fba84f8cd64c79ed.js +1 -0
  119. package/.next/static/chunks/576-642eb5cede35ba19.js +4 -0
  120. package/.next/static/chunks/584-3a8c7b39c2a3037a.js +90 -0
  121. package/.next/static/chunks/740-450a37b8ca6fe1c6.js +16 -0
  122. package/.next/static/chunks/840-717f0706d50fcb82.js +16 -0
  123. package/.next/static/chunks/891-fde3ad128ccf30dc.js +1 -0
  124. package/.next/static/chunks/958-0f3a960f8ebe421b.js +1 -0
  125. package/.next/static/chunks/992-6e67409e97fe9b6b.js +1 -0
  126. package/.next/static/chunks/framework-b5223c1542334872.js +1 -0
  127. package/.next/static/chunks/main-1a03005b3754c708.js +1 -0
  128. package/.next/static/chunks/pages/_app-52fa1fa291b60bee.js +140 -0
  129. package/.next/static/chunks/pages/_error-18decb9cd478883d.js +1 -0
  130. package/.next/static/chunks/pages/context/long-term-8c5fe7c5cb8f3d6d.js +1 -0
  131. package/.next/static/chunks/pages/context/short-term-4b1ba522c259bc7b.js +1 -0
  132. package/.next/static/chunks/pages/index-505bd438c95ec0e8.js +1 -0
  133. package/.next/static/chunks/pages/knowledge/file-detail-37573640ecdd5c11.js +1 -0
  134. package/.next/static/chunks/pages/knowledge/files-a3104d6d309aefdd.js +1 -0
  135. package/.next/static/chunks/pages/knowledge/manage-36d4824b96f8150f.js +1 -0
  136. package/.next/static/chunks/pages/knowledge/search-33f4f2a3dc318802.js +1 -0
  137. package/.next/static/chunks/pages/knowledge-b3ef77e79801287c.js +1 -0
  138. package/.next/static/chunks/pages/models-4fbcb0182c8a9476.js +1 -0
  139. package/.next/static/chunks/pages/overview-d588ba8cc32f615c.js +1 -0
  140. package/.next/static/chunks/pages/prompt-490524ba05078205.js +1 -0
  141. package/.next/static/chunks/pages/settings-e6a894618727eec3.js +1 -0
  142. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  143. package/.next/static/chunks/webpack-77d10b4726f13aa5.js +1 -0
  144. package/.next/static/css/031cf1db0e9affb3.css +1 -0
  145. package/.next/static/css/5237c5e3358f3282.css +1 -0
  146. package/.next/static/css/82b6ddff0ef364fe.css +1 -0
  147. package/.next/static/css/9d4b5a2db56e7aa7.css +1 -0
  148. package/next.config.ts +54 -0
  149. package/package.json +62 -0
package/.next/BUILD_ID ADDED
@@ -0,0 +1 @@
1
+ F0L2CqpDxjxDhBUAmMi8O
@@ -0,0 +1,58 @@
1
+ {
2
+ "version": 1,
3
+ "images": {
4
+ "deviceSizes": [
5
+ 640,
6
+ 750,
7
+ 828,
8
+ 1080,
9
+ 1200,
10
+ 1920,
11
+ 2048,
12
+ 3840
13
+ ],
14
+ "imageSizes": [
15
+ 16,
16
+ 32,
17
+ 48,
18
+ 64,
19
+ 96,
20
+ 128,
21
+ 256,
22
+ 384
23
+ ],
24
+ "path": "/_next/image",
25
+ "loader": "default",
26
+ "loaderFile": "",
27
+ "domains": [],
28
+ "disableStaticImages": false,
29
+ "minimumCacheTTL": 60,
30
+ "formats": [
31
+ "image/webp"
32
+ ],
33
+ "maximumResponseBody": 50000000,
34
+ "dangerouslyAllowSVG": false,
35
+ "contentSecurityPolicy": "script-src 'none'; frame-src 'none'; sandbox;",
36
+ "contentDispositionType": "attachment",
37
+ "remotePatterns": [],
38
+ "unoptimized": false,
39
+ "sizes": [
40
+ 640,
41
+ 750,
42
+ 828,
43
+ 1080,
44
+ 1200,
45
+ 1920,
46
+ 2048,
47
+ 3840,
48
+ 16,
49
+ 32,
50
+ 48,
51
+ 64,
52
+ 96,
53
+ 128,
54
+ 256,
55
+ 384
56
+ ]
57
+ }
58
+ }
@@ -0,0 +1 @@
1
+ {"type": "commonjs"}
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": 4,
3
+ "routes": {},
4
+ "dynamicRoutes": {},
5
+ "preview": {
6
+ "previewModeId": "d6d614d1b742721b8e3eb44b60d0f4a7",
7
+ "previewModeSigningKey": "11111db0beaa20f3961ab2c1bddcdc2adb041b54ba6590b29149cd29c71de770",
8
+ "previewModeEncryptionKey": "075f0ced1f99092f3183e13750dcc7826fe74e3305076eba80f406fce2f1d92f"
9
+ },
10
+ "notFoundRoutes": []
11
+ }
@@ -0,0 +1 @@
1
+ {}
@@ -0,0 +1,352 @@
1
+ {
2
+ "version": 1,
3
+ "config": {
4
+ "env": {},
5
+ "eslint": {
6
+ "ignoreDuringBuilds": true
7
+ },
8
+ "typescript": {
9
+ "ignoreBuildErrors": false,
10
+ "tsconfigPath": "tsconfig.json"
11
+ },
12
+ "typedRoutes": false,
13
+ "distDir": ".next",
14
+ "cleanDistDir": true,
15
+ "assetPrefix": "",
16
+ "cacheMaxMemorySize": 52428800,
17
+ "configOrigin": "next.config.ts",
18
+ "useFileSystemPublicRoutes": true,
19
+ "generateEtags": true,
20
+ "pageExtensions": [
21
+ "tsx",
22
+ "ts",
23
+ "jsx",
24
+ "js"
25
+ ],
26
+ "poweredByHeader": true,
27
+ "compress": true,
28
+ "images": {
29
+ "deviceSizes": [
30
+ 640,
31
+ 750,
32
+ 828,
33
+ 1080,
34
+ 1200,
35
+ 1920,
36
+ 2048,
37
+ 3840
38
+ ],
39
+ "imageSizes": [
40
+ 16,
41
+ 32,
42
+ 48,
43
+ 64,
44
+ 96,
45
+ 128,
46
+ 256,
47
+ 384
48
+ ],
49
+ "path": "/_next/image",
50
+ "loader": "default",
51
+ "loaderFile": "",
52
+ "domains": [],
53
+ "disableStaticImages": false,
54
+ "minimumCacheTTL": 60,
55
+ "formats": [
56
+ "image/webp"
57
+ ],
58
+ "maximumResponseBody": 50000000,
59
+ "dangerouslyAllowSVG": false,
60
+ "contentSecurityPolicy": "script-src 'none'; frame-src 'none'; sandbox;",
61
+ "contentDispositionType": "attachment",
62
+ "remotePatterns": [],
63
+ "unoptimized": false
64
+ },
65
+ "devIndicators": {
66
+ "position": "bottom-left"
67
+ },
68
+ "onDemandEntries": {
69
+ "maxInactiveAge": 60000,
70
+ "pagesBufferLength": 5
71
+ },
72
+ "amp": {
73
+ "canonicalBase": ""
74
+ },
75
+ "basePath": "",
76
+ "sassOptions": {},
77
+ "trailingSlash": false,
78
+ "i18n": null,
79
+ "productionBrowserSourceMaps": false,
80
+ "excludeDefaultMomentLocales": true,
81
+ "serverRuntimeConfig": {},
82
+ "publicRuntimeConfig": {},
83
+ "reactProductionProfiling": false,
84
+ "reactStrictMode": null,
85
+ "reactMaxHeadersLength": 6000,
86
+ "httpAgentOptions": {
87
+ "keepAlive": true
88
+ },
89
+ "logging": {},
90
+ "compiler": {},
91
+ "expireTime": 31536000,
92
+ "staticPageGenerationTimeout": 60,
93
+ "modularizeImports": {
94
+ "@mui/icons-material": {
95
+ "transform": "@mui/icons-material/{{member}}"
96
+ },
97
+ "lodash": {
98
+ "transform": "lodash/{{member}}"
99
+ }
100
+ },
101
+ "outputFileTracingRoot": "/Users/pan/Desktop/codeing/customize-agent",
102
+ "experimental": {
103
+ "useSkewCookie": false,
104
+ "cacheLife": {
105
+ "default": {
106
+ "stale": 300,
107
+ "revalidate": 900,
108
+ "expire": 4294967294
109
+ },
110
+ "seconds": {
111
+ "stale": 30,
112
+ "revalidate": 1,
113
+ "expire": 60
114
+ },
115
+ "minutes": {
116
+ "stale": 300,
117
+ "revalidate": 60,
118
+ "expire": 3600
119
+ },
120
+ "hours": {
121
+ "stale": 300,
122
+ "revalidate": 3600,
123
+ "expire": 86400
124
+ },
125
+ "days": {
126
+ "stale": 300,
127
+ "revalidate": 86400,
128
+ "expire": 604800
129
+ },
130
+ "weeks": {
131
+ "stale": 300,
132
+ "revalidate": 604800,
133
+ "expire": 2592000
134
+ },
135
+ "max": {
136
+ "stale": 300,
137
+ "revalidate": 2592000,
138
+ "expire": 4294967294
139
+ }
140
+ },
141
+ "cacheHandlers": {},
142
+ "cssChunking": true,
143
+ "multiZoneDraftMode": false,
144
+ "appNavFailHandling": false,
145
+ "prerenderEarlyExit": true,
146
+ "serverMinification": true,
147
+ "serverSourceMaps": false,
148
+ "linkNoTouchStart": false,
149
+ "caseSensitiveRoutes": false,
150
+ "clientSegmentCache": false,
151
+ "clientParamParsing": false,
152
+ "dynamicOnHover": false,
153
+ "preloadEntriesOnStart": true,
154
+ "clientRouterFilter": true,
155
+ "clientRouterFilterRedirects": false,
156
+ "fetchCacheKeyPrefix": "",
157
+ "middlewarePrefetch": "flexible",
158
+ "optimisticClientCache": true,
159
+ "manualClientBasePath": false,
160
+ "cpus": 9,
161
+ "memoryBasedWorkersCount": false,
162
+ "imgOptConcurrency": null,
163
+ "imgOptTimeoutInSeconds": 7,
164
+ "imgOptMaxInputPixels": 268402689,
165
+ "imgOptSequentialRead": null,
166
+ "imgOptSkipMetadata": null,
167
+ "isrFlushToDisk": true,
168
+ "workerThreads": false,
169
+ "optimizeCss": false,
170
+ "nextScriptWorkers": false,
171
+ "scrollRestoration": false,
172
+ "externalDir": false,
173
+ "disableOptimizedLoading": false,
174
+ "gzipSize": true,
175
+ "craCompat": false,
176
+ "esmExternals": true,
177
+ "fullySpecified": false,
178
+ "swcTraceProfiling": false,
179
+ "forceSwcTransforms": false,
180
+ "largePageDataBytes": 128000,
181
+ "typedEnv": false,
182
+ "parallelServerCompiles": false,
183
+ "parallelServerBuildTraces": false,
184
+ "ppr": false,
185
+ "authInterrupts": false,
186
+ "webpackMemoryOptimizations": false,
187
+ "optimizeServerReact": true,
188
+ "viewTransition": false,
189
+ "routerBFCache": false,
190
+ "removeUncaughtErrorAndRejectionListeners": false,
191
+ "validateRSCRequestHeaders": false,
192
+ "staleTimes": {
193
+ "dynamic": 0,
194
+ "static": 300
195
+ },
196
+ "serverComponentsHmrCache": true,
197
+ "staticGenerationMaxConcurrency": 8,
198
+ "staticGenerationMinPagesPerWorker": 25,
199
+ "cacheComponents": false,
200
+ "inlineCss": false,
201
+ "useCache": false,
202
+ "globalNotFound": false,
203
+ "devtoolSegmentExplorer": true,
204
+ "browserDebugInfoInTerminal": false,
205
+ "optimizeRouterScrolling": false,
206
+ "middlewareClientMaxBodySize": 10485760,
207
+ "optimizePackageImports": [
208
+ "lucide-react",
209
+ "date-fns",
210
+ "lodash-es",
211
+ "ramda",
212
+ "antd",
213
+ "react-bootstrap",
214
+ "ahooks",
215
+ "@ant-design/icons",
216
+ "@headlessui/react",
217
+ "@headlessui-float/react",
218
+ "@heroicons/react/20/solid",
219
+ "@heroicons/react/24/solid",
220
+ "@heroicons/react/24/outline",
221
+ "@visx/visx",
222
+ "@tremor/react",
223
+ "rxjs",
224
+ "@mui/material",
225
+ "@mui/icons-material",
226
+ "recharts",
227
+ "react-use",
228
+ "effect",
229
+ "@effect/schema",
230
+ "@effect/platform",
231
+ "@effect/platform-node",
232
+ "@effect/platform-browser",
233
+ "@effect/platform-bun",
234
+ "@effect/sql",
235
+ "@effect/sql-mssql",
236
+ "@effect/sql-mysql2",
237
+ "@effect/sql-pg",
238
+ "@effect/sql-sqlite-node",
239
+ "@effect/sql-sqlite-bun",
240
+ "@effect/sql-sqlite-wasm",
241
+ "@effect/sql-sqlite-react-native",
242
+ "@effect/rpc",
243
+ "@effect/rpc-http",
244
+ "@effect/typeclass",
245
+ "@effect/experimental",
246
+ "@effect/opentelemetry",
247
+ "@material-ui/core",
248
+ "@material-ui/icons",
249
+ "@tabler/icons-react",
250
+ "mui-core",
251
+ "react-icons/ai",
252
+ "react-icons/bi",
253
+ "react-icons/bs",
254
+ "react-icons/cg",
255
+ "react-icons/ci",
256
+ "react-icons/di",
257
+ "react-icons/fa",
258
+ "react-icons/fa6",
259
+ "react-icons/fc",
260
+ "react-icons/fi",
261
+ "react-icons/gi",
262
+ "react-icons/go",
263
+ "react-icons/gr",
264
+ "react-icons/hi",
265
+ "react-icons/hi2",
266
+ "react-icons/im",
267
+ "react-icons/io",
268
+ "react-icons/io5",
269
+ "react-icons/lia",
270
+ "react-icons/lib",
271
+ "react-icons/lu",
272
+ "react-icons/md",
273
+ "react-icons/pi",
274
+ "react-icons/ri",
275
+ "react-icons/rx",
276
+ "react-icons/si",
277
+ "react-icons/sl",
278
+ "react-icons/tb",
279
+ "react-icons/tfi",
280
+ "react-icons/ti",
281
+ "react-icons/vsc",
282
+ "react-icons/wi"
283
+ ],
284
+ "trustHostHeader": false,
285
+ "isExperimentalCompile": false
286
+ },
287
+ "htmlLimitedBots": "[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight",
288
+ "bundlePagesRouterDependencies": false,
289
+ "configFileName": "next.config.ts",
290
+ "serverExternalPackages": [
291
+ "@customize-agent/knowledge",
292
+ "@customize-agent/llm",
293
+ "@customize-agent/runtime",
294
+ "@customize-agent/types",
295
+ "@napi-rs/canvas",
296
+ "better-sqlite3",
297
+ "jszip",
298
+ "mammoth",
299
+ "pdf-parse",
300
+ "pdfjs-dist",
301
+ "tesseract.js",
302
+ "xlsx"
303
+ ],
304
+ "turbopack": {
305
+ "root": "/Users/pan/Desktop/codeing/customize-agent"
306
+ },
307
+ "_originalRedirects": [
308
+ {
309
+ "source": "/",
310
+ "destination": "/overview",
311
+ "permanent": false
312
+ },
313
+ {
314
+ "source": "/dashboard",
315
+ "destination": "/overview",
316
+ "permanent": false
317
+ },
318
+ {
319
+ "source": "/console",
320
+ "destination": "/overview",
321
+ "permanent": false
322
+ },
323
+ {
324
+ "source": "/admin",
325
+ "destination": "/overview",
326
+ "permanent": false
327
+ }
328
+ ]
329
+ },
330
+ "appDir": "/Users/pan/Desktop/codeing/customize-agent/apps/server",
331
+ "relativeAppDir": "apps/server",
332
+ "files": [
333
+ ".next/routes-manifest.json",
334
+ ".next/server/pages-manifest.json",
335
+ ".next/build-manifest.json",
336
+ ".next/prerender-manifest.json",
337
+ ".next/server/functions-config-manifest.json",
338
+ ".next/server/middleware-manifest.json",
339
+ ".next/server/middleware-build-manifest.js",
340
+ ".next/server/middleware-react-loadable-manifest.js",
341
+ ".next/react-loadable-manifest.json",
342
+ ".next/dynamic-css-manifest.json",
343
+ ".next/server/dynamic-css-manifest.js",
344
+ ".next/BUILD_ID",
345
+ ".next/server/next-font-manifest.js",
346
+ ".next/server/next-font-manifest.json",
347
+ ".next/required-server-files.json"
348
+ ],
349
+ "ignore": [
350
+ "../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/@ampproject/toolbox-optimizer/**/*"
351
+ ]
352
+ }
@@ -0,0 +1,167 @@
1
+ {
2
+ "version": 3,
3
+ "pages404": true,
4
+ "caseSensitive": false,
5
+ "basePath": "",
6
+ "redirects": [
7
+ {
8
+ "source": "/:path+/",
9
+ "destination": "/:path+",
10
+ "internal": true,
11
+ "statusCode": 308,
12
+ "regex": "^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))/$"
13
+ },
14
+ {
15
+ "source": "/",
16
+ "destination": "/overview",
17
+ "statusCode": 307,
18
+ "regex": "^(?!/_next)/(?:/)?$"
19
+ },
20
+ {
21
+ "source": "/dashboard",
22
+ "destination": "/overview",
23
+ "statusCode": 307,
24
+ "regex": "^(?!/_next)/dashboard(?:/)?$"
25
+ },
26
+ {
27
+ "source": "/console",
28
+ "destination": "/overview",
29
+ "statusCode": 307,
30
+ "regex": "^(?!/_next)/console(?:/)?$"
31
+ },
32
+ {
33
+ "source": "/admin",
34
+ "destination": "/overview",
35
+ "statusCode": 307,
36
+ "regex": "^(?!/_next)/admin(?:/)?$"
37
+ }
38
+ ],
39
+ "headers": [
40
+ {
41
+ "source": "/:path((?!_next/static).*)",
42
+ "headers": [
43
+ {
44
+ "key": "Cache-Control",
45
+ "value": "no-store, max-age=0"
46
+ }
47
+ ],
48
+ "regex": "^(?:/((?!_next/static).*))(?:/)?$"
49
+ },
50
+ {
51
+ "source": "/_next/static/:buildId(_[^/]+)/(.*Manifest.js)",
52
+ "headers": [
53
+ {
54
+ "key": "Cache-Control",
55
+ "value": "no-store, max-age=0"
56
+ }
57
+ ],
58
+ "regex": "^/_next/static(?:/(_[^/]+))(?:/(.*Manifest.js))(?:/)?$"
59
+ }
60
+ ],
61
+ "rewrites": {
62
+ "beforeFiles": [],
63
+ "afterFiles": [],
64
+ "fallback": []
65
+ },
66
+ "dynamicRoutes": [
67
+ {
68
+ "page": "/api/config/providers/[provider]",
69
+ "regex": "^/api/config/providers/([^/]+?)(?:/)?$",
70
+ "routeKeys": {
71
+ "nxtPprovider": "nxtPprovider"
72
+ },
73
+ "namedRegex": "^/api/config/providers/(?<nxtPprovider>[^/]+?)(?:/)?$"
74
+ }
75
+ ],
76
+ "staticRoutes": [
77
+ {
78
+ "page": "/",
79
+ "regex": "^/(?:/)?$",
80
+ "routeKeys": {},
81
+ "namedRegex": "^/(?:/)?$"
82
+ },
83
+ {
84
+ "page": "/context/long-term",
85
+ "regex": "^/context/long\\-term(?:/)?$",
86
+ "routeKeys": {},
87
+ "namedRegex": "^/context/long\\-term(?:/)?$"
88
+ },
89
+ {
90
+ "page": "/context/short-term",
91
+ "regex": "^/context/short\\-term(?:/)?$",
92
+ "routeKeys": {},
93
+ "namedRegex": "^/context/short\\-term(?:/)?$"
94
+ },
95
+ {
96
+ "page": "/knowledge",
97
+ "regex": "^/knowledge(?:/)?$",
98
+ "routeKeys": {},
99
+ "namedRegex": "^/knowledge(?:/)?$"
100
+ },
101
+ {
102
+ "page": "/knowledge/file-detail",
103
+ "regex": "^/knowledge/file\\-detail(?:/)?$",
104
+ "routeKeys": {},
105
+ "namedRegex": "^/knowledge/file\\-detail(?:/)?$"
106
+ },
107
+ {
108
+ "page": "/knowledge/files",
109
+ "regex": "^/knowledge/files(?:/)?$",
110
+ "routeKeys": {},
111
+ "namedRegex": "^/knowledge/files(?:/)?$"
112
+ },
113
+ {
114
+ "page": "/knowledge/manage",
115
+ "regex": "^/knowledge/manage(?:/)?$",
116
+ "routeKeys": {},
117
+ "namedRegex": "^/knowledge/manage(?:/)?$"
118
+ },
119
+ {
120
+ "page": "/knowledge/search",
121
+ "regex": "^/knowledge/search(?:/)?$",
122
+ "routeKeys": {},
123
+ "namedRegex": "^/knowledge/search(?:/)?$"
124
+ },
125
+ {
126
+ "page": "/models",
127
+ "regex": "^/models(?:/)?$",
128
+ "routeKeys": {},
129
+ "namedRegex": "^/models(?:/)?$"
130
+ },
131
+ {
132
+ "page": "/overview",
133
+ "regex": "^/overview(?:/)?$",
134
+ "routeKeys": {},
135
+ "namedRegex": "^/overview(?:/)?$"
136
+ },
137
+ {
138
+ "page": "/prompt",
139
+ "regex": "^/prompt(?:/)?$",
140
+ "routeKeys": {},
141
+ "namedRegex": "^/prompt(?:/)?$"
142
+ },
143
+ {
144
+ "page": "/settings",
145
+ "regex": "^/settings(?:/)?$",
146
+ "routeKeys": {},
147
+ "namedRegex": "^/settings(?:/)?$"
148
+ }
149
+ ],
150
+ "dataRoutes": [],
151
+ "rsc": {
152
+ "header": "rsc",
153
+ "varyHeader": "rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch",
154
+ "prefetchHeader": "next-router-prefetch",
155
+ "didPostponeHeader": "x-nextjs-postponed",
156
+ "contentTypeHeader": "text/x-component",
157
+ "suffix": ".rsc",
158
+ "prefetchSuffix": ".prefetch.rsc",
159
+ "prefetchSegmentHeader": "next-router-segment-prefetch",
160
+ "prefetchSegmentSuffix": ".segment.rsc",
161
+ "prefetchSegmentDirSuffix": ".segments"
162
+ },
163
+ "rewriteHeaders": {
164
+ "pathHeader": "x-nextjs-rewritten-path",
165
+ "queryHeader": "x-nextjs-rewritten-query"
166
+ }
167
+ }
@@ -0,0 +1 @@
1
+ exports.id=204,exports.ids=[204],exports.modules={4823:(a,b,c)=>{"use strict";c.d(b,{D:()=>e});var d=c(60056);function e(a){return{algorithm:a?d.w4.darkAlgorithm:d.w4.defaultAlgorithm,token:{colorPrimary:a?"#0a84ff":"#007aff",colorInfo:a?"#0a84ff":"#007aff",colorSuccess:a?"#30d158":"#34c759",colorWarning:a?"#ff9f0a":"#ff9500",colorError:a?"#ff453a":"#ff3b30",colorBgBase:a?"#1c1c1e":"#f5f5f7",colorBgContainer:a?"rgba(44,44,46,0.78)":"rgba(255,255,255,0.78)",colorBgElevated:a?"rgba(44,44,46,0.92)":"rgba(255,255,255,0.94)",colorBorder:a?"rgba(255,255,255,0.12)":"rgba(60,60,67,0.16)",colorText:a?"#f5f5f7":"#1d1d1f",colorTextSecondary:a?"#98989d":"#6e6e73",fontFamily:"var(--fontSans)",fontSize:14,borderRadius:14,borderRadiusLG:20,borderRadiusSM:10,controlHeight:36,lineWidth:1,boxShadow:a?"0 8px 24px rgba(0,0,0,0.24)":"0 8px 24px rgba(0,0,0,0.06)",boxShadowSecondary:a?"0 4px 12px rgba(0,0,0,0.2)":"0 4px 12px rgba(0,0,0,0.04)",motionDurationMid:"0.2s",motionEaseInOut:"cubic-bezier(0.25, 0.1, 0.25, 1)"},components:{Card:{borderRadiusLG:20,paddingLG:24,headerFontSize:13,headerFontSizeSM:12},Button:{borderRadius:14,borderRadiusLG:18,borderRadiusSM:10,fontWeight:600,primaryShadow:"var(--shadowButton)"},Input:{borderRadius:14,controlHeight:36,activeShadow:"0 0 0 3px rgba(0,122,255,0.12)"},Select:{borderRadius:14},Modal:{borderRadiusLG:20,titleFontSize:17,fontWeightStrong:700},Tag:{borderRadiusSM:100,defaultBg:a?"rgba(255,255,255,0.08)":"rgba(0,0,0,0.04)"},Table:{borderRadiusLG:20,headerBg:a?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.02)",headerColor:"var(--colorTextSecondary)",headerSplitColor:"transparent",headerBorderRadius:12},Spin:{dotSize:28,dotSizeLG:40},Upload:{borderRadiusLG:20}}}}},8204:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{default:()=>h});var e=c(8732),f=c(94487);c(66285),c(97237);var g=a([f]);function h({Component:a,pageProps:b}){return(0,e.jsx)(f.PE,{children:(0,e.jsx)(a,{...b})})}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},13484:a=>{"use strict";a.exports=JSON.parse('{"app":{"title":"Customize Agent","subtitle":"管理控制台"},"nav":{"overview":"总览","knowledge":"知识库","knowledgeManage":"知识库管理","fileManagement":"文件管理","knowledgeSearch":"知识库搜索","models":"模型配置","settings":"设置","contextEngineering":"上下文工程","longTermContext":"长期上下文","shortTermContext":"短期上下文","promptManagement":"提示词管理"},"overview":{"title":"系统总览","description":"查看 Customize Agent 运行状态与关键指标","status":"服务状态","statusRunning":"运行中","statusError":"异常","knowledgeBase":"知识库","modelConfig":"模型配置","filesCount":"文件总数","chunksCount":"分块总数","storageSize":"存储空间","providersCount":"已配置模型","quickActions":"快捷操作","goToKnowledge":"管理知识库","goToModels":"配置模型","goToSettings":"系统设置","cores":"核","memory":"内存","tokensUsed":"累计 Tokens","tasksTotal":"总任务数","successRate":"成功率","topModel":"调用最多模型","taskTypes":"任务类型","calls":"次调用"},"knowledge":{"title":"知识库管理","description":"管理本地文件和知识库索引","manageTitle":"知识库管理","manageDesc":"查看知识库统计、分类和功能状态","stats":"统计概览","files":"文件管理","settings":"知识库设置","totalFiles":"文件总数","totalChunks":"分块总数","totalSize":"存储大小","lastIndexed":"上次索引","categories":"文件分类","fileCount":"文件数量","search":"搜索文件","searchPlaceholder":"输入文件名或内容关键词...","filterCategory":"筛选分类","allCategories":"全部类型","upload":"上传文件","uploadHint":"点击或拖拽上传 (PDF, Word, Excel, 图片, 代码等)","uploading":"上传中...","reindex":"重新索引","reindexing":"正在重新索引...","delete":"删除","deleteConfirm":"确定要删除该文件吗?此操作不可恢复。","fileList":"文件列表","fileName":"文件名","fileSize":"大小","fileCategory":"分类","fileDate":"修改日期","noFiles":"暂无文件,请上传文件开始使用","loadError":"加载文件列表失败","emptySearch":"未找到匹配的文件","ignoreRules":"忽略规则","ignoreHint":"每行一个 glob 模式,匹配的文件将被跳过","saveIgnore":"保存规则","duplicates":"重复文件","noDuplicates":"未发现重复文件","duplicatesFound":"发现 {count} 组重复文件","features":"功能状态","featureName":"功能","featureDesc":"说明","featureValue":"实现","featureVectorStoreDesc":"向量数据库,存储文档向量索引","featureEmbeddingDesc":"文本嵌入模型,将文本转换为向量","featureDedup":"去重引擎","featureDedupDesc":"检测并移除重复/相似文档","featureChunker":"分块器","featureChunkerDesc":"将文档拆分为可检索的语义块","globalSearch":"全局搜索","projectSearch":"项目搜索","autoIndex":"自动索引","enabled":"已启用","disabled":"已禁用"},"models":{"title":"模型配置","description":"管理 LLM 模型与层级分配","modelList":"Model 列表","addModel":"添加模型","editModel":"编辑模型","providerName":"Provider 名称","modelName":"模型名称","apiKey":"API Key","baseUrl":"Base URL","protocol":"请求协议","testConnection":"测试连接","testing":"测试中...","connected":"已连接","connectionFailed":"连接失败","noProviders":"暂无模型,请添加一个","modelTiers":"模型层级分配","tierReader":"Reader(只读)","tierReaderDesc":"处理低风险、只读和成本敏感任务,例如读取文件、检索知识库、搜索文本、整理上下文。建议选择速度快、价格低、长上下文能力稳定的模型。","tierReasoning":"Reasoning(推理)","tierReasoningDesc":"处理需要深入分析、规划、代码理解和多步骤推理的任务。建议选择推理能力强、稳定性高的模型,必要时可使用更高阶模型。","tierAction":"Action(操作)","tierActionDesc":"处理会产生副作用的任务,例如写文件、修改代码、执行命令、调用外部工具。建议选择可靠、遵循指令能力强且经过验证的模型。","activeModel":"当前模型","deleteProvider":"删除","deleteProviderConfirm":"确定要删除此模型及其所有配置吗?","modelNamePlaceholder":"例如: gpt-4o / deepseek-chat","selectModelPlaceholder":"暂不配置","apiKeyEditHint":"已配置的 Key 会以掩码回显,聚焦后可输入新 Key;掩码不可复制,留空或保持掩码则不修改。","apiKeyEditPlaceholder":"输入新的 API Key,留空保持不变","save":"保存","cancel":"取消"},"context":{"title":"上下文工程管理","longTermDesc":"来自记忆库的持久化上下文(跨会话保留)","shortTermDesc":"来自最近会话日志的短期上下文","longTermSource":"数据来源: ~/.customize-agent/memory.db(记忆库)","shortTermSource":"数据来源: ~/.customize-agent/logs/(会话日志)","importance":"重要性","content":"内容","tags":"标签","source":"来源","sourceHint":"可选,额外的来源/上下文说明","updatedAt":"更新时间"},"prompt":{"title":"提示词管理","description":"管理各项目的 CUSTOMIZE.md 系统提示词文件","filePath":"文件路径","lastModified":"最后修改","hasFile":"已配置","noFile":"未配置","noProjects":"暂无项目,请先初始化 Customize Agent 项目"},"settings":{"title":"系统设置","description":"管理语言、主题等偏好","language":"语言","languageDesc":"界面显示语言","theme":"主题","themeDesc":"浅色 / 深色模式","light":"浅色","dark":"深色","system":"跟随系统","about":"关于","version":"版本","port":"服务端口"},"common":{"save":"保存","cancel":"取消","confirm":"确认","delete":"删除","edit":"编辑","add":"添加","search":"搜索","loading":"加载中...","error":"出错了","success":"操作成功","retry":"重试","close":"关闭","back":"返回","more":"更多","noData":"暂无数据","bytes":"字节","kb":"KB","mb":"MB","gb":"GB","unknown":"未知","never":"从未"}}')},34924:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Y:()=>j});var e=c(8732),f=c(57312),g=c(94487),h=c(68329),i=a([f,g]);function j(){let{resolvedTheme:a,setTheme:b}=(0,f.useTheme)(),{locale:c,setLocale:d}=(0,g.x_)(),i=(0,g.Vr)("settings"),j="dark"===a;return(0,e.jsxs)("header",{className:"topbar",children:[(0,e.jsx)("div",{className:"flex-1"}),(0,e.jsxs)("button",{onClick:()=>b(j?"light":"dark"),className:"topbarBtn",children:[j?(0,e.jsx)(h.bd5,{size:14}):(0,e.jsx)(h.AX$,{size:14}),(0,e.jsx)("span",{children:i(j?"light":"dark")})]}),(0,e.jsxs)("button",{onClick:()=>{d("zh-CN"===c?"en-US":"zh-CN")},className:"topbarBtn",children:[(0,e.jsx)(h.ATU,{size:14}),(0,e.jsx)("span",{children:"zh-CN"===c?"English":"中文"})]})]})}[f,g]=i.then?(await i)():i,d()}catch(a){d(a)}})},54506:a=>{"use strict";a.exports=JSON.parse('{"app":{"title":"Customize Agent","subtitle":"Admin Console"},"nav":{"overview":"Overview","knowledge":"Knowledge Base","knowledgeManage":"KB Management","fileManagement":"File Management","knowledgeSearch":"KB Search","models":"Model Config","settings":"Settings","contextEngineering":"Context Engineering","longTermContext":"Long-term Context","shortTermContext":"Short-term Context","promptManagement":"Prompt Management"},"overview":{"title":"System Overview","description":"Monitor Customize Agent status and key metrics","status":"Service Status","statusRunning":"Running","statusError":"Error","knowledgeBase":"Knowledge Base","modelConfig":"Model Config","filesCount":"Total Files","chunksCount":"Total Chunks","storageSize":"Storage Size","providersCount":"Models","quickActions":"Quick Actions","goToKnowledge":"Manage Knowledge Base","goToModels":"Configure Models","goToSettings":"System Settings","cores":"cores","memory":"Memory","tokensUsed":"Total Tokens","tasksTotal":"Total Tasks","successRate":"Success Rate","topModel":"Most Used Model","taskTypes":"Task Types","calls":"calls"},"knowledge":{"title":"Knowledge Base","description":"Manage local files and knowledge base index","manageTitle":"KB Management","manageDesc":"View knowledge base statistics, categories, and features","stats":"Statistics","files":"File Management","settings":"KB Settings","totalFiles":"Total Files","totalChunks":"Total Chunks","totalSize":"Total Size","lastIndexed":"Last Indexed","categories":"File Categories","fileCount":"File Count","search":"Search Files","searchPlaceholder":"Search by filename or content...","filterCategory":"Filter Category","allCategories":"All Types","upload":"Upload File","uploadHint":"Click or drag to upload (PDF, Word, Excel, images, code, etc.)","uploading":"Uploading...","reindex":"Reindex","reindexing":"Reindexing...","delete":"Delete","deleteConfirm":"Are you sure you want to delete this file? This action cannot be undone.","fileList":"File List","fileName":"File Name","fileSize":"Size","fileCategory":"Category","fileDate":"Modified","noFiles":"No files yet. Upload files to get started.","loadError":"Failed to load file list","emptySearch":"No matching files found","ignoreRules":"Ignore Rules","ignoreHint":"One glob pattern per line. Matching files will be skipped.","saveIgnore":"Save Rules","duplicates":"Duplicate Files","noDuplicates":"No duplicate files found","duplicatesFound":"Found {count} duplicate groups","features":"Feature Status","featureName":"Feature","featureDesc":"Description","featureValue":"Implementation","featureVectorStoreDesc":"Vector database for storing document embeddings","featureEmbeddingDesc":"Text embedding model for converting text to vectors","featureDedup":"Dedup Engine","featureDedupDesc":"Detects and removes duplicate/similar documents","featureChunker":"Chunker","featureChunkerDesc":"Splits documents into retrievable semantic chunks","globalSearch":"Global Search","projectSearch":"Project Search","autoIndex":"Auto Index","enabled":"Enabled","disabled":"Disabled"},"models":{"title":"Model Configuration","description":"Manage LLM models and tier assignments","modelList":"Model List","addModel":"Add Model","editModel":"Edit Model","providerName":"Provider Name","modelName":"Model Name","apiKey":"API Key","baseUrl":"Base URL","protocol":"Protocol","testConnection":"Test Connection","testing":"Testing...","connected":"Connected","connectionFailed":"Connection Failed","noProviders":"No models yet. Add one to get started.","modelTiers":"Model Tier Assignment","tierReader":"Reader (Read-only)","tierReaderDesc":"Handles low-risk, read-only, and cost-sensitive work such as reading files, searching the knowledge base, text search, and context organization. Prefer fast, inexpensive models with stable long-context support.","tierReasoning":"Reasoning (Analysis)","tierReasoningDesc":"Handles deeper analysis, planning, code understanding, and multi-step reasoning. Prefer models with stronger reasoning quality and reliability.","tierAction":"Action (Write/Execute)","tierActionDesc":"Handles side-effect operations such as writing files, changing code, running commands, and calling external tools. Prefer reliable models with strong instruction-following and verified behavior.","activeModel":"Active Model","deleteProvider":"Delete","deleteProviderConfirm":"Are you sure you want to delete this model and all its configs?","modelNamePlaceholder":"e.g. gpt-4o / deepseek-chat","selectModelPlaceholder":"No model selected","apiKeyEditHint":"Configured keys are shown as a masked value. Focus the field to enter a new key; the mask cannot be copied. Leave empty or keep the mask to avoid changes.","apiKeyEditPlaceholder":"Enter a new API key, or leave empty to keep current","save":"Save","cancel":"Cancel"},"context":{"title":"Context Engineering","longTermDesc":"Persistent context from memory store (cross-session)","shortTermDesc":"Short-term context from recent session logs","longTermSource":"Source: ~/.customize-agent/memory.db (Memory Store)","shortTermSource":"Source: ~/.customize-agent/logs/ (Session Logs)","importance":"Importance","content":"Content","tags":"Tags","source":"Source","sourceHint":"Optional additional source/context description","updatedAt":"Updated"},"prompt":{"title":"Prompt Management","description":"Manage CUSTOMIZE.md system prompt files per project","filePath":"File Path","lastModified":"Last Modified","hasFile":"Configured","noFile":"Not Configured","noProjects":"No projects found. Initialize a Customize Agent project first."},"settings":{"title":"System Settings","description":"Manage language, theme, and other preferences","language":"Language","languageDesc":"Interface display language","theme":"Theme","themeDesc":"Light / Dark mode","light":"Light","dark":"Dark","system":"System","about":"About","version":"Version","port":"Service Port"},"common":{"save":"Save","cancel":"Cancel","confirm":"Confirm","delete":"Delete","edit":"Edit","add":"Add","search":"Search","loading":"Loading...","error":"Something went wrong","success":"Success","retry":"Retry","close":"Close","back":"Back","more":"More","noData":"No data","bytes":"bytes","kb":"KB","mb":"MB","gb":"GB","unknown":"Unknown","never":"Never"}}')},66285:()=>{},93065:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{B:()=>m});var e=c(8732),f=c(82015),g=c(21202),h=c(9328),i=c.n(h),j=c(94487),k=c(68329),l=a([j]);j=(l.then?(await l)():l)[0];let n=[{href:"/overview",icon:k.HxJ,labelKey:"nav.overview"},{icon:k.WmV,labelKey:"nav.knowledge",children:[{href:"/knowledge/manage",icon:k.BmN,labelKey:"nav.knowledgeManage"},{href:"/knowledge/files",icon:k.iUU,labelKey:"nav.fileManagement"},{href:"/knowledge/search",icon:k.vji,labelKey:"nav.knowledgeSearch"}]},{icon:k.jy9,labelKey:"nav.contextEngineering",children:[{href:"/context/long-term",icon:k.WmV,labelKey:"nav.longTermContext"},{href:"/context/short-term",icon:k.WmV,labelKey:"nav.shortTermContext"}]},{href:"/models",icon:k.fX,labelKey:"nav.models"},{href:"/prompt",icon:k.vEG,labelKey:"nav.promptManagement"},{href:"/settings",icon:k.wB_,labelKey:"nav.settings"}];function m(){let a=(0,g.usePathname)(),b=(0,j.Vr)(),c=(0,f.useMemo)(()=>{let b={};for(let c of n)c.children?.some(b=>a===b.href||a.startsWith(b.href+"/"))&&(b[c.labelKey]=!0);return b},[a]),[d,h]=(0,f.useState)({}),[l,m]=(0,f.useState)(!1);return(0,e.jsxs)("aside",{className:`sidebar${l?" sidebarCollapsedSelf":""}`,children:[(0,e.jsx)(i(),{href:"/overview",prefetch:!1,children:(0,e.jsx)("div",{className:"sidebarLogo",children:(0,e.jsxs)("div",{children:[(0,e.jsx)("div",{className:"sidebarLogoTitle",children:(0,e.jsx)("span",{className:"logoGradient",children:b("app.title")})}),(0,e.jsx)("div",{className:"sidebarLogoSub",children:b("app.subtitle")})]})})}),(0,e.jsx)("button",{className:"sidebarCollapseBtn",onClick:()=>m(a=>!a),"aria-label":l?"展开侧边栏":"收起侧边栏",children:l?(0,e.jsx)(k.wdi,{size:16}):(0,e.jsx)(k.ues,{size:16})}),(0,e.jsx)("nav",{className:"sidebarNav",children:n.map(f=>{if(f.children){let g=d[f.labelKey]??c[f.labelKey]??!1;return(0,e.jsxs)("div",{children:[(0,e.jsxs)("div",{className:"sidebarItem sidebarParent",onClick:()=>{var a;return a=f.labelKey,void h(b=>({...b,[a]:!b[a]}))},children:[(0,e.jsx)(f.icon,{size:18}),(0,e.jsx)("span",{children:b(f.labelKey)}),(0,e.jsx)("span",{className:"sidebarChevron",children:g?(0,e.jsx)(k.yQN,{size:14}):(0,e.jsx)(k.c_$,{size:14})})]}),g&&!l&&(0,e.jsx)("div",{className:"sidebarSubmenu",children:f.children.map(c=>{let d=a===c.href||a.startsWith(c.href+"/");return(0,e.jsx)(i(),{href:c.href,prefetch:!1,children:(0,e.jsxs)("div",{className:`sidebarItem sidebarSubItem${d?" sidebarItemActive":""}`,children:[(0,e.jsx)(c.icon,{size:16}),(0,e.jsx)("span",{children:b(c.labelKey)})]})},c.href)})})]},f.labelKey)}let g=a===f.href||a.startsWith(f.href+"/");return(0,e.jsx)(i(),{href:f.href,prefetch:!1,children:(0,e.jsxs)("div",{className:`sidebarItem${g?" sidebarItemActive":""}`,children:[(0,e.jsx)(f.icon,{size:18}),(0,e.jsx)("span",{children:b(f.labelKey)})]})},f.href)})})]})}d()}catch(a){d(a)}})},94487:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{PE:()=>r,Vr:()=>p,x_:()=>o});var e=c(8732),f=c(82015),g=c(57312),h=c(60056),i=c(4823),j=c(93065),k=c(34924),l=c(13484),m=c(54506),n=a([g,j,k]);[g,j,k]=n.then?(await n)():n;let s=(0,f.createContext)(null);function o(){let a=(0,f.useContext)(s);if(!a)throw Error("useAppLocale must be used inside Layout");return a}function p(a){let{messages:b}=o();return(0,f.useCallback)(c=>(function(a,b){let c=b.split(".").reduce((a,b)=>{if(a&&"object"==typeof a&&b in a)return a[b]},a);return"string"==typeof c?c:b})(b,a?`${a}.${c}`:c),[b,a])}let t={"zh-CN":l,"en-US":m};function q({children:a}){let{resolvedTheme:b}=(0,g.useTheme)(),[c,d]=(0,f.useState)(!1),[l,m]=(0,f.useState)("zh-CN"),n="dark"===b,o=t[l]??t["zh-CN"],p=(0,f.useCallback)(a=>{document.cookie=`NEXT_LOCALE=${a};path=/;max-age=31536000;samesite=lax`,m(a)},[]),q=(0,f.useMemo)(()=>({locale:l,setLocale:p,messages:o}),[l,p,o]),r=(0,f.useMemo)(()=>(0,i.D)(n),[n]);return c?(0,e.jsx)(s.Provider,{value:q,children:(0,e.jsx)(h.sG,{theme:r,children:(0,e.jsxs)(h.qw,{children:[(0,e.jsx)(j.B,{}),(0,e.jsxs)("div",{className:"mainContent",children:[(0,e.jsx)(k.Y,{}),(0,e.jsx)("main",{className:"mainInner",children:a})]})]})})}):(0,e.jsx)("div",{className:"appShellPlaceholder"})}function r({children:a}){return(0,e.jsx)(g.ThemeProvider,{attribute:"class",defaultTheme:"system",enableSystem:!0,disableTransitionOnChange:!0,children:(0,e.jsx)(q,{children:a})})}d()}catch(a){d(a)}})},97237:()=>{}};