@customize-agent/server 4.0.69 → 4.0.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/chunks/1936.js +3 -3
  5. package/.next/server/chunks/5247.js +142 -0
  6. package/.next/server/chunks/7899.js +1 -0
  7. package/.next/server/chunks/8203.js +5 -0
  8. package/.next/server/chunks/8661.js +1 -0
  9. package/.next/server/chunks/9301.js +3 -3
  10. package/.next/server/middleware-build-manifest.js +1 -1
  11. package/.next/server/pages/404.html +1 -1
  12. package/.next/server/pages/500.html +1 -1
  13. package/.next/server/pages/_error.js +1 -1
  14. package/.next/server/pages/api/assets/generated/preview.js +1 -1
  15. package/.next/server/pages/api/assets/generated/preview.js.nft.json +1 -1
  16. package/.next/server/pages/api/assets/generated.js +1 -1
  17. package/.next/server/pages/api/assets/generated.js.nft.json +1 -1
  18. package/.next/server/pages/api/config/embedding/healthCheck.js +1 -1
  19. package/.next/server/pages/api/config/embedding/healthCheck.js.nft.json +1 -1
  20. package/.next/server/pages/api/config/embedding.js +1 -1
  21. package/.next/server/pages/api/config/healthCheck.js +2 -2
  22. package/.next/server/pages/api/config/models.js +1 -1
  23. package/.next/server/pages/api/config/providers/[provider].js +1 -1
  24. package/.next/server/pages/api/config/providers.js +2 -2
  25. package/.next/server/pages/api/context.js +5 -5
  26. package/.next/server/pages/api/context.js.nft.json +1 -1
  27. package/.next/server/pages/api/documents/chapter/regenerate.js +1 -1
  28. package/.next/server/pages/api/documents/chapter/regenerate.js.nft.json +1 -1
  29. package/.next/server/pages/api/documents/drafts.js +1 -1
  30. package/.next/server/pages/api/documents/export.js +3 -3
  31. package/.next/server/pages/api/documents/export.js.nft.json +1 -1
  32. package/.next/server/pages/api/documents/generate.js +2 -2
  33. package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
  34. package/.next/server/pages/api/documents/generated/[id].js +1 -1
  35. package/.next/server/pages/api/documents/generated/[id].js.nft.json +1 -1
  36. package/.next/server/pages/api/documents/generated.js +1 -1
  37. package/.next/server/pages/api/documents/generated.js.nft.json +1 -1
  38. package/.next/server/pages/api/documents/refine.js +2 -2
  39. package/.next/server/pages/api/documents/roles.js +1 -1
  40. package/.next/server/pages/api/documents/roles.js.nft.json +1 -1
  41. package/.next/server/pages/api/documents/templates.js +1 -1
  42. package/.next/server/pages/api/documents/templates.js.nft.json +1 -1
  43. package/.next/server/pages/api/jobs/[id].js +3 -3
  44. package/.next/server/pages/api/jobs/[id].js.nft.json +1 -1
  45. package/.next/server/pages/api/jobs.js +3 -3
  46. package/.next/server/pages/api/jobs.js.nft.json +1 -1
  47. package/.next/server/pages/api/kb/categories.js +2 -2
  48. package/.next/server/pages/api/kb/categories.js.nft.json +1 -1
  49. package/.next/server/pages/api/kb/duplicates.js +2 -2
  50. package/.next/server/pages/api/kb/duplicates.js.nft.json +1 -1
  51. package/.next/server/pages/api/kb/features.js +1 -1
  52. package/.next/server/pages/api/kb/files/detail.js +2 -2
  53. package/.next/server/pages/api/kb/files/detail.js.nft.json +1 -1
  54. package/.next/server/pages/api/kb/files/open.js +2 -2
  55. package/.next/server/pages/api/kb/files/open.js.nft.json +1 -1
  56. package/.next/server/pages/api/kb/files/preview-pdf-page.js +2 -2
  57. package/.next/server/pages/api/kb/files/preview-pdf-page.js.nft.json +1 -1
  58. package/.next/server/pages/api/kb/files/reindex.js +1 -1
  59. package/.next/server/pages/api/kb/files/reindex.js.nft.json +1 -1
  60. package/.next/server/pages/api/kb/files/search.js +3 -3
  61. package/.next/server/pages/api/kb/files/search.js.nft.json +1 -1
  62. package/.next/server/pages/api/kb/files.js +4 -4
  63. package/.next/server/pages/api/kb/files.js.nft.json +1 -1
  64. package/.next/server/pages/api/kb/ignore.js +2 -2
  65. package/.next/server/pages/api/kb/ignore.js.nft.json +1 -1
  66. package/.next/server/pages/api/kb/operations.js +3 -3
  67. package/.next/server/pages/api/kb/operations.js.nft.json +1 -1
  68. package/.next/server/pages/api/kb/reindex.js +1 -1
  69. package/.next/server/pages/api/kb/reindex.js.nft.json +1 -1
  70. package/.next/server/pages/api/kb/search.js +2 -2
  71. package/.next/server/pages/api/kb/search.js.nft.json +1 -1
  72. package/.next/server/pages/api/kb/stats.js +2 -2
  73. package/.next/server/pages/api/kb/stats.js.nft.json +1 -1
  74. package/.next/server/pages/api/kb/tags.js +2 -2
  75. package/.next/server/pages/api/kb/tags.js.nft.json +1 -1
  76. package/.next/server/pages/api/kb/upload/progress.js +2 -2
  77. package/.next/server/pages/api/kb/upload/progress.js.nft.json +1 -1
  78. package/.next/server/pages/api/kb/upload.js +1 -1
  79. package/.next/server/pages/api/kb/upload.js.nft.json +1 -1
  80. package/.next/server/pages/api/prompt/chat.js +2 -2
  81. package/.next/server/pages/api/system/logs.js +2 -2
  82. package/.next/server/pages/asset-library.html +1 -1
  83. package/.next/server/pages/context/long-term.html +1 -1
  84. package/.next/server/pages/context/short-term.html +1 -1
  85. package/.next/server/pages/document-roles.html +1 -1
  86. package/.next/server/pages/documents.html +1 -1
  87. package/.next/server/pages/guide.html +1 -1
  88. package/.next/server/pages/index.html +1 -1
  89. package/.next/server/pages/knowledge/file-detail.html +1 -1
  90. package/.next/server/pages/knowledge/files.html +1 -1
  91. package/.next/server/pages/knowledge/manage.html +1 -1
  92. package/.next/server/pages/knowledge/search.html +1 -1
  93. package/.next/server/pages/knowledge.html +1 -1
  94. package/.next/server/pages/models.html +1 -1
  95. package/.next/server/pages/overview.html +1 -1
  96. package/.next/server/pages/prompt.html +1 -1
  97. package/.next/server/pages/settings.html +1 -1
  98. package/.next/server/pages/system/logs.html +1 -1
  99. package/.next/server/pages-manifest.json +22 -22
  100. package/.next/static/{G68XtEOLp5i0eWArclO6w → G2viAcdgjbPEipVUbf4jw}/_buildManifest.js +1 -1
  101. package/.next/static/chunks/pages/documents-9209f54ac7717b41.js +1 -0
  102. package/package.json +2 -2
  103. package/.next/server/chunks/432.js +0 -5
  104. package/.next/server/chunks/6697.js +0 -123
  105. package/.next/static/chunks/pages/documents-84fe27cb0fbbb040.js +0 -1
  106. /package/.next/static/{G68XtEOLp5i0eWArclO6w → G2viAcdgjbPEipVUbf4jw}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";(()=>{var a={};a.id=7601,a.ids=[7601],a.modules={2323:(a,b,c)=>{c.d(b,{I:()=>f});var d=c(96770);let e=null;function f(){return e||(e=new d.ConfigStore),e}},12443:(a,b,c)=>{c.r(b),c.d(b,{config:()=>G,default:()=>F,handler:()=>I});var d={};c.r(d),c.d(d,{config:()=>m,default:()=>C});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(77598),j=c(95393),k=c(96770),l=c(2323);let m={api:{bodyParser:{sizeLimit:"20mb"}}};function n(a,b){let c=Number(process.env[a]);return Number.isInteger(c)&&c>0?c:b}function o(a){return(0,i.createHash)("sha256").update(a).digest("hex")}function p(a){return a.trim().replace(/^```(?:markdown|md)?\s*/iu,"").replace(/```$/u,"").trim()}function q(a){return a.toLowerCase().replace(/[\s#*_`~,。、“”"'::;;,.!?!?()()[\]【】《》<>\-—_]+/gu,"")}function r(a){let b=a.match(/(?:第\s*)?(\d{1,3})\s*(?:章|节|[、..])/u)?.[1];if(b)return Number(b);let c={一:1,二:2,三:3,四:4,五:5,六:6,七:7,八:8,九:9,十:10},d=a.match(/第\s*([一二三四五六七八九十]{1,3})\s*[章节]/u)?.[1];if(d)return"十"===d?10:d.startsWith("十")?10+(c[d.slice(1)]??0):d.endsWith("十")?(c[d[0]]??1)*10:d.includes("十")?(c[d[0]]??1)*10+(c[d.slice(-1)]??0):c[d]}function s(a){let b=function(a){let b,c,d=[];for(let e of a.matchAll(/^(```|~~~).*$/gmu)){let a=e[1],f=e.index??0;void 0===b?(b=f,c=a):a===c&&(d.push({start:b,end:f+e[0].length}),b=void 0,c=void 0)}return void 0!==b&&d.push({start:b,end:a.length}),d}(a),c=[...a.matchAll(/^(#{1,6})\s+(.+)$/gmu)].filter(a=>{var c;return c=a.index??0,!b.some(a=>c>=a.start&&c<=a.end)});return c.map((b,d)=>{let e=b[1].length,f=b.index??0,g=c.slice(d+1).find(a=>a[1].length<=e),h=g?.index??a.length,i=b[2].trim();return{level:e,title:i,start:f,end:h,content:a.slice(f,h).trim(),ordinal:r(i)}})}function t(a,b){let c=a.map(a=>({block:a,score:function(a,b){let c=q(b),d=q(a.title),e=0;for(let f of(a.ordinal&&a.ordinal===r(b)&&(e+=100),d&&c.includes(d)&&(e+=80),d.split(/第?\d{0,3}[章节]?/u).filter(a=>a.length>=2)))c.includes(f)&&(e+=Math.min(60,3*f.length));for(let a=Math.min(8,d.length);a>=2;a-=1)for(let b=0;b+a<=d.length;b+=1)c.includes(d.slice(b,b+a))&&(e+=a);return e}(a,b)})).filter(a=>a.score>0).sort((a,b)=>b.score-a.score);return c[0]?.block}function u(a){let b=a.filter(a=>2===a.level);return b.length>0?b:a.filter(b=>b.level===Math.min(...a.map(a=>a.level)))}function v(a,b){if(!b||!Number.isFinite(b.start)||!Number.isFinite(b.end))return;let c=Math.max(0,Math.min(a.length,Math.floor(b.start))),d=Math.max(c,Math.min(a.length,Math.floor(b.end)));return d>c?{start:c,end:d}:void 0}function w(a,b,c){return a.filter(a=>c(a)&&b>=a.start&&b<=a.end).sort((a,b)=>b.level-a.level||a.end-a.start-(b.end-b.start))[0]}function x(a,b){let c=v(a,b.targetRange);return{...b,targetRange:c??b.targetRange,baseMarkdownHash:o(a),targetTextHash:c?o(a.slice(c.start,c.end)):void 0}}async function y(a,b){if(b.local.confidence>=.74)return b.local;let c=s(b.markdown).map(a=>({title:a.title,level:a.level,start:a.start,end:a.end})).slice(0,80),d=await a.chat([{role:"system",content:"你是文档编辑计划助手。只返回 JSON。根据用户短提示词,判断最合适的修改范围和编辑动作。优先选择章节或小节,不要轻易选择全文。"},{role:"user",content:`文档标题:${b.title}
