@circuitwall/jarela 2.2.1 → 2.4.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 (703) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +2 -1
  3. package/.next/standalone/.next/build-manifest.json +2 -2
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/routes-manifest.json +8 -0
  6. package/.next/standalone/.next/server/app/_global-error/page.js +68 -68
  7. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_not-found/page.js +76 -76
  14. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  16. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  17. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  18. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  19. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  20. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/.next/standalone/.next/server/app/api/v1/access/[identity]/route.js +100 -93
  22. package/.next/standalone/.next/server/app/api/v1/access/route.js +176 -169
  23. package/.next/standalone/.next/server/app/api/v1/agents/[id]/compact/route.js +89 -56
  24. package/.next/standalone/.next/server/app/api/v1/agents/[id]/compact/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/v1/agents/[id]/display-filters/route.js +139 -127
  26. package/.next/standalone/.next/server/app/api/v1/agents/[id]/route.js +107 -100
  27. package/.next/standalone/.next/server/app/api/v1/agents/[id]/thread/route.js +765 -753
  28. package/.next/standalone/.next/server/app/api/v1/agents/route.js +72 -65
  29. package/.next/standalone/.next/server/app/api/v1/allowed-sites/[hostname]/route.js +371 -364
  30. package/.next/standalone/.next/server/app/api/v1/allowed-sites/route.js +809 -802
  31. package/.next/standalone/.next/server/app/api/v1/artifacts/lifecycle/route.js +9 -2
  32. package/.next/standalone/.next/server/app/api/v1/attachments/files/route.js +49 -49
  33. package/.next/standalone/.next/server/app/api/v1/attachments/images/route.js +910 -910
  34. package/.next/standalone/.next/server/app/api/v1/bridges/[id]/chats/route.js +583 -16
  35. package/.next/standalone/.next/server/app/api/v1/bridges/[id]/chats/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/v1/bridges/[id]/ignores/[remote_jid]/route.js +41 -30
  37. package/.next/standalone/.next/server/app/api/v1/bridges/[id]/ignores/route.js +48 -37
  38. package/.next/standalone/.next/server/app/api/v1/bridges/[id]/lookup/route.js +697 -130
  39. package/.next/standalone/.next/server/app/api/v1/bridges/[id]/lookup/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/v1/bridges/[id]/pair/route.js +703 -136
  41. package/.next/standalone/.next/server/app/api/v1/bridges/[id]/pair/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/v1/bridges/[id]/route.js +796 -229
  43. package/.next/standalone/.next/server/app/api/v1/bridges/[id]/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/v1/bridges/[id]/routes/[route_id]/route.js +762 -746
  45. package/.next/standalone/.next/server/app/api/v1/bridges/[id]/routes/route.js +1050 -1034
  46. package/.next/standalone/.next/server/app/api/v1/bridges/[id]/status/route.js +673 -106
  47. package/.next/standalone/.next/server/app/api/v1/bridges/[id]/status/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/api/v1/bridges/kinds/route.js +811 -804
  49. package/.next/standalone/.next/server/app/api/v1/bridges/kinds/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/v1/bridges/route.js +718 -706
  51. package/.next/standalone/.next/server/app/api/v1/bridges/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/v1/builtin-tools/route.js +9 -9
  53. package/.next/standalone/.next/server/app/api/v1/builtin-tools/route.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/v1/config/route.js +85 -85
  55. package/.next/standalone/.next/server/app/api/v1/credentials/[id]/route.js +709 -709
  56. package/.next/standalone/.next/server/app/api/v1/credentials/[id]/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/v1/credentials/route.js +2 -2
  58. package/.next/standalone/.next/server/app/api/v1/credentials/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/v1/dashboard/currency/route.js +10 -10
  60. package/.next/standalone/.next/server/app/api/v1/dashboard/metrics/route.js +796 -784
  61. package/.next/standalone/.next/server/app/api/v1/dashboard/pricing/route.js +30 -23
  62. package/.next/standalone/.next/server/app/api/v1/dashboard/pricing-task/route.js +86 -86
  63. package/.next/standalone/.next/server/app/api/v1/dashboard/pricing-task/route.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/api/v1/delegations/codex/[job_id]/route.js +57 -57
  65. package/.next/standalone/.next/server/app/api/v1/delegations/codex/[job_id]/route.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/api/v1/documents/search/route.js +385 -378
  67. package/.next/standalone/.next/server/app/api/v1/documents/settings/route.js +51 -44
  68. package/.next/standalone/.next/server/app/api/v1/documents/sources/[id]/reindex/route.js +65 -65
  69. package/.next/standalone/.next/server/app/api/v1/documents/sources/[id]/reindex/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/api/v1/documents/sources/[id]/route.js +122 -122
  71. package/.next/standalone/.next/server/app/api/v1/documents/sources/[id]/route.js.nft.json +1 -1
  72. package/.next/standalone/.next/server/app/api/v1/documents/sources/route.js +37 -37
  73. package/.next/standalone/.next/server/app/api/v1/documents/sources/route.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/api/v1/env/route.js +9 -9
  75. package/.next/standalone/.next/server/app/api/v1/env-sync/allowlist/route.js +375 -368
  76. package/.next/standalone/.next/server/app/api/v1/env-sync/route.js +51 -44
  77. package/.next/standalone/.next/server/app/api/v1/events/route.js +745 -178
  78. package/.next/standalone/.next/server/app/api/v1/events/route.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/api/v1/events/test/route.js +77 -77
  80. package/.next/standalone/.next/server/app/api/v1/extension/agents/route.js +763 -763
  81. package/.next/standalone/.next/server/app/api/v1/extension/agents/route.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/api/v1/extension/browser/activate/route.js +51 -44
  83. package/.next/standalone/.next/server/app/api/v1/extension/browser/foreground/route.js +16 -9
  84. package/.next/standalone/.next/server/app/api/v1/extension/browser/history/route.js +72 -65
  85. package/.next/standalone/.next/server/app/api/v1/extension/browser/poll/route.js +41 -34
  86. package/.next/standalone/.next/server/app/api/v1/extension/browser/progress/route.js +211 -204
  87. package/.next/standalone/.next/server/app/api/v1/extension/browser/result/route.js +140 -133
  88. package/.next/standalone/.next/server/app/api/v1/extension/browser/retry/route.js +113 -106
  89. package/.next/standalone/.next/server/app/api/v1/extension/browser/status/route.js +121 -114
  90. package/.next/standalone/.next/server/app/api/v1/extension/browser/tabs/route.js +141 -134
  91. package/.next/standalone/.next/server/app/api/v1/extension/fill/route.js +690 -690
  92. package/.next/standalone/.next/server/app/api/v1/extension/fill/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/api/v1/extension/refine/route.js +93 -93
  94. package/.next/standalone/.next/server/app/api/v1/extension/refine/route.js.nft.json +1 -1
  95. package/.next/standalone/.next/server/app/api/v1/extension/turn/route.js +9 -9
  96. package/.next/standalone/.next/server/app/api/v1/extension/turn/route.js.nft.json +1 -1
  97. package/.next/standalone/.next/server/app/api/v1/extensions/route.js +185 -185
  98. package/.next/standalone/.next/server/app/api/v1/extensions/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/v1/extensions/tools/[name]/config/route.js +171 -171
  100. package/.next/standalone/.next/server/app/api/v1/extensions/tools/[name]/config/route.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/api/v1/extensions/tools/[name]/route.js +396 -396
  102. package/.next/standalone/.next/server/app/api/v1/extensions/tools/[name]/route.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/api/v1/extensions/tools/[name]/secrets/route.js +212 -212
  104. package/.next/standalone/.next/server/app/api/v1/extensions/tools/[name]/secrets/route.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/app/api/v1/files/[name]/route.js +235 -235
  106. package/.next/standalone/.next/server/app/api/v1/fs/browse/route.js +26 -26
  107. package/.next/standalone/.next/server/app/api/v1/harnesses/[id]/route.js +228 -221
  108. package/.next/standalone/.next/server/app/api/v1/harnesses/default/route.js +65 -58
  109. package/.next/standalone/.next/server/app/api/v1/harnesses/route.js +79 -72
  110. package/.next/standalone/.next/server/app/api/v1/health/probes/route.js +9 -9
  111. package/.next/standalone/.next/server/app/api/v1/health/probes/route.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/api/v1/health/route.js +783 -771
  113. package/.next/standalone/.next/server/app/api/v1/integrations/[name]/route.js +140 -133
  114. package/.next/standalone/.next/server/app/api/v1/integrations/[name]/test/route.js +9 -9
  115. package/.next/standalone/.next/server/app/api/v1/integrations/[name]/test/route.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/api/v1/integrations/gmail/oauth/callback/route.js +370 -363
  117. package/.next/standalone/.next/server/app/api/v1/integrations/gmail/oauth/start/route.js +240 -233
  118. package/.next/standalone/.next/server/app/api/v1/integrations/gmail/oauth/status/route.js +689 -682
  119. package/.next/standalone/.next/server/app/api/v1/integrations/outlook/oauth/callback/route.js +886 -879
  120. package/.next/standalone/.next/server/app/api/v1/integrations/outlook/oauth/start/route.js +115 -108
  121. package/.next/standalone/.next/server/app/api/v1/integrations/outlook/oauth/status/route.js +955 -948
  122. package/.next/standalone/.next/server/app/api/v1/integrations/route.js +223 -216
  123. package/.next/standalone/.next/server/app/api/v1/lifecycle/adoption/route.js +876 -847
  124. package/.next/standalone/.next/server/app/api/v1/lifecycle/adoption/route.js.nft.json +1 -1
  125. package/.next/standalone/.next/server/app/api/v1/local-file/route.js +26 -26
  126. package/.next/standalone/.next/server/app/api/v1/logs/route.js +70 -70
  127. package/.next/standalone/.next/server/app/api/v1/maps/embed/route.js +79 -72
  128. package/.next/standalone/.next/server/app/api/v1/mcp-servers/[name]/route.js +991 -979
  129. package/.next/standalone/.next/server/app/api/v1/mcp-servers/registry/route.js +196 -196
  130. package/.next/standalone/.next/server/app/api/v1/mcp-servers/route.js +19 -7
  131. package/.next/standalone/.next/server/app/api/v1/memory/[namespace]/[key]/route.js +539 -532
  132. package/.next/standalone/.next/server/app/api/v1/memory/policy/route.js +86 -79
  133. package/.next/standalone/.next/server/app/api/v1/memory/route.js +58 -51
  134. package/.next/standalone/.next/server/app/api/v1/memory/search/route.js +138 -131
  135. package/.next/standalone/.next/server/app/api/v1/models/[name]/compact-threads/route.js +381 -369
  136. package/.next/standalone/.next/server/app/api/v1/models/[name]/compact-threads/route.js.nft.json +1 -1
  137. package/.next/standalone/.next/server/app/api/v1/models/[name]/route.js +150 -143
  138. package/.next/standalone/.next/server/app/api/v1/models/route.js +634 -627
  139. package/.next/standalone/.next/server/app/api/v1/packages/catalog/route.js +445 -445
  140. package/.next/standalone/.next/server/app/api/v1/packages/defaults/[id]/route.js +120 -120
  141. package/.next/standalone/.next/server/app/api/v1/packages/defaults/[id]/route.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/api/v1/packages/install/[id]/route.js +234 -234
  143. package/.next/standalone/.next/server/app/api/v1/packages/install/[id]/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/v1/packages/install/route.js +407 -407
  145. package/.next/standalone/.next/server/app/api/v1/packages/install/route.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/api/v1/packages/manifests/[name]/enabled/route.js +37 -37
  147. package/.next/standalone/.next/server/app/api/v1/packages/manifests/[name]/enabled/route.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/api/v1/packages/manifests/[name]/route.js +107 -107
  149. package/.next/standalone/.next/server/app/api/v1/packages/manifests/[name]/route.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/api/v1/packages/manifests/route.js +228 -228
  151. package/.next/standalone/.next/server/app/api/v1/packages/manifests/route.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/app/api/v1/packages/reload/route.js +9 -9
  153. package/.next/standalone/.next/server/app/api/v1/packages/reload/route.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/api/v1/packages/route.js +148 -148
  155. package/.next/standalone/.next/server/app/api/v1/packages/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/v1/page-capture/route.js +787 -787
  157. package/.next/standalone/.next/server/app/api/v1/page-capture/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/v1/pending-actions/[id]/approve/route.js +529 -514
  159. package/.next/standalone/.next/server/app/api/v1/pending-actions/[id]/approve/route.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/api/v1/pending-actions/[id]/deny/route.js +181 -181
  161. package/.next/standalone/.next/server/app/api/v1/pending-actions/[id]/deny/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/v1/pending-actions/route.js +258 -258
  163. package/.next/standalone/.next/server/app/api/v1/pending-actions/route.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/app/api/v1/profile/location/route.js +37 -30
  165. package/.next/standalone/.next/server/app/api/v1/profile/route.js +171 -164
  166. package/.next/standalone/.next/server/app/api/v1/providers/[provider]/models/route.js +51 -44
  167. package/.next/standalone/.next/server/app/api/v1/providers/[provider]/probe/route.js +15 -8
  168. package/.next/standalone/.next/server/app/api/v1/providers/github-copilot/auth/route.js +171 -164
  169. package/.next/standalone/.next/server/app/api/v1/providers/route.js +101 -94
  170. package/.next/standalone/.next/server/app/api/v1/proxy-config/route.js +457 -450
  171. package/.next/standalone/.next/server/app/api/v1/redaction/init/route.js +44 -37
  172. package/.next/standalone/.next/server/app/api/v1/redaction/route.js +65 -58
  173. package/.next/standalone/.next/server/app/api/v1/scheduled-tasks/[id]/route.js +617 -605
  174. package/.next/standalone/.next/server/app/api/v1/scheduled-tasks/[id]/run/route.js +44 -44
  175. package/.next/standalone/.next/server/app/api/v1/scheduled-tasks/[id]/run/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/v1/scheduled-tasks/route.js +739 -732
  177. package/.next/standalone/.next/server/app/api/v1/security/idle-timeout/route.js +329 -322
  178. package/.next/standalone/.next/server/app/api/v1/security/pin/route.js +204 -197
  179. package/.next/standalone/.next/server/app/api/v1/security/state/route.js +58 -51
  180. package/.next/standalone/.next/server/app/api/v1/security/unlock/route.js +183 -176
  181. package/.next/standalone/.next/server/app/api/v1/security/verify-pin/route.js +194 -187
  182. package/.next/standalone/.next/server/app/api/v1/setup/test-key/route.js +26 -26
  183. package/.next/standalone/.next/server/app/api/v1/skills/[id]/route.js +776 -769
  184. package/.next/standalone/.next/server/app/api/v1/skills/repos/[id]/route.js +122 -115
  185. package/.next/standalone/.next/server/app/api/v1/skills/repos/route.js +334 -327
  186. package/.next/standalone/.next/server/app/api/v1/skills/route.js +873 -866
  187. package/.next/standalone/.next/server/app/api/v1/system/abort/route.js +838 -808
  188. package/.next/standalone/.next/server/app/api/v1/system/restart/route.js +177 -177
  189. package/.next/standalone/.next/server/app/api/v1/system/restart/route.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/app/api/v1/tailscale/route.js +164 -164
  191. package/.next/standalone/.next/server/app/api/v1/tasks/[agent_id]/route.js +122 -115
  192. package/.next/standalone/.next/server/app/api/v1/tasks/route.js +30 -23
  193. package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/activity/route.js +1436 -0
  194. package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/activity/route.js.nft.json +1 -0
  195. package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/activity/route_client-reference-manifest.js +1 -0
  196. package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/context-pin/route.js +638 -631
  197. package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/context-pin/route.js.nft.json +1 -1
  198. package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/route.js +60 -439
  199. package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/route.js.nft.json +1 -1
  200. package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/run/route.js +172 -173
  201. package/.next/standalone/.next/server/app/api/v1/threads/[thread_id]/run/route.js.nft.json +1 -1
  202. package/.next/standalone/.next/server/app/api/v1/threads/route.js +925 -913
  203. package/.next/standalone/.next/server/app/api/v1/tools/route.js +2 -2
  204. package/.next/standalone/.next/server/app/api/v1/tools/route.js.nft.json +1 -1
  205. package/.next/standalone/.next/server/app/api/v1/update/apply/route.js +17 -17
  206. package/.next/standalone/.next/server/app/api/v1/update/apply/route.js.nft.json +1 -1
  207. package/.next/standalone/.next/server/app/api/v1/update/route.js +570 -570
  208. package/.next/standalone/.next/server/app/api/v1/voice/transcribe/route.js +241 -229
  209. package/.next/standalone/.next/server/app/api/v1/voice/tts/route.js +989 -977
  210. package/.next/standalone/.next/server/app/api/v1/watchers/[id]/route.js +40 -28
  211. package/.next/standalone/.next/server/app/api/v1/watchers/[id]/run/route.js +72 -72
  212. package/.next/standalone/.next/server/app/api/v1/watchers/[id]/run/route.js.nft.json +1 -1
  213. package/.next/standalone/.next/server/app/api/v1/watchers/reaction-scripts/route.js +128 -128
  214. package/.next/standalone/.next/server/app/api/v1/watchers/route.js +164 -164
  215. package/.next/standalone/.next/server/app/api/v1/watchers/route.js.nft.json +1 -1
  216. package/.next/standalone/.next/server/app/icon.svg/route.js +62 -62
  217. package/.next/standalone/.next/server/app/manifest.webmanifest/route.js +436 -436
  218. package/.next/standalone/.next/server/app/page.js +1179 -743
  219. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  220. package/.next/standalone/.next/server/app/setup/page.js +99 -91
  221. package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/app-paths-manifest.json +2 -1
  223. package/.next/standalone/.next/server/chunks/{424.js → 1388.js} +441 -1022
  224. package/.next/standalone/.next/server/chunks/1433.js +1 -1
  225. package/.next/standalone/.next/server/chunks/1638.js +1 -2
  226. package/.next/standalone/.next/server/chunks/1738.js +1 -1
  227. package/.next/standalone/.next/server/chunks/2068.js +47 -10
  228. package/.next/standalone/.next/server/chunks/210.js +3 -3
  229. package/.next/standalone/.next/server/chunks/2151.js +31 -1
  230. package/.next/standalone/.next/server/chunks/2207.js +1 -0
  231. package/.next/standalone/.next/server/chunks/2447.js +10 -5
  232. package/.next/standalone/.next/server/chunks/2471.js +45 -45
  233. package/.next/standalone/.next/server/chunks/2504.js +1 -1
  234. package/.next/standalone/.next/server/chunks/2695.js +17 -17
  235. package/.next/standalone/.next/server/chunks/3042.js +24 -16
  236. package/.next/standalone/.next/server/chunks/{4540.js → 309.js} +104 -38
  237. package/.next/standalone/.next/server/chunks/{2350.js → 3272.js} +104 -37
  238. package/.next/standalone/.next/server/chunks/3399.js +526 -526
  239. package/.next/standalone/.next/server/chunks/3524.js +150 -67
  240. package/.next/standalone/.next/server/chunks/3566.js +1 -1
  241. package/.next/standalone/.next/server/chunks/4189.js +946 -0
  242. package/.next/standalone/.next/server/chunks/4433.js +146 -146
  243. package/.next/standalone/.next/server/chunks/4508.js +3 -3
  244. package/.next/standalone/.next/server/chunks/4588.js +1 -0
  245. package/.next/standalone/.next/server/chunks/46.js +78 -28
  246. package/.next/standalone/.next/server/chunks/466.js +12 -0
  247. package/.next/standalone/.next/server/chunks/4868.js +206 -206
  248. package/.next/standalone/.next/server/chunks/4992.js +13 -0
  249. package/.next/standalone/.next/server/chunks/5120.js +963 -0
  250. package/.next/standalone/.next/server/chunks/5701.js +1 -1
  251. package/.next/standalone/.next/server/chunks/5900.js +1 -1
  252. package/.next/standalone/.next/server/chunks/5908.js +63 -42
  253. package/.next/standalone/.next/server/chunks/6142.js +10 -2
  254. package/.next/standalone/.next/server/chunks/6210.js +1 -0
  255. package/.next/standalone/.next/server/chunks/6213.js +1 -1
  256. package/.next/standalone/.next/server/chunks/6649.js +3 -3
  257. package/.next/standalone/.next/server/chunks/6703.js +3 -3
  258. package/.next/standalone/.next/server/chunks/7445.js +1 -0
  259. package/.next/standalone/.next/server/chunks/8067.js +12 -0
  260. package/.next/standalone/.next/server/chunks/8461.js +24 -17
  261. package/.next/standalone/.next/server/chunks/8558.js +1 -1
  262. package/.next/standalone/.next/server/chunks/8724.js +1 -1
  263. package/.next/standalone/.next/server/chunks/8849.js +91 -91
  264. package/.next/standalone/.next/server/chunks/9032.js +4 -3
  265. package/.next/standalone/.next/server/chunks/{2563.js → 9164.js} +33389 -31418
  266. package/.next/standalone/.next/server/chunks/9237.js +396 -396
  267. package/.next/standalone/.next/server/chunks/{9640.js → 9304.js} +1672 -575
  268. package/.next/standalone/.next/server/chunks/9406.js +1 -1
  269. package/.next/standalone/.next/server/chunks/9590.js +68 -18
  270. package/.next/standalone/.next/server/chunks/9824.js +98 -98
  271. package/.next/standalone/.next/server/chunks/9826.js +1 -0
  272. package/.next/standalone/.next/server/middleware-build-manifest.js +2 -2
  273. package/.next/standalone/.next/server/middleware.js +486 -415
  274. package/.next/standalone/.next/server/pages/404.html +2 -2
  275. package/.next/standalone/.next/server/pages/500.html +1 -1
  276. package/.next/standalone/.next/server/preview-props.json +3 -3
  277. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  278. package/.next/standalone/.next/static/chunks/{1395-a340fb0a345382a4.js → 1395-e4a99912b8f83044.js} +13 -1
  279. package/.next/standalone/.next/static/chunks/app/_global-error/{page-36cb8b428b38b26a.js → page-6fc5f8e744c81802.js} +1 -1
  280. package/.next/standalone/.next/static/chunks/app/api/v1/access/[identity]/{route-36cb8b428b38b26a.js → route-6fc5f8e744c81802.js} +1 -1
  281. package/.next/standalone/.next/static/chunks/app/api/v1/access/{route-36cb8b428b38b26a.js → route-6fc5f8e744c81802.js} +1 -1
  282. package/.next/standalone/.next/static/chunks/app/api/v1/agents/[id]/compact/{route-36cb8b428b38b26a.js → route-6fc5f8e744c81802.js} +1 -1
  283. package/.next/standalone/.next/static/chunks/app/api/v1/agents/[id]/display-filters/route-6fc5f8e744c81802.js +17 -0
  284. package/.next/standalone/.next/static/chunks/app/api/v1/agents/[id]/route-6fc5f8e744c81802.js +17 -0
  285. package/.next/standalone/.next/static/chunks/app/api/v1/agents/[id]/thread/route-6fc5f8e744c81802.js +17 -0
  286. package/.next/standalone/.next/static/chunks/app/api/v1/agents/route-6fc5f8e744c81802.js +17 -0
  287. package/.next/standalone/.next/static/chunks/app/api/v1/allowed-sites/[hostname]/route-6fc5f8e744c81802.js +17 -0
  288. package/.next/standalone/.next/static/chunks/app/api/v1/allowed-sites/route-6fc5f8e744c81802.js +17 -0
  289. package/.next/standalone/.next/static/chunks/app/api/v1/artifacts/lifecycle/route-6fc5f8e744c81802.js +17 -0
  290. package/.next/standalone/.next/static/chunks/app/api/v1/attachments/files/route-6fc5f8e744c81802.js +17 -0
  291. package/.next/standalone/.next/static/chunks/app/api/v1/attachments/images/route-6fc5f8e744c81802.js +17 -0
  292. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/chats/route-6fc5f8e744c81802.js +17 -0
  293. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/ignores/[remote_jid]/route-6fc5f8e744c81802.js +17 -0
  294. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/ignores/route-6fc5f8e744c81802.js +17 -0
  295. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/lookup/route-6fc5f8e744c81802.js +17 -0
  296. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/pair/route-6fc5f8e744c81802.js +17 -0
  297. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/route-6fc5f8e744c81802.js +17 -0
  298. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/routes/[route_id]/route-6fc5f8e744c81802.js +17 -0
  299. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/routes/route-6fc5f8e744c81802.js +17 -0
  300. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/status/route-6fc5f8e744c81802.js +17 -0
  301. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/kinds/route-6fc5f8e744c81802.js +17 -0
  302. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/route-6fc5f8e744c81802.js +17 -0
  303. package/.next/standalone/.next/static/chunks/app/api/v1/builtin-tools/route-6fc5f8e744c81802.js +17 -0
  304. package/.next/standalone/.next/static/chunks/app/api/v1/config/route-6fc5f8e744c81802.js +17 -0
  305. package/.next/standalone/.next/static/chunks/app/api/v1/credentials/[id]/route-6fc5f8e744c81802.js +17 -0
  306. package/.next/standalone/.next/static/chunks/app/api/v1/credentials/route-6fc5f8e744c81802.js +17 -0
  307. package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/currency/route-6fc5f8e744c81802.js +17 -0
  308. package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/metrics/route-6fc5f8e744c81802.js +17 -0
  309. package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/pricing/route-6fc5f8e744c81802.js +17 -0
  310. package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/pricing-task/route-6fc5f8e744c81802.js +17 -0
  311. package/.next/standalone/.next/static/chunks/app/api/v1/delegations/codex/[job_id]/route-6fc5f8e744c81802.js +17 -0
  312. package/.next/standalone/.next/static/chunks/app/api/v1/documents/search/route-6fc5f8e744c81802.js +17 -0
  313. package/.next/standalone/.next/static/chunks/app/api/v1/documents/settings/route-6fc5f8e744c81802.js +17 -0
  314. package/.next/standalone/.next/static/chunks/app/api/v1/documents/sources/[id]/reindex/route-6fc5f8e744c81802.js +17 -0
  315. package/.next/standalone/.next/static/chunks/app/api/v1/documents/sources/[id]/route-6fc5f8e744c81802.js +17 -0
  316. package/.next/standalone/.next/static/chunks/app/api/v1/documents/sources/route-6fc5f8e744c81802.js +17 -0
  317. package/.next/standalone/.next/static/chunks/app/api/v1/env/route-6fc5f8e744c81802.js +17 -0
  318. package/.next/standalone/.next/static/chunks/app/api/v1/env-sync/allowlist/route-6fc5f8e744c81802.js +17 -0
  319. package/.next/standalone/.next/static/chunks/app/api/v1/env-sync/route-6fc5f8e744c81802.js +17 -0
  320. package/.next/standalone/.next/static/chunks/app/api/v1/events/route-6fc5f8e744c81802.js +17 -0
  321. package/.next/standalone/.next/static/chunks/app/api/v1/events/test/route-6fc5f8e744c81802.js +17 -0
  322. package/.next/standalone/.next/static/chunks/app/api/v1/extension/agents/route-6fc5f8e744c81802.js +17 -0
  323. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/activate/route-6fc5f8e744c81802.js +17 -0
  324. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/foreground/route-6fc5f8e744c81802.js +17 -0
  325. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/history/route-6fc5f8e744c81802.js +17 -0
  326. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/poll/route-6fc5f8e744c81802.js +17 -0
  327. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/progress/route-6fc5f8e744c81802.js +17 -0
  328. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/result/route-6fc5f8e744c81802.js +17 -0
  329. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/retry/route-6fc5f8e744c81802.js +17 -0
  330. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/status/route-6fc5f8e744c81802.js +17 -0
  331. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/tabs/route-6fc5f8e744c81802.js +17 -0
  332. package/.next/standalone/.next/static/chunks/app/api/v1/extension/fill/route-6fc5f8e744c81802.js +17 -0
  333. package/.next/standalone/.next/static/chunks/app/api/v1/extension/refine/route-6fc5f8e744c81802.js +17 -0
  334. package/.next/standalone/.next/static/chunks/app/api/v1/extension/turn/route-6fc5f8e744c81802.js +17 -0
  335. package/.next/standalone/.next/static/chunks/app/api/v1/extensions/route-6fc5f8e744c81802.js +17 -0
  336. package/.next/standalone/.next/static/chunks/app/api/v1/extensions/tools/[name]/config/route-6fc5f8e744c81802.js +17 -0
  337. package/.next/standalone/.next/static/chunks/app/api/v1/extensions/tools/[name]/route-6fc5f8e744c81802.js +17 -0
  338. package/.next/standalone/.next/static/chunks/app/api/v1/extensions/tools/[name]/secrets/route-6fc5f8e744c81802.js +17 -0
  339. package/.next/standalone/.next/static/chunks/app/api/v1/files/[name]/route-6fc5f8e744c81802.js +17 -0
  340. package/.next/standalone/.next/static/chunks/app/api/v1/fs/browse/route-6fc5f8e744c81802.js +17 -0
  341. package/.next/standalone/.next/static/chunks/app/api/v1/harnesses/[id]/route-6fc5f8e744c81802.js +17 -0
  342. package/.next/standalone/.next/static/chunks/app/api/v1/harnesses/default/route-6fc5f8e744c81802.js +17 -0
  343. package/.next/standalone/.next/static/chunks/app/api/v1/harnesses/route-6fc5f8e744c81802.js +17 -0
  344. package/.next/standalone/.next/static/chunks/app/api/v1/health/probes/route-6fc5f8e744c81802.js +17 -0
  345. package/.next/standalone/.next/static/chunks/app/api/v1/health/route-6fc5f8e744c81802.js +17 -0
  346. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/[name]/route-6fc5f8e744c81802.js +17 -0
  347. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/[name]/test/route-6fc5f8e744c81802.js +17 -0
  348. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/gmail/oauth/callback/route-6fc5f8e744c81802.js +17 -0
  349. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/gmail/oauth/start/route-6fc5f8e744c81802.js +17 -0
  350. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/gmail/oauth/status/route-6fc5f8e744c81802.js +17 -0
  351. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/outlook/oauth/callback/route-6fc5f8e744c81802.js +17 -0
  352. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/outlook/oauth/start/route-6fc5f8e744c81802.js +17 -0
  353. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/outlook/oauth/status/route-6fc5f8e744c81802.js +17 -0
  354. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/route-6fc5f8e744c81802.js +17 -0
  355. package/.next/standalone/.next/static/chunks/app/api/v1/lifecycle/adoption/route-6fc5f8e744c81802.js +17 -0
  356. package/.next/standalone/.next/static/chunks/app/api/v1/local-file/route-6fc5f8e744c81802.js +17 -0
  357. package/.next/standalone/.next/static/chunks/app/api/v1/logs/route-6fc5f8e744c81802.js +17 -0
  358. package/.next/standalone/.next/static/chunks/app/api/v1/maps/embed/route-6fc5f8e744c81802.js +17 -0
  359. package/.next/standalone/.next/static/chunks/app/api/v1/mcp-servers/[name]/route-6fc5f8e744c81802.js +17 -0
  360. package/.next/standalone/.next/static/chunks/app/api/v1/mcp-servers/registry/route-6fc5f8e744c81802.js +17 -0
  361. package/.next/standalone/.next/static/chunks/app/api/v1/mcp-servers/route-6fc5f8e744c81802.js +17 -0
  362. package/.next/standalone/.next/static/chunks/app/api/v1/memory/[namespace]/[key]/route-6fc5f8e744c81802.js +17 -0
  363. package/.next/standalone/.next/static/chunks/app/api/v1/memory/policy/route-6fc5f8e744c81802.js +17 -0
  364. package/.next/standalone/.next/static/chunks/app/api/v1/memory/route-6fc5f8e744c81802.js +17 -0
  365. package/.next/standalone/.next/static/chunks/app/api/v1/memory/search/route-6fc5f8e744c81802.js +17 -0
  366. package/.next/standalone/.next/static/chunks/app/api/v1/models/[name]/compact-threads/route-6fc5f8e744c81802.js +17 -0
  367. package/.next/standalone/.next/static/chunks/app/api/v1/models/[name]/route-6fc5f8e744c81802.js +17 -0
  368. package/.next/standalone/.next/static/chunks/app/api/v1/models/route-6fc5f8e744c81802.js +17 -0
  369. package/.next/standalone/.next/static/chunks/app/api/v1/packages/catalog/route-6fc5f8e744c81802.js +17 -0
  370. package/.next/standalone/.next/static/chunks/app/api/v1/packages/defaults/[id]/route-6fc5f8e744c81802.js +17 -0
  371. package/.next/standalone/.next/static/chunks/app/api/v1/packages/install/[id]/route-6fc5f8e744c81802.js +17 -0
  372. package/.next/standalone/.next/static/chunks/app/api/v1/packages/install/route-6fc5f8e744c81802.js +17 -0
  373. package/.next/standalone/.next/static/chunks/app/api/v1/packages/manifests/[name]/enabled/route-6fc5f8e744c81802.js +17 -0
  374. package/.next/standalone/.next/static/chunks/app/api/v1/packages/manifests/[name]/route-6fc5f8e744c81802.js +17 -0
  375. package/.next/standalone/.next/static/chunks/app/api/v1/packages/manifests/route-6fc5f8e744c81802.js +17 -0
  376. package/.next/standalone/.next/static/chunks/app/api/v1/packages/reload/route-6fc5f8e744c81802.js +17 -0
  377. package/.next/standalone/.next/static/chunks/app/api/v1/packages/route-6fc5f8e744c81802.js +17 -0
  378. package/.next/standalone/.next/static/chunks/app/api/v1/page-capture/route-6fc5f8e744c81802.js +17 -0
  379. package/.next/standalone/.next/static/chunks/app/api/v1/pending-actions/[id]/approve/route-6fc5f8e744c81802.js +17 -0
  380. package/.next/standalone/.next/static/chunks/app/api/v1/pending-actions/[id]/deny/route-6fc5f8e744c81802.js +17 -0
  381. package/.next/standalone/.next/static/chunks/app/api/v1/pending-actions/route-6fc5f8e744c81802.js +17 -0
  382. package/.next/standalone/.next/static/chunks/app/api/v1/profile/location/route-6fc5f8e744c81802.js +17 -0
  383. package/.next/standalone/.next/static/chunks/app/api/v1/profile/route-6fc5f8e744c81802.js +17 -0
  384. package/.next/standalone/.next/static/chunks/app/api/v1/providers/[provider]/models/route-6fc5f8e744c81802.js +17 -0
  385. package/.next/standalone/.next/static/chunks/app/api/v1/providers/[provider]/probe/route-6fc5f8e744c81802.js +17 -0
  386. package/.next/standalone/.next/static/chunks/app/api/v1/providers/github-copilot/auth/route-6fc5f8e744c81802.js +17 -0
  387. package/.next/standalone/.next/static/chunks/app/api/v1/providers/route-6fc5f8e744c81802.js +17 -0
  388. package/.next/standalone/.next/static/chunks/app/api/v1/proxy-config/route-6fc5f8e744c81802.js +17 -0
  389. package/.next/standalone/.next/static/chunks/app/api/v1/redaction/init/route-6fc5f8e744c81802.js +17 -0
  390. package/.next/standalone/.next/static/chunks/app/api/v1/redaction/route-6fc5f8e744c81802.js +17 -0
  391. package/.next/standalone/.next/static/chunks/app/api/v1/scheduled-tasks/[id]/route-6fc5f8e744c81802.js +17 -0
  392. package/.next/standalone/.next/static/chunks/app/api/v1/scheduled-tasks/[id]/run/route-6fc5f8e744c81802.js +17 -0
  393. package/.next/standalone/.next/static/chunks/app/api/v1/scheduled-tasks/route-6fc5f8e744c81802.js +17 -0
  394. package/.next/standalone/.next/static/chunks/app/api/v1/security/idle-timeout/route-6fc5f8e744c81802.js +17 -0
  395. package/.next/standalone/.next/static/chunks/app/api/v1/security/pin/route-6fc5f8e744c81802.js +17 -0
  396. package/.next/standalone/.next/static/chunks/app/api/v1/security/state/route-6fc5f8e744c81802.js +17 -0
  397. package/.next/standalone/.next/static/chunks/app/api/v1/security/unlock/route-6fc5f8e744c81802.js +17 -0
  398. package/.next/standalone/.next/static/chunks/app/api/v1/security/verify-pin/route-6fc5f8e744c81802.js +17 -0
  399. package/.next/standalone/.next/static/chunks/app/api/v1/setup/test-key/route-6fc5f8e744c81802.js +17 -0
  400. package/.next/standalone/.next/static/chunks/app/api/v1/skills/[id]/route-6fc5f8e744c81802.js +17 -0
  401. package/.next/standalone/.next/static/chunks/app/api/v1/skills/repos/[id]/route-6fc5f8e744c81802.js +17 -0
  402. package/.next/standalone/.next/static/chunks/app/api/v1/skills/repos/route-6fc5f8e744c81802.js +17 -0
  403. package/.next/standalone/.next/static/chunks/app/api/v1/skills/route-6fc5f8e744c81802.js +17 -0
  404. package/.next/standalone/.next/static/chunks/app/api/v1/system/abort/route-6fc5f8e744c81802.js +17 -0
  405. package/.next/standalone/.next/static/chunks/app/api/v1/system/restart/route-6fc5f8e744c81802.js +17 -0
  406. package/.next/standalone/.next/static/chunks/app/api/v1/tailscale/route-6fc5f8e744c81802.js +17 -0
  407. package/.next/standalone/.next/static/chunks/app/api/v1/tasks/[agent_id]/route-6fc5f8e744c81802.js +17 -0
  408. package/.next/standalone/.next/static/chunks/app/api/v1/tasks/route-6fc5f8e744c81802.js +17 -0
  409. package/.next/standalone/.next/static/chunks/app/api/v1/threads/[thread_id]/activity/route-6fc5f8e744c81802.js +17 -0
  410. package/.next/standalone/.next/static/chunks/app/api/v1/threads/[thread_id]/context-pin/route-6fc5f8e744c81802.js +17 -0
  411. package/.next/standalone/.next/static/chunks/app/api/v1/threads/[thread_id]/route-6fc5f8e744c81802.js +17 -0
  412. package/.next/standalone/.next/static/chunks/app/api/v1/threads/[thread_id]/run/route-6fc5f8e744c81802.js +17 -0
  413. package/.next/standalone/.next/static/chunks/app/api/v1/threads/route-6fc5f8e744c81802.js +17 -0
  414. package/.next/standalone/.next/static/chunks/app/api/v1/tools/route-6fc5f8e744c81802.js +17 -0
  415. package/.next/standalone/.next/static/chunks/app/api/v1/update/apply/route-6fc5f8e744c81802.js +17 -0
  416. package/.next/standalone/.next/static/chunks/app/api/v1/update/route-6fc5f8e744c81802.js +17 -0
  417. package/.next/standalone/.next/static/chunks/app/api/v1/voice/transcribe/route-6fc5f8e744c81802.js +17 -0
  418. package/.next/standalone/.next/static/chunks/app/api/v1/voice/tts/route-6fc5f8e744c81802.js +17 -0
  419. package/.next/standalone/.next/static/chunks/app/api/v1/watchers/[id]/route-6fc5f8e744c81802.js +17 -0
  420. package/.next/standalone/.next/static/chunks/app/api/v1/watchers/[id]/run/route-6fc5f8e744c81802.js +17 -0
  421. package/.next/standalone/.next/static/chunks/app/api/v1/watchers/reaction-scripts/route-6fc5f8e744c81802.js +17 -0
  422. package/.next/standalone/.next/static/chunks/app/api/v1/watchers/route-6fc5f8e744c81802.js +17 -0
  423. package/.next/standalone/.next/static/chunks/app/manifest.webmanifest/route-6fc5f8e744c81802.js +17 -0
  424. package/.next/standalone/.next/static/chunks/app/{page-7017f07f8a7a083c.js → page-04748847c6ff866f.js} +1013 -585
  425. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-6fc5f8e744c81802.js +17 -0
  426. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-6fc5f8e744c81802.js +17 -0
  427. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-6fc5f8e744c81802.js +17 -0
  428. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-6fc5f8e744c81802.js +17 -0
  429. package/.next/standalone/.next/static/css/{d80058f0b9b41c09.css → 2669e8744cc8c212.css} +2 -2
  430. package/.next/standalone/docs/adoption/changesets.json +358 -0
  431. package/.next/standalone/lib/skills/builtins/memory-organization/SKILL.md +16 -0
  432. package/.next/standalone/package.json +3 -3
  433. package/CHANGELOG.md +44 -0
  434. package/api/client.ts +9 -0
  435. package/api/types.ts +29 -0
  436. package/app/api/v1/lifecycle/adoption/route.ts +14 -2
  437. package/app/api/v1/models/[name]/compact-threads/route.ts +14 -11
  438. package/app/api/v1/threads/[thread_id]/activity/route.ts +19 -0
  439. package/app/api/v1/threads/[thread_id]/context-pin/route.test.ts +1 -0
  440. package/app/api/v1/threads/[thread_id]/context-pin/route.ts +2 -1
  441. package/app/api/v1/threads/[thread_id]/route.ts +5 -1
  442. package/app/api/v1/threads/[thread_id]/run/route.ts +0 -1
  443. package/components/chat/ChatView.tsx +52 -11
  444. package/components/chat/ContextBoundary.test.tsx +68 -1
  445. package/components/chat/ContextBoundary.tsx +92 -13
  446. package/components/chat/MessageBubble.tsx +12 -0
  447. package/components/chat/MessageList.test.tsx +31 -0
  448. package/components/chat/MessageList.tsx +49 -28
  449. package/components/chat/ToolList.test.tsx +92 -16
  450. package/components/chat/ToolList.tsx +59 -4
  451. package/components/chat/chat-helpers.test.tsx +24 -1
  452. package/components/chat/chat-helpers.ts +47 -4
  453. package/components/chat/useThreadActivity.test.tsx +113 -0
  454. package/components/chat/useThreadActivity.ts +94 -0
  455. package/components/chat/useThreadData.ts +16 -16
  456. package/components/chat/workflow-step-retry.ts +25 -0
  457. package/components/integrations/NetworkSection.tsx +2 -2
  458. package/components/ui/BootScreen.tsx +17 -0
  459. package/components/ui/WorkflowChecklist.tsx +71 -33
  460. package/hooks/useSSE.ts +28 -3
  461. package/lib/agents/citation-checker.test.ts +40 -2
  462. package/lib/agents/citation-checker.ts +56 -11
  463. package/lib/agents/compaction-pipeline.test.ts +202 -0
  464. package/lib/agents/compaction-pipeline.ts +483 -0
  465. package/lib/agents/context-boundary.ts +5 -6
  466. package/lib/agents/conversation-summary.ts +37 -21
  467. package/lib/agents/instruction-edits.test.ts +120 -0
  468. package/lib/agents/instruction-edits.ts +65 -42
  469. package/lib/agents/prepare/history-window.test.ts +18 -0
  470. package/lib/agents/prepare/history-window.ts +11 -2
  471. package/lib/agents/prepare/request.ts +4 -2
  472. package/lib/agents/prepare/system-prompt.test.ts +49 -0
  473. package/lib/agents/prepare/system-prompt.ts +16 -5
  474. package/lib/agents/prompt-registry.test.ts +5 -140
  475. package/lib/agents/prompt-registry.ts +45 -1
  476. package/lib/agents/prompt-variants.ts +146 -0
  477. package/lib/agents/proposals.test.ts +76 -0
  478. package/lib/agents/proposals.ts +13 -5
  479. package/lib/agents/run-registry.test.ts +22 -0
  480. package/lib/agents/run-registry.ts +29 -0
  481. package/lib/agents/run-thread.auto-boundary.test.ts +125 -5
  482. package/lib/agents/run-thread.retry.test.ts +67 -1
  483. package/lib/agents/run-thread.ts +110 -10
  484. package/lib/agents/sqlite-checkpoint-saver.test.ts +91 -0
  485. package/lib/agents/thread-activity.test.ts +31 -0
  486. package/lib/agents/thread-activity.ts +27 -0
  487. package/lib/agents/thread-compaction-state.test.ts +82 -0
  488. package/lib/agents/thread-compaction-state.ts +121 -0
  489. package/lib/agents/thread-compaction.test.ts +83 -4
  490. package/lib/agents/thread-compaction.ts +34 -11
  491. package/lib/agents/warm-summary-background.test.ts +219 -5
  492. package/lib/agents/warm-summary-background.ts +346 -143
  493. package/lib/agents/warm-topics.test.ts +191 -0
  494. package/lib/agents/warm-topics.ts +317 -0
  495. package/lib/agents/workflow-step-retry.test.ts +96 -0
  496. package/lib/agents/workflow-step-retry.ts +216 -0
  497. package/lib/api/browser-control.ts +0 -3
  498. package/lib/bridges/dispatcher.ts +1 -0
  499. package/lib/bridges/message-role.test.ts +81 -0
  500. package/lib/bridges/message-role.ts +23 -10
  501. package/lib/bridges/types.ts +6 -0
  502. package/lib/bridges/whatsapp-link.test.ts +32 -0
  503. package/lib/bridges/whatsapp-link.ts +21 -0
  504. package/lib/bridges/whatsapp.inbound.test.ts +239 -0
  505. package/lib/bridges/whatsapp.sender.test.ts +80 -1
  506. package/lib/bridges/whatsapp.ts +76 -38
  507. package/lib/db/migrations.ts +5 -0
  508. package/lib/env/config.ts +2 -0
  509. package/lib/env/schema.ts +12 -0
  510. package/lib/lifecycle/changeset-build.test.ts +93 -0
  511. package/lib/lifecycle/changeset-build.ts +210 -0
  512. package/lib/lifecycle/changesets.test.ts +101 -0
  513. package/lib/lifecycle/changesets.ts +166 -0
  514. package/lib/lifecycle/surface-collect.test.ts +88 -0
  515. package/lib/lifecycle/surface-collect.ts +64 -0
  516. package/lib/lifecycle/surface-snapshot.test.ts +104 -0
  517. package/lib/lifecycle/surface-snapshot.ts +210 -0
  518. package/lib/memory/record.ts +0 -2
  519. package/lib/pricing/snapshot.test.ts +70 -0
  520. package/lib/pricing/snapshot.ts +10 -2
  521. package/lib/providers/external.ts +0 -2
  522. package/lib/proxy/dispatcher.test.ts +119 -1
  523. package/lib/proxy/dispatcher.ts +22 -9
  524. package/lib/skills/builtins/memory-organization/SKILL.md +16 -0
  525. package/lib/stores/agent-configs.ts +10 -5
  526. package/lib/stores/bridges.test.ts +81 -0
  527. package/lib/stores/bridges.ts +9 -8
  528. package/lib/stores/proxy-config.test.ts +120 -0
  529. package/lib/stores/proxy-config.ts +22 -4
  530. package/lib/stores/threads.test.ts +9 -0
  531. package/lib/stores/threads.ts +33 -19
  532. package/lib/stores/version-adoption.test.ts +96 -0
  533. package/lib/stores/version-adoption.ts +239 -26
  534. package/lib/stores/workflow-progress.ts +3 -0
  535. package/lib/tools/communications/calendar.test.ts +43 -2
  536. package/lib/tools/communications/calendar.ts +2 -0
  537. package/lib/tools/communications/gmail.test.ts +51 -1
  538. package/lib/tools/communications/gmail.ts +44 -2
  539. package/lib/tools/communications/ms-todo.ts +0 -7
  540. package/lib/tools/communications/outlook-calendar.ts +2 -0
  541. package/lib/tools/communications/outlook.test.ts +33 -2
  542. package/lib/tools/communications/outlook.ts +2 -0
  543. package/lib/tools/filesystem/edit-match.test.ts +133 -0
  544. package/lib/tools/filesystem/edit-match.ts +7 -2
  545. package/lib/tools/general/memory.ts +1 -1
  546. package/lib/tools/general/workflow-progress.ts +2 -0
  547. package/lib/tools/runtime/catalog.ts +1 -25
  548. package/lib/tools/support/result-refs.test.ts +131 -0
  549. package/lib/tools/support/result-refs.ts +41 -9
  550. package/lib/triggers/registry.ts +0 -4
  551. package/lib/utils/source-link.test.ts +51 -0
  552. package/lib/utils/source-link.ts +45 -0
  553. package/package.json +3 -3
  554. package/scripts/install-to-system.ps1 +39 -11
  555. package/scripts/install-to-system.sh +37 -3
  556. package/.next/standalone/.next/server/chunks/3979.js +0 -581
  557. package/.next/standalone/.next/server/chunks/5936.js +0 -594
  558. package/.next/standalone/.next/static/chunks/app/api/v1/agents/[id]/display-filters/route-36cb8b428b38b26a.js +0 -17
  559. package/.next/standalone/.next/static/chunks/app/api/v1/agents/[id]/route-36cb8b428b38b26a.js +0 -17
  560. package/.next/standalone/.next/static/chunks/app/api/v1/agents/[id]/thread/route-36cb8b428b38b26a.js +0 -17
  561. package/.next/standalone/.next/static/chunks/app/api/v1/agents/route-36cb8b428b38b26a.js +0 -17
  562. package/.next/standalone/.next/static/chunks/app/api/v1/allowed-sites/[hostname]/route-36cb8b428b38b26a.js +0 -17
  563. package/.next/standalone/.next/static/chunks/app/api/v1/allowed-sites/route-36cb8b428b38b26a.js +0 -17
  564. package/.next/standalone/.next/static/chunks/app/api/v1/artifacts/lifecycle/route-36cb8b428b38b26a.js +0 -17
  565. package/.next/standalone/.next/static/chunks/app/api/v1/attachments/files/route-36cb8b428b38b26a.js +0 -17
  566. package/.next/standalone/.next/static/chunks/app/api/v1/attachments/images/route-36cb8b428b38b26a.js +0 -17
  567. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/chats/route-36cb8b428b38b26a.js +0 -17
  568. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/ignores/[remote_jid]/route-36cb8b428b38b26a.js +0 -17
  569. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/ignores/route-36cb8b428b38b26a.js +0 -17
  570. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/lookup/route-36cb8b428b38b26a.js +0 -17
  571. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/pair/route-36cb8b428b38b26a.js +0 -17
  572. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/route-36cb8b428b38b26a.js +0 -17
  573. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/routes/[route_id]/route-36cb8b428b38b26a.js +0 -17
  574. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/routes/route-36cb8b428b38b26a.js +0 -17
  575. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/[id]/status/route-36cb8b428b38b26a.js +0 -17
  576. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/kinds/route-36cb8b428b38b26a.js +0 -17
  577. package/.next/standalone/.next/static/chunks/app/api/v1/bridges/route-36cb8b428b38b26a.js +0 -17
  578. package/.next/standalone/.next/static/chunks/app/api/v1/builtin-tools/route-36cb8b428b38b26a.js +0 -17
  579. package/.next/standalone/.next/static/chunks/app/api/v1/config/route-36cb8b428b38b26a.js +0 -17
  580. package/.next/standalone/.next/static/chunks/app/api/v1/credentials/[id]/route-36cb8b428b38b26a.js +0 -17
  581. package/.next/standalone/.next/static/chunks/app/api/v1/credentials/route-36cb8b428b38b26a.js +0 -17
  582. package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/currency/route-36cb8b428b38b26a.js +0 -17
  583. package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/metrics/route-36cb8b428b38b26a.js +0 -17
  584. package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/pricing/route-36cb8b428b38b26a.js +0 -17
  585. package/.next/standalone/.next/static/chunks/app/api/v1/dashboard/pricing-task/route-36cb8b428b38b26a.js +0 -17
  586. package/.next/standalone/.next/static/chunks/app/api/v1/delegations/codex/[job_id]/route-36cb8b428b38b26a.js +0 -17
  587. package/.next/standalone/.next/static/chunks/app/api/v1/documents/search/route-36cb8b428b38b26a.js +0 -17
  588. package/.next/standalone/.next/static/chunks/app/api/v1/documents/settings/route-36cb8b428b38b26a.js +0 -17
  589. package/.next/standalone/.next/static/chunks/app/api/v1/documents/sources/[id]/reindex/route-36cb8b428b38b26a.js +0 -17
  590. package/.next/standalone/.next/static/chunks/app/api/v1/documents/sources/[id]/route-36cb8b428b38b26a.js +0 -17
  591. package/.next/standalone/.next/static/chunks/app/api/v1/documents/sources/route-36cb8b428b38b26a.js +0 -17
  592. package/.next/standalone/.next/static/chunks/app/api/v1/env/route-36cb8b428b38b26a.js +0 -17
  593. package/.next/standalone/.next/static/chunks/app/api/v1/env-sync/allowlist/route-36cb8b428b38b26a.js +0 -17
  594. package/.next/standalone/.next/static/chunks/app/api/v1/env-sync/route-36cb8b428b38b26a.js +0 -17
  595. package/.next/standalone/.next/static/chunks/app/api/v1/events/route-36cb8b428b38b26a.js +0 -17
  596. package/.next/standalone/.next/static/chunks/app/api/v1/events/test/route-36cb8b428b38b26a.js +0 -17
  597. package/.next/standalone/.next/static/chunks/app/api/v1/extension/agents/route-36cb8b428b38b26a.js +0 -17
  598. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/activate/route-36cb8b428b38b26a.js +0 -17
  599. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/foreground/route-36cb8b428b38b26a.js +0 -17
  600. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/history/route-36cb8b428b38b26a.js +0 -17
  601. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/poll/route-36cb8b428b38b26a.js +0 -17
  602. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/progress/route-36cb8b428b38b26a.js +0 -17
  603. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/result/route-36cb8b428b38b26a.js +0 -17
  604. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/retry/route-36cb8b428b38b26a.js +0 -17
  605. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/status/route-36cb8b428b38b26a.js +0 -17
  606. package/.next/standalone/.next/static/chunks/app/api/v1/extension/browser/tabs/route-36cb8b428b38b26a.js +0 -17
  607. package/.next/standalone/.next/static/chunks/app/api/v1/extension/fill/route-36cb8b428b38b26a.js +0 -17
  608. package/.next/standalone/.next/static/chunks/app/api/v1/extension/refine/route-36cb8b428b38b26a.js +0 -17
  609. package/.next/standalone/.next/static/chunks/app/api/v1/extension/turn/route-36cb8b428b38b26a.js +0 -17
  610. package/.next/standalone/.next/static/chunks/app/api/v1/extensions/route-36cb8b428b38b26a.js +0 -17
  611. package/.next/standalone/.next/static/chunks/app/api/v1/extensions/tools/[name]/config/route-36cb8b428b38b26a.js +0 -17
  612. package/.next/standalone/.next/static/chunks/app/api/v1/extensions/tools/[name]/route-36cb8b428b38b26a.js +0 -17
  613. package/.next/standalone/.next/static/chunks/app/api/v1/extensions/tools/[name]/secrets/route-36cb8b428b38b26a.js +0 -17
  614. package/.next/standalone/.next/static/chunks/app/api/v1/files/[name]/route-36cb8b428b38b26a.js +0 -17
  615. package/.next/standalone/.next/static/chunks/app/api/v1/fs/browse/route-36cb8b428b38b26a.js +0 -17
  616. package/.next/standalone/.next/static/chunks/app/api/v1/harnesses/[id]/route-36cb8b428b38b26a.js +0 -17
  617. package/.next/standalone/.next/static/chunks/app/api/v1/harnesses/default/route-36cb8b428b38b26a.js +0 -17
  618. package/.next/standalone/.next/static/chunks/app/api/v1/harnesses/route-36cb8b428b38b26a.js +0 -17
  619. package/.next/standalone/.next/static/chunks/app/api/v1/health/probes/route-36cb8b428b38b26a.js +0 -17
  620. package/.next/standalone/.next/static/chunks/app/api/v1/health/route-36cb8b428b38b26a.js +0 -17
  621. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/[name]/route-36cb8b428b38b26a.js +0 -17
  622. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/[name]/test/route-36cb8b428b38b26a.js +0 -17
  623. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/gmail/oauth/callback/route-36cb8b428b38b26a.js +0 -17
  624. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/gmail/oauth/start/route-36cb8b428b38b26a.js +0 -17
  625. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/gmail/oauth/status/route-36cb8b428b38b26a.js +0 -17
  626. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/outlook/oauth/callback/route-36cb8b428b38b26a.js +0 -17
  627. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/outlook/oauth/start/route-36cb8b428b38b26a.js +0 -17
  628. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/outlook/oauth/status/route-36cb8b428b38b26a.js +0 -17
  629. package/.next/standalone/.next/static/chunks/app/api/v1/integrations/route-36cb8b428b38b26a.js +0 -17
  630. package/.next/standalone/.next/static/chunks/app/api/v1/lifecycle/adoption/route-36cb8b428b38b26a.js +0 -17
  631. package/.next/standalone/.next/static/chunks/app/api/v1/local-file/route-36cb8b428b38b26a.js +0 -17
  632. package/.next/standalone/.next/static/chunks/app/api/v1/logs/route-36cb8b428b38b26a.js +0 -17
  633. package/.next/standalone/.next/static/chunks/app/api/v1/maps/embed/route-36cb8b428b38b26a.js +0 -17
  634. package/.next/standalone/.next/static/chunks/app/api/v1/mcp-servers/[name]/route-36cb8b428b38b26a.js +0 -17
  635. package/.next/standalone/.next/static/chunks/app/api/v1/mcp-servers/registry/route-36cb8b428b38b26a.js +0 -17
  636. package/.next/standalone/.next/static/chunks/app/api/v1/mcp-servers/route-36cb8b428b38b26a.js +0 -17
  637. package/.next/standalone/.next/static/chunks/app/api/v1/memory/[namespace]/[key]/route-36cb8b428b38b26a.js +0 -17
  638. package/.next/standalone/.next/static/chunks/app/api/v1/memory/policy/route-36cb8b428b38b26a.js +0 -17
  639. package/.next/standalone/.next/static/chunks/app/api/v1/memory/route-36cb8b428b38b26a.js +0 -17
  640. package/.next/standalone/.next/static/chunks/app/api/v1/memory/search/route-36cb8b428b38b26a.js +0 -17
  641. package/.next/standalone/.next/static/chunks/app/api/v1/models/[name]/compact-threads/route-36cb8b428b38b26a.js +0 -17
  642. package/.next/standalone/.next/static/chunks/app/api/v1/models/[name]/route-36cb8b428b38b26a.js +0 -17
  643. package/.next/standalone/.next/static/chunks/app/api/v1/models/route-36cb8b428b38b26a.js +0 -17
  644. package/.next/standalone/.next/static/chunks/app/api/v1/packages/catalog/route-36cb8b428b38b26a.js +0 -17
  645. package/.next/standalone/.next/static/chunks/app/api/v1/packages/defaults/[id]/route-36cb8b428b38b26a.js +0 -17
  646. package/.next/standalone/.next/static/chunks/app/api/v1/packages/install/[id]/route-36cb8b428b38b26a.js +0 -17
  647. package/.next/standalone/.next/static/chunks/app/api/v1/packages/install/route-36cb8b428b38b26a.js +0 -17
  648. package/.next/standalone/.next/static/chunks/app/api/v1/packages/manifests/[name]/enabled/route-36cb8b428b38b26a.js +0 -17
  649. package/.next/standalone/.next/static/chunks/app/api/v1/packages/manifests/[name]/route-36cb8b428b38b26a.js +0 -17
  650. package/.next/standalone/.next/static/chunks/app/api/v1/packages/manifests/route-36cb8b428b38b26a.js +0 -17
  651. package/.next/standalone/.next/static/chunks/app/api/v1/packages/reload/route-36cb8b428b38b26a.js +0 -17
  652. package/.next/standalone/.next/static/chunks/app/api/v1/packages/route-36cb8b428b38b26a.js +0 -17
  653. package/.next/standalone/.next/static/chunks/app/api/v1/page-capture/route-36cb8b428b38b26a.js +0 -17
  654. package/.next/standalone/.next/static/chunks/app/api/v1/pending-actions/[id]/approve/route-36cb8b428b38b26a.js +0 -17
  655. package/.next/standalone/.next/static/chunks/app/api/v1/pending-actions/[id]/deny/route-36cb8b428b38b26a.js +0 -17
  656. package/.next/standalone/.next/static/chunks/app/api/v1/pending-actions/route-36cb8b428b38b26a.js +0 -17
  657. package/.next/standalone/.next/static/chunks/app/api/v1/profile/location/route-36cb8b428b38b26a.js +0 -17
  658. package/.next/standalone/.next/static/chunks/app/api/v1/profile/route-36cb8b428b38b26a.js +0 -17
  659. package/.next/standalone/.next/static/chunks/app/api/v1/providers/[provider]/models/route-36cb8b428b38b26a.js +0 -17
  660. package/.next/standalone/.next/static/chunks/app/api/v1/providers/[provider]/probe/route-36cb8b428b38b26a.js +0 -17
  661. package/.next/standalone/.next/static/chunks/app/api/v1/providers/github-copilot/auth/route-36cb8b428b38b26a.js +0 -17
  662. package/.next/standalone/.next/static/chunks/app/api/v1/providers/route-36cb8b428b38b26a.js +0 -17
  663. package/.next/standalone/.next/static/chunks/app/api/v1/proxy-config/route-36cb8b428b38b26a.js +0 -17
  664. package/.next/standalone/.next/static/chunks/app/api/v1/redaction/init/route-36cb8b428b38b26a.js +0 -17
  665. package/.next/standalone/.next/static/chunks/app/api/v1/redaction/route-36cb8b428b38b26a.js +0 -17
  666. package/.next/standalone/.next/static/chunks/app/api/v1/scheduled-tasks/[id]/route-36cb8b428b38b26a.js +0 -17
  667. package/.next/standalone/.next/static/chunks/app/api/v1/scheduled-tasks/[id]/run/route-36cb8b428b38b26a.js +0 -17
  668. package/.next/standalone/.next/static/chunks/app/api/v1/scheduled-tasks/route-36cb8b428b38b26a.js +0 -17
  669. package/.next/standalone/.next/static/chunks/app/api/v1/security/idle-timeout/route-36cb8b428b38b26a.js +0 -17
  670. package/.next/standalone/.next/static/chunks/app/api/v1/security/pin/route-36cb8b428b38b26a.js +0 -17
  671. package/.next/standalone/.next/static/chunks/app/api/v1/security/state/route-36cb8b428b38b26a.js +0 -17
  672. package/.next/standalone/.next/static/chunks/app/api/v1/security/unlock/route-36cb8b428b38b26a.js +0 -17
  673. package/.next/standalone/.next/static/chunks/app/api/v1/security/verify-pin/route-36cb8b428b38b26a.js +0 -17
  674. package/.next/standalone/.next/static/chunks/app/api/v1/setup/test-key/route-36cb8b428b38b26a.js +0 -17
  675. package/.next/standalone/.next/static/chunks/app/api/v1/skills/[id]/route-36cb8b428b38b26a.js +0 -17
  676. package/.next/standalone/.next/static/chunks/app/api/v1/skills/repos/[id]/route-36cb8b428b38b26a.js +0 -17
  677. package/.next/standalone/.next/static/chunks/app/api/v1/skills/repos/route-36cb8b428b38b26a.js +0 -17
  678. package/.next/standalone/.next/static/chunks/app/api/v1/skills/route-36cb8b428b38b26a.js +0 -17
  679. package/.next/standalone/.next/static/chunks/app/api/v1/system/abort/route-36cb8b428b38b26a.js +0 -17
  680. package/.next/standalone/.next/static/chunks/app/api/v1/system/restart/route-36cb8b428b38b26a.js +0 -17
  681. package/.next/standalone/.next/static/chunks/app/api/v1/tailscale/route-36cb8b428b38b26a.js +0 -17
  682. package/.next/standalone/.next/static/chunks/app/api/v1/tasks/[agent_id]/route-36cb8b428b38b26a.js +0 -17
  683. package/.next/standalone/.next/static/chunks/app/api/v1/tasks/route-36cb8b428b38b26a.js +0 -17
  684. package/.next/standalone/.next/static/chunks/app/api/v1/threads/[thread_id]/context-pin/route-36cb8b428b38b26a.js +0 -17
  685. package/.next/standalone/.next/static/chunks/app/api/v1/threads/[thread_id]/route-36cb8b428b38b26a.js +0 -17
  686. package/.next/standalone/.next/static/chunks/app/api/v1/threads/[thread_id]/run/route-36cb8b428b38b26a.js +0 -17
  687. package/.next/standalone/.next/static/chunks/app/api/v1/threads/route-36cb8b428b38b26a.js +0 -17
  688. package/.next/standalone/.next/static/chunks/app/api/v1/tools/route-36cb8b428b38b26a.js +0 -17
  689. package/.next/standalone/.next/static/chunks/app/api/v1/update/apply/route-36cb8b428b38b26a.js +0 -17
  690. package/.next/standalone/.next/static/chunks/app/api/v1/update/route-36cb8b428b38b26a.js +0 -17
  691. package/.next/standalone/.next/static/chunks/app/api/v1/voice/transcribe/route-36cb8b428b38b26a.js +0 -17
  692. package/.next/standalone/.next/static/chunks/app/api/v1/voice/tts/route-36cb8b428b38b26a.js +0 -17
  693. package/.next/standalone/.next/static/chunks/app/api/v1/watchers/[id]/route-36cb8b428b38b26a.js +0 -17
  694. package/.next/standalone/.next/static/chunks/app/api/v1/watchers/[id]/run/route-36cb8b428b38b26a.js +0 -17
  695. package/.next/standalone/.next/static/chunks/app/api/v1/watchers/reaction-scripts/route-36cb8b428b38b26a.js +0 -17
  696. package/.next/standalone/.next/static/chunks/app/api/v1/watchers/route-36cb8b428b38b26a.js +0 -17
  697. package/.next/standalone/.next/static/chunks/app/manifest.webmanifest/route-36cb8b428b38b26a.js +0 -17
  698. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-36cb8b428b38b26a.js +0 -17
  699. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-36cb8b428b38b26a.js +0 -17
  700. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-36cb8b428b38b26a.js +0 -17
  701. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-36cb8b428b38b26a.js +0 -17
  702. /package/.next/standalone/.next/static/{NUrC9xax1sp1Q70nlFqS6 → hwujW4hR1b-r3k5WdMxZO}/_buildManifest.js +0 -0
  703. /package/.next/standalone/.next/static/{NUrC9xax1sp1Q70nlFqS6 → hwujW4hR1b-r3k5WdMxZO}/_ssgManifest.js +0 -0
