@jlongo78/agent-spaces 0.10.0-beta.2 → 0.10.0-beta.4

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 (721) 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/(desktop)/admin/analytics/page_client-reference-manifest.js +1 -1
  4. package/.next/standalone/.next/server/app/(desktop)/admin/users/page_client-reference-manifest.js +1 -1
  5. package/.next/standalone/.next/server/app/(desktop)/analytics/page_client-reference-manifest.js +1 -1
  6. package/.next/standalone/.next/server/app/(desktop)/cortex/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/(desktop)/network/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(desktop)/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(desktop)/projects/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(desktop)/sessions/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(desktop)/settings/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(desktop)/terminal/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/(desktop)/terminal/pane/[id]/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(desktop)/workspaces/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  18. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  19. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  20. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  21. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  22. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  24. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  26. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  27. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  28. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  29. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  30. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  31. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  32. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  33. package/.next/standalone/.next/server/app/admin/analytics.html +1 -1
  34. package/.next/standalone/.next/server/app/admin/analytics.rsc +2 -2
  35. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics/__PAGE__.segment.rsc +1 -1
  36. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics.segment.rsc +1 -1
  37. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  38. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  39. package/.next/standalone/.next/server/app/admin/analytics.segments/_full.segment.rsc +2 -2
  40. package/.next/standalone/.next/server/app/admin/analytics.segments/_head.segment.rsc +1 -1
  41. package/.next/standalone/.next/server/app/admin/analytics.segments/_index.segment.rsc +2 -2
  42. package/.next/standalone/.next/server/app/admin/analytics.segments/_tree.segment.rsc +2 -2
  43. package/.next/standalone/.next/server/app/admin/users.html +1 -1
  44. package/.next/standalone/.next/server/app/admin/users.rsc +2 -2
  45. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users/__PAGE__.segment.rsc +1 -1
  46. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users.segment.rsc +1 -1
  47. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  48. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  49. package/.next/standalone/.next/server/app/admin/users.segments/_full.segment.rsc +2 -2
  50. package/.next/standalone/.next/server/app/admin/users.segments/_head.segment.rsc +1 -1
  51. package/.next/standalone/.next/server/app/admin/users.segments/_index.segment.rsc +2 -2
  52. package/.next/standalone/.next/server/app/admin/users.segments/_tree.segment.rsc +2 -2
  53. package/.next/standalone/.next/server/app/analytics.html +1 -1
  54. package/.next/standalone/.next/server/app/analytics.rsc +2 -2
  55. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics/__PAGE__.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics.segment.rsc +1 -1
  57. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  58. package/.next/standalone/.next/server/app/analytics.segments/_full.segment.rsc +2 -2
  59. package/.next/standalone/.next/server/app/analytics.segments/_head.segment.rsc +1 -1
  60. package/.next/standalone/.next/server/app/analytics.segments/_index.segment.rsc +2 -2
  61. package/.next/standalone/.next/server/app/analytics.segments/_tree.segment.rsc +2 -2
  62. package/.next/standalone/.next/server/app/api/admin/analytics/route.js +4 -2
  63. package/.next/standalone/.next/server/app/api/admin/analytics/route.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/users/[id]/route.js +4 -2
  65. package/.next/standalone/.next/server/app/api/admin/users/[id]/route.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/api/admin/users/route.js +4 -2
  67. package/.next/standalone/.next/server/app/api/admin/users/route.js.nft.json +1 -1
  68. package/.next/standalone/.next/server/app/api/analytics/overview/route.js +5 -4
  69. package/.next/standalone/.next/server/app/api/analytics/overview/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/api/auth/login/route.js +3 -2
  71. package/.next/standalone/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  72. package/.next/standalone/.next/server/app/api/auth/logout/route.js +2 -2
  73. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/me/route.js +3 -2
  75. package/.next/standalone/.next/server/app/api/auth/me/route.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/totp/setup/route.js +2 -2
  77. package/.next/standalone/.next/server/app/api/auth/totp/setup/route.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/totp/status/route.js +2 -2
  79. package/.next/standalone/.next/server/app/api/auth/totp/status/route.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/api/auth/totp/verify/route.js +3 -2
  81. package/.next/standalone/.next/server/app/api/auth/totp/verify/route.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js +4 -3
  83. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/benchmark/run/route.js +4 -3
  85. package/.next/standalone/.next/server/app/api/benchmark/run/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js +4 -3
  87. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js +4 -3
  89. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/benchmark/status/route.js +4 -3
  91. package/.next/standalone/.next/server/app/api/benchmark/status/route.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/api/bulk/route.js +5 -4
  93. package/.next/standalone/.next/server/app/api/bulk/route.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/api/chat/route.js +4 -2
  95. package/.next/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/claude/usage/route.js +5 -4
  97. package/.next/standalone/.next/server/app/api/claude/usage/route.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/api/config/route.js +3 -3
  99. package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/api/cortex/context/route.js +4 -3
  101. package/.next/standalone/.next/server/app/api/cortex/context/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js +4 -3
  103. package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js +4 -3
  105. package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js.nft.json +1 -1
  106. package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js +4 -3
  107. package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js +4 -3
  109. package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js +4 -3
  111. package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/api/cortex/export/route.js +4 -3
  113. package/.next/standalone/.next/server/app/api/cortex/export/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/cortex/federation/pending/route.js +4 -3
  115. package/.next/standalone/.next/server/app/api/cortex/federation/pending/route.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/api/cortex/federation/resolve/route.js +4 -3
  117. package/.next/standalone/.next/server/app/api/cortex/federation/resolve/route.js.nft.json +1 -1
  118. package/.next/standalone/.next/server/app/api/cortex/federation/search/route.js +4 -3
  119. package/.next/standalone/.next/server/app/api/cortex/federation/search/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/cortex/federation/teach/route.js +4 -3
  121. package/.next/standalone/.next/server/app/api/cortex/federation/teach/route.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/api/cortex/graph/edges/route.js +4 -3
  123. package/.next/standalone/.next/server/app/api/cortex/graph/edges/route.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/api/cortex/graph/entities/[id]/route.js +4 -3
  125. package/.next/standalone/.next/server/app/api/cortex/graph/entities/[id]/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/cortex/graph/entities/route.js +4 -3
  127. package/.next/standalone/.next/server/app/api/cortex/graph/entities/route.js.nft.json +1 -1
  128. package/.next/standalone/.next/server/app/api/cortex/graph/populate/route.js +4 -3
  129. package/.next/standalone/.next/server/app/api/cortex/graph/populate/route.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/api/cortex/import/route.js +4 -3
  131. package/.next/standalone/.next/server/app/api/cortex/import/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/cortex/import/status/route.js +4 -3
  133. package/.next/standalone/.next/server/app/api/cortex/import/status/route.js.nft.json +1 -1
  134. package/.next/standalone/.next/server/app/api/cortex/ingest/bootstrap/route.js +4 -3
  135. package/.next/standalone/.next/server/app/api/cortex/ingest/bootstrap/route.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/api/cortex/ingest/status/route.js +4 -3
  137. package/.next/standalone/.next/server/app/api/cortex/ingest/status/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/cortex/knowledge/[id]/route.js +4 -3
  139. package/.next/standalone/.next/server/app/api/cortex/knowledge/[id]/route.js.nft.json +1 -1
  140. package/.next/standalone/.next/server/app/api/cortex/knowledge/route.js +4 -3
  141. package/.next/standalone/.next/server/app/api/cortex/knowledge/route.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/api/cortex/lobes/[id]/route.js +4 -3
  143. package/.next/standalone/.next/server/app/api/cortex/lobes/[id]/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/cortex/lobes/route.js +4 -3
  145. package/.next/standalone/.next/server/app/api/cortex/lobes/route.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/api/cortex/lobes/share/route.js +4 -3
  147. package/.next/standalone/.next/server/app/api/cortex/lobes/share/route.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route.js +3 -3
  149. package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js +3 -3
  151. package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/app/api/cortex/mcp/call/route.js +4 -3
  153. package/.next/standalone/.next/server/app/api/cortex/mcp/call/route.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/api/cortex/mcp/tools/route.js +4 -3
  155. package/.next/standalone/.next/server/app/api/cortex/mcp/tools/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/cortex/search/route.js +4 -3
  157. package/.next/standalone/.next/server/app/api/cortex/search/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/cortex/settings/route.js +4 -3
  159. package/.next/standalone/.next/server/app/api/cortex/settings/route.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/api/cortex/status/route.js +4 -3
  161. package/.next/standalone/.next/server/app/api/cortex/status/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/cortex/timeline/route.js +4 -3
  163. package/.next/standalone/.next/server/app/api/cortex/timeline/route.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/app/api/cortex/usage/route.js +4 -3
  165. package/.next/standalone/.next/server/app/api/cortex/usage/route.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/app/api/cortex/workspace/[id]/context/route.js +4 -3
  167. package/.next/standalone/.next/server/app/api/cortex/workspace/[id]/context/route.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/app/api/events/route.js +5 -3
  169. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/app/api/files/route.js +3 -2
  171. package/.next/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/folders/route.js +3 -3
  173. package/.next/standalone/.next/server/app/api/folders/route.js.nft.json +1 -1
  174. package/.next/standalone/.next/server/app/api/network/connect-callback/route.js +2 -2
  175. package/.next/standalone/.next/server/app/api/network/connect-callback/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/network/connect-request/[id]/route.js +2 -2
  177. package/.next/standalone/.next/server/app/api/network/connect-request/[id]/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/network/connect-request/route.js +2 -2
  179. package/.next/standalone/.next/server/app/api/network/connect-request/route.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/app/api/network/discovered/route.js +2 -2
  181. package/.next/standalone/.next/server/app/api/network/discovered/route.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/app/api/network/handshake/route.js +4 -3
  183. package/.next/standalone/.next/server/app/api/network/handshake/route.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/app/api/network/health/route.js +2 -2
  185. package/.next/standalone/.next/server/app/api/network/health/route.js.nft.json +1 -1
  186. package/.next/standalone/.next/server/app/api/network/identity/route.js +2 -2
  187. package/.next/standalone/.next/server/app/api/network/identity/route.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/app/api/network/keys/[id]/route.js +2 -2
  189. package/.next/standalone/.next/server/app/api/network/keys/[id]/route.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/app/api/network/keys/route.js +2 -2
  191. package/.next/standalone/.next/server/app/api/network/keys/route.js.nft.json +1 -1
  192. package/.next/standalone/.next/server/app/api/network/nodes/[id]/route.js +2 -2
  193. package/.next/standalone/.next/server/app/api/network/nodes/[id]/route.js.nft.json +1 -1
  194. package/.next/standalone/.next/server/app/api/network/nodes/check/route.js +2 -2
  195. package/.next/standalone/.next/server/app/api/network/nodes/check/route.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/app/api/network/nodes/route.js +2 -2
  197. package/.next/standalone/.next/server/app/api/network/nodes/route.js.nft.json +1 -1
  198. package/.next/standalone/.next/server/app/api/network/panes/[id]/route.js +6 -5
  199. package/.next/standalone/.next/server/app/api/network/panes/[id]/route.js.nft.json +1 -1
  200. package/.next/standalone/.next/server/app/api/network/panes/route.js +6 -5
  201. package/.next/standalone/.next/server/app/api/network/panes/route.js.nft.json +1 -1
  202. package/.next/standalone/.next/server/app/api/network/projects/route.js +6 -5
  203. package/.next/standalone/.next/server/app/api/network/projects/route.js.nft.json +1 -1
  204. package/.next/standalone/.next/server/app/api/network/proxy/[nodeId]/[...path]/route.js +2 -2
  205. package/.next/standalone/.next/server/app/api/network/proxy/[nodeId]/[...path]/route.js.nft.json +1 -1
  206. package/.next/standalone/.next/server/app/api/network/search/route.js +6 -5
  207. package/.next/standalone/.next/server/app/api/network/search/route.js.nft.json +1 -1
  208. package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js +6 -5
  209. package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js.nft.json +1 -1
  210. package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js +6 -5
  211. package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js.nft.json +1 -1
  212. package/.next/standalone/.next/server/app/api/network/sessions/route.js +6 -5
  213. package/.next/standalone/.next/server/app/api/network/sessions/route.js.nft.json +1 -1
  214. package/.next/standalone/.next/server/app/api/network/terminal/token/route.js +2 -2
  215. package/.next/standalone/.next/server/app/api/network/terminal/token/route.js.nft.json +1 -1
  216. package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js +6 -5
  217. package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js.nft.json +1 -1
  218. package/.next/standalone/.next/server/app/api/network/workspaces/route.js +6 -5
  219. package/.next/standalone/.next/server/app/api/network/workspaces/route.js.nft.json +1 -1
  220. package/.next/standalone/.next/server/app/api/panes/[id]/diff/route.js +5 -4
  221. package/.next/standalone/.next/server/app/api/panes/[id]/diff/route.js.nft.json +1 -1
  222. package/.next/standalone/.next/server/app/api/panes/[id]/route.js +5 -4
  223. package/.next/standalone/.next/server/app/api/panes/[id]/route.js.nft.json +1 -1
  224. package/.next/standalone/.next/server/app/api/panes/route.js +5 -4
  225. package/.next/standalone/.next/server/app/api/panes/route.js.nft.json +1 -1
  226. package/.next/standalone/.next/server/app/api/projects/route.js +5 -4
  227. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  228. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/[...path]/route.js +3 -3
  229. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/[...path]/route.js.nft.json +1 -1
  230. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/status/route.js +3 -3
  231. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/status/route.js.nft.json +1 -1
  232. package/.next/standalone/.next/server/app/api/search/route.js +6 -5
  233. package/.next/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  234. package/.next/standalone/.next/server/app/api/server-config/route.js +2 -2
  235. package/.next/standalone/.next/server/app/api/server-config/route.js.nft.json +1 -1
  236. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js +5 -3
  237. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js.nft.json +1 -1
  238. package/.next/standalone/.next/server/app/api/sessions/[id]/messages/route.js +5 -4
  239. package/.next/standalone/.next/server/app/api/sessions/[id]/messages/route.js.nft.json +1 -1
  240. package/.next/standalone/.next/server/app/api/sessions/[id]/route.js +5 -4
  241. package/.next/standalone/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  242. package/.next/standalone/.next/server/app/api/sessions/route.js +6 -5
  243. package/.next/standalone/.next/server/app/api/sessions/route.js.nft.json +1 -1
  244. package/.next/standalone/.next/server/app/api/sync/route.js +4 -3
  245. package/.next/standalone/.next/server/app/api/sync/route.js.nft.json +1 -1
  246. package/.next/standalone/.next/server/app/api/tags/route.js +5 -4
  247. package/.next/standalone/.next/server/app/api/tags/route.js.nft.json +1 -1
  248. package/.next/standalone/.next/server/app/api/tier/route.js +4 -3
  249. package/.next/standalone/.next/server/app/api/tier/route.js.nft.json +1 -1
  250. package/.next/standalone/.next/server/app/api/updates/route.js +2 -2
  251. package/.next/standalone/.next/server/app/api/updates/route.js.nft.json +1 -1
  252. package/.next/standalone/.next/server/app/api/whisper/config/route.js +2 -2
  253. package/.next/standalone/.next/server/app/api/whisper/config/route.js.nft.json +1 -1
  254. package/.next/standalone/.next/server/app/api/whisper/route.js +2 -2
  255. package/.next/standalone/.next/server/app/api/whisper/route.js.nft.json +1 -1
  256. package/.next/standalone/.next/server/app/api/wizard/chat/route.js +3 -3
  257. package/.next/standalone/.next/server/app/api/wizard/chat/route.js.nft.json +1 -1
  258. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/[key]/route.js +5 -3
  259. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/[key]/route.js.nft.json +1 -1
  260. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/route.js +5 -3
  261. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/route.js.nft.json +1 -1
  262. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/[msgId]/route.js +5 -3
  263. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/[msgId]/route.js.nft.json +1 -1
  264. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/route.js +5 -3
  265. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/route.js.nft.json +1 -1
  266. package/.next/standalone/.next/server/app/api/workspaces/[id]/route.js +5 -4
  267. package/.next/standalone/.next/server/app/api/workspaces/[id]/route.js.nft.json +1 -1
  268. package/.next/standalone/.next/server/app/api/workspaces/[id]/sessions/route.js +5 -4
  269. package/.next/standalone/.next/server/app/api/workspaces/[id]/sessions/route.js.nft.json +1 -1
  270. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route.js +5 -4
  271. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route.js.nft.json +1 -1
  272. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route.js +5 -4
  273. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route.js.nft.json +1 -1
  274. package/.next/standalone/.next/server/app/api/workspaces/route.js +6 -5
  275. package/.next/standalone/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  276. package/.next/standalone/.next/server/app/cortex.html +1 -1
  277. package/.next/standalone/.next/server/app/cortex.rsc +2 -2
  278. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex/__PAGE__.segment.rsc +1 -1
  279. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex.segment.rsc +1 -1
  280. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  281. package/.next/standalone/.next/server/app/cortex.segments/_full.segment.rsc +2 -2
  282. package/.next/standalone/.next/server/app/cortex.segments/_head.segment.rsc +1 -1
  283. package/.next/standalone/.next/server/app/cortex.segments/_index.segment.rsc +2 -2
  284. package/.next/standalone/.next/server/app/cortex.segments/_tree.segment.rsc +2 -2
  285. package/.next/standalone/.next/server/app/icon.png/route.js +2 -2
  286. package/.next/standalone/.next/server/app/icon.png/route.js.nft.json +1 -1
  287. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  288. package/.next/standalone/.next/server/app/login.html +1 -1
  289. package/.next/standalone/.next/server/app/login.rsc +2 -2
  290. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +2 -2
  291. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  292. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +2 -2
  293. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  294. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  295. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  296. package/.next/standalone/.next/server/app/m/page_client-reference-manifest.js +1 -1
  297. package/.next/standalone/.next/server/app/m/projects/page_client-reference-manifest.js +1 -1
  298. package/.next/standalone/.next/server/app/m/projects.html +1 -1
  299. package/.next/standalone/.next/server/app/m/projects.rsc +2 -2
  300. package/.next/standalone/.next/server/app/m/projects.segments/_full.segment.rsc +2 -2
  301. package/.next/standalone/.next/server/app/m/projects.segments/_head.segment.rsc +1 -1
  302. package/.next/standalone/.next/server/app/m/projects.segments/_index.segment.rsc +2 -2
  303. package/.next/standalone/.next/server/app/m/projects.segments/_tree.segment.rsc +2 -2
  304. package/.next/standalone/.next/server/app/m/projects.segments/m/projects/__PAGE__.segment.rsc +1 -1
  305. package/.next/standalone/.next/server/app/m/projects.segments/m/projects.segment.rsc +1 -1
  306. package/.next/standalone/.next/server/app/m/projects.segments/m.segment.rsc +1 -1
  307. package/.next/standalone/.next/server/app/m/sessions/[id]/page_client-reference-manifest.js +1 -1
  308. package/.next/standalone/.next/server/app/m/sessions/page_client-reference-manifest.js +1 -1
  309. package/.next/standalone/.next/server/app/m/sessions.html +1 -1
  310. package/.next/standalone/.next/server/app/m/sessions.rsc +2 -2
  311. package/.next/standalone/.next/server/app/m/sessions.segments/_full.segment.rsc +2 -2
  312. package/.next/standalone/.next/server/app/m/sessions.segments/_head.segment.rsc +1 -1
  313. package/.next/standalone/.next/server/app/m/sessions.segments/_index.segment.rsc +2 -2
  314. package/.next/standalone/.next/server/app/m/sessions.segments/_tree.segment.rsc +2 -2
  315. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions/__PAGE__.segment.rsc +1 -1
  316. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions.segment.rsc +1 -1
  317. package/.next/standalone/.next/server/app/m/sessions.segments/m.segment.rsc +1 -1
  318. package/.next/standalone/.next/server/app/m/settings/page_client-reference-manifest.js +1 -1
  319. package/.next/standalone/.next/server/app/m/settings.html +1 -1
  320. package/.next/standalone/.next/server/app/m/settings.rsc +2 -2
  321. package/.next/standalone/.next/server/app/m/settings.segments/_full.segment.rsc +2 -2
  322. package/.next/standalone/.next/server/app/m/settings.segments/_head.segment.rsc +1 -1
  323. package/.next/standalone/.next/server/app/m/settings.segments/_index.segment.rsc +2 -2
  324. package/.next/standalone/.next/server/app/m/settings.segments/_tree.segment.rsc +2 -2
  325. package/.next/standalone/.next/server/app/m/settings.segments/m/settings/__PAGE__.segment.rsc +1 -1
  326. package/.next/standalone/.next/server/app/m/settings.segments/m/settings.segment.rsc +1 -1
  327. package/.next/standalone/.next/server/app/m/settings.segments/m.segment.rsc +1 -1
  328. package/.next/standalone/.next/server/app/m/terminal/page_client-reference-manifest.js +1 -1
  329. package/.next/standalone/.next/server/app/m/terminal.html +1 -1
  330. package/.next/standalone/.next/server/app/m/terminal.rsc +2 -2
  331. package/.next/standalone/.next/server/app/m/terminal.segments/_full.segment.rsc +2 -2
  332. package/.next/standalone/.next/server/app/m/terminal.segments/_head.segment.rsc +1 -1
  333. package/.next/standalone/.next/server/app/m/terminal.segments/_index.segment.rsc +2 -2
  334. package/.next/standalone/.next/server/app/m/terminal.segments/_tree.segment.rsc +2 -2
  335. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal/__PAGE__.segment.rsc +1 -1
  336. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal.segment.rsc +1 -1
  337. package/.next/standalone/.next/server/app/m/terminal.segments/m.segment.rsc +1 -1
  338. package/.next/standalone/.next/server/app/m.html +1 -1
  339. package/.next/standalone/.next/server/app/m.rsc +2 -2
  340. package/.next/standalone/.next/server/app/m.segments/_full.segment.rsc +2 -2
  341. package/.next/standalone/.next/server/app/m.segments/_head.segment.rsc +1 -1
  342. package/.next/standalone/.next/server/app/m.segments/_index.segment.rsc +2 -2
  343. package/.next/standalone/.next/server/app/m.segments/_tree.segment.rsc +2 -2
  344. package/.next/standalone/.next/server/app/m.segments/m/__PAGE__.segment.rsc +1 -1
  345. package/.next/standalone/.next/server/app/m.segments/m.segment.rsc +1 -1
  346. package/.next/standalone/.next/server/app/network.html +1 -1
  347. package/.next/standalone/.next/server/app/network.rsc +2 -2
  348. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network/__PAGE__.segment.rsc +1 -1
  349. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network.segment.rsc +1 -1
  350. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  351. package/.next/standalone/.next/server/app/network.segments/_full.segment.rsc +2 -2
  352. package/.next/standalone/.next/server/app/network.segments/_head.segment.rsc +1 -1
  353. package/.next/standalone/.next/server/app/network.segments/_index.segment.rsc +2 -2
  354. package/.next/standalone/.next/server/app/network.segments/_tree.segment.rsc +2 -2
  355. package/.next/standalone/.next/server/app/projects.html +1 -1
  356. package/.next/standalone/.next/server/app/projects.rsc +2 -2
  357. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects/__PAGE__.segment.rsc +1 -1
  358. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects.segment.rsc +1 -1
  359. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  360. package/.next/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
  361. package/.next/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  362. package/.next/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  363. package/.next/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  364. package/.next/standalone/.next/server/app/sessions.html +1 -1
  365. package/.next/standalone/.next/server/app/sessions.rsc +2 -2
  366. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions/__PAGE__.segment.rsc +1 -1
  367. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions.segment.rsc +1 -1
  368. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  369. package/.next/standalone/.next/server/app/sessions.segments/_full.segment.rsc +2 -2
  370. package/.next/standalone/.next/server/app/sessions.segments/_head.segment.rsc +1 -1
  371. package/.next/standalone/.next/server/app/sessions.segments/_index.segment.rsc +2 -2
  372. package/.next/standalone/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
  373. package/.next/standalone/.next/server/app/settings.html +1 -1
  374. package/.next/standalone/.next/server/app/settings.rsc +2 -2
  375. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings/__PAGE__.segment.rsc +1 -1
  376. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings.segment.rsc +1 -1
  377. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  378. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  379. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  380. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  381. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  382. package/.next/standalone/.next/server/app/terminal.html +1 -1
  383. package/.next/standalone/.next/server/app/terminal.rsc +3 -3
  384. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal/__PAGE__.segment.rsc +2 -2
  385. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal.segment.rsc +1 -1
  386. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  387. package/.next/standalone/.next/server/app/terminal.segments/_full.segment.rsc +3 -3
  388. package/.next/standalone/.next/server/app/terminal.segments/_head.segment.rsc +1 -1
  389. package/.next/standalone/.next/server/app/terminal.segments/_index.segment.rsc +2 -2
  390. package/.next/standalone/.next/server/app/terminal.segments/_tree.segment.rsc +2 -2
  391. package/.next/standalone/.next/server/app/vr/page_client-reference-manifest.js +1 -1
  392. package/.next/standalone/.next/server/app/vr.html +1 -1
  393. package/.next/standalone/.next/server/app/vr.rsc +2 -2
  394. package/.next/standalone/.next/server/app/vr.segments/_full.segment.rsc +2 -2
  395. package/.next/standalone/.next/server/app/vr.segments/_head.segment.rsc +1 -1
  396. package/.next/standalone/.next/server/app/vr.segments/_index.segment.rsc +2 -2
  397. package/.next/standalone/.next/server/app/vr.segments/_tree.segment.rsc +2 -2
  398. package/.next/standalone/.next/server/app/vr.segments/vr/__PAGE__.segment.rsc +1 -1
  399. package/.next/standalone/.next/server/app/vr.segments/vr.segment.rsc +1 -1
  400. package/.next/standalone/.next/server/app/workspaces.html +1 -1
  401. package/.next/standalone/.next/server/app/workspaces.rsc +2 -2
  402. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces/__PAGE__.segment.rsc +1 -1
  403. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces.segment.rsc +1 -1
  404. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  405. package/.next/standalone/.next/server/app/workspaces.segments/_full.segment.rsc +2 -2
  406. package/.next/standalone/.next/server/app/workspaces.segments/_head.segment.rsc +1 -1
  407. package/.next/standalone/.next/server/app/workspaces.segments/_index.segment.rsc +2 -2
  408. package/.next/standalone/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
  409. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cf5ebdb._.js +3 -0
  410. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0f15af1e._.js +78 -0
  411. package/.next/standalone/.next/server/chunks/[root-of-the-server]__107eab8a._.js +3 -0
  412. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1094360c._.js +1 -1
  413. package/.next/standalone/.next/server/chunks/[root-of-the-server]__118ea5e0._.js +42 -0
  414. package/.next/standalone/.next/server/chunks/[root-of-the-server]__160e7c73._.js +5 -5
  415. package/.next/standalone/.next/server/chunks/[root-of-the-server]__16d4da21._.js +3 -0
  416. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1c542684._.js +3 -0
  417. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1f23bae4._.js +3 -0
  418. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1faefa3e._.js +19 -0
  419. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2145098e._.js +42 -0
  420. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2748c76c._.js +42 -0
  421. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2c08d908._.js +3 -0
  422. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2e29b4bd._.js +3 -0
  423. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__e3ecfd17._.js → [root-of-the-server]__34fd47d2._.js} +3 -3
  424. package/.next/standalone/.next/server/chunks/[root-of-the-server]__366b6cec._.js +78 -0
  425. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4d51508f._.js +3 -0
  426. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5663673e._.js +3 -0
  427. package/.next/standalone/.next/server/chunks/[root-of-the-server]__57e0cc31._.js +133 -0
  428. package/.next/standalone/.next/server/chunks/[root-of-the-server]__57ebbe63._.js +42 -0
  429. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5d3345e4._.js +3 -0
  430. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5ee7aa9d._.js +11 -0
  431. package/.next/standalone/.next/server/chunks/[root-of-the-server]__60caf825._.js +3 -0
  432. package/.next/standalone/.next/server/chunks/[root-of-the-server]__65c9857f._.js +3 -0
  433. package/.next/standalone/.next/server/chunks/[root-of-the-server]__678f6823._.js +3 -0
  434. package/.next/standalone/.next/server/chunks/[root-of-the-server]__685c95d8._.js +3 -0
  435. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__41d4d426._.js → [root-of-the-server]__69568dc2._.js} +1 -1
  436. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6a0bc4ae._.js +3 -0
  437. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6b876561._.js +3 -0
  438. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6e89713c._.js +42 -0
  439. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6f713737._.js +3 -0
  440. package/.next/standalone/.next/server/chunks/[root-of-the-server]__725f10f4._.js +78 -0
  441. package/.next/standalone/.next/server/chunks/[root-of-the-server]__785b0597._.js +38 -0
  442. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7c728bed._.js +3 -0
  443. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7da958b5._.js +42 -0
  444. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7daed406._.js +3 -0
  445. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7f140e4b._.js +78 -0
  446. package/.next/standalone/.next/server/chunks/[root-of-the-server]__80d826f7._.js +3 -0
  447. package/.next/standalone/.next/server/chunks/[root-of-the-server]__83a3c97b._.js +3 -0
  448. package/.next/standalone/.next/server/chunks/[root-of-the-server]__84c15a0e._.js +3 -0
  449. package/.next/standalone/.next/server/chunks/[root-of-the-server]__85c33341._.js +42 -0
  450. package/.next/standalone/.next/server/chunks/[root-of-the-server]__88f3d920._.js +78 -0
  451. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8c916e85._.js +3 -0
  452. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8deb2ae3._.js +3 -0
  453. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8df5a740._.js +3 -0
  454. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8f238bd9._.js +3 -0
  455. package/.next/standalone/.next/server/chunks/[root-of-the-server]__955ab668._.js +3 -0
  456. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9a061e91._.js +42 -0
  457. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a04a87d5._.js +42 -0
  458. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a803051f._.js +42 -0
  459. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ac0a9b09._.js +3 -0
  460. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ac3e37b6._.js +13 -0
  461. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__96685488._.js → [root-of-the-server]__add9e50d._.js} +1 -1
  462. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b57f4274._.js +3 -0
  463. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b84b3426._.js +3 -0
  464. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ba8224a1._.js +42 -0
  465. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bd1c1d0d._.js +42 -0
  466. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c1442c38._.js +42 -0
  467. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c18bdab2._.js +42 -0
  468. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c1efc6a8._.js +3 -0
  469. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c697b87e._.js +3 -0
  470. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c6dc43c6._.js +3 -0
  471. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ccce7f4f._.js +78 -0
  472. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d92f347c._.js +3 -0
  473. package/.next/standalone/.next/server/chunks/[root-of-the-server]__dac9e21e._.js +3 -0
  474. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e3f9ddbc._.js +78 -0
  475. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e66fc05f._.js +3 -0
  476. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e7add82c._.js +3 -0
  477. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fa9a5ec0._.js +42 -0
  478. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ff9f6af0._.js +42 -0
  479. package/.next/standalone/.next/server/chunks/_0142f96b._.js +3 -0
  480. package/.next/standalone/.next/server/chunks/_0ebd30d3._.js +3 -0
  481. package/.next/standalone/.next/server/chunks/_19a59078._.js +3 -0
  482. package/.next/standalone/.next/server/chunks/_1bc02021._.js +11 -0
  483. package/.next/standalone/.next/server/chunks/_1e381a28._.js +3 -0
  484. package/.next/standalone/.next/server/chunks/_2699eda7._.js +3 -0
  485. package/.next/standalone/.next/server/chunks/_2fd02f70._.js +3 -0
  486. package/.next/standalone/.next/server/chunks/_373d522f._.js +3 -0
  487. package/.next/standalone/.next/server/chunks/_43fc1196._.js +3 -0
  488. package/.next/standalone/.next/server/chunks/_48ec4374._.js +3 -0
  489. package/.next/standalone/.next/server/chunks/_563d9ecc._.js +3 -0
  490. package/.next/standalone/.next/server/chunks/_583f9ae2._.js +3 -0
  491. package/.next/standalone/.next/server/chunks/_5a167705._.js +3 -0
  492. package/.next/standalone/.next/server/chunks/_5a8cc3a5._.js +3 -0
  493. package/.next/standalone/.next/server/chunks/_5d894fb4._.js +3 -0
  494. package/.next/standalone/.next/server/chunks/_6bbf8264._.js +3 -0
  495. package/.next/standalone/.next/server/chunks/_6c4bcec1._.js +3 -0
  496. package/.next/standalone/.next/server/chunks/_7a29d111._.js +3 -0
  497. package/.next/standalone/.next/server/chunks/_7d3bab25._.js +3 -0
  498. package/.next/standalone/.next/server/chunks/_7ed4d1a4._.js +3 -0
  499. package/.next/standalone/.next/server/chunks/_8072d20c._.js +3 -0
  500. package/.next/standalone/.next/server/chunks/_81b87c01._.js +3 -0
  501. package/.next/standalone/.next/server/chunks/_881b7b28._.js +3 -0
  502. package/.next/standalone/.next/server/chunks/_902a1d56._.js +3 -0
  503. package/.next/standalone/.next/server/chunks/_96258f1c._.js +3 -0
  504. package/.next/standalone/.next/server/chunks/_96f79f8f._.js +3 -0
  505. package/.next/standalone/.next/server/chunks/_a0379bc2._.js +3 -0
  506. package/.next/standalone/.next/server/chunks/_a0f604e8._.js +3 -0
  507. package/.next/standalone/.next/server/chunks/_a959b121._.js +3 -0
  508. package/.next/standalone/.next/server/chunks/_a975011f._.js +3 -0
  509. package/.next/standalone/.next/server/chunks/_aa956b66._.js +3 -0
  510. package/.next/standalone/.next/server/chunks/_ad7e7d57._.js +3 -0
  511. package/.next/standalone/.next/server/chunks/_aebf2285._.js +3 -0
  512. package/.next/standalone/.next/server/chunks/_b259dda0._.js +36 -0
  513. package/.next/standalone/.next/server/chunks/_b7c60fdc._.js +3 -0
  514. package/.next/standalone/.next/server/chunks/_bd23ddeb._.js +3 -0
  515. package/.next/standalone/.next/server/chunks/_cd02dfbe._.js +3 -0
  516. package/.next/standalone/.next/server/chunks/_d3ecca80._.js +3 -0
  517. package/.next/standalone/.next/server/chunks/_d48dfa43._.js +11 -0
  518. package/.next/standalone/.next/server/chunks/_dba648d6._.js +3 -0
  519. package/.next/standalone/.next/server/chunks/_df42ac6e._.js +3 -0
  520. package/.next/standalone/.next/server/chunks/_dfe0e460._.js +42 -0
  521. package/.next/standalone/.next/server/chunks/_ead2734e._.js +3 -0
  522. package/.next/standalone/.next/server/chunks/_eb4efd0a._.js +3 -0
  523. package/.next/standalone/.next/server/chunks/_eb66a871._.js +3 -0
  524. package/.next/standalone/.next/server/chunks/_ef715efd._.js +3 -0
  525. package/.next/standalone/.next/server/chunks/_f361a656._.js +3 -0
  526. package/.next/standalone/.next/server/chunks/_f54ddbf4._.js +3 -0
  527. package/.next/standalone/.next/server/chunks/_fe2866f2._.js +3 -0
  528. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_4c408326.js +3 -0
  529. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_5603adbc.js +3 -0
  530. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7180f8ad.js +3 -0
  531. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_b6be66d9.js +3 -0
  532. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f7054fd7.js +3 -0
  533. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__66aca5d4._.js +1 -1
  534. package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_terminal_page_tsx_de5e8d85._.js +1 -1
  535. package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__90eeddae._.js +1 -1
  536. package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__ca3f649e._.js +1 -1
  537. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  538. package/.next/standalone/.next/server/pages/404.html +1 -1
  539. package/.next/standalone/.next/server/pages/500.html +2 -2
  540. package/.next/standalone/.next/static/chunks/{732b7502f82e7c37.css → 044decb96250e420.css} +1 -1
  541. package/.next/standalone/.next/static/chunks/{23a9627a951672ed.js → 8b53c673e79b82f1.js} +3 -3
  542. package/.next/standalone/bin/scrub-standalone.js +5 -0
  543. package/.next/standalone/bin/spaces-dev.js +13 -3
  544. package/.next/standalone/bin/spaces.js +25 -4
  545. package/.next/standalone/package-lock.json +2 -2
  546. package/.next/standalone/package.json +3 -2
  547. package/.next/standalone/src/app/(desktop)/terminal/page.tsx +22 -1
  548. package/.next/standalone/src/app/api/network/discovered/route.ts +2 -2
  549. package/.next/standalone/src/app/api/network/nodes/check/route.ts +2 -2
  550. package/.next/standalone/src/app/api/network/nodes/route.ts +2 -2
  551. package/.next/standalone/src/app/api/server-config/route.ts +9 -18
  552. package/.next/standalone/src/lib/admin/api/analytics.ts +1 -8
  553. package/.next/standalone/src/lib/admin/api/users.ts +1 -8
  554. package/.next/standalone/src/lib/admin/api/usersById.ts +1 -8
  555. package/.next/standalone/src/lib/auth/guard.ts +46 -0
  556. package/.next/standalone/src/lib/auth/index.ts +1 -0
  557. package/.next/standalone/src/lib/db/queries.ts +11 -1
  558. package/.next/standalone/src/lib/network/api/discovered.ts +4 -1
  559. package/.next/standalone/src/lib/network/api/identity.ts +6 -0
  560. package/.next/standalone/src/lib/network/api/keys.ts +6 -0
  561. package/.next/standalone/src/lib/network/api/keysById.ts +3 -0
  562. package/.next/standalone/src/lib/network/api/nodes.ts +49 -3
  563. package/.next/standalone/src/lib/network/api/nodesById.ts +5 -0
  564. package/.next/standalone/src/lib/network/api/nodesCheck.ts +4 -1
  565. package/.next/standalone/src/lib/network/api/proxy.ts +5 -0
  566. package/.next/standalone/src/middleware.ts +24 -10
  567. package/.next/standalone/tsconfig.tsbuildinfo +1 -1
  568. package/bin/scrub-standalone.js +5 -0
  569. package/bin/spaces-dev.js +13 -3
  570. package/bin/spaces.js +25 -4
  571. package/package.json +3 -2
  572. package/.next/standalone/.next/server/chunks/[externals]_next_dist_b89b5a39._.js +0 -3
  573. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0153ac12._.js +0 -133
  574. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01a4559c._.js +0 -3
  575. package/.next/standalone/.next/server/chunks/[root-of-the-server]__029ab763._.js +0 -133
  576. package/.next/standalone/.next/server/chunks/[root-of-the-server]__037992dc._.js +0 -141
  577. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06bb204a._.js +0 -133
  578. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fd17dcf._.js +0 -3
  579. package/.next/standalone/.next/server/chunks/[root-of-the-server]__107439ea._.js +0 -133
  580. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12dff461._.js +0 -78
  581. package/.next/standalone/.next/server/chunks/[root-of-the-server]__13eb511a._.js +0 -133
  582. package/.next/standalone/.next/server/chunks/[root-of-the-server]__141c8d34._.js +0 -172
  583. package/.next/standalone/.next/server/chunks/[root-of-the-server]__151efd48._.js +0 -3
  584. package/.next/standalone/.next/server/chunks/[root-of-the-server]__16c141c2._.js +0 -133
  585. package/.next/standalone/.next/server/chunks/[root-of-the-server]__17fee60c._.js +0 -133
  586. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1a525be8._.js +0 -3
  587. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1aea45f5._.js +0 -3
  588. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1cb4ee6b._.js +0 -133
  589. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1e25d3db._.js +0 -133
  590. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1f7566a3._.js +0 -3
  591. package/.next/standalone/.next/server/chunks/[root-of-the-server]__20382bee._.js +0 -133
  592. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2082a624._.js +0 -133
  593. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2091a7ed._.js +0 -42
  594. package/.next/standalone/.next/server/chunks/[root-of-the-server]__24525ae7._.js +0 -133
  595. package/.next/standalone/.next/server/chunks/[root-of-the-server]__284b02fc._.js +0 -42
  596. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2a1a1d0f._.js +0 -42
  597. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2cf17888._.js +0 -42
  598. package/.next/standalone/.next/server/chunks/[root-of-the-server]__323ae5c9._.js +0 -133
  599. package/.next/standalone/.next/server/chunks/[root-of-the-server]__34db98f7._.js +0 -133
  600. package/.next/standalone/.next/server/chunks/[root-of-the-server]__39efba69._.js +0 -3
  601. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3aeedc57._.js +0 -133
  602. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3bbe9d04._.js +0 -78
  603. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3c2324ba._.js +0 -42
  604. package/.next/standalone/.next/server/chunks/[root-of-the-server]__40df3f5d._.js +0 -172
  605. package/.next/standalone/.next/server/chunks/[root-of-the-server]__42a3fe3c._.js +0 -141
  606. package/.next/standalone/.next/server/chunks/[root-of-the-server]__42d5d5be._.js +0 -3
  607. package/.next/standalone/.next/server/chunks/[root-of-the-server]__49821b61._.js +0 -133
  608. package/.next/standalone/.next/server/chunks/[root-of-the-server]__49f58cee._.js +0 -133
  609. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4b9c38dc._.js +0 -141
  610. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4c0ee9c7._.js +0 -133
  611. package/.next/standalone/.next/server/chunks/[root-of-the-server]__530862c6._.js +0 -3
  612. package/.next/standalone/.next/server/chunks/[root-of-the-server]__55504160._.js +0 -133
  613. package/.next/standalone/.next/server/chunks/[root-of-the-server]__599f26fe._.js +0 -42
  614. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5efa69f5._.js +0 -3
  615. package/.next/standalone/.next/server/chunks/[root-of-the-server]__60483ece._.js +0 -3
  616. package/.next/standalone/.next/server/chunks/[root-of-the-server]__61135659._.js +0 -133
  617. package/.next/standalone/.next/server/chunks/[root-of-the-server]__66331034._.js +0 -133
  618. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6887294d._.js +0 -3
  619. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6b9396b4._.js +0 -133
  620. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6cfd7062._.js +0 -166
  621. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6e8d89e2._.js +0 -149
  622. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6f5b3cfe._.js +0 -133
  623. package/.next/standalone/.next/server/chunks/[root-of-the-server]__71d5b087._.js +0 -133
  624. package/.next/standalone/.next/server/chunks/[root-of-the-server]__76434a8e._.js +0 -78
  625. package/.next/standalone/.next/server/chunks/[root-of-the-server]__798bafa7._.js +0 -133
  626. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7b873fdb._.js +0 -78
  627. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7d73f791._.js +0 -133
  628. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7dc76d0e._.js +0 -133
  629. package/.next/standalone/.next/server/chunks/[root-of-the-server]__80a85d1f._.js +0 -133
  630. package/.next/standalone/.next/server/chunks/[root-of-the-server]__81f2a9b7._.js +0 -133
  631. package/.next/standalone/.next/server/chunks/[root-of-the-server]__82f11618._.js +0 -3
  632. package/.next/standalone/.next/server/chunks/[root-of-the-server]__834efefe._.js +0 -42
  633. package/.next/standalone/.next/server/chunks/[root-of-the-server]__853663ea._.js +0 -42
  634. package/.next/standalone/.next/server/chunks/[root-of-the-server]__861f2472._.js +0 -172
  635. package/.next/standalone/.next/server/chunks/[root-of-the-server]__882d0924._.js +0 -133
  636. package/.next/standalone/.next/server/chunks/[root-of-the-server]__88959e7f._.js +0 -133
  637. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8b6c05dc._.js +0 -133
  638. package/.next/standalone/.next/server/chunks/[root-of-the-server]__912a22a4._.js +0 -133
  639. package/.next/standalone/.next/server/chunks/[root-of-the-server]__93d21ad1._.js +0 -42
  640. package/.next/standalone/.next/server/chunks/[root-of-the-server]__94532b09._.js +0 -42
  641. package/.next/standalone/.next/server/chunks/[root-of-the-server]__97e87518._.js +0 -78
  642. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9c13c8d0._.js +0 -78
  643. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9cb13212._.js +0 -133
  644. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9d315363._.js +0 -133
  645. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9ec369db._.js +0 -13
  646. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9f09ade5._.js +0 -133
  647. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9f986ad2._.js +0 -133
  648. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a35913cf._.js +0 -172
  649. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a3641117._.js +0 -78
  650. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a76c75a0._.js +0 -133
  651. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a934c48d._.js +0 -133
  652. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9431ac6._.js +0 -133
  653. package/.next/standalone/.next/server/chunks/[root-of-the-server]__aa3381a4._.js +0 -133
  654. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ab1cc16c._.js +0 -133
  655. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ab22ca4f._.js +0 -133
  656. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ac20d518._.js +0 -78
  657. package/.next/standalone/.next/server/chunks/[root-of-the-server]__aee3bf91._.js +0 -172
  658. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b1114936._.js +0 -133
  659. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b15ade1f._.js +0 -133
  660. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b2bc7a81._.js +0 -133
  661. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b51446e5._.js +0 -133
  662. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ba344563._.js +0 -133
  663. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c3b2e20c._.js +0 -133
  664. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ca93ae79._.js +0 -42
  665. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cf4a76c0._.js +0 -133
  666. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d20bed9e._.js +0 -78
  667. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d2d59054._.js +0 -133
  668. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d4f1c0c0._.js +0 -38
  669. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d6de7a45._.js +0 -133
  670. package/.next/standalone/.next/server/chunks/[root-of-the-server]__da33b519._.js +0 -133
  671. package/.next/standalone/.next/server/chunks/[root-of-the-server]__dc820e44._.js +0 -133
  672. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e1058e69._.js +0 -133
  673. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e1dfb4d4._.js +0 -3
  674. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e3606cd1._.js +0 -3
  675. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e55b6fc5._.js +0 -133
  676. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e6555dc3._.js +0 -133
  677. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e65c3971._.js +0 -3
  678. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ea9e2d75._.js +0 -133
  679. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ec37cbee._.js +0 -133
  680. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f3c19e4b._.js +0 -42
  681. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f445bd01._.js +0 -3
  682. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f7b0b4da._.js +0 -133
  683. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fb4c016b._.js +0 -133
  684. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fd86530e._.js +0 -78
  685. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fef9b1ec._.js +0 -133
  686. package/.next/standalone/docs/plans/2026-02-24-multi-agent-sessions-design.md +0 -133
  687. package/.next/standalone/docs/plans/2026-02-24-multi-agent-sessions-plan.md +0 -959
  688. package/.next/standalone/docs/plans/2026-03-07-service-command-design.md +0 -146
  689. package/.next/standalone/docs/plans/2026-03-07-service-command-plan.md +0 -254
  690. package/.next/standalone/docs/plans/2026-04-23-consolidate-addons-design.md +0 -212
  691. package/.next/standalone/docs/plans/2026-04-23-consolidate-addons-plan.md +0 -1509
  692. package/.next/standalone/docs/superpowers/plans/2026-03-12-spaces-cortex.md +0 -5270
  693. package/.next/standalone/docs/superpowers/plans/2026-03-13-cortex-wiring.md +0 -1387
  694. package/.next/standalone/docs/superpowers/plans/2026-03-14-cortex-v2-entity-graph.md +0 -1923
  695. package/.next/standalone/docs/superpowers/plans/2026-03-14-cortex-v2-knowledge-evolution.md +0 -1113
  696. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-boundary-engine.md +0 -853
  697. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-context-engine.md +0 -1274
  698. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-signal-ingestion.md +0 -933
  699. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-lobes.md +0 -1080
  700. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-v2-gravity-system.md +0 -768
  701. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-v2-ui.md +0 -1108
  702. package/.next/standalone/docs/superpowers/plans/2026-03-18-cortex-ui-integration.md +0 -1846
  703. package/.next/standalone/docs/superpowers/plans/2026-03-19-vr-phase1-shell.md +0 -1639
  704. package/.next/standalone/docs/superpowers/plans/2026-03-27-dockview-pane-layout.md +0 -98
  705. package/.next/standalone/docs/superpowers/plans/2026-04-21-workspace-todos.md +0 -1097
  706. package/.next/standalone/docs/superpowers/plans/2026-04-22-claude-usage-display.md +0 -749
  707. package/.next/standalone/docs/superpowers/specs/2026-03-11-universe-view-design.md +0 -320
  708. package/.next/standalone/docs/superpowers/specs/2026-03-12-spaces-brain-design.md +0 -720
  709. package/.next/standalone/docs/superpowers/specs/2026-03-13-cortex-wiring-design.md +0 -268
  710. package/.next/standalone/docs/superpowers/specs/2026-03-14-cortex-v2-design.md +0 -623
  711. package/.next/standalone/docs/superpowers/specs/2026-03-16-cortex-lobes-design.md +0 -263
  712. package/.next/standalone/docs/superpowers/specs/2026-03-16-cortex-v2-ui-design.md +0 -240
  713. package/.next/standalone/docs/superpowers/specs/2026-03-16-pane-ux-design.md +0 -77
  714. package/.next/standalone/docs/superpowers/specs/2026-03-18-cortex-ui-integration-design.md +0 -341
  715. package/.next/standalone/docs/superpowers/specs/2026-03-19-vr-phase1-shell-design.md +0 -288
  716. package/.next/standalone/docs/superpowers/specs/2026-03-27-pane-diff-review-and-project-wizard-design.md +0 -322
  717. package/.next/standalone/docs/superpowers/specs/2026-04-21-workspace-todos-design.md +0 -180
  718. package/.next/standalone/docs/superpowers/specs/2026-04-22-claude-usage-display-design.md +0 -183
  719. /package/.next/standalone/.next/static/{Y9EeSGuSi-8qpkLvIBy0a → mimGB6C_ZmJMiVnOe9tqZ}/_buildManifest.js +0 -0
  720. /package/.next/standalone/.next/static/{Y9EeSGuSi-8qpkLvIBy0a → mimGB6C_ZmJMiVnOe9tqZ}/_clientMiddlewareManifest.json +0 -0
  721. /package/.next/standalone/.next/static/{Y9EeSGuSi-8qpkLvIBy0a → mimGB6C_ZmJMiVnOe9tqZ}/_ssgManifest.js +0 -0