1
+ "use strict";(()=>{var a={};a.id=7601,a.ids=[7601],a.modules={12443:(a,b,c)=>{c.r(b),c.d(b,{config:()=>G,default:()=>F,handler:()=>I});var d={};c.r(d),c.d(d,{config:()=>m,default:()=>C});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(77598),j=c(95393),k=c(96770),l=c(29281);let m={api:{bodyParser:{sizeLimit:"20mb"}}};function n(a,b){let c=Number(process.env[a]);return Number.isInteger(c)&&c>0?c:b}function o(a){return(0,i.createHash)("sha256").update(a).digest("hex")}function p(a){return a.trim().replace(/^```(?:markdown|md)?\s*/iu,"").replace(/```$/u,"").trim()}function q(a){return a.toLowerCase().replace(/[\s#*_`~,。、“”"'::;;,.!?!?()()[\]【】《》<>\-—_]+/gu,"")}function r(a){let b=a.match(/(?:第\s*)?(\d{1,3})\s*(?:章|节|[、..])/u)?.[1];if(b)return Number(b);let c={一:1,二:2,三:3,四:4,五:5,六:6,七:7,八:8,九:9,十:10},d=a.match(/第\s*([一二三四五六七八九十]{1,3})\s*[章节]/u)?.[1];if(d)return"十"===d?10:d.startsWith("十")?10+(c[d.slice(1)]??0):d.endsWith("十")?(c[d[0]]??1)*10:d.includes("十")?(c[d[0]]??1)*10+(c[d.slice(-1)]??0):c[d]}function s(a){let b=function(a){let b,c,d=[];for(let e of a.matchAll(/^(```|~~~).*$/gmu)){let a=e[1],f=e.index??0;void 0===b?(b=f,c=a):a===c&&(d.push({start:b,end:f+e[0].length}),b=void 0,c=void 0)}return void 0!==b&&d.push({start:b,end:a.length}),d}(a),c=[...a.matchAll(/^(#{1,6})\s+(.+)$/gmu)].filter(a=>{var c;return c=a.index??0,!b.some(a=>c>=a.start&&c<=a.end)});return c.map((b,d)=>{let e=b[1].length,f=b.index??0,g=c.slice(d+1).find(a=>a[1].length<=e),h=g?.index??a.length,i=b[2].trim();return{level:e,title:i,start:f,end:h,content:a.slice(f,h).trim(),ordinal:r(i)}})}function t(a,b){let c=a.map(a=>({block:a,score:function(a,b){let c=q(b),d=q(a.title),e=0;for(let f of(a.ordinal&&a.ordinal===r(b)&&(e+=100),d&&c.includes(d)&&(e+=80),d.split(/第?\d{0,3}[章节]?/u).filter(a=>a.length>=2)))c.includes(f)&&(e+=Math.min(60,3*f.length));for(let a=Math.min(8,d.length);a>=2;a-=1)for(let b=0;b+a<=d.length;b+=1)c.includes(d.slice(b,b+a))&&(e+=a);return e}(a,b)})).filter(a=>a.score>0).sort((a,b)=>b.score-a.score);return c[0]?.block}function u(a){let b=a.filter(a=>2===a.level);return b.length>0?b:a.filter(b=>b.level===Math.min(...a.map(a=>a.level)))}function v(a,b){if(!b||!Number.isFinite(b.start)||!Number.isFinite(b.end))return;let c=Math.max(0,Math.min(a.length,Math.floor(b.start))),d=Math.max(c,Math.min(a.length,Math.floor(b.end)));return d>c?{start:c,end:d}:void 0}function w(a,b,c){return a.filter(a=>c(a)&&b>=a.start&&b<=a.end).sort((a,b)=>b.level-a.level||a.end-a.start-(b.end-b.start))[0]}function x(a,b){let c=v(a,b.targetRange);return{...b,targetRange:c??b.targetRange,baseMarkdownHash:o(a),targetTextHash:c?o(a.slice(c.start,c.end)):void 0}}async function y(a,b){if(b.local.confidence>=.74)return b.local;let c=s(b.markdown).map(a=>({title:a.title,level:a.level,start:a.start,end:a.end})).slice(0,80),d=await a.chat([{role:"system",content:"你是文档编辑计划助手。只返回 JSON。根据用户短提示词,判断最合适的修改范围和编辑动作。优先选择章节或小节,不要轻易选择全文。"},{role:"user",content:`文档标题:${b.title}
2
2
  用户要求:${b.instruction}
3
3
  章节索引:${JSON.stringify(c)}
4
4
  事实:${b.facts.slice(0,20).join(";")}
@@ -10,4 +10,4 @@ ${b.block.content}`].filter(Boolean).join("\n\n")}],{temperature:.2})).content);
10
10
  ${b.chapters.map(a=>`- ${a}`).join("\n")}`:"",b.facts.length>0?`结构化事实:
11
11
  ${b.facts.map(a=>`- ${a}`).join("\n")}`:"",`修改要求:
12
12
  ${b.instruction}`,`当前 Markdown:
13
- ${b.markdown}`].filter(Boolean).join("\n\n")}];return p((await a.chat(c,{temperature:.25})).content)}async function C(a,b){if("POST"!==a.method)return b.status(405).json({error:"Method not allowed"});let{mode:c,title:d,markdown:e,instruction:f,facts:g,chapters:h,selection:i,cursorOffset:m,plan:p}=a.body,q="string"==typeof e?e:"",r="string"==typeof f?f.trim():"";if(!q.trim()||!r)return b.status(400).json({error:"当前内容和修改要求不能为空"});let z=n("DOCUMENT_REFINE_MAX_MARKDOWN_CHARS",3e5),B=n("DOCUMENT_REFINE_MAX_INSTRUCTION_CHARS",12e3);if(q.length>z)return b.status(400).json({error:`当前文档过长,请先缩小修改范围或压缩到 ${z} 字以内`});if(r.length>B)return b.status(400).json({error:`修改要求过长,请压缩到 ${B} 字以内`});let C=function(){let a=(0,l.I)().load(),b=a.models.reasoning.active||a.models.action.active||a.models.reader.active,c=[...a.models.reasoning.list,...a.models.action.list,...a.models.reader.list].find(a=>a.name===b);if(!c)return;let d=a.providers[c.provider];if(d)return{model:c,provider:d}}();if(!C)return b.status(400).json({error:"未配置可用模型,请先在模型配置中启用模型"});let D=Array.isArray(g)?g.filter(a=>"string"==typeof a&&!!a.trim()).slice(0,80):[],E=Array.isArray(h)?h.filter(a=>"string"==typeof a&&!!a.trim()).slice(0,40):[],F="string"==typeof d&&d.trim()?d.trim():"未命名文档";try{let{model:a,provider:d}=C,e=(0,j.createProvider)(function(a,b){let c=(0,k.resolveProtocol)(a,b);return"anthropic"===c?"anthropic":"google"===c?"google":"ollama"===c?"ollama":"openrouter"===c?"openrouter":"openai"}(a.provider,d),{baseUrl:d.baseUrl,apiKey:d.apiKey,modelName:a.name,directEndpoint:d.directEndpoint}),f=s(q),g="object"==typeof i&&null!==i?i:void 0,h=g&&"number"==typeof g.start&&"number"==typeof g.end?{start:g.start,end:g.end,text:"string"==typeof g.text?g.text:void 0}:void 0,l=function(a,b,c,d,e){let f=/表格|列表|清单/u.test(b)?"table":/删除|去掉|移除/u.test(b)?"delete":/压缩|简短|精简|缩短/u.test(b)?"summarize":/结构|层次|重组|调整/u.test(b)?"restructure":/改成|替换|修改为|换成/u.test(b)?"replace":/补充|增加|新增|加入/u.test(b)?"add":/细|详细|丰富|展开|加强|强化/u.test(b)?"expand":"polish",g=v(a,d&&d.end>d.start?d:void 0);if(g)return{scope:"selection",action:f,targetTitle:"选中内容",targetRange:g,confidence:.98,summary:"将只修改你选中的文本范围。",needsConfirmation:!0};if("number"==typeof e&&Number.isFinite(e)){let b=Math.max(0,Math.min(a.length,Math.floor(e))),d=w(c,b,a=>a.level>=3);if(d)return{scope:"section",action:f,targetTitle:d.title,targetRange:{start:d.start,end:d.end},confidence:.9,summary:`将修改当前光标所在小节「${d.title}」。`,needsConfirmation:!0};let g=w(c,b,a=>u(c).includes(a));if(g)return{scope:"chapter",action:f,targetTitle:g.title,targetRange:{start:g.start,end:g.end},confidence:.86,summary:`将修改当前光标所在章节「${g.title}」。`,needsConfirmation:!0}}let h=t(c.filter(a=>a.level>=3),b);if(h)return{scope:"section",action:f,targetTitle:h.title,targetRange:{start:h.start,end:h.end},confidence:.78,summary:`根据提示词匹配到小节「${h.title}」。`,needsConfirmation:!0};let i=t(u(c),b);return i?{scope:"chapter",action:f,targetTitle:i.title,targetRange:{start:i.start,end:i.end},confidence:.74,summary:`根据提示词匹配到章节「${i.title}」。`,needsConfirmation:!0}:{scope:"document",action:f,confidence:.45,summary:"未能可靠定位具体章节,将以全文为上下文谨慎修改。",needsConfirmation:!0}}(q,r,f,h,"number"==typeof m?m:void 0);if("plan"===c){let a=await y(e,{title:F,markdown:q,instruction:r,facts:D,chapters:E,local:l});return b.status(200).json({plan:x(q,a)})}let n="object"==typeof p&&null!==p?p:void 0,z=n?.summary?{scope:"selection"===n.scope||"section"===n.scope||"chapter"===n.scope||"document"===n.scope?n.scope:l.scope,action:n.action&&["polish","expand","summarize","replace","delete","add","restructure","table"].includes(n.action)?n.action:l.action,targetTitle:"string"==typeof n.targetTitle?n.targetTitle:l.targetTitle,targetRange:v(q,n.targetRange)??l.targetRange,baseMarkdownHash:"string"==typeof n.baseMarkdownHash?n.baseMarkdownHash:void 0,targetTextHash:"string"==typeof n.targetTextHash?n.targetTextHash:void 0,confidence:"number"==typeof n.confidence?n.confidence:l.confidence,summary:n.summary,needsConfirmation:!0}:x(q,l);if(!function(a,b){if(b.baseMarkdownHash&&b.baseMarkdownHash!==o(a))return!1;let c=v(a,b.targetRange);return!b.targetTextHash||!!c&&b.targetTextHash===o(a.slice(c.start,c.end))}(q,z))return b.status(409).json({error:"文档内容已变化,请重新识别修改范围后再执行"});let B=await A(e,{title:F,markdown:q,instruction:r,plan:z,facts:D,chapters:E});if(!B.markdown)return b.status(500).json({error:"AI 未返回有效文档内容"});b.status(200).json({...B,plan:z})}catch(a){b.status(500).json({error:a instanceof Error?a.message:"文档精准修改失败"})}}var D=c(68970),E=c(50296);let F=(0,h.M)(d,"default"),G=(0,h.M)(d,"config"),H=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/documents/refine",pathname:"/api/documents/refine",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function I(a,b,c){let d=await H.prepare(a,b,{srcPage:"/api/documents/refine"});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,D.getTracer)(),e=d.getActiveScopeSpan(),j=H.instrumentationOnRequestError.bind(H),k=async e=>H.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:H.isDev,page:"/api/documents/refine",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")!==E.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(E.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:D.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(H.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")},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],()=>b(b.s=12443));module.exports=c})();
13
+ ${b.markdown}`].filter(Boolean).join("\n\n")}];return p((await a.chat(c,{temperature:.25})).content)}async function C(a,b){if("POST"!==a.method)return b.status(405).json({error:"Method not allowed"});let{mode:c,title:d,markdown:e,instruction:f,facts:g,chapters:h,selection:i,cursorOffset:m,plan:p}=a.body,q="string"==typeof e?e:"",r="string"==typeof f?f.trim():"";if(!q.trim()||!r)return b.status(400).json({error:"当前内容和修改要求不能为空"});let z=n("DOCUMENT_REFINE_MAX_MARKDOWN_CHARS",3e5),B=n("DOCUMENT_REFINE_MAX_INSTRUCTION_CHARS",12e3);if(q.length>z)return b.status(400).json({error:`当前文档过长,请先缩小修改范围或压缩到 ${z} 字以内`});if(r.length>B)return b.status(400).json({error:`修改要求过长,请压缩到 ${B} 字以内`});let C=function(){let a=(0,l.I)().load(),b=a.models.reasoning.active||a.models.action.active||a.models.reader.active,c=[...a.models.reasoning.list,...a.models.action.list,...a.models.reader.list].find(a=>a.name===b);if(!c)return;let d=a.providers[c.provider];if(d)return{model:c,provider:d}}();if(!C)return b.status(400).json({error:"未配置可用模型,请先在模型配置中启用模型"});let D=Array.isArray(g)?g.filter(a=>"string"==typeof a&&!!a.trim()).slice(0,80):[],E=Array.isArray(h)?h.filter(a=>"string"==typeof a&&!!a.trim()).slice(0,40):[],F="string"==typeof d&&d.trim()?d.trim():"未命名文档";try{let{model:a,provider:d}=C,e=(0,j.createProvider)(function(a,b){let c=(0,k.resolveProtocol)(a,b);return"anthropic"===c?"anthropic":"google"===c?"google":"ollama"===c?"ollama":"openrouter"===c?"openrouter":"openai"}(a.provider,d),{baseUrl:d.baseUrl,apiKey:d.apiKey,modelName:a.name,directEndpoint:d.directEndpoint}),f=s(q),g="object"==typeof i&&null!==i?i:void 0,h=g&&"number"==typeof g.start&&"number"==typeof g.end?{start:g.start,end:g.end,text:"string"==typeof g.text?g.text:void 0}:void 0,l=function(a,b,c,d,e){let f=/表格|列表|清单/u.test(b)?"table":/删除|去掉|移除/u.test(b)?"delete":/压缩|简短|精简|缩短/u.test(b)?"summarize":/结构|层次|重组|调整/u.test(b)?"restructure":/改成|替换|修改为|换成/u.test(b)?"replace":/补充|增加|新增|加入/u.test(b)?"add":/细|详细|丰富|展开|加强|强化/u.test(b)?"expand":"polish",g=v(a,d&&d.end>d.start?d:void 0);if(g)return{scope:"selection",action:f,targetTitle:"选中内容",targetRange:g,confidence:.98,summary:"将只修改你选中的文本范围。",needsConfirmation:!0};if("number"==typeof e&&Number.isFinite(e)){let b=Math.max(0,Math.min(a.length,Math.floor(e))),d=w(c,b,a=>a.level>=3);if(d)return{scope:"section",action:f,targetTitle:d.title,targetRange:{start:d.start,end:d.end},confidence:.9,summary:`将修改当前光标所在小节「${d.title}」。`,needsConfirmation:!0};let g=w(c,b,a=>u(c).includes(a));if(g)return{scope:"chapter",action:f,targetTitle:g.title,targetRange:{start:g.start,end:g.end},confidence:.86,summary:`将修改当前光标所在章节「${g.title}」。`,needsConfirmation:!0}}let h=t(c.filter(a=>a.level>=3),b);if(h)return{scope:"section",action:f,targetTitle:h.title,targetRange:{start:h.start,end:h.end},confidence:.78,summary:`根据提示词匹配到小节「${h.title}」。`,needsConfirmation:!0};let i=t(u(c),b);return i?{scope:"chapter",action:f,targetTitle:i.title,targetRange:{start:i.start,end:i.end},confidence:.74,summary:`根据提示词匹配到章节「${i.title}」。`,needsConfirmation:!0}:{scope:"document",action:f,confidence:.45,summary:"未能可靠定位具体章节,将以全文为上下文谨慎修改。",needsConfirmation:!0}}(q,r,f,h,"number"==typeof m?m:void 0);if("plan"===c){let a=await y(e,{title:F,markdown:q,instruction:r,facts:D,chapters:E,local:l});return b.status(200).json({plan:x(q,a)})}let n="object"==typeof p&&null!==p?p:void 0,z=n?.summary?{scope:"selection"===n.scope||"section"===n.scope||"chapter"===n.scope||"document"===n.scope?n.scope:l.scope,action:n.action&&["polish","expand","summarize","replace","delete","add","restructure","table"].includes(n.action)?n.action:l.action,targetTitle:"string"==typeof n.targetTitle?n.targetTitle:l.targetTitle,targetRange:v(q,n.targetRange)??l.targetRange,baseMarkdownHash:"string"==typeof n.baseMarkdownHash?n.baseMarkdownHash:void 0,targetTextHash:"string"==typeof n.targetTextHash?n.targetTextHash:void 0,confidence:"number"==typeof n.confidence?n.confidence:l.confidence,summary:n.summary,needsConfirmation:!0}:x(q,l);if(!function(a,b){if(b.baseMarkdownHash&&b.baseMarkdownHash!==o(a))return!1;let c=v(a,b.targetRange);return!b.targetTextHash||!!c&&b.targetTextHash===o(a.slice(c.start,c.end))}(q,z))return b.status(409).json({error:"文档内容已变化,请重新识别修改范围后再执行"});let B=await A(e,{title:F,markdown:q,instruction:r,plan:z,facts:D,chapters:E});if(!B.markdown)return b.status(500).json({error:"AI 未返回有效文档内容"});b.status(200).json({...B,plan:z})}catch(a){b.status(500).json({error:a instanceof Error?a.message:"文档精准修改失败"})}}var D=c(68970),E=c(50296);let F=(0,h.M)(d,"default"),G=(0,h.M)(d,"config"),H=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/documents/refine",pathname:"/api/documents/refine",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function I(a,b,c){let d=await H.prepare(a,b,{srcPage:"/api/documents/refine"});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,D.getTracer)(),e=d.getActiveScopeSpan(),j=H.instrumentationOnRequestError.bind(H),k=async e=>H.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:H.isDev,page:"/api/documents/refine",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")!==E.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(E.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:D.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(H.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},29281:(a,b,c)=>{c.d(b,{I:()=>f});var d=c(96770);let e=null;function f(){return e||(e=new d.ConfigStore),e}},75600:a=>{a.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},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],()=>b(b.s=12443));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=9029,a.ids=[9029],a.modules={48161:a=>{a.exports=require("node:os")},55258:(a,b,c)=>{c.r(b),c.d(b,{config:()=>o,default:()=>n,handler:()=>q});var d={};c.r(d),c.d(d,{default:()=>k});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(89952);function j(a){return"file"===a||"prompt"===a?a:void 0}function k(a,b){try{if("GET"===a.method){if("export"===a.query.mode){let c="string"==typeof a.query.roleIds&&a.query.roleIds?a.query.roleIds.split(","):void 0,d="string"==typeof a.query.configIds&&a.query.configIds?a.query.configIds.split(","):void 0;return b.status(200).json((0,i.tl)({roleIds:c,configIds:d}))}return b.status(200).json({roles:(0,i.XB)(j(a.query.type)),configs:(0,i.DZ)()})}if("POST"===a.method||"PUT"===a.method){let c="import"===a.query.mode?"import":"config"===a.query.mode?"config":"role";if("import"===c){let c=(0,i.ov)(a.body);return b.status(200).json({success:!0,...c,roles:(0,i.XB)(),configs:(0,i.DZ)()})}if("config"===c){let c=a.body;if(!c?.id||!c.name)return b.status(400).json({error:"config id and name required"});return b.status(200).json({config:(0,i.NR)(c),roles:(0,i.XB)(),configs:(0,i.DZ)()})}let d=a.body;if(!d?.id||!d.name||!j(d.type))return b.status(400).json({error:"role id, name and type required"});return b.status(200).json({role:(0,i.dg)(d),roles:(0,i.XB)(),configs:(0,i.DZ)()})}if("DELETE"===a.method){let c="config"===a.query.mode?"config":"role",d=String(a.query.id||"");if(!d)return b.status(400).json({error:"id required"});if("config"===c)return(0,i.dw)(d),b.status(200).json({success:!0,roles:(0,i.XB)(),configs:(0,i.DZ)()});let e=j(a.query.type);if(!e)return b.status(400).json({error:"type required"});return(0,i.FV)(e,d),b.status(200).json({success:!0,roles:(0,i.XB)(),configs:(0,i.DZ)()})}return b.status(405).json({error:"Method not allowed"})}catch(a){console.error("[api] documents/roles",a),b.status(500).json({error:a instanceof Error?a.message:"Internal server error"})}}var l=c(68970),m=c(50296);let n=(0,h.M)(d,"default"),o=(0,h.M)(d,"config"),p=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/documents/roles",pathname:"/api/documents/roles",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function q(a,b,c){let d=await p.prepare(a,b,{srcPage:"/api/documents/roles"});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,l.getTracer)(),e=d.getActiveScopeSpan(),j=p.instrumentationOnRequestError.bind(p),k=async e=>p.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:p.isDev,page:"/api/documents/roles",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")!==m.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(m.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:l.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(p.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},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")},79181:(a,b,c)=>{c.d(b,{V:()=>h});var d=c(73024),e=c(48161),f=c(76760);let g={reviewStandardQueries:[],reviewChapterTemplateMatchers:[],reviewChapterSectionDefaults:{firstChapterSections:[],chapterSections:[],firstChapterTableSections:[],firstChapterTableRequirements:[]},templates:[],roles:[],roleConfigs:[],qualityBenchmarks:[],autoSpecGates:[],chapterTitleFilters:[]};function h(){try{var a;let b=function(){let a=f.join(e.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),f.join(a,"engineering-document-config.json")}();if(!d.existsSync(b))return g;return a=JSON.parse(d.readFileSync(b,"utf-8")),{reviewStandardQueries:Array.isArray(a.reviewStandardQueries)?a.reviewStandardQueries.filter(Boolean):[],reviewChapterTemplateMatchers:Array.isArray(a.reviewChapterTemplateMatchers)?a.reviewChapterTemplateMatchers.filter(Boolean):[],reviewChapterSectionDefaults:{firstChapterSections:Array.isArray(a.reviewChapterSectionDefaults?.firstChapterSections)?a.reviewChapterSectionDefaults.firstChapterSections.filter(Boolean):[],chapterSections:Array.isArray(a.reviewChapterSectionDefaults?.chapterSections)?a.reviewChapterSectionDefaults.chapterSections.filter(Boolean):[],firstChapterTableSections:Array.isArray(a.reviewChapterSectionDefaults?.firstChapterTableSections)?a.reviewChapterSectionDefaults.firstChapterTableSections.filter(Boolean):[],firstChapterTableRequirements:Array.isArray(a.reviewChapterSectionDefaults?.firstChapterTableRequirements)?a.reviewChapterSectionDefaults.firstChapterTableRequirements.filter(Boolean):[]},templates:Array.isArray(a.templates)?a.templates:[],roles:Array.isArray(a.roles)?a.roles:[],roleConfigs:Array.isArray(a.roleConfigs)?a.roleConfigs:[],qualityBenchmarks:Array.isArray(a.qualityBenchmarks)?a.qualityBenchmarks:[],technicalDetailGate:a.technicalDetailGate,autoSpecGates:Array.isArray(a.autoSpecGates)?a.autoSpecGates:[],chapterTitleFilters:Array.isArray(a.chapterTitleFilters)?a.chapterTitleFilters:[]}}catch{return g}}},89952:(a,b,c)=>{c.d(b,{DZ:()=>t,FV:()=>s,Mu:()=>u,NR:()=>v,XB:()=>q,dg:()=>r,dw:()=>w,ov:()=>A,tl:()=>z});var d=c(73024),e=c(48161),f=c(76760),g=c(79181);function h(){let a=f.join(e.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),f.join(a,"document-roles.json")}function i(a){return(a||`item-${Date.now()}`).replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,80)}function j(a=[]){let b=new Set;return a.filter(a=>!(!a.roleId||b.has(a.roleId))&&(b.add(a.roleId),!0))}function k(a){var b,c;let d="prompt"===a.type?"prompt":"file";return{id:i(a.id),name:a.name||"未命名角色",description:a.description||"",type:d,builtIn:!!a.builtIn,resourceId:"prompt"===d&&(a.resourceId||a.resourceIds?.[0])||void 0,resourceIds:"prompt"===d?function(a=[]){return[...new Set(a.filter(Boolean))]}(Array.isArray(a.resourceIds)&&a.resourceIds.length>0?a.resourceIds:a.resourceId?[a.resourceId]:[]):[],executionType:"prompt"===d?"fact_extraction"===(b=a.executionType)||"chapter_generation"===b||"llm_review"===b||"validation"===b||"formatting"===b||"reference"===b?b:"reference":void 0,processingType:"file"===d?"rule"===(c=a.processingType)||"project_fact"===c||"table"===c||"drawing"===c||"specification"===c||"reference"===c?c:"reference":void 0}}function l(a){return{id:i(a.id),name:a.name||"未命名配置",description:a.description||"",builtIn:!!a.builtIn,fileRoles:j(Array.isArray(a.fileRoles)?a.fileRoles.filter(a=>a.roleId).map((a,b)=>({roleId:a.roleId,order:Number.isFinite(a.order)?a.order:b})):[]),promptRoles:j(Array.isArray(a.promptRoles)?a.promptRoles.filter(a=>a.roleId).map((a,b)=>({roleId:a.roleId,order:Number.isFinite(a.order)?a.order:b})):[])}}function m(){try{let a=h();if(!d.existsSync(a))return{roles:[],configs:[]};let b=JSON.parse(d.readFileSync(a,"utf-8"));if(Array.isArray(b))return{roles:b.map(k),configs:[]};return{roles:Array.isArray(b.roles)?b.roles.map(k):[],configs:Array.isArray(b.configs)?b.configs.map(l):[]}}catch{return{roles:[],configs:[]}}}function n(a){d.writeFileSync(h(),JSON.stringify({roles:a.roles.map(k),configs:a.configs.map(l)},null,2),"utf-8")}function o(){return(0,g.V)().roles.map(a=>k({...a,builtIn:!0}))}function p(){return(0,g.V)().roleConfigs.map(a=>l({...a,builtIn:!0}))}function q(a){let b=o(),c=m().roles.filter(a=>!b.some(b=>b.id===a.id&&b.type===a.type)),d=[...b,...c];return a?d.filter(b=>b.type===a):d}function r(a){let b=k(a),c=m();return c.roles=c.roles.filter(a=>a.id!==b.id||a.type!==b.type),c.roles.push(b),n(c),b}function s(a,b){if(o().some(c=>c.id===b&&c.type===a))throw Error("Configured role cannot be deleted");let c=m();c.roles=c.roles.filter(c=>c.id!==b||c.type!==a),c.configs=c.configs.map(a=>({...a,fileRoles:a.fileRoles.filter(a=>a.roleId!==b),promptRoles:a.promptRoles.filter(a=>a.roleId!==b)})),n(c)}function t(){let a=p(),b=m().configs.filter(b=>!a.some(a=>a.id===b.id));return[...a,...b]}function u(a){return t().find(b=>b.id===a)}function v(a){let b={...l(a),builtIn:!1},c=m();return c.configs=c.configs.filter(a=>a.id!==b.id),c.configs.push(b),n(c),b}function w(a){if(p().some(b=>b.id===a))throw Error("Configured role config cannot be deleted");let b=m();b.configs=b.configs.filter(b=>b.id!==a),n(b)}function x(a,b){let c=i(a);if(!b.has(c))return b.add(c),c;do c=i(`${a}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,7)}`);while(b.has(c));return b.add(c),c}function y(a=[],b){return a.map((a,c)=>({roleId:b.get(a.roleId)||a.roleId,order:Number.isFinite(a.order)?a.order:c}))}function z(a){let b=a?.roleIds?new Set(a.roleIds):null,c=a?.configIds?new Set(a.configIds):null,d=m();return{type:"customize-agent.documentRoles",version:1,exportedAt:new Date().toISOString(),roles:d.roles.filter(a=>!b||b.has(a.id)).map(k),configs:d.configs.filter(a=>!c||c.has(a.id)).map(l)}}function A(a){let b=a&&"object"==typeof a?a:{},c=Array.isArray(b.roles)?b.roles:[],d=Array.isArray(b.configs)?b.configs:[];if(0===c.length&&0===d.length)throw Error("没有可导入的角色配置");let e=m(),f=new Set([...o().map(a=>a.id),...e.roles.map(a=>a.id)]),g=new Set([...p().map(a=>a.id),...e.configs.map(a=>a.id)]),h=new Map,i=[];for(let a of c){let b=k(a),c=x(b.id,f);h.set(b.id,c),i.push({...b,id:c,builtIn:!1})}let j=new Set([...o().map(a=>a.id),...e.roles.map(a=>a.id),...i.map(a=>a.id)]),q=d.map(a=>{let b=l(a),c=x(b.id,g);return l({...b,id:c,builtIn:!1,fileRoles:y(b.fileRoles,h).filter(a=>j.has(a.roleId)),promptRoles:y(b.promptRoles,h).filter(a=>j.has(a.roleId))})});return e.roles.push(...i),e.configs.push(...q),n(e),{importedRoles:i.length,importedConfigs:q.length}}}};var b=require("../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705],()=>b(b.s=55258));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=9029,a.ids=[9029],a.modules={8753:(a,b,c)=>{c.d(b,{V:()=>h});var d=c(73024),e=c(48161),f=c(76760);let g={reviewStandardQueries:[],reviewChapterTemplateMatchers:[],reviewChapterSectionDefaults:{firstChapterSections:[],chapterSections:[],firstChapterTableSections:[],firstChapterTableRequirements:[]},templates:[],roles:[],roleConfigs:[],qualityBenchmarks:[],autoSpecGates:[],chapterTitleFilters:[]};function h(){try{var a;let b=function(){let a=f.join(e.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),f.join(a,"engineering-document-config.json")}();if(!d.existsSync(b))return g;return a=JSON.parse(d.readFileSync(b,"utf-8")),{reviewStandardQueries:Array.isArray(a.reviewStandardQueries)?a.reviewStandardQueries.filter(Boolean):[],reviewChapterTemplateMatchers:Array.isArray(a.reviewChapterTemplateMatchers)?a.reviewChapterTemplateMatchers.filter(Boolean):[],reviewChapterSectionDefaults:{firstChapterSections:Array.isArray(a.reviewChapterSectionDefaults?.firstChapterSections)?a.reviewChapterSectionDefaults.firstChapterSections.filter(Boolean):[],chapterSections:Array.isArray(a.reviewChapterSectionDefaults?.chapterSections)?a.reviewChapterSectionDefaults.chapterSections.filter(Boolean):[],firstChapterTableSections:Array.isArray(a.reviewChapterSectionDefaults?.firstChapterTableSections)?a.reviewChapterSectionDefaults.firstChapterTableSections.filter(Boolean):[],firstChapterTableRequirements:Array.isArray(a.reviewChapterSectionDefaults?.firstChapterTableRequirements)?a.reviewChapterSectionDefaults.firstChapterTableRequirements.filter(Boolean):[]},templates:Array.isArray(a.templates)?a.templates:[],roles:Array.isArray(a.roles)?a.roles:[],roleConfigs:Array.isArray(a.roleConfigs)?a.roleConfigs:[],qualityBenchmarks:Array.isArray(a.qualityBenchmarks)?a.qualityBenchmarks:[],technicalDetailGate:a.technicalDetailGate,autoSpecGates:Array.isArray(a.autoSpecGates)?a.autoSpecGates:[],chapterTitleFilters:Array.isArray(a.chapterTitleFilters)?a.chapterTitleFilters:[]}}catch{return g}}},25840:(a,b,c)=>{c.d(b,{DZ:()=>u,FV:()=>t,Mu:()=>v,NR:()=>w,XB:()=>r,dg:()=>s,dw:()=>x,ov:()=>B,tl:()=>A});var d=c(73024),e=c(48161),f=c(76760),g=c(47899),h=c(8753);function i(){let a=f.join(e.homedir(),".customize-agent");return d.mkdirSync(a,{recursive:!0}),f.join(a,"document-roles.json")}function j(a){return(a||`item-${Date.now()}`).replace(/[^a-zA-Z0-9_-]/gu,"-").slice(0,g.hH)}function k(a){if(!Array.isArray(a))return[];let b=[];for(let c=0;c<a.length;c+=1){let d=a[c];d.roleId&&b.push({roleId:d.roleId,order:Number.isFinite(d.order)?d.order:c})}return function(a=[]){let b=new Set,c=[];for(let d of a)!d.roleId||b.has(d.roleId)||(b.add(d.roleId),c.push(d));return c}(b)}function l(a){var b,c;let d="prompt"===a.type?"prompt":"file";return{id:j(a.id),name:a.name||"未命名角色",description:a.description||"",type:d,builtIn:!!a.builtIn,resourceId:"prompt"===d&&(a.resourceId||a.resourceIds?.[0])||void 0,resourceIds:"prompt"===d?function(a=[]){let b=new Set,c=[];for(let d of a)!d||b.has(d)||(b.add(d),c.push(d));return c}(Array.isArray(a.resourceIds)&&a.resourceIds.length>0?a.resourceIds:a.resourceId?[a.resourceId]:[]):[],executionType:"prompt"===d?"string"==typeof(b=a.executionType)&&g.YB.has(b)?b:"reference":void 0,processingType:"file"===d?"string"==typeof(c=a.processingType)&&g.h2.has(c)?c:"reference":void 0}}function m(a){return{id:j(a.id),name:a.name||"未命名配置",description:a.description||"",builtIn:!!a.builtIn,fileRoles:k(a.fileRoles),promptRoles:k(a.promptRoles)}}function n(){try{let a=i();if(!d.existsSync(a))return{roles:[],configs:[]};let b=JSON.parse(d.readFileSync(a,"utf-8"));if(Array.isArray(b))return{roles:b.map(l),configs:[]};return{roles:Array.isArray(b.roles)?b.roles.map(l):[],configs:Array.isArray(b.configs)?b.configs.map(m):[]}}catch{return{roles:[],configs:[]}}}function o(a){d.writeFileSync(i(),JSON.stringify({roles:a.roles.map(l),configs:a.configs.map(m)},null,2),"utf-8")}function p(){return(0,h.V)().roles.map(a=>l({...a,builtIn:!0}))}function q(){return(0,h.V)().roleConfigs.map(a=>m({...a,builtIn:!0}))}function r(a){let b=p(),c=n().roles.filter(a=>!b.some(b=>b.id===a.id&&b.type===a.type)),d=[...b,...c];return a?d.filter(b=>b.type===a):d}function s(a){let b=l(a),c=n();return c.roles=c.roles.filter(a=>a.id!==b.id||a.type!==b.type),c.roles.push(b),o(c),b}function t(a,b){if(p().some(c=>c.id===b&&c.type===a))throw Error("Configured role cannot be deleted");let c=n();c.roles=c.roles.filter(c=>c.id!==b||c.type!==a),c.configs=c.configs.map(a=>({...a,fileRoles:a.fileRoles.filter(a=>a.roleId!==b),promptRoles:a.promptRoles.filter(a=>a.roleId!==b)})),o(c)}function u(){let a=q(),b=n().configs.filter(b=>!a.some(a=>a.id===b.id));return[...a,...b]}function v(a){return u().find(b=>b.id===a)}function w(a){let b={...m(a),builtIn:!1},c=n();return c.configs=c.configs.filter(a=>a.id!==b.id),c.configs.push(b),o(c),b}function x(a){if(q().some(b=>b.id===a))throw Error("Configured role config cannot be deleted");let b=n();b.configs=b.configs.filter(b=>b.id!==a),o(b)}function y(a,b){let c=j(a);if(!b.has(c))return b.add(c),c;do c=j(`${a}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,7)}`);while(b.has(c));return b.add(c),c}function z(a=[],b){return a.map((a,c)=>({roleId:b.get(a.roleId)||a.roleId,order:Number.isFinite(a.order)?a.order:c}))}function A(a){let b=a?.roleIds?new Set(a.roleIds):null,c=a?.configIds?new Set(a.configIds):null,d=n();return{type:"customize-agent.documentRoles",version:1,exportedAt:new Date().toISOString(),roles:d.roles.filter(a=>!b||b.has(a.id)).map(l),configs:d.configs.filter(a=>!c||c.has(a.id)).map(m)}}function B(a){let b=a&&"object"==typeof a?a:{},c=Array.isArray(b.roles)?b.roles:[],d=Array.isArray(b.configs)?b.configs:[];if(0===c.length&&0===d.length)throw Error("没有可导入的角色配置");let e=n(),f=new Set([...p().map(a=>a.id),...e.roles.map(a=>a.id)]),g=new Set([...q().map(a=>a.id),...e.configs.map(a=>a.id)]),h=new Map,i=[];for(let a of c){let b=l(a),c=y(b.id,f);h.set(b.id,c),i.push({...b,id:c,builtIn:!1})}let j=new Set([...p().map(a=>a.id),...e.roles.map(a=>a.id),...i.map(a=>a.id)]),k=d.map(a=>{let b=m(a),c=y(b.id,g);return m({...b,id:c,builtIn:!1,fileRoles:z(b.fileRoles,h).filter(a=>j.has(a.roleId)),promptRoles:z(b.promptRoles,h).filter(a=>j.has(a.roleId))})});return e.roles.push(...i),e.configs.push(...k),o(e),{importedRoles:i.length,importedConfigs:k.length}}},48161:a=>{a.exports=require("node:os")},55258:(a,b,c)=>{c.r(b),c.d(b,{config:()=>o,default:()=>n,handler:()=>q});var d={};c.r(d),c.d(d,{default:()=>k});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(25840);function j(a){return"file"===a||"prompt"===a?a:void 0}function k(a,b){try{if("GET"===a.method){if("export"===a.query.mode){let c="string"==typeof a.query.roleIds&&a.query.roleIds?a.query.roleIds.split(","):void 0,d="string"==typeof a.query.configIds&&a.query.configIds?a.query.configIds.split(","):void 0;return b.status(200).json((0,i.tl)({roleIds:c,configIds:d}))}return b.status(200).json({roles:(0,i.XB)(j(a.query.type)),configs:(0,i.DZ)()})}if("POST"===a.method||"PUT"===a.method){let c="import"===a.query.mode?"import":"config"===a.query.mode?"config":"role";if("import"===c){let c=(0,i.ov)(a.body);return b.status(200).json({success:!0,...c,roles:(0,i.XB)(),configs:(0,i.DZ)()})}if("config"===c){let c=a.body;if(!c?.id||!c.name)return b.status(400).json({error:"config id and name required"});return b.status(200).json({config:(0,i.NR)(c),roles:(0,i.XB)(),configs:(0,i.DZ)()})}let d=a.body;if(!d?.id||!d.name||!j(d.type))return b.status(400).json({error:"role id, name and type required"});return b.status(200).json({role:(0,i.dg)(d),roles:(0,i.XB)(),configs:(0,i.DZ)()})}if("DELETE"===a.method){let c="config"===a.query.mode?"config":"role",d=String(a.query.id||"");if(!d)return b.status(400).json({error:"id required"});if("config"===c)return(0,i.dw)(d),b.status(200).json({success:!0,roles:(0,i.XB)(),configs:(0,i.DZ)()});let e=j(a.query.type);if(!e)return b.status(400).json({error:"type required"});return(0,i.FV)(e,d),b.status(200).json({success:!0,roles:(0,i.XB)(),configs:(0,i.DZ)()})}return b.status(405).json({error:"Method not allowed"})}catch(a){console.error("[api] documents/roles",a),b.status(500).json({error:a instanceof Error?a.message:"Internal server error"})}}var l=c(68970),m=c(50296);let n=(0,h.M)(d,"default"),o=(0,h.M)(d,"config"),p=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/documents/roles",pathname:"/api/documents/roles",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function q(a,b,c){let d=await p.prepare(a,b,{srcPage:"/api/documents/roles"});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,l.getTracer)(),e=d.getActiveScopeSpan(),j=p.instrumentationOnRequestError.bind(p),k=async e=>p.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:p.isDev,page:"/api/documents/roles",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")!==m.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(m.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:l.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},k))}catch(a){if(p.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},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")}};var b=require("../../../webpack-api-runtime.js");b.C(a);var c=b.X(0,[9705,7899],()=>b(b.s=55258));module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/bytes/index.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/bytes/package.json","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/raw-body/index.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/raw-body/package.json","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/client-and-server-references.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/constants.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/interop-default.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/is-error.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/semver-noop.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/lru-cache.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/load-manifest.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/response-cache/types.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/package.json","../../../../../node_modules/next","../../../../../package.json","../../../../package.json","../../../chunks/9705.js","../../../webpack-api-runtime.js"]}
1
+ {"version":1,"files":["../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/bytes/index.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/bytes/package.json","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/raw-body/index.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/compiled/raw-body/package.json","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/client-and-server-references.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/constants.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/interop-default.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/is-error.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/lib/semver-noop.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/lru-cache.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/load-manifest.external.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/server/response-cache/types.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../../node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7_sass@1.101.0/node_modules/next/package.json","../../../../../node_modules/next","../../../../../package.json","../../../../package.json","../../../chunks/7899.js","../../../chunks/9705.js","../../../webpack-api-runtime.js"]}
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=9027,a.ids=[9027],a.modules={15751:a=>{a.exports=require("xlsx")},19898:a=>{a.exports=require("@customize-agent/knowledge")},21820:a=>{a.exports=require("os")},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},56878:(a,b,c)=>{c.r(b),c.d(b,{config:()=>n,default:()=>m,handler:()=>p});var d={};c.r(d),c.d(d,{default:()=>j});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(56697);async function j(a,b){try{if("GET"===a.method){let c=String(a.query.validate||"");if(c)return b.status(200).json({validation:await (0,i.xm)(c,"string"==typeof a.query.projectRoot&&a.query.projectRoot?a.query.projectRoot:void 0)});return b.status(200).json({templates:(0,i.jG)()})}if("POST"===a.method||"PUT"===a.method){let c=a.body;if(!c?.id||!c.name)return b.status(400).json({error:"template id and name required"});return b.status(200).json({template:(0,i.Bh)(c),templates:(0,i.jG)()})}if("DELETE"===a.method){let c=String(a.query.templateId||"");if(!c)return b.status(400).json({error:"templateId required"});return(0,i.h0)(c),b.status(200).json({success:!0,templates:(0,i.jG)()})}if("PATCH"===a.method){let{templateId:c}=a.body;if(!c)return b.status(400).json({error:"templateId required"});return b.status(200).json({template:(0,i.bV)(c),templates:(0,i.jG)()})}return b.status(405).json({error:"Method not allowed"})}catch(a){console.error("[api] documents/templates",a),b.status(500).json({error:a instanceof Error?a.message:"Internal server error"})}}var k=c(68970),l=c(50296);let m=(0,h.M)(d,"default"),n=(0,h.M)(d,"config"),o=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/documents/templates",pathname:"/api/documents/templates",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function p(a,b,c){let d=await o.prepare(a,b,{srcPage:"/api/documents/templates"});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,k.getTracer)(),e=d.getActiveScopeSpan(),j=o.instrumentationOnRequestError.bind(o),m=async e=>o.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:o.isDev,page:"/api/documents/templates",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")!==l.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 m(e):await d.withPropagatedContext(a.headers,()=>d.trace(l.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:k.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},m))}catch(a){if(o.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},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")},87550:a=>{a.exports=require("better-sqlite3")},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,6697],()=>b(b.s=56878));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=9027,a.ids=[9027],a.modules={15751:a=>{a.exports=require("xlsx")},19898:a=>{a.exports=require("@customize-agent/knowledge")},21820:a=>{a.exports=require("os")},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},48161:a=>{a.exports=require("node:os")},56878:(a,b,c)=>{c.r(b),c.d(b,{config:()=>n,default:()=>m,handler:()=>p});var d={};c.r(d),c.d(d,{default:()=>j});var e=c(11400),f=c(50029),g=c(71086),h=c(38513),i=c(35247);async function j(a,b){try{if("GET"===a.method){let c=String(a.query.validate||"");if(c)return b.status(200).json({validation:await (0,i.xmB)(c,"string"==typeof a.query.projectRoot&&a.query.projectRoot?a.query.projectRoot:void 0)});return b.status(200).json({templates:(0,i.jGg)()})}if("POST"===a.method||"PUT"===a.method){let c=a.body;if(!c?.id||!c.name)return b.status(400).json({error:"template id and name required"});return b.status(200).json({template:(0,i.Bhi)(c),templates:(0,i.jGg)()})}if("DELETE"===a.method){let c=String(a.query.templateId||"");if(!c)return b.status(400).json({error:"templateId required"});return(0,i.h0x)(c),b.status(200).json({success:!0,templates:(0,i.jGg)()})}if("PATCH"===a.method){let{templateId:c}=a.body;if(!c)return b.status(400).json({error:"templateId required"});return b.status(200).json({template:(0,i.bVF)(c),templates:(0,i.jGg)()})}return b.status(405).json({error:"Method not allowed"})}catch(a){console.error("[api] documents/templates",a),b.status(500).json({error:a instanceof Error?a.message:"Internal server error"})}}var k=c(68970),l=c(50296);let m=(0,h.M)(d,"default"),n=(0,h.M)(d,"config"),o=new g.PagesAPIRouteModule({definition:{kind:f.A.PAGES_API,page:"/api/documents/templates",pathname:"/api/documents/templates",bundlePath:"",filename:""},userland:d,distDir:".next",relativeProjectDir:""});async function p(a,b,c){let d=await o.prepare(a,b,{srcPage:"/api/documents/templates"});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,k.getTracer)(),e=d.getActiveScopeSpan(),j=o.instrumentationOnRequestError.bind(o),m=async e=>o.render(a,b,{query:{...f,...g},params:g,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:h.preview,propagateError:!1,dev:o.isDev,page:"/api/documents/templates",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")!==l.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 m(e):await d.withPropagatedContext(a.headers,()=>d.trace(l.BaseServerSpan.handleRequest,{spanName:`${c} ${a.url}`,kind:k.SpanKind.SERVER,attributes:{"http.method":c,"http.target":a.url}},m))}catch(a){if(o.isDev)throw a;(0,e.sendError)(b,500,"Internal Server Error")}finally{null==c.waitUntil||c.waitUntil.call(c,Promise.resolve())}}},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")},87550:a=>{a.exports=require("better-sqlite3")},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,7899,5247],()=>b(b.s=56878));module.exports=c})();