@@ -54,770 +54,777 @@ module.exports = require("next/dist/compiled/next-server/app-page.runtime.prod.j
54
54
 
55
55
  /***/ }),
56
56
 
57
- /***/ 14345:
57
+ /***/ 16698:
58
+ /***/ ((module) => {
59
+
60
+ module.exports = require("node:async_hooks");
61
+
62
+ /***/ }),
63
+
64
+ /***/ 19121:
65
+ /***/ ((module) => {
66
+
67
+ module.exports = require("next/dist/server/app-render/action-async-storage.external.js");
68
+
69
+ /***/ }),
70
+
71
+ /***/ 27910:
72
+ /***/ ((module) => {
73
+
74
+ module.exports = require("stream");
75
+
76
+ /***/ }),
77
+
78
+ /***/ 28354:
79
+ /***/ ((module) => {
80
+
81
+ module.exports = require("util");
82
+
83
+ /***/ }),
84
+
85
+ /***/ 29021:
86
+ /***/ ((module) => {
87
+
88
+ module.exports = require("fs");
89
+
90
+ /***/ }),
91
+
92
+ /***/ 29294:
93
+ /***/ ((module) => {
94
+
95
+ module.exports = require("next/dist/server/app-render/work-async-storage.external.js");
96
+
97
+ /***/ }),
98
+
99
+ /***/ 31421:
100
+ /***/ ((module) => {
101
+
102
+ module.exports = require("node:child_process");
103
+
104
+ /***/ }),
105
+
106
+ /***/ 33873:
107
+ /***/ ((module) => {
108
+
109
+ module.exports = require("path");
110
+
111
+ /***/ }),
112
+
113
+ /***/ 37067:
114
+ /***/ ((module) => {
115
+
116
+ module.exports = require("node:http");
117
+
118
+ /***/ }),
119
+
120
+ /***/ 38522:
121
+ /***/ ((module) => {
122
+
123
+ module.exports = require("node:zlib");
124
+
125
+ /***/ }),
126
+
127
+ /***/ 39583:
58
128
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
59
129
 