@@ -1,322 +0,0 @@
1
- # Pane Diff Review & Project Creation Wizard — Design Spec
2
-
3
- **Date**: 2026-03-27
4
- **Status**: Draft
5
- **Features**: Two independent features inspired by Cline Kanban, adapted for Spaces
6
-
7
- ---
8
-
9
- ## Feature 1: Pane Diff Review
10
-
11
- ### Overview
12
-
13
- A "Review Changes" button in each pane's header that shows a clean git diff of everything that changed since the pane was created (or since the user last reviewed). The diff renders inline within the pane with an option to pop it out to a separate window.
14
-
15
- ### Data Model
16
-
17
- Add one column to the `panes` table:
18
-
19
- ```sql
20
- ALTER TABLE panes ADD COLUMN diff_baseline_sha TEXT;
21
- ```
22
-
23
- - `diff_baseline_sha` — the git commit SHA captured when the pane is created. Updated when the user clicks "Reset Baseline" (mark as reviewed).
24
- - The diff itself is never stored — computed on demand.
25
-
26
- On pane creation, the API runs `git rev-parse HEAD` from the pane's `cwd` and stores the result as `diff_baseline_sha`. If the directory is not a git repo, the field is left null.
27
-
28
- ### API
29
-
30
- **`GET /api/panes/[id]/diff`**
31
-
32
- Reads the pane's `cwd` and `diff_baseline_sha`. Runs from that directory:
33
-
34
- - `git diff <baseline_sha> HEAD` — committed changes since baseline
35
- - `git diff` — unstaged changes
36
- - `git diff --cached` — staged changes
37
- - `git status --porcelain` — new untracked files
38
-
39
- Returns:
40
-
41
- ```typescript
42
- interface PaneDiffResponse {
43
- baselineSha: string;
44
- currentSha: string;
45
- files: Array<{
46
- path: string;
47
- status: 'added' | 'modified' | 'deleted' | 'renamed';
48
- additions: number;
49
- deletions: number;
50
- }>;
51
- diff: string; // unified diff text (all changes combined)
52
- untracked: string[]; // new files not yet tracked by git
53
- }
54
- ```
55
-
56
- Error cases:
57
- - Pane `cwd` is not a git repo → 400 `{ error: "Not a git repository" }`
58
- - `diff_baseline_sha` is null → 400 `{ error: "No baseline set" }`
59
- - Pane not found → 404
60
-
61
- **`POST /api/panes/[id]/diff/reset`**
62
-
63
- Updates `diff_baseline_sha` to current HEAD (`git rev-parse HEAD` from pane's `cwd`). Returns the new SHA. This is the "mark as reviewed" action — subsequent diffs only show changes after this point.
64
-
65
- ### Frontend — Inline Diff Panel
66
-
67
- **Pane header button**: A `GitCompareArrows` (lucide) icon button added to the pane title bar, next to existing buttons (minimize, maximize, popout, close). Only visible when `diff_baseline_sha` is not null (i.e., pane's cwd is a git repo).
68
-
69
- **Changed file badge**: A small count badge on the button showing the number of changed files. Fetched via `GET /api/panes/[id]/diff?countOnly=true` on pane focus and every 30 seconds while the pane is visible. The `countOnly` query param returns only `{ fileCount: number }` instead of the full diff — fast enough for polling.
70
-
71
- **Diff panel**: Toggling the button splits the pane vertically — terminal on top, diff panel below. The divider is resizable via drag.
72
-
73
- **Diff panel contents**:
74
- - **File list sidebar** (left): Clickable list of changed files with status icons (green +, red -, blue ~). Clicking a file scrolls the diff view to that file.
75
- - **Diff view** (right): Unified diff with syntax highlighting. Green backgrounds for additions, red for deletions. Line numbers shown.
76
- - **Toolbar**:
77
- - "Reset Baseline" button — calls `POST /api/panes/[id]/diff/reset`, clears the diff panel
78
- - "Pop Out" button — opens diff in a new window
79
- - "Copy Diff" button — copies raw unified diff to clipboard
80
- - "Collapse" button — closes the diff panel
81
-
82
- **Component**: `src/components/terminal/pane-diff-panel.tsx`
83
-
84
- ### Popout
85
-
86
- Clicking "Pop Out" opens a new window via `window.open()` pointing to `/terminal/pane/[id]/diff`. This route renders the diff viewer at full window size, identical to the inline version but without the terminal above it. Reuses the existing popout window infrastructure (BroadcastChannel sync, window geometry tracking).
87
-
88
- **Route**: `src/app/(desktop)/terminal/pane/[id]/diff/page.tsx`
89
-
90
- ### Edge Cases
91
-
92
- - **Non-git directory**: Button hidden. Tooltip on hover: "Not a git repository"
93
- - **No changes**: Empty state in panel: "No changes since baseline"
94
- - **Large diffs**: Truncate at 500KB with a "Show full diff" link that fetches without limit
95
- - **Binary files**: Show "Binary file changed" placeholder per file
96
- - **Pane cwd changed after creation**: Baseline SHA may not exist in new repo. Detect this (`git cat-file -t <sha>` fails) and prompt user to reset baseline.
97
- - **Detached HEAD / no commits**: If repo has no commits, disable the button with tooltip "No commits in repository"
98
-
99
- ---
100
-
101
- ## Feature 2: Project Creation Wizard
102
-
103
- ### Overview
104
-
105
- A guided project creation flow accessible from the workspace chooser. The user describes a project in a chat interface, has back-and-forth with an LLM to refine the plan, then hits "Go" to automatically create a fully configured workspace with the right agents, panes, and initial prompts.
106
-
107
- ### Entry Point
108
-
109
- A "Plan a Project" button in the WorkspaceChooser component, alongside the existing "New Space" button. Uses a distinctive icon (e.g., `Wand2` or `Sparkles` from lucide) to signal the AI-assisted path. Clicking opens a full-screen modal overlay.
110
-
111
- ### Wizard Modal — Layout
112
-
113
- ```
114
- ┌─────────────────────────────────────────────────────────────┐
115
- │ Plan a Project [X Close]│
116
- ├──────────────────────────────┬──────────────────────────────┤
117
- │ │ │
118
- │ Chat Interface │ Live Project Plan │
119
- │ │ │
120
- │ [LLM messages] │ Workspace: "My Project" │
121
- │ [User messages] │ Description: "..." │
122
- │ │ │
123
- │ │ Panes: │
124
- │ │ 1. Research (Claude Code) │
125
- │ │ 2. Backend (Claude Code) │
126
- │ │ 3. Tests (Codex) │
127
- │ │ │
128
- │ ┌────────────────────┐ │ │
129
- │ │ Type a message... │ │ │
130
- │ └────────────────────┘ │ [Review Plan] │
131
- │ │ │
132
- └──────────────────────────────┴──────────────────────────────┘
133
- ```
134
-
135
- **Left panel**: Chat interface. Standard chat UX — user messages right-aligned, LLM messages left-aligned. Text input at bottom with send button.
136
-
137
- **Right panel**: Live-updating project plan summary. Rebuilt after each LLM response. Shows workspace config and pane list as structured cards. "Review Plan" button at bottom becomes active once the plan has at least one pane defined.
138
-
139
- ### Chat Interface
140
-
141
- **Component**: `src/components/wizard/wizard-chat.tsx`
142
-
143
- Standard chat component with:
144
- - Message list (scrollable, auto-scroll to bottom)
145
- - Text input with send button (Enter to send, Shift+Enter for newline)
146
- - Loading indicator while LLM responds
147
- - No file upload, no voice — text only for v1
148
-
149
- ### LLM Integration
150
-
151
- **API endpoint**: `POST /api/wizard/chat`
152
-
153
- Request:
154
- ```typescript
155
- interface WizardChatRequest {
156
- messages: Array<{ role: 'user' | 'assistant'; content: string }>;
157
- currentPlan: ProjectPlan | null;
158
- }
159
- ```
160
-
161
- Response:
162
- ```typescript
163
- interface WizardChatResponse {
164
- reply: string;
165
- plan: ProjectPlan;
166
- }
167
- ```
168
-
169
- The endpoint:
170
- 1. Reads the user's API key from `~/.spaces/config.json` (field: `anthropic_api_key` or `openai_api_key`, with Anthropic preferred)
171
- 2. Constructs a system prompt (see below) with the current plan as context
172
- 3. Calls the Claude API directly (`POST https://api.anthropic.com/v1/messages`)
173
- 4. Parses the response to extract both the conversational reply and the updated plan JSON
174
- 5. Returns both to the frontend
175
-
176
- **No Cortex dependency.** This is a direct API call.
177
-
178
- **System prompt** instructs the LLM to:
179
- - Act as a project planning assistant for Spaces
180
- - Ask about: project purpose, tech stack, scope, working directory, what agents would help
181
- - Ask 1-2 questions at a time, not a wall of questions
182
- - After each exchange, output an updated `ProjectPlan` JSON block alongside the conversational reply
183
- - Know the available agent types: Claude Code, Codex, Gemini, Aider, Shell, Custom
184
- - Suggest agent configurations based on the project description
185
- - Converge toward a concrete plan, then suggest the user review it
186
-
187
- **API key validation**: If no API key is configured, the wizard shows a message directing the user to Settings to add one. The chat is disabled until a key is present.
188
-
189
- ### ProjectPlan Schema
190
-
191
- ```typescript
192
- interface ProjectPlan {
193
- workspace: {
194
- name: string;
195
- description: string;
196
- color: string; // hex color, LLM can suggest or default to #6366f1
197
- };
198
- panes: Array<{
199
- title: string;
200
- agentType: 'claude' | 'codex' | 'gemini' | 'aider' | 'shell' | 'custom';
201
- cwd: string;
202
- initialPrompt?: string; // injected as first input when agent starts
203
- customCommand?: string; // for 'custom' agent type
204
- description: string; // human-readable purpose (shown in plan review)
205
- }>;
206
- summary: string; // one-paragraph project summary
207
- }
208
- ```
209
-
210
- ### Plan Review Step
211
-
212
- Clicking "Review Plan" transitions the modal from chat+summary layout to a full-width review view.
213
-
214
- **Review view contents**:
215
- - **Workspace section**: Name, description, color — all editable inline (text inputs, color picker)
216
- - **Panes list**: Each pane shown as an editable card:
217
- - Title (text input)
218
- - Agent type (dropdown matching existing agent type selector)
219
- - Working directory (text input with browse/validate)
220
- - Initial prompt (expandable textarea)
221
- - Description (text, read-only context)
222
- - Delete button (remove pane from plan)
223
- - **Add Pane button**: Manually add a pane with blank fields
224
- - **"Back to Chat" button**: Returns to chat layout to refine further with the LLM
225
- - **"Launch Space" button**: Executes the plan
226
-
227
- **Validation before launch**:
228
- - Workspace name is not empty
229
- - At least one pane exists
230
- - All pane cwds are non-empty
231
- - Cwds are validated against the filesystem (show warning if directory doesn't exist, with option to create it)
232
-
233
- ### Launch Sequence
234
-
235
- When user clicks "Launch Space":
236
-
237
- 1. `POST /api/workspaces` — create workspace with name, description, color
238
- 2. For each pane in order: `POST /api/panes` — create pane with title, agentType, cwd, customCommand, assigned to new workspace
239
- 3. `PUT /api/workspaces/active` — switch to the new workspace (via `switchWorkspace()`)
240
- 4. Close the wizard modal
241
- 5. Terminal page loads the new workspace's panes, agents start up
242
-
243
- **Initial prompt injection**: For panes with `initialPrompt`, the terminal server writes the prompt text to the pty's stdin after detecting the agent is ready. Readiness is determined by watching for the agent's prompt indicator in stdout (e.g., Claude Code's `>` prompt). Fallback: a 2-second delay after process spawn if no prompt indicator is detected. The `initialPrompt` field is stored on the pane record and consumed once on first connection — the terminal server deletes it from the pane after injection so it doesn't re-fire on reconnect.
244
-
245
- **Component**: `src/components/wizard/wizard-launch.ts` (logic) — calls existing API endpoints, no new backend needed for launch itself.
246
-
247
- ### Plan Persistence
248
-
249
- The `ProjectPlan` JSON is saved to the workspace record after creation. Uses the existing `lobe_config` column (JSON field) with a `wizardPlan` key:
250
-
251
- ```typescript
252
- // stored in workspaces.lobe_config
253
- {
254
- ...existingLobeConfig,
255
- wizardPlan: ProjectPlan
256
- }
257
- ```
258
-
259
- This allows:
260
- - Viewing the original plan later (potential future "Plan" tab in workspace settings)
261
- - Re-launching or modifying the plan
262
- - Understanding what a workspace was created for
263
-
264
- ### Draft Persistence
265
-
266
- If the user closes the wizard mid-conversation, prompt: "Discard this plan?" with options:
267
- - **Save Draft** — stores the current messages and plan in `localStorage` under key `spaces-wizard-draft`. Next time the wizard opens, it offers to resume.
268
- - **Discard** — clears everything, closes modal.
269
-
270
- Only one draft at a time. Starting a new wizard session while a draft exists prompts: "Resume previous draft or start fresh?"
271
-
272
- ### Edge Cases
273
-
274
- - **No API key**: Wizard opens but chat is disabled. Banner: "Configure your API key in Settings to use the project wizard."
275
- - **LLM returns malformed plan JSON**: Use the last valid plan. Show the conversational reply normally. Log the parse error.
276
- - **LLM fails (network error, rate limit)**: Show error inline in chat: "Failed to get response. Try again." with retry button.
277
- - **Empty plan at review**: "Review Plan" button disabled with tooltip: "Describe your project first"
278
- - **Very large plan (20+ panes)**: No hard limit, but warn: "This will create X panes. Continue?"
279
- - **Invalid cwd at launch**: Show validation errors on the review screen. Highlight panes with issues. Block launch until resolved or user confirms directory creation.
280
-
281
- ---
282
-
283
- ## New Files Summary
284
-
285
- ### Feature 1: Pane Diff Review
286
- - `src/app/api/panes/[id]/diff/route.ts` — GET diff, POST reset baseline
287
- - `src/components/terminal/pane-diff-panel.tsx` — inline diff viewer component
288
- - `src/app/(desktop)/terminal/pane/[id]/diff/page.tsx` — popout diff page
289
-
290
- ### Feature 2: Project Creation Wizard
291
- - `src/app/api/wizard/chat/route.ts` — LLM chat endpoint
292
- - `src/components/wizard/project-wizard.tsx` — main wizard modal
293
- - `src/components/wizard/wizard-chat.tsx` — chat interface component
294
- - `src/components/wizard/wizard-plan-summary.tsx` — live plan summary panel
295
- - `src/components/wizard/wizard-review.tsx` — plan review/edit view
296
- - `src/components/wizard/wizard-launch.ts` — launch sequence logic
297
-
298
- ### Modified Files
299
- - `src/lib/db/schema.ts` — add `diff_baseline_sha` column to panes table
300
- - `src/lib/db/queries.ts` — update pane creation to capture baseline SHA, add diff queries
301
- - `src/components/terminal/terminal-pane.tsx` — add diff button to header, inline panel toggle
302
- - `src/components/workspace/workspace-chooser.tsx` — add "Plan a Project" button
303
-
304
- ---
305
-
306
- ## Dependencies
307
-
308
- ### Feature 1
309
- - No new npm dependencies required. Git commands run via `child_process.execSync` (or `execFile` for safety) server-side. Diff rendering uses simple React components with CSS for syntax highlighting (green/red backgrounds, monospace font). No need for a heavy diff library.
310
-
311
- ### Feature 2
312
- - No new npm dependencies required. Direct `fetch()` to Claude API. Chat UI is custom React components. No external chat library needed.
313
-
314
- ---
315
-
316
- ## Out of Scope (Future)
317
-
318
- - **Pane dependency chains**: Linking panes so one auto-triggers when another finishes. Natural extension but not part of this spec.
319
- - **Plan templates**: Pre-built project plans (e.g., "Full-stack app", "API service"). Could be added to the wizard later.
320
- - **Agent auto-detection**: Wizard suggesting agents based on repo analysis (package.json, file structure). v1 relies on the LLM's suggestions based on the conversation.
321
- - **Collaborative wizard**: Multiple users planning together. Single-user for v1.
322
- - **VR wizard**: Running the wizard in VR mode. Desktop/browser only for v1.
@@ -1,180 +0,0 @@
1
- # Workspace Todos — Design
2
-
3
- **Status:** draft
4
- **Owner:** jlongo
5
- **Last updated:** 2026-04-21
6
-
7
- ## Overview
8
-
9
- A lightweight todo list attached to each Spaces workspace so a user can jot down reminders without breaking flow. Lives inline at the top of the `/terminal` page, always visible, scoped to the active workspace. Minimal: text + checkbox + delete. No priorities, due dates, assignees, or agent integration in v1.
10
-
11
- **Explicitly not in scope (v1):**
12
- - Agent read/write via MCP or CLI
13
- - Drag-to-reorder
14
- - Cross-workspace views or global todos
15
- - Due dates, priorities, tags, notes
16
- - Sharing across users (single-user repo instance assumed)
17
-
18
- ## User-facing behavior
19
-
20
- - Navigate to `/terminal`. A compact todo bar sits above the pane grid.
21
- - Empty state shows only the input: "Add todo…".
22
- - Type text, press Enter → todo is added to the bottom of the uncompleted list. Input stays focused for rapid capture.
23
- - Click a todo's checkbox → strike-through, row animates/sinks below all uncompleted items. Completed rows stack newest-first (most recently completed on top of the completed section).
24
- - Click a todo's text → inline edit. Enter saves. Esc cancels.
25
- - Click `×` → deletes the todo (no confirm for v1).
26
- - "Show completed" toggle (default on) — when off, completed rows hide but are retained in the DB.
27
- - Switching workspaces in the workspace chooser refetches the list.
28
- - If the list exceeds ~40% of viewport height, the internal list scrolls; the input stays pinned.
29
-
30
- No keyboard shortcut to focus the input in v1 (stretch: `Ctrl/Cmd+Shift+T`).
31
-
32
- ## Architecture
33
-
34
- ```
35
- /terminal page (src/app/(desktop)/terminal/page.tsx)
36
- ├── <WorkspaceTodos workspaceId={activeWorkspaceId}/> (new)
37
- │ └── GET/POST/PATCH/DELETE /api/workspaces/:id/todos[…]
38
- └── pane grid (existing)
39
-
40
- Server:
41
- src/app/api/workspaces/[id]/todos/route.ts (GET, POST)
42
- src/app/api/workspaces/[id]/todos/[todoId]/route.ts (PATCH, DELETE)
43
-
44
- DB (SQLite, per-user):
45
- workspace_todos table (schema migration appended to src/lib/db/schema.ts)
46
- query helpers (src/lib/db/queries.ts — new functions)
47
- ```
48
-
49
- Data flow: component mounts → `GET` todos for active workspace → render. Mutations are optimistic (update local state immediately, then fire the request; on failure, revert and show a toast using whatever toast infra already exists, or `console.error` for v1 if none).
50
-
51
- ## Key files
52
-
53
- | Path | Role |
54
- |---|---|
55
- | `src/lib/db/schema.ts` | Append `workspace_todos` table + index to `initSchema()` |
56
- | `src/lib/db/queries.ts` | New: `getWorkspaceTodos`, `addWorkspaceTodo`, `updateWorkspaceTodo`, `deleteWorkspaceTodo` |
57
- | `src/app/api/workspaces/[id]/todos/route.ts` | New: `GET`, `POST` handlers |
58
- | `src/app/api/workspaces/[id]/todos/[todoId]/route.ts` | New: `PATCH`, `DELETE` handlers |
59
- | `src/components/workspace/workspace-todos.tsx` | New: the inline UI component |
60
- | `src/app/(desktop)/terminal/page.tsx` | Mount `<WorkspaceTodos>` above the pane grid |
61
- | `src/types/` or inline in component | `Todo` TypeScript type |
62
- | `tests/db/workspace-todos.test.ts` | New: unit tests for query helpers |
63
- | `tests/api/workspace-todos.test.ts` | New: happy-path tests for each route |
64
- | `docs/features/workspace-todos.md` | New: feature doc per `FEATURE_DOC_GUIDE.md` |
65
-
66
- ## Data model
67
-
68
- ### Table: `workspace_todos`
69
-
70
- ```sql
71
- CREATE TABLE IF NOT EXISTS workspace_todos (
72
- id INTEGER PRIMARY KEY AUTOINCREMENT,
73
- workspace_id INTEGER NOT NULL REFERENCES workspaces(id) ON DELETE CASCADE,
74
- text TEXT NOT NULL,
75
- completed INTEGER NOT NULL DEFAULT 0,
76
- sort_order INTEGER NOT NULL DEFAULT 0,
77
- created TEXT NOT NULL DEFAULT (datetime('now')),
78
- completed_at TEXT
79
- );
80
- CREATE INDEX IF NOT EXISTS idx_workspace_todos_workspace
81
- ON workspace_todos(workspace_id);
82
- ```
83
-
84
- Declared inside `initSchema()` in `src/lib/db/schema.ts` — same pattern as every other table in this file. No separate migration file.
85
-
86
- ### TypeScript type
87
-
88
- ```ts
89
- export interface Todo {
90
- id: number;
91
- workspaceId: number;
92
- text: string;
93
- completed: boolean;
94
- sortOrder: number;
95
- created: string;
96
- completedAt: string | null;
97
- }
98
- ```
99
-
100
- ### Invariants
101
-
102
- - `sort_order` is only meaningful among uncompleted rows. When adding a todo, `sort_order = max(sort_order for uncompleted rows in this workspace) + 1`.
103
- - Listing order: `ORDER BY completed ASC, CASE WHEN completed = 0 THEN sort_order END ASC, completed_at DESC` — uncompleted first by sort_order, then completed newest-first.
104
- - `completed_at` is set to `datetime('now')` when `completed` flips 0→1, cleared to `NULL` on 1→0.
105
- - Workspace delete cascades and removes all associated todos (`ON DELETE CASCADE`).
106
-
107
- ## APIs / contracts
108
-
109
- All routes live under `src/app/api/workspaces/[id]/todos/`. Auth piggybacks on whatever protects the rest of `/api/workspaces/*` — no new gate introduced.
110
-
111
- ### `GET /api/workspaces/:id/todos`
112
- - **Returns:** `Todo[]` sorted per the invariant above.
113
- - **Errors:** `404` if workspace does not exist.
114
-
115
- ### `POST /api/workspaces/:id/todos`
116
- - **Body:** `{ text: string }` — trimmed server-side; reject empty after trim with `400`.
117
- - **Returns:** the newly created `Todo`.
118
- - **Errors:** `400` empty text, `404` workspace not found.
119
-
120
- ### `PATCH /api/workspaces/:id/todos/:todoId`
121
- - **Body:** `{ text?: string, completed?: boolean }` — at least one field required.
122
- - **Behavior:** if `completed` flips 0→1, server sets `completed_at = now()`; on 1→0, clears it. Text updates trim and reject empty.
123
- - **Returns:** the updated `Todo`.
124
- - **Errors:** `400` invalid body, `404` not found.
125
-
126
- ### `DELETE /api/workspaces/:id/todos/:todoId`
127
- - **Returns:** `{ ok: true }`.
128
- - **Errors:** `404` not found.
129
-
130
- No bulk endpoints, no reorder endpoint in v1.
131
-
132
- ## Configuration & environment
133
-
134
- None. No env vars, no feature flag, no tier gate — this is a Community-tier feature, always on.
135
-
136
- ## How to run / test locally
137
-
138
- ```bash
139
- # from repo root
140
- npm install
141
- npm run build
142
- npm start
143
- # visit http://localhost:3457/terminal
144
- ```
145
-
146
- Manual QA checklist:
147
- 1. Add 3 todos. Check order (newest at bottom of uncompleted).
148
- 2. Check the middle one → it strikes through and sinks below the uncompleted pair.
149
- 3. Toggle "show completed" off → the completed one hides.
150
- 4. Toggle it back on, uncheck the completed one → it returns to uncompleted.
151
- 5. Edit a todo's text via inline edit. Reload the page → change persisted.
152
- 6. Delete a todo → gone.
153
- 7. Switch workspaces in the workspace chooser → list swaps; original workspace's todos are still intact when you switch back.
154
- 8. Delete a workspace that has todos → no orphan rows remain (verify via SQLite CLI: `SELECT * FROM workspace_todos WHERE workspace_id = <deleted_id>;`).
155
-
156
- Automated:
157
- ```bash
158
- npm test -- tests/db/workspace-todos.test.ts
159
- npm test -- tests/api/workspace-todos.test.ts
160
- ```
161
-
162
- ## Known quirks & decisions
163
-
164
- - **No agent write access (v1).** A coworker's "pi /todos" plugin lets agents add todos from inside the session, which is genuinely powerful. Deferred because it requires a new MCP tool or CLI surface, and the user wants to ship the UI-only version first to validate the habit.
165
- - **Schema lives in `initSchema()`, not a migration file.** Matches the existing convention in `src/lib/db/schema.ts` — no separate migration files exist in this repo.
166
- - **No drag-to-reorder.** YAGNI. Adding at end is fine for short lists; revisit if users start making 20+ todo lists.
167
- - **No confirm on delete.** Matches the minimal ethos; if users delete the wrong one, they re-add. Add a 3-second undo toast in a follow-up if this proves painful.
168
- - **Optimistic updates without a toast library.** If the repo doesn't already have a toast system, v1 falls back to `console.error` on failure plus refetching state. This is acceptable for a local-only app.
169
- - **Ship to `main` directly, no PR.** Per user preference for this repo.
170
-
171
- ## Open questions / TODOs
172
-
173
- - [ ] Confirm the active-workspace hook/context already exposes `workspaceId` to the terminal page, or whether `<WorkspaceTodos>` needs to fetch it itself. Check `src/components/workspace/workspace-chooser.tsx` during implementation.
174
- - [ ] Decide whether the "show completed" toggle state persists across reloads (localStorage) or is ephemeral. Default: ephemeral for v1.
175
- - [ ] Stretch: keyboard shortcut to focus the add-todo input from anywhere on the terminal page.
176
- - [ ] Stretch: agent write access via MCP tool once UI v1 proves out.
177
-
178
- ## Changelog
179
-
180
- - 2026-04-21 — Initial design.