@zwbigi/ink-xy 0.1.37 → 0.1.45

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 (166) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +5 -4
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +27 -3
  5. package/.next/routes-manifest.json +6 -0
  6. package/.next/server/app/_global-error/page.js +3 -3
  7. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page.js +2 -2
  17. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/_not-found.html +1 -1
  20. package/.next/server/app/_not-found.rsc +2 -2
  21. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  22. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  24. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  27. package/.next/server/app/admin/page.js +3 -3
  28. package/.next/server/app/admin/page.js.nft.json +1 -1
  29. package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  30. package/.next/server/app/admin.html +2 -2
  31. package/.next/server/app/admin.rsc +2 -2
  32. package/.next/server/app/admin.segments/_full.segment.rsc +2 -2
  33. package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  34. package/.next/server/app/admin.segments/_index.segment.rsc +2 -2
  35. package/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
  36. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
  37. package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
  38. package/.next/server/app/api/admin/prompts/route.js +1 -1
  39. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  40. package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
  41. package/.next/server/app/api/agent/[id]/route.js +1 -1
  42. package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
  43. package/.next/server/app/api/agent/describe-image/route.js +1 -1
  44. package/.next/server/app/api/agent/new/route.js +1 -1
  45. package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
  46. package/.next/server/app/api/agent/parse-characters/route.js +2 -2
  47. package/.next/server/app/api/agent/parse-characters/route.js.nft.json +1 -1
  48. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  49. package/.next/server/app/api/auth/all-providers/route.js.nft.json +1 -1
  50. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  51. package/.next/server/app/api/auth/api-key/[provider]/route.js.nft.json +1 -1
  52. package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
  53. package/.next/server/app/api/auth/login/[provider]/route.js.nft.json +1 -1
  54. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  55. package/.next/server/app/api/auth/logout/[provider]/route.js.nft.json +1 -1
  56. package/.next/server/app/api/auth/providers/route.js +1 -1
  57. package/.next/server/app/api/auth/providers/route.js.nft.json +1 -1
  58. package/.next/server/app/api/default-cwd/route.js +1 -1
  59. package/.next/server/app/api/files/[...path]/route.js +2 -2
  60. package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -1
  61. package/.next/server/app/api/gem-xy/[id]/route.js +1 -1
  62. package/.next/server/app/api/gem-xy/[id]/route.js.nft.json +1 -1
  63. package/.next/server/app/api/gem-xy/route.js +1 -1
  64. package/.next/server/app/api/gem-xy/route.js.nft.json +1 -1
  65. package/.next/server/app/api/genres/[id]/route.js +1 -1
  66. package/.next/server/app/api/genres/[id]/route.js.nft.json +1 -1
  67. package/.next/server/app/api/genres/route.js +2 -2
  68. package/.next/server/app/api/genres/route.js.nft.json +1 -1
  69. package/.next/server/app/api/home/route.js +1 -1
  70. package/.next/server/app/api/inkos/route.js +2 -2
  71. package/.next/server/app/api/inkos/route.js.nft.json +1 -1
  72. package/.next/server/app/api/license/route.js +1 -1
  73. package/.next/server/app/api/license/route.js.nft.json +1 -1
  74. package/.next/server/app/api/models/route.js +1 -1
  75. package/.next/server/app/api/models-config/route.js +1 -1
  76. package/.next/server/app/api/models-config/route.js.nft.json +1 -1
  77. package/.next/server/app/api/register-cwd/route.js +1 -1
  78. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  79. package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -1
  80. package/.next/server/app/api/sessions/[id]/lock/route.js +1 -1
  81. package/.next/server/app/api/sessions/[id]/lock/route.js.nft.json +1 -1
  82. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  83. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  84. package/.next/server/app/api/sessions/new/route.js +1 -1
  85. package/.next/server/app/api/sessions/route.js +2 -2
  86. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  87. package/.next/server/app/api/skills/install/route.js +1 -1
  88. package/.next/server/app/api/skills/install/route.js.nft.json +1 -1
  89. package/.next/server/app/api/skills/prompts/route.js +1 -1
  90. package/.next/server/app/api/skills/prompts/route.js.nft.json +1 -1
  91. package/.next/server/app/api/skills/route.js +2 -2
  92. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  93. package/.next/server/app/api/skills/search/route.js +1 -1
  94. package/.next/server/app/api/skills/search/route.js.nft.json +1 -1
  95. package/.next/server/app/api/tts/synthesize/route.js +1 -1
  96. package/.next/server/app/api/tts/synthesize/route.js.nft.json +1 -1
  97. package/.next/server/app/expandable-tabs-demo/page.js +2 -0
  98. package/.next/server/app/expandable-tabs-demo/page.js.nft.json +1 -0
  99. package/.next/server/app/expandable-tabs-demo/page_client-reference-manifest.js +1 -0
  100. package/.next/server/app/expandable-tabs-demo.html +1 -0
  101. package/.next/server/app/expandable-tabs-demo.meta +15 -0
  102. package/.next/server/app/expandable-tabs-demo.rsc +20 -0
  103. package/.next/server/app/expandable-tabs-demo.segments/_full.segment.rsc +20 -0
  104. package/.next/server/app/expandable-tabs-demo.segments/_head.segment.rsc +6 -0
  105. package/.next/server/app/expandable-tabs-demo.segments/_index.segment.rsc +5 -0
  106. package/.next/server/app/expandable-tabs-demo.segments/_tree.segment.rsc +2 -0
  107. package/.next/server/app/expandable-tabs-demo.segments/expandable-tabs-demo/__PAGE__.segment.rsc +9 -0
  108. package/.next/server/app/expandable-tabs-demo.segments/expandable-tabs-demo.segment.rsc +5 -0
  109. package/.next/server/app/favicon.ico/route.js +1 -1
  110. package/.next/server/app/index.html +1 -1
  111. package/.next/server/app/index.rsc +3 -3
  112. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  113. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  114. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  115. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  116. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  117. package/.next/server/app/page.js +67 -67
  118. package/.next/server/app/page.js.nft.json +1 -1
  119. package/.next/server/app/page_client-reference-manifest.js +1 -1
  120. package/.next/server/app-paths-manifest.json +5 -4
  121. package/.next/server/chunks/{632.js → 156.js} +1 -1
  122. package/.next/server/chunks/162.js +1 -1
  123. package/.next/server/chunks/601.js +1 -1
  124. package/.next/server/chunks/857.js +9 -0
  125. package/.next/server/middleware-build-manifest.js +1 -1
  126. package/.next/server/pages/404.html +1 -1
  127. package/.next/server/pages/500.html +1 -1
  128. package/.next/server/server-reference-manifest.json +1 -1
  129. package/.next/static/50KWv5uhNxkY9OUmVpmva/_buildManifest.js +1 -0
  130. package/.next/static/chunks/5370-d7990114aa89fe7f.js +9 -0
  131. package/.next/static/chunks/9194-802baab15086b14c.js +1 -0
  132. package/.next/static/chunks/app/_not-found/page-2c74a6a36708b6b3.js +1 -0
  133. package/.next/static/chunks/app/expandable-tabs-demo/page-fb3550b7dce77480.js +1 -0
  134. package/.next/static/chunks/app/layout-1da68fa9273da275.js +1 -0
  135. package/.next/static/chunks/app/page-3a6c6cd978a25cb2.js +322 -0
  136. package/.next/static/chunks/{webpack-a98a562c28a00d6f.js → webpack-e9ef67fb63066cb8.js} +1 -1
  137. package/.next/static/css/6f552da437d9ac13.css +3 -0
  138. package/.next/static/media/0086f8992871c45b-s.woff2 +0 -0
  139. package/.next/static/media/03b436aa846269de-s.woff2 +0 -0
  140. package/.next/static/media/05a58683eb2ffca7-s.woff2 +0 -0
  141. package/.next/static/media/08aedeceaf1dcd57-s.woff2 +0 -0
  142. package/.next/static/media/110cbef534704ef8-s.p.woff2 +0 -0
  143. package/.next/static/media/36008747766f78c6-s.woff2 +0 -0
  144. package/.next/static/media/4f19a67e08e18f3c-s.woff2 +0 -0
  145. package/.next/static/media/5c0c2bcbaa4149ca-s.p.woff2 +0 -0
  146. package/.next/static/media/6d38f9d4e0f4772b-s.woff2 +0 -0
  147. package/.next/static/media/714ad00c3d008517-s.woff2 +0 -0
  148. package/.next/static/media/7b0b24f36b1a6d0b-s.p.woff2 +0 -0
  149. package/.next/static/media/98848575513c9742-s.woff2 +0 -0
  150. package/.next/static/media/99bbede094da1c3f-s.woff2 +0 -0
  151. package/.next/static/media/ab00a911ac2adf48-s.woff2 +0 -0
  152. package/.next/static/media/c80eef6a0c97798e-s.woff2 +0 -0
  153. package/.next/static/media/d2f466e69dd54845-s.woff2 +0 -0
  154. package/.next/trace +14 -4
  155. package/.next/trace-build +1 -1
  156. package/.next/types/app/expandable-tabs-demo/page.ts +87 -0
  157. package/.next/types/routes.d.ts +2 -1
  158. package/.next/types/validator.ts +9 -0
  159. package/package.json +7 -2
  160. package/.next/static/4HbLXHv82BgaLli8-w6qg/_buildManifest.js +0 -1
  161. package/.next/static/chunks/3266-eb4b91d8d8089256.js +0 -1
  162. package/.next/static/chunks/app/_not-found/page-cba500a03cba1d1e.js +0 -1
  163. package/.next/static/chunks/app/layout-6c9568b1e18484e3.js +0 -1
  164. package/.next/static/chunks/app/page-289fc7306231b773.js +0 -322
  165. package/.next/static/css/2be4a109457457d2.css +0 -3
  166. /package/.next/static/{4HbLXHv82BgaLli8-w6qg → 50KWv5uhNxkY9OUmVpmva}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (()=>{var a={};a.id=851,a.ids=[851],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{},99139:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>D,patchFetch:()=>C,routeModule:()=>y,serverHooks:()=>B,workAsyncStorage:()=>z,workUnitAsyncStorage:()=>A});var d={};c.r(d),c.d(d,{GET:()=>x});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(21820);async function x(){return v.NextResponse.json({home:(0,w.homedir)()})}let y=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/home/route",pathname:"/api/home",filename:"route",bundlePath:"app/api/home/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"E:\\ink-xY\\app\\api\\home\\route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:z,workUnitAsyncStorage:A,serverHooks:B}=y;function C(){return(0,g.patchFetch)({workAsyncStorage:z,workUnitAsyncStorage:A})}async function D(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),y.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/home/route";"/index"===d&&(d="/");let e=await y.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||y.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===y.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await y.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>y.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>y.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await y.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await y.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await y.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,813],()=>b(b.s=99139));module.exports=c})();