60
- __webpack_require__.r(__webpack_exports__);
61
130
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
62
- /* harmony export */ handler: () => (/* binding */ handler),
63
- /* harmony export */ patchFetch: () => (/* binding */ patchFetch),
64
- /* harmony export */ routeModule: () => (/* binding */ routeModule),
65
- /* harmony export */ serverHooks: () => (/* binding */ serverHooks),
66
- /* harmony export */ workAsyncStorage: () => (/* binding */ workAsyncStorage),
67
- /* harmony export */ workUnitAsyncStorage: () => (/* binding */ workUnitAsyncStorage)
131
+ /* harmony export */ $: () => (/* binding */ moveThreadContextBoundary)
68
132
  /* harmony export */ });
69
- /* harmony import */ var next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19225);
70
- /* harmony import */ var next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__);
71
- /* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84006);
72
- /* harmony import */ var next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8317);
73
- /* harmony import */ var next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__);
74
- /* harmony import */ var next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(99373);
75
- /* harmony import */ var next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__);
76
- /* harmony import */ var next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(34775);
77
- /* harmony import */ var next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__);
78
- /* harmony import */ var next_dist_server_app_render_manifests_singleton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24235);
79
- /* harmony import */ var next_dist_server_app_render_manifests_singleton__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_manifests_singleton__WEBPACK_IMPORTED_MODULE_5__);
80
- /* harmony import */ var next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(261);
81
- /* harmony import */ var next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_6__);
82
- /* harmony import */ var next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(54365);
83
- /* harmony import */ var next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__);
84
- /* harmony import */ var next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(90771);
85
- /* harmony import */ var next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8__);
86
- /* harmony import */ var next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(73461);
87
- /* harmony import */ var next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__);
88
- /* harmony import */ var next_dist_server_instrumentation_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(67798);
89
- /* harmony import */ var next_dist_server_send_response__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(92280);
90
- /* harmony import */ var next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(62018);
91
- /* harmony import */ var next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12__);
92
- /* harmony import */ var next_dist_server_lib_cache_control__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(45696);
93
- /* harmony import */ var next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(47929);
94
- /* harmony import */ var next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__);
95
- /* harmony import */ var next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(86439);
96
- /* harmony import */ var next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15__);
97
- /* harmony import */ var next_dist_server_lib_route_cache_key__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(10246);
98
- /* harmony import */ var next_dist_server_lib_route_cache_key__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_route_cache_key__WEBPACK_IMPORTED_MODULE_16__);
99
- /* harmony import */ var next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(37527);
100
- /* harmony import */ var next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__);
133
+ /* harmony import */ var _lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83042);
134
+ /* harmony import */ var _lib_agents_warm_summary_background__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(36923);
101
135
 
