@jlongo78/agent-spaces 0.9.9 → 0.9.10

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 (289) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +2 -2
  3. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  4. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  11. package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  18. package/.next/standalone/.next/server/app/admin/analytics.html +1 -1
  19. package/.next/standalone/.next/server/app/admin/analytics.rsc +1 -1
  20. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics/__PAGE__.segment.rsc +1 -1
  21. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics.segment.rsc +1 -1
  22. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  24. package/.next/standalone/.next/server/app/admin/analytics.segments/_full.segment.rsc +1 -1
  25. package/.next/standalone/.next/server/app/admin/analytics.segments/_head.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/app/admin/analytics.segments/_index.segment.rsc +1 -1
  27. package/.next/standalone/.next/server/app/admin/analytics.segments/_tree.segment.rsc +1 -1
  28. package/.next/standalone/.next/server/app/admin/users.html +1 -1
  29. package/.next/standalone/.next/server/app/admin/users.rsc +1 -1
  30. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users/__PAGE__.segment.rsc +1 -1
  31. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users.segment.rsc +1 -1
  32. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  33. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  34. package/.next/standalone/.next/server/app/admin/users.segments/_full.segment.rsc +1 -1
  35. package/.next/standalone/.next/server/app/admin/users.segments/_head.segment.rsc +1 -1
  36. package/.next/standalone/.next/server/app/admin/users.segments/_index.segment.rsc +1 -1
  37. package/.next/standalone/.next/server/app/admin/users.segments/_tree.segment.rsc +1 -1
  38. package/.next/standalone/.next/server/app/analytics.html +1 -1
  39. package/.next/standalone/.next/server/app/analytics.rsc +1 -1
  40. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics/__PAGE__.segment.rsc +1 -1
  41. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics.segment.rsc +1 -1
  42. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  43. package/.next/standalone/.next/server/app/analytics.segments/_full.segment.rsc +1 -1
  44. package/.next/standalone/.next/server/app/analytics.segments/_head.segment.rsc +1 -1
  45. package/.next/standalone/.next/server/app/analytics.segments/_index.segment.rsc +1 -1
  46. package/.next/standalone/.next/server/app/analytics.segments/_tree.segment.rsc +1 -1
  47. package/.next/standalone/.next/server/app/api/chat/route.js +1 -1
  48. package/.next/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/cortex/status/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js +1 -1
  51. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/whisper/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/cortex.html +1 -1
  54. package/.next/standalone/.next/server/app/cortex.rsc +1 -1
  55. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex/__PAGE__.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex.segment.rsc +1 -1
  57. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  58. package/.next/standalone/.next/server/app/cortex.segments/_full.segment.rsc +1 -1
  59. package/.next/standalone/.next/server/app/cortex.segments/_head.segment.rsc +1 -1
  60. package/.next/standalone/.next/server/app/cortex.segments/_index.segment.rsc +1 -1
  61. package/.next/standalone/.next/server/app/cortex.segments/_tree.segment.rsc +1 -1
  62. package/.next/standalone/.next/server/app/login.html +1 -1
  63. package/.next/standalone/.next/server/app/login.rsc +1 -1
  64. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +1 -1
  65. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  66. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +1 -1
  67. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  68. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  69. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  70. package/.next/standalone/.next/server/app/m/projects.html +1 -1
  71. package/.next/standalone/.next/server/app/m/projects.rsc +1 -1
  72. package/.next/standalone/.next/server/app/m/projects.segments/_full.segment.rsc +1 -1
  73. package/.next/standalone/.next/server/app/m/projects.segments/_head.segment.rsc +1 -1
  74. package/.next/standalone/.next/server/app/m/projects.segments/_index.segment.rsc +1 -1
  75. package/.next/standalone/.next/server/app/m/projects.segments/_tree.segment.rsc +1 -1
  76. package/.next/standalone/.next/server/app/m/projects.segments/m/projects/__PAGE__.segment.rsc +1 -1
  77. package/.next/standalone/.next/server/app/m/projects.segments/m/projects.segment.rsc +1 -1
  78. package/.next/standalone/.next/server/app/m/projects.segments/m.segment.rsc +1 -1
  79. package/.next/standalone/.next/server/app/m/sessions.html +1 -1
  80. package/.next/standalone/.next/server/app/m/sessions.rsc +1 -1
  81. package/.next/standalone/.next/server/app/m/sessions.segments/_full.segment.rsc +1 -1
  82. package/.next/standalone/.next/server/app/m/sessions.segments/_head.segment.rsc +1 -1
  83. package/.next/standalone/.next/server/app/m/sessions.segments/_index.segment.rsc +1 -1
  84. package/.next/standalone/.next/server/app/m/sessions.segments/_tree.segment.rsc +1 -1
  85. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions/__PAGE__.segment.rsc +1 -1
  86. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions.segment.rsc +1 -1
  87. package/.next/standalone/.next/server/app/m/sessions.segments/m.segment.rsc +1 -1
  88. package/.next/standalone/.next/server/app/m/settings.html +1 -1
  89. package/.next/standalone/.next/server/app/m/settings.rsc +1 -1
  90. package/.next/standalone/.next/server/app/m/settings.segments/_full.segment.rsc +1 -1
  91. package/.next/standalone/.next/server/app/m/settings.segments/_head.segment.rsc +1 -1
  92. package/.next/standalone/.next/server/app/m/settings.segments/_index.segment.rsc +1 -1
  93. package/.next/standalone/.next/server/app/m/settings.segments/_tree.segment.rsc +1 -1
  94. package/.next/standalone/.next/server/app/m/settings.segments/m/settings/__PAGE__.segment.rsc +1 -1
  95. package/.next/standalone/.next/server/app/m/settings.segments/m/settings.segment.rsc +1 -1
  96. package/.next/standalone/.next/server/app/m/settings.segments/m.segment.rsc +1 -1
  97. package/.next/standalone/.next/server/app/m/terminal.html +1 -1
  98. package/.next/standalone/.next/server/app/m/terminal.rsc +1 -1
  99. package/.next/standalone/.next/server/app/m/terminal.segments/_full.segment.rsc +1 -1
  100. package/.next/standalone/.next/server/app/m/terminal.segments/_head.segment.rsc +1 -1
  101. package/.next/standalone/.next/server/app/m/terminal.segments/_index.segment.rsc +1 -1
  102. package/.next/standalone/.next/server/app/m/terminal.segments/_tree.segment.rsc +1 -1
  103. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal/__PAGE__.segment.rsc +1 -1
  104. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal.segment.rsc +1 -1
  105. package/.next/standalone/.next/server/app/m/terminal.segments/m.segment.rsc +1 -1
  106. package/.next/standalone/.next/server/app/m.html +1 -1
  107. package/.next/standalone/.next/server/app/m.rsc +1 -1
  108. package/.next/standalone/.next/server/app/m.segments/_full.segment.rsc +1 -1
  109. package/.next/standalone/.next/server/app/m.segments/_head.segment.rsc +1 -1
  110. package/.next/standalone/.next/server/app/m.segments/_index.segment.rsc +1 -1
  111. package/.next/standalone/.next/server/app/m.segments/_tree.segment.rsc +1 -1
  112. package/.next/standalone/.next/server/app/m.segments/m/__PAGE__.segment.rsc +1 -1
  113. package/.next/standalone/.next/server/app/m.segments/m.segment.rsc +1 -1
  114. package/.next/standalone/.next/server/app/network.html +1 -1
  115. package/.next/standalone/.next/server/app/network.rsc +1 -1
  116. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network/__PAGE__.segment.rsc +1 -1
  117. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network.segment.rsc +1 -1
  118. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  119. package/.next/standalone/.next/server/app/network.segments/_full.segment.rsc +1 -1
  120. package/.next/standalone/.next/server/app/network.segments/_head.segment.rsc +1 -1
  121. package/.next/standalone/.next/server/app/network.segments/_index.segment.rsc +1 -1
  122. package/.next/standalone/.next/server/app/network.segments/_tree.segment.rsc +1 -1
  123. package/.next/standalone/.next/server/app/projects.html +1 -1
  124. package/.next/standalone/.next/server/app/projects.rsc +1 -1
  125. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects/__PAGE__.segment.rsc +1 -1
  126. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects.segment.rsc +1 -1
  127. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  128. package/.next/standalone/.next/server/app/projects.segments/_full.segment.rsc +1 -1
  129. package/.next/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  130. package/.next/standalone/.next/server/app/projects.segments/_index.segment.rsc +1 -1
  131. package/.next/standalone/.next/server/app/projects.segments/_tree.segment.rsc +1 -1
  132. package/.next/standalone/.next/server/app/sessions.html +1 -1
  133. package/.next/standalone/.next/server/app/sessions.rsc +1 -1
  134. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions/__PAGE__.segment.rsc +1 -1
  135. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions.segment.rsc +1 -1
  136. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  137. package/.next/standalone/.next/server/app/sessions.segments/_full.segment.rsc +1 -1
  138. package/.next/standalone/.next/server/app/sessions.segments/_head.segment.rsc +1 -1
  139. package/.next/standalone/.next/server/app/sessions.segments/_index.segment.rsc +1 -1
  140. package/.next/standalone/.next/server/app/sessions.segments/_tree.segment.rsc +1 -1
  141. package/.next/standalone/.next/server/app/settings.html +1 -1
  142. package/.next/standalone/.next/server/app/settings.rsc +1 -1
  143. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings/__PAGE__.segment.rsc +1 -1
  144. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings.segment.rsc +1 -1
  145. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  146. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  147. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  148. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  149. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  150. package/.next/standalone/.next/server/app/terminal.html +1 -1
  151. package/.next/standalone/.next/server/app/terminal.rsc +1 -1
  152. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal/__PAGE__.segment.rsc +1 -1
  153. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal.segment.rsc +1 -1
  154. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  155. package/.next/standalone/.next/server/app/terminal.segments/_full.segment.rsc +1 -1
  156. package/.next/standalone/.next/server/app/terminal.segments/_head.segment.rsc +1 -1
  157. package/.next/standalone/.next/server/app/terminal.segments/_index.segment.rsc +1 -1
  158. package/.next/standalone/.next/server/app/terminal.segments/_tree.segment.rsc +1 -1
  159. package/.next/standalone/.next/server/app/vr.html +1 -1
  160. package/.next/standalone/.next/server/app/vr.rsc +1 -1
  161. package/.next/standalone/.next/server/app/vr.segments/_full.segment.rsc +1 -1
  162. package/.next/standalone/.next/server/app/vr.segments/_head.segment.rsc +1 -1
  163. package/.next/standalone/.next/server/app/vr.segments/_index.segment.rsc +1 -1
  164. package/.next/standalone/.next/server/app/vr.segments/_tree.segment.rsc +1 -1
  165. package/.next/standalone/.next/server/app/vr.segments/vr/__PAGE__.segment.rsc +1 -1
  166. package/.next/standalone/.next/server/app/vr.segments/vr.segment.rsc +1 -1
  167. package/.next/standalone/.next/server/app/workspaces.html +1 -1
  168. package/.next/standalone/.next/server/app/workspaces.rsc +1 -1
  169. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces/__PAGE__.segment.rsc +1 -1
  170. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces.segment.rsc +1 -1
  171. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  172. package/.next/standalone/.next/server/app/workspaces.segments/_full.segment.rsc +1 -1
  173. package/.next/standalone/.next/server/app/workspaces.segments/_head.segment.rsc +1 -1
  174. package/.next/standalone/.next/server/app/workspaces.segments/_index.segment.rsc +1 -1
  175. package/.next/standalone/.next/server/app/workspaces.segments/_tree.segment.rsc +1 -1
  176. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00e90fc6._.js +1 -1
  177. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01ab8675._.js +1 -1
  178. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03974f05._.js +1 -1
  179. package/.next/standalone/.next/server/chunks/[root-of-the-server]__046c9b91._.js +3 -3
  180. package/.next/standalone/.next/server/chunks/[root-of-the-server]__04ae6bf0._.js +1 -1
  181. package/.next/standalone/.next/server/chunks/[root-of-the-server]__056fa416._.js +1 -1
  182. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ac4ea3f._.js +1 -1
  183. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b8e64cb._.js +1 -1
  184. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0facd39e._.js +1 -1
  185. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10bc76a3._.js +1 -1
  186. package/.next/standalone/.next/server/chunks/[root-of-the-server]__115f3934._.js +1 -1
  187. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11f155f1._.js +1 -1
  188. package/.next/standalone/.next/server/chunks/[root-of-the-server]__17a3b966._.js +1 -1
  189. package/.next/standalone/.next/server/chunks/[root-of-the-server]__17d3a2b2._.js +1 -1
  190. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1a86c055._.js +2 -2
  191. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__e2a996e5._.js → [root-of-the-server]__1fe0f452._.js} +4 -4
  192. package/.next/standalone/.next/server/chunks/[root-of-the-server]__20b5e9c4._.js +1 -1
  193. package/.next/standalone/.next/server/chunks/[root-of-the-server]__28d6fbd8._.js +1 -1
  194. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2a3f866b._.js +1 -1
  195. package/.next/standalone/.next/server/chunks/[root-of-the-server]__316617e7._.js +3 -3
  196. package/.next/standalone/.next/server/chunks/[root-of-the-server]__32ad8f71._.js +1 -1
  197. package/.next/standalone/.next/server/chunks/[root-of-the-server]__35457394._.js +2 -2
  198. package/.next/standalone/.next/server/chunks/[root-of-the-server]__35de78e6._.js +1 -1
  199. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3685ffcb._.js +1 -1
  200. package/.next/standalone/.next/server/chunks/[root-of-the-server]__38954988._.js +2 -2
  201. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3a32b624._.js +1 -1
  202. package/.next/standalone/.next/server/chunks/[root-of-the-server]__426ad936._.js +1 -1
  203. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4985c034._.js +1 -1
  204. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c6ce9ed._.js +2 -2
  205. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5cebe58a._.js +1 -1
  206. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5d5e4789._.js +1 -1
  207. package/.next/standalone/.next/server/chunks/[root-of-the-server]__65676930._.js +1 -1
  208. package/.next/standalone/.next/server/chunks/[root-of-the-server]__67cab326._.js +1 -1
  209. package/.next/standalone/.next/server/chunks/[root-of-the-server]__698c6f01._.js +1 -1
  210. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6c64af29._.js +2 -2
  211. package/.next/standalone/.next/server/chunks/[root-of-the-server]__73aed9f5._.js +1 -1
  212. package/.next/standalone/.next/server/chunks/[root-of-the-server]__79b6a9bb._.js +1 -1
  213. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7db704c6._.js +1 -1
  214. package/.next/standalone/.next/server/chunks/[root-of-the-server]__812ca02b._.js +1 -1
  215. package/.next/standalone/.next/server/chunks/[root-of-the-server]__821f50fa._.js +1 -1
  216. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8716b86e._.js +1 -1
  217. package/.next/standalone/.next/server/chunks/[root-of-the-server]__884ef754._.js +1 -1
  218. package/.next/standalone/.next/server/chunks/[root-of-the-server]__88cdbd68._.js +1 -1
  219. package/.next/standalone/.next/server/chunks/[root-of-the-server]__89d9aba9._.js +2 -2
  220. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8c2e1260._.js +2 -2
  221. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8d536cb5._.js +2 -2
  222. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8df8c5d1._.js +2 -2
  223. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8f2ccc41._.js +2 -2
  224. package/.next/standalone/.next/server/chunks/[root-of-the-server]__95c9d682._.js +2 -2
  225. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e5d7774._.js +1 -1
  226. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9edcff87._.js +1 -1
  227. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a049dfc2._.js +1 -1
  228. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a5b4bb9a._.js +3 -3
  229. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a83262a1._.js +2 -2
  230. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9cd1240._.js +1 -1
  231. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9d7f822._.js +2 -2
  232. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad08c221._.js +1 -1
  233. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad585f2f._.js +1 -1
  234. package/.next/standalone/.next/server/chunks/[root-of-the-server]__afcb8f7d._.js +2 -2
  235. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bc250d43._.js +1 -1
  236. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bce2a6e7._.js +1 -1
  237. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bfcd7fd4._.js +13 -0
  238. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c011bf91._.js +1 -1
  239. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c37d6380._.js +1 -1
  240. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cae392eb._.js +1 -1
  241. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d501fa9b._.js +1 -1
  242. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d59c6c15._.js +3 -3
  243. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d5c1db32._.js +2 -2
  244. package/.next/standalone/.next/server/chunks/[root-of-the-server]__dba60c86._.js +1 -1
  245. package/.next/standalone/.next/server/chunks/[root-of-the-server]__de14b9ae._.js +1 -1
  246. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e10643d1._.js +1 -1
  247. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e3477417._.js +1 -1
  248. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e4db362e._.js +1 -1
  249. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e4e70b86._.js +1 -1
  250. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e54925af._.js +1 -1
  251. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e8cbeaca._.js +1 -1
  252. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e8edc5b0._.js +1 -1
  253. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eab4d83b._.js +2 -2
  254. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f056fd83._.js +1 -1
  255. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f0e99572._.js +2 -2
  256. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fe1e16d0._.js +1 -1
  257. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ff9cd277._.js +1 -1
  258. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ffaea2ce._.js +1 -1
  259. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__66aca5d4._.js +1 -1
  260. package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__90eeddae._.js +1 -1
  261. package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__ca3f649e._.js +2 -2
  262. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  263. package/.next/standalone/.next/server/pages/404.html +1 -1
  264. package/.next/standalone/.next/server/pages/500.html +2 -2
  265. package/.next/standalone/bin/cortex-hook.js +8 -3
  266. package/.next/standalone/bin/cortex-learn-hook.js +7 -2
  267. package/.next/standalone/bin/scrub-standalone.js +89 -0
  268. package/.next/standalone/bin/terminal-server.js +44 -16
  269. package/.next/standalone/package-lock.json +2 -2
  270. package/.next/standalone/package.json +2 -2
  271. package/.next/standalone/src/app/api/chat/route.ts +56 -53
  272. package/.next/standalone/src/app/api/sessions/[id]/chat/route.ts +2 -1
  273. package/.next/standalone/src/lib/spawn-env.ts +32 -0
  274. package/.next/standalone/src/lib/terminal/server.ts +3 -3
  275. package/.next/standalone/src/middleware.ts +23 -5
  276. package/bin/cortex-hook.js +8 -3
  277. package/bin/cortex-learn-hook.js +7 -2
  278. package/bin/scrub-standalone.js +89 -0
  279. package/bin/terminal-server.js +44 -16
  280. package/package.json +2 -2
  281. package/.next/standalone/.claude/settings.local.json +0 -68
  282. package/.next/standalone/.claude/spaces-env.json +0 -1
  283. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ead29015._.js +0 -13
  284. package/.next/standalone/.spaces/cortex-context.md +0 -51
  285. package/.next/standalone/cortex-hook-debug.log +0 -118
  286. package/.next/standalone/docs/plans/2026-03-02-security-audit.md +0 -229
  287. /package/.next/standalone/.next/static/{bAQs2gDlFrq3e8w9ni9tr → HNrWymrkgOP9Z4WIaYeOj}/_buildManifest.js +0 -0
  288. /package/.next/standalone/.next/static/{bAQs2gDlFrq3e8w9ni9tr → HNrWymrkgOP9Z4WIaYeOj}/_clientMiddlewareManifest.json +0 -0
  289. /package/.next/standalone/.next/static/{bAQs2gDlFrq3e8w9ni9tr → HNrWymrkgOP9Z4WIaYeOj}/_ssgManifest.js +0 -0
