@customize-agent/server 4.60.15 → 4.60.17
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 +2 -2
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.json +1 -1
- package/.next/server/chunks/1243.js +1 -1
- package/.next/server/chunks/1936.js +8 -8
- package/.next/server/chunks/2328.js +1 -1
- package/.next/server/chunks/4722.js +7 -7
- package/.next/server/chunks/9666.js +17 -17
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/api/documents/export.js +6 -6
- package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/confirm.js +1 -1
- package/.next/server/pages/api/health.js +1 -1
- package/.next/server/pages/api/kb/files/export.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 -1
- package/.next/server/pages/skills/[id].html +1 -1
- package/.next/server/pages/skills/new.html +1 -1
- package/.next/server/pages/skills.html +1 -1
- package/.next/server/pages/system/logs.html +1 -1
- package/.next/server/pages-manifest.json +35 -35
- package/package.json +12 -11
- /package/.next/static/{db456bdaf3867f59f6588a7b4397f3a8895c84213cf590e4febf929175820e5c → e48294e78fd020ac32104f19d01d9661de11c808f0ba823098dd2b1f95bfd581}/_buildManifest.js +0 -0
- /package/.next/static/{db456bdaf3867f59f6588a7b4397f3a8895c84213cf590e4febf929175820e5c → e48294e78fd020ac32104f19d01d9661de11c808f0ba823098dd2b1f95bfd581}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=2328,exports.ids=[2328],exports.modules={22328:(a,b,c)=>{c.d(b,{I4:()=>r,Q6:()=>q,WW:()=>t,oO:()=>p,oy:()=>n,rN:()=>m,xv:()=>o});var d=c(73024),e=c(76760),f=c(70949),g=c(
|
|
1
|
+
"use strict";exports.id=2328,exports.ids=[2328],exports.modules={22328:(a,b,c)=>{c.d(b,{I4:()=>r,Q6:()=>q,WW:()=>t,oO:()=>p,oy:()=>n,rN:()=>m,xv:()=>o});var d=c(73024),e=c(76760),f=c(70949),g=c(55035),h=c(44533),i=c(58543),j=c(68023);class k extends Error{constructor(a,b,c){super(a),this.file=b,this.cause=c,this.name="RepairStoreError"}}function l(a,b){return e.join(b,`${a}.repairs.jsonl`)}function m(a,b,c){let f=l(a,c),g={v:1,t:Date.now(),request:b};try{d.mkdirSync(e.dirname(f),{recursive:!0}),d.appendFileSync(f,`${JSON.stringify(g)}
|
|
2
2
|
`)}catch(b){throw new k(`修复请求落盘失败(节点/修复日志是唯一真相源,不得静默丢):${a}`,f,b)}}function n(a,b){let c,e=l(a,b);try{c=d.readFileSync(e,"utf8")}catch{return[]}let f=new Map;for(let a of c.split("\n"))if(a.trim())try{let b=JSON.parse(a);if(b?.v!==1||!b.request?.id)continue;f.set(b.request.id,b.request)}catch{continue}return[...f.values()].sort((a,b)=>a.id.localeCompare(b.id))}function o(a){return a.targetNodeId||a.localization?.accepted?a.transaction?(0,j.Ui)(a.transaction.recheck.before,a.transaction.recheck.after)||a.transaction.recheck.after.contractQuality?.requestedChangeVerified!==!0?"unclassified":/资料|证据|材料|知识库/u.test(a.impact?.reason||"")?"material-insufficient":(0,j.Un)(a.transaction.recheck.before,a.transaction.recheck.after)?"unclassified":"writing-capacity":a.execution&&!a.execution.available?"rerun-with-feedback"===a.execution.action?"detector-unwired":/不在本文档节点表内/u.test(a.execution.unavailableReason||"")?"unclassified":"detector-unwired":"unclassified":(a.localization?.candidates?.length??0)===0?"detector-missing":"detector-unwired"}class p extends Error{constructor(){super("该历史文档没有冻结合同和统一文档模型,不能按新体系自动补写;历史正文与报告仍可读取"),this.code="NATIVE_REPAIR_CONTRACT_REQUIRED",this.name="NativeRepairContractRequiredError"}}function q(a){let b=(0,f.getGeneratedDocument)(a.documentId,a.projectRoot);if(!b)throw Error("待修订文档不存在");if(!(0,i.Jd)(b))throw new p;return(0,i.fC)({request:a.request,documentId:a.documentId,projectRoot:a.projectRoot??b.projectRoot??(0,h.aY)()})}function r(a){let b=[];for(let c of a.matchAll(/[「『“"《【]([^」』”"》】]{2,})[」』”"》】]/gu))b.push(c[1].trim());for(let c of a.matchAll(/[0-9A-Za-z一-龥][0-9A-Za-z一-龥0-9.-]{2,}/gu))b.push(c[0].trim());return[...new Set(b.filter(a=>a.length>=4))]}function s(a){let{request:b,at:c}=a,d=b.transaction?.recheck,e={at:c,requestId:b.id,nodeId:b.targetNodeId,nodeKind:b.transaction?.nodeKind,action:b.transaction?.action,actionSource:b.transaction?.actionSource,userMessage:b.userMessage,localization:{method:b.localization?.method,candidateCount:b.localization?.candidates?.length??0,acceptedNodeId:b.localization?.accepted},changes:(b.transaction?.changes||[]).map(a=>({nodeId:a.nodeId,beforeChars:a.beforeChars,afterChars:a.afterChars})),outcome:b.outcome||"unfixable",attribution:o(b),impactClass:b.impact?.class,notExecutedReason:b.notExecutedReason};if(d){let a=(0,j.Ui)(d.before,d.after)??("fixed"!==b.outcome&&"partial"!==b.outcome||(0,j.Un)(d.before,d.after)?void 0:"回执未证明请求修改已核验且同合同复验未退步");a&&(e.notExecutedReason=[e.notExecutedReason,`历史修复结果无法按当前固定合同验证:${a};原始 outcome 仅为历史记录,观察计数不代表七维验收。`].filter(Boolean).join(" ")),e.netEffect={blocking:[d.before.blocking,d.after.blocking],entityPlacement:[d.before.entityPlacement,d.after.entityPlacement],chars:[d.before.chars,d.after.chars]}}return e}function t(a,b){return(0,g.ZS)((function(a,b){let c,e=l(a,b);try{c=d.readFileSync(e,"utf8")}catch{return[]}let f=new Map;for(let a of c.split("\n"))if(a.trim())try{let b=JSON.parse(a);if(b?.v!==1||!b.request?.id)continue;f.set(b.request.id,{at:b.t,request:b.request})}catch{continue}return[...f.values()].sort((a,b)=>a.at-b.at||a.request.id.localeCompare(b.request.id))})(a,b).map(s))}},58543:(a,b,c)=>{c.d(b,{fC:()=>J,Du:()=>I,pA:()=>L,Jd:()=>G});var d=c(73024),e=c.n(d),f=c(77598),g=c(32460),h=c(70949),i=c(7942),j=c(35091),k=c(31698),l=c(21123),m=c(94173),n=c(19444),o=c(80408),p=c(12866),q=c(22157),r=c(59948),s=c(30839),t=c(72275),u=c(34680),v=c(96241),w=c(43800),x=c(41791),y=c(62065),z=c(51326),A=c(7661),B=c(51750),C=c(48479),D=c(6361);let E=a=>(0,f.createHash)("sha256").update(JSON.stringify(a)).digest("hex"),F=a=>Object.fromEntries(Object.entries(a.tasks).map(([a,b])=>[a,b.current.output]));function G(a){return!!(a.nativeRevision||a.reviewMetadata?.contractQuality||a.draft?.reviewMetadata?.contractQuality)}function H(a,b){if(!a.runId||!a.draft||["generating","queued"].includes(a.status))throw Error("结构化修复需要已经停止写入的文档运行及完整草稿资产");let c=(0,h.Gl)(b),d=(b,d)=>{let g=e().readFileSync((0,i.HM)(c,b,a.runId));if(d&&(0,f.createHash)("sha256").update(g).digest("hex")!==d)throw Error("结构化修订资产哈希不一致");return JSON.parse(g.toString("utf8"))},g=d("author-resume-state.json");(0,j.oH)(g.contract),(0,k.oG)(b,g.projectModel);let p=g.writerContext.sharedConstructionPlan;if(!p)throw Error("当前结构化文档缺少同版共享施工计划,不能恢复来源适用性校验");(0,l.wB)(p,g.contract,g.projectModel),(0,m.tD)(g.projectModel,g.contract.sections.map(a=>(0,l.G6)(p,g.projectModel,a.id))),(0,n.R)(g.projectModel,c,a.runId),(0,n.u)(g.projectModel,c,a.runId);let q=d(a.nativeRevision?.modelFile??"document-model-final.json",a.nativeRevision?.modelSha256),A=(0,u.Zk)();(0,o.cv)(A,g.contract,g.projectModel,{restore:q}),(0,j.qK)(A,g.contract);let B=a.nativeRevision?.accountingFile??"author-accounting-final.json";(a.nativeRevision?.accountingFile||e().existsSync((0,i.HM)(c,B,a.runId)))&&(0,r.zh)(A,d(B,a.nativeRevision?.accountingSha256)),(0,s.C)({directory:c,runId:a.runId,contractId:g.contract.id,diagnostics:A});let C={};(0,z.ST)(C),(0,z.er)(A,C);let D=(0,z.c9)(A),G=D.models.active,H=G&&D.models.list.find(a=>a.name===G.name&&a.provider===G.provider),I={origin:"current-user-selection-at-repair-start",active:G,selected:H?{provider:H.provider,name:H.name,thinking:H.thinking??"follow-task"}:null,configurationFingerprint:(0,z.Q6)(C)},J=(0,v.rZ)({generatedDir:c,projectRoot:b,documentId:a.id}),K=b=>(0,o.BO)(g.contract,b,a.title,a.draft.chapters,J.renderer),L=K(q);if((a.editedMarkdown??a.markdown)!==L.markdown||a.draft.markdown!==L.markdown)throw Error("当前正文已脱离统一模型;须先重建并复验,不能通过字符串修复覆盖原结构化资产");let M=a.nativeRevision?d(a.nativeRevision.qualityFile,a.nativeRevision.qualitySha256):a.reviewMetadata?.contractQuality??a.draft.reviewMetadata?.contractQuality;if(!M||M.version!==t.Ly||M.contractId!==g.contract.id||M.projectSnapshotId!==g.projectModel.snapshotId||M.documentHash!==(0,t.Sl)(L.chapters,L.markdown)||M.authorModelHash!==(0,t.Np)(F(q))||E(M.score)!==E((0,j._n)(g.contract,M.findings)))throw Error("当前七维回执与统一模型不一致,需要完整复验");if(!g.writerContext.resumeContext)throw Error("缺少写作及机械终检的冻结上下文,不能空跑后宣称修复通过");let N=function(a){let b=new w.h(a.signal);return{global:{input:{...a,signal:b.signal},preparationWork:b,emitProgress:()=>void 0,withProgressHeartbeat:async a=>a(),...void 0!==a.nodeLogBaseDir?{nodeLogBaseDir:a.nodeLogBaseDir}:{},chapterDrafts:[],checkpointChapterOrderIds:[]},prepare:{},understanding:{},planning:{},blueprint:{},chapterLoop:{}}}({});return(0,x.k)(N,g.writerContext.resumeContext),{base:g,model:q,quality:M,diagnostics:A,render:K,rendered:L,mechanical:a=>(0,y.u)({documentContract:g.contract,generationDiagnostics:A,projectMaterialSummary:N.prepare.projectMaterialSummary,bidComposition:N.understanding.bidComposition,hazardBindings:N.understanding.hazardResolution?.bindings},K(a),a),figures:J,directory:c,modelSelection:I}}function I(a,b,c){return Object.entries(H(a,b).model.tasks).flatMap(([a,b])=>{let d=c.filter(a=>b.current.markdown.includes(a));if(!d.length)return[];let e=b.current.markdown.indexOf(d[0]);return[{nodeId:a,score:d.reduce((a,b)=>a+b.length,0),excerpt:b.current.markdown.slice(Math.max(0,e-20),e+d[0].length+20)}]}).sort((a,b)=>b.score-a.score||a.nodeId.localeCompare(b.nodeId)).slice(0,5)}function J(a){let b,c,d=(0,h.CX)(a.documentId,a.projectRoot);if(!d)throw Error("待修复文档不存在");let e=H(d,a.projectRoot),j=E(d),k=`repair-${(0,f.randomUUID)()}`;(0,g.yY)(e.diagnostics,{generatedDir:e.directory,runId:k,contract:e.base.contract}),(0,i.tv)(e.directory,"repair-inputs.json",{repairRunId:k,originRunId:d.runId,documentId:d.id,request:a.request,modelSelection:e.modelSelection,originalRecordHash:j,contractId:e.base.contract.id,projectSnapshotId:e.base.projectModel.snapshotId,firstCandidateHashes:e.model.c0TaskHashes},k);let l=function(a,b,c){if(a.base.contract.sections.some(a=>a.id===c))return[c];let d=a.base.contract.chapters.find(a=>a.id===c||(0,C.Ts)(a.id)===c);if(d)return d.sectionIds;let e=(0,B.g0)(b.id,a.directory).find(a=>a.id===c),f=e?.metrics?.taskId;if("string"==typeof f&&a.base.contract.sections.some(a=>a.id===f))return[f];throw Error("目标节点没有固定作者任务身份,不能猜测修改范围")}(e,d,a.request.targetNodeId),m=(a,b,c)=>({blocking:e.mechanical(a).filter(a=>"error"===a.level||"blocker"===a.severity).length+b.score.blocking.length+(0,t.ie)(b).length,entityPlacement:Object.values(a.tasks).reduce((a,b)=>a+b.current.output.factBindings.length,0),chars:e.render(a).markdown.length,contractQuality:{contractId:b.contractId,unresolvedCount:b.findings.filter(a=>"met"!==a.status).length,requestedChangeVerified:c,findings:b.findings.map(({criterionId:a,status:b})=>({criterionId:a,status:b}))},judges:{mode:"full",executed:b.findings.filter(a=>"unmeasured"!==a.status).map(a=>a.criterionId),degraded:b.findings.filter(a=>"unmeasured"===a.status).map(a=>a.criterionId),missing:[],unavailableInputs:[]}});return{request:a.request,execution:{nodeKind:"writing-block",action:a.request.patch?"targeted-patch":"rerun-with-feedback",actionSource:a.request.patch?"explicit-patch":"default",available:!0,reason:"通过固定任务的统一模型执行,在全文累计轻修预算内复验后提交"},snapshot:async()=>{let a=E({model:e.model,quality:e.quality});return(0,i.tv)(e.directory,`native-snapshot-${a}.json`,{model:e.model,quality:e.quality},d.runId),`native:${a}`},apply:async()=>(0,s.e)({directory:e.directory,runId:d.runId,contractId:e.base.contract.id,diagnostics:e.diagnostics},async()=>{let c=a.request.patch;if(c){if(c.append||c.endText)throw Error("结构化定点修改须使用单一单元的逐字锚点;跨单元区间或追加须由作者提交完整结构化任务");let d=l.flatMap(a=>e.model.tasks[a]?.current.output.units.flatMap(b=>"paragraph"===b.kind&&b.text.includes(c.anchor)?[{taskId:a,unitId:b.id}]:"table"===b.kind?b.rows.flatMap(d=>b.columns.filter(a=>d.cells[a.key].includes(c.anchor)).map(c=>({taskId:a,unitId:b.id,rowId:d.id,columnKey:c.key}))):[])??[]);if(1!==d.length)throw Error("锚点必须唯一定位一个实际段落或表格字段,不能修改多个对象");let f=d[0];b=function(a){let{change:b}=a,c=a.model.tasks[b.taskId];if(!c||c.current.contentHash!==b.expectedContentHash)throw Error("待修改的任务不存在或内容已变更,原定位不能继续执行");if(!b.anchor.trim()||!b.reason.trim())throw Error("结构化修改须有逐字锚点和明确原因");let d=structuredClone(c.current.output),e=d.units.find(a=>a.id===b.unitId);if(!e)throw Error("目标单元不属于已定位的作者任务");let f=a=>{let c=a.indexOf(b.anchor);if(c<0||a.indexOf(b.anchor,c+b.anchor.length)>=0)throw Error("逐字锚点不存在或不唯一,不能模糊匹配修改");return a.slice(0,c)+b.replacement+a.slice(c+b.anchor.length)};if("paragraph"===e.kind){if(void 0!==b.rowId||void 0!==b.columnKey)throw Error("段落修改不能携带表格记录定位");e.text=f(e.text)}else if("table"===e.kind){let a=e.rows.find(a=>a.id===b.rowId);if(!a||!b.columnKey||!e.columns.some(a=>a.key===b.columnKey))throw Error("表格修改须明确定位真实记录与字段");a.cells[b.columnKey]=f(a.cells[b.columnKey])}else throw Error("流程图修改须提交完整节点与边的结构化事务,不能把图件字符串替换当成关系修改");let g=(0,u.Zk)();(0,o.cv)(g,a.contract,a.project,{restore:a.model});let h=(0,o.wI)(g,b.taskId,d,b.reason),i=a.contract.sections.find(a=>a.id===b.taskId).chapterId,j=a.contract.criteria.filter(a=>a.applicable&&(!a.chapterId||a.chapterId===i)).map(a=>a.id);return{...h,affectedCriterionIds:j}}({contract:e.base.contract,project:e.base.projectModel,model:e.model,change:{...f,expectedContentHash:e.model.tasks[f.taskId].current.contentHash,anchor:c.anchor,replacement:c.replacement,reason:a.request.userMessage}}).model}else{if(1!==l.length)throw Error("自然语言轻修须先定位一个固定作者任务;不能以整章重写替代局部修正");let c=e.base.contract.sections.find(a=>a.id===l[0]),f=e.model.tasks[c.id]?.current;if(!f)throw Error("本任务没有完整首候选,须继续生成,不能作为轻修处理");try{await (0,D.X4)({chapterId:c.chapterId,blockTitle:c.title,contractScoped:!0,maxAuthorSubmissions:1,maxTokens:Math.max(6e3,Math.ceil(1.8*f.markdown.length)),diagnostics:e.diagnostics,system:`你是专业文档作者智能体。按用户已定位的局部问题轻修,不改变其他信息单元、事实来源和方案决定。
|
|
3
3
|
${e.base.writerContext.promptTexts}`,prompt:`用户原话:${a.request.userMessage}
|
|
4
4
|
当前固定任务:${JSON.stringify(c)}
|