102
136
 
137
+ // Every caller of moveThreadContextBoundary represents a user-initiated
138
+ // boundary change (drag the line, the manual /compact command, or the agent's
139
+ // compact_context tool acting on the user's say-so). Suppresses the
140
+ // hot-turn-limit compaction in lib/agents/run-thread.ts for the next N
141
+ // eligible turns so a manual choice doesn't get silently re-moved on the very
142
+ // next turn. The auto-detector arms a shorter cooldown of its own
143
+ // (hotTurnCooldownUntil) so it doesn't re-run on every turn either.
144
+ // Counted in messages (~2 per turn: one user + one assistant row) since
145
+ // that's what's already on the thread row — no extra query or per-turn
146
+ // write needed to check it.
147
+ const MANUAL_PIN_COOLDOWN_TURNS = 5;
148
+ const MESSAGES_PER_TURN = 2;
149
+ function moveThreadContextBoundary(threadId, boundarySeq, options = {}) {
150
+ // Do not expose a narrower hot query before its replacement warm context
151
+ // exists. The background coordinator publishes both in one transaction.
152
+ if (boundarySeq !== null && options.refreshWarmSummary) {
153
+ const currentCount = (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__/* .getThread */ .fG)(threadId)?.message_count ?? 0;
154
+ (0,_lib_agents_warm_summary_background__WEBPACK_IMPORTED_MODULE_1__/* .kickBoundaryCompaction */ .Wg)(threadId, boundarySeq, {
155
+ autoBoundaryLockedUntilMessageCount: currentCount + MANUAL_PIN_COOLDOWN_TURNS * MESSAGES_PER_TURN
156
+ });
157
+ return (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__/* .getThread */ .fG)(threadId);
158
+ }
159
+ const source = boundarySeq === null ? null : (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__/* .getThreadMessageBySeq */ .wc)(threadId, boundarySeq);
160
+ if (boundarySeq !== null && !source) throw new Error("Boundary seq does not belong to this thread");
161
+ (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__/* .setThreadContextPin */ .T1)(threadId, source?.created_at ?? null, boundarySeq);
162
+ // Clearing the pin (hotSince=null) means the user wants auto-detection
163
+ // back in full control right away — clear the lock instead of arming it.
164
+ // Only an actual manual placement earns a cooldown.
165
+ const currentCount = (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__/* .getThread */ .fG)(threadId)?.message_count ?? 0;
166
+ (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__/* .setAutoBoundaryLock */ .NU)(threadId, boundarySeq !== null ? currentCount + MANUAL_PIN_COOLDOWN_TURNS * MESSAGES_PER_TURN : 0);
167
+ return (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__/* .getThread */ .fG)(threadId);
168
+ }
103
169
 
104
170
 
171
+ /***/ }),
105
172
 
173
+ /***/ 44708:
174
+ /***/ ((module) => {
106
175
 
176
+ module.exports = require("node:https");
107
177
 
178
+ /***/ }),
108
179
 
180
+ /***/ 44870:
181
+ /***/ ((module) => {
109
182
 
183
+ module.exports = require("next/dist/compiled/next-server/app-route.runtime.prod.js");
110
184
 
185
+ /***/ }),
111
186
 
187
+ /***/ 48161:
188
+ /***/ ((module) => {
112
189
 
190
+ module.exports = require("node:os");
113
191
 
192
+ /***/ }),
114
193
 
194
+ /***/ 51455:
195
+ /***/ ((module) => {
115
196
 
197
+ module.exports = require("node:fs/promises");
116
198
 
199
+ /***/ }),
117
200
 
201
+ /***/ 55511:
202
+ /***/ ((module) => {
118
203
 
119
- // We inject the nextConfigOutput here so that we can use them in the route
120
- // module.
121
- const nextConfigOutput = "standalone"
122
- const routeModule = new next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppRouteRouteModule({
123
- definition: {
124
- kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_ROUTE,
125
- page: "/api/v1/threads/[thread_id]/context-pin/route",
126
- pathname: "/api/v1/threads/[thread_id]/context-pin",
127
- filename: "route",
128
- bundlePath: "app/api/v1/threads/[thread_id]/context-pin/route"
129
- },
130
- distDir: ".next" || 0,
131
- relativeProjectDir: false || '',
132
- resolvedPagePath: "/home/runner/work/jarela/jarela/app/api/v1/threads/[thread_id]/context-pin/route.ts",
133
- nextConfigOutput,
134
- // The lazy require factory ensures that:
135
- // - In dev: devRequestTimingInternalsEnd is set before userland executes,
136
- // correctly attributing module load time to application-code rather than
137
- // framework internals.
138
- // - In all modes: async modules (route files with top-level await) are
139
- // handled correctly — require() returns a Promise for such modules, which
140
- // ensureUserland() awaits before the first request is handled.
141
- userland: ()=>__webpack_require__(74809),
142
- // In Turbopack dev mode, also provide a synchronous per-request getter so
143
- // server HMR updates are picked up without re-executing the entry chunk.
144
- // Using require() (synchronous) avoids adding async overhead that would be
145
- // incorrectly attributed to application-code time in devRequestTiming.
146
- ... false ? 0 : {}
147
- });
148
- // Pull out the exports that we need to expose from the module. This should
149
- // be eliminated when we've moved the other routes to the new format. These
150
- // are used to hook into the route.
151
- const { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;
152
- function patchFetch() {
153
- return (0,next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__.patchFetch)({
154
- workAsyncStorage,
155
- workUnitAsyncStorage
156
- });
157
- }
158
-
159
- async function handler(req, res, ctx) {
160
- if (ctx.requestMeta) {
161
- (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__.setRequestMeta)(req, ctx.requestMeta);
162
- }
163
- if (routeModule.isDev) {
164
- (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__.addRequestMeta)(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());
165
- }
166
- let srcPage = "/api/v1/threads/[thread_id]/context-pin/route";
167
- // turbopack doesn't normalize `/index` in the page name
168
- // so we need to to process dynamic routes properly
169
- // TODO: fix turbopack providing differing value from webpack
170
- if (false) {} else if (srcPage === '/index') {
171
- // we always normalize /index specifically
172
- srcPage = '/';
173
- }
174
- const multiZoneDraftMode = false;
175
- const prepareResult = await routeModule.prepare(req, res, {
176
- srcPage,
177
- multiZoneDraftMode
178
- });
179
- if (!prepareResult) {
180
- res.statusCode = 400;
181
- res.end('Bad Request');
182
- ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());
183
- return null;
184
- }
185
- const { buildId, deploymentId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest, previewProps } = prepareResult;
186
- const normalizedSrcPage = (0,next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_6__.normalizeAppPath)(srcPage);
187
- // Only this route's prerenders can establish ISR or admit generated params.
188
- const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]) && (routeModule.isDev || (0,next_dist_server_lib_route_cache_key__WEBPACK_IMPORTED_MODULE_16__.isRouteCacheOwner)(resolvedPathname, routeModule.cacheOwner, prerenderManifest.routes[resolvedPathname]));
189
- let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || isPrerendered);
190
- const render404 = async ()=>{
191
- // TODO: should route-module itself handle rendering the 404
192
- if (routerServerContext == null ? void 0 : routerServerContext.render404) {
193
- await routerServerContext.render404(req, res, parsedUrl, false);
194
- } else {
195
- res.end('This page could not be found');
196
- }
197
- return null;
198
- };
199
- if (isIsr && !isDraftMode) {
200
- const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];
201
- if (prerenderInfo) {
202
- if (prerenderInfo.fallback === false && !isPrerendered) {
203
- if (nextConfig.adapterPath) {
204
- return await render404();
205
- }
206
- throw new next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15__.NoFallbackError();
207
- }
208
- }
209
- }
210
- let cacheKey = null;
211
- if (isIsr && !routeModule.isDev && !isDraftMode) {
212
- cacheKey = resolvedPathname;
213
- // ensure /index and / is normalized to one key
214
- cacheKey = cacheKey === '/index' ? '/' : cacheKey;
215
- }
216
- // Before rendering (which initializes component tree modules), we have to
217
- // set the reference manifests to our global store so Server Action's
218
- // encryption util can access to them at the top level of the page module.
219
- if (serverActionsManifest && clientReferenceManifest) {
220
- (0,next_dist_server_app_render_manifests_singleton__WEBPACK_IMPORTED_MODULE_5__.setManifestsSingleton)({
221
- page: srcPage,
222
- clientReferenceManifest,
223
- serverActionsManifest
224
- });
225
- }
226
- const method = req.method || 'GET';
227
- const tracer = (0,next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__.getTracer)();
228
- const activeSpan = tracer.getActiveScopeSpan();
229
- const isWrappedByNextServer = Boolean(routerServerContext == null ? void 0 : routerServerContext.isWrappedByNextServer);
230
- const isMinimalMode = Boolean((0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__.getRequestMeta)(req, 'minimalMode'));
231
- const incrementalCache = (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__.getRequestMeta)(req, 'incrementalCache') || await routeModule.getIncrementalCache(req, nextConfig, previewProps, prerenderManifest, isMinimalMode);
232
- incrementalCache == null ? void 0 : incrementalCache.resetRequestCache();
233
- globalThis.__incrementalCache = incrementalCache;
234
- const context = {
235
- params,
236
- previewProps,
237
- renderOpts: {
238
- experimental: {
239
- authInterrupts: Boolean(nextConfig.experimental.authInterrupts),
240
- useCacheTimeout: nextConfig.experimental.useCacheTimeout,
241
- durableUseCacheEntries: Boolean(nextConfig.experimental.durableUseCacheEntries)
242
- },
243
- cacheComponents: Boolean(nextConfig.cacheComponents),
244
- validationLevel: nextConfig.experimental.instantInsights.validationLevel,
245
- isDraftMode,
246
- incrementalCache,
247
- hmrRefreshHash: (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__.getRequestMeta)(req, 'hmrRefreshHash'),
248
- cacheLifeProfiles: nextConfig.cacheLife,
249
- staticPageGenerationTimeout: nextConfig.staticPageGenerationTimeout,
250
- waitUntil: ctx.waitUntil,
251
- onClose: (cb)=>{
252
- res.on('close', cb);
253
- },
254
- onAfterTaskError: undefined
255
- },
256
- sharedContext: {
257
- buildId,
258
- deploymentId
259
- }
260
- };
261
- const nodeNextReq = new next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__.NodeNextRequest(req);
262
- const nodeNextRes = new next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__.NodeNextResponse(res);
263
- const nextReq = next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8__.NextRequestAdapter.fromNodeNextRequest(nodeNextReq, (0,next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8__.signalFromNodeResponse)(res));
264
- const responseGenerator = async ({ previousCacheEntry })=>{
265
- try {
266
- if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {
267
- res.statusCode = 404;
268
- // on-demand revalidate always sets this header
269
- res.setHeader('x-nextjs-cache', 'REVALIDATED');
270
- res.end('This page could not be found');
271
- return null;
272
- }
273
- const response = cacheKey === null ? await routeModule.handle(nextReq, context) : await routeModule.prerender(nextReq, context);
274
- req.fetchMetrics = context.renderOpts.fetchMetrics;
275
- let pendingWaitUntil = context.renderOpts.pendingWaitUntil;
276
- // Attempt using provided waitUntil if available
277
- // if it's not we fallback to sendResponse's handling
278
- if (pendingWaitUntil) {
279
- if (ctx.waitUntil) {
280
- ctx.waitUntil(pendingWaitUntil);
281
- pendingWaitUntil = undefined;
282
- }
283
- }
284
- const cacheTags = context.renderOpts.collectedTags;
285
- // If the request is for a static response, we can cache it so long
286
- // as it's not edge.
287
- if (isIsr) {
288
- const blob = await response.blob();
289
- // Copy the headers from the response.
290
- const headers = (0,next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12__.toNodeOutgoingHttpHeaders)(response.headers);
291
- if (cacheTags) {
292
- headers[next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__.NEXT_CACHE_TAGS_HEADER] = cacheTags;
293
- }
294
- if (!headers['content-type'] && blob.type) {
295
- headers['content-type'] = blob.type;
296
- }
297
- const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__.INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;
298
- const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__.INFINITE_CACHE ? // route has a numeric `revalidate` but didn't declare an
299
- // explicit `expire` (e.g. via `cacheLife`). This mirrors the
300
- // build-time fallback in `build/index.ts` so cache entries
301
- // and the response Cache-Control header agree on the route's
302
- // effective expire. Routes that opt out of revalidation
303
- // (`revalidate: false`) or that are dynamic (`revalidate: 0`)
304
- // keep `expire: undefined`.
305
- revalidate !== false && revalidate > 0 ? nextConfig.expireTime : undefined : context.renderOpts.collectedExpire;
306
- // Create the cache entry for the response.
307
- const cacheEntry = {
308
- value: {
309
- kind: next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__.CachedRouteKind.APP_ROUTE,
310
- status: response.status,
311
- body: Buffer.from(await blob.arrayBuffer()),
312
- headers
313
- },
314
- cacheControl: {
315
- revalidate,
316
- expire
317
- }
318
- };
319
- return cacheEntry;
320
- } else {
321
- // send response without caching if not ISR
322
- await (0,next_dist_server_send_response__WEBPACK_IMPORTED_MODULE_11__/* .sendResponse */ .I)(nodeNextReq, nodeNextRes, response, pendingWaitUntil);
323
- return null;
324
- }
325
- } catch (err) {
326
- // if this is a background revalidate we need to report
327
- // the request error here as it won't be bubbled
328
- if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {
329
- const silenceLog = false;
330
- await routeModule.onRequestError(req, err, {
331
- routerKind: 'App Router',
332
- routePath: srcPage,
333
- routeType: 'route',
334
- revalidateReason: (0,next_dist_server_instrumentation_utils__WEBPACK_IMPORTED_MODULE_10__.getRevalidateReason)({
335
- isStaticGeneration: cacheKey !== null,
336
- isOnDemandRevalidate
337
- })
338
- }, silenceLog, routerServerContext);
339
- }
340
- throw err;
341
- }
342
- };
343
- const handleResponse = async (currentSpan, parentSpan)=>{
344
- try {
345
- var _cacheEntry_value;
346
- const cacheEntry = await routeModule.handleResponse({
347
- req,
348
- nextConfig,
349
- cacheKey,
350
- routeKind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_ROUTE,
351
- isFallback: false,
352
- previewProps,
353
- prerenderManifest,
354
- isRoutePPREnabled: false,
355
- isOnDemandRevalidate,
356
- revalidateOnlyGenerated,
357
- responseGenerator,
358
- waitUntil: ctx.waitUntil,
359
- isMinimalMode
360
- });
361
- if (cacheEntry !== null && 'error' in cacheEntry) {
362
- throw cacheEntry.error;
363
- }
364
- // we don't create a cacheEntry for ISR
365
- if (!isIsr) {
366
- return;
367
- }
368
- if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__.CachedRouteKind.APP_ROUTE) {
369
- var _cacheEntry_value1;
370
- throw new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`);
371
- }
372
- if (!isMinimalMode) {
373
- res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');
374
- }
375
- // Draft mode should never be cached
376
- if (isDraftMode) {
377
- res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');
378
- }
379
- const headers = (0,next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12__.fromNodeOutgoingHttpHeaders)(cacheEntry.value.headers);
380
- if (!(isMinimalMode && isIsr)) {
381
- headers.delete(next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__.NEXT_CACHE_TAGS_HEADER);
382
- }
383
- // If cache control is already set on the response we don't
384
- // override it to allow users to customize it via next.config
385
- if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {
386
- headers.set('Cache-Control', (0,next_dist_server_lib_cache_control__WEBPACK_IMPORTED_MODULE_13__.getCacheControlHeader)(cacheEntry.cacheControl));
387
- }
388
- await (0,next_dist_server_send_response__WEBPACK_IMPORTED_MODULE_11__/* .sendResponse */ .I)(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.
389
- new Response(cacheEntry.value.body, {
390
- headers,
391
- status: cacheEntry.value.status || 200
392
- }));
393
- return;
394
- } catch (err) {
395
- if (!(err instanceof next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15__.NoFallbackError)) {
396
- const silenceLog = false;
397
- await routeModule.onRequestError(req, err, {
398
- routerKind: 'App Router',
399
- routePath: normalizedSrcPage,
400
- routeType: 'route',
401
- revalidateReason: (0,next_dist_server_instrumentation_utils__WEBPACK_IMPORTED_MODULE_10__.getRevalidateReason)({
402
- isStaticGeneration: cacheKey !== null,
403
- isOnDemandRevalidate
404
- })
405
- }, silenceLog, routerServerContext);
406
- }
407
- // rethrow so that we can handle serving error page
408
- // If this is during static generation, throw the error again.
409
- if (isIsr) throw err;
410
- // Otherwise, send a 500 response unless the original response has
411
- // already committed. In that case, preserve its status code for
412
- // telemetry while still recording the failure and terminating a response
413
- // that the failed pipeline left open.
414
- if (res.headersSent) {
415
- if (currentSpan) {
416
- const error = err instanceof Error ? err : new Error('Unknown app route error');
417
- currentSpan.recordException(error);
418
- currentSpan.setStatus({
419
- code: next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__.SpanStatusCode.ERROR,
420
- message: error.message
421
- });
422
- currentSpan.setAttribute('error.type', error.name);
423
- }
424
- if (!res.writableEnded && !res.destroyed) {
425
- res.end();
426
- }
427
- } else {
428
- await (0,next_dist_server_send_response__WEBPACK_IMPORTED_MODULE_11__/* .sendResponse */ .I)(nodeNextReq, nodeNextRes, new Response(null, {
429
- status: 500
430
- }));
431
- }
432
- return;
433
- } finally{
434
- ;
435
- (()=>{
436
- if (!currentSpan) {
437
- return;
438
- }
439
- let statusCode = res.statusCode;
440
- currentSpan.setAttributes({
441
- 'http.status_code': statusCode,
442
- 'next.rsc': false
443
- });
444
- if (statusCode && statusCode >= 500) {
445
- // For 5xx status codes: SHOULD be set to 'Error' span status.
446
- // x-ref: https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
447
- currentSpan.setStatus({
448
- code: next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__.SpanStatusCode.ERROR
449
- });
450
- // For span status 'Error', SHOULD set 'error.type' attribute.
451
- currentSpan.setAttribute('error.type', statusCode.toString());
452
- }
453
- const rootSpanAttributes = tracer.getRootSpanAttributes();
454
- // We were unable to get attributes, probably OTEL is not enabled
455
- if (!rootSpanAttributes) {
456
- return;
457
- }
458
- if (rootSpanAttributes.get('next.span_type') !== next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__.BaseServerSpan.handleRequest) {
459
- console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);
460
- return;
461
- }
462
- const route = rootSpanAttributes.get('next.route') || normalizedSrcPage;
463
- const name = `${method} ${route}`;
464
- currentSpan.setAttributes({
465
- 'next.route': route,
466
- 'http.route': route,
467
- 'next.span_name': name
468
- });
469
- currentSpan.updateName(name);
470
- // Propagate http.route to the parent span if one exists (e.g.
471
- // a platform-created HTTP span in adapter deployments).
472
- if (parentSpan && parentSpan !== currentSpan) {
473
- parentSpan.setAttribute('http.route', route);
474
- parentSpan.updateName(name);
475
- }
476
- })();
477
- }
478
- };
479
- // TODO: activeSpan code path is for when wrapped by
480
- // next-server can be removed when this is no longer used
481
- if (isWrappedByNextServer && activeSpan) {
482
- await handleResponse(activeSpan, undefined);
483
- } else {
484
- let parentSpan = tracer.getActiveScopeSpan();
485
- await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__.BaseServerSpan.handleRequest, {
486
- spanName: `${method} ${srcPage}`,
487
- kind: next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__.SpanKind.SERVER,
488
- attributes: {
489
- 'http.method': method,
490
- 'http.target': req.url
491
- }
492
- }, (span)=>handleResponse(span, parentSpan)), undefined, !isWrappedByNextServer);
493
- }
494
- }
495
-
496
- //# sourceMappingURL=app-route.js.map
497
-
204
+ module.exports = require("crypto");
498
205
 
499
206
  /***/ }),
500
207
 
501
- /***/ 16698:
208
+ /***/ 55591:
502
209
  /***/ ((module) => {
503
210
 
504
- module.exports = require("node:async_hooks");
211
+ module.exports = require("https");
505
212
 
506
213
  /***/ }),
507
214
 
508
- /***/ 19121:
215
+ /***/ 57075:
509
216
  /***/ ((module) => {
510
217
 
511
- module.exports = require("next/dist/server/app-render/action-async-storage.external.js");
218
+ module.exports = require("node:stream");
512
219
 
513
220
  /***/ }),
514
221
 
515
- /***/ 27910:
222
+ /***/ 57975:
516
223
  /***/ ((module) => {
517
224
 
518
- module.exports = require("stream");
225
+ module.exports = require("node:util");
519
226
 
520
227
  /***/ }),
521
228
 
522
- /***/ 28354:
229
+ /***/ 63033:
523
230
  /***/ ((module) => {
524
231
 
525
- module.exports = require("util");
232
+ module.exports = require("next/dist/server/app-render/work-unit-async-storage.external.js");
526
233
 
527
234
  /***/ }),
528
235
 
529
- /***/ 29021:
236
+ /***/ 73024:
530
237
  /***/ ((module) => {
531
238
 
532
- module.exports = require("fs");
239
+ module.exports = require("node:fs");
533
240
 
534
241
  /***/ }),
535
242
 
536
- /***/ 29294:
537
- /***/ ((module) => {
243
+ /***/ 74809:
244
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
538
245
 
539
- module.exports = require("next/dist/server/app-render/work-async-storage.external.js");
246
+ __webpack_require__.r(__webpack_exports__);
247
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
248
+ /* harmony export */ PATCH: () => (/* binding */ PATCH)
249
+ /* harmony export */ });
250
+ /* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23211);
251
+ /* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(97377);
252
+ /* harmony import */ var _lib_stores_threads__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83042);
253
+ /* harmony import */ var _lib_agents_context_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39583);
254
+ /* harmony import */ var _lib_agents_warm_summary_background__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(36923);
255
+ /* harmony import */ var _lib_agents_conversation_summary__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(15393);
540
256
 
541
- /***/ }),
542
257
 
543
- /***/ 31421:
544
- /***/ ((module) => {
545
258
 
546
- module.exports = require("node:child_process");
547
259
 
548
- /***/ }),
549
260
 
550
- /***/ 33873:
551
- /***/ ((module) => {
552
261
 
553
- module.exports = require("path");
262
+ // ADR-0042. Move the user's hot/warm boundary without sending a turn. The
263
+ // summary refresh is kicked off asynchronously in background so the drag stays
264
+ // snappy and the updated warm recap appears shortly after commit.
265
+ const Body = zod__WEBPACK_IMPORTED_MODULE_4__/* .object */ .Ikc({
266
+ hot_since_seq: zod__WEBPACK_IMPORTED_MODULE_4__/* .number */ .aig().int().positive().nullable()
267
+ });
268
+ async function PATCH(req, { params }) {
269
+ const { thread_id } = await params;
270
+ const thread = (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_1__/* .getThread */ .fG)(thread_id);
271
+ if (!thread) return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({
272
+ error: "Thread not found"
273
+ }, {
274
+ status: 404
275
+ });
276
+ const parsed = Body.safeParse(await req.json().catch(()=>null));
277
+ if (!parsed.success) {
278
+ return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({
279
+ error: "Body must be { hot_since_seq: number | null }",
280
+ code: "invalid_body"
281
+ }, {
282
+ status: 400
283
+ });
284
+ }
285
+ const requestedSeq = parsed.data.hot_since_seq;
286
+ const source = typeof requestedSeq === "number" ? (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_1__/* .getThreadMessageBySeq */ .wc)(thread_id, requestedSeq) : null;
287
+ if (typeof requestedSeq === "number" && !source) {
288
+ return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({
289
+ error: "Boundary seq does not belong to this thread",
290
+ code: "invalid_boundary"
291
+ }, {
292
+ status: 400
293
+ });
294
+ }
295
+ const updated = (0,_lib_agents_context_boundary__WEBPACK_IMPORTED_MODULE_2__/* .moveThreadContextBoundary */ .$)(thread_id, requestedSeq, {
296
+ refreshWarmSummary: true
297
+ });
298
+ return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({
299
+ hot_since: updated?.hot_since ?? null,
300
+ hot_since_seq: updated?.hot_since_seq ?? null,
301
+ warm_summary: updated?.warm_summary ?? null,
302
+ warm_summary_before: updated?.warm_summary_before ?? null,
303
+ warm_summary_before_seq: updated?.warm_summary_before_seq ?? null,
304
+ warm_summary_computed_at: updated?.warm_summary_computed_at ?? null,
305
+ warm_summary_source_messages: updated?.warm_summary_source_messages ?? null,
306
+ warm_summary_source_chars: updated?.warm_summary_source_chars ?? null,
307
+ warm_summary_topics: (0,_lib_agents_conversation_summary__WEBPACK_IMPORTED_MODULE_5__/* .parseStoredTopics */ .hP)(updated?.warm_summary_topics),
308
+ warm_channel_summaries: (0,_lib_agents_warm_summary_background__WEBPACK_IMPORTED_MODULE_3__/* .currentChannelSummaries */ .XG)(thread_id, updated?.hot_since_seq),
309
+ pending_hot_since: (0,_lib_agents_warm_summary_background__WEBPACK_IMPORTED_MODULE_3__/* .pendingCompactionBoundary */ .Xm)(thread_id),
310
+ pending_hot_since_seq: (0,_lib_agents_warm_summary_background__WEBPACK_IMPORTED_MODULE_3__/* .pendingCompactionBoundarySeq */ .Wn)(thread_id)
311
+ });
312
+ }
313
+
554
314
 
555
315
  /***/ }),
556
316
 
557
- /***/ 37067:
317
+ /***/ 75919:
558
318
  /***/ ((module) => {
559
319
 
560
- module.exports = require("node:http");
320
+ module.exports = require("node:worker_threads");
561
321
 
562
322
  /***/ }),
563
323
 
564
- /***/ 38522:
324
+ /***/ 76760:
565
325
  /***/ ((module) => {
566
326
 
567
- module.exports = require("node:zlib");
327
+ module.exports = require("node:path");
568
328
 
569
329
  /***/ }),
570
330
 
571
- /***/ 39583:
572
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
331
+ /***/ 77030:
332
+ /***/ ((module) => {
573
333
 
574
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
575
- /* harmony export */ $: () => (/* binding */ moveThreadContextBoundary)
576
- /* harmony export */ });
577
- /* harmony import */ var _lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83042);
578
- /* harmony import */ var _lib_agents_warm_summary_background__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(79640);
334
+ module.exports = require("node:net");
579
335
 
336
+ /***/ }),
580
337
 
581
- // Every caller of moveThreadContextBoundary represents a user-initiated
582
- // boundary change (drag the line, the manual /compact command, or the agent's
583
- // compact_context tool acting on the user's say-so) — the
584
- // auto-detector's own commit (lib/agents/warm-summary-background.ts
585
- // commitBoundaryCompaction) calls setThreadContextPin directly instead, so
586
- // it never re-arms this lock. Suppresses the hot-turn-limit compaction in
587
- // lib/agents/run-thread.ts for the next N eligible turns so a manual
588
- // choice doesn't get silently re-moved on the very next turn.
589
- // Counted in messages (~2 per turn: one user + one assistant row) since
590
- // that's what's already on the thread row — no extra query or per-turn
591
- // write needed to check it.
592
- const MANUAL_PIN_COOLDOWN_TURNS = 5;
593
- const MESSAGES_PER_TURN = 2;
594
- function moveThreadContextBoundary(threadId, boundarySeq, options = {}) {
595
- // Do not expose a narrower hot query before its replacement warm context
596
- // exists. The background coordinator publishes both in one transaction.
597
- if (boundarySeq !== null && options.refreshWarmSummary) {
598
- const currentCount = (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__/* .getThread */ .fG)(threadId)?.message_count ?? 0;
599
- (0,_lib_agents_warm_summary_background__WEBPACK_IMPORTED_MODULE_1__/* .kickBoundaryCompaction */ .Wg)(threadId, boundarySeq, {
600
- autoBoundaryLockedUntilMessageCount: currentCount + MANUAL_PIN_COOLDOWN_TURNS * MESSAGES_PER_TURN
601
- });
602
- return (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__/* .getThread */ .fG)(threadId);
603
- }
604
- const source = boundarySeq === null ? null : (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__/* .getThreadMessageBySeq */ .wc)(threadId, boundarySeq);
605
- if (boundarySeq !== null && !source) throw new Error("Boundary seq does not belong to this thread");
606
- (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__/* .setThreadContextPin */ .T1)(threadId, source?.created_at ?? null, boundarySeq);
607
- // Clearing the pin (hotSince=null) means the user wants auto-detection
608
- // back in full control right away — clear the lock instead of arming it.
609
- // Only an actual manual placement earns a cooldown.
610
- const currentCount = (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__/* .getThread */ .fG)(threadId)?.message_count ?? 0;
611
- (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__/* .setAutoBoundaryLock */ .NU)(threadId, boundarySeq !== null ? currentCount + MANUAL_PIN_COOLDOWN_TURNS * MESSAGES_PER_TURN : 0);
612
- return (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_0__/* .getThread */ .fG)(threadId);
613
- }
338
+ /***/ 77598:
339
+ /***/ ((module) => {
614
340
 
341
+ module.exports = require("node:crypto");
615
342
 
616
343
  /***/ }),
617
344
 
618
- /***/ 44708:
345
+ /***/ 79428:
619
346
  /***/ ((module) => {
620
347
 
621
- module.exports = require("node:https");
348
+ module.exports = require("buffer");
622
349
 
623
350
  /***/ }),
624
351
 
625
- /***/ 44870:
352
+ /***/ 80099:
626
353
  /***/ ((module) => {
627
354
 
628
- module.exports = require("next/dist/compiled/next-server/app-route.runtime.prod.js");
355
+ module.exports = require("node:sqlite");
629
356
 
630
357
  /***/ }),
631
358
 
632
- /***/ 48161:
359
+ /***/ 80481:
633
360
  /***/ ((module) => {
634
361
 
635
- module.exports = require("node:os");
362
+ module.exports = require("node:readline");
636
363
 
637
364
  /***/ }),
638
365
 
639
- /***/ 51455:
366
+ /***/ 81630:
640
367
  /***/ ((module) => {
641
368
 
642
- module.exports = require("node:fs/promises");
369
+ module.exports = require("http");
643
370
 
644
371
  /***/ }),
645
372
 
646
- /***/ 55511:
373
+ /***/ 86439:
647
374
  /***/ ((module) => {
648
375
 
649
- module.exports = require("crypto");
376
+ module.exports = require("next/dist/shared/lib/no-fallback-error.external");
650
377
 
651
378
  /***/ }),
652
379
 
653
- /***/ 55591:
380
+ /***/ 94735:
654
381
  /***/ ((module) => {
655
382
 
656
- module.exports = require("https");
383
+ module.exports = require("events");
657
384
 
658
385
  /***/ }),
659
386
 
660
- /***/ 57075:
661
- /***/ ((module) => {
387
+ /***/ 96915:
388
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
662
389
 
663
- module.exports = require("node:stream");
390
+ __webpack_require__.r(__webpack_exports__);
391
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
392
+ /* harmony export */ handler: () => (/* binding */ handler),
393
+ /* harmony export */ patchFetch: () => (/* binding */ patchFetch),
394
+ /* harmony export */ routeModule: () => (/* binding */ routeModule),
395
+ /* harmony export */ serverHooks: () => (/* binding */ serverHooks),
396
+ /* harmony export */ workAsyncStorage: () => (/* binding */ workAsyncStorage),
397
+ /* harmony export */ workUnitAsyncStorage: () => (/* binding */ workUnitAsyncStorage)
398
+ /* harmony export */ });
399
+ /* harmony import */ var next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19225);
400
+ /* harmony import */ var next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__);
401
+ /* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84006);
402
+ /* harmony import */ var next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8317);
403
+ /* harmony import */ var next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__);
404
+ /* harmony import */ var next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(99373);
405
+ /* harmony import */ var next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__);
406
+ /* harmony import */ var next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(34775);
407
+ /* harmony import */ var next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__);
408
+ /* harmony import */ var next_dist_server_app_render_manifests_singleton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24235);
409
+ /* harmony import */ var next_dist_server_app_render_manifests_singleton__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_manifests_singleton__WEBPACK_IMPORTED_MODULE_5__);
410
+ /* harmony import */ var next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(261);
411
+ /* harmony import */ var next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_6__);
412
+ /* harmony import */ var next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(54365);
413
+ /* harmony import */ var next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__);
414
+ /* harmony import */ var next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(90771);
415
+ /* harmony import */ var next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8__);
416
+ /* harmony import */ var next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(73461);
417
+ /* harmony import */ var next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__);
418
+ /* harmony import */ var next_dist_server_instrumentation_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(67798);
419
+ /* harmony import */ var next_dist_server_send_response__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(92280);
420
+ /* harmony import */ var next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(62018);
421
+ /* harmony import */ var next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12__);
422
+ /* harmony import */ var next_dist_server_lib_cache_control__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(45696);
423
+ /* harmony import */ var next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(47929);
424
+ /* harmony import */ var next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__);
425
+ /* harmony import */ var next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(86439);
426
+ /* harmony import */ var next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15__);
427
+ /* harmony import */ var next_dist_server_lib_route_cache_key__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(10246);
428
+ /* harmony import */ var next_dist_server_lib_route_cache_key__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_route_cache_key__WEBPACK_IMPORTED_MODULE_16__);
429
+ /* harmony import */ var next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(37527);
430
+ /* harmony import */ var next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__);
664
431
 
665
- /***/ }),
666
432
 
667
- /***/ 57975:
668
- /***/ ((module) => {
669
433
 
670
- module.exports = require("node:util");
671
434
 
672
- /***/ }),
673
435
 
674
- /***/ 63033:
675
- /***/ ((module) => {
676
436
 
677
- module.exports = require("next/dist/server/app-render/work-unit-async-storage.external.js");
678
437
 
679
- /***/ }),
680
438
 
681
- /***/ 73024:
682
- /***/ ((module) => {
683
439
 
684
- module.exports = require("node:fs");
685
440
 
686
- /***/ }),
687
441
 
688
- /***/ 74809:
689
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
690
442
 
691
- __webpack_require__.r(__webpack_exports__);
692
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
693
- /* harmony export */ PATCH: () => (/* binding */ PATCH)
694
- /* harmony export */ });
695
- /* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23211);
696
- /* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(97377);
697
- /* harmony import */ var _lib_stores_threads__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83042);
698
- /* harmony import */ var _lib_agents_context_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39583);
699
- /* harmony import */ var _lib_agents_warm_summary_background__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(79640);
700
- /* harmony import */ var _lib_agents_conversation_summary__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(15393);
701
443
 
702
444
 
703
445
 
704
446
 
705
447
 
706
448
 
707
- // ADR-0042. Move the user's hot/warm boundary without sending a turn. The
708
- // summary refresh is kicked off asynchronously in background so the drag stays
709
- // snappy and the updated warm recap appears shortly after commit.
710
- const Body = zod__WEBPACK_IMPORTED_MODULE_4__/* .object */ .Ikc({
711
- hot_since_seq: zod__WEBPACK_IMPORTED_MODULE_4__/* .number */ .aig().int().positive().nullable()
449
+ // We inject the nextConfigOutput here so that we can use them in the route
450
+ // module.
451
+ const nextConfigOutput = "standalone"
452
+ const routeModule = new next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppRouteRouteModule({
453
+ definition: {
454
+ kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_ROUTE,
455
+ page: "/api/v1/threads/[thread_id]/context-pin/route",
456
+ pathname: "/api/v1/threads/[thread_id]/context-pin",
457
+ filename: "route",
458
+ bundlePath: "app/api/v1/threads/[thread_id]/context-pin/route"
459
+ },
460
+ distDir: ".next" || 0,
461
+ relativeProjectDir: false || '',
462
+ resolvedPagePath: "/home/runner/work/jarela/jarela/app/api/v1/threads/[thread_id]/context-pin/route.ts",
463
+ nextConfigOutput,
464
+ // The lazy require factory ensures that:
465
+ // - In dev: devRequestTimingInternalsEnd is set before userland executes,
466
+ // correctly attributing module load time to application-code rather than
467
+ // framework internals.
468
+ // - In all modes: async modules (route files with top-level await) are
469
+ // handled correctly — require() returns a Promise for such modules, which
470
+ // ensureUserland() awaits before the first request is handled.
471
+ userland: ()=>__webpack_require__(74809),
472
+ // In Turbopack dev mode, also provide a synchronous per-request getter so
473
+ // server HMR updates are picked up without re-executing the entry chunk.
474
+ // Using require() (synchronous) avoids adding async overhead that would be
475
+ // incorrectly attributed to application-code time in devRequestTiming.
476
+ ... false ? 0 : {}
712
477
  });
713
- async function PATCH(req, { params }) {
714
- const { thread_id } = await params;
715
- const thread = (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_1__/* .getThread */ .fG)(thread_id);
716
- if (!thread) return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({
717
- error: "Thread not found"
718
- }, {
719
- status: 404
478
+ // Pull out the exports that we need to expose from the module. This should
479
+ // be eliminated when we've moved the other routes to the new format. These
480
+ // are used to hook into the route.
481
+ const { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;
482
+ function patchFetch() {
483
+ return (0,next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__.patchFetch)({
484
+ workAsyncStorage,
485
+ workUnitAsyncStorage
720
486
  });
721
- const parsed = Body.safeParse(await req.json().catch(()=>null));
722
- if (!parsed.success) {
723
- return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({
724
- error: "Body must be { hot_since_seq: number | null }",
725
- code: "invalid_body"
726
- }, {
727
- status: 400
728
- });
487
+ }
488
+
489
+ async function handler(req, res, ctx) {
490
+ if (ctx.requestMeta) {
491
+ (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__.setRequestMeta)(req, ctx.requestMeta);
729
492
  }
730
- const requestedSeq = parsed.data.hot_since_seq;
731
- const source = typeof requestedSeq === "number" ? (0,_lib_stores_threads__WEBPACK_IMPORTED_MODULE_1__/* .getThreadMessageBySeq */ .wc)(thread_id, requestedSeq) : null;
732
- if (typeof requestedSeq === "number" && !source) {
733
- return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({
734
- error: "Boundary seq does not belong to this thread",
735
- code: "invalid_boundary"
736
- }, {
737
- status: 400
493
+ if (routeModule.isDev) {
494
+ (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__.addRequestMeta)(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());
495
+ }
496
+ let srcPage = "/api/v1/threads/[thread_id]/context-pin/route";
497
+ // turbopack doesn't normalize `/index` in the page name
498
+ // so we need to to process dynamic routes properly
499
+ // TODO: fix turbopack providing differing value from webpack
500
+ if (false) {} else if (srcPage === '/index') {
501
+ // we always normalize /index specifically
502
+ srcPage = '/';
503
+ }
504
+ const multiZoneDraftMode = false;
505
+ const prepareResult = await routeModule.prepare(req, res, {
506
+ srcPage,
507
+ multiZoneDraftMode
508
+ });
509
+ if (!prepareResult) {
510
+ res.statusCode = 400;
511
+ res.end('Bad Request');
512
+ ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());
513
+ return null;
514
+ }
515
+ const { buildId, deploymentId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest, previewProps } = prepareResult;
516
+ const normalizedSrcPage = (0,next_dist_shared_lib_router_utils_app_paths__WEBPACK_IMPORTED_MODULE_6__.normalizeAppPath)(srcPage);
517
+ // Only this route's prerenders can establish ISR or admit generated params.
518
+ const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]) && (routeModule.isDev || (0,next_dist_server_lib_route_cache_key__WEBPACK_IMPORTED_MODULE_16__.isRouteCacheOwner)(resolvedPathname, routeModule.cacheOwner, prerenderManifest.routes[resolvedPathname]));
519
+ let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || isPrerendered);
520
+ const render404 = async ()=>{
521
+ // TODO: should route-module itself handle rendering the 404
522
+ if (routerServerContext == null ? void 0 : routerServerContext.render404) {
523
+ await routerServerContext.render404(req, res, parsedUrl, false);
524
+ } else {
525
+ res.end('This page could not be found');
526
+ }
527
+ return null;
528
+ };
529
+ if (isIsr && !isDraftMode) {
530
+ const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];
531
+ if (prerenderInfo) {
532
+ if (prerenderInfo.fallback === false && !isPrerendered) {
533
+ if (nextConfig.adapterPath) {
534
+ return await render404();
535
+ }
536
+ throw new next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15__.NoFallbackError();
537
+ }
538
+ }
539
+ }
540
+ let cacheKey = null;
541
+ if (isIsr && !routeModule.isDev && !isDraftMode) {
542
+ cacheKey = resolvedPathname;
543
+ // ensure /index and / is normalized to one key
544
+ cacheKey = cacheKey === '/index' ? '/' : cacheKey;
545
+ }
546
+ // Before rendering (which initializes component tree modules), we have to
547
+ // set the reference manifests to our global store so Server Action's
548
+ // encryption util can access to them at the top level of the page module.
549
+ if (serverActionsManifest && clientReferenceManifest) {
550
+ (0,next_dist_server_app_render_manifests_singleton__WEBPACK_IMPORTED_MODULE_5__.setManifestsSingleton)({
551
+ page: srcPage,
552
+ clientReferenceManifest,
553
+ serverActionsManifest
738
554
  });
739
555
  }
740
- const updated = (0,_lib_agents_context_boundary__WEBPACK_IMPORTED_MODULE_2__/* .moveThreadContextBoundary */ .$)(thread_id, requestedSeq, {
741
- refreshWarmSummary: true
742
- });
743
- return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({
744
- hot_since: updated?.hot_since ?? null,
745
- hot_since_seq: updated?.hot_since_seq ?? null,
746
- warm_summary: updated?.warm_summary ?? null,
747
- warm_summary_before: updated?.warm_summary_before ?? null,
748
- warm_summary_before_seq: updated?.warm_summary_before_seq ?? null,
749
- warm_summary_computed_at: updated?.warm_summary_computed_at ?? null,
750
- warm_summary_source_messages: updated?.warm_summary_source_messages ?? null,
751
- warm_summary_source_chars: updated?.warm_summary_source_chars ?? null,
752
- warm_summary_topics: (0,_lib_agents_conversation_summary__WEBPACK_IMPORTED_MODULE_5__/* .parseStoredTopics */ .hP)(updated?.warm_summary_topics),
753
- pending_hot_since: (0,_lib_agents_warm_summary_background__WEBPACK_IMPORTED_MODULE_3__/* .pendingCompactionBoundary */ .Xm)(thread_id),
754
- pending_hot_since_seq: (0,_lib_agents_warm_summary_background__WEBPACK_IMPORTED_MODULE_3__/* .pendingCompactionBoundarySeq */ .Wn)(thread_id)
755
- });
556
+ const method = req.method || 'GET';
557
+ const tracer = (0,next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__.getTracer)();
558
+ const activeSpan = tracer.getActiveScopeSpan();
559
+ const isWrappedByNextServer = Boolean(routerServerContext == null ? void 0 : routerServerContext.isWrappedByNextServer);
560
+ const isMinimalMode = Boolean((0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__.getRequestMeta)(req, 'minimalMode'));
561
+ const incrementalCache = (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__.getRequestMeta)(req, 'incrementalCache') || await routeModule.getIncrementalCache(req, nextConfig, previewProps, prerenderManifest, isMinimalMode);
562
+ incrementalCache == null ? void 0 : incrementalCache.resetRequestCache();
563
+ globalThis.__incrementalCache = incrementalCache;
564
+ const context = {
565
+ params,
566
+ previewProps,
567
+ renderOpts: {
568
+ experimental: {
569
+ authInterrupts: Boolean(nextConfig.experimental.authInterrupts),
570
+ useCacheTimeout: nextConfig.experimental.useCacheTimeout,
571
+ durableUseCacheEntries: Boolean(nextConfig.experimental.durableUseCacheEntries)
572
+ },
573
+ cacheComponents: Boolean(nextConfig.cacheComponents),
574
+ validationLevel: nextConfig.experimental.instantInsights.validationLevel,
575
+ isDraftMode,
576
+ incrementalCache,
577
+ hmrRefreshHash: (0,next_dist_server_request_meta__WEBPACK_IMPORTED_MODULE_3__.getRequestMeta)(req, 'hmrRefreshHash'),
578
+ cacheLifeProfiles: nextConfig.cacheLife,
579
+ staticPageGenerationTimeout: nextConfig.staticPageGenerationTimeout,
580
+ waitUntil: ctx.waitUntil,
581
+ onClose: (cb)=>{
582
+ res.on('close', cb);
583
+ },
584
+ onAfterTaskError: undefined
585
+ },
586
+ sharedContext: {
587
+ buildId,
588
+ deploymentId
589
+ }
590
+ };
591
+ const nodeNextReq = new next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__.NodeNextRequest(req);
592
+ const nodeNextRes = new next_dist_server_base_http_node__WEBPACK_IMPORTED_MODULE_7__.NodeNextResponse(res);
593
+ const nextReq = next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8__.NextRequestAdapter.fromNodeNextRequest(nodeNextReq, (0,next_dist_server_web_spec_extension_adapters_next_request__WEBPACK_IMPORTED_MODULE_8__.signalFromNodeResponse)(res));
594
+ const responseGenerator = async ({ previousCacheEntry })=>{
595
+ try {
596
+ if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {
597
+ res.statusCode = 404;
598
+ // on-demand revalidate always sets this header
599
+ res.setHeader('x-nextjs-cache', 'REVALIDATED');
600
+ res.end('This page could not be found');
601
+ return null;
602
+ }
603
+ const response = cacheKey === null ? await routeModule.handle(nextReq, context) : await routeModule.prerender(nextReq, context);
604
+ req.fetchMetrics = context.renderOpts.fetchMetrics;
605
+ let pendingWaitUntil = context.renderOpts.pendingWaitUntil;
606
+ // Attempt using provided waitUntil if available
607
+ // if it's not we fallback to sendResponse's handling
608
+ if (pendingWaitUntil) {
609
+ if (ctx.waitUntil) {
610
+ ctx.waitUntil(pendingWaitUntil);
611
+ pendingWaitUntil = undefined;
612
+ }
613
+ }
614
+ const cacheTags = context.renderOpts.collectedTags;
615
+ // If the request is for a static response, we can cache it so long
616
+ // as it's not edge.
617
+ if (isIsr) {
618
+ const blob = await response.blob();
619
+ // Copy the headers from the response.
620
+ const headers = (0,next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12__.toNodeOutgoingHttpHeaders)(response.headers);
621
+ if (cacheTags) {
622
+ headers[next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__.NEXT_CACHE_TAGS_HEADER] = cacheTags;
623
+ }
624
+ if (!headers['content-type'] && blob.type) {
625
+ headers['content-type'] = blob.type;
626
+ }
627
+ const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__.INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;
628
+ const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__.INFINITE_CACHE ? // route has a numeric `revalidate` but didn't declare an
629
+ // explicit `expire` (e.g. via `cacheLife`). This mirrors the
630
+ // build-time fallback in `build/index.ts` so cache entries
631
+ // and the response Cache-Control header agree on the route's
632
+ // effective expire. Routes that opt out of revalidation
633
+ // (`revalidate: false`) or that are dynamic (`revalidate: 0`)
634
+ // keep `expire: undefined`.
635
+ revalidate !== false && revalidate > 0 ? nextConfig.expireTime : undefined : context.renderOpts.collectedExpire;
636
+ // Create the cache entry for the response.
637
+ const cacheEntry = {
638
+ value: {
639
+ kind: next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__.CachedRouteKind.APP_ROUTE,
640
+ status: response.status,
641
+ body: Buffer.from(await blob.arrayBuffer()),
642
+ headers
643
+ },
644
+ cacheControl: {
645
+ revalidate,
646
+ expire
647
+ }
648
+ };
649
+ return cacheEntry;
650
+ } else {
651
+ // send response without caching if not ISR
652
+ await (0,next_dist_server_send_response__WEBPACK_IMPORTED_MODULE_11__/* .sendResponse */ .I)(nodeNextReq, nodeNextRes, response, pendingWaitUntil);
653
+ return null;
654
+ }
655
+ } catch (err) {
656
+ // if this is a background revalidate we need to report
657
+ // the request error here as it won't be bubbled
658
+ if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {
659
+ const silenceLog = false;
660
+ await routeModule.onRequestError(req, err, {
661
+ routerKind: 'App Router',
662
+ routePath: srcPage,
663
+ routeType: 'route',
664
+ revalidateReason: (0,next_dist_server_instrumentation_utils__WEBPACK_IMPORTED_MODULE_10__.getRevalidateReason)({
665
+ isStaticGeneration: cacheKey !== null,
666
+ isOnDemandRevalidate
667
+ })
668
+ }, silenceLog, routerServerContext);
669
+ }
670
+ throw err;
671
+ }
672
+ };
673
+ const handleResponse = async (currentSpan, parentSpan)=>{
674
+ try {
675
+ var _cacheEntry_value;
676
+ const cacheEntry = await routeModule.handleResponse({
677
+ req,
678
+ nextConfig,
679
+ cacheKey,
680
+ routeKind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_ROUTE,
681
+ isFallback: false,
682
+ previewProps,
683
+ prerenderManifest,
684
+ isRoutePPREnabled: false,
685
+ isOnDemandRevalidate,
686
+ revalidateOnlyGenerated,
687
+ responseGenerator,
688
+ waitUntil: ctx.waitUntil,
689
+ isMinimalMode
690
+ });
691
+ if (cacheEntry !== null && 'error' in cacheEntry) {
692
+ throw cacheEntry.error;
693
+ }
694
+ // we don't create a cacheEntry for ISR
695
+ if (!isIsr) {
696
+ return;
697
+ }
698
+ if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== next_dist_server_response_cache__WEBPACK_IMPORTED_MODULE_17__.CachedRouteKind.APP_ROUTE) {
699
+ var _cacheEntry_value1;
700
+ throw new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`);
701
+ }
702
+ if (!isMinimalMode) {
703
+ res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');
704
+ }
705
+ // Draft mode should never be cached
706
+ if (isDraftMode) {
707
+ res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');
708
+ }
709
+ const headers = (0,next_dist_server_web_utils__WEBPACK_IMPORTED_MODULE_12__.fromNodeOutgoingHttpHeaders)(cacheEntry.value.headers);
710
+ if (!(isMinimalMode && isIsr)) {
711
+ headers.delete(next_dist_lib_constants__WEBPACK_IMPORTED_MODULE_14__.NEXT_CACHE_TAGS_HEADER);
712
+ }
713
+ // If cache control is already set on the response we don't
714
+ // override it to allow users to customize it via next.config
715
+ if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {
716
+ headers.set('Cache-Control', (0,next_dist_server_lib_cache_control__WEBPACK_IMPORTED_MODULE_13__.getCacheControlHeader)(cacheEntry.cacheControl));
717
+ }
718
+ await (0,next_dist_server_send_response__WEBPACK_IMPORTED_MODULE_11__/* .sendResponse */ .I)(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.
719
+ new Response(cacheEntry.value.body, {
720
+ headers,
721
+ status: cacheEntry.value.status || 200
722
+ }));
723
+ return;
724
+ } catch (err) {
725
+ if (!(err instanceof next_dist_shared_lib_no_fallback_error_external__WEBPACK_IMPORTED_MODULE_15__.NoFallbackError)) {
726
+ const silenceLog = false;
727
+ await routeModule.onRequestError(req, err, {
728
+ routerKind: 'App Router',
729
+ routePath: normalizedSrcPage,
730
+ routeType: 'route',
731
+ revalidateReason: (0,next_dist_server_instrumentation_utils__WEBPACK_IMPORTED_MODULE_10__.getRevalidateReason)({
732
+ isStaticGeneration: cacheKey !== null,
733
+ isOnDemandRevalidate
734
+ })
735
+ }, silenceLog, routerServerContext);
736
+ }
737
+ // rethrow so that we can handle serving error page
738
+ // If this is during static generation, throw the error again.
739
+ if (isIsr) throw err;
740
+ // Otherwise, send a 500 response unless the original response has
741
+ // already committed. In that case, preserve its status code for
742
+ // telemetry while still recording the failure and terminating a response
743
+ // that the failed pipeline left open.
744
+ if (res.headersSent) {
745
+ if (currentSpan) {
746
+ const error = err instanceof Error ? err : new Error('Unknown app route error');
747
+ currentSpan.recordException(error);
748
+ currentSpan.setStatus({
749
+ code: next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__.SpanStatusCode.ERROR,
750
+ message: error.message
751
+ });
752
+ currentSpan.setAttribute('error.type', error.name);
753
+ }
754
+ if (!res.writableEnded && !res.destroyed) {
755
+ res.end();
756
+ }
757
+ } else {
758
+ await (0,next_dist_server_send_response__WEBPACK_IMPORTED_MODULE_11__/* .sendResponse */ .I)(nodeNextReq, nodeNextRes, new Response(null, {
759
+ status: 500
760
+ }));
761
+ }
762
+ return;
763
+ } finally{
764
+ ;
765
+ (()=>{
766
+ if (!currentSpan) {
767
+ return;
768
+ }
769
+ let statusCode = res.statusCode;
770
+ currentSpan.setAttributes({
771
+ 'http.status_code': statusCode,
772
+ 'next.rsc': false
773
+ });
774
+ if (statusCode && statusCode >= 500) {
775
+ // For 5xx status codes: SHOULD be set to 'Error' span status.
776
+ // x-ref: https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status
777
+ currentSpan.setStatus({
778
+ code: next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__.SpanStatusCode.ERROR
779
+ });
780
+ // For span status 'Error', SHOULD set 'error.type' attribute.
781
+ currentSpan.setAttribute('error.type', statusCode.toString());
782
+ }
783
+ const rootSpanAttributes = tracer.getRootSpanAttributes();
784
+ // We were unable to get attributes, probably OTEL is not enabled
785
+ if (!rootSpanAttributes) {
786
+ return;
787
+ }
788
+ if (rootSpanAttributes.get('next.span_type') !== next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__.BaseServerSpan.handleRequest) {
789
+ console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);
790
+ return;
791
+ }
792
+ const route = rootSpanAttributes.get('next.route') || normalizedSrcPage;
793
+ const name = `${method} ${route}`;
794
+ currentSpan.setAttributes({
795
+ 'next.route': route,
796
+ 'http.route': route,
797
+ 'next.span_name': name
798
+ });
799
+ currentSpan.updateName(name);
800
+ // Propagate http.route to the parent span if one exists (e.g.
801
+ // a platform-created HTTP span in adapter deployments).
802
+ if (parentSpan && parentSpan !== currentSpan) {
803
+ parentSpan.setAttribute('http.route', route);
804
+ parentSpan.updateName(name);
805
+ }
806
+ })();
807
+ }
808
+ };
809
+ // TODO: activeSpan code path is for when wrapped by
810
+ // next-server can be removed when this is no longer used
811
+ if (isWrappedByNextServer && activeSpan) {
812
+ await handleResponse(activeSpan, undefined);
813
+ } else {
814
+ let parentSpan = tracer.getActiveScopeSpan();
815
+ await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_9__.BaseServerSpan.handleRequest, {
816
+ spanName: `${method} ${srcPage}`,
817
+ kind: next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_4__.SpanKind.SERVER,
818
+ attributes: {
819
+ 'http.method': method,
820
+ 'http.target': req.url
821
+ }
822
+ }, (span)=>handleResponse(span, parentSpan)), undefined, !isWrappedByNextServer);
823
+ }
756
824
  }
