@customize-agent/server 4.60.1 → 4.60.2
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 +126 -81
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +22 -0
- package/.next/server/chunks/1243.js +1 -1
- package/.next/server/chunks/1936.js +2 -2
- package/.next/server/chunks/6321.js +1 -1
- package/.next/server/chunks/6822.js +1 -0
- package/.next/server/chunks/7848.js +60 -60
- package/.next/server/chunks/8204.js +1 -1
- package/.next/server/chunks/9666.js +21 -21
- package/.next/server/instrumentation.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/export.js +1 -1
- package/.next/server/pages/api/documents/generate/preview.js +1 -1
- package/.next/server/pages/api/documents/generate.js +1 -1
- package/.next/server/pages/api/health.js +1 -1
- package/.next/server/pages/api/kb/files/detail.js +1 -1
- package/.next/server/pages/api/kb/files/source-preview.js +1 -1
- package/.next/server/pages/canvas/[id].html +1 -1
- package/.next/server/pages/canvas.html +1 -1
- 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/source-preview.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/skills/[id]/edit.html +1 -0
- package/.next/server/pages/skills/[id]/edit.js.nft.json +1 -0
- package/.next/server/pages/skills/[id].html +1 -0
- package/.next/server/pages/skills/[id].js.nft.json +1 -0
- package/.next/server/pages/skills/new.html +1 -0
- package/.next/server/pages/skills/new.js.nft.json +1 -0
- package/.next/server/pages/skills.html +1 -1
- package/.next/server/pages/system/logs.html +1 -1
- package/.next/server/pages-manifest.json +30 -27
- package/.next/static/cf07df1d78876548cb59ce9935b756d62660ad2a6b02180bef97865f98fcc4c8/_buildManifest.js +1 -0
- package/.next/static/chunks/{511-75b881093a3e908b.js → 127-7d37d37dab02bd10.js} +1 -1
- package/.next/static/chunks/162-a5be07e04aedf98a.js +8 -0
- package/.next/static/chunks/257-9484b4285bd5f43b.js +1 -0
- package/.next/static/chunks/318-ca122b774ea4ee84.js +1 -0
- package/.next/static/chunks/324-650dc02536b071bf.js +4 -0
- package/.next/static/chunks/338-19ccbaec57a7bf9c.js +4 -0
- package/.next/static/chunks/499-2233cadc6d4da647.js +10 -0
- package/.next/static/chunks/530-ccc3837d353bcf74.js +1 -0
- package/.next/static/chunks/573-c52901488f5731dd.js +4 -0
- package/.next/static/chunks/576-052a39d403d5d32e.js +1 -0
- package/.next/static/chunks/{709-a7c652953ccd3b4b.js → 638-29ddb55b708c7969.js} +1 -1
- package/.next/static/chunks/665-0634aa49137defc4.js +1 -0
- package/.next/static/chunks/{426-22c4cedb04b0d45d.js → 711-40c1a2dbd15c2807.js} +6 -6
- package/.next/static/chunks/712-1f2d7c40d613f4d8.js +1 -0
- package/.next/static/chunks/781-a6b83dbcd1a33cab.js +1 -0
- package/.next/static/chunks/{795-48065c56c3b80339.js → 795-1a33b085051ecf2b.js} +1 -1
- package/.next/static/chunks/{665-9607db8f8b43e52e.js → 808-0506edc7454b5c0e.js} +1 -1
- package/.next/static/chunks/815-585fb0b4aa9b369c.js +16 -0
- package/.next/static/chunks/933-e9c4889bb9f825ce.js +1 -0
- package/.next/static/chunks/964-82cc4701f08f7351.js +78 -0
- package/.next/static/chunks/pages/{_app-c11b5e8072f49bcc.js → _app-3df96a32b2c9a6ca.js} +15 -15
- package/.next/static/chunks/pages/canvas/[id]-996d9a43ff45a4b3.js +1 -0
- package/.next/static/chunks/pages/canvas-8372faba7b5bb116.js +1 -0
- package/.next/static/chunks/pages/{guide-a8eecc6c02b5bb9c.js → guide-82ae330966139191.js} +1 -1
- package/.next/static/chunks/pages/knowledge/file-detail-6c8b86752d2ddf88.js +1 -0
- package/.next/static/chunks/pages/knowledge/source-preview-c803a44df4b1d2f2.js +1 -0
- package/.next/static/chunks/pages/knowledge-135c4c9260f07108.js +1 -0
- package/.next/static/chunks/pages/models-dde7dc26b2ee4b83.js +1 -0
- package/.next/static/chunks/pages/prompt-7559b2569b3934a5.js +1 -0
- package/.next/static/chunks/pages/{settings-81dffd92939c1d36.js → settings-8ebbd4413f976a60.js} +1 -1
- package/.next/static/chunks/pages/skills/[id]/edit-334c249d48dc651d.js +1 -0
- package/.next/static/chunks/pages/skills/[id]-eb1bdec00ba09ad2.js +1 -0
- package/.next/static/chunks/pages/skills/new-750c28325b6c869a.js +1 -0
- package/.next/static/chunks/pages/skills-25f02f34e4a24e7e.js +1 -0
- package/.next/static/chunks/pages/system/{logs-1f54b6c8791daa77.js → logs-e08749c3a8f9a104.js} +1 -1
- package/.next/static/css/{ad5a592c79d1448b.css → 2da1c822e3bdb4bb.css} +1 -1
- package/.next/static/css/5bab0d7ea874d4e0.css +1 -0
- package/messages/en-US.json +5 -1
- package/messages/zh-CN.json +5 -1
- package/package.json +1 -1
- package/.next/static/chunks/127-20f09f6ebe1e6c1f.js +0 -1
- package/.next/static/chunks/174-1bc48f295d7dd075.js +0 -10
- package/.next/static/chunks/189-3f4f4e237056adaf.js +0 -4
- package/.next/static/chunks/269-7a3502478bf67fff.js +0 -11
- package/.next/static/chunks/278-31fbe7e1b733a9b7.js +0 -1
- package/.next/static/chunks/310-6c678cb70e4ba2d6.js +0 -19
- package/.next/static/chunks/530-d9f0418ec7ab040f.js +0 -1
- package/.next/static/chunks/700-5d29b0475311f590.js +0 -1
- package/.next/static/chunks/823-ff35afb174f7998b.js +0 -1
- package/.next/static/chunks/835-d29f4cc7a3679606.js +0 -1
- package/.next/static/chunks/873-16d052cdd3768758.js +0 -1
- package/.next/static/chunks/914-292edce0ba2a212d.js +0 -1
- package/.next/static/chunks/964-7e9fe2d80a53aeee.js +0 -78
- package/.next/static/chunks/992-8032f477230baaaf.js +0 -1
- package/.next/static/chunks/pages/canvas/[id]-37bee3f7b816ed18.js +0 -1
- package/.next/static/chunks/pages/canvas-97971ae159337676.js +0 -1
- package/.next/static/chunks/pages/knowledge/file-detail-f89e6044f752277c.js +0 -1
- package/.next/static/chunks/pages/knowledge/source-preview-4a303fadb123430a.js +0 -1
- package/.next/static/chunks/pages/knowledge-a65ec687334ffed0.js +0 -1
- package/.next/static/chunks/pages/models-3e486e49cca91e5a.js +0 -1
- package/.next/static/chunks/pages/prompt-b8af2cef904e3e19.js +0 -1
- package/.next/static/chunks/pages/skills-77ba363270239bbf.js +0 -1
- package/.next/static/css/1a59bfb0aa677e69.css +0 -1
- package/.next/static/d863db1ff37d0934ebbb671f5c8dc07e5943c77d9b554215ce9e64fd8dc26727/_buildManifest.js +0 -1
- /package/.next/static/{d863db1ff37d0934ebbb671f5c8dc07e5943c77d9b554215ce9e64fd8dc26727 → cf07df1d78876548cb59ce9935b756d62660ad2a6b02180bef97865f98fcc4c8}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={15751:a=>{a.exports=require("xlsx")},16698:a=>{a.exports=require("node:async_hooks")},19898:a=>{a.exports=require("@customize-agent/knowledge")},29021:a=>{a.exports=require("fs")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},73024:a=>{a.exports=require("node:fs")},76043:(a,b,c)=>{async function d(){if("phase-production-build"!==process.env.NEXT_PHASE){let{restorePersistedDocumentQueues:a}=await c.e(7848).then(c.bind(c,
|
|
1
|
+
"use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={15751:a=>{a.exports=require("xlsx")},16698:a=>{a.exports=require("node:async_hooks")},19898:a=>{a.exports=require("@customize-agent/knowledge")},29021:a=>{a.exports=require("fs")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},73024:a=>{a.exports=require("node:fs")},76043:(a,b,c)=>{async function d(){if("phase-production-build"!==process.env.NEXT_PHASE){let{restorePersistedDocumentQueues:a}=await c.e(7848).then(c.bind(c,64244));a()}}c.r(b),c.d(b,{register:()=>d})},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},95393:a=>{a.exports=require("@customize-agent/llm")},96770:a=>{a.exports=require("@customize-agent/runtime")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=76043);module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:[],rootMainFilesTree:{},pages:{"/":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/880-64d8a15c524106d2.js","static/chunks/795-
|
|
1
|
+
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:[],rootMainFilesTree:{},pages:{"/":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/880-64d8a15c524106d2.js","static/chunks/795-1a33b085051ecf2b.js","static/chunks/pages/index-cb27bfa36c212ab5.js"],"/_app":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/css/5bab0d7ea874d4e0.css","static/chunks/pages/_app-3df96a32b2c9a6ca.js"],"/_error":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/pages/_error-282257fbdcc167b4.js"],"/canvas":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/324-650dc02536b071bf.js","static/chunks/815-585fb0b4aa9b369c.js","static/chunks/576-052a39d403d5d32e.js","static/chunks/499-2233cadc6d4da647.js","static/chunks/127-7d37d37dab02bd10.js","static/chunks/530-ccc3837d353bcf74.js","static/chunks/pages/canvas-8372faba7b5bb116.js"],"/canvas/[id]":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/324-650dc02536b071bf.js","static/chunks/815-585fb0b4aa9b369c.js","static/chunks/665-0634aa49137defc4.js","static/chunks/576-052a39d403d5d32e.js","static/chunks/569-2bfdde9e402af5b2.js","static/chunks/499-2233cadc6d4da647.js","static/chunks/808-0506edc7454b5c0e.js","static/chunks/127-7d37d37dab02bd10.js","static/chunks/638-29ddb55b708c7969.js","static/chunks/530-ccc3837d353bcf74.js","static/chunks/pages/canvas/[id]-996d9a43ff45a4b3.js"],"/documents":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/pages/documents-e6a80f2de39c6fd2.js"],"/guide":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/324-650dc02536b071bf.js","static/chunks/665-0634aa49137defc4.js","static/chunks/569-2bfdde9e402af5b2.js","static/chunks/787-207289f4bb577708.js","static/chunks/162-a5be07e04aedf98a.js","static/chunks/pages/guide-82ae330966139191.js"],"/knowledge":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/324-650dc02536b071bf.js","static/chunks/815-585fb0b4aa9b369c.js","static/chunks/665-0634aa49137defc4.js","static/chunks/576-052a39d403d5d32e.js","static/chunks/499-2233cadc6d4da647.js","static/chunks/338-19ccbaec57a7bf9c.js","static/chunks/964-82cc4701f08f7351.js","static/css/2da1c822e3bdb4bb.css","static/chunks/pages/knowledge-135c4c9260f07108.js"],"/knowledge/file-detail":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/324-650dc02536b071bf.js","static/chunks/815-585fb0b4aa9b369c.js","static/chunks/665-0634aa49137defc4.js","static/chunks/576-052a39d403d5d32e.js","static/chunks/569-2bfdde9e402af5b2.js","static/chunks/499-2233cadc6d4da647.js","static/chunks/787-207289f4bb577708.js","static/chunks/338-19ccbaec57a7bf9c.js","static/chunks/964-82cc4701f08f7351.js","static/chunks/808-0506edc7454b5c0e.js","static/css/2da1c822e3bdb4bb.css","static/chunks/pages/knowledge/file-detail-6c8b86752d2ddf88.js"],"/knowledge/files":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/pages/knowledge/files-b3ef5324e4b74c4a.js"],"/knowledge/manage":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/pages/knowledge/manage-d9eaebf3a8307953.js"],"/knowledge/source-preview":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/324-650dc02536b071bf.js","static/chunks/815-585fb0b4aa9b369c.js","static/chunks/665-0634aa49137defc4.js","static/chunks/576-052a39d403d5d32e.js","static/chunks/569-2bfdde9e402af5b2.js","static/chunks/499-2233cadc6d4da647.js","static/chunks/787-207289f4bb577708.js","static/chunks/808-0506edc7454b5c0e.js","static/chunks/318-ca122b774ea4ee84.js","static/chunks/781-a6b83dbcd1a33cab.js","static/chunks/pages/knowledge/source-preview-c803a44df4b1d2f2.js"],"/models":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/324-650dc02536b071bf.js","static/chunks/815-585fb0b4aa9b369c.js","static/chunks/576-052a39d403d5d32e.js","static/chunks/338-19ccbaec57a7bf9c.js","static/chunks/864-b06700e1a4e573f2.js","static/chunks/318-ca122b774ea4ee84.js","static/chunks/pages/models-dde7dc26b2ee4b83.js"],"/overview":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/880-64d8a15c524106d2.js","static/chunks/795-1a33b085051ecf2b.js","static/chunks/pages/overview-8713b5d37af0eeb3.js"],"/prompt":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/324-650dc02536b071bf.js","static/chunks/815-585fb0b4aa9b369c.js","static/chunks/665-0634aa49137defc4.js","static/chunks/576-052a39d403d5d32e.js","static/chunks/499-2233cadc6d4da647.js","static/chunks/338-19ccbaec57a7bf9c.js","static/chunks/964-82cc4701f08f7351.js","static/chunks/711-40c1a2dbd15c2807.js","static/chunks/pages/prompt-7559b2569b3934a5.js"],"/settings":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/pages/settings-8ebbd4413f976a60.js"],"/skills":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/324-650dc02536b071bf.js","static/chunks/815-585fb0b4aa9b369c.js","static/chunks/665-0634aa49137defc4.js","static/chunks/569-2bfdde9e402af5b2.js","static/chunks/499-2233cadc6d4da647.js","static/chunks/787-207289f4bb577708.js","static/chunks/338-19ccbaec57a7bf9c.js","static/chunks/964-82cc4701f08f7351.js","static/chunks/712-1f2d7c40d613f4d8.js","static/chunks/pages/skills-25f02f34e4a24e7e.js"],"/skills/[id]":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/665-0634aa49137defc4.js","static/chunks/569-2bfdde9e402af5b2.js","static/chunks/787-207289f4bb577708.js","static/chunks/573-c52901488f5731dd.js","static/chunks/pages/skills/[id]-eb1bdec00ba09ad2.js"],"/skills/[id]/edit":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/324-650dc02536b071bf.js","static/chunks/815-585fb0b4aa9b369c.js","static/chunks/665-0634aa49137defc4.js","static/chunks/576-052a39d403d5d32e.js","static/chunks/569-2bfdde9e402af5b2.js","static/chunks/787-207289f4bb577708.js","static/chunks/864-b06700e1a4e573f2.js","static/chunks/933-e9c4889bb9f825ce.js","static/chunks/257-9484b4285bd5f43b.js","static/chunks/pages/skills/[id]/edit-334c249d48dc651d.js"],"/skills/new":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/324-650dc02536b071bf.js","static/chunks/815-585fb0b4aa9b369c.js","static/chunks/665-0634aa49137defc4.js","static/chunks/576-052a39d403d5d32e.js","static/chunks/569-2bfdde9e402af5b2.js","static/chunks/787-207289f4bb577708.js","static/chunks/864-b06700e1a4e573f2.js","static/chunks/933-e9c4889bb9f825ce.js","static/chunks/257-9484b4285bd5f43b.js","static/chunks/pages/skills/new-750c28325b6c869a.js"],"/system/logs":["static/chunks/webpack-6224d37324e372cb.js","static/chunks/framework-4b565b3ddc94cdac.js","static/chunks/main-0c91f573696223ca.js","static/chunks/324-650dc02536b071bf.js","static/chunks/815-585fb0b4aa9b369c.js","static/chunks/665-0634aa49137defc4.js","static/chunks/576-052a39d403d5d32e.js","static/chunks/499-2233cadc6d4da647.js","static/chunks/338-19ccbaec57a7bf9c.js","static/chunks/964-82cc4701f08f7351.js","static/chunks/pages/system/logs-e08749c3a8f9a104.js"]},ampFirstPages:[]},globalThis.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/1a59bfb0aa677e69.css" as="style"/><link rel="stylesheet" href="/_next/static/css/1a59bfb0aa677e69.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-6224d37324e372cb.js" defer=""></script><script src="/_next/static/chunks/framework-4b565b3ddc94cdac.js" defer=""></script><script src="/_next/static/chunks/main-0c91f573696223ca.js" defer=""></script><script src="/_next/static/chunks/pages/_app-c11b5e8072f49bcc.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/d863db1ff37d0934ebbb671f5c8dc07e5943c77d9b554215ce9e64fd8dc26727/_buildManifest.js" defer=""></script><script src="/_next/static/d863db1ff37d0934ebbb671f5c8dc07e5943c77d9b554215ce9e64fd8dc26727/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar sidebarCollapsedSelf"><div class="sidebarLogoRow"><a class="min-w-0 flex-1" href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a></div><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><a href="/knowledge"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span></div></a><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/skills"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">技能库</span></div></a><a href="/canvas"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-network"><rect x="16" y="16" width="6" height="6" rx="1"></rect><rect x="2" y="16" width="6" height="6" rx="1"></rect><rect x="9" y="2" width="6" height="6" rx="1"></rect><path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"></path><path d="M12 12V8"></path></svg><span class="sidebarLabel">生成画布</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"d863db1ff37d0934ebbb671f5c8dc07e5943c77d9b554215ce9e64fd8dc26727","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/5bab0d7ea874d4e0.css" as="style"/><link rel="stylesheet" href="/_next/static/css/5bab0d7ea874d4e0.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-6224d37324e372cb.js" defer=""></script><script src="/_next/static/chunks/framework-4b565b3ddc94cdac.js" defer=""></script><script src="/_next/static/chunks/main-0c91f573696223ca.js" defer=""></script><script src="/_next/static/chunks/pages/_app-3df96a32b2c9a6ca.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/cf07df1d78876548cb59ce9935b756d62660ad2a6b02180bef97865f98fcc4c8/_buildManifest.js" defer=""></script><script src="/_next/static/cf07df1d78876548cb59ce9935b756d62660ad2a6b02180bef97865f98fcc4c8/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar sidebarCollapsedSelf"><div class="sidebarLogoRow"><a class="min-w-0 flex-1" href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a></div><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><a href="/knowledge"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span></div></a><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/skills"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg><span class="sidebarLabel">技能库</span></div></a><a href="/canvas"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-network"><rect x="16" y="16" width="6" height="6" rx="1"></rect><rect x="2" y="16" width="6" height="6" rx="1"></rect><rect x="9" y="2" width="6" height="6" rx="1"></rect><path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"></path><path d="M12 12V8"></path></svg><span class="sidebarLabel">生成画布</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"cf07df1d78876548cb59ce9935b756d62660ad2a6b02180bef97865f98fcc4c8","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><link rel="preload" href="/_next/static/css/1a59bfb0aa677e69.css" as="style"/><link rel="stylesheet" href="/_next/static/css/1a59bfb0aa677e69.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-6224d37324e372cb.js" defer=""></script><script src="/_next/static/chunks/framework-4b565b3ddc94cdac.js" defer=""></script><script src="/_next/static/chunks/main-0c91f573696223ca.js" defer=""></script><script src="/_next/static/chunks/pages/_app-c11b5e8072f49bcc.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/d863db1ff37d0934ebbb671f5c8dc07e5943c77d9b554215ce9e64fd8dc26727/_buildManifest.js" defer=""></script><script src="/_next/static/d863db1ff37d0934ebbb671f5c8dc07e5943c77d9b554215ce9e64fd8dc26727/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar sidebarCollapsedSelf"><div class="sidebarLogoRow"><a class="min-w-0 flex-1" href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a></div><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><a href="/knowledge"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span></div></a><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/skills"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">技能库</span></div></a><a href="/canvas"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-network"><rect x="16" y="16" width="6" height="6" rx="1"></rect><rect x="2" y="16" width="6" height="6" rx="1"></rect><rect x="9" y="2" width="6" height="6" rx="1"></rect><path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"></path><path d="M12 12V8"></path></svg><span class="sidebarLabel">生成画布</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"d863db1ff37d0934ebbb671f5c8dc07e5943c77d9b554215ce9e64fd8dc26727","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><link rel="preload" href="/_next/static/css/5bab0d7ea874d4e0.css" as="style"/><link rel="stylesheet" href="/_next/static/css/5bab0d7ea874d4e0.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-6224d37324e372cb.js" defer=""></script><script src="/_next/static/chunks/framework-4b565b3ddc94cdac.js" defer=""></script><script src="/_next/static/chunks/main-0c91f573696223ca.js" defer=""></script><script src="/_next/static/chunks/pages/_app-3df96a32b2c9a6ca.js" defer=""></script><script src="/_next/static/chunks/pages/_error-282257fbdcc167b4.js" defer=""></script><script src="/_next/static/cf07df1d78876548cb59ce9935b756d62660ad2a6b02180bef97865f98fcc4c8/_buildManifest.js" defer=""></script><script src="/_next/static/cf07df1d78876548cb59ce9935b756d62660ad2a6b02180bef97865f98fcc4c8/_ssgManifest.js" defer=""></script></head><body><div id="__next"><script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="css-1pi45l5 ant-app css-var-_R_16_"><aside class="sidebar sidebarCollapsedSelf"><div class="sidebarLogoRow"><a class="min-w-0 flex-1" href="/overview"><div class="sidebarLogo"><div class="w-8 h-8 rounded-lg bg-black dark:bg-white flex items-center justify-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon text-white dark:text-black"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div class="sidebarLogoTitle"><span class="logoGradient">Customize Agent</span></div></div></a></div><nav class="sidebarNav mt-2"><a href="/overview"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="sidebarLabel">总览</span></div></a><a href="/knowledge"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="sidebarLabel">知识库</span></div></a><a href="/models"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg><span class="sidebarLabel">模型配置</span></div></a><a href="/prompt"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="sidebarLabel">提示词管理</span></div></a><a href="/skills"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg><span class="sidebarLabel">技能库</span></div></a><a href="/canvas"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-network"><rect x="16" y="16" width="6" height="6" rx="1"></rect><rect x="2" y="16" width="6" height="6" rx="1"></rect><rect x="9" y="2" width="6" height="6" rx="1"></rect><path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"></path><path d="M12 12V8"></path></svg><span class="sidebarLabel">生成画布</span></div></a><a href="/guide"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg><span class="sidebarLabel">指引</span></div></a><a href="/settings"><div class="sidebarItem"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="sidebarLabel">设置</span></div></a></nav></aside><div class="mainContent"><header class="topbar"><div class="flex-1"></div><span class="ant-badge css-1pi45l5 css-var-_R_16_"><button type="button" class="ant-btn css-1pi45l5 css-var-_R_16_ ant-btn-default ant-btn-color-default ant-btn-variant-outlined topbarBtn"><span class="ant-btn-icon"><span role="img" aria-label="clock-circle" class="anticon anticon-clock-circle"><svg viewBox="64 64 896 896" focusable="false" data-icon="clock-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path><path d="M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"></path></svg></span></span><span>后台任务</span></button></span><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span>深色</span></button><button class="topbarBtn"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span>English</span></button></header><main class="mainInner"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"cf07df1d78876548cb59ce9935b756d62660ad2a6b02180bef97865f98fcc4c8","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -25,4 +25,4 @@ th,td{font-family:${a.bodyFontFamily};font-size:${Math.max(a.bodyPt-1,9)}pt;line
|
|
|
25
25
|
th{background:${b?"#fff":"#f3f4f6"};font-weight:700;text-align:center}
|
|
26
26
|
pre{white-space:pre-wrap;font-family:${a.bodyFontFamily};font-size:${a.bodyCss};line-height:${a.lineCss};page-break-inside:avoid;break-inside:avoid}.page-break{page-break-after:always;break-after:page;height:0}
|
|
27
27
|
@media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact}a{text-decoration:none;color:#111827}}
|
|
28
|
-
`}(e,d)}</style></head><body>${f}</body></html>`}(a,(await (0,u.c)()).parse(b,{async:!1}).replace(/<h2([^>]*)>(第[一二三四五六七八九十百千万\d]+章\s*[\s\S]*?)<\/h2>/gu,(a,b,c)=>/\bclass=/iu.test(b)?`<h2${b.replace(/class=(['"])(.*?)\1/iu,(a,b,c)=>`class=${b}${c} document-chapter-heading${b}`)}>${c}</h2>`:`<h2${b} class="document-chapter-heading">${c}</h2>`).replace(/<p>\s*\|\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)*\|?\s*<\/p>/giu,"").replace(/<p>([^<]*(?:<(?:strong|em)>[^<]*<\/(?:strong|em)>[^<]*)*)<\/p>\s*<table>/gu,"<table><caption>$1</caption>"),c,e),d,f)}async function aZ(a,b,d){let{chromium:e}=await Promise.resolve().then(c.bind(c,83237)),f=[{label:"playwright-bundled-chromium",options:{headless:!0,args:["--no-sandbox","--disable-setuid-sandbox"]}},{label:"system-chrome-channel",options:{channel:"chrome",headless:!0,args:["--no-sandbox","--disable-setuid-sandbox"]}},{label:"system-msedge-channel",options:{channel:"msedge",headless:!0,args:["--no-sandbox","--disable-setuid-sandbox"]}},...(function(){let a=[process.env.PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH,process.env.CHROME_PATH].filter(Boolean),b=z.homedir();return[...new Set([...a,..."darwin"===process.platform?["/Applications/Google Chrome.app/Contents/MacOS/Google Chrome","/Applications/Chromium.app/Contents/MacOS/Chromium","/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge","/Applications/Brave Browser.app/Contents/MacOS/Brave Browser",k.join(b,"Applications/Google Chrome.app/Contents/MacOS/Google Chrome"),k.join(b,"Applications/Chromium.app/Contents/MacOS/Chromium")]:"win32"===process.platform?[k.join(process.env.PROGRAMFILES||"C:\\Program Files","Google/Chrome/Application/chrome.exe"),k.join(process.env["PROGRAMFILES(X86)"]||"C:\\Program Files (x86)","Google/Chrome/Application/chrome.exe"),k.join(process.env.LOCALAPPDATA||"","Google/Chrome/Application/chrome.exe"),k.join(process.env.PROGRAMFILES||"C:\\Program Files","Microsoft/Edge/Application/msedge.exe")]:["/usr/bin/google-chrome","/usr/bin/google-chrome-stable","/usr/bin/chromium","/usr/bin/chromium-browser","/snap/bin/chromium","/usr/bin/microsoft-edge"]].filter(a=>a&&i.existsSync(a)))]})().map(a=>({label:a,options:{executablePath:a,headless:!0,args:["--no-sandbox","--disable-setuid-sandbox"]}}))],g=[];for(let c of f)try{let f=await e.launch(c.options);try{let c=await f.newPage({locale:"zh-CN"});await c.setContent(a,{waitUntil:"load"}),await c.evaluate(async()=>{await document.fonts.ready}),await c.waitForFunction(()=>Array.from(document.images).every(a=>a.complete),void 0,{timeout:1e4}).catch(()=>void 0),await c.emulateMedia({media:"print"});let e=aw(b),g=d?.headersFooters==="forbidden"?{displayHeaderFooter:!1}:{displayHeaderFooter:!0,headerTemplate:"<div></div>",footerTemplate:`<div style="font-family:${e.fontFamily};font-size:10.5pt;line-height:12pt;width:100%;text-align:center;color:#666;">第 <span class="pageNumber"></span> 页 / 共 <span class="totalPages"></span> 页</div>`},h=async()=>Buffer.from(await c.pdf({format:e.paper,printBackground:!0,preferCSSPageSize:!0,outline:!0,tagged:!0,margin:{top:e.marginTop,right:e.marginRight,bottom:e.marginBottom,left:e.marginLeft},...g})),i=await h();for(let a=0;a<3;a+=1){let a=await J(i);if(!a)throw Error("PDF实际页树/章节书签无法读取,不能编造目录页码");if(!await c.evaluate(a=>{let b=!1;for(let c of document.querySelectorAll("[data-toc-title]")){let d=c.dataset.tocTitle,e=void 0===a[d]?"":String(a[d]);c.textContent!==e&&(c.textContent=e,b=!0)}return b},a))return i;i=await h()}throw Error("PDF目录页码实际排版校验未收敛")}finally{await f.close()}}catch(a){g.push(`${c.label}: ${a instanceof Error?a.message:String(a)}`)}throw Error(g.join("\n"))}function a$(a,b,c,d,e=[],f,g,h,i){if(a)try{let j=a.draft,k=j?.reviewMetadata?.diagnostics?.quality,l=a.completedAt?Math.max(0,a.completedAt-a.createdAt):Math.max(0,Date.now()-a.createdAt),n=(a.draft?.exportGate?.manualReviewIssues||[]).map(a=>({...a,level:a.level??"warning"})),o=[...e,...n],p=o.length>0?(0,O.aF)(o,j?.chapters):void 0,q={format:b,exportPurpose:h,reviewReport:i,exportedAt:Date.now(),durationMs:l,ruleSummary:(j?.promptRules?.executionSummary||[]).slice(0,12),repairedCount:k?.repairedCount,blockingCount:k?.blockingCount,gatePassed:j?.exportGate?.passed===!0&&0===e.length&&(d?.blockerCount??0)===0,...a.runId&&j?.reviewMetadata?.contractQuality?{sourceIdentity:{runId:a.runId,documentHash:j.reviewMetadata.contractQuality.documentHash,contractId:j.reviewMetadata.contractQuality.contractId,buildId:(0,w.S)()?.sourceFingerprint}}:{},...g?{artifact:{sha256:(0,m.createHash)("sha256").update(g.content).digest("hex"),bytes:Buffer.byteLength(g.content)},renderDurationMs:Math.max(0,Date.now()-g.startedAt)}:{},healthAlerts:j?.reviewMetadata?.telemetry?.healthAlerts,repairHeat:j?.reviewMetadata?.telemetry?.repairHeat,...d?{renderAudit:d}:{},...p?{gateIssueCount:e.length,gateChecklist:p}:{},...f?{realPages:f}:{}};a.runId&&(0,s.tv)((0,D.Gl)(c),`export-receipt-${(0,m.createHash)("sha256").update(JSON.stringify(q)).digest("hex")}.json`,q,a.runId);let r=(0,D.getGeneratedDocument)(a.id,c),t=[...r?.exportReports||a.exportReports||[],q].slice(-20);(0,D.a6)(a.id,{exportReports:t},c)}catch(a){console.warn(`[export] 渲染审计报告归档失败(不影响本次导出,但该次导出不会进历史对照):${a instanceof Error?a.message:String(a)}`)}}async function a_(a,b){let c,d=Date.now();if("POST"!==a.method&&"GET"!==a.method)return b.status(405).json({error:"Method not allowed"});if("GET"===a.method&&("string"!=typeof a.query?.reviewReportId||Object.values(a.query).some(a=>"string"!=typeof a)))return b.status(400).json({error:"REVIEW_REPORT_REQUEST_REQUIRED"});let e="GET"===a.method?a.query:a.body;if(!e||"object"!=typeof e||Array.isArray(e))return b.status(400).json({error:"INVALID_EXPORT_REQUEST"});let f=new Set(["documentId","title","markdown","format","exportPurpose","reviewReportId","reviewRunId","useClientMarkdown","exportGate","wordTemplatePath","projectRoot"]);if(Object.keys(e).some(a=>!f.has(a)))return b.status(400).json({error:"INVALID_EXPORT_OPTION",message:"存在不受支持的导出参数,请使用明确的 exportPurpose。"});if(void 0!==e.exportPurpose&&"review"!==e.exportPurpose&&"delivery"!==e.exportPurpose)return b.status(400).json({error:"INVALID_EXPORT_PURPOSE"});let g=e.exportPurpose??"review",h=e.projectRoot||(0,L.aY)(),i=e.documentId?(0,D.getGeneratedDocument)(e.documentId,h):null;if(e.documentId&&(!i||i.id!==e.documentId))return b.status(404).json({error:"Document not found"});if(e.reviewReportId){if(!/^[a-f0-9]{64}$/u.test(e.reviewReportId))return b.status(400).json({error:"INVALID_REVIEW_REPORT_ID"});let a=function(a,b,c){if(!/^[a-f0-9]{64}$/u.test(b))throw Error("INVALID_REVIEW_REPORT_ID");let d=(0,s.HM)(a,`review-export-${b}.json`,c);if(!j().existsSync(d))return;let e=j().readFileSync(d);if(Q(e)!==b)throw Error("REVIEW_REPORT_IDENTITY_MISMATCH");let f=JSON.parse(e.toString("utf8"));if(f.runId!==(c??null))throw Error("REVIEW_REPORT_RUN_MISMATCH");return f}((0,D.Gl)(h),e.reviewReportId,e.reviewRunId);return a&&a.documentId===(i?.id??null)?(b.setHeader("Content-Type","application/json; charset=utf-8"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${aa(a.title)}_审阅问题报告_${a.body.sha256.slice(0,12)}.json`)}`),b.status(200).send(JSON.stringify(a))):b.status(404).json({error:"REVIEW_REPORT_NOT_FOUND"})}let k=i?.draft?.bidComposition,p=e.title||i?.title||"document",u=(0,N.b2)(k?.formatRules),v=function(a,b){if(void 0!==b)return b;if(a?.editedMarkdown!==void 0)return a.editedMarkdown;let c=a?.markdown||a?.draft?.markdown;return c?.trim()?c:(a?.checkpointChapters??[]).filter(a=>(0,t.a1)(a.content??"")).map(a=>a.content).join("\n\n")}(i,e.useClientMarkdown&&"string"==typeof e.markdown?e.markdown:i?void 0:e.markdown),y=v;if("review"!==g||e.useClientMarkdown||i?.editedMarkdown||(v=function(a,b,c,d){if(!a?.runId||!a.id||!d.includes("```mermaid"))return d;let e=l().dirname((0,s.HM)(b,"document-model-author.json",a.runId));if(!j().existsSync(e))return d;let f=j().readdirSync(e).filter(a=>/^document-model-checkpoint-\d+\.json$/u.test(a)).sort().at(-1);if(!f)return d;let g=JSON.parse(j().readFileSync(l().join(e,f),"utf8"));if(!g||"object"!=typeof g||!g.tasks||"object"!=typeof g.tasks)throw Error("当前审阅结构化稿无法读取,不能把图源假装渲染成功");let h=(0,q.rZ)({generatedDir:b,projectRoot:c,documentId:a.id}),i=d;for(let a of Object.values(g.tasks))for(let b of a.current?.output?.units??[]){if("figure"!==b.kind)continue;let a={...b,heading:void 0},c=(0,r.renderAuthorUnit)(a),d=c.indexOf("```mermaid");if(d<0)continue;let e=c.slice(d);if(!i.includes(e))continue;let f=h.renderer(a),g=("string"==typeof f?[f]:f).map((b,c)=>`![${a.caption.replaceAll("[","").replaceAll("]","")}${c?"(续)":""}](${b})`).join("\n\n");i=i.replace(e,g)}let k=h.receipts();if(k.length){let c=(0,m.createHash)("sha256").update(d).digest("hex"),e=(0,m.createHash)("sha256").update(i).digest("hex"),g=(0,m.createHash)("sha256").update(JSON.stringify([c,e,f])).digest("hex");(0,s.tv)(b,`review-figure-assets-${g}.json`,{runId:a.runId,documentId:a.id,modelFile:f,sourceHash:c,renderedHash:e,renderedFromExistingUnitsOnly:!0,receipts:k},a.runId)}return i}(i,(0,D.Gl)(h),h,v)),!(0,t.a1)(v))return b.status(422).json({error:"EMPTY_EXPORT_BODY",message:"当前没有已写入的正文,不能生成空白审阅文件。"});let z=i?.reviewMetadata?.contractQuality??i?.draft?.reviewMetadata?.contractQuality,A=i?.draft?.markdown||i?.markdown||"",B=aX(v,A===y?v:A),{markdown:C,audit:E}=B,F=e.format;if(!F||!["markdown","html","pdf","docx"].includes(F))return b.status(400).json({error:"INVALID_EXPORT_FORMAT",message:"请选择有效的导出格式。"});B.issues.length>0&&b.setHeader(Z.contentIssues,encodeURIComponent(JSON.stringify(B.issues.slice(0,20))));let G=_(E);G&&b.setHeader(Z.renderAudit,encodeURIComponent(JSON.stringify(G)));let H=i?.draft?.exportGate||e.exportGate,J=(H?.blockingIssues||[]).map(a=>({level:"error",...a})),O=H?.passed===!1&&0===J.length?[{level:"error",message:"导出门禁未通过:存在未完成的检查项"}]:[],U=[...J,...O],W=[i?.draft?.exportGate?.deliveryFingerprint,i?.draft?.exportGate?.textFingerprint].find(a=>"string"==typeof a&&a.length>0),X=(0,M.c6)(v),Y=W?W===X?"matched":"mismatch":"absent";"matched"!==Y&&b.setHeader(Z.gateBinding,Y);let $="mismatch"===Y?[{level:"error",severity:"blocker",message:"将交付的正文与门禁判定时的正文**不是同一份**(收口后被编辑/替换):放行依据对不上这份文本,本份正文尚未取得交付资格。",suggestion:"若改动是有意的:重新生成或重跑校验后再导出;若只是留档:请用审阅导出。"}]:[],ab=z&&(z.documentHash!==(0,x.Sl)(i?.draft?.chapters??[],v)||!(0,x.R3)(z))?[{level:"error",severity:"blocker",message:z.documentHash!==(0,x.Sl)(i?.draft?.chapters??[],v)?"正文已经变更,冻结合同的七维评价回执属于旧版本,须重新评价后交付。":"当前协议的七维职责核验及专业档位尚未达标,历史回执和客户端门禁声明不能替代。"}]:[],ac=i&&i.draft?.exportGate?.passed===!0&&"absent"!==Y||U.length||$.length||ab.length?[]:[{level:"error",severity:"blocker",message:"未取得服务端对本份正文的已通过评价及绑定回执;本次仅可作审阅导出,客户端声明不能替代评价。"}],ad=[...U,...$,...ab,...z?(0,x.ie)(z):[],...ac,...(function(a,b,c){if(!a?.runId)return["交付导出缺少当前生成运行身份"];let d=S(b,a.runId,"run-inputs.json").data,e=S(b,a.runId,"document-contract.json").data,f=S(b,a.runId,"project-model.json").data,g=S(b,a.runId,"contract-quality.json").data,h=S(b,a.runId,"tender-requirements.json").data,i=S(b,a.runId,"tender-source-coverage-review.json").data,j=a.reviewMetadata?.contractQuality??a.draft?.reviewMetadata?.contractQuality,k=(0,x.Sl)(a.draft?.chapters??[],c),l=[];if(j&&j.documentHash===k&&(0,x.R3)(j)&&g&&JSON.stringify(g)===JSON.stringify(j)||l.push("缺少本份正文的当前实际冻结合同七维评价回执"),e&&f&&j&&j.contractId===e.id&&j.projectSnapshotId===f.snapshotId||l.push("评价回执与冻结合同、项目来源身份未绑定"),e){e.version!==P.GM&&l.push("冻结合同属于历史协议,须按当前写作及评价协议重新生成");let{id:a,...b}=e;a!==Q(JSON.stringify(b))&&l.push("冻结合同原始内容与身份不一致")}if(f){let{snapshotId:a,...b}=f;a!==Q(JSON.stringify(b))&&l.push("项目来源快照原始内容与身份不一致")}d&&d.runId===a.runId&&d.documentId===a.id&&Array.isArray(d.sources)&&d.sources.length||l.push("缺少本次运行的完整来源输入绑定");let m=a.draft?.exportGate?.checklist?.filter(a=>"tender-source-completeness"===a.key),n=R(h?.sourceLibrary),o=Array.isArray(n?.units)?n.units:void 0,p=Array.isArray(i?.batches)?i.batches.map(R):void 0,q=p?.flatMap(a=>Array.isArray(a?.requestedIndices)?a.requestedIndices:[]),r=p?.flatMap(a=>Array.isArray(a?.checkedIndices)?a.checkedIndices:[]),s=o?.map(a=>R(a)?.index),t=(a,b)=>!!(a&&b&&a.every(a=>Number.isSafeInteger(a)&&Number(a)>=0)&&new Set(a).size===a.length&&a.length===b.length&&a.every(a=>b.includes(a)));return!(!m||1!==m.length||!0!==m[0].passed||!i||"measured"!==i.status||i.documentHash!==k||!n||i.sourceHash!==Q(JSON.stringify(n))||!Array.isArray(i.omissions)||i.omissions.length||!p?.length||p.some(a=>!Array.isArray(a?.errors)||a.errors.length||!t(Array.isArray(a.checkedIndices)?a.checkedIndices:void 0,Array.isArray(a.requestedIndices)?a.requestedIndices:void 0)))&&s?.length&&t(q,s)&&t(r,s)||l.push("完整来源技术义务漏项审阅未通过或回执与本份正文、原来源不一致"),l})(i,(0,D.Gl)(h),v).map(a=>({level:"error",severity:"blocker",message:a}))],ae=0===ad.length&&0===E.blockers.length,af=(a,d,e)=>{let f=function(a){let{record:b}=a,c=S(a.generatedDir,b?.runId,"run-inputs.json"),d=S(a.generatedDir,b?.runId,"document-contract.json").data,e=S(a.generatedDir,b?.runId,"document-model-final.json"),f=e.data?e:S(a.generatedDir,b?.runId,"document-model-author.json"),g=f.data,h=Array.isArray(c.data?.sources)?c.data.sources:void 0,i=T(d?.chapters??b?.draft?.chapters),j=(b?.draft?.chapters??b?.checkpointChapters??[]).filter(a=>(0,t.a1)(a.content??"")),k=T(j).filter(b=>j.some(c=>c.id===b.id&&a.markdown.includes(c.content))),l=i.length>0&&k.length===j.length,m=b?.reviewMetadata?.contractQuality??b?.draft?.reviewMetadata?.contractQuality,n=S(a.generatedDir,b?.runId,"tender-source-coverage-review.json"),o=R(c.data?.buildIdentity),p=!!(h&&c.sha256&&c.data?.runId===b?.runId&&c.data?.documentId===b?.id);return{version:1,purpose:a.purpose,capturedAt:Date.now(),documentId:b?.id??null,runId:b?.runId??null,title:a.title,format:a.format??"unmeasured",body:{sha256:Q(a.markdown),bytes:Buffer.byteLength(a.markdown),chars:a.markdown.length},identity:{exportBuildId:a.buildId??null,generationBuildId:"string"==typeof o?.sourceFingerprint?o.sourceFingerprint:null,runInputsSha256:c.sha256??null,sourceSnapshotSha256:h?Q(JSON.stringify(h)):null,sourceCount:h?.length??null,status:p?"bound":"unmeasured"},generation:{status:b?.status??"editor",error:b?.error??null,warnings:b?.warningIssues??[]},chapters:{status:l?"measured":"unmeasured",expected:i,written:k,missing:l?i.filter(a=>!k.some(b=>b.id===a.id)):[],...!l?{reason:"缺少完整章计划,或编辑后正文无法与原章节快照逐字对位;不把无法对位冒充已证缺章"}:{}},acceptance:{passed:a.acceptancePassed,issues:[...a.issues]},sourceCompleteness:{checklist:b?.draft?.exportGate?.checklist?.find(a=>"tender-source-completeness"===a.key)??null,receipt:n.data??null,receiptSha256:n.sha256??null},quality:{status:m?m.documentHash===(0,x.Sl)(b?.draft?.chapters??[],a.markdown)?"current":"historical":"unmeasured",receipt:m??null},rework:{status:g?"recorded":"unmeasured",modelSha256:f.sha256??null,authorPassSealed:"boolean"==typeof g?.authorPassSealed?g.authorPassSealed:null,c0ReferenceChars:"number"==typeof g?.c0ReferenceChars?g.c0ReferenceChars:null,ledger:g?.rework??null,revisionCount:Array.isArray(g?.revisions)?g.revisions.length:null,userRevisionCount:b?.revisionLog?.length??0},render:a.render??{status:"pending"}}}({record:i,generatedDir:(0,D.Gl)(h),markdown:v,title:p,purpose:g,format:F,buildId:(0,w.S)()?.sourceFingerprint,acceptancePassed:ae&&0===ad.length&&0===E.blockers.length,issues:[...ad.map(a=>a.message),...B.issues],render:{status:a,...d?{error:d}:{},audit:_(E),...void 0!==e?{artifact:{sha256:(0,m.createHash)("sha256").update(e).digest("hex"),bytes:Buffer.byteLength(e)}}:{}}});c={...function(a,b){let c=Q(JSON.stringify(b)),d=(0,s.tv)(a,`review-export-${c}.json`,b,b.runId??void 0);return{id:c,sha256:d.sha256,bodySha256:b.body.sha256}}((0,D.Gl)(h),f),...i?.runId?{runId:i.runId}:{}},b.setHeader(Z.issuesReport,encodeURIComponent(JSON.stringify(c))),b.setHeader(Z.bodySha256,f.body.sha256),b.setHeader(Z.exportPurpose,g),b.setHeader(Z.gatePassed,f.acceptance.passed?"true":"false")};if(af("pending"),"delivery"===g&&E.blockers.length>0)return af("failed",E.blockers.map(a=>a.message).join(";")),b.status(422).json({error:"EXPORT_SOURCE_STRUCTURAL_DEFECT",message:`导出源存在结构性缺陷,已按纯渲染模式阻断(不再补造表头):${E.blockers.slice(0,3).map(a=>a.message).join(";")}`,issues:E.blockers.slice(0,20)});if(!ae&&"delivery"===g)return af("failed","当前正文尚未通过交付验收"),b.status(422).json({error:"EXPORT_GATE_BLOCKED",message:`导出门禁未通过(${ad.length} 项阻断),文档未达交付标准,已阻止导出。请先使用审阅导出供专业人员核对,交付导出须通过本份正文的验收。`,issues:ad.slice(0,20)});b.setHeader(Z.gatePassed,ae?"true":"false"),b.setHeader(Z.notDeliverable,"review"===g?"true":"false"),ae||(b.setHeader(Z.gateIssues,encodeURIComponent(JSON.stringify(ad.map(a=>a.message).slice(0,20)))),b.setHeader(Z.gateIssueCount,String(ad.length)));let ag="review"===g?function(a){let b=a.lastIndexOf("."),c=b>0?a.slice(0,b):a;return c.endsWith("_审阅稿")?a:b>0?`${c}_审阅稿${a.slice(b)}`:`${a}_审阅稿`}(aa(p)):aa(p),ah=a=>{let c=function(a,b,c="enforce"){let d=b?.pageMin,e=b?.pageLimit;if("informational"===c)return{status:"informational",passed:!0,reason:"本轮按专业内容验收,真实页数仅供后续人工排版参考",pages:a??null,min:d??null,max:e??null};if(void 0===d&&void 0===e)return{status:"not-applicable",passed:!0,reason:"本轮没有页数上下限义务",pages:a??null,min:null,max:null};if(void 0!==d&&(!Number.isInteger(d)||d<=0)||void 0!==e&&(!Number.isInteger(e)||e<=0)||void 0!==d&&void 0!==e&&d>e)return{status:"unmeasured",passed:!1,reason:"冻结的页数义务不完整或上下限冲突,须回到合同编译处理",pages:a??null,min:d??null,max:e??null};if(void 0===a||!Number.isInteger(a)||a<=0)return{status:"unmeasured",passed:!1,reason:"实际渲染页数未完成测量,不能以字数或估算页数代替",pages:null,min:d??null,max:e??null};let f=(void 0===d||a>=d)&&(void 0===e||a<=e);return{status:f?"met":"not-met",passed:f,reason:f?`实际${a}页满足页数义务`:`实际${a}页未满足${void 0===d?"":`不少于${d}页`}${void 0!==d&&void 0!==e?"、":""}${void 0===e?"":`不超过${e}页`}`,pages:a,min:d??null,max:e??null}}(a,k?.formatRules,"informational"),d=k?.formatRules.pageLimit;if(d&&a&&a>d){let e=k?.formatRules.pageEvidence?.filter(a=>"max"===a.kind&&a.value===d),f=e?.length&&e.every(a=>"recommendation"===a.status)?"来源篇幅建议":"尚未核定适用范围的篇幅候选";b.setHeader(Z.pageLimit,encodeURIComponent(`${f}:当前${a}页,参考${d}页;${c.reason}`))}};try{if("markdown"===F){let a=an(C,h,E),e=_(E);return e&&b.setHeader(Z.renderAudit,encodeURIComponent(JSON.stringify(e))),b.setHeader(Z.figureInline,encodeURIComponent(JSON.stringify({inlined:a.report.inlined,failed:a.report.failed.map(a=>`${a.name}:${a.reason}`).slice(0,20)}))),af("succeeded",void 0,a.markdown),a$(i,F,h,e||G,ad,void 0,{content:a.markdown,startedAt:d},g,c),b.setHeader("Content-Type","text/markdown; charset=utf-8"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${ag}.md`)}`),b.status(200).send(a.markdown)}if("docx"===F){let a=E.blockers.length,f=await aI(p,C,u,"review"===g?void 0:e.wordTemplatePath,h,E,k?.formatRules,"review"===g),j=f.buffer;if(f.imageReceipt.embedded!==f.imageReceipt.expected||f.imageReceipt.layoutIssues?.length){let a=f.imageReceipt.layoutIssues?.join(";")??`DOCX图件未完整进包:应有${f.imageReceipt.expected}处,实际${f.imageReceipt.embedded}处;不能以文字占位代替图件交付`;if(ad.push({level:"error",severity:"blocker",message:a}),"delivery"===g)return af("failed",a),b.status(422).json({error:"EXPORT_FIGURE_NOT_CONSERVED",message:a});b.setHeader(Z.gatePassed,"false"),b.setHeader(Z.notDeliverable,"true"),b.setHeader(Z.gateIssues,encodeURIComponent(JSON.stringify(ad.map(a=>a.message).slice(0,20)))),b.setHeader(Z.gateIssueCount,String(ad.length))}f.templateWarning&&(b.setHeader(Z.templateWarning,encodeURIComponent(f.templateWarning)),console.error(`[export] ${f.templateWarning}`));let l=_(E);if(l&&b.setHeader(Z.renderAudit,encodeURIComponent(JSON.stringify(l))),"delivery"===g&&E.blockers.length>a){let c=E.blockers.slice(a);return af("failed",c.map(a=>a.message).join(";")),b.status(422).json({error:"EXPORT_RENDER_NOT_PURE",message:`docx 渲染阶段存在未声明的正文改动,已按纯渲染模式阻断:${c.slice(0,3).map(a=>a.message).join(";")}`,issues:c.slice(0,20)})}let m=await K(j).catch(a=>({unavailableReason:`渲染器异常:${a instanceof Error?a.message.split("\n")[0]:String(a)}`})),n=void 0!==m.pages&&null!==m.pages?{pages:m.pages,renderer:m.renderer||"unknown"}:{unavailableReason:m.unavailableReason||"未知原因"};return ah(m.pages),af("succeeded",void 0,j),a$(i,F,h,l||G,ad,n,{content:j,startedAt:d},g,c),b.setHeader("Content-Type","application/vnd.openxmlformats-officedocument.wordprocessingml.document"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${ag}.docx`)}`),b.status(200).send(j)}let f=await aY(p,C,u,h,k?.formatRules.monoColor===!0,E);"review"===g&&(f=function(a){let b=j().readFileSync(o()).toString("base64"),c=`<style>@font-face{font-family:"${n}";src:url(data:font/otf;base64,${b}) format("opentype");font-weight:400;font-style:normal;}body,body *{font-family:"${n}",sans-serif!important;}</style>`;if(!a.includes("</head>"))throw Error("审阅HTML缺少文档头,无法可靠嵌入中文字体");return a.replace("</head>",`${c}</head>`)}(f),E.notices.push({code:"review-font-fallback",message:"审阅HTML/PDF嵌入Noto Sans CJK SC,保证跨环境中文可读;字体替代未认定为指定投标字体达标"}));let l=_(E);if(l&&b.setHeader(Z.renderAudit,encodeURIComponent(JSON.stringify(l))),"html"===F)return af("succeeded",void 0,f),a$(i,F,h,l||G,ad,void 0,{content:f,startedAt:d},g,c),b.setHeader("Content-Type","text/html; charset=utf-8"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${ag}.html`)}`),b.status(200).send(f);try{let a=await aZ(f,u,k?.formatRules),e=await I(a);return ah(e),af("succeeded",void 0,a),a$(i,F,h,l||G,ad,e?{pages:e,renderer:"chromium-pdf-page-tree"}:{unavailableReason:"PDF页树解析失败,实际页数未完成验收"},{content:a,startedAt:d},g,c),b.setHeader("Content-Type","application/pdf"),e&&b.setHeader(Z.pdfPageCount,String(e)),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${ag}.pdf`)}`),b.status(200).send(a)}catch(c){return af("failed",c instanceof Error?c.message:String(c)),(0,V.wF)({level:"error",source:"api/documents/export",functionName:"pdfExportChromium",error:c,req:a,meta:{fallback:"system-browser-attempted"}}),b.status(500).json({error:"PDF_RENDER_FAILED",message:"PDF 渲染失败:未找到或无法启动可用的 Chrome/Chromium/Edge。请安装 Chrome,或设置 PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH 后重试。"})}}catch(a){return af("failed",a instanceof Error?a.message:String(a)),b.status(500).json({error:"EXPORT_RENDER_FAILED",message:"渲染失败,独立审阅报告已保留。"})}}let a0={inlineLocalImages:ah,inlineMarkdownFigures:an,createInlineImageResolver:ag,resolveLocalImagePath:af,rasterizeMarkdownSvgFigures:aA,buildDocxInternal:aK,createExportRenderAudit:$,exportRenderAuditReport:_,canonicalExportText:aS,exportConservationDiff:function(a,b){return aT(aS(a),aS(b))},diffCanonicalText:aT,docxVisibleText:aU,canonicalDocxText:aV,docxStageConservationDiff:aW,prepareExportMarkdown:aX,stripInlineMarkdown:ar,enhanceTocHtml:aN,buildExportHtml:aY,renderPdfBuffer:aZ,resolveExportStyle:aw,buildDocx:aI,markdownToDocxXml:aG,validateExportMarkdown:aR,isTableCaptionLine:aC,DOCX_TOC_FIELD_PLACEHOLDER:aD},a1=(0,W.j)("api/documents/export",a_);var a2=c(68970),a3=c(50296);let a4=(0,h.M)(d,"default"),a5=(0,h.M)(d,"config"),a6=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/documents/export",pathname:"/api/documents/export",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function a7(a,b,c){let d=await a6.prepare(a,b,{srcPage:"/api/documents/export"});if(!d){b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve());return}let{query:f,params:g,prerenderManifest:h,routerServerContext:i}=d;try{let c=a.method||"GET",d=(0,a2.getTracer)(),e=d.getActiveScopeSpan(),j=a6.instrumentationOnRequestError.bind(a6),k=async e=>a6.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:a6.isDev,page:"/api/documents/export",internalRevalidate:null==i?void 0:i.revalidate,onError:(...b)=>j(a,...b)}).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let f=d.getRootSpanAttributes();if(!f)return;if(f.get("next.span_type")!==a3.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${f.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let g=f.get("next.route");if(g){let a=`${c} ${g}`;e.setAttributes({"next.route":g,"http.route":g,"next.span_name":a}),e.updateName(a)}else e.updateName(`${c} ${a.url}`)});e?await k(e):await d.withPropagatedContext(a.headers,()=>d.trace(a3.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:a2.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(a6.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},28183:a=>{a.exports=require("@napi-rs/canvas")},29021:a=>{a.exports=require("fs")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},55511:a=>{a.exports=require("crypto")},57975:a=>{a.exports=require("node:util")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},83142:a=>{a.exports=import("marked")},83237:a=>{a.exports=import("playwright")},85497:(a,b,c)=>{c.d(b,{c:()=>d});async function d(a){let{Marked:b}=await Promise.resolve().then(c.bind(c,83142));return new b({async:!1,gfm:!0,breaks:!0,...a?{renderer:a}:{},tokenizer:{del(a){if(a.startsWith("~~"))return!1}}})}},88194:a=>{a.exports=require("jszip")},95393:a=>{a.exports=require("@customize-agent/llm")},96770:a=>{a.exports=require("@customize-agent/runtime")},97864:a=>{a.exports=import("pdfjs-dist/legacy/build/pdf.worker.mjs")}};var b=require("../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705,5746,5304,3806,2434,1243,1001,9666],()=>b(b.s=26735));module.exports=c})();
|
|
28
|
+
`}(e,d)}</style></head><body>${f}</body></html>`}(a,(await (0,u.c)()).parse(b,{async:!1}).replace(/<h2([^>]*)>(第[一二三四五六七八九十百千万\d]+章\s*[\s\S]*?)<\/h2>/gu,(a,b,c)=>/\bclass=/iu.test(b)?`<h2${b.replace(/class=(['"])(.*?)\1/iu,(a,b,c)=>`class=${b}${c} document-chapter-heading${b}`)}>${c}</h2>`:`<h2${b} class="document-chapter-heading">${c}</h2>`).replace(/<p>\s*\|\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)*\|?\s*<\/p>/giu,"").replace(/<p>([^<]*(?:<(?:strong|em)>[^<]*<\/(?:strong|em)>[^<]*)*)<\/p>\s*<table>/gu,"<table><caption>$1</caption>"),c,e),d,f)}async function aZ(a,b,d){let{chromium:e}=await Promise.resolve().then(c.bind(c,83237)),f=[{label:"playwright-bundled-chromium",options:{headless:!0,args:["--no-sandbox","--disable-setuid-sandbox"]}},{label:"system-chrome-channel",options:{channel:"chrome",headless:!0,args:["--no-sandbox","--disable-setuid-sandbox"]}},{label:"system-msedge-channel",options:{channel:"msedge",headless:!0,args:["--no-sandbox","--disable-setuid-sandbox"]}},...(function(){let a=[process.env.PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH,process.env.CHROME_PATH].filter(Boolean),b=z.homedir();return[...new Set([...a,..."darwin"===process.platform?["/Applications/Google Chrome.app/Contents/MacOS/Google Chrome","/Applications/Chromium.app/Contents/MacOS/Chromium","/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge","/Applications/Brave Browser.app/Contents/MacOS/Brave Browser",k.join(b,"Applications/Google Chrome.app/Contents/MacOS/Google Chrome"),k.join(b,"Applications/Chromium.app/Contents/MacOS/Chromium")]:"win32"===process.platform?[k.join(process.env.PROGRAMFILES||"C:\\Program Files","Google/Chrome/Application/chrome.exe"),k.join(process.env["PROGRAMFILES(X86)"]||"C:\\Program Files (x86)","Google/Chrome/Application/chrome.exe"),k.join(process.env.LOCALAPPDATA||"","Google/Chrome/Application/chrome.exe"),k.join(process.env.PROGRAMFILES||"C:\\Program Files","Microsoft/Edge/Application/msedge.exe")]:["/usr/bin/google-chrome","/usr/bin/google-chrome-stable","/usr/bin/chromium","/usr/bin/chromium-browser","/snap/bin/chromium","/usr/bin/microsoft-edge"]].filter(a=>a&&i.existsSync(a)))]})().map(a=>({label:a,options:{executablePath:a,headless:!0,args:["--no-sandbox","--disable-setuid-sandbox"]}}))],g=[];for(let c of f)try{let f=await e.launch(c.options);try{let c=await f.newPage({locale:"zh-CN"});await c.setContent(a,{waitUntil:"load"}),await c.evaluate(async()=>{await document.fonts.ready}),await c.waitForFunction(()=>Array.from(document.images).every(a=>a.complete),void 0,{timeout:1e4}).catch(()=>void 0),await c.emulateMedia({media:"print"});let e=aw(b),g=d?.headersFooters==="forbidden"?{displayHeaderFooter:!1}:{displayHeaderFooter:!0,headerTemplate:"<div></div>",footerTemplate:`<div style="font-family:${e.fontFamily};font-size:10.5pt;line-height:12pt;width:100%;text-align:center;color:#666;">第 <span class="pageNumber"></span> 页 / 共 <span class="totalPages"></span> 页</div>`},h=async()=>Buffer.from(await c.pdf({format:e.paper,printBackground:!0,preferCSSPageSize:!0,outline:!0,tagged:!0,margin:{top:e.marginTop,right:e.marginRight,bottom:e.marginBottom,left:e.marginLeft},...g})),i=await h();for(let a=0;a<3;a+=1){let a=await J(i);if(!a)throw Error("PDF实际页树/章节书签无法读取,不能编造目录页码");if(!await c.evaluate(a=>{let b=!1;for(let c of document.querySelectorAll("[data-toc-title]")){let d=c.dataset.tocTitle,e=void 0===a[d]?"":String(a[d]);c.textContent!==e&&(c.textContent=e,b=!0)}return b},a))return i;i=await h()}throw Error("PDF目录页码实际排版校验未收敛")}finally{await f.close()}}catch(a){g.push(`${c.label}: ${a instanceof Error?a.message:String(a)}`)}throw Error(g.join("\n"))}function a$(a,b,c,d,e=[],f,g,h,i){if(a)try{let j=a.draft,k=j?.reviewMetadata?.diagnostics?.quality,l=a.completedAt?Math.max(0,a.completedAt-a.createdAt):Math.max(0,Date.now()-a.createdAt),n=(a.draft?.exportGate?.manualReviewIssues||[]).map(a=>({...a,level:a.level??"warning"})),o=[...e,...n],p=o.length>0?(0,O.aF)(o,j?.chapters):void 0,q={format:b,exportPurpose:h,reviewReport:i,exportedAt:Date.now(),durationMs:l,ruleSummary:(j?.promptRules?.executionSummary||[]).slice(0,12),repairedCount:k?.repairedCount,blockingCount:k?.blockingCount,gatePassed:j?.exportGate?.passed===!0&&0===e.length&&(d?.blockerCount??0)===0,...a.runId&&j?.reviewMetadata?.contractQuality?{sourceIdentity:{runId:a.runId,documentHash:j.reviewMetadata.contractQuality.documentHash,contractId:j.reviewMetadata.contractQuality.contractId,buildId:(0,w.S)()?.sourceFingerprint}}:{},...g?{artifact:{sha256:(0,m.createHash)("sha256").update(g.content).digest("hex"),bytes:Buffer.byteLength(g.content)},renderDurationMs:Math.max(0,Date.now()-g.startedAt)}:{},healthAlerts:j?.reviewMetadata?.telemetry?.healthAlerts,repairHeat:j?.reviewMetadata?.telemetry?.repairHeat,...d?{renderAudit:d}:{},...p?{gateIssueCount:e.length,gateChecklist:p}:{},...f?{realPages:f}:{}};a.runId&&(0,s.tv)((0,D.Gl)(c),`export-receipt-${(0,m.createHash)("sha256").update(JSON.stringify(q)).digest("hex")}.json`,q,a.runId);let r=(0,D.getGeneratedDocument)(a.id,c),t=[...r?.exportReports||a.exportReports||[],q].slice(-20);(0,D.a6)(a.id,{exportReports:t},c)}catch(a){console.warn(`[export] 渲染审计报告归档失败(不影响本次导出,但该次导出不会进历史对照):${a instanceof Error?a.message:String(a)}`)}}async function a_(a,b){let c,d=Date.now();if("POST"!==a.method&&"GET"!==a.method)return b.status(405).json({error:"Method not allowed"});if("GET"===a.method&&("string"!=typeof a.query?.reviewReportId||Object.values(a.query).some(a=>"string"!=typeof a)))return b.status(400).json({error:"REVIEW_REPORT_REQUEST_REQUIRED"});let e="GET"===a.method?a.query:a.body;if(!e||"object"!=typeof e||Array.isArray(e))return b.status(400).json({error:"INVALID_EXPORT_REQUEST"});let f=new Set(["documentId","title","markdown","format","exportPurpose","reviewReportId","reviewRunId","useClientMarkdown","exportGate","wordTemplatePath","projectRoot"]);if(Object.keys(e).some(a=>!f.has(a)))return b.status(400).json({error:"INVALID_EXPORT_OPTION",message:"存在不受支持的导出参数,请使用明确的 exportPurpose。"});if(void 0!==e.exportPurpose&&"review"!==e.exportPurpose&&"delivery"!==e.exportPurpose)return b.status(400).json({error:"INVALID_EXPORT_PURPOSE"});let g=e.exportPurpose??"review",h=e.projectRoot||(0,L.aY)(),i=e.documentId?(0,D.getGeneratedDocument)(e.documentId,h):null;if(e.documentId&&(!i||i.id!==e.documentId))return b.status(404).json({error:"Document not found"});if(e.reviewReportId){if(!/^[a-f0-9]{64}$/u.test(e.reviewReportId))return b.status(400).json({error:"INVALID_REVIEW_REPORT_ID"});let a=function(a,b,c){if(!/^[a-f0-9]{64}$/u.test(b))throw Error("INVALID_REVIEW_REPORT_ID");let d=(0,s.HM)(a,`review-export-${b}.json`,c);if(!j().existsSync(d))return;let e=j().readFileSync(d);if(Q(e)!==b)throw Error("REVIEW_REPORT_IDENTITY_MISMATCH");let f=JSON.parse(e.toString("utf8"));if(f.runId!==(c??null))throw Error("REVIEW_REPORT_RUN_MISMATCH");return f}((0,D.Gl)(h),e.reviewReportId,e.reviewRunId);return a&&a.documentId===(i?.id??null)?(b.setHeader("Content-Type","application/json; charset=utf-8"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${aa(a.title)}_审阅问题报告_${a.body.sha256.slice(0,12)}.json`)}`),b.status(200).send(JSON.stringify(a))):b.status(404).json({error:"REVIEW_REPORT_NOT_FOUND"})}let k=i?.draft?.bidComposition,p=e.title||i?.title||"document",u=(0,N.b2)(k?.formatRules),v=function(a,b){if(void 0!==b)return b;if(a?.editedMarkdown!==void 0)return a.editedMarkdown;let c=a?.markdown||a?.draft?.markdown;return c?.trim()?c:(a?.checkpointChapters??[]).filter(a=>(0,t.a1)(a.content??"")).map(a=>a.content).join("\n\n")}(i,e.useClientMarkdown&&"string"==typeof e.markdown?e.markdown:i?void 0:e.markdown),y=v;if("review"!==g||e.useClientMarkdown||i?.editedMarkdown||(v=function(a,b,c,d){if(!a?.runId||!a.id||!d.includes("```mermaid"))return d;let e=l().dirname((0,s.HM)(b,"document-model-author.json",a.runId));if(!j().existsSync(e))return d;let f=j().readdirSync(e).filter(a=>/^document-model-checkpoint-\d+\.json$/u.test(a)).sort().at(-1);if(!f)return d;let g=JSON.parse(j().readFileSync(l().join(e,f),"utf8"));if(!g||"object"!=typeof g||!g.tasks||"object"!=typeof g.tasks)throw Error("当前审阅结构化稿无法读取,不能把图源假装渲染成功");let h=(0,q.rZ)({generatedDir:b,projectRoot:c,documentId:a.id}),i=d;for(let a of Object.values(g.tasks))for(let b of a.current?.output?.units??[]){if("figure"!==b.kind)continue;let a={...b,heading:void 0},c=(0,r.renderAuthorUnit)(a),d=c.indexOf("```mermaid");if(d<0)continue;let e=c.slice(d);if(!i.includes(e))continue;let f=h.renderer(a),g=("string"==typeof f?[f]:f).map((b,c)=>`![${a.caption.replaceAll("[","").replaceAll("]","")}${c?"(续)":""}](${b})`).join("\n\n");i=i.replace(e,g)}let k=h.receipts();if(k.length){let c=(0,m.createHash)("sha256").update(d).digest("hex"),e=(0,m.createHash)("sha256").update(i).digest("hex"),g=(0,m.createHash)("sha256").update(JSON.stringify([c,e,f])).digest("hex");(0,s.tv)(b,`review-figure-assets-${g}.json`,{runId:a.runId,documentId:a.id,modelFile:f,sourceHash:c,renderedHash:e,renderedFromExistingUnitsOnly:!0,receipts:k},a.runId)}return i}(i,(0,D.Gl)(h),h,v)),!(0,t.a1)(v))return b.status(422).json({error:"EMPTY_EXPORT_BODY",message:"当前没有已写入的正文,不能生成空白审阅文件。"});let z=i?.reviewMetadata?.contractQuality??i?.draft?.reviewMetadata?.contractQuality,A=i?.draft?.markdown||i?.markdown||"",B=aX(v,A===y?v:A),{markdown:C,audit:E}=B,F=e.format;if(!F||!["markdown","html","pdf","docx"].includes(F))return b.status(400).json({error:"INVALID_EXPORT_FORMAT",message:"请选择有效的导出格式。"});B.issues.length>0&&b.setHeader(Z.contentIssues,encodeURIComponent(JSON.stringify(B.issues.slice(0,20))));let G=_(E);G&&b.setHeader(Z.renderAudit,encodeURIComponent(JSON.stringify(G)));let H=i?.draft?.exportGate||e.exportGate,J=(H?.blockingIssues||[]).map(a=>({level:"error",...a})),O=H?.passed===!1&&0===J.length?[{level:"error",message:"导出门禁未通过:存在未完成的检查项"}]:[],U=[...J,...O],W=[i?.draft?.exportGate?.deliveryFingerprint,i?.draft?.exportGate?.textFingerprint].find(a=>"string"==typeof a&&a.length>0),X=(0,M.c6)(v),Y=W?W===X?"matched":"mismatch":"absent";"matched"!==Y&&b.setHeader(Z.gateBinding,Y);let $="mismatch"===Y?[{level:"error",severity:"blocker",message:"将交付的正文与门禁判定时的正文**不是同一份**(收口后被编辑/替换):放行依据对不上这份文本,本份正文尚未取得交付资格。",suggestion:"若改动是有意的:重新生成或重跑校验后再导出;若只是留档:请用审阅导出。"}]:[],ab=z&&(z.documentHash!==(0,x.Sl)(i?.draft?.chapters??[],v)||!(0,x.R3)(z))?[{level:"error",severity:"blocker",message:z.documentHash!==(0,x.Sl)(i?.draft?.chapters??[],v)?"正文已经变更,冻结合同的七维评价回执属于旧版本,须重新评价后交付。":"当前协议的七维职责核验及专业档位尚未达标,历史回执和客户端门禁声明不能替代。"}]:[],ac=i&&i.draft?.exportGate?.passed===!0&&"absent"!==Y||U.length||$.length||ab.length?[]:[{level:"error",severity:"blocker",message:"未取得服务端对本份正文的已通过评价及绑定回执;本次仅可作审阅导出,客户端声明不能替代评价。"}],ad=[...U,...$,...ab,...z?(0,x.ie)(z):[],...ac,...(function(a,b,c){if(!a?.runId)return["交付导出缺少当前生成运行身份"];let d=S(b,a.runId,"run-inputs.json").data,e=S(b,a.runId,"document-contract.json").data,f=S(b,a.runId,"project-model.json").data,g=S(b,a.runId,"contract-quality.json").data,h=S(b,a.runId,"tender-requirements.json").data,i=S(b,a.runId,"tender-source-coverage-review.json").data,j=a.reviewMetadata?.contractQuality??a.draft?.reviewMetadata?.contractQuality,k=(0,x.Sl)(a.draft?.chapters??[],c),l=[];if(j&&j.documentHash===k&&(0,x.R3)(j)&&g&&JSON.stringify(g)===JSON.stringify(j)||l.push("缺少本份正文的当前实际冻结合同七维评价回执"),e&&f&&j&&j.contractId===e.id&&j.projectSnapshotId===f.snapshotId||l.push("评价回执与冻结合同、项目来源身份未绑定"),e){e.version!==P.GM&&l.push("冻结合同属于历史协议,须按当前写作及评价协议重新生成");let{id:a,...b}=e;a!==Q(JSON.stringify(b))&&l.push("冻结合同原始内容与身份不一致")}if(f){let{snapshotId:a,...b}=f;a!==Q(JSON.stringify(b))&&l.push("项目来源快照原始内容与身份不一致")}d&&d.runId===a.runId&&d.documentId===a.id&&Array.isArray(d.sources)&&d.sources.length||l.push("缺少本次运行的完整来源输入绑定");let m=a.draft?.exportGate?.checklist?.filter(a=>"tender-source-completeness"===a.key),n=R(h?.sourceLibrary),o=Array.isArray(n?.units)?n.units:void 0,p=Array.isArray(i?.batches)?i.batches.map(R):void 0,q=p?.flatMap(a=>Array.isArray(a?.requestedIndices)?a.requestedIndices:[]),r=p?.flatMap(a=>Array.isArray(a?.responseIndices)?a.responseIndices:[]),s=o?.map(a=>R(a)?.index),t=(a,b)=>!!(a&&b&&a.every(a=>Number.isSafeInteger(a)&&Number(a)>=0)&&new Set(a).size===a.length&&a.length===b.length&&a.every(a=>b.includes(a)));return!(!m||1!==m.length||!0!==m[0].passed||!i||"tender-source-coverage-review-v3"!==i.version||"measured"!==i.status||i.documentHash!==k||!n||i.sourceHash!==Q(JSON.stringify(n))||!Array.isArray(i.omissions)||i.omissions.length||!p?.length||p.some(a=>!Array.isArray(a?.errors)||a.errors.length||!t(Array.isArray(a.responseIndices)?a.responseIndices:void 0,Array.isArray(a.requestedIndices)?a.requestedIndices:void 0)))&&s?.length&&t(q,s)&&t(r,s)||l.push("完整来源技术义务漏项审阅未通过或回执与本份正文、原来源不一致"),l})(i,(0,D.Gl)(h),v).map(a=>({level:"error",severity:"blocker",message:a}))],ae=0===ad.length&&0===E.blockers.length,af=(a,d,e)=>{let f=function(a){let{record:b}=a,c=S(a.generatedDir,b?.runId,"run-inputs.json"),d=S(a.generatedDir,b?.runId,"document-contract.json").data,e=S(a.generatedDir,b?.runId,"document-model-final.json"),f=e.data?e:S(a.generatedDir,b?.runId,"document-model-author.json"),g=f.data,h=Array.isArray(c.data?.sources)?c.data.sources:void 0,i=T(d?.chapters??b?.draft?.chapters),j=(b?.draft?.chapters??b?.checkpointChapters??[]).filter(a=>(0,t.a1)(a.content??"")),k=T(j).filter(b=>j.some(c=>c.id===b.id&&a.markdown.includes(c.content))),l=i.length>0&&k.length===j.length,m=b?.reviewMetadata?.contractQuality??b?.draft?.reviewMetadata?.contractQuality,n=S(a.generatedDir,b?.runId,"tender-source-coverage-review.json"),o=R(c.data?.buildIdentity),p=!!(h&&c.sha256&&c.data?.runId===b?.runId&&c.data?.documentId===b?.id);return{version:1,purpose:a.purpose,capturedAt:Date.now(),documentId:b?.id??null,runId:b?.runId??null,title:a.title,format:a.format??"unmeasured",body:{sha256:Q(a.markdown),bytes:Buffer.byteLength(a.markdown),chars:a.markdown.length},identity:{exportBuildId:a.buildId??null,generationBuildId:"string"==typeof o?.sourceFingerprint?o.sourceFingerprint:null,runInputsSha256:c.sha256??null,sourceSnapshotSha256:h?Q(JSON.stringify(h)):null,sourceCount:h?.length??null,status:p?"bound":"unmeasured"},generation:{status:b?.status??"editor",error:b?.error??null,warnings:b?.warningIssues??[]},chapters:{status:l?"measured":"unmeasured",expected:i,written:k,missing:l?i.filter(a=>!k.some(b=>b.id===a.id)):[],...!l?{reason:"缺少完整章计划,或编辑后正文无法与原章节快照逐字对位;不把无法对位冒充已证缺章"}:{}},acceptance:{passed:a.acceptancePassed,issues:[...a.issues]},sourceCompleteness:{checklist:b?.draft?.exportGate?.checklist?.find(a=>"tender-source-completeness"===a.key)??null,receipt:n.data??null,receiptSha256:n.sha256??null},quality:{status:m?m.documentHash===(0,x.Sl)(b?.draft?.chapters??[],a.markdown)?"current":"historical":"unmeasured",receipt:m??null},rework:{status:g?"recorded":"unmeasured",modelSha256:f.sha256??null,authorPassSealed:"boolean"==typeof g?.authorPassSealed?g.authorPassSealed:null,c0ReferenceChars:"number"==typeof g?.c0ReferenceChars?g.c0ReferenceChars:null,ledger:g?.rework??null,revisionCount:Array.isArray(g?.revisions)?g.revisions.length:null,userRevisionCount:b?.revisionLog?.length??0},render:a.render??{status:"pending"}}}({record:i,generatedDir:(0,D.Gl)(h),markdown:v,title:p,purpose:g,format:F,buildId:(0,w.S)()?.sourceFingerprint,acceptancePassed:ae&&0===ad.length&&0===E.blockers.length,issues:[...ad.map(a=>a.message),...B.issues],render:{status:a,...d?{error:d}:{},audit:_(E),...void 0!==e?{artifact:{sha256:(0,m.createHash)("sha256").update(e).digest("hex"),bytes:Buffer.byteLength(e)}}:{}}});c={...function(a,b){let c=Q(JSON.stringify(b)),d=(0,s.tv)(a,`review-export-${c}.json`,b,b.runId??void 0);return{id:c,sha256:d.sha256,bodySha256:b.body.sha256}}((0,D.Gl)(h),f),...i?.runId?{runId:i.runId}:{}},b.setHeader(Z.issuesReport,encodeURIComponent(JSON.stringify(c))),b.setHeader(Z.bodySha256,f.body.sha256),b.setHeader(Z.exportPurpose,g),b.setHeader(Z.gatePassed,f.acceptance.passed?"true":"false")};if(af("pending"),"delivery"===g&&E.blockers.length>0)return af("failed",E.blockers.map(a=>a.message).join(";")),b.status(422).json({error:"EXPORT_SOURCE_STRUCTURAL_DEFECT",message:`导出源存在结构性缺陷,已按纯渲染模式阻断(不再补造表头):${E.blockers.slice(0,3).map(a=>a.message).join(";")}`,issues:E.blockers.slice(0,20)});if(!ae&&"delivery"===g)return af("failed","当前正文尚未通过交付验收"),b.status(422).json({error:"EXPORT_GATE_BLOCKED",message:`导出门禁未通过(${ad.length} 项阻断),文档未达交付标准,已阻止导出。请先使用审阅导出供专业人员核对,交付导出须通过本份正文的验收。`,issues:ad.slice(0,20)});b.setHeader(Z.gatePassed,ae?"true":"false"),b.setHeader(Z.notDeliverable,"review"===g?"true":"false"),ae||(b.setHeader(Z.gateIssues,encodeURIComponent(JSON.stringify(ad.map(a=>a.message).slice(0,20)))),b.setHeader(Z.gateIssueCount,String(ad.length)));let ag="review"===g?function(a){let b=a.lastIndexOf("."),c=b>0?a.slice(0,b):a;return c.endsWith("_审阅稿")?a:b>0?`${c}_审阅稿${a.slice(b)}`:`${a}_审阅稿`}(aa(p)):aa(p),ah=a=>{let c=function(a,b,c="enforce"){let d=b?.pageMin,e=b?.pageLimit;if("informational"===c)return{status:"informational",passed:!0,reason:"本轮按专业内容验收,真实页数仅供后续人工排版参考",pages:a??null,min:d??null,max:e??null};if(void 0===d&&void 0===e)return{status:"not-applicable",passed:!0,reason:"本轮没有页数上下限义务",pages:a??null,min:null,max:null};if(void 0!==d&&(!Number.isInteger(d)||d<=0)||void 0!==e&&(!Number.isInteger(e)||e<=0)||void 0!==d&&void 0!==e&&d>e)return{status:"unmeasured",passed:!1,reason:"冻结的页数义务不完整或上下限冲突,须回到合同编译处理",pages:a??null,min:d??null,max:e??null};if(void 0===a||!Number.isInteger(a)||a<=0)return{status:"unmeasured",passed:!1,reason:"实际渲染页数未完成测量,不能以字数或估算页数代替",pages:null,min:d??null,max:e??null};let f=(void 0===d||a>=d)&&(void 0===e||a<=e);return{status:f?"met":"not-met",passed:f,reason:f?`实际${a}页满足页数义务`:`实际${a}页未满足${void 0===d?"":`不少于${d}页`}${void 0!==d&&void 0!==e?"、":""}${void 0===e?"":`不超过${e}页`}`,pages:a,min:d??null,max:e??null}}(a,k?.formatRules,"informational"),d=k?.formatRules.pageLimit;if(d&&a&&a>d){let e=k?.formatRules.pageEvidence?.filter(a=>"max"===a.kind&&a.value===d),f=e?.length&&e.every(a=>"recommendation"===a.status)?"来源篇幅建议":"尚未核定适用范围的篇幅候选";b.setHeader(Z.pageLimit,encodeURIComponent(`${f}:当前${a}页,参考${d}页;${c.reason}`))}};try{if("markdown"===F){let a=an(C,h,E),e=_(E);return e&&b.setHeader(Z.renderAudit,encodeURIComponent(JSON.stringify(e))),b.setHeader(Z.figureInline,encodeURIComponent(JSON.stringify({inlined:a.report.inlined,failed:a.report.failed.map(a=>`${a.name}:${a.reason}`).slice(0,20)}))),af("succeeded",void 0,a.markdown),a$(i,F,h,e||G,ad,void 0,{content:a.markdown,startedAt:d},g,c),b.setHeader("Content-Type","text/markdown; charset=utf-8"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${ag}.md`)}`),b.status(200).send(a.markdown)}if("docx"===F){let a=E.blockers.length,f=await aI(p,C,u,"review"===g?void 0:e.wordTemplatePath,h,E,k?.formatRules,"review"===g),j=f.buffer;if(f.imageReceipt.embedded!==f.imageReceipt.expected||f.imageReceipt.layoutIssues?.length){let a=f.imageReceipt.layoutIssues?.join(";")??`DOCX图件未完整进包:应有${f.imageReceipt.expected}处,实际${f.imageReceipt.embedded}处;不能以文字占位代替图件交付`;if(ad.push({level:"error",severity:"blocker",message:a}),"delivery"===g)return af("failed",a),b.status(422).json({error:"EXPORT_FIGURE_NOT_CONSERVED",message:a});b.setHeader(Z.gatePassed,"false"),b.setHeader(Z.notDeliverable,"true"),b.setHeader(Z.gateIssues,encodeURIComponent(JSON.stringify(ad.map(a=>a.message).slice(0,20)))),b.setHeader(Z.gateIssueCount,String(ad.length))}f.templateWarning&&(b.setHeader(Z.templateWarning,encodeURIComponent(f.templateWarning)),console.error(`[export] ${f.templateWarning}`));let l=_(E);if(l&&b.setHeader(Z.renderAudit,encodeURIComponent(JSON.stringify(l))),"delivery"===g&&E.blockers.length>a){let c=E.blockers.slice(a);return af("failed",c.map(a=>a.message).join(";")),b.status(422).json({error:"EXPORT_RENDER_NOT_PURE",message:`docx 渲染阶段存在未声明的正文改动,已按纯渲染模式阻断:${c.slice(0,3).map(a=>a.message).join(";")}`,issues:c.slice(0,20)})}let m=await K(j).catch(a=>({unavailableReason:`渲染器异常:${a instanceof Error?a.message.split("\n")[0]:String(a)}`})),n=void 0!==m.pages&&null!==m.pages?{pages:m.pages,renderer:m.renderer||"unknown"}:{unavailableReason:m.unavailableReason||"未知原因"};return ah(m.pages),af("succeeded",void 0,j),a$(i,F,h,l||G,ad,n,{content:j,startedAt:d},g,c),b.setHeader("Content-Type","application/vnd.openxmlformats-officedocument.wordprocessingml.document"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${ag}.docx`)}`),b.status(200).send(j)}let f=await aY(p,C,u,h,k?.formatRules.monoColor===!0,E);"review"===g&&(f=function(a){let b=j().readFileSync(o()).toString("base64"),c=`<style>@font-face{font-family:"${n}";src:url(data:font/otf;base64,${b}) format("opentype");font-weight:400;font-style:normal;}body,body *{font-family:"${n}",sans-serif!important;}</style>`;if(!a.includes("</head>"))throw Error("审阅HTML缺少文档头,无法可靠嵌入中文字体");return a.replace("</head>",`${c}</head>`)}(f),E.notices.push({code:"review-font-fallback",message:"审阅HTML/PDF嵌入Noto Sans CJK SC,保证跨环境中文可读;字体替代未认定为指定投标字体达标"}));let l=_(E);if(l&&b.setHeader(Z.renderAudit,encodeURIComponent(JSON.stringify(l))),"html"===F)return af("succeeded",void 0,f),a$(i,F,h,l||G,ad,void 0,{content:f,startedAt:d},g,c),b.setHeader("Content-Type","text/html; charset=utf-8"),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${ag}.html`)}`),b.status(200).send(f);try{let a=await aZ(f,u,k?.formatRules),e=await I(a);return ah(e),af("succeeded",void 0,a),a$(i,F,h,l||G,ad,e?{pages:e,renderer:"chromium-pdf-page-tree"}:{unavailableReason:"PDF页树解析失败,实际页数未完成验收"},{content:a,startedAt:d},g,c),b.setHeader("Content-Type","application/pdf"),e&&b.setHeader(Z.pdfPageCount,String(e)),b.setHeader("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(`${ag}.pdf`)}`),b.status(200).send(a)}catch(c){return af("failed",c instanceof Error?c.message:String(c)),(0,V.wF)({level:"error",source:"api/documents/export",functionName:"pdfExportChromium",error:c,req:a,meta:{fallback:"system-browser-attempted"}}),b.status(500).json({error:"PDF_RENDER_FAILED",message:"PDF 渲染失败:未找到或无法启动可用的 Chrome/Chromium/Edge。请安装 Chrome,或设置 PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH 后重试。"})}}catch(a){return af("failed",a instanceof Error?a.message:String(a)),b.status(500).json({error:"EXPORT_RENDER_FAILED",message:"渲染失败,独立审阅报告已保留。"})}}let a0={inlineLocalImages:ah,inlineMarkdownFigures:an,createInlineImageResolver:ag,resolveLocalImagePath:af,rasterizeMarkdownSvgFigures:aA,buildDocxInternal:aK,createExportRenderAudit:$,exportRenderAuditReport:_,canonicalExportText:aS,exportConservationDiff:function(a,b){return aT(aS(a),aS(b))},diffCanonicalText:aT,docxVisibleText:aU,canonicalDocxText:aV,docxStageConservationDiff:aW,prepareExportMarkdown:aX,stripInlineMarkdown:ar,enhanceTocHtml:aN,buildExportHtml:aY,renderPdfBuffer:aZ,resolveExportStyle:aw,buildDocx:aI,markdownToDocxXml:aG,validateExportMarkdown:aR,isTableCaptionLine:aC,DOCX_TOC_FIELD_PLACEHOLDER:aD},a1=(0,W.j)("api/documents/export",a_);var a2=c(68970),a3=c(50296);let a4=(0,h.M)(d,"default"),a5=(0,h.M)(d,"config"),a6=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/documents/export",pathname:"/api/documents/export",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function a7(a,b,c){let d=await a6.prepare(a,b,{srcPage:"/api/documents/export"});if(!d){b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve());return}let{query:f,params:g,prerenderManifest:h,routerServerContext:i}=d;try{let c=a.method||"GET",d=(0,a2.getTracer)(),e=d.getActiveScopeSpan(),j=a6.instrumentationOnRequestError.bind(a6),k=async e=>a6.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:a6.isDev,page:"/api/documents/export",internalRevalidate:null==i?void 0:i.revalidate,onError:(...b)=>j(a,...b)}).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let f=d.getRootSpanAttributes();if(!f)return;if(f.get("next.span_type")!==a3.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${f.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let g=f.get("next.route");if(g){let a=`${c} ${g}`;e.setAttributes({"next.route":g,"http.route":g,"next.span_name":a}),e.updateName(a)}else e.updateName(`${c} ${a.url}`)});e?await k(e):await d.withPropagatedContext(a.headers,()=>d.trace(a3.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:a2.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(a6.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},28183:a=>{a.exports=require("@napi-rs/canvas")},29021:a=>{a.exports=require("fs")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},55511:a=>{a.exports=require("crypto")},57975:a=>{a.exports=require("node:util")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},83142:a=>{a.exports=import("marked")},83237:a=>{a.exports=import("playwright")},85497:(a,b,c)=>{c.d(b,{c:()=>d});async function d(a){let{Marked:b}=await Promise.resolve().then(c.bind(c,83142));return new b({async:!1,gfm:!0,breaks:!0,...a?{renderer:a}:{},tokenizer:{del(a){if(a.startsWith("~~"))return!1}}})}},88194:a=>{a.exports=require("jszip")},95393:a=>{a.exports=require("@customize-agent/llm")},96770:a=>{a.exports=require("@customize-agent/runtime")},97864:a=>{a.exports=import("pdfjs-dist/legacy/build/pdf.worker.mjs")}};var b=require("../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705,5746,5304,3806,2434,1243,1001,9666],()=>b(b.s=26735));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=8202,a.ids=[8202],a.modules={15751:a=>{a.exports=require("xlsx")},16698:a=>{a.exports=require("node:async_hooks")},19898:a=>{a.exports=require("@customize-agent/knowledge")},29021:a=>{a.exports=require("fs")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},55511:a=>{a.exports=require("crypto")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},83823:(a,b,c)=>{c.r(b),c.d(b,{config:()=>r,default:()=>q,handler:()=>t});var d={};c.r(d),c.d(d,{default:()=>n});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(16006),j=c(
|
|
1
|
+
"use strict";(()=>{var a={};a.id=8202,a.ids=[8202],a.modules={15751:a=>{a.exports=require("xlsx")},16698:a=>{a.exports=require("node:async_hooks")},19898:a=>{a.exports=require("@customize-agent/knowledge")},29021:a=>{a.exports=require("fs")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},55511:a=>{a.exports=require("crypto")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},83823:(a,b,c)=>{c.r(b),c.d(b,{config:()=>r,default:()=>q,handler:()=>t});var d={};c.r(d),c.d(d,{default:()=>n});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(16006),j=c(49844),k=c(60939),l=c(70610);async function m(a,b){if("POST"!==a.method)return b.status(405).json({error:"Method not allowed"});let{promptIds:c,requirement:d,title:e,projectName:f,materialRoot:g,projectRoot:h}=a.body;if(!h)return b.status(400).json({error:"projectRoot required"});try{let a=(0,k.iA)({promptIds:c??[],requirement:d,projectRoot:h,title:e,projectName:f}),i=(0,j.ZRt)(h,(0,k.TQ)(a),[...(0,l.Z0)(c??[],{projectRoot:h}).map(a=>a.content),d||""].filter(Boolean).join("\n\n"),g?{materialRoot:g}:{});if(i.ambiguous||!i.locked||0===i.selectedFiles.length)return b.status(422).json({error:`结构预览失败:资料范围未锁定:${i.reason}`,issues:[{level:"error",message:`资料范围未锁定:${i.reason}`,missing:[]}],missing:[]});return b.status(200).json({title:a.title,documentType:a.documentType,chapterCount:a.chapters.length,chapters:a.chapters.map((b,c)=>({title:b.title,sections:a.derivation.perChapter[c].sectionsFromOutline,candidateSections:a.derivation.perChapter[c].sectionsFromSkills})),derivation:a.derivation,materialScope:{root:i.selectedRoots[0],fileCount:i.selectedFiles.length,reason:i.reason}})}catch(c){let a=(0,k.MW)(c);return b.status(422).json({error:`结构预览失败:${a[0]?.message||"文档规格派生失败"}`,issues:a,missing:a[0]?.missing??[]})}}let n=(0,i.j)("api/documents/generate/preview",m);var o=c(68970),p=c(50296);let q=(0,h.M)(d,"default"),r=(0,h.M)(d,"config"),s=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/documents/generate/preview",pathname:"/api/documents/generate/preview",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function t(a,b,c){let d=await s.prepare(a,b,{srcPage:"/api/documents/generate/preview"});if(!d){b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve());return}let{query:f,params:g,prerenderManifest:h,routerServerContext:i}=d;try{let c=a.method||"GET",d=(0,o.getTracer)(),e=d.getActiveScopeSpan(),j=s.instrumentationOnRequestError.bind(s),k=async e=>s.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:s.isDev,page:"/api/documents/generate/preview",internalRevalidate:null==i?void 0:i.revalidate,onError:(...b)=>j(a,...b)}).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let f=d.getRootSpanAttributes();if(!f)return;if(f.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${f.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let g=f.get("next.route");if(g){let a=`${c} ${g}`;e.setAttributes({"next.route":g,"http.route":g,"next.span_name":a}),e.updateName(a)}else e.updateName(`${c} ${a.url}`)});e?await k(e):await d.withPropagatedContext(a.headers,()=>d.trace(p.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:o.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(s.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},95393:a=>{a.exports=require("@customize-agent/llm")},96770:a=>{a.exports=require("@customize-agent/runtime")}};var b=require("../../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705,5746,5304,3806,2434,1243,1001,9666],()=>b(b.s=83823));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=6011,a.ids=[6011],a.modules={13684:(a,b,c)=>{c.r(b),c.d(b,{config:()=>v,default:()=>u,handler:()=>x});var d={};c.r(d),c.d(d,{default:()=>r});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(70949),j=c(16006),k=c(
|
|
1
|
+
"use strict";(()=>{var a={};a.id=6011,a.ids=[6011],a.modules={13684:(a,b,c)=>{c.r(b),c.d(b,{config:()=>v,default:()=>u,handler:()=>x});var d={};c.r(d),c.d(d,{default:()=>r});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(70949),j=c(16006),k=c(49844),l=c(76760),m=c(45462),n=c(60939),o=c(70610),p=c(46026);async function q(a,b){if("POST"!==a.method)return b.status(405).json({error:"Method not allowed"});let{promptIds:c,requirement:d,title:e,projectName:f,materialRoot:g,maxEvidencePerChapter:h,projectRoot:j,resumeDocumentId:q}=a.body;if(!j)return b.status(400).json({error:"projectRoot required"});let r=f??(q?(0,i.getGeneratedDocument)(q,j)?.projectName:void 0),s=function(a){try{return{spec:(0,n.iA)(a),promptTexts:(0,o.Z0)(a.promptIds,{projectRoot:a.projectRoot}).map(a=>a.content)}}catch(a){return{issues:(0,n.MW)(a)}}}({promptIds:c??[],requirement:d,projectRoot:j,title:e,projectName:r});if("issues"in s){let a=s.issues??(0,n.MW)(Error("文档规格派生失败"));return b.status(422).json({error:`生成前检查未通过:${a[0]?.message||"文档规格派生失败"}`,issues:a,missing:a[0]?.missing??[]})}let{spec:t,promptTexts:u}=s,v=function(a,b,c,d,e){let f=[...c,d||""].filter(Boolean).join("\n\n");return(0,k.ZRt)(a,(0,n.TQ)(b),f,e?{materialRoot:e}:{})}(j,t,u,d,g);if(v.ambiguous||!v.locked||0===v.selectedFiles.length)return b.status(422).json({error:`生成前检查未通过:资料范围未锁定:${v.reason}`,issues:[{level:"error",message:`资料范围未锁定:${v.reason}`,missing:[]}]});let w=[...function(a){if(0===a.length)return[];let b=[],c=new Map,d=new Map;for(let b of a){let{kind:a}=(0,m.O)(b);c.set(a,(c.get(a)??0)+1);let e=d.get(a)??[];e.length<3&&e.push(l.basename(b)),d.set(a,e)}let e=a=>{let b=c.get(a)??0;return b>0?`${b} 份(${(d.get(a)??[]).join("、")}${b>3?" 等":""})`:"**缺失**"},f=`招标 ${e("tender_document")}|清单 ${e("bill_of_quantities")}|图纸 ${e("drawing")}|补疑 ${e("addendum")}`;for(let a of[{kind:"tender_document",label:"招标文件",hint:"缺招标文件则编制规格、评审要求与响应锚点无从提取,要求实体响应(权重 0.30)无判定对象"},{kind:"bill_of_quantities",label:"工程量清单",hint:"缺清单则工程量/规格/资源计划类权威值全部不可推导,蓝图不可用"},{kind:"drawing",label:"图纸/设计资料",hint:"缺图纸则施工方法、专业接口与构造做法无依据,针对性章无法成稿"}].filter(a=>(c.get(a.kind)??0)===0))b.push({level:"error",message:`资料不齐备:未识别到${a.label}。${a.hint}。请补充后重新索引再生成。(当前资料构成:${f})`});return(c.get("addendum")??0)===0&&b.push({level:"warning",message:`未识别到补疑/答疑澄清资料(若本项目确无答疑可忽略)。当前资料构成:${f}`}),b}(v.selectedFiles),...(0,p.$)(j,v.selectedFiles)],x=w.filter(a=>"error"===a.level);if(x.length>0)return b.status(422).json({error:`生成前检查未通过:${x[0].message}`,issues:[...x,...w.filter(a=>"warning"===a.level)]});let y=(0,i.YL)({promptIds:c??[],requirement:d,title:t.title,projectName:r,materialRoot:v.selectedRoots[0],maxEvidencePerChapter:h,resumeDocumentId:q},j);b.status(202).json({...y,documentSpec:{id:t.id,title:t.title,documentType:t.documentType,chapterCount:t.chapters.length},derivation:t.derivation,materialScope:{root:v.selectedRoots[0],fileCount:v.selectedFiles.length,reason:v.reason},warnings:w})}let r=(0,j.j)("api/documents/generate",q);var s=c(68970),t=c(50296);let u=(0,h.M)(d,"default"),v=(0,h.M)(d,"config"),w=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/documents/generate",pathname:"/api/documents/generate",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function x(a,b,c){let d=await w.prepare(a,b,{srcPage:"/api/documents/generate"});if(!d){b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve());return}let{query:f,params:g,prerenderManifest:h,routerServerContext:i}=d;try{let c=a.method||"GET",d=(0,s.getTracer)(),e=d.getActiveScopeSpan(),j=w.instrumentationOnRequestError.bind(w),k=async e=>w.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:w.isDev,page:"/api/documents/generate",internalRevalidate:null==i?void 0:i.revalidate,onError:(...b)=>j(a,...b)}).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let f=d.getRootSpanAttributes();if(!f)return;if(f.get("next.span_type")!==t.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${f.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let g=f.get("next.route");if(g){let a=`${c} ${g}`;e.setAttributes({"next.route":g,"http.route":g,"next.span_name":a}),e.updateName(a)}else e.updateName(`${c} ${a.url}`)});e?await k(e):await d.withPropagatedContext(a.headers,()=>d.trace(t.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:s.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(w.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},15751:a=>{a.exports=require("xlsx")},16698:a=>{a.exports=require("node:async_hooks")},19898:a=>{a.exports=require("@customize-agent/knowledge")},29021:a=>{a.exports=require("fs")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},55511:a=>{a.exports=require("crypto")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},95393:a=>{a.exports=require("@customize-agent/llm")},96770:a=>{a.exports=require("@customize-agent/runtime")}};var b=require("../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705,5746,5304,3806,2434,1243,1001,9666],()=>b(b.s=13684));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=5189,a.ids=[5189],a.modules={12152:(a,b,c)=>{function d(a){let b=e()?.semanticFingerprints?.[a];return"string"==typeof b&&/^[a-f0-9]{64}$/u.test(b)?b:void 0}function e(){let a='{"version":1,"sourceFingerprint":"
|
|
1
|
+
"use strict";(()=>{var a={};a.id=5189,a.ids=[5189],a.modules={12152:(a,b,c)=>{function d(a){let b=e()?.semanticFingerprints?.[a];return"string"==typeof b&&/^[a-f0-9]{64}$/u.test(b)?b:void 0}function e(){let a='{"version":1,"sourceFingerprint":"cf07df1d78876548cb59ce9935b756d62660ad2a6b02180bef97865f98fcc4c8","semanticFingerprints":{"projectFacts":"e60636a041b6b597ae468bd94ba4193348fad5db9058b377be73de4b06fd34d3","documentGeneration":"d9ba2c31c0a84168613b69f6bb15983419fca4e1c74207507c1f520e876022e3"},"gitCommit":"7507c09e332fbc3c131d96116fd15e4acbe71320","serverVersion":"4.60.2","sourceFiles":716,"capturedAt":"2026-10-12T14:10:34.320Z"}';if(a)try{let b=JSON.parse(a);if(1!==b.version||!/^[a-f0-9]{64}$/u.test(b.sourceFingerprint??"")||"string"!=typeof b.serverVersion||"number"!=typeof b.sourceFiles||"string"!=typeof b.capturedAt||null!==b.gitCommit&&"string"!=typeof b.gitCommit)return;return b}catch{return}}c.d(b,{C:()=>d,S:()=>e})},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},51195:(a,b,c)=>{c.r(b),c.d(b,{config:()=>r,default:()=>q,handler:()=>t});var d={};c.r(d),c.d(d,{default:()=>n});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(29021),j=c(33873),k=c(12152);let l=[(0,j.join)(process.cwd(),".next","BUILD_ID"),(0,j.join)(process.cwd(),"apps","server",".next","BUILD_ID")].find(i.existsSync),m=process.env.CUSTOMIZE_DASHBOARD_BUILD_ID??null;if(!m&&l)try{m=(0,i.readFileSync)(l,"utf-8").trim()}catch{m=null}function n(a,b){if("GET"!==a.method)return b.status(405).json({error:"Method not allowed"});try{b.status(200).json({status:"ok",uptime:Math.round(process.uptime()),timestamp:new Date().toISOString(),buildId:m,buildIdentity:(0,k.S)()??null,pid:process.pid})}catch(a){console.error("[api] health",a),b.status(500).json({error:"Internal server error"})}}var o=c(68970),p=c(50296);let q=(0,h.M)(d,"default"),r=(0,h.M)(d,"config"),s=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/health",pathname:"/api/health",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function t(a,b,c){let d=await s.prepare(a,b,{srcPage:"/api/health"});if(!d){b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve());return}let{query:f,params:g,prerenderManifest:h,routerServerContext:i}=d;try{let c=a.method||"GET",d=(0,o.getTracer)(),e=d.getActiveScopeSpan(),j=s.instrumentationOnRequestError.bind(s),k=async e=>s.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:s.isDev,page:"/api/health",internalRevalidate:null==i?void 0:i.revalidate,onError:(...b)=>j(a,...b)}).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let f=d.getRootSpanAttributes();if(!f)return;if(f.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${f.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let g=f.get("next.route");if(g){let a=`${c} ${g}`;e.setAttributes({"next.route":g,"http.route":g,"next.span_name":a}),e.updateName(a)}else e.updateName(`${c} ${a.url}`)});e?await k(e):await d.withPropagatedContext(a.headers,()=>d.trace(p.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:o.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(s.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")}};var b=require("../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705],()=>b(b.s=51195));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=8684,a.ids=[8684],a.modules={19898:a=>{a.exports=require("@customize-agent/knowledge")},29021:a=>{a.exports=require("fs")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},55511:a=>{a.exports=require("crypto")},57975:a=>{a.exports=require("node:util")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},88131:(a,b,c)=>{c.r(b),c.d(b,{config:()=>u,default:()=>t,handler:()=>w});var d={};c.r(d),c.d(d,{default:()=>q});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(16006),j=c(
|
|
1
|
+
"use strict";(()=>{var a={};a.id=8684,a.ids=[8684],a.modules={5934:(a,b,c)=>{c.d(b,{I:()=>e});var d=c(19898);function e(a){let b;if("pdf"!==a.format)return;let c={};try{let b=JSON.parse(a.metadataJson??"{}");c=b.extraction??b}catch{}let e=c.pdfCoverage,f=e?.declaredPageCount,g=Number.isSafeInteger(f)&&Number(f)>0?Number(f):null,h=new Set((b="processedPageIds",Array.isArray(e?.[b])?e[b].filter(a=>Number.isSafeInteger(a)&&Number(a)>0):[])),i=Array.isArray(e?.failedPages)?e.failedPages.map(a=>a?.page).filter(a=>Number.isSafeInteger(a)&&Number(a)>0):[];return{status:(0,d.isCompletePdfSourceCoverage)(e,a.contentHash)?"complete":e?"incomplete":"unmeasured",pageCount:g,processedPages:h.size,missingPages:g?Array.from({length:g},(a,b)=>b+1).filter(a=>!h.has(a)):[],failedPages:i}}},19898:a=>{a.exports=require("@customize-agent/knowledge")},29021:a=>{a.exports=require("fs")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},55511:a=>{a.exports=require("crypto")},57975:a=>{a.exports=require("node:util")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},88131:(a,b,c)=>{c.r(b),c.d(b,{config:()=>u,default:()=>t,handler:()=>w});var d={};c.r(d),c.d(d,{default:()=>q});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(16006),j=c(29021),k=c(33873),l=c(44533),m=c(89900),n=c(57975),o=c(5934);async function p(a,b){if("GET"!==a.method)return b.status(405).json({error:"Method not allowed"});try{let c=a.query.projectRoot||(0,l.aY)(),d=a.query.relativePath;if(!c||!d)return b.status(400).json({error:"projectRoot and relativePath are required"});let e=await (0,l.getMultiProjectManager)().getProject(c),f=e.getFileDetail(d)??function(a,b){let c=(0,m.LI)((0,l.NW)(a),b,{requireFile:!0,mustExist:!0});if(!c.ok){"empty"!==c.reason&&console.warn(`[api] kb/files/detail 拒绝越界读取:${(0,m.vZ)(c.reason)} relativePath=${b}`);return}let d=c.absolute,e=j.statSync(d);return{file:{relativePath:b,category:b.includes("表格数据/")?"spreadsheet":b.includes("图片素材/")?"image":b.includes("图纸文件/")?"cad":b.includes("文档资料/")?"document":"other",format:k.extname(b).slice(1).toLowerCase()||"text",contentHash:"",fileSize:e.size,mtime:e.mtimeMs,chunkCount:0,collectionName:"",indexedAt:0,lastVerifiedAt:Date.now(),status:"pending",metadataJson:JSON.stringify({extractionMode:"pending_extraction",contentCoverage:"尚未解析",textLength:0})},absolutePath:d,directory:k.dirname(d),chunks:[],parents:[],relationships:[],tags:[]}}(c,d);if(!f)return b.status(404).json({error:"file not found"});let g=e.getFileParseAttempt(d),h=(0,o.I)(f.file);b.status(200).json({...f,chunks:function(a,b){let c;if("pdf"!==a.format||!a.metadataJson)return b;try{let d=JSON.parse(a.metadataJson),e=d?.extraction??d;if(!e||"object"!=typeof e||Array.isArray(e))return b;c=e}catch{return b}return b.map(a=>{let b;if(!a.metadataJson)return a;try{let c=JSON.parse(a.metadataJson);if(!c||"object"!=typeof c||Array.isArray(c))return a;b=c}catch{return a}let d=!1;for(let a of["pdfCoverage","pdfNativeReadPageIds","pdfNativeUsablePageIds","pdfProcessedPageIds"])Object.hasOwn(b,a)&&Object.hasOwn(c,a)&&(0,n.isDeepStrictEqual)(b[a],c[a])&&(delete b[a],d=!0);return d?{...a,metadataJson:JSON.stringify(b)}:a})}(f.file,f.chunks),parseAttempt:g,pdfCoverage:h})}catch(a){console.error("[api] kb/files/detail",a),b.status(500).json({error:"Internal server error"})}}let q=(0,i.j)("api/kb/files/detail",p);var r=c(68970),s=c(50296);let t=(0,h.M)(d,"default"),u=(0,h.M)(d,"config"),v=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/kb/files/detail",pathname:"/api/kb/files/detail",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function w(a,b,c){let d=await v.prepare(a,b,{srcPage:"/api/kb/files/detail"});if(!d){b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve());return}let{query:f,params:g,prerenderManifest:h,routerServerContext:i}=d;try{let c=a.method||"GET",d=(0,r.getTracer)(),e=d.getActiveScopeSpan(),j=v.instrumentationOnRequestError.bind(v),k=async e=>v.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:v.isDev,page:"/api/kb/files/detail",internalRevalidate:null==i?void 0:i.revalidate,onError:(...b)=>j(a,...b)}).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let f=d.getRootSpanAttributes();if(!f)return;if(f.get("next.span_type")!==s.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${f.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let g=f.get("next.route");if(g){let a=`${c} ${g}`;e.setAttributes({"next.route":g,"http.route":g,"next.span_name":a}),e.updateName(a)}else e.updateName(`${c} ${a.url}`)});e?await k(e):await d.withPropagatedContext(a.headers,()=>d.trace(s.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:r.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(v.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},89900:(a,b,c)=>{c.d(b,{LI:()=>j,kq:()=>h,n7:()=>k,vZ:()=>l});var d=c(76760),e=c(73024);let f="win32"===process.platform;function g(a){return String(a??"").replace(/\\/gu,"/").replace(/^\/+/u,"").replace(/\/+/gu,"/")}function h(a,b){let c=d.relative(d.resolve(b),d.resolve(a));return!c||!(c.startsWith("..")||d.isAbsolute(c))}function i(a,b){return f?h(a.toLowerCase(),b.toLowerCase()):h(a,b)}function j(a,b,c={}){let f=function(a){let b=String(a??"");if(b.includes("\0"))return"nul_byte";if(/^(?:[A-Za-z]:[\\/]|[\\/]{1,2})/u.test(b))return"absolute";let c=g(b);if(!c||"."===c)return"empty";if(c.length>1e3)return"path_too_long";let d=c.split("/");return d.some(a=>!a)?"empty_segment":d.some(a=>".."===a)?"parent_segment":d.some(a=>a.length>255)?"segment_too_long":null}(b);if(f)return{ok:!1,reason:f};let h=g(b),k=d.resolve(a,h);if(!i(k,a))return{ok:!1,reason:"escapes_root"};try{let b=e.realpathSync(k),c=e.realpathSync(d.resolve(a));if(!i(b,c))return{ok:!1,reason:"escapes_root"}}catch{}return c.mustExist&&!e.existsSync(k)||c.requireFile&&e.existsSync(k)&&!e.statSync(k).isFile()?{ok:!1,reason:"empty"}:{ok:!0,relative:h,absolute:k}}function k(a,b,c={}){let f=String(a??"");if(!f||f.includes("\0"))return{ok:!1,reason:f.includes("\0")?"nul_byte":"empty"};let g=d.resolve(f),h=b.map(a=>d.resolve(a)).filter(Boolean);if(0===h.length)return{ok:!1,reason:"escapes_root"};let j=null;try{j=e.realpathSync(g)}catch{j=null}return h.some(a=>{let b;if(!i(g,a))return!1;if(null===j)return!0;try{b=e.realpathSync(a)}catch{return!0}return i(j,b)})?c.mustExist&&!e.existsSync(g)||c.requireFile&&e.existsSync(g)&&!e.statSync(g).isFile()?{ok:!1,reason:"empty"}:{ok:!0,relative:d.relative(h[0],g),absolute:g}:{ok:!1,reason:"escapes_root"}}function l(a){return({empty:"路径为空或不存在",nul_byte:"路径包含非法字符",absolute:"路径为绝对路径,只接受项目内相对路径",parent_segment:"路径包含上级目录引用(..)",empty_segment:"路径包含空目录段",segment_too_long:"路径中包含过长的名称",path_too_long:"路径过长",escapes_root:"路径不在允许的根目录范围内"})[a]||"路径不合法"}},96770:a=>{a.exports=require("@customize-agent/runtime")}};var b=require("../../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705,5746],()=>b(b.s=88131));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=9499,a.ids=[9499],a.modules={19898:a=>{a.exports=require("@customize-agent/knowledge")},29021:a=>{a.exports=require("fs")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},55511:a=>{a.exports=require("crypto")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},87973:(a,b,c)=>{c.r(b),c.d(b,{config:()=>
|
|
1
|
+
"use strict";(()=>{var a={};a.id=9499,a.ids=[9499],a.modules={5934:(a,b,c)=>{c.d(b,{I:()=>e});var d=c(19898);function e(a){let b;if("pdf"!==a.format)return;let c={};try{let b=JSON.parse(a.metadataJson??"{}");c=b.extraction??b}catch{}let e=c.pdfCoverage,f=e?.declaredPageCount,g=Number.isSafeInteger(f)&&Number(f)>0?Number(f):null,h=new Set((b="processedPageIds",Array.isArray(e?.[b])?e[b].filter(a=>Number.isSafeInteger(a)&&Number(a)>0):[])),i=Array.isArray(e?.failedPages)?e.failedPages.map(a=>a?.page).filter(a=>Number.isSafeInteger(a)&&Number(a)>0):[];return{status:(0,d.isCompletePdfSourceCoverage)(e,a.contentHash)?"complete":e?"incomplete":"unmeasured",pageCount:g,processedPages:h.size,missingPages:g?Array.from({length:g},(a,b)=>b+1).filter(a=>!h.has(a)):[],failedPages:i}}},19898:a=>{a.exports=require("@customize-agent/knowledge")},29021:a=>{a.exports=require("fs")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},55511:a=>{a.exports=require("crypto")},73024:a=>{a.exports=require("node:fs")},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},87973:(a,b,c)=>{c.r(b),c.d(b,{config:()=>u,default:()=>t,handler:()=>w});var d={};c.r(d),c.d(d,{config:()=>o,default:()=>q});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(44533),j=c(16006),k=c(19898),l=c(5934),m=c(73024);let n=require("node:stream/promises"),o={api:{responseLimit:!1}};async function p(a,b){if("GET"!==a.method)return b.status(405).json({error:"Method not allowed"});let c="string"==typeof a.query.projectRoot?a.query.projectRoot:(0,i.aY)(),d="string"==typeof a.query.relativePath?a.query.relativePath:"";if(!c||!d)return b.status(400).json({error:"projectRoot and relativePath are required"});let e=await (0,i.getMultiProjectManager)().getProject(c),f=function(a,b,c={}){return a.store.readSnapshot(()=>{let d=a.store.getRecord(b);if(!d)return;if(void 0!==c.offset&&(!Number.isSafeInteger(c.offset)||c.offset<0)||void 0!==c.limit&&(!Number.isSafeInteger(c.limit)||c.limit<1))throw Error("核查分页参数无效");let e=c.offset??0,f=Math.min(100,c.limit??30),g=(0,l.I)(d),h=a.getParsedFile(b);if(!h){let c=a.listChunks({relativePath:b});return{status:"not-recorded",file:d,pdfCoverage:g,chunks:c.slice(e,e+f).map(a=>({id:a.id,chunkIndex:a.chunkIndex,content:a.content})),offset:e,totalChunks:c.length,nextOffset:e+f<c.length?e+f:null,reason:"独立解析底稿尚未记录,不能追溯证明历史解析完整。已入库内容仍可查看、检索和使用,不以原文件存在或重新解析为前提。"}}if(c.snapshotId&&c.snapshotId!==h.document.snapshotId)throw Error("核查期间解析版本已变化,请刷新页面");let i=a.listChunks({relativePath:b}),j=(0,k.mapChunksToParsedDocument)(h.document,i.map(a=>({index:a.chunkIndex,text:a.content,startChar:a.startChar??0,endChar:a.endChar??0,tokenCount:a.tokenCount,metadata:JSON.parse(a.metadataJson??"{}")}))),m=i.filter(a=>{let b=JSON.parse(a.metadataJson??"{}");return b.parsedSnapshotId!==h.document.snapshotId||b.sourceHash!==d.contentHash}).map(a=>a.chunkIndex),{text:n,structure:o,...p}=h.document;return{status:"recorded",file:d,pdfCoverage:g,identity:p,text:n,structure:{...o,...o.docx?{docx:{...o.docx,images:o.docx.images.map(({name:a,mediaType:b})=>({name:a,mediaType:b}))}}:{}},conservation:{...j.report,staleChunkIdentities:m,registeredChunkCount:d.chunkCount,chunkCountMatches:d.chunkCount===i.length,ingestionStatus:h.conservation.status},chunks:i.slice(e,e+f).map(a=>({id:a.id,chunkIndex:a.chunkIndex,content:a.content,parentId:a.parentId,sectionTitle:a.sectionTitle,sourceSpans:JSON.parse(a.metadataJson??"{}").sourceSpans})),offset:e,totalChunks:i.length,nextOffset:e+f<i.length?e+f:null,validationScope:"文本覆盖及身份核查;版式、图形含义和专业采用独立审查"}})}(e,d,{snapshotId:"string"==typeof a.query.snapshotId?a.query.snapshotId:void 0,offset:Number(a.query.offset??0),limit:Number(a.query.limit??30)});if(!f)return b.status(404).json({error:"file not indexed"});if("string"==typeof a.query.frame){if("recorded"!==f.status||!f.structure.cad?.frameIds.includes(a.query.frame))return b.status(404).json({error:"当前解析图框不存在"});let c=e.store.readSnapshot(()=>{let b=e.getParsedFile(d);if(b?.document.snapshotId!==f.identity.snapshotId)throw Error("图框解析版本已变化,请刷新");let c=e.store.loadCadScene(d);if(c.version!==f.structure.cad.sceneVersion)throw Error("图框与底稿解析版本失配");return(0,k.renderCadSourceView)(c,{frameId:a.query.frame})});return"json"===a.query.format?b.status(200).json({image:`data:image/png;base64,${c.png.toString("base64")}`,receipt:{frameId:c.receipt.frameId,sceneVersion:c.receipt.sceneVersion,viewport:c.receipt.viewport,renderingLimitations:c.receipt.renderingLimitations,sourceInterpretationComplete:!1,approvedForWriting:!1}}):(b.setHeader("Content-Type","image/png"),b.setHeader("Cache-Control","no-store"),b.status(200).send(c.png))}if("1"===a.query.original){if("recorded"!==f.status)return b.status(409).json({error:f.reason});let a=await e.getSourceAssetPath(d,f.identity.snapshotId);return a?(b.setHeader("Content-Type","pdf"===f.file.format?"application/pdf":"application/octet-stream"),b.setHeader("Content-Disposition",`inline; filename*=UTF-8''${encodeURIComponent(d.split("/").at(-1)??"source")}`),b.setHeader("X-Content-Type-Options","nosniff"),b.setHeader("Cache-Control","no-store"),void await (0,n.pipeline)((0,m.createReadStream)(a),b)):b.status(404).json({error:"入库版本原文件快照不存在,未回退到同名当前文件"})}if("string"==typeof a.query.image){let c=e.getParsedFile(d);if("recorded"!==f.status||c?.document.snapshotId!==f.identity.snapshotId)return b.status(409).json({error:"解析图片版本已变化,请刷新"});let g=c?.document.structure.docx?.images.find(b=>b.name===a.query.image);return g?(b.setHeader("Content-Type",g.mediaType),b.setHeader("Content-Security-Policy","sandbox; default-src 'none'"),b.status(200).send(Buffer.from(g.base64,"base64"))):b.status(404).json({error:"解析图片不存在"})}let g="string"==typeof a.query.q?a.query.q.trim():"",h=g?e.search(g,20,{filePaths:[d]}).map(a=>({id:a.id,chunkIndex:a.chunkIndex,sectionTitle:a.sectionTitle,content:a.content,score:a.score})):void 0;return b.setHeader("Cache-Control","no-store"),b.status(200).json({...f,...h?{retrieval:{channel:"keyword",query:g,results:h,scope:"selected-file-only",provesAbsent:!1,modelRequests:0}}:{}})}let q=(0,j.j)("api/kb/files/source-preview",p);var r=c(68970),s=c(50296);let t=(0,h.M)(d,"default"),u=(0,h.M)(d,"config"),v=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/kb/files/source-preview",pathname:"/api/kb/files/source-preview",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function w(a,b,c){let d=await v.prepare(a,b,{srcPage:"/api/kb/files/source-preview"});if(!d){b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve());return}let{query:f,params:g,prerenderManifest:h,routerServerContext:i}=d;try{let c=a.method||"GET",d=(0,r.getTracer)(),e=d.getActiveScopeSpan(),j=v.instrumentationOnRequestError.bind(v),k=async e=>v.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:v.isDev,page:"/api/kb/files/source-preview",internalRevalidate:null==i?void 0:i.revalidate,onError:(...b)=>j(a,...b)}).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let f=d.getRootSpanAttributes();if(!f)return;if(f.get("next.span_type")!==s.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${f.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let g=f.get("next.route");if(g){let a=`${c} ${g}`;e.setAttributes({"next.route":g,"http.route":g,"next.span_name":a}),e.updateName(a)}else e.updateName(`${c} ${a.url}`)});e?await k(e):await d.withPropagatedContext(a.headers,()=>d.trace(s.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:r.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(v.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},96770:a=>{a.exports=require("@customize-agent/runtime")}};var b=require("../../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705,5746],()=>b(b.s=87973));module.exports=c})();
|