speckit-assistant 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-build-manifest.json +71 -0
  3. package/.next/app-path-routes-manifest.json +10 -0
  4. package/.next/build-manifest.json +33 -0
  5. package/.next/cache/.previewinfo +1 -0
  6. package/.next/cache/.rscinfo +1 -0
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/1.pack +0 -0
  9. package/.next/cache/webpack/client-production/10.pack +0 -0
  10. package/.next/cache/webpack/client-production/11.pack +0 -0
  11. package/.next/cache/webpack/client-production/12.pack +0 -0
  12. package/.next/cache/webpack/client-production/13.pack +0 -0
  13. package/.next/cache/webpack/client-production/14.pack +0 -0
  14. package/.next/cache/webpack/client-production/15.pack +0 -0
  15. package/.next/cache/webpack/client-production/16.pack +0 -0
  16. package/.next/cache/webpack/client-production/17.pack +0 -0
  17. package/.next/cache/webpack/client-production/18.pack +0 -0
  18. package/.next/cache/webpack/client-production/19.pack +0 -0
  19. package/.next/cache/webpack/client-production/2.pack +0 -0
  20. package/.next/cache/webpack/client-production/20.pack +0 -0
  21. package/.next/cache/webpack/client-production/21.pack +0 -0
  22. package/.next/cache/webpack/client-production/22.pack +0 -0
  23. package/.next/cache/webpack/client-production/3.pack +0 -0
  24. package/.next/cache/webpack/client-production/4.pack +0 -0
  25. package/.next/cache/webpack/client-production/5.pack +0 -0
  26. package/.next/cache/webpack/client-production/6.pack +0 -0
  27. package/.next/cache/webpack/client-production/7.pack +0 -0
  28. package/.next/cache/webpack/client-production/8.pack +0 -0
  29. package/.next/cache/webpack/client-production/9.pack +0 -0
  30. package/.next/cache/webpack/client-production/index.pack +0 -0
  31. package/.next/cache/webpack/client-production/index.pack.old +0 -0
  32. package/.next/cache/webpack/edge-server-production/0.pack +0 -0
  33. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  34. package/.next/cache/webpack/server-production/0.pack +0 -0
  35. package/.next/cache/webpack/server-production/1.pack +0 -0
  36. package/.next/cache/webpack/server-production/10.pack +0 -0
  37. package/.next/cache/webpack/server-production/11.pack +0 -0
  38. package/.next/cache/webpack/server-production/12.pack +0 -0
  39. package/.next/cache/webpack/server-production/13.pack +0 -0
  40. package/.next/cache/webpack/server-production/14.pack +0 -0
  41. package/.next/cache/webpack/server-production/15.pack +0 -0
  42. package/.next/cache/webpack/server-production/16.pack +0 -0
  43. package/.next/cache/webpack/server-production/17.pack +0 -0
  44. package/.next/cache/webpack/server-production/18.pack +0 -0
  45. package/.next/cache/webpack/server-production/19.pack +0 -0
  46. package/.next/cache/webpack/server-production/2.pack +0 -0
  47. package/.next/cache/webpack/server-production/20.pack +0 -0
  48. package/.next/cache/webpack/server-production/3.pack +0 -0
  49. package/.next/cache/webpack/server-production/4.pack +0 -0
  50. package/.next/cache/webpack/server-production/5.pack +0 -0
  51. package/.next/cache/webpack/server-production/6.pack +0 -0
  52. package/.next/cache/webpack/server-production/7.pack +0 -0
  53. package/.next/cache/webpack/server-production/8.pack +0 -0
  54. package/.next/cache/webpack/server-production/9.pack +0 -0
  55. package/.next/cache/webpack/server-production/index.pack +0 -0
  56. package/.next/cache/webpack/server-production/index.pack.old +0 -0
  57. package/.next/diagnostics/build-diagnostics.json +6 -0
  58. package/.next/diagnostics/framework.json +1 -0
  59. package/.next/export-marker.json +6 -0
  60. package/.next/images-manifest.json +58 -0
  61. package/.next/next-minimal-server.js.nft.json +1 -0
  62. package/.next/next-server.js.nft.json +1 -0
  63. package/.next/package.json +1 -0
  64. package/.next/prerender-manifest.json +61 -0
  65. package/.next/react-loadable-manifest.json +1 -0
  66. package/.next/required-server-files.json +320 -0
  67. package/.next/routes-manifest.json +53 -0
  68. package/.next/server/app/_not-found/page.js +2 -0
  69. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  70. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  71. package/.next/server/app/_not-found.html +1 -0
  72. package/.next/server/app/_not-found.meta +8 -0
  73. package/.next/server/app/_not-found.rsc +15 -0
  74. package/.next/server/app/api/feature/route.js +1 -0
  75. package/.next/server/app/api/feature/route.js.nft.json +1 -0
  76. package/.next/server/app/api/feature/route_client-reference-manifest.js +1 -0
  77. package/.next/server/app/api/file/route.js +1 -0
  78. package/.next/server/app/api/file/route.js.nft.json +1 -0
  79. package/.next/server/app/api/file/route_client-reference-manifest.js +1 -0
  80. package/.next/server/app/api/phase/route.js +4 -0
  81. package/.next/server/app/api/phase/route.js.nft.json +1 -0
  82. package/.next/server/app/api/phase/route_client-reference-manifest.js +1 -0
  83. package/.next/server/app/api/state/route.js +1 -0
  84. package/.next/server/app/api/state/route.js.nft.json +1 -0
  85. package/.next/server/app/api/state/route_client-reference-manifest.js +1 -0
  86. package/.next/server/app/api/state/watch/route.js +4 -0
  87. package/.next/server/app/api/state/watch/route.js.nft.json +1 -0
  88. package/.next/server/app/api/state/watch/route_client-reference-manifest.js +1 -0
  89. package/.next/server/app/api/task/route.js +1 -0
  90. package/.next/server/app/api/task/route.js.nft.json +1 -0
  91. package/.next/server/app/api/task/route_client-reference-manifest.js +1 -0
  92. package/.next/server/app/index.html +1 -0
  93. package/.next/server/app/index.meta +7 -0
  94. package/.next/server/app/index.rsc +20 -0
  95. package/.next/server/app/page.js +14 -0
  96. package/.next/server/app/page.js.nft.json +1 -0
  97. package/.next/server/app/page_client-reference-manifest.js +1 -0
  98. package/.next/server/app-paths-manifest.json +10 -0
  99. package/.next/server/chunks/355.js +22 -0
  100. package/.next/server/chunks/6.js +9 -0
  101. package/.next/server/chunks/607.js +6 -0
  102. package/.next/server/chunks/643.js +1 -0
  103. package/.next/server/chunks/897.js +9 -0
  104. package/.next/server/functions-config-manifest.json +4 -0
  105. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  106. package/.next/server/middleware-build-manifest.js +1 -0
  107. package/.next/server/middleware-manifest.json +6 -0
  108. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  109. package/.next/server/next-font-manifest.js +1 -0
  110. package/.next/server/next-font-manifest.json +1 -0
  111. package/.next/server/pages/404.html +1 -0
  112. package/.next/server/pages/500.html +1 -0
  113. package/.next/server/pages/_app.js +1 -0
  114. package/.next/server/pages/_app.js.nft.json +1 -0
  115. package/.next/server/pages/_document.js +1 -0
  116. package/.next/server/pages/_document.js.nft.json +1 -0
  117. package/.next/server/pages/_error.js +19 -0
  118. package/.next/server/pages/_error.js.nft.json +1 -0
  119. package/.next/server/pages-manifest.json +6 -0
  120. package/.next/server/server-reference-manifest.js +1 -0
  121. package/.next/server/server-reference-manifest.json +1 -0
  122. package/.next/server/webpack-runtime.js +1 -0
  123. package/.next/static/chunks/590-a6568595ecd2a994.js +1 -0
  124. package/.next/static/chunks/8381d2c4-9707dccab70b742b.js +1 -0
  125. package/.next/static/chunks/920-f9bfc1b0d0402c3e.js +1 -0
  126. package/.next/static/chunks/acfafb44-8249079a6627ac92.js +1 -0
  127. package/.next/static/chunks/app/_not-found/page-be798b363e27e8c5.js +1 -0
  128. package/.next/static/chunks/app/api/feature/route-bb3c1a82e892ab58.js +1 -0
  129. package/.next/static/chunks/app/api/file/route-bb3c1a82e892ab58.js +1 -0
  130. package/.next/static/chunks/app/api/phase/route-bb3c1a82e892ab58.js +1 -0
  131. package/.next/static/chunks/app/api/state/route-bb3c1a82e892ab58.js +1 -0
  132. package/.next/static/chunks/app/api/state/watch/route-bb3c1a82e892ab58.js +1 -0
  133. package/.next/static/chunks/app/api/task/route-bb3c1a82e892ab58.js +1 -0
  134. package/.next/static/chunks/app/layout-3226c76a5f7f74bc.js +1 -0
  135. package/.next/static/chunks/app/page-8a5248f7704cde29.js +1 -0
  136. package/.next/static/chunks/framework-20dd4f6054cc5446.js +1 -0
  137. package/.next/static/chunks/main-91029f76ac1b7110.js +1 -0
  138. package/.next/static/chunks/main-app-b9ad56d6b1dfa941.js +1 -0
  139. package/.next/static/chunks/pages/_app-aa33dc41c3472021.js +1 -0
  140. package/.next/static/chunks/pages/_error-78b0b3b591df0e73.js +1 -0
  141. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  142. package/.next/static/chunks/webpack-c460f8e58a9e9eff.js +1 -0
  143. package/.next/static/css/008a05b0ad6b854a.css +31 -0
  144. package/.next/static/css/6fd2e11db3a59771.css +3 -0
  145. package/.next/static/fWuQ3yoHovA7Cre6u89W7/_buildManifest.js +1 -0
  146. package/.next/static/fWuQ3yoHovA7Cre6u89W7/_ssgManifest.js +1 -0
  147. package/.next/trace +3 -0
  148. package/.next/types/app/api/feature/route.ts +347 -0
  149. package/.next/types/app/api/file/route.ts +347 -0
  150. package/.next/types/app/api/phase/route.ts +347 -0
  151. package/.next/types/app/api/state/route.ts +347 -0
  152. package/.next/types/app/api/state/watch/route.ts +347 -0
  153. package/.next/types/app/api/task/route.ts +347 -0
  154. package/.next/types/app/layout.ts +84 -0
  155. package/.next/types/app/page.ts +84 -0
  156. package/.next/types/cache-life.d.ts +141 -0
  157. package/.next/types/package.json +1 -0
  158. package/.next/types/routes.d.ts +78 -0
  159. package/.next/types/validator.ts +124 -0
  160. package/LICENSE +21 -0
  161. package/README.md +284 -0
  162. package/bin/adapters/di.js +9 -0
  163. package/bin/adapters/primary/api/utils.js +57 -0
  164. package/bin/adapters/secondary/agent/ProcessAgentRunner.js +161 -0
  165. package/bin/adapters/secondary/fs/FSWorkspaceRepository.js +283 -0
  166. package/bin/app/api/feature/route.js +35 -0
  167. package/bin/app/api/file/route.js +36 -0
  168. package/bin/app/api/phase/route.js +55 -0
  169. package/bin/app/api/state/route.js +28 -0
  170. package/bin/app/api/state/watch/route.js +92 -0
  171. package/bin/app/api/task/route.js +20 -0
  172. package/bin/bin/cli.js +317 -0
  173. package/bin/cli.js +85 -0
  174. package/bin/domain/models/types.js +2 -0
  175. package/bin/domain/ports/in/WorkflowUseCases.js +2 -0
  176. package/bin/domain/ports/out/AgentRunnerPort.js +2 -0
  177. package/bin/domain/ports/out/WorkspaceRepositoryPort.js +2 -0
  178. package/bin/domain/services/WorkflowService.js +174 -0
  179. package/next.config.ts +13 -0
  180. package/package.json +53 -0