757
825
 
826
+ //# sourceMappingURL=app-route.js.map
758
827
 
759
- /***/ }),
760
-
761
- /***/ 75919:
762
- /***/ ((module) => {
763
-
764
- module.exports = require("node:worker_threads");
765
-
766
- /***/ }),
767
-
768
- /***/ 76760:
769
- /***/ ((module) => {
770
-
771
- module.exports = require("node:path");
772
-
773
- /***/ }),
774
-
775
- /***/ 77598:
776
- /***/ ((module) => {
777
-
778
- module.exports = require("node:crypto");
779
-
780
- /***/ }),
781
-
782
- /***/ 79428:
783
- /***/ ((module) => {
784
-
785
- module.exports = require("buffer");
786
-
787
- /***/ }),
788
-
789
- /***/ 80099:
790
- /***/ ((module) => {
791
-
792
- module.exports = require("node:sqlite");
793
-
794
- /***/ }),
795
-
796
- /***/ 80481:
797
- /***/ ((module) => {
798
-
799
- module.exports = require("node:readline");
800
-
801
- /***/ }),
802
-
803
- /***/ 81630:
804
- /***/ ((module) => {
805
-
806
- module.exports = require("http");
807
-
808
- /***/ }),
809
-
810
- /***/ 86439:
811
- /***/ ((module) => {
812
-
813
- module.exports = require("next/dist/shared/lib/no-fallback-error.external");
814
-
815
- /***/ }),
816
-
817
- /***/ 94735:
818
- /***/ ((module) => {
819
-
820
- module.exports = require("events");
821
828
 
822
829
  /***/ }),
823
830
 
@@ -835,7 +842,7 @@ module.exports = import("@huggingface/transformers");;
835
842
  var __webpack_require__ = require("../../../../../../webpack-runtime.js");
836
843
  __webpack_require__.C(exports);
837
844
  var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
838
- var __webpack_exports__ = __webpack_require__.X(0, [2970,7377,1813,7981,4992,46,3042,9640], () => (__webpack_exec__(14345)));
845
+ var __webpack_exports__ = __webpack_require__.X(0, [2970,7377,1813,7981,4992,46,3042,9304], () => (__webpack_exec__(96915)));
839
846
  module.exports = __webpack_exports__;
840
847
 
841
848
  })();