1
+ (()=>{var a={};a.id=851,a.ids=[851],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},57530:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>D,patchFetch:()=>C,routeModule:()=>y,serverHooks:()=>B,workAsyncStorage:()=>z,workUnitAsyncStorage:()=>A});var d={};c.r(d),c.d(d,{GET:()=>x});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(21820);async function x(){return v.NextResponse.json({home:(0,w.homedir)()})}let y=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/home/route",pathname:"/api/home",filename:"route",bundlePath:"app/api/home/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"E:\\ink-xY\\app\\api\\home\\route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:z,workUnitAsyncStorage:A,serverHooks:B}=y;function C(){return(0,g.patchFetch)({workAsyncStorage:z,workUnitAsyncStorage:A})}async function D(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),y.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/home/route";"/index"===d&&(d="/");let e=await y.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||y.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===y.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await y.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>y.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>y.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await y.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await y.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await y.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,813],()=>b(b.s=57530));module.exports=c})();
@@ -1,4 +1,4 @@
1
- "use strict";(()=>{var a={};a.id=788,a.ids=[788],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16436:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(42007),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/inkos/route",pathname:"/api/inkos",filename:"route",bundlePath:"app/api/inkos/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"E:\\ink-xY\\app\\api\\inkos\\route.ts",nextConfigOutput:"",userland:v}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/inkos/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K=E,K="/index"===K?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},42007:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>k,dynamic:()=>m}),c(23582);var e=c(23211),f=c(79646),g=c(33873),h=c(97990),i=c(29021),j=a([h]);h=(j.then?(await j)():j)[0];let m="force-dynamic",n=new Set(["dashboard","style-list","style-switch","book-delete","get-facts","update-fact","add-fact","delete-fact","status","export","consolidate"]);async function k(a){try{let b=(0,h.M)(),d={...process.env,...b},{action:j,cwd:k,args:m={}}=await a.json();if(!k)return e.NextResponse.json({error:"创作工作区目录 (cwd) 不能为空"},{status:400});if("dashboard"===j){let a=m.bookId;if(!a)return e.NextResponse.json({error:"书籍ID不能为空"},{status:400});let b=(0,g.join)(k,"books",a),d=(0,g.join)(b,"chapters","index.json"),f=[];if((0,i.existsSync)(d))try{f=JSON.parse((0,i.readFileSync)(d,"utf8"))}catch(a){console.error("[API/inkos] Failed to parse index.json:",a)}let h=(0,g.join)(b,"story","runtime"),j=(0,g.join)(b,"story","snapshots"),l=(0,g.join)(b,"story","memory.db"),n={};if((0,i.existsSync)(l))try{let{createRequire:a}=c(98995),{DatabaseSync:b}=a("file:///E:/ink-xY/app/api/inkos/route.ts")("node:sqlite"),d=new b(l);for(let a of d.prepare("SELECT chapter, mood, chapter_type AS chapterType FROM chapter_summaries").all())n[a.chapter]={mood:a.mood||"",chapterType:a.chapterType||""};d.close()}catch(a){console.error("[API/inkos] Failed to read memory.db summaries:",a)}let o=f.map(a=>{let b=a.number,c=String(b).padStart(4,"0"),d=`chapter-${c}.plan.md`,e=`chapter-${c}.intent.md`,f=(0,i.existsSync)((0,g.join)(h,d)),k=(0,i.existsSync)((0,g.join)(h,e)),l=(0,g.join)(j,String(b)),m=!1;try{m=(0,i.existsSync)(l)&&(0,i.statSync)(l).isDirectory()}catch{}let o=n[b]||{mood:"",chapterType:""};return{...a,hasPlan:f,hasIntent:k,hasSnapshot:m,mood:o.mood,chapterType:o.chapterType}}),p=o.length>0?Math.max(...o.map(a=>a.number))+1:1,q=String(p).padStart(4,"0"),r=(0,i.existsSync)((0,g.join)(h,`chapter-${q}.plan.md`)),s=(0,i.existsSync)((0,g.join)(h,`chapter-${q}.intent.md`));return e.NextResponse.json({success:!0,chapters:o,nextChapter:{number:p,hasPlan:r,hasIntent:s}})}if("style-tune"===j){let a=m.bookId,b=m.name,{proseOrnate:c,dialogueRatio:d,clicheDensity:f}=m;if(!a||!b)return e.NextResponse.json({error:"书籍ID和风格名称不能为空"},{status:400});try{let h=(0,g.join)(k,"books",a,"story"),j=(0,g.join)(h,"styles");(0,i.existsSync)(j)||(0,i.mkdirSync)(j,{recursive:!0});let l=(0,g.join)(j,`${b}.json`),m=(0,g.join)(j,`${b}.md`),n={proseOrnate:c,dialogueRatio:d,clicheDensity:f};(0,i.writeFileSync)(l,JSON.stringify(n,null,2),"utf8");let o="";if((0,i.existsSync)(m))o=(0,i.readFileSync)(m,"utf8");else{let a=(0,g.join)(h,"style_guide.md");(0,i.existsSync)(a)&&(o=(0,i.readFileSync)(a,"utf8"),(0,i.writeFileSync)(m,o,"utf8"))}let p=(0,g.join)(h,"style_guide.md"),q=(0,g.join)(h,"style_profile.json"),r=!1;if((0,i.existsSync)(p)){let a=(0,i.readFileSync)(p,"utf8").match(/>\s*Profile:\s*\*\*([^*]+)\*\*/i);(a?a[1].trim():"default")===b&&(r=!0)}else"default"===b&&(r=!0);if(r||"default"===b){let a="\x3c!-- STYLE_TUNE_START --\x3e",b="\x3c!-- STYLE_TUNE_END --\x3e",e=o.indexOf(a),g=o.indexOf(b);-1!==e&&-1!==g&&(o=o.slice(g+b.length).trim());let h=`${a}
1
+ "use strict";(()=>{var a={};a.id=788,a.ids=[788],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},17182:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(42007),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/inkos/route",pathname:"/api/inkos",filename:"route",bundlePath:"app/api/inkos/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"E:\\ink-xY\\app\\api\\inkos\\route.ts",nextConfigOutput:"",userland:v}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/inkos/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K=E,K="/index"===K?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},42007:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>k,dynamic:()=>m}),c(23582);var e=c(23211),f=c(79646),g=c(33873),h=c(97990),i=c(29021),j=a([h]);h=(j.then?(await j)():j)[0];let m="force-dynamic",n=new Set(["dashboard","style-list","style-switch","book-delete","get-facts","update-fact","add-fact","delete-fact","status","export","consolidate"]);async function k(a){try{let b=(0,h.M)(),d={...process.env,...b},{action:j,cwd:k,args:m={}}=await a.json();if(!k)return e.NextResponse.json({error:"创作工作区目录 (cwd) 不能为空"},{status:400});if("dashboard"===j){let a=m.bookId;if(!a)return e.NextResponse.json({error:"书籍ID不能为空"},{status:400});let b=(0,g.join)(k,"books",a),d=(0,g.join)(b,"chapters","index.json"),f=[];if((0,i.existsSync)(d))try{f=JSON.parse((0,i.readFileSync)(d,"utf8"))}catch(a){console.error("[API/inkos] Failed to parse index.json:",a)}let h=(0,g.join)(b,"story","runtime"),j=(0,g.join)(b,"story","snapshots"),l=(0,g.join)(b,"story","memory.db"),n={};if((0,i.existsSync)(l))try{let{createRequire:a}=c(98995),{DatabaseSync:b}=a("file:///E:/ink-xY/app/api/inkos/route.ts")("node:sqlite"),d=new b(l);for(let a of d.prepare("SELECT chapter, mood, chapter_type AS chapterType FROM chapter_summaries").all())n[a.chapter]={mood:a.mood||"",chapterType:a.chapterType||""};d.close()}catch(a){console.error("[API/inkos] Failed to read memory.db summaries:",a)}let o=f.map(a=>{let b=a.number,c=String(b).padStart(4,"0"),d=`chapter-${c}.plan.md`,e=`chapter-${c}.intent.md`,f=(0,i.existsSync)((0,g.join)(h,d)),k=(0,i.existsSync)((0,g.join)(h,e)),l=(0,g.join)(j,String(b)),m=!1;try{m=(0,i.existsSync)(l)&&(0,i.statSync)(l).isDirectory()}catch{}let o=n[b]||{mood:"",chapterType:""};return{...a,hasPlan:f,hasIntent:k,hasSnapshot:m,mood:o.mood,chapterType:o.chapterType}}),p=o.length>0?Math.max(...o.map(a=>a.number))+1:1,q=String(p).padStart(4,"0"),r=(0,i.existsSync)((0,g.join)(h,`chapter-${q}.plan.md`)),s=(0,i.existsSync)((0,g.join)(h,`chapter-${q}.intent.md`));return e.NextResponse.json({success:!0,chapters:o,nextChapter:{number:p,hasPlan:r,hasIntent:s}})}if("style-tune"===j){let a=m.bookId,b=m.name,{proseOrnate:c,dialogueRatio:d,clicheDensity:f}=m;if(!a||!b)return e.NextResponse.json({error:"书籍ID和风格名称不能为空"},{status:400});try{let h=(0,g.join)(k,"books",a,"story"),j=(0,g.join)(h,"styles");(0,i.existsSync)(j)||(0,i.mkdirSync)(j,{recursive:!0});let l=(0,g.join)(j,`${b}.json`),m=(0,g.join)(j,`${b}.md`),n={proseOrnate:c,dialogueRatio:d,clicheDensity:f};(0,i.writeFileSync)(l,JSON.stringify(n,null,2),"utf8");let o="";if((0,i.existsSync)(m))o=(0,i.readFileSync)(m,"utf8");else{let a=(0,g.join)(h,"style_guide.md");(0,i.existsSync)(a)&&(o=(0,i.readFileSync)(a,"utf8"),(0,i.writeFileSync)(m,o,"utf8"))}let p=(0,g.join)(h,"style_guide.md"),q=(0,g.join)(h,"style_profile.json"),r=!1;if((0,i.existsSync)(p)){let a=(0,i.readFileSync)(p,"utf8").match(/>\s*Profile:\s*\*\*([^*]+)\*\*/i);(a?a[1].trim():"default")===b&&(r=!0)}else"default"===b&&(r=!0);if(r||"default"===b){let a="\x3c!-- STYLE_TUNE_START --\x3e",b="\x3c!-- STYLE_TUNE_END --\x3e",e=o.indexOf(a),g=o.indexOf(b);-1!==e&&-1!==g&&(o=o.slice(g+b.length).trim());let h=`${a}
2
2
  # 写作特性微调参数
3
3
  * **辞藻华丽度 (Ornateness)**: ${c}% (值低趋于白描口语,值高使用大量华丽意象与精细景物描摹)
4
4
  * **对话密集度 (Dialogue Ratio)**: ${d}% (高值以人物对白推动叙事,低值偏向大段独白、动作和内心戏)
@@ -7,4 +7,4 @@
7
7
  ---
8
8
  ${b}
9
9
 
10
- `+o;(0,i.writeFileSync)(p,h,"utf8");let j={};if((0,i.existsSync)(q))try{j=JSON.parse((0,i.readFileSync)(q,"utf8"))}catch{}Object.assign(j,n),(0,i.writeFileSync)(q,JSON.stringify(j,null,2),"utf8")}return e.NextResponse.json({success:!0})}catch(a){return e.NextResponse.json({success:!1,error:a.message||String(a)},{status:500})}}let o=process.env.APP_ROOT||process.cwd(),p=(0,g.join)(o,"inkos","skills","scripts","index.js"),q=(0,f.spawn)(process.execPath,[p,j,JSON.stringify(m),"--cwd",k],{cwd:k,env:d});if(n.has(j))return new Promise(a=>{let b="",c="";q.stdout.on("data",a=>{b+=a.toString()}),q.stderr.on("data",a=>{c+=a.toString()}),q.on("close",d=>{let f="--- RESULT ---",g=b.lastIndexOf(f),h={success:0===d};if(-1!==g){let a=b.slice(g+f.length).trim();try{h=l(a)}catch(a){console.error(`[API/inkos] Failed to parse JSON result for ${j}:`,a),h={success:!1,error:"Failed to parse result JSON",stdout:b,stderr:c}}}else h={success:0===d,error:c.trim()||"Process exited without result block",stdout:b,stderr:c};0!==d||!1===h.success?a(e.NextResponse.json(h,{status:500})):a(e.NextResponse.json(h))})});let r=new ReadableStream({async start(a){let b=b=>{try{a.enqueue(new TextEncoder().encode(JSON.stringify(b)+"\n"))}catch{}},c="",d="",e="";q.stdout.on("data",a=>{let d=a.toString();c+=d;let f=(e+=d).indexOf("\n");for(;-1!==f;){let a=e.slice(0,f).trim();if(e=e.slice(f+1),a.startsWith("[PROGRESS]")){let c=a.slice(10).trim();try{let a=JSON.parse(c);b({type:"progress",...a})}catch(c){b({type:"stdout",data:a+"\n"})}}else b({type:"stdout",data:a+"\n"});f=e.indexOf("\n")}});let f="";q.stderr.on("data",a=>{let c=a.toString();d+=c;let e=(f+=c).indexOf("\n");for(;-1!==e;){let a=f.slice(0,e).trim();f=f.slice(e+1),b({type:"stdout",data:a+"\n"}),e=f.indexOf("\n")}}),q.on("close",e=>{let f="--- RESULT ---",g=c.lastIndexOf(f),h={success:0===e};if(-1!==g){let a=c.slice(g+f.length).trim();try{h=l(a)}catch(a){console.error(`[API/inkos] Failed to parse streaming JSON result for ${j}:`,a),h={success:!1,error:"Failed to parse result JSON"}}}b({type:"result",success:0===e&&!1!==h.success,stdout:c,stderr:d,code:e??0,...h}),a.close()})}});return new Response(r,{headers:{"Content-Type":"application/x-ndjson","Cache-Control":"no-cache",Connection:"keep-alive"}})}catch(a){return console.error("[API/inkos] Execution failed:",a),e.NextResponse.json({success:!1,error:a.message||String(a)},{status:500})}}function l(a){let b=a.indexOf("{"),c=a.indexOf("["),d=-1!==b&&(-1===c||b<c)?"{":"[",e="{"===d?"}":"]",f="{"===d?b:c;if(-1===f)throw Error("No JSON start character found");let g=[],h=a.indexOf(e,f);for(;-1!==h;)g.push(h),h=a.indexOf(e,h+1);let i=null;for(let b=g.length-1;b>=0;b--){let c=a.slice(f,g[b]+1);try{return JSON.parse(c)}catch(a){i=a}}throw i||Error("No valid JSON substring found")}d()}catch(a){d(a)}})},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},79646:a=>{a.exports=require("child_process")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},98995:a=>{a.exports=require("node:module")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,813,162],()=>b(b.s=16436));module.exports=c})();
10
+ `+o;(0,i.writeFileSync)(p,h,"utf8");let j={};if((0,i.existsSync)(q))try{j=JSON.parse((0,i.readFileSync)(q,"utf8"))}catch{}Object.assign(j,n),(0,i.writeFileSync)(q,JSON.stringify(j,null,2),"utf8")}return e.NextResponse.json({success:!0})}catch(a){return e.NextResponse.json({success:!1,error:a.message||String(a)},{status:500})}}let o=process.env.APP_ROOT||process.cwd(),p=(0,g.join)(o,"inkos","skills","scripts","index.js"),q=(0,f.spawn)(process.execPath,[p,j,JSON.stringify(m),"--cwd",k],{cwd:k,env:d});if(n.has(j))return new Promise(a=>{let b="",c="";q.stdout.on("data",a=>{b+=a.toString()}),q.stderr.on("data",a=>{c+=a.toString()}),q.on("close",d=>{let f="--- RESULT ---",g=b.lastIndexOf(f),h={success:0===d};if(-1!==g){let a=b.slice(g+f.length).trim();try{h=l(a)}catch(a){console.error(`[API/inkos] Failed to parse JSON result for ${j}:`,a),h={success:!1,error:"Failed to parse result JSON",stdout:b,stderr:c}}}else h={success:0===d,error:c.trim()||"Process exited without result block",stdout:b,stderr:c};0!==d||!1===h.success?a(e.NextResponse.json(h,{status:500})):a(e.NextResponse.json(h))})});let r=new ReadableStream({async start(a){let b=b=>{try{a.enqueue(new TextEncoder().encode(JSON.stringify(b)+"\n"))}catch{}},c="",d="",e="";q.stdout.on("data",a=>{let d=a.toString();c+=d;let f=(e+=d).indexOf("\n");for(;-1!==f;){let a=e.slice(0,f).trim();if(e=e.slice(f+1),a.startsWith("[PROGRESS]")){let c=a.slice(10).trim();try{let a=JSON.parse(c);b({type:"progress",...a})}catch(c){b({type:"stdout",data:a+"\n"})}}else b({type:"stdout",data:a+"\n"});f=e.indexOf("\n")}});let f="";q.stderr.on("data",a=>{let c=a.toString();d+=c;let e=(f+=c).indexOf("\n");for(;-1!==e;){let a=f.slice(0,e).trim();f=f.slice(e+1),b({type:"stdout",data:a+"\n"}),e=f.indexOf("\n")}}),q.on("close",e=>{let f="--- RESULT ---",g=c.lastIndexOf(f),h={success:0===e};if(-1!==g){let a=c.slice(g+f.length).trim();try{h=l(a)}catch(a){console.error(`[API/inkos] Failed to parse streaming JSON result for ${j}:`,a),h={success:!1,error:"Failed to parse result JSON"}}}b({type:"result",success:0===e&&!1!==h.success,stdout:c,stderr:d,code:e??0,...h}),a.close()})}});return new Response(r,{headers:{"Content-Type":"application/x-ndjson","Cache-Control":"no-cache",Connection:"keep-alive"}})}catch(a){return console.error("[API/inkos] Execution failed:",a),e.NextResponse.json({success:!1,error:a.message||String(a)},{status:500})}}function l(a){let b=a.indexOf("{"),c=a.indexOf("["),d=-1!==b&&(-1===c||b<c)?"{":"[",e="{"===d?"}":"]",f="{"===d?b:c;if(-1===f)throw Error("No JSON start character found");let g=[],h=a.indexOf(e,f);for(;-1!==h;)g.push(h),h=a.indexOf(e,h+1);let i=null;for(let b=g.length-1;b>=0;b--){let c=a.slice(f,g[b]+1);try{return JSON.parse(c)}catch(a){i=a}}throw i||Error("No valid JSON substring found")}d()}catch(a){d(a)}})},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},79646:a=>{a.exports=require("child_process")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},98995:a=>{a.exports=require("node:module")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[741,813,162],()=>b(b.s=17182));module.exports=c})();