@@ -2,11 +2,16 @@
2
2
  'use strict';
3
3
  const http = require('http');
4
4
  const fs = require('fs');
5
+ const os = require('os');
5
6
  const path = require('path');
6
7
 
7
- const LOG_FILE = path.join(process.cwd(), 'cortex-hook-debug.log');
8
+ const LOG_DIR = path.join(os.homedir(), '.spaces', 'logs');
9
+ const LOG_FILE = path.join(LOG_DIR, 'cortex-hook-debug.log');
8
10
  function log(msg) {
9
- try { fs.appendFileSync(LOG_FILE, "[" + new Date().toISOString() + "] " + msg + "\n"); } catch(e) {}
11
+ try {
12
+ fs.mkdirSync(LOG_DIR, { recursive: true });
13
+ fs.appendFileSync(LOG_FILE, "[" + new Date().toISOString() + "] " + msg + "\n");
14
+ } catch(e) {}
10
15
  }
11
16
 
12
17
  function readSpacesEnv() {
@@ -49,7 +54,7 @@ async function main() {
49
54
 
50
55
  const query = encodeURIComponent(prompt);
51
56
  const url = "http://localhost:" + port + "/api/cortex/context/?q=" + query + "&limit=5" + (wsId ? "&workspace_id=" + wsId : "");
52
- log('Querying: ' + url + ' (event: ' + eventName + ')');
57
+ log('Querying cortex (prompt length: ' + prompt.length + ', event: ' + eventName + ')');
53
58
 
54
59
  try {
55
60
  const body = await new Promise((resolve, reject) => {
@@ -2,11 +2,16 @@
2
2
  'use strict';
3
3
  const http = require('http');
4
4
  const fs = require('fs');
5
+ const os = require('os');
5
6
  const path = require('path');
6
7
 
7
- const LOG_FILE = path.join(process.cwd(), 'cortex-hook-debug.log');
8
+ const LOG_DIR = path.join(os.homedir(), '.spaces', 'logs');
9
+ const LOG_FILE = path.join(LOG_DIR, 'cortex-hook-debug.log');
8
10
  function log(msg) {
9
- try { fs.appendFileSync(LOG_FILE, "[" + new Date().toISOString() + "] [LEARN] " + msg + "\n"); } catch(e) {}
11
+ try {
12
+ fs.mkdirSync(LOG_DIR, { recursive: true });
13
+ fs.appendFileSync(LOG_FILE, "[" + new Date().toISOString() + "] [LEARN] " + msg + "\n");
14
+ } catch(e) {}
10
15
  }
11
16
 
12
17
  function readSpacesEnv() {
@@ -0,0 +1,89 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+ // Remove runtime-generated files from .next/standalone/ before publishing to npm.
4
+ // Historical incident: cortex-hook-debug.log containing user prompts (and npm tokens)
5
+ // leaked into versions 0.9.6-0.9.9 because the hook wrote to process.cwd() which
6
+ // at runtime was .next/standalone/. Hooks now log to ~/.spaces/logs/, but this
7
+ // belt-and-suspenders scrub runs on every publish to catch any other accidents.
8
+
9
+ const fs = require('fs');
10
+ const path = require('path');
11
+
12
+ const STANDALONE = path.join(process.cwd(), '.next', 'standalone');
13
+
14
+ const DENY_FILES = [
15
+ 'cortex-hook-debug.log',
16
+ ];
17
+
18
+ const DENY_DIRS = [
19
+ '.spaces',
20
+ '.claude',
21
+ '.codex',
22
+ '.gemini',
23
+ '.pi',
24
+ 'logs',
25
+ ];
26
+
27
+ const DENY_PATTERNS = [
28
+ /\.log$/i,
29
+ /^\.env(\..+)?$/i,
30
+ /^\.npmrc$/i,
31
+ ];
32
+
33
+ function walk(dir, cb) {
34
+ let entries;
35
+ try { entries = fs.readdirSync(dir, { withFileTypes: true }); }
36
+ catch { return; }
37
+ for (const e of entries) {
38
+ const full = path.join(dir, e.name);
39
+ if (e.isDirectory()) {
40
+ if (DENY_DIRS.includes(e.name)) {
41
+ fs.rmSync(full, { recursive: true, force: true });
42
+ console.log('[scrub] removed dir: ' + path.relative(STANDALONE, full));
43
+ continue;
44
+ }
45
+ walk(full, cb);
46
+ } else if (e.isFile()) {
47
+ cb(full, e.name);
48
+ }
49
+ }
50
+ }
51
+
52
+ if (!fs.existsSync(STANDALONE)) {
53
+ console.log('[scrub] no .next/standalone to scrub');
54
+ process.exit(0);
55
+ }
56
+
57
+ walk(STANDALONE, (full, name) => {
58
+ if (DENY_FILES.includes(name) || DENY_PATTERNS.some(p => p.test(name))) {
59
+ fs.rmSync(full, { force: true });
60
+ console.log('[scrub] removed file: ' + path.relative(STANDALONE, full));
61
+ }
62
+ });
63
+
64
+ // Final scan: refuse to publish if any obvious secrets remain in text files
65
+ const SECRET_PATTERNS = [
66
+ /npm_[A-Za-z0-9]{30,}/,
67
+ /sk-ant-[A-Za-z0-9_-]{20,}/,
68
+ /ghp_[A-Za-z0-9]{30,}/,
69
+ ];
70
+ let leaked = false;
71
+ walk(STANDALONE, (full, name) => {
72
+ if (!/\.(js|json|md|txt|log|ts|tsx|mjs|cjs)$/i.test(name)) return;
73
+ let content;
74
+ try { content = fs.readFileSync(full, 'utf-8'); } catch { return; }
75
+ for (const p of SECRET_PATTERNS) {
76
+ const m = content.match(p);
77
+ if (m) {
78
+ console.error('[scrub] SECRET DETECTED in ' + path.relative(STANDALONE, full) + ': ' + m[0].slice(0, 12) + '...');
79
+ leaked = true;
80
+ }
81
+ }
82
+ });
83
+
84
+ if (leaked) {
85
+ console.error('[scrub] aborting publish — secrets found in build output');
86
+ process.exit(1);
87
+ }
88
+
89
+ console.log('[scrub] done — standalone clean');
@@ -1334,8 +1334,11 @@ function handleConnection(wss, ws, req) {
1334
1334
  const rawAgentSession = url.searchParams.get('agentSession') || '';
1335
1335
  const agentSession = (rawAgentSession === 'new' || SESSION_ID_RE.test(rawAgentSession)) ? rawAgentSession : '';
1336
1336
  const rawCustomCommand = url.searchParams.get('customCommand') || '';
1337
- // Sanitize: reject shell metacharacters that enable injection (;, |, &, $, `, etc.)
1338
- const customCommand = /[;&|`$(){}]/.test(rawCustomCommand) ? '' : rawCustomCommand;
1337
+ // Sanitize via allowlist. Any character outside [A-Za-z0-9 . _ - /] is rejected.
1338
+ // Earlier blocklist (/[;&|`$(){}]/) missed newlines, redirects (<,>), and
1339
+ // backslashes — a payload like "legit\nmalicious" would inject a second command
1340
+ // when the PTY wrote it with a trailing \r.
1341
+ const customCommand = /^[A-Za-z0-9._\-/ ]+$/.test(rawCustomCommand) ? rawCustomCommand : '';
1339
1342
  const cols = parseInt(url.searchParams.get('cols') || '120', 10);
1340
1343
  const rows = parseInt(url.searchParams.get('rows') || '30', 10);
1341
1344
 
@@ -1554,8 +1557,25 @@ function handleConnection(wss, ws, req) {
1554
1557
  // Detect bash-on-Windows so cd commands use bash syntax, not cmd.exe `cd /d`
1555
1558
  const isBashOnWindows = isWindows && shell && (shell.endsWith('bash.exe') || shell.endsWith('bash'));
1556
1559
 
1557
- const env = { ...process.env };
1558
- delete env.CLAUDECODE;
1560
+ // Build a minimal env for the user-facing PTY — never inherit the server's
1561
+ // secrets (SPACES_SESSION_SECRET, GH_PAT, NPM_TOKEN, ANTHROPIC_API_KEY, etc).
1562
+ // Only forward identity/shell/locale/terminal basics from the server env.
1563
+ const PTY_ENV_ALLOW = [
1564
+ 'HOME', 'USER', 'LOGNAME', 'SHELL', 'PATH', 'PWD', 'OLDPWD', 'HOSTNAME',
1565
+ 'LANG', 'LC_ALL', 'LC_CTYPE', 'LC_MESSAGES', 'LC_COLLATE', 'LC_TIME',
1566
+ 'LC_NUMERIC', 'LC_MONETARY', 'TZ',
1567
+ 'XDG_CONFIG_HOME', 'XDG_DATA_HOME', 'XDG_CACHE_HOME', 'XDG_RUNTIME_DIR',
1568
+ 'XDG_STATE_HOME',
1569
+ 'TERM', 'TERM_PROGRAM', 'TERM_PROGRAM_VERSION', 'COLORTERM', 'COLUMNS', 'LINES',
1570
+ 'NODE_ENV', 'NVM_DIR', 'NVM_BIN',
1571
+ // Windows basics
1572
+ 'SYSTEMROOT', 'WINDIR', 'APPDATA', 'LOCALAPPDATA', 'USERPROFILE', 'COMSPEC',
1573
+ 'PATHEXT', 'PROGRAMFILES', 'PROGRAMFILES(X86)', 'PROGRAMDATA',
1574
+ ];
1575
+ const env = {};
1576
+ for (const k of PTY_ENV_ALLOW) {
1577
+ if (process.env[k] !== undefined) env[k] = process.env[k];
1578
+ }
1559
1579
  // Enable prompt suggestions in spawned Claude Code sessions
1560
1580
  env.CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION = 'true';
1561
1581
  // Tell Claude Code where git-bash is so it doesn't fail the bash detection
@@ -2208,19 +2228,30 @@ async function handleProxyConnection(clientWs, nodeId, opts) {
2208
2228
  return;
2209
2229
  }
2210
2230
 
2211
- // Get the remote WebSocket URL via the terminal token endpoint
2212
- // Only skip TLS verification if explicitly opted in (e.g., self-signed certs)
2231
+ // Get the remote WebSocket URL via the terminal token endpoint.
2232
+ // If the user opted into skipping TLS verification (for self-signed federation
2233
+ // certs), scope it to JUST this request via an undici Agent rather than the
2234
+ // process-global NODE_TLS_REJECT_UNAUTHORIZED env var, which would disable
2235
+ // cert verification for every outbound TLS connection in the process and
2236
+ // race with concurrent requests.
2213
2237
  const skipTls = process.env.SPACES_SKIP_TLS_VERIFY === '1';
2214
- const prevTls = process.env.NODE_TLS_REJECT_UNAUTHORIZED;
2215
- if (skipTls) process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
2238
+ let fetchOptions = {
2239
+ method: 'POST',
2240
+ headers: { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json' },
2241
+ signal: AbortSignal.timeout(10000),
2242
+ };
2243
+ if (skipTls) {
2244
+ try {
2245
+ const { Agent } = require('undici');
2246
+ fetchOptions.dispatcher = new Agent({ connect: { rejectUnauthorized: false } });
2247
+ } catch (e) {
2248
+ console.warn('[Proxy] undici unavailable for per-request TLS opt-out; refusing to fall back to global flag');
2249
+ }
2250
+ }
2216
2251
  let remoteWsUrl;
2217
2252
  try {
2218
2253
  const tokenUrl = `${node.url}/api/network/terminal/token/`;
2219
- const res = await fetch(tokenUrl, {
2220
- method: 'POST',
2221
- headers: { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json' },
2222
- signal: AbortSignal.timeout(10000),
2223
- });
2254
+ const res = await fetch(tokenUrl, fetchOptions);
2224
2255
 
2225
2256
  if (!res.ok) {
2226
2257
  let detail = '';
@@ -2236,9 +2267,6 @@ async function handleProxyConnection(clientWs, nodeId, opts) {
2236
2267
  clientWs.send(JSON.stringify({ type: 'error', data: `Cannot reach remote node: ${err.message}` }));
2237
2268
  clientWs.close();
2238
2269
  return;
2239
- } finally {
2240
- if (prevTls === undefined) delete process.env.NODE_TLS_REJECT_UNAUTHORIZED;
2241
- else process.env.NODE_TLS_REJECT_UNAUTHORIZED = prevTls;
2242
2270
  }
2243
2271
 
2244
2272
  // Connect to remote terminal server using the API key directly.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jlongo78/agent-spaces",
3
- "version": "0.9.9",
3
+ "version": "0.9.10",
4
4
  "description": "Agent workspace manager for Claude, Codex, Gemini, and more",
5
5
  "bin": {
6
6
  "spaces": "./bin/spaces.js"
@@ -32,7 +32,7 @@
32
32
  "dev": "node bin/spaces-dev.js",
33
33
  "build": "cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",
34
34
  "postinstall": "node bin/spaces-postinstall.js || true",
35
- "prepublishOnly": "npm run build",
35
+ "prepublishOnly": "npm run build && node bin/scrub-standalone.js",
36
36
  "setup": "node bin/spaces-setup.js",
37
37
  "setup-admin": "node bin/setup-admin.js",
38
38
  "server:build": "next build",
@@ -1,68 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(npm view:*)",
5
- "Bash(npm publish:*)",
6
- "Bash(where spaces:*)",
7
- "Bash(node:*)",
8
- "Bash(npm run:*)",
9
- "Bash(curl:*)",
10
- "Bash(powershell:*)",
11
- "Bash(spaces service:*)",
12
- "Bash(git:*)",
13
- "Bash(npm whoami:*)",
14
- "Read(//c/Users/johns/.spaces/packages/pro/**)",
15
- "Bash(npx tsc)",
16
- "Bash(node -e \"console.log\\(require\\('./package.json'\\).version\\)\")",
17
- "Bash(find /d/projects/spaces/src -type f \\\\\\( -name \"*.tsx\" -o -name \"*.ts\" \\\\\\) -exec grep -l \"template\\\\|Template\" {} \\\\;)",
18
- "Bash(npx next:*)"
19
- ]
20
- },
21
- "hooks": {
22
- "UserPromptSubmit": [
23
- {
24
- "hooks": [
25
- {
26
- "type": "command",
27
- "command": "node \"D:\\projects\\spaces\\bin\\cortex-hook.js\"",
28
- "timeout": 15
29
- }
30
- ]
31
- }
32
- ],
33
- "Stop": [
34
- {
35
- "hooks": [
36
- {
37
- "type": "command",
38
- "command": "node \"D:\\projects\\spaces\\bin\\cortex-learn-hook.js\"",
39
- "timeout": 10
40
- }
41
- ]
42
- }
43
- ],
44
- "SessionStart": [
45
- {
46
- "hooks": [
47
- {
48
- "type": "command",
49
- "command": "node \"C:\\Users\\johns\\.spaces\\packages\\teams\\bin\\spaces-hook.js\" a64f4c8c-f9de-4f51-98ed-b100ebcc7638",
50
- "timeout": 10000
51
- }
52
- ]
53
- }
54
- ]
55
- },
56
- "mcpServers": {
57
- "cortex": {
58
- "command": "node",
59
- "args": [
60
- "D:\\projects\\spaces\\bin\\cortex-mcp.js"
61
- ],
62
- "env": {
63
- "SPACES_URL": "http://localhost:3457",
64
- "SPACES_INTERNAL_TOKEN": "5a6d378a74905803"
65
- }
66
- }
67
- }
68
- }
@@ -1 +0,0 @@
1
- {"workspaceId":"2","port":3457}
@@ -1,13 +0,0 @@
1
- module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},717516,e=>{"use strict";let t=process.env.SPACES_TIER||process.env.NEXT_PUBLIC_TIER||("server"===process.env.NEXT_PUBLIC_EDITION?"federation":"community"),r="team"===t||"federation"===t,n="federation"===t,a=r||"1"===process.env.SPACES_HAS_CORTEX,s=!r;function o(){let o="0.0.0";try{o=e.r(804730).version}catch{}return{tier:t,version:o,hasAuth:r,hasAdmin:r,hasCollaboration:r,hasNetwork:n,hasMultiuser:r,hasCortex:a,isDesktop:s,basePath:""}}e.s(["HAS_ADMIN",0,r,"HAS_AUTH",0,r,"HAS_COLLABORATION",0,r,"HAS_CORTEX",0,a,"HAS_MULTIUSER",0,r,"HAS_NETWORK",0,n,"IS_DESKTOP",0,s,"IS_FEDERATION",0,n,"IS_TEAM",0,r,"TIER",0,t,"getTierFlags",()=>o])},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.9",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},410430,(e,t,r)=>{t.exports=e.x("async_hooks",()=>require("async_hooks"))},79832,e=>{"use strict";var t=e.i(410430),r=e.i(446786),n=e.i(717516);let a=new t.AsyncLocalStorage;function s(e){return n.HAS_AUTH&&e.headers.get("x-auth-user")||r.default.userInfo().username}function o(e,t){return a.run(e,t)}function i(e){return n.HAS_AUTH?e.headers.get("x-auth-role")||"user":"admin"}function l(){let e=a.getStore();return e||r.default.userInfo().username}e.s(["getAuthRole",()=>i,"getAuthUser",()=>s,"getCurrentUser",()=>l,"withUser",()=>o])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},899280,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),a=e.i(759756),s=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),d=e.i(487718),c=e.i(995169),u=e.i(47587),p=e.i(666012),h=e.i(570101),g=e.i(626937),x=e.i(10372),v=e.i(193695);e.i(52474);var f=e.i(600220),m=e.i(233405),y=e.i(79832);async function R(t){(0,y.getAuthUser)(t);let{message:r,cwd:n}=await t.json();if(!r||"string"!=typeof r)return new Response(JSON.stringify({error:"Message is required"}),{status:400,headers:{"Content-Type":"application/json"}});let a=n||e.r(446786).homedir(),s=new TextEncoder;return new Response(new ReadableStream({start(e){let n={...process.env};delete n.CLAUDECODE;let o=(0,m.spawn)("claude",["-p",r,"--output-format","stream-json","--verbose"],{cwd:a,env:n}),i="";o.stdout.on("data",t=>{let r=(i+=t.toString()).split("\n");for(let t of(i=r.pop()||"",r))if(t.trim())try{let r=JSON.parse(t);e.enqueue(s.encode(`data: ${JSON.stringify(r)}
2
-
3
- `))}catch{e.enqueue(s.encode(`data: ${JSON.stringify({type:"text",text:t})}
4
-
5
- `))}}),o.stderr.on("data",t=>{let r=t.toString();e.enqueue(s.encode(`data: ${JSON.stringify({type:"error",text:r})}
6
-
7
- `))}),o.on("close",t=>{e.enqueue(s.encode(`data: ${JSON.stringify({type:"done",exitCode:t})}
8
-
9
- `)),e.close()}),o.on("error",t=>{e.enqueue(s.encode(`data: ${JSON.stringify({type:"error",text:t.message})}
10
-
11
- `)),e.close()}),t.signal.addEventListener("abort",()=>{o.kill("SIGTERM")})}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}e.s(["POST",()=>R,"dynamic",0,"force-dynamic"],1351);var w=e.i(1351);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/chat/route",pathname:"/api/chat",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/chat/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:b,workUnitAsyncStorage:A,serverHooks:C}=E;function S(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:A})}async function T(e,t,n){E.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/chat/route";m=m.replace(/\/index$/,"")||"/";let y=await E.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:b,parsedUrl:A,isDraftMode:C,prerenderManifest:S,routerServerContext:T,isOnDemandRevalidate:_,revalidateOnlyGenerated:O,resolvedPathname:N,clientReferenceManifest:k,serverActionsManifest:q}=y,I=(0,i.normalizeAppPath)(m),P=!!(S.dynamicRoutes[I]||S.routes[N]),j=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,A,!1):t.end("This page could not be found"),null);if(P&&!C){let e=!!S.routes[N],t=S.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await j();throw new v.NoFallbackError}}let H=null;!P||E.isDev||C||(H="/index"===(H=N)?"/":H);let U=!0===E.isDev||!P,D=P&&!U;q&&k&&(0,o.setManifestsSingleton)({page:m,clientReferenceManifest:k,serverActionsManifest:q});let M=e.method||"GET",L=(0,s.getTracer)(),$=L.getActiveScopeSpan(),F={params:w,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>E.onRequestError(e,t,n,a,T)},sharedContext:{buildId:R}},K=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let o=async e=>E.handle(J,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${m}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!i&&_&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=F.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(K,B,s,F.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[x.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,n=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:_})},!1,T),t}},c=await E.handleResponse({req:e,nextConfig:b,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:O,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:i});if(!P)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",_?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let v=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return i&&P||v.delete(x.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||v.get("Cache-Control")||v.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(K,B,new Response(c.value.body,{headers:v,status:c.value.status||200})),null};$?await l($):await L.withPropagatedContext(e.headers,()=>L.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${m}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof v.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:_})},!1,T),P)throw t;return await (0,p.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",()=>T,"patchFetch",()=>S,"routeModule",()=>E,"serverHooks",()=>C,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>A],899280)}];
12
-
13
- //# sourceMappingURL=%5Broot-of-the-server%5D__ead29015._.js.map
@@ -1,51 +0,0 @@
1
- <cortex-context>
2
- Relevant context from your workspace history:
3
-
4
- [Preference] 2026-04-14: The 'spaces' command runs from npm-published build which is older and doesn't have the wizard wired in yet
5
-
6
- [Error Fix] 2026-04-14: error: cannot find button, fix: button is in Workspace Chooser screen next to New Workspace
7
-
8
- [Conversation] 2026-04-14: i don't see the button
9
-
10
- It's in the Workspace Chooser — the "Plan a Project" button. Let me check where it sits in the layout.
11
-
12
- The button is there — it's the indigo "Plan a Project" button with the wand icon, sitting next to "New Workspace" in the Workspace Chooser screen. You see it when you're on the workspace selection view (the screen that lists all your workspaces).
13
-
14
- Are you looking at a running instance right now? It's possible the build you're running is older than the code in main. You might need to rebuild (`...
15
-
16
- [Conversation] 2026-04-14: not there.
17
-
18
- Let me find where the WorkspaceChooser is actually rendered in the app.
19
-
20
- There's the problem — `WorkspaceChooser` is never imported anywhere. The component exists but nothing renders it. It's dead code — the button literally can't appear because the component isn't wired into any page.
21
-
22
- Let me find what's actually used for workspace selection.
23
-
24
- Yeah — the wizard is completely disconnected. The `WorkspaceChooser` component (which has the "Plan a Project" button) is never imported or rendered by a...
25
-
26
- [Decision] 2026-04-14: WorkspaceChooser component should be imported and rendered in the app
27
-
28
- [Decision] 2026-04-14: Use 'npm run dev' command to test local changes instead of 'spaces' command
29
-
30
- [Decision] 2026-04-14: Provide 'Plan a Project' button alongside 'New Workspace' and Quick Start Templates as alternative entry points
31
-
32
- [Conversation] 2026-04-14: give me a description of our project creation wizard functionality
33
-
34
- Here's a description of the project creation wizard:
35
-
36
- ## Project Creation Wizard
37
-
38
- The wizard is an AI-assisted, two-phase flow for setting up new workspaces with pre-configured agent panes.
39
-
40
- ### Entry Point
41
- Users access it via the **"Plan a Project"** button in the Workspace Chooser (alongside the simpler "New Workspace" option and Quick Start Templates).
42
-
43
- ### Phase 1 — Conversational Planning (`wizard-chat.tsx`)
44
- - A chat interface where the user describes their project goals
45
- - Claude Haiku proc...
46
-
47
- [Pattern] 2026-04-14: Diagnosing tool usage issues by suggesting alternative execution methods (e.g., 'spaces' command vs 'npm run dev')
48
-
49
- [Context] 2026-04-14: still there. i ran it using the 'spaces' command. should I run it some other way?
50
-
51
- </cortex-context>
@@ -1,118 +0,0 @@
1
- [2026-04-17T18:44:07.219Z] [LEARN] Learn hook started
2
- [2026-04-17T18:44:07.226Z] [LEARN] Input length: 857
3
- [2026-04-17T18:44:07.236Z] [LEARN] Sending POST to http://localhost:3457/api/cortex/knowledge/
4
- [2026-04-17T18:44:07.274Z] [LEARN] Response: 307
5
- [2026-04-17T18:45:18.172Z] Hook started
6
- [2026-04-17T18:45:18.178Z] Input length: 423
7
- [2026-04-17T18:45:18.179Z] Querying: http://localhost:3457/api/cortex/context/?q=tell%20me%20how%20the%20project%20wizard%20%20harness%20works%20from%20a%20high%20level.%20%20i%20need%20to%20talk%20about%20the%20functionality%20for%20another%20project%20i'm%20working%20on&limit=5&workspace_id=2 (event: UserPromptSubmit)
8
- [2026-04-17T18:45:18.212Z] Main error: 307
9
- [2026-04-17T18:45:18.212Z] Hook finished
10
- [2026-04-17T18:45:37.672Z] [LEARN] Learn hook started
11
- [2026-04-17T18:45:37.681Z] [LEARN] Input length: 3392
12
- [2026-04-17T18:45:37.688Z] [LEARN] Sending POST to http://localhost:3457/api/cortex/knowledge/
13
- [2026-04-17T18:45:37.722Z] [LEARN] Response: 307
14
- [2026-04-17T18:52:27.655Z] Hook started
15
- [2026-04-17T18:52:27.661Z] Input length: 319
16
- [2026-04-17T18:52:27.662Z] Querying: http://localhost:3457/api/cortex/context/?q=does%20it%20use%20skills%20and%20tools%20or%20no%3F&limit=5&workspace_id=2 (event: UserPromptSubmit)
17
- [2026-04-17T18:52:27.697Z] Main error: 307
18
- [2026-04-17T18:52:27.697Z] Hook finished
19
- [2026-04-17T18:52:39.328Z] [LEARN] Learn hook started
20
- [2026-04-17T18:52:39.336Z] [LEARN] Input length: 2048
21
- [2026-04-17T18:52:39.344Z] [LEARN] Sending POST to http://localhost:3457/api/cortex/knowledge/
22
- [2026-04-17T18:52:39.385Z] [LEARN] Response: 307
23
- [2026-04-19T13:26:25.015Z] Hook started
24
- [2026-04-19T13:26:25.022Z] Input length: 413
25
- [2026-04-19T13:26:25.023Z] Querying: http://localhost:3457/api/cortex/context/?q=pull%20the%20latest%20from%20github%20so%20we%20can%20do%20an%20npm%20release.%20%20can%20we%20use%20this%20access%20token%3F%20%20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&limit=5&workspace_id=2 (event: UserPromptSubmit)
26
- [2026-04-19T13:26:25.063Z] Main error: 307
27
- [2026-04-19T13:26:25.063Z] Hook finished
28
- [2026-04-19T13:26:59.700Z] [LEARN] Learn hook started
29
- [2026-04-19T13:26:59.707Z] [LEARN] Input length: 976
30
- [2026-04-19T13:26:59.716Z] [LEARN] Sending POST to http://localhost:3457/api/cortex/knowledge/
31
- [2026-04-19T13:26:59.762Z] [LEARN] Response: 307
32
- [2026-04-19T13:27:33.753Z] Hook started
33
- [2026-04-19T13:27:33.759Z] Input length: 287
34
- [2026-04-19T13:27:33.760Z] Prompt too short
35
- [2026-04-19T13:27:51.049Z] Hook started
36
- [2026-04-19T13:27:51.058Z] Input length: 335
37
- [2026-04-19T13:27:51.059Z] Querying: http://localhost:3457/api/cortex/context/?q=yesyou'll%20have%20to%20bump%20again.%20%200.9.7%20is%20live%20on%20npm&limit=5&workspace_id=2 (event: UserPromptSubmit)
38
- [2026-04-19T13:27:51.100Z] Main error: 307
39
- [2026-04-19T13:27:51.100Z] Hook finished
40
- [2026-04-19T13:31:43.687Z] [LEARN] Learn hook started
41
- [2026-04-19T13:31:43.698Z] [LEARN] Input length: 508
42
- [2026-04-19T13:31:43.707Z] [LEARN] Sending POST to http://localhost:3457/api/cortex/knowledge/
43
- [2026-04-19T13:31:43.747Z] [LEARN] Response: 307
44
- [2026-04-19T13:35:50.269Z] Hook started
45
- [2026-04-19T13:35:50.277Z] Input length: 307
46
- [2026-04-19T13:35:50.278Z] Querying: http://localhost:3457/api/cortex/context/?q=try%20now%2C%20i%20disabled%202fa&limit=5&workspace_id=2 (event: UserPromptSubmit)
47
- [2026-04-19T13:35:50.316Z] Main error: 307
48
- [2026-04-19T13:35:50.316Z] Hook finished
49
- [2026-04-19T13:38:15.302Z] [LEARN] Learn hook started
50
- [2026-04-19T13:38:15.309Z] [LEARN] Input length: 943
51
- [2026-04-19T13:38:15.318Z] [LEARN] Sending POST to http://localhost:3457/api/cortex/knowledge/
52
- [2026-04-19T13:38:15.356Z] [LEARN] Response: 307
53
- [2026-04-19T13:39:55.427Z] Hook started
54
- [2026-04-19T13:39:55.432Z] Input length: 324
55
- [2026-04-19T13:39:55.433Z] Querying: http://localhost:3457/api/cortex/context/?q=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&limit=5&workspace_id=2 (event: UserPromptSubmit)
56
- [2026-04-19T13:39:55.467Z] Main error: 307
57
- [2026-04-19T13:39:55.467Z] Hook finished
58
- [2026-04-19T13:42:05.596Z] [LEARN] Learn hook started
59
- [2026-04-19T13:42:05.605Z] [LEARN] Input length: 573
60
- [2026-04-19T13:42:05.615Z] [LEARN] Sending POST to http://localhost:3457/api/cortex/knowledge/
61
- [2026-04-19T13:42:05.657Z] [LEARN] Response: 307
62
- [2026-04-19T13:42:36.645Z] Hook started
63
- [2026-04-19T13:42:36.651Z] Input length: 356
64
- [2026-04-19T13:42:36.652Z] Querying: http://localhost:3457/api/cortex/context/?q=this%20is%20my%20pc%20--%20why%20does%20it%20matter%20if%20it's%20exposed%20in%20the%20conversation%3F&limit=5&workspace_id=2 (event: UserPromptSubmit)
65
- [2026-04-19T13:42:36.692Z] Main error: 307
66
- [2026-04-19T13:42:36.693Z] Hook finished
67
- [2026-04-19T13:42:48.628Z] [LEARN] Learn hook started
68
- [2026-04-19T13:42:48.803Z] [LEARN] Input length: 1549
69
- [2026-04-19T13:42:48.814Z] [LEARN] Sending POST to http://localhost:3457/api/cortex/knowledge/
70
- [2026-04-19T13:42:48.851Z] [LEARN] Response: 307
71
- [2026-04-19T13:43:13.309Z] Hook started
72
- [2026-04-19T13:43:13.315Z] Input length: 325
73
- [2026-04-19T13:43:13.315Z] Querying: http://localhost:3457/api/cortex/context/?q=how%20do%20I%20check%20to%20see%20if%20telemetry%20is%20on%3F&limit=5&workspace_id=2 (event: UserPromptSubmit)
74
- [2026-04-19T13:43:13.350Z] Main error: 307
75
- [2026-04-19T13:43:13.350Z] Hook finished
76
- [2026-04-19T13:43:53.691Z] [LEARN] Learn hook started
77
- [2026-04-19T13:43:53.703Z] [LEARN] Input length: 1307
78
- [2026-04-19T13:43:53.713Z] [LEARN] Sending POST to http://localhost:3457/api/cortex/knowledge/
79
- [2026-04-19T13:43:53.750Z] [LEARN] Response: 307
80
- [2026-04-19T13:48:18.876Z] Hook started
81
- [2026-04-19T13:48:18.882Z] Input length: 287
82
- [2026-04-19T13:48:18.882Z] Prompt too short
83
- [2026-04-19T13:52:11.498Z] [LEARN] Learn hook started
84
- [2026-04-19T13:52:11.505Z] [LEARN] Input length: 354
85
- [2026-04-19T13:52:11.514Z] [LEARN] Sending POST to http://localhost:3457/api/cortex/knowledge/
86
- [2026-04-19T13:52:11.557Z] [LEARN] Response: 307
87
- [2026-04-19T13:52:37.908Z] Hook started
88
- [2026-04-19T13:52:37.914Z] Input length: 314
89
- [2026-04-19T13:52:37.916Z] Querying: http://localhost:3457/api/cortex/context/?q=add%20that%20to%20my%20claude%20settings&limit=5&workspace_id=2 (event: UserPromptSubmit)
90
- [2026-04-19T13:52:37.948Z] Main error: 307
91
- [2026-04-19T13:52:37.949Z] Hook finished
92
- [2026-04-19T13:53:23.519Z] [LEARN] Learn hook started
93
- [2026-04-19T13:53:23.529Z] [LEARN] Input length: 532
94
- [2026-04-19T13:53:23.541Z] [LEARN] Sending POST to http://localhost:3457/api/cortex/knowledge/
95
- [2026-04-19T13:53:23.579Z] [LEARN] Response: 307
96
- [2026-04-22T17:51:18.661Z] Hook started
97
- [2026-04-22T17:51:18.668Z] Input length: 326
98
- [2026-04-22T17:51:18.669Z] Querying: http://localhost:3457/api/cortex/context/?q=update%20ffrom%20github%20and%20push%20a%20new%20npm%20release&limit=5&workspace_id=2 (event: UserPromptSubmit)
99
- [2026-04-22T17:51:18.696Z] Main error:
100
- [2026-04-22T17:51:18.696Z] Hook finished
101
- [2026-04-22T17:51:58.962Z] [LEARN] Learn hook started
102
- [2026-04-22T17:51:58.968Z] [LEARN] Input length: 559
103
- [2026-04-22T17:51:58.976Z] [LEARN] Sending POST to http://localhost:3457/api/cortex/knowledge/
104
- [2026-04-22T17:51:59.003Z] [LEARN] Request error:
105
- [2026-04-22T18:06:02.839Z] Hook started
106
- [2026-04-22T18:06:02.845Z] Input length: 1514
107
- [2026-04-22T18:06:02.846Z] Querying: http://localhost:3457/api/cortex/context/?q=npm%20notice%201.4kB%20bin%2Fspaces-reset-totp.js%0Anpm%20notice%2036.8kB%20bin%2Fspaces-service.js%0Anpm%20notice%208.9kB%20bin%2Fspaces-setup.js%0Anpm%20notice%2033.6kB%20bin%2Fspaces.js%0Anpm%20notice%202.3kB%20bin%2Fssh-auth-keys.sh%0Anpm%20notice%20108.5kB%20bin%2Fterminal-server.js%0Anpm%20notice%203.4kB%20package.json%0Anpm%20notice%20Tarball%20Details%0Anpm%20notice%20name%3A%20%40jlongo78%2Fagent-spaces%0Anpm%20notice%20version%3A%200.9.9%0Anpm%20notice%20filename%3A%20jlongo78-agent-spaces-0.9.9.tgz%0Anpm%20notice%20package%20size%3A%2018.5%20MB%0Anpm%20notice%20unpacked%20size%3A%2089.8%20MB%0Anpm%20notice%20shasum%3A%2051e72b721f4acb1c8310031c78f24475639d870c%0Anpm%20notice%20integrity%3A%20sha512-L3MTwHtZpUSCN%5B...%5DY1n6%2FUIyMlpYA%3D%3D%0Anpm%20notice%20total%20files%3A%203341%0Anpm%20notice%0Anpm%20notice%20Publishing%20to%20https%3A%2F%2Fregistry.npmjs.org%2F%20with%20tag%20latest%20and%20public%20access%0Anpm%20error%20code%20E404%0Anpm%20error%20404%20Not%20Found%20-%20PUT%20https%3A%2F%2Fregistry.npmjs.org%2F%40jlongo78%252fagent-spaces%20-%20Not%20found%0Anpm%20error%20404%0Anpm%20error%20404%20%20'%40jlongo78%2Fagent-spaces%400.9.9'%20is%20not%20in%20this%20registry.%0Anpm%20error%20404%0Anpm%20error%20404%20Note%20that%20you%20can%20also%20install%20from%20a%0Anpm%20error%20404%20tarball%2C%20folder%2C%20http%20url%2C%20or%20git%20url.%0Anpm%20error%20A%20complete%20log%20of%20this%20run%20can%20be%20found%20in%3A%20C%3A%5CUsers%5Cjohns%5CAppData%5CLocal%5Cnpm-cache%5C_logs%5C2026-04-22T18_01_12_712Z-debug-0.log%0A%0AD%3A%5Cprojects%5Cspaces%3E&limit=5&workspace_id=2 (event: UserPromptSubmit)
108
- [2026-04-22T18:06:02.872Z] Main error:
109
- [2026-04-22T18:06:02.873Z] Hook finished
110
- [2026-04-22T18:06:14.831Z] [LEARN] Learn hook started
111
- [2026-04-22T18:06:14.838Z] [LEARN] Input length: 960
112
- [2026-04-22T18:06:14.847Z] [LEARN] Sending POST to http://localhost:3457/api/cortex/knowledge/
113
- [2026-04-22T18:06:14.877Z] [LEARN] Request error:
114
- [2026-04-22T18:07:49.032Z] Hook started
115
- [2026-04-22T18:07:49.039Z] Input length: 320
116
- [2026-04-22T18:07:49.041Z] Querying: http://localhost:3457/api/cortex/context/?q=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&limit=5&workspace_id=2 (event: UserPromptSubmit)
117
- [2026-04-22T18:07:49.071Z] Main error:
118
- [2026-04-22T18:07:49.071Z] Hook finished