package/.next/trace ADDED
@@ -0,0 +1,3 @@
1
+ [{"name":"generate-buildid","duration":80,"timestamp":527422553756,"id":4,"parentId":1,"tags":{},"startTime":1781578866986,"traceId":"2d05a57abb97495d"},{"name":"load-custom-routes","duration":101,"timestamp":527422553868,"id":5,"parentId":1,"tags":{},"startTime":1781578866986,"traceId":"2d05a57abb97495d"},{"name":"create-dist-dir","duration":1812,"timestamp":527422584217,"id":6,"parentId":1,"tags":{},"startTime":1781578867016,"traceId":"2d05a57abb97495d"},{"name":"create-pages-mapping","duration":67,"timestamp":527422591247,"id":7,"parentId":1,"tags":{},"startTime":1781578867023,"traceId":"2d05a57abb97495d"},{"name":"collect-app-files","duration":1013,"timestamp":527422591327,"id":8,"parentId":1,"tags":{},"startTime":1781578867023,"traceId":"2d05a57abb97495d"},{"name":"create-app-mapping","duration":398,"timestamp":527422592348,"id":9,"parentId":1,"tags":{},"startTime":1781578867024,"traceId":"2d05a57abb97495d"},{"name":"create-app-layouts","duration":127,"timestamp":527422592756,"id":10,"parentId":1,"tags":{},"startTime":1781578867025,"traceId":"2d05a57abb97495d"},{"name":"collect-default-files","duration":211,"timestamp":527422593257,"id":12,"parentId":1,"tags":{},"startTime":1781578867025,"traceId":"2d05a57abb97495d"},{"name":"generate-route-types","duration":8480,"timestamp":527422593008,"id":11,"parentId":1,"tags":{},"startTime":1781578867025,"traceId":"2d05a57abb97495d"},{"name":"public-dir-conflict-check","duration":136,"timestamp":527422601504,"id":13,"parentId":1,"tags":{},"startTime":1781578867034,"traceId":"2d05a57abb97495d"},{"name":"generate-routes-manifest","duration":533,"timestamp":527422601707,"id":14,"parentId":1,"tags":{},"startTime":1781578867034,"traceId":"2d05a57abb97495d"},{"name":"create-entrypoints","duration":6878,"timestamp":527422879521,"id":18,"parentId":16,"tags":{},"startTime":1781578867312,"traceId":"2d05a57abb97495d"},{"name":"generate-webpack-config","duration":38036,"timestamp":527422886458,"id":19,"parentId":17,"tags":{},"startTime":1781578867319,"traceId":"2d05a57abb97495d"},{"name":"next-trace-entrypoint-plugin","duration":814,"timestamp":527422971237,"id":21,"parentId":20,"tags":{},"startTime":1781578867403,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":82194,"timestamp":527422973549,"id":29,"parentId":22,"tags":{"request":"next/dist/pages/_app"},"startTime":1781578867406,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":147461,"timestamp":527422973560,"id":31,"parentId":22,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=next%2Fdist%2Fpages%2F_error&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1781578867406,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":153776,"timestamp":527422973605,"id":33,"parentId":22,"tags":{"request":"next/dist/pages/_document"},"startTime":1781578867406,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":154536,"timestamp":527422973525,"id":25,"parentId":22,"tags":{"request":"next-app-loader?page=%2F_not-found%2Fpage&name=app%2F_not-found%2Fpage&pagePath=%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fnode_modules%2F.pnpm%2Fnext%4015.5.19_react-dom%4019.2.7_react%4019.2.7__react%4019.2.7%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fbuiltin%2Fglobal-not-found.js&appDir=%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fsrc%2Fapp&appPaths=%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fnode_modules%2F.pnpm%2Fnext%4015.5.19_react-dom%4019.2.7_react%4019.2.7__react%4019.2.7%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fbuiltin%2Fglobal-not-found&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=!"},"startTime":1781578867406,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":154481,"timestamp":527422973586,"id":32,"parentId":22,"tags":{"request":"next-app-loader?page=%2Fpage&name=app%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fsrc%2Fapp&appPaths=%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=!"},"startTime":1781578867406,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":155136,"timestamp":527422973554,"id":30,"parentId":22,"tags":{"request":"next-app-loader?page=%2Fapi%2Fstate%2Fwatch%2Froute&name=app%2Fapi%2Fstate%2Fwatch%2Froute&pagePath=private-next-app-dir%2Fapi%2Fstate%2Fwatch%2Froute.ts&appDir=%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fsrc%2Fapp&appPaths=%2Fapi%2Fstate%2Fwatch%2Froute&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=!"},"startTime":1781578867406,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":159389,"timestamp":527422973508,"id":24,"parentId":22,"tags":{"request":"next-app-loader?page=%2Fapi%2Ffile%2Froute&name=app%2Fapi%2Ffile%2Froute&pagePath=private-next-app-dir%2Fapi%2Ffile%2Froute.ts&appDir=%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fsrc%2Fapp&appPaths=%2Fapi%2Ffile%2Froute&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=!"},"startTime":1781578867406,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":159374,"timestamp":527422973534,"id":26,"parentId":22,"tags":{"request":"next-app-loader?page=%2Fapi%2Fphase%2Froute&name=app%2Fapi%2Fphase%2Froute&pagePath=private-next-app-dir%2Fapi%2Fphase%2Froute.ts&appDir=%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fsrc%2Fapp&appPaths=%2Fapi%2Fphase%2Froute&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=!"},"startTime":1781578867406,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":159770,"timestamp":527422973141,"id":23,"parentId":22,"tags":{"request":"next-app-loader?page=%2Fapi%2Ffeature%2Froute&name=app%2Fapi%2Ffeature%2Froute&pagePath=private-next-app-dir%2Fapi%2Ffeature%2Froute.ts&appDir=%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fsrc%2Fapp&appPaths=%2Fapi%2Ffeature%2Froute&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=!"},"startTime":1781578867405,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":159376,"timestamp":527422973540,"id":27,"parentId":22,"tags":{"request":"next-app-loader?page=%2Fapi%2Fstate%2Froute&name=app%2Fapi%2Fstate%2Froute&pagePath=private-next-app-dir%2Fapi%2Fstate%2Froute.ts&appDir=%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fsrc%2Fapp&appPaths=%2Fapi%2Fstate%2Froute&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=!"},"startTime":1781578867406,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":159373,"timestamp":527422973545,"id":28,"parentId":22,"tags":{"request":"next-app-loader?page=%2Fapi%2Ftask%2Froute&name=app%2Fapi%2Ftask%2Froute&pagePath=private-next-app-dir%2Fapi%2Ftask%2Froute.ts&appDir=%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fsrc%2Fapp&appPaths=%2Fapi%2Ftask%2Froute&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D&isGlobalNotFoundEnabled=!"},"startTime":1781578867406,"traceId":"2d05a57abb97495d"},{"name":"make","duration":227134,"timestamp":527422972996,"id":22,"parentId":20,"tags":{},"startTime":1781578867405,"traceId":"2d05a57abb97495d"},{"name":"get-entries","duration":251,"timestamp":527423200701,"id":69,"parentId":68,"tags":{},"startTime":1781578867633,"traceId":"2d05a57abb97495d"},{"name":"node-file-trace-plugin","duration":759604,"timestamp":527423202742,"id":70,"parentId":68,"tags":{"traceEntryCount":"18"},"startTime":1781578867635,"traceId":"2d05a57abb97495d"},{"name":"collect-traced-files","duration":353,"timestamp":527423962357,"id":71,"parentId":68,"tags":{},"startTime":1781578868394,"traceId":"2d05a57abb97495d"},{"name":"finish-modules","duration":762089,"timestamp":527423200623,"id":68,"parentId":21,"tags":{},"startTime":1781578867633,"traceId":"2d05a57abb97495d"},{"name":"chunk-graph","duration":4894,"timestamp":527423973150,"id":73,"parentId":72,"tags":{},"startTime":1781578868405,"traceId":"2d05a57abb97495d"},{"name":"optimize-modules","duration":13,"timestamp":527423978095,"id":75,"parentId":72,"tags":{},"startTime":1781578868410,"traceId":"2d05a57abb97495d"},{"name":"optimize-chunks","duration":3608,"timestamp":527423978137,"id":76,"parentId":72,"tags":{},"startTime":1781578868410,"traceId":"2d05a57abb97495d"},{"name":"optimize-tree","duration":14,"timestamp":527423981781,"id":77,"parentId":72,"tags":{},"startTime":1781578868414,"traceId":"2d05a57abb97495d"},{"name":"optimize-chunk-modules","duration":5414,"timestamp":527423981825,"id":78,"parentId":72,"tags":{},"startTime":1781578868414,"traceId":"2d05a57abb97495d"},{"name":"optimize","duration":9186,"timestamp":527423978073,"id":74,"parentId":72,"tags":{},"startTime":1781578868410,"traceId":"2d05a57abb97495d"},{"name":"module-hash","duration":5251,"timestamp":527423992718,"id":79,"parentId":72,"tags":{},"startTime":1781578868425,"traceId":"2d05a57abb97495d"},{"name":"code-generation","duration":3790,"timestamp":527423997987,"id":80,"parentId":72,"tags":{},"startTime":1781578868430,"traceId":"2d05a57abb97495d"},{"name":"hash","duration":2507,"timestamp":527424003274,"id":81,"parentId":72,"tags":{},"startTime":1781578868435,"traceId":"2d05a57abb97495d"},{"name":"code-generation-jobs","duration":73,"timestamp":527424005780,"id":82,"parentId":72,"tags":{},"startTime":1781578868438,"traceId":"2d05a57abb97495d"},{"name":"module-assets","duration":117,"timestamp":527424005837,"id":83,"parentId":72,"tags":{},"startTime":1781578868438,"traceId":"2d05a57abb97495d"},{"name":"create-chunk-assets","duration":379,"timestamp":527424005957,"id":84,"parentId":72,"tags":{},"startTime":1781578868438,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":84,"timestamp":527424009411,"id":86,"parentId":85,"tags":{"name":"../app/api/feature/route.js","cache":"HIT"},"startTime":1781578868441,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":40,"timestamp":527424009456,"id":87,"parentId":85,"tags":{"name":"../app/api/file/route.js","cache":"HIT"},"startTime":1781578868441,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":37,"timestamp":527424009460,"id":88,"parentId":85,"tags":{"name":"../app/_not-found/page.js","cache":"HIT"},"startTime":1781578868441,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":35,"timestamp":527424009462,"id":89,"parentId":85,"tags":{"name":"../app/api/phase/route.js","cache":"HIT"},"startTime":1781578868441,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":34,"timestamp":527424009464,"id":90,"parentId":85,"tags":{"name":"../app/api/state/route.js","cache":"HIT"},"startTime":1781578868441,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":32,"timestamp":527424009466,"id":91,"parentId":85,"tags":{"name":"../app/api/task/route.js","cache":"HIT"},"startTime":1781578868441,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":31,"timestamp":527424009468,"id":92,"parentId":85,"tags":{"name":"../pages/_app.js","cache":"HIT"},"startTime":1781578868441,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":29,"timestamp":527424009470,"id":93,"parentId":85,"tags":{"name":"../app/api/state/watch/route.js","cache":"HIT"},"startTime":1781578868441,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":28,"timestamp":527424009472,"id":94,"parentId":85,"tags":{"name":"../pages/_error.js","cache":"HIT"},"startTime":1781578868441,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":23,"timestamp":527424009476,"id":95,"parentId":85,"tags":{"name":"../app/page.js","cache":"HIT"},"startTime":1781578868441,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":18,"timestamp":527424009482,"id":96,"parentId":85,"tags":{"name":"../pages/_document.js","cache":"HIT"},"startTime":1781578868442,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":15,"timestamp":527424009485,"id":97,"parentId":85,"tags":{"name":"../webpack-runtime.js","cache":"HIT"},"startTime":1781578868442,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":13,"timestamp":527424009488,"id":98,"parentId":85,"tags":{"name":"355.js","cache":"HIT"},"startTime":1781578868442,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":12,"timestamp":527424009489,"id":99,"parentId":85,"tags":{"name":"643.js","cache":"HIT"},"startTime":1781578868442,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":11,"timestamp":527424009491,"id":100,"parentId":85,"tags":{"name":"6.js","cache":"HIT"},"startTime":1781578868442,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":9,"timestamp":527424009492,"id":101,"parentId":85,"tags":{"name":"607.js","cache":"HIT"},"startTime":1781578868442,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":8,"timestamp":527424009494,"id":102,"parentId":85,"tags":{"name":"897.js","cache":"HIT"},"startTime":1781578868442,"traceId":"2d05a57abb97495d"},{"name":"minify-webpack-plugin-optimize","duration":1971,"timestamp":527424007534,"id":85,"parentId":20,"tags":{"compilationName":"server","mangle":"[object Object]"},"startTime":1781578868440,"traceId":"2d05a57abb97495d"},{"name":"css-minimizer-plugin","duration":85,"timestamp":527424009541,"id":103,"parentId":20,"tags":{},"startTime":1781578868442,"traceId":"2d05a57abb97495d"},{"name":"create-trace-assets","duration":695,"timestamp":527424009701,"id":104,"parentId":21,"tags":{},"startTime":1781578868442,"traceId":"2d05a57abb97495d"},{"name":"seal","duration":44534,"timestamp":527423968697,"id":72,"parentId":20,"tags":{},"startTime":1781578868401,"traceId":"2d05a57abb97495d"},{"name":"webpack-compilation","duration":1045279,"timestamp":527422970594,"id":20,"parentId":17,"tags":{"name":"server"},"startTime":1781578867403,"traceId":"2d05a57abb97495d"},{"name":"emit","duration":3492,"timestamp":527424016011,"id":105,"parentId":17,"tags":{},"startTime":1781578868448,"traceId":"2d05a57abb97495d"},{"name":"webpack-close","duration":263,"timestamp":527424020009,"id":106,"parentId":17,"tags":{"name":"server"},"startTime":1781578868452,"traceId":"2d05a57abb97495d"},{"name":"webpack-generate-error-stats","duration":712,"timestamp":527424020292,"id":107,"parentId":106,"tags":{},"startTime":1781578868452,"traceId":"2d05a57abb97495d"},{"name":"run-webpack-compiler","duration":1141577,"timestamp":527422879519,"id":17,"parentId":16,"tags":{},"startTime":1781578867312,"traceId":"2d05a57abb97495d"},{"name":"format-webpack-messages","duration":31,"timestamp":527424021098,"id":108,"parentId":16,"tags":{},"startTime":1781578868453,"traceId":"2d05a57abb97495d"},{"name":"worker-main-server","duration":1141796,"timestamp":527422879387,"id":16,"parentId":1,"tags":{},"startTime":1781578867311,"traceId":"2d05a57abb97495d"},{"name":"create-entrypoints","duration":5051,"timestamp":527424281537,"id":112,"parentId":110,"tags":{},"startTime":1781578868714,"traceId":"2d05a57abb97495d"},{"name":"generate-webpack-config","duration":33443,"timestamp":527424286647,"id":113,"parentId":111,"tags":{},"startTime":1781578868719,"traceId":"2d05a57abb97495d"},{"name":"make","duration":233,"timestamp":527424355474,"id":115,"parentId":114,"tags":{},"startTime":1781578868787,"traceId":"2d05a57abb97495d"},{"name":"chunk-graph","duration":241,"timestamp":527424356497,"id":117,"parentId":116,"tags":{},"startTime":1781578868789,"traceId":"2d05a57abb97495d"},{"name":"optimize-modules","duration":8,"timestamp":527424356772,"id":119,"parentId":116,"tags":{},"startTime":1781578868789,"traceId":"2d05a57abb97495d"},{"name":"optimize-chunks","duration":60,"timestamp":527424356810,"id":120,"parentId":116,"tags":{},"startTime":1781578868789,"traceId":"2d05a57abb97495d"},{"name":"optimize-tree","duration":9,"timestamp":527424356891,"id":121,"parentId":116,"tags":{},"startTime":1781578868789,"traceId":"2d05a57abb97495d"},{"name":"optimize-chunk-modules","duration":39,"timestamp":527424356957,"id":122,"parentId":116,"tags":{},"startTime":1781578868789,"traceId":"2d05a57abb97495d"},{"name":"optimize","duration":255,"timestamp":527424356753,"id":118,"parentId":116,"tags":{},"startTime":1781578868789,"traceId":"2d05a57abb97495d"},{"name":"module-hash","duration":36,"timestamp":527424357203,"id":123,"parentId":116,"tags":{},"startTime":1781578868789,"traceId":"2d05a57abb97495d"},{"name":"code-generation","duration":55,"timestamp":527424357252,"id":124,"parentId":116,"tags":{},"startTime":1781578868789,"traceId":"2d05a57abb97495d"},{"name":"hash","duration":144,"timestamp":527424357396,"id":125,"parentId":116,"tags":{},"startTime":1781578868789,"traceId":"2d05a57abb97495d"},{"name":"code-generation-jobs","duration":22,"timestamp":527424357539,"id":126,"parentId":116,"tags":{},"startTime":1781578868790,"traceId":"2d05a57abb97495d"},{"name":"module-assets","duration":26,"timestamp":527424357553,"id":127,"parentId":116,"tags":{},"startTime":1781578868790,"traceId":"2d05a57abb97495d"},{"name":"create-chunk-assets","duration":91,"timestamp":527424357583,"id":128,"parentId":116,"tags":{},"startTime":1781578868790,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":177,"timestamp":527424362345,"id":130,"parentId":129,"tags":{"name":"interception-route-rewrite-manifest.js","cache":"HIT"},"startTime":1781578868794,"traceId":"2d05a57abb97495d"},{"name":"minify-webpack-plugin-optimize","duration":1835,"timestamp":527424360698,"id":129,"parentId":114,"tags":{"compilationName":"edge-server","mangle":"[object Object]"},"startTime":1781578868793,"traceId":"2d05a57abb97495d"},{"name":"css-minimizer-plugin","duration":93,"timestamp":527424362615,"id":131,"parentId":114,"tags":{},"startTime":1781578868795,"traceId":"2d05a57abb97495d"},{"name":"seal","duration":7492,"timestamp":527424356386,"id":116,"parentId":114,"tags":{},"startTime":1781578868788,"traceId":"2d05a57abb97495d"},{"name":"webpack-compilation","duration":9874,"timestamp":527424354139,"id":114,"parentId":111,"tags":{"name":"edge-server"},"startTime":1781578868786,"traceId":"2d05a57abb97495d"},{"name":"emit","duration":3203,"timestamp":527424364160,"id":132,"parentId":111,"tags":{},"startTime":1781578868796,"traceId":"2d05a57abb97495d"},{"name":"webpack-close","duration":220,"timestamp":527424367659,"id":133,"parentId":111,"tags":{"name":"edge-server"},"startTime":1781578868800,"traceId":"2d05a57abb97495d"},{"name":"webpack-generate-error-stats","duration":767,"timestamp":527424367897,"id":134,"parentId":133,"tags":{},"startTime":1781578868800,"traceId":"2d05a57abb97495d"},{"name":"run-webpack-compiler","duration":87164,"timestamp":527424281535,"id":111,"parentId":110,"tags":{},"startTime":1781578868714,"traceId":"2d05a57abb97495d"},{"name":"format-webpack-messages","duration":29,"timestamp":527424368701,"id":135,"parentId":110,"tags":{},"startTime":1781578868801,"traceId":"2d05a57abb97495d"},{"name":"worker-main-edge-server","duration":87407,"timestamp":527424281369,"id":110,"parentId":1,"tags":{},"startTime":1781578868713,"traceId":"2d05a57abb97495d"},{"name":"create-entrypoints","duration":5047,"timestamp":527424619139,"id":138,"parentId":136,"tags":{},"startTime":1781578869051,"traceId":"2d05a57abb97495d"},{"name":"generate-webpack-config","duration":34599,"timestamp":527424624245,"id":139,"parentId":137,"tags":{},"startTime":1781578869056,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":47911,"timestamp":527424695049,"id":149,"parentId":141,"tags":{"request":"next-flight-client-entry-loader?server=false!"},"startTime":1781578869127,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":47917,"timestamp":527424695052,"id":150,"parentId":141,"tags":{"request":"next-flight-client-entry-loader?server=false!"},"startTime":1781578869127,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":47897,"timestamp":527424695075,"id":152,"parentId":141,"tags":{"request":"next-flight-client-entry-loader?server=false!"},"startTime":1781578869127,"traceId":"2d05a57abb97495d"}]
2
+ [{"name":"add-entry","duration":47895,"timestamp":527424695079,"id":153,"parentId":141,"tags":{"request":"next-flight-client-entry-loader?server=false!"},"startTime":1781578869127,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":47895,"timestamp":527424695081,"id":154,"parentId":141,"tags":{"request":"next-flight-client-entry-loader?server=false!"},"startTime":1781578869127,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":47895,"timestamp":527424695082,"id":155,"parentId":141,"tags":{"request":"next-flight-client-entry-loader?server=false!"},"startTime":1781578869127,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":92887,"timestamp":527424695031,"id":146,"parentId":141,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!"},"startTime":1781578869127,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":93125,"timestamp":527424695020,"id":145,"parentId":141,"tags":{"request":"next-client-pages-loader?absolutePagePath=%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fnode_modules%2F.pnpm%2Fnext%4015.5.19_react-dom%4019.2.7_react%4019.2.7__react%4019.2.7%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fbuiltin%2Fglobal-not-found.js&page=%2F_not-found%2Fpage!"},"startTime":1781578869127,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":93112,"timestamp":527424695045,"id":148,"parentId":141,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!"},"startTime":1781578869127,"traceId":"2d05a57abb97495d"},{"name":"postcss-process","duration":134669,"timestamp":527424896084,"id":160,"parentId":159,"tags":{},"startTime":1781578869328,"traceId":"2d05a57abb97495d"},{"name":"postcss-loader","duration":254152,"timestamp":527424776631,"id":159,"parentId":158,"tags":{},"startTime":1781578869209,"traceId":"2d05a57abb97495d"},{"name":"css-loader","duration":12807,"timestamp":527425030881,"id":161,"parentId":158,"tags":{"astUsed":"true"},"startTime":1781578869463,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":359544,"timestamp":527424695040,"id":147,"parentId":141,"tags":{"request":"/Users/guru/work/dmux/speckit-assistant/node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/client/router.js"},"startTime":1781578869127,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":362883,"timestamp":527424694843,"id":142,"parentId":141,"tags":{"request":"./node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/client/next.js"},"startTime":1781578869127,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":365893,"timestamp":527424695011,"id":144,"parentId":141,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fnode_modules%2F.pnpm%2Fnext%4015.5.19_react-dom%4019.2.7_react%4019.2.7__react%4019.2.7%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fbuiltin%2Fglobal-error.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fnode_modules%2F.pnpm%2Fnext%4015.5.19_react-dom%4019.2.7_react%4019.2.7__react%4019.2.7%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fnode_modules%2F.pnpm%2Fnext%4015.5.19_react-dom%4019.2.7_react%4019.2.7__react%4019.2.7%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fnode_modules%2F.pnpm%2Fnext%4015.5.19_react-dom%4019.2.7_react%4019.2.7__react%4019.2.7%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fnode_modules%2F.pnpm%2Fnext%4015.5.19_react-dom%4019.2.7_react%4019.2.7__react%4019.2.7%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fnode_modules%2F.pnpm%2Fnext%4015.5.19_react-dom%4019.2.7_react%4019.2.7__react%4019.2.7%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fmetadata%2Fasync-metadata.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fnode_modules%2F.pnpm%2Fnext%4015.5.19_react-dom%4019.2.7_react%4019.2.7__react%4019.2.7%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fnode_modules%2F.pnpm%2Fnext%4015.5.19_react-dom%4019.2.7_react%4019.2.7__react%4019.2.7%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fframework%2Fboundary-components.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fnode_modules%2F.pnpm%2Fnext%4015.5.19_react-dom%4019.2.7_react%4019.2.7__react%4019.2.7%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fgenerate%2Ficon-mark.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1781578869127,"traceId":"2d05a57abb97495d"},{"name":"build-module-css","duration":291890,"timestamp":527424769253,"id":158,"parentId":157,"tags":{"name":"/Users/guru/work/dmux/speckit-assistant/src/app/globals.css.webpack[javascript/auto]!=!/Users/guru/work/dmux/speckit-assistant/node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!/Users/guru/work/dmux/speckit-assistant/node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!/Users/guru/work/dmux/speckit-assistant/src/app/globals.css","layer":null},"startTime":1781578869201,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":368527,"timestamp":527424694999,"id":143,"parentId":141,"tags":{"request":"./node_modules/.pnpm/next@15.5.19_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/client/app-next.js"},"startTime":1781578869127,"traceId":"2d05a57abb97495d"},{"name":"build-module-css","duration":309580,"timestamp":527424761745,"id":157,"parentId":140,"tags":{"name":"/Users/guru/work/dmux/speckit-assistant/src/app/globals.css","layer":"app-pages-browser"},"startTime":1781578869194,"traceId":"2d05a57abb97495d"},{"name":"build-module","duration":51,"timestamp":527425072122,"id":162,"parentId":157,"tags":{},"startTime":1781578869504,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":377324,"timestamp":527424695061,"id":151,"parentId":141,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1781578869127,"traceId":"2d05a57abb97495d"},{"name":"add-entry","duration":382553,"timestamp":527424695084,"id":156,"parentId":141,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Fguru%2Fwork%2Fdmux%2Fspeckit-assistant%2Fsrc%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1781578869127,"traceId":"2d05a57abb97495d"},{"name":"make","duration":383008,"timestamp":527424694698,"id":141,"parentId":140,"tags":{},"startTime":1781578869127,"traceId":"2d05a57abb97495d"},{"name":"chunk-graph","duration":2852,"timestamp":527425086782,"id":164,"parentId":163,"tags":{},"startTime":1781578869519,"traceId":"2d05a57abb97495d"},{"name":"optimize-modules","duration":8,"timestamp":527425089664,"id":166,"parentId":163,"tags":{},"startTime":1781578869522,"traceId":"2d05a57abb97495d"},{"name":"optimize-chunks","duration":2591,"timestamp":527425090159,"id":168,"parentId":163,"tags":{},"startTime":1781578869522,"traceId":"2d05a57abb97495d"},{"name":"optimize-tree","duration":9,"timestamp":527425092783,"id":169,"parentId":163,"tags":{},"startTime":1781578869525,"traceId":"2d05a57abb97495d"},{"name":"optimize-chunk-modules","duration":7928,"timestamp":527425092822,"id":170,"parentId":163,"tags":{},"startTime":1781578869525,"traceId":"2d05a57abb97495d"},{"name":"optimize","duration":11130,"timestamp":527425089648,"id":165,"parentId":163,"tags":{},"startTime":1781578869522,"traceId":"2d05a57abb97495d"},{"name":"module-hash","duration":3712,"timestamp":527425105388,"id":171,"parentId":163,"tags":{},"startTime":1781578869537,"traceId":"2d05a57abb97495d"},{"name":"code-generation","duration":797,"timestamp":527425109124,"id":172,"parentId":163,"tags":{},"startTime":1781578869541,"traceId":"2d05a57abb97495d"},{"name":"hash","duration":2667,"timestamp":527425110836,"id":173,"parentId":163,"tags":{},"startTime":1781578869543,"traceId":"2d05a57abb97495d"},{"name":"code-generation-jobs","duration":57,"timestamp":527425113503,"id":174,"parentId":163,"tags":{},"startTime":1781578869545,"traceId":"2d05a57abb97495d"},{"name":"module-assets","duration":75,"timestamp":527425113545,"id":175,"parentId":163,"tags":{},"startTime":1781578869546,"traceId":"2d05a57abb97495d"},{"name":"create-chunk-assets","duration":1577,"timestamp":527425113623,"id":176,"parentId":163,"tags":{},"startTime":1781578869546,"traceId":"2d05a57abb97495d"},{"name":"NextJsBuildManifest-generateClientManifest","duration":603,"timestamp":527425115997,"id":178,"parentId":140,"tags":{},"startTime":1781578869548,"traceId":"2d05a57abb97495d"},{"name":"NextJsBuildManifest-createassets","duration":948,"timestamp":527425115656,"id":177,"parentId":140,"tags":{},"startTime":1781578869548,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":232,"timestamp":527425118687,"id":180,"parentId":179,"tags":{"name":"static/chunks/main-90d1cc2a170a4cd5.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":181,"timestamp":527425118739,"id":181,"parentId":179,"tags":{"name":"static/chunks/main-app-10aeb410137afa8c.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":177,"timestamp":527425118744,"id":182,"parentId":179,"tags":{"name":"static/chunks/app/_not-found/page-fb4c614bf5952659.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":175,"timestamp":527425118746,"id":183,"parentId":179,"tags":{"name":"static/chunks/pages/_app-92414b5ad05b81c6.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":176,"timestamp":527425118748,"id":184,"parentId":179,"tags":{"name":"static/chunks/pages/_error-74ac7170052d1581.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":175,"timestamp":527425118750,"id":185,"parentId":179,"tags":{"name":"static/chunks/app/layout-627ee210a6e15dea.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":173,"timestamp":527425118752,"id":186,"parentId":179,"tags":{"name":"static/chunks/app/page-e13c173456b8746a.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":172,"timestamp":527425118754,"id":187,"parentId":179,"tags":{"name":"static/chunks/webpack-c9b7588c1149ef50.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":170,"timestamp":527425118756,"id":188,"parentId":179,"tags":{"name":"static/chunks/framework-7d2e301985dfa0ca.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":165,"timestamp":527425118761,"id":189,"parentId":179,"tags":{"name":"static/chunks/acfafb44-dcad3075035847de.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":160,"timestamp":527425118767,"id":190,"parentId":179,"tags":{"name":"static/chunks/8381d2c4-3990feceefd50e87.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":157,"timestamp":527425118770,"id":191,"parentId":179,"tags":{"name":"static/chunks/920-6a19072f6e9bbbab.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":155,"timestamp":527425118772,"id":192,"parentId":179,"tags":{"name":"static/chunks/590-9830a73a27674dc5.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":154,"timestamp":527425118774,"id":193,"parentId":179,"tags":{"name":"static/chunks/app/api/feature/route-3236d71954738183.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":153,"timestamp":527425118775,"id":194,"parentId":179,"tags":{"name":"static/chunks/app/api/file/route-37c4ed299d1c29e7.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":151,"timestamp":527425118777,"id":195,"parentId":179,"tags":{"name":"static/chunks/app/api/phase/route-8c44e72090cbb62b.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":150,"timestamp":527425118778,"id":196,"parentId":179,"tags":{"name":"static/chunks/app/api/state/route-c8e02ede918db2c4.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":148,"timestamp":527425118781,"id":197,"parentId":179,"tags":{"name":"static/chunks/app/api/task/route-ebb72de5a310f2d3.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":147,"timestamp":527425118782,"id":198,"parentId":179,"tags":{"name":"static/chunks/app/api/state/watch/route-283640fefb22ed72.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":142,"timestamp":527425118787,"id":199,"parentId":179,"tags":{"name":"server/middleware-react-loadable-manifest.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":23,"timestamp":527425118907,"id":201,"parentId":179,"tags":{"name":"server/middleware-build-manifest.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":12,"timestamp":527425118918,"id":203,"parentId":179,"tags":{"name":"server/next-font-manifest.js","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":428,"timestamp":527425118793,"id":200,"parentId":179,"tags":{"name":"static/fWuQ3yoHovA7Cre6u89W7/_ssgManifest.js","cache":"MISS"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-js","duration":349,"timestamp":527425118910,"id":202,"parentId":179,"tags":{"name":"static/fWuQ3yoHovA7Cre6u89W7/_buildManifest.js","cache":"MISS"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-webpack-plugin-optimize","duration":2235,"timestamp":527425117025,"id":179,"parentId":140,"tags":{"compilationName":"client","mangle":"[object Object]"},"startTime":1781578869549,"traceId":"2d05a57abb97495d"},{"name":"minify-css","duration":29,"timestamp":527425119344,"id":205,"parentId":204,"tags":{"file":"static/css/c89ecbfb72d46985.css","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"minify-css","duration":16,"timestamp":527425119357,"id":206,"parentId":204,"tags":{"file":"static/css/921201b770655c5e.css","cache":"HIT"},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"css-minimizer-plugin","duration":78,"timestamp":527425119297,"id":204,"parentId":140,"tags":{},"startTime":1781578869551,"traceId":"2d05a57abb97495d"},{"name":"seal","duration":39709,"timestamp":527425082643,"id":163,"parentId":140,"tags":{},"startTime":1781578869515,"traceId":"2d05a57abb97495d"},{"name":"webpack-compilation","duration":428921,"timestamp":527424693525,"id":140,"parentId":137,"tags":{"name":"client"},"startTime":1781578869126,"traceId":"2d05a57abb97495d"},{"name":"emit","duration":3003,"timestamp":527425122576,"id":207,"parentId":137,"tags":{},"startTime":1781578869555,"traceId":"2d05a57abb97495d"},{"name":"webpack-close","duration":12006,"timestamp":527425125961,"id":208,"parentId":137,"tags":{"name":"client"},"startTime":1781578869558,"traceId":"2d05a57abb97495d"},{"name":"webpack-generate-error-stats","duration":807,"timestamp":527425137999,"id":209,"parentId":208,"tags":{},"startTime":1781578869570,"traceId":"2d05a57abb97495d"},{"name":"run-webpack-compiler","duration":519730,"timestamp":527424619137,"id":137,"parentId":136,"tags":{},"startTime":1781578869051,"traceId":"2d05a57abb97495d"},{"name":"format-webpack-messages","duration":31,"timestamp":527425138870,"id":210,"parentId":136,"tags":{},"startTime":1781578869571,"traceId":"2d05a57abb97495d"},{"name":"worker-main-client","duration":519944,"timestamp":527424619009,"id":136,"parentId":1,"tags":{},"startTime":1781578869051,"traceId":"2d05a57abb97495d"},{"name":"verify-typescript-setup","duration":105162,"timestamp":527425148886,"id":212,"parentId":1,"tags":{},"startTime":1781578869581,"traceId":"2d05a57abb97495d"},{"name":"check-static-error-page","duration":1098,"timestamp":527425259978,"id":215,"parentId":214,"tags":{},"startTime":1781578869692,"traceId":"2d05a57abb97495d"},{"name":"check-page","duration":784,"timestamp":527425273491,"id":216,"parentId":214,"tags":{"page":"/_app"},"startTime":1781578869705,"traceId":"2d05a57abb97495d"},{"name":"check-page","duration":310,"timestamp":527425273977,"id":218,"parentId":214,"tags":{"page":"/_document"},"startTime":1781578869706,"traceId":"2d05a57abb97495d"},{"name":"check-page","duration":718,"timestamp":527425273895,"id":217,"parentId":214,"tags":{"page":"/_error"},"startTime":1781578869706,"traceId":"2d05a57abb97495d"},{"name":"is-page-static","duration":189260,"timestamp":527425275050,"id":229,"parentId":223,"tags":{},"startTime":1781578869707,"traceId":"2d05a57abb97495d"},{"name":"check-page","duration":190254,"timestamp":527425274110,"id":223,"parentId":214,"tags":{"page":"/api/state"},"startTime":1781578869706,"traceId":"2d05a57abb97495d"},{"name":"is-page-static","duration":191761,"timestamp":527425276285,"id":234,"parentId":224,"tags":{},"startTime":1781578869708,"traceId":"2d05a57abb97495d"},{"name":"check-page","duration":193959,"timestamp":527425274130,"id":224,"parentId":214,"tags":{"page":"/api/state/watch"},"startTime":1781578869706,"traceId":"2d05a57abb97495d"},{"name":"is-page-static","duration":194224,"timestamp":527425274899,"id":227,"parentId":220,"tags":{},"startTime":1781578869707,"traceId":"2d05a57abb97495d"},{"name":"check-page","duration":195109,"timestamp":527425274071,"id":220,"parentId":214,"tags":{"page":"/api/feature"},"startTime":1781578869706,"traceId":"2d05a57abb97495d"},{"name":"is-page-static","duration":205855,"timestamp":527425275477,"id":232,"parentId":219,"tags":{},"startTime":1781578869707,"traceId":"2d05a57abb97495d"},{"name":"check-page","duration":207368,"timestamp":527425274011,"id":219,"parentId":214,"tags":{"page":"/_not-found"},"startTime":1781578869706,"traceId":"2d05a57abb97495d"},{"name":"is-page-static","duration":211259,"timestamp":527425275079,"id":230,"parentId":225,"tags":{},"startTime":1781578869707,"traceId":"2d05a57abb97495d"},{"name":"check-page","duration":212230,"timestamp":527425274146,"id":225,"parentId":214,"tags":{"page":"/api/task"},"startTime":1781578869706,"traceId":"2d05a57abb97495d"},{"name":"is-page-static","duration":210408,"timestamp":527425276002,"id":233,"parentId":226,"tags":{},"startTime":1781578869708,"traceId":"2d05a57abb97495d"},{"name":"check-page","duration":212253,"timestamp":527425274164,"id":226,"parentId":214,"tags":{"page":"/"},"startTime":1781578869706,"traceId":"2d05a57abb97495d"},{"name":"is-page-static","duration":216173,"timestamp":527425275114,"id":231,"parentId":221,"tags":{},"startTime":1781578869707,"traceId":"2d05a57abb97495d"},{"name":"check-page","duration":217218,"timestamp":527425274089,"id":221,"parentId":214,"tags":{"page":"/api/file"},"startTime":1781578869706,"traceId":"2d05a57abb97495d"},{"name":"is-page-static","duration":233360,"timestamp":527425275007,"id":228,"parentId":222,"tags":{},"startTime":1781578869707,"traceId":"2d05a57abb97495d"},{"name":"check-page","duration":234288,"timestamp":527425274099,"id":222,"parentId":214,"tags":{"page":"/api/phase"},"startTime":1781578869706,"traceId":"2d05a57abb97495d"},{"name":"static-check","duration":248600,"timestamp":527425259798,"id":214,"parentId":1,"tags":{},"startTime":1781578869692,"traceId":"2d05a57abb97495d"},{"name":"generate-required-server-files","duration":151,"timestamp":527425508789,"id":236,"parentId":1,"tags":{},"startTime":1781578869941,"traceId":"2d05a57abb97495d"},{"name":"write-routes-manifest","duration":784,"timestamp":527425512611,"id":238,"parentId":1,"tags":{},"startTime":1781578869945,"traceId":"2d05a57abb97495d"},{"name":"load-dotenv","duration":23,"timestamp":527425787837,"id":241,"parentId":240,"tags":{},"startTime":1781578870220,"traceId":"2d05a57abb97495d"},{"name":"run-export-path-map","duration":149,"timestamp":527425908522,"id":242,"parentId":240,"tags":{},"startTime":1781578870341,"traceId":"2d05a57abb97495d"},{"name":"next-export","duration":426492,"timestamp":527425787163,"id":240,"parentId":1,"tags":{},"startTime":1781578870219,"traceId":"2d05a57abb97495d"},{"name":"move-exported-app-not-found-","duration":3315,"timestamp":527426214151,"id":243,"parentId":239,"tags":{},"startTime":1781578870646,"traceId":"2d05a57abb97495d"},{"name":"move-exported-page","duration":19098,"timestamp":527426217513,"id":244,"parentId":239,"tags":{},"startTime":1781578870649,"traceId":"2d05a57abb97495d"},{"name":"static-generation","duration":518017,"timestamp":527425782266,"id":239,"parentId":1,"tags":{},"startTime":1781578870214,"traceId":"2d05a57abb97495d"},{"name":"write-routes-manifest","duration":12900,"timestamp":527426300339,"id":245,"parentId":1,"tags":{},"startTime":1781578870732,"traceId":"2d05a57abb97495d"},{"name":"node-file-trace-build","duration":2728580,"timestamp":527425510120,"id":237,"parentId":1,"tags":{"isTurbotrace":"false"},"startTime":1781578869942,"traceId":"2d05a57abb97495d"}]
3
+ [{"name":"apply-include-excludes","duration":317,"timestamp":527428238772,"id":246,"parentId":1,"tags":{},"startTime":1781578872671,"traceId":"2d05a57abb97495d"},{"name":"print-tree-view","duration":1133,"timestamp":527428239258,"id":247,"parentId":1,"tags":{},"startTime":1781578872671,"traceId":"2d05a57abb97495d"},{"name":"telemetry-flush","duration":15,"timestamp":527428240395,"id":248,"parentId":1,"tags":{},"startTime":1781578872672,"traceId":"2d05a57abb97495d"},{"name":"next-build","duration":5803648,"timestamp":527422436764,"id":1,"tags":{"buildMode":"default","isTurboBuild":"false","version":"15.5.19","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1781578866869,"traceId":"2d05a57abb97495d"}]
@@ -0,0 +1,347 @@
1
+ // File: /Users/guru/work/dmux/speckit-assistant/src/app/api/feature/route.ts
2
+ import * as entry from '../../../../../src/app/api/feature/route.js'
3
+ import type { NextRequest } from 'next/server.js'
4
+
5
+ type TEntry = typeof import('../../../../../src/app/api/feature/route.js')
6
+
7
+ type SegmentParams<T extends Object = any> = T extends Record<string, any>
8
+ ? { [K in keyof T]: T[K] extends string ? string | string[] | undefined : never }
9
+ : T
10
+
11
+ // Check that the entry is a valid entry
12
+ checkFields<Diff<{
13
+ GET?: Function
14
+ HEAD?: Function
15
+ OPTIONS?: Function
16
+ POST?: Function
17
+ PUT?: Function
18
+ DELETE?: Function
19
+ PATCH?: Function
20
+ config?: {}
21
+ generateStaticParams?: Function
22
+ revalidate?: RevalidateRange<TEntry> | false
23
+ dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
24
+ dynamicParams?: boolean
25
+ fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
26
+ preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
27
+ runtime?: 'nodejs' | 'experimental-edge' | 'edge'
28
+ maxDuration?: number
29
+
30
+ }, TEntry, ''>>()
31
+
32
+ type RouteContext = { params: Promise<SegmentParams> }
33
+ // Check the prop type of the entry function
34
+ if ('GET' in entry) {
35
+ checkFields<
36
+ Diff<
37
+ ParamCheck<Request | NextRequest>,
38
+ {
39
+ __tag__: 'GET'
40
+ __param_position__: 'first'
41
+ __param_type__: FirstArg<MaybeField<TEntry, 'GET'>>
42
+ },
43
+ 'GET'
44
+ >
45
+ >()
46
+ checkFields<
47
+ Diff<
48
+ ParamCheck<RouteContext>,
49
+ {
50
+ __tag__: 'GET'
51
+ __param_position__: 'second'
52
+ __param_type__: SecondArg<MaybeField<TEntry, 'GET'>>
53
+ },
54
+ 'GET'
55
+ >
56
+ >()
57
+
58
+ checkFields<
59
+ Diff<
60
+ {
61
+ __tag__: 'GET',
62
+ __return_type__: Response | void | never | Promise<Response | void | never>
63
+ },
64
+ {
65
+ __tag__: 'GET',
66
+ __return_type__: ReturnType<MaybeField<TEntry, 'GET'>>
67
+ },
68
+ 'GET'
69
+ >
70
+ >()
71
+ }
72
+ // Check the prop type of the entry function
73
+ if ('HEAD' in entry) {
74
+ checkFields<
75
+ Diff<
76
+ ParamCheck<Request | NextRequest>,
77
+ {
78
+ __tag__: 'HEAD'
79
+ __param_position__: 'first'
80
+ __param_type__: FirstArg<MaybeField<TEntry, 'HEAD'>>
81
+ },
82
+ 'HEAD'
83
+ >
84
+ >()
85
+ checkFields<
86
+ Diff<
87
+ ParamCheck<RouteContext>,
88
+ {
89
+ __tag__: 'HEAD'
90
+ __param_position__: 'second'
91
+ __param_type__: SecondArg<MaybeField<TEntry, 'HEAD'>>
92
+ },
93
+ 'HEAD'
94
+ >
95
+ >()
96
+
97
+ checkFields<
98
+ Diff<
99
+ {
100
+ __tag__: 'HEAD',
101
+ __return_type__: Response | void | never | Promise<Response | void | never>
102
+ },
103
+ {
104
+ __tag__: 'HEAD',
105
+ __return_type__: ReturnType<MaybeField<TEntry, 'HEAD'>>
106
+ },
107
+ 'HEAD'
108
+ >
109
+ >()
110
+ }
111
+ // Check the prop type of the entry function
112
+ if ('OPTIONS' in entry) {
113
+ checkFields<
114
+ Diff<
115
+ ParamCheck<Request | NextRequest>,
116
+ {
117
+ __tag__: 'OPTIONS'
118
+ __param_position__: 'first'
119
+ __param_type__: FirstArg<MaybeField<TEntry, 'OPTIONS'>>
120
+ },
121
+ 'OPTIONS'
122
+ >
123
+ >()
124
+ checkFields<
125
+ Diff<
126
+ ParamCheck<RouteContext>,
127
+ {
128
+ __tag__: 'OPTIONS'
129
+ __param_position__: 'second'
130
+ __param_type__: SecondArg<MaybeField<TEntry, 'OPTIONS'>>
131
+ },
132
+ 'OPTIONS'
133
+ >
134
+ >()
135
+
136
+ checkFields<
137
+ Diff<
138
+ {
139
+ __tag__: 'OPTIONS',
140
+ __return_type__: Response | void | never | Promise<Response | void | never>
141
+ },
142
+ {
143
+ __tag__: 'OPTIONS',
144
+ __return_type__: ReturnType<MaybeField<TEntry, 'OPTIONS'>>
145
+ },
146
+ 'OPTIONS'
147
+ >
148
+ >()
149
+ }
150
+ // Check the prop type of the entry function
151
+ if ('POST' in entry) {
152
+ checkFields<
153
+ Diff<
154
+ ParamCheck<Request | NextRequest>,
155
+ {
156
+ __tag__: 'POST'
157
+ __param_position__: 'first'
158
+ __param_type__: FirstArg<MaybeField<TEntry, 'POST'>>
159
+ },
160
+ 'POST'
161
+ >
162
+ >()
163
+ checkFields<
164
+ Diff<
165
+ ParamCheck<RouteContext>,
166
+ {
167
+ __tag__: 'POST'
168
+ __param_position__: 'second'
169
+ __param_type__: SecondArg<MaybeField<TEntry, 'POST'>>
170
+ },
171
+ 'POST'
172
+ >
173
+ >()
174
+
175
+ checkFields<
176
+ Diff<
177
+ {
178
+ __tag__: 'POST',
179
+ __return_type__: Response | void | never | Promise<Response | void | never>
180
+ },
181
+ {
182
+ __tag__: 'POST',
183
+ __return_type__: ReturnType<MaybeField<TEntry, 'POST'>>
184
+ },
185
+ 'POST'
186
+ >
187
+ >()
188
+ }
189
+ // Check the prop type of the entry function
190
+ if ('PUT' in entry) {
191
+ checkFields<
192
+ Diff<
193
+ ParamCheck<Request | NextRequest>,
194
+ {
195
+ __tag__: 'PUT'
196
+ __param_position__: 'first'
197
+ __param_type__: FirstArg<MaybeField<TEntry, 'PUT'>>
198
+ },
199
+ 'PUT'
200
+ >
201
+ >()
202
+ checkFields<
203
+ Diff<
204
+ ParamCheck<RouteContext>,
205
+ {
206
+ __tag__: 'PUT'
207
+ __param_position__: 'second'
208
+ __param_type__: SecondArg<MaybeField<TEntry, 'PUT'>>
209
+ },
210
+ 'PUT'
211
+ >
212
+ >()
213
+
214
+ checkFields<
215
+ Diff<
216
+ {
217
+ __tag__: 'PUT',
218
+ __return_type__: Response | void | never | Promise<Response | void | never>
219
+ },
220
+ {
221
+ __tag__: 'PUT',
222
+ __return_type__: ReturnType<MaybeField<TEntry, 'PUT'>>
223
+ },
224
+ 'PUT'
225
+ >
226
+ >()
227
+ }
228
+ // Check the prop type of the entry function
229
+ if ('DELETE' in entry) {
230
+ checkFields<
231
+ Diff<
232
+ ParamCheck<Request | NextRequest>,
233
+ {
234
+ __tag__: 'DELETE'
235
+ __param_position__: 'first'
236
+ __param_type__: FirstArg<MaybeField<TEntry, 'DELETE'>>
237
+ },
238
+ 'DELETE'
239
+ >
240
+ >()
241
+ checkFields<
242
+ Diff<
243
+ ParamCheck<RouteContext>,
244
+ {
245
+ __tag__: 'DELETE'
246
+ __param_position__: 'second'
247
+ __param_type__: SecondArg<MaybeField<TEntry, 'DELETE'>>
248
+ },
249
+ 'DELETE'
250
+ >
251
+ >()
252
+
253
+ checkFields<
254
+ Diff<
255
+ {
256
+ __tag__: 'DELETE',
257
+ __return_type__: Response | void | never | Promise<Response | void | never>
258
+ },
259
+ {
260
+ __tag__: 'DELETE',
261
+ __return_type__: ReturnType<MaybeField<TEntry, 'DELETE'>>
262
+ },
263
+ 'DELETE'
264
+ >
265
+ >()
266
+ }
267
+ // Check the prop type of the entry function
268
+ if ('PATCH' in entry) {
269
+ checkFields<
270
+ Diff<
271
+ ParamCheck<Request | NextRequest>,
272
+ {
273
+ __tag__: 'PATCH'
274
+ __param_position__: 'first'
275
+ __param_type__: FirstArg<MaybeField<TEntry, 'PATCH'>>
276
+ },
277
+ 'PATCH'
278
+ >
279
+ >()
280
+ checkFields<
281
+ Diff<
282
+ ParamCheck<RouteContext>,
283
+ {
284
+ __tag__: 'PATCH'
285
+ __param_position__: 'second'
286
+ __param_type__: SecondArg<MaybeField<TEntry, 'PATCH'>>
287
+ },
288
+ 'PATCH'
289
+ >
290
+ >()
291
+
292
+ checkFields<
293
+ Diff<
294
+ {
295
+ __tag__: 'PATCH',
296
+ __return_type__: Response | void | never | Promise<Response | void | never>
297
+ },
298
+ {
299
+ __tag__: 'PATCH',
300
+ __return_type__: ReturnType<MaybeField<TEntry, 'PATCH'>>
301
+ },
302
+ 'PATCH'
303
+ >
304
+ >()
305
+ }
306
+
307
+ // Check the arguments and return type of the generateStaticParams function
308
+ if ('generateStaticParams' in entry) {
309
+ checkFields<Diff<{ params: SegmentParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
310
+ checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
311
+ }
312
+
313
+ export interface PageProps {
314
+ params?: Promise<SegmentParams>
315
+ searchParams?: Promise<any>
316
+ }
317
+ export interface LayoutProps {
318
+ children?: React.ReactNode
319
+
320
+ params?: Promise<SegmentParams>
321
+ }
322
+
323
+ // =============
324
+ // Utility types
325
+ type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
326
+
327
+ // If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
328
+ type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
329
+ type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
330
+
331
+ type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
332
+ type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
333
+ type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
334
+
335
+ type ParamCheck<T> = {
336
+ __tag__: string
337
+ __param_position__: string
338
+ __param_type__: T
339
+ }
340
+
341
+ function checkFields<_ extends { [k in keyof any]: never }>() {}
342
+
343
+ // https://github.com/sindresorhus/type-fest
344
+ type Numeric = number | bigint
345
+ type Zero = 0 | 0n
346
+ type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
347
+ type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'