@jlongo78/agent-spaces 0.7.4 → 0.7.5

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 (515) 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/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +19 -19
  5. package/.next/standalone/.next/server/app/(desktop)/admin/analytics/page.js.nft.json +1 -1
  6. package/.next/standalone/.next/server/app/(desktop)/admin/analytics/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/(desktop)/admin/users/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/(desktop)/admin/users/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(desktop)/analytics/page.js.nft.json +1 -1
  10. package/.next/standalone/.next/server/app/(desktop)/analytics/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(desktop)/cortex/page.js.nft.json +1 -1
  12. package/.next/standalone/.next/server/app/(desktop)/cortex/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(desktop)/network/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(desktop)/network/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(desktop)/page.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/(desktop)/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(desktop)/projects/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/(desktop)/projects/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(desktop)/sessions/page.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/(desktop)/sessions/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/(desktop)/settings/page.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/(desktop)/settings/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(desktop)/terminal/page.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/(desktop)/terminal/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(desktop)/terminal/pane/[id]/page.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/(desktop)/terminal/pane/[id]/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/(desktop)/workspaces/page.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/(desktop)/workspaces/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  34. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  35. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  36. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  37. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  38. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  39. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  40. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  42. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  43. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  44. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  45. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  46. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  47. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  48. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  49. package/.next/standalone/.next/server/app/admin/analytics.html +1 -1
  50. package/.next/standalone/.next/server/app/admin/analytics.rsc +5 -5
  51. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics/__PAGE__.segment.rsc +2 -2
  52. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics.segment.rsc +1 -1
  53. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  54. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +3 -3
  55. package/.next/standalone/.next/server/app/admin/analytics.segments/_full.segment.rsc +5 -5
  56. package/.next/standalone/.next/server/app/admin/analytics.segments/_head.segment.rsc +1 -1
  57. package/.next/standalone/.next/server/app/admin/analytics.segments/_index.segment.rsc +2 -2
  58. package/.next/standalone/.next/server/app/admin/analytics.segments/_tree.segment.rsc +2 -2
  59. package/.next/standalone/.next/server/app/admin/users.html +1 -1
  60. package/.next/standalone/.next/server/app/admin/users.rsc +5 -5
  61. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users/__PAGE__.segment.rsc +2 -2
  62. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users.segment.rsc +1 -1
  63. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  64. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap.segment.rsc +3 -3
  65. package/.next/standalone/.next/server/app/admin/users.segments/_full.segment.rsc +5 -5
  66. package/.next/standalone/.next/server/app/admin/users.segments/_head.segment.rsc +1 -1
  67. package/.next/standalone/.next/server/app/admin/users.segments/_index.segment.rsc +2 -2
  68. package/.next/standalone/.next/server/app/admin/users.segments/_tree.segment.rsc +2 -2
  69. package/.next/standalone/.next/server/app/analytics.html +1 -1
  70. package/.next/standalone/.next/server/app/analytics.rsc +5 -5
  71. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics/__PAGE__.segment.rsc +2 -2
  72. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics.segment.rsc +1 -1
  73. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +3 -3
  74. package/.next/standalone/.next/server/app/analytics.segments/_full.segment.rsc +5 -5
  75. package/.next/standalone/.next/server/app/analytics.segments/_head.segment.rsc +1 -1
  76. package/.next/standalone/.next/server/app/analytics.segments/_index.segment.rsc +2 -2
  77. package/.next/standalone/.next/server/app/analytics.segments/_tree.segment.rsc +2 -2
  78. package/.next/standalone/.next/server/app/api/analytics/overview/route.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/api/bulk/route.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/api/chat/route.js +1 -1
  81. package/.next/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/api/cortex/context/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/api/cortex/export/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/cortex/federation/pending/route.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/app/api/cortex/federation/resolve/route.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/api/cortex/federation/search/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/api/cortex/federation/teach/route.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/api/cortex/graph/edges/route.js.nft.json +1 -1
  95. package/.next/standalone/.next/server/app/api/cortex/graph/entities/[id]/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/cortex/graph/entities/route.js.nft.json +1 -1
  97. package/.next/standalone/.next/server/app/api/cortex/graph/populate/route.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/api/cortex/import/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/cortex/import/status/route.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/api/cortex/ingest/bootstrap/route.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/api/cortex/ingest/status/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/cortex/knowledge/[id]/route.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/api/cortex/knowledge/route.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/app/api/cortex/lobes/[id]/route.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/app/api/cortex/lobes/route.js.nft.json +1 -1
  106. package/.next/standalone/.next/server/app/api/cortex/lobes/share/route.js.nft.json +1 -1
  107. package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js.nft.json +1 -1
  109. package/.next/standalone/.next/server/app/api/cortex/mcp/call/route.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/api/cortex/mcp/tools/route.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/app/api/cortex/search/route.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/api/cortex/settings/route.js.nft.json +1 -1
  113. package/.next/standalone/.next/server/app/api/cortex/status/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/cortex/timeline/route.js.nft.json +1 -1
  115. package/.next/standalone/.next/server/app/api/cortex/usage/route.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/api/cortex/workspace/[id]/context/route.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  118. package/.next/standalone/.next/server/app/api/folders/route.js.nft.json +1 -1
  119. package/.next/standalone/.next/server/app/api/network/handshake/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/network/projects/route.js.nft.json +1 -1
  121. package/.next/standalone/.next/server/app/api/network/search/route.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/api/network/sessions/route.js.nft.json +1 -1
  125. package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/network/workspaces/route.js +1 -1
  127. package/.next/standalone/.next/server/app/api/network/workspaces/route.js.nft.json +1 -1
  128. package/.next/standalone/.next/server/app/api/panes/[id]/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/panes/route.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  131. package/.next/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js.nft.json +1 -1
  133. package/.next/standalone/.next/server/app/api/sessions/[id]/messages/route.js.nft.json +1 -1
  134. package/.next/standalone/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/sessions/route.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/api/sync/route.js.nft.json +1 -1
  137. package/.next/standalone/.next/server/app/api/tags/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/tier/route.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/[key]/route.js.nft.json +1 -1
  140. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/[msgId]/route.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/route.js.nft.json +1 -1
  143. package/.next/standalone/.next/server/app/api/workspaces/[id]/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/workspaces/[id]/sessions/route.js.nft.json +1 -1
  145. package/.next/standalone/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/cortex.html +1 -1
  147. package/.next/standalone/.next/server/app/cortex.rsc +5 -5
  148. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex/__PAGE__.segment.rsc +2 -2
  149. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex.segment.rsc +1 -1
  150. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap.segment.rsc +3 -3
  151. package/.next/standalone/.next/server/app/cortex.segments/_full.segment.rsc +5 -5
  152. package/.next/standalone/.next/server/app/cortex.segments/_head.segment.rsc +1 -1
  153. package/.next/standalone/.next/server/app/cortex.segments/_index.segment.rsc +2 -2
  154. package/.next/standalone/.next/server/app/cortex.segments/_tree.segment.rsc +2 -2
  155. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/login.html +1 -1
  157. package/.next/standalone/.next/server/app/login.rsc +2 -2
  158. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +2 -2
  159. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  160. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +2 -2
  161. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  162. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  163. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  164. package/.next/standalone/.next/server/app/m/page_client-reference-manifest.js +1 -1
  165. package/.next/standalone/.next/server/app/m/projects/page_client-reference-manifest.js +1 -1
  166. package/.next/standalone/.next/server/app/m/projects.html +1 -1
  167. package/.next/standalone/.next/server/app/m/projects.rsc +2 -2
  168. package/.next/standalone/.next/server/app/m/projects.segments/_full.segment.rsc +2 -2
  169. package/.next/standalone/.next/server/app/m/projects.segments/_head.segment.rsc +1 -1
  170. package/.next/standalone/.next/server/app/m/projects.segments/_index.segment.rsc +2 -2
  171. package/.next/standalone/.next/server/app/m/projects.segments/_tree.segment.rsc +2 -2
  172. package/.next/standalone/.next/server/app/m/projects.segments/m/projects/__PAGE__.segment.rsc +1 -1
  173. package/.next/standalone/.next/server/app/m/projects.segments/m/projects.segment.rsc +1 -1
  174. package/.next/standalone/.next/server/app/m/projects.segments/m.segment.rsc +1 -1
  175. package/.next/standalone/.next/server/app/m/sessions/[id]/page.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/m/sessions/[id]/page_client-reference-manifest.js +1 -1
  177. package/.next/standalone/.next/server/app/m/sessions/page_client-reference-manifest.js +1 -1
  178. package/.next/standalone/.next/server/app/m/sessions.html +1 -1
  179. package/.next/standalone/.next/server/app/m/sessions.rsc +2 -2
  180. package/.next/standalone/.next/server/app/m/sessions.segments/_full.segment.rsc +2 -2
  181. package/.next/standalone/.next/server/app/m/sessions.segments/_head.segment.rsc +1 -1
  182. package/.next/standalone/.next/server/app/m/sessions.segments/_index.segment.rsc +2 -2
  183. package/.next/standalone/.next/server/app/m/sessions.segments/_tree.segment.rsc +2 -2
  184. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions/__PAGE__.segment.rsc +1 -1
  185. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions.segment.rsc +1 -1
  186. package/.next/standalone/.next/server/app/m/sessions.segments/m.segment.rsc +1 -1
  187. package/.next/standalone/.next/server/app/m/settings/page_client-reference-manifest.js +1 -1
  188. package/.next/standalone/.next/server/app/m/settings.html +1 -1
  189. package/.next/standalone/.next/server/app/m/settings.rsc +2 -2
  190. package/.next/standalone/.next/server/app/m/settings.segments/_full.segment.rsc +2 -2
  191. package/.next/standalone/.next/server/app/m/settings.segments/_head.segment.rsc +1 -1
  192. package/.next/standalone/.next/server/app/m/settings.segments/_index.segment.rsc +2 -2
  193. package/.next/standalone/.next/server/app/m/settings.segments/_tree.segment.rsc +2 -2
  194. package/.next/standalone/.next/server/app/m/settings.segments/m/settings/__PAGE__.segment.rsc +1 -1
  195. package/.next/standalone/.next/server/app/m/settings.segments/m/settings.segment.rsc +1 -1
  196. package/.next/standalone/.next/server/app/m/settings.segments/m.segment.rsc +1 -1
  197. package/.next/standalone/.next/server/app/m/terminal/page.js.nft.json +1 -1
  198. package/.next/standalone/.next/server/app/m/terminal/page_client-reference-manifest.js +1 -1
  199. package/.next/standalone/.next/server/app/m/terminal.html +1 -1
  200. package/.next/standalone/.next/server/app/m/terminal.rsc +2 -2
  201. package/.next/standalone/.next/server/app/m/terminal.segments/_full.segment.rsc +2 -2
  202. package/.next/standalone/.next/server/app/m/terminal.segments/_head.segment.rsc +1 -1
  203. package/.next/standalone/.next/server/app/m/terminal.segments/_index.segment.rsc +2 -2
  204. package/.next/standalone/.next/server/app/m/terminal.segments/_tree.segment.rsc +2 -2
  205. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal/__PAGE__.segment.rsc +1 -1
  206. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal.segment.rsc +1 -1
  207. package/.next/standalone/.next/server/app/m/terminal.segments/m.segment.rsc +1 -1
  208. package/.next/standalone/.next/server/app/m.html +1 -1
  209. package/.next/standalone/.next/server/app/m.rsc +2 -2
  210. package/.next/standalone/.next/server/app/m.segments/_full.segment.rsc +2 -2
  211. package/.next/standalone/.next/server/app/m.segments/_head.segment.rsc +1 -1
  212. package/.next/standalone/.next/server/app/m.segments/_index.segment.rsc +2 -2
  213. package/.next/standalone/.next/server/app/m.segments/_tree.segment.rsc +2 -2
  214. package/.next/standalone/.next/server/app/m.segments/m/__PAGE__.segment.rsc +1 -1
  215. package/.next/standalone/.next/server/app/m.segments/m.segment.rsc +1 -1
  216. package/.next/standalone/.next/server/app/network.html +1 -1
  217. package/.next/standalone/.next/server/app/network.rsc +5 -5
  218. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network/__PAGE__.segment.rsc +2 -2
  219. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network.segment.rsc +1 -1
  220. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap.segment.rsc +3 -3
  221. package/.next/standalone/.next/server/app/network.segments/_full.segment.rsc +5 -5
  222. package/.next/standalone/.next/server/app/network.segments/_head.segment.rsc +1 -1
  223. package/.next/standalone/.next/server/app/network.segments/_index.segment.rsc +2 -2
  224. package/.next/standalone/.next/server/app/network.segments/_tree.segment.rsc +2 -2
  225. package/.next/standalone/.next/server/app/projects.html +1 -1
  226. package/.next/standalone/.next/server/app/projects.rsc +5 -5
  227. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects/__PAGE__.segment.rsc +2 -2
  228. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects.segment.rsc +1 -1
  229. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap.segment.rsc +3 -3
  230. package/.next/standalone/.next/server/app/projects.segments/_full.segment.rsc +5 -5
  231. package/.next/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  232. package/.next/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  233. package/.next/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  234. package/.next/standalone/.next/server/app/sessions.html +1 -1
  235. package/.next/standalone/.next/server/app/sessions.rsc +5 -5
  236. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions/__PAGE__.segment.rsc +2 -2
  237. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions.segment.rsc +1 -1
  238. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap.segment.rsc +3 -3
  239. package/.next/standalone/.next/server/app/sessions.segments/_full.segment.rsc +5 -5
  240. package/.next/standalone/.next/server/app/sessions.segments/_head.segment.rsc +1 -1
  241. package/.next/standalone/.next/server/app/sessions.segments/_index.segment.rsc +2 -2
  242. package/.next/standalone/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
  243. package/.next/standalone/.next/server/app/settings.html +1 -1
  244. package/.next/standalone/.next/server/app/settings.rsc +5 -5
  245. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings/__PAGE__.segment.rsc +2 -2
  246. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings.segment.rsc +1 -1
  247. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap.segment.rsc +3 -3
  248. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +5 -5
  249. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  250. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  251. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  252. package/.next/standalone/.next/server/app/terminal.html +1 -1
  253. package/.next/standalone/.next/server/app/terminal.rsc +5 -5
  254. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal/__PAGE__.segment.rsc +2 -2
  255. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal.segment.rsc +1 -1
  256. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap.segment.rsc +3 -3
  257. package/.next/standalone/.next/server/app/terminal.segments/_full.segment.rsc +5 -5
  258. package/.next/standalone/.next/server/app/terminal.segments/_head.segment.rsc +1 -1
  259. package/.next/standalone/.next/server/app/terminal.segments/_index.segment.rsc +2 -2
  260. package/.next/standalone/.next/server/app/terminal.segments/_tree.segment.rsc +2 -2
  261. package/.next/standalone/.next/server/app/workspaces.html +1 -1
  262. package/.next/standalone/.next/server/app/workspaces.rsc +5 -5
  263. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces/__PAGE__.segment.rsc +2 -2
  264. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces.segment.rsc +1 -1
  265. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap.segment.rsc +3 -3
  266. package/.next/standalone/.next/server/app/workspaces.segments/_full.segment.rsc +5 -5
  267. package/.next/standalone/.next/server/app/workspaces.segments/_head.segment.rsc +1 -1
  268. package/.next/standalone/.next/server/app/workspaces.segments/_index.segment.rsc +2 -2
  269. package/.next/standalone/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
  270. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0041efe4._.js +2 -2
  271. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00bf0ace._.js +2 -2
  272. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e71d908._.js +2 -2
  273. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e9142f3._.js +2 -2
  274. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10e47926._.js +1 -1
  275. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1665dc78._.js +2 -2
  276. package/.next/standalone/.next/server/chunks/[root-of-the-server]__175cbabf._.js +2 -2
  277. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1adae357._.js +2 -2
  278. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1d359752._.js +1 -1
  279. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1e8fabeb._.js +3 -3
  280. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1f8deca0._.js +8 -8
  281. package/.next/standalone/.next/server/chunks/[root-of-the-server]__253fdda1._.js +2 -2
  282. package/.next/standalone/.next/server/chunks/[root-of-the-server]__28e6434f._.js +2 -2
  283. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2a386564._.js +1 -1
  284. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2c20fb38._.js +2 -2
  285. package/.next/standalone/.next/server/chunks/[root-of-the-server]__309132cd._.js +1 -1
  286. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__cf3c60c2._.js → [root-of-the-server]__33fec964._.js} +4 -4
  287. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3786d8ae._.js +1 -1
  288. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3ae92407._.js +2 -2
  289. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3beda9fe._.js +2 -2
  290. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4619e9bd._.js +1 -1
  291. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a051043._.js +1 -1
  292. package/.next/standalone/.next/server/chunks/[root-of-the-server]__508002e4._.js +2 -2
  293. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5086c373._.js +2 -2
  294. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5913e097._.js +2 -2
  295. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5b5f68d2._.js +2 -2
  296. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c1f2459._.js +2 -2
  297. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5ec8c977._.js +2 -2
  298. package/.next/standalone/.next/server/chunks/[root-of-the-server]__63cebc6c._.js +2 -2
  299. package/.next/standalone/.next/server/chunks/[root-of-the-server]__64d30d4d._.js +2 -2
  300. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6c54fc2e._.js +2 -2
  301. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6dc1fb7e._.js +1 -1
  302. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6e568102._.js +1 -1
  303. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6faa04c0._.js +2 -2
  304. package/.next/standalone/.next/server/chunks/[root-of-the-server]__74a34dc3._.js +2 -2
  305. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7e7250a4._.js +3 -3
  306. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8309e0a4._.js +2 -2
  307. package/.next/standalone/.next/server/chunks/[root-of-the-server]__86cc0e2b._.js +6 -6
  308. package/.next/standalone/.next/server/chunks/[root-of-the-server]__89c2565a._.js +2 -2
  309. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8d178ad9._.js +2 -2
  310. package/.next/standalone/.next/server/chunks/[root-of-the-server]__93ee06f3._.js +3 -3
  311. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e4c154a._.js +2 -2
  312. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9d2e1d3._.js +2 -2
  313. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ae53d343._.js +2 -2
  314. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b3a04cef._.js +2 -2
  315. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b4270b77._.js +1 -1
  316. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b6b6ce60._.js +1 -1
  317. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c88b63f7._.js +2 -2
  318. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__eee4c5e8._.js → [root-of-the-server]__cba5f007._.js} +2 -2
  319. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cbf4ceb0._.js +2 -2
  320. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cefdba2f._.js +2 -2
  321. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cf9e82bb._.js +2 -2
  322. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d2897392._.js +2 -2
  323. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d3b2d856._.js +2 -2
  324. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d73273ca._.js +1 -1
  325. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8417eb6._.js +2 -2
  326. package/.next/standalone/.next/server/chunks/[root-of-the-server]__dc2a55de._.js +2 -2
  327. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e0d4690b._.js +3 -3
  328. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e678dd53._.js +1 -1
  329. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e9223f55._.js +2 -2
  330. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ea630076._.js +3 -3
  331. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb8acb65._.js +1 -1
  332. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f26ca49d._.js +1 -1
  333. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f33e1101._.js +1 -1
  334. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f515f865._.js +2 -2
  335. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fceb5d60._.js +2 -2
  336. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fed41403._.js +2 -2
  337. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ff2e98c2._.js +2 -2
  338. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__19afc53d._.js +3 -0
  339. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__66aca5d4._.js +1 -1
  340. package/.next/standalone/.next/server/chunks/ssr/{_036cbaa2._.js → _078dd64d._.js} +1 -1
  341. package/.next/standalone/.next/server/chunks/ssr/{_a4eeff0d._.js → _2230ad2d._.js} +2 -2
  342. package/.next/standalone/.next/server/chunks/ssr/{_43455582._.js → _701606d5._.js} +1 -1
  343. package/.next/standalone/.next/server/chunks/ssr/_72b1de37._.js +3 -0
  344. package/.next/standalone/.next/server/chunks/ssr/{_d39bcfda._.js → _93ef0f79._.js} +2 -2
  345. package/.next/standalone/.next/server/chunks/ssr/_950142a4._.js +1 -1
  346. package/.next/standalone/.next/server/chunks/ssr/_a22b5eb0._.js +3 -0
  347. package/.next/standalone/.next/server/chunks/ssr/_aeeff784._.js +3 -0
  348. package/.next/standalone/.next/server/chunks/ssr/_c1cfdd09._.js +3 -0
  349. package/.next/standalone/.next/server/chunks/ssr/_c2d3f6de._.js +3 -0
  350. package/.next/standalone/.next/server/chunks/ssr/{_8167090e._.js → _db2fec84._.js} +2 -2
  351. package/.next/standalone/.next/server/chunks/ssr/src_components_terminal_terminal-pane_tsx_803c5e2c._.js +2 -2
  352. package/.next/standalone/.next/server/edge/chunks/_d73df637._.js +1 -1
  353. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  354. package/.next/standalone/.next/server/pages/404.html +1 -1
  355. package/.next/standalone/.next/server/pages/500.html +2 -2
  356. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  357. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  358. package/.next/standalone/.next/static/chunks/25b7a243a404a1a7.js +1 -0
  359. package/.next/standalone/.next/static/chunks/2b997e211a5d547b.js +1 -0
  360. package/.next/standalone/.next/static/chunks/5e08abb00653754a.js +1 -0
  361. package/.next/standalone/.next/static/chunks/61f2ed39b75b1efc.js +1 -0
  362. package/.next/standalone/.next/static/chunks/6c78a1dfa7ec2959.css +3 -0
  363. package/.next/standalone/.next/static/chunks/7246f1ee445f7024.js +1 -0
  364. package/.next/standalone/.next/static/chunks/7424664c6ffa94bd.js +1 -0
  365. package/.next/standalone/.next/static/chunks/7e0091ab6c5ee8bd.js +1 -0
  366. package/.next/standalone/.next/static/chunks/8b3f4572fec83caa.js +5 -0
  367. package/.next/standalone/.next/static/chunks/{224aab5107987011.js → 9899cf4c2bdbe61d.js} +2 -2
  368. package/.next/standalone/.next/static/chunks/ac339e970df82fa5.js +5 -0
  369. package/.next/standalone/.next/static/chunks/f9f2628207848ac2.js +1 -0
  370. package/.next/standalone/bin/cortex-hook.sh +62 -62
  371. package/.next/standalone/bin/cortex-mcp.js +60 -60
  372. package/.next/standalone/docs/superpowers/plans/2026-03-13-cortex-wiring.md +1387 -1387
  373. package/.next/standalone/docs/superpowers/plans/2026-03-14-cortex-v2-entity-graph.md +1923 -1923
  374. package/.next/standalone/docs/superpowers/plans/2026-03-14-cortex-v2-knowledge-evolution.md +1113 -1113
  375. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-boundary-engine.md +853 -853
  376. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-context-engine.md +1274 -1274
  377. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-signal-ingestion.md +933 -933
  378. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-lobes.md +1080 -1080
  379. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-v2-gravity-system.md +768 -768
  380. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-v2-ui.md +1108 -1108
  381. package/.next/standalone/docs/superpowers/plans/2026-03-18-cortex-ui-integration.md +1846 -1846
  382. package/.next/standalone/docs/superpowers/specs/2026-03-13-cortex-wiring-design.md +268 -268
  383. package/.next/standalone/docs/superpowers/specs/2026-03-14-cortex-v2-design.md +623 -623
  384. package/.next/standalone/docs/superpowers/specs/2026-03-16-cortex-lobes-design.md +263 -263
  385. package/.next/standalone/docs/superpowers/specs/2026-03-16-cortex-v2-ui-design.md +240 -240
  386. package/.next/standalone/docs/superpowers/specs/2026-03-18-cortex-ui-integration-design.md +341 -341
  387. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +46 -0
  388. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  389. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +1 -0
  390. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  391. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +42 -0
  392. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  393. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  394. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  395. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  396. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  397. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  398. package/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  399. package/.next/standalone/node_modules/@img/{sharp-win32-x64 → sharp-linux-x64}/package.json +46 -39
  400. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  401. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  402. package/.next/standalone/package.json +102 -102
  403. package/.next/standalone/server.js +1 -1
  404. package/.next/standalone/src/app/(desktop)/cortex/page.tsx +78 -78
  405. package/.next/standalone/src/app/api/cortex/context/route.ts +78 -78
  406. package/.next/standalone/src/app/api/cortex/curation/assess/route.ts +27 -27
  407. package/.next/standalone/src/app/api/cortex/curation/publish/route.ts +23 -23
  408. package/.next/standalone/src/app/api/cortex/curation/refine/route.ts +23 -23
  409. package/.next/standalone/src/app/api/cortex/curation/review/route.ts +29 -29
  410. package/.next/standalone/src/app/api/cortex/curation/seed/route.ts +23 -23
  411. package/.next/standalone/src/app/api/cortex/export/route.ts +40 -40
  412. package/.next/standalone/src/app/api/cortex/federation/pending/route.ts +20 -20
  413. package/.next/standalone/src/app/api/cortex/federation/resolve/route.ts +43 -43
  414. package/.next/standalone/src/app/api/cortex/federation/search/route.ts +35 -35
  415. package/.next/standalone/src/app/api/cortex/federation/teach/route.ts +76 -76
  416. package/.next/standalone/src/app/api/cortex/graph/edges/route.ts +112 -112
  417. package/.next/standalone/src/app/api/cortex/graph/entities/[id]/route.ts +73 -73
  418. package/.next/standalone/src/app/api/cortex/graph/entities/route.ts +75 -75
  419. package/.next/standalone/src/app/api/cortex/graph/populate/route.ts +203 -203
  420. package/.next/standalone/src/app/api/cortex/import/route.ts +75 -75
  421. package/.next/standalone/src/app/api/cortex/import/status/route.ts +15 -15
  422. package/.next/standalone/src/app/api/cortex/ingest/bootstrap/route.ts +29 -29
  423. package/.next/standalone/src/app/api/cortex/ingest/status/route.ts +15 -15
  424. package/.next/standalone/src/app/api/cortex/knowledge/[id]/route.ts +91 -91
  425. package/.next/standalone/src/app/api/cortex/knowledge/route.ts +93 -93
  426. package/.next/standalone/src/app/api/cortex/lobes/[id]/route.ts +67 -67
  427. package/.next/standalone/src/app/api/cortex/lobes/route.ts +22 -22
  428. package/.next/standalone/src/app/api/cortex/lobes/share/route.ts +80 -80
  429. package/.next/standalone/src/app/api/cortex/marketplace/browse/route.ts +43 -43
  430. package/.next/standalone/src/app/api/cortex/marketplace/preview/route.ts +46 -46
  431. package/.next/standalone/src/app/api/cortex/mcp/call/route.ts +11 -11
  432. package/.next/standalone/src/app/api/cortex/mcp/tools/route.ts +6 -6
  433. package/.next/standalone/src/app/api/cortex/search/route.ts +43 -43
  434. package/.next/standalone/src/app/api/cortex/settings/route.ts +33 -33
  435. package/.next/standalone/src/app/api/cortex/status/route.ts +169 -169
  436. package/.next/standalone/src/app/api/cortex/timeline/route.ts +42 -42
  437. package/.next/standalone/src/app/api/cortex/usage/route.ts +31 -31
  438. package/.next/standalone/src/app/api/cortex/workspace/[id]/context/route.ts +41 -41
  439. package/.next/standalone/src/components/cortex/constants.ts +29 -29
  440. package/.next/standalone/src/components/cortex/cortex-dashboard.tsx +304 -304
  441. package/.next/standalone/src/components/cortex/cortex-indicator.tsx +44 -44
  442. package/.next/standalone/src/components/cortex/cortex-panel.tsx +140 -140
  443. package/.next/standalone/src/components/cortex/cortex-settings.tsx +221 -221
  444. package/.next/standalone/src/components/cortex/curation-tab.tsx +810 -810
  445. package/.next/standalone/src/components/cortex/entity-detail.tsx +101 -101
  446. package/.next/standalone/src/components/cortex/entity-graph.tsx +382 -382
  447. package/.next/standalone/src/components/cortex/import-dialog.tsx +212 -212
  448. package/.next/standalone/src/components/cortex/injection-badge.tsx +72 -72
  449. package/.next/standalone/src/components/cortex/knowledge-card.tsx +109 -109
  450. package/.next/standalone/src/components/cortex/knowledge-tab.tsx +158 -158
  451. package/.next/standalone/src/components/cortex/lobe-settings.tsx +215 -215
  452. package/.next/standalone/src/components/cortex/marketplace-card.tsx +126 -126
  453. package/.next/standalone/src/components/cortex/marketplace-tab.tsx +113 -113
  454. package/.next/standalone/src/lib/cortex/config.ts +40 -40
  455. package/.next/standalone/src/lib/cortex/debug.ts +10 -10
  456. package/.next/standalone/src/lib/cortex/distillation/usage-store.ts +18 -18
  457. package/.next/standalone/src/lib/cortex/graph/resolver.ts +10 -10
  458. package/.next/standalone/src/lib/cortex/graph/types.ts +22 -22
  459. package/.next/standalone/src/lib/cortex/index.ts +56 -56
  460. package/.next/standalone/src/lib/cortex/ingestion/bootstrap.ts +14 -14
  461. package/.next/standalone/src/lib/cortex/knowledge/compat.ts +14 -14
  462. package/.next/standalone/src/lib/cortex/knowledge/contradiction.ts +10 -10
  463. package/.next/standalone/src/lib/cortex/knowledge/types.ts +67 -67
  464. package/.next/standalone/src/lib/cortex/lobes/config.ts +16 -16
  465. package/.next/standalone/src/lib/cortex/lobes/resolver.ts +8 -8
  466. package/.next/standalone/src/lib/cortex/lobes/shares.ts +14 -14
  467. package/.next/standalone/src/lib/cortex/mcp/server.ts +8 -8
  468. package/.next/standalone/src/lib/cortex/portability/exporter.ts +6 -6
  469. package/.next/standalone/src/lib/cortex/portability/importer.ts +10 -10
  470. package/.next/standalone/src/lib/cortex/retrieval/context-engine.ts +10 -10
  471. package/.next/standalone/src/lib/cortex/types.ts +39 -39
  472. package/.next/standalone/tsconfig.json +34 -34
  473. package/LICENSE +661 -661
  474. package/README.md +131 -131
  475. package/bin/cortex-hook.sh +62 -62
  476. package/bin/cortex-mcp.js +60 -60
  477. package/bin/fix-standalone-externals.js +79 -79
  478. package/bin/lib/auto-setup.js +110 -110
  479. package/bin/mdns-service.js +171 -171
  480. package/bin/postinstall.js +35 -35
  481. package/bin/setup-admin.js +195 -195
  482. package/bin/spaces-dev.js +208 -208
  483. package/bin/spaces-install.js +599 -599
  484. package/bin/spaces-reset-totp.js +50 -50
  485. package/bin/spaces-service.js +1020 -1020
  486. package/bin/spaces-setup.js +253 -253
  487. package/bin/spaces.js +776 -717
  488. package/bin/ssh-auth-keys.sh +68 -68
  489. package/bin/terminal-server.js +1649 -1646
  490. package/package.json +102 -102
  491. package/.next/standalone/.claude/settings.local.json +0 -55
  492. package/.next/standalone/.claude/spaces-env.json +0 -1
  493. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__23f374a2._.js +0 -3
  494. package/.next/standalone/.next/server/chunks/ssr/_01842037._.js +0 -3
  495. package/.next/standalone/.next/server/chunks/ssr/_10c0d382._.js +0 -3
  496. package/.next/standalone/.next/server/chunks/ssr/_67887e33._.js +0 -3
  497. package/.next/standalone/.next/server/chunks/ssr/_a012c43b._.js +0 -3
  498. package/.next/standalone/.next/server/chunks/ssr/_ed6c285b._.js +0 -3
  499. package/.next/standalone/.next/static/chunks/17d164c01fa1aaa9.js +0 -5
  500. package/.next/standalone/.next/static/chunks/19da759dde107f02.js +0 -1
  501. package/.next/standalone/.next/static/chunks/415827af44b8c374.js +0 -1
  502. package/.next/standalone/.next/static/chunks/596bd56e0ad09173.js +0 -5
  503. package/.next/standalone/.next/static/chunks/79aacab676df80c4.js +0 -1
  504. package/.next/standalone/.next/static/chunks/846d6ef408f69390.js +0 -1
  505. package/.next/standalone/.next/static/chunks/8a7f58872c123a53.css +0 -3
  506. package/.next/standalone/.next/static/chunks/8de5e432a2fc563a.js +0 -1
  507. package/.next/standalone/.next/static/chunks/b0484608571d975a.js +0 -1
  508. package/.next/standalone/.next/static/chunks/b42a38df3e418ff0.js +0 -1
  509. package/.next/standalone/.next/static/chunks/d6474f65a17c483e.js +0 -1
  510. package/.next/standalone/.spaces/cortex-context.md +0 -70
  511. package/.next/standalone/node_modules/@img/sharp-win32-x64/lib/sharp-win32-x64.node +0 -0
  512. /package/.next/standalone/.next/static/{Ku7_sP1T1UuqtRhUTiJZw → 77VYbwIoyxFNr5xevTrCu}/_buildManifest.js +0 -0
  513. /package/.next/standalone/.next/static/{Ku7_sP1T1UuqtRhUTiJZw → 77VYbwIoyxFNr5xevTrCu}/_clientMiddlewareManifest.json +0 -0
  514. /package/.next/standalone/.next/static/{Ku7_sP1T1UuqtRhUTiJZw → 77VYbwIoyxFNr5xevTrCu}/_ssgManifest.js +0 -0
  515. /package/.next/standalone/node_modules/@img/{sharp-win32-x64 → sharp-libvips-linux-x64}/versions.json +0 -0
@@ -1,126 +1,126 @@
1
- 'use client';
2
-
3
- import { useState } from 'react';
4
- import { Package, ChevronDown, ChevronUp } from 'lucide-react';
5
-
6
- interface MarketplaceCardProps {
7
- filename: string;
8
- manifest: any;
9
- onImport: (filename: string, manifest: any) => void;
10
- }
11
-
12
- export function MarketplaceCard({ filename, manifest, onImport }: MarketplaceCardProps) {
13
- const [previewOpen, setPreviewOpen] = useState(false);
14
-
15
- const meta = manifest.marketplace ?? {};
16
- const name = meta.name || filename;
17
- const version = manifest.version || meta.version || '0.0.0';
18
- const author = meta.author || manifest.author || 'Unknown';
19
- const description = meta.description || manifest.description || '';
20
- const tags: string[] = meta.tags || manifest.tags || [];
21
- const license: string = meta.license || manifest.license || '';
22
- const coverage: number = typeof meta.coverage_score === 'number' ? meta.coverage_score : -1;
23
- const unitCount: number =
24
- typeof manifest.unit_count === 'number'
25
- ? manifest.unit_count
26
- : Array.isArray(manifest.units)
27
- ? manifest.units.length
28
- : 0;
29
- const preview: string = meta.preview || manifest.preview || '';
30
-
31
- const coverageColor =
32
- coverage < 0
33
- ? 'text-gray-500'
34
- : coverage > 0.7
35
- ? 'text-green-400'
36
- : coverage > 0.3
37
- ? 'text-amber-400'
38
- : 'text-red-400';
39
-
40
- const coverageLabel =
41
- coverage < 0 ? 'N/A' : `${Math.round(coverage * 100)}%`;
42
-
43
- return (
44
- <div className="border border-white/10 rounded-xl p-4 bg-white/[0.02] flex flex-col gap-3 hover:border-white/20 transition-colors">
45
- {/* Header row */}
46
- <div className="flex items-start gap-3">
47
- <div className="shrink-0 w-9 h-9 rounded-lg bg-purple-500/10 flex items-center justify-center">
48
- <Package className="w-4 h-4 text-purple-400" />
49
- </div>
50
- <div className="flex-1 min-w-0">
51
- <div className="flex items-center gap-2 flex-wrap">
52
- <span className="text-sm font-semibold text-gray-100 truncate">{name}</span>
53
- <span className="text-[10px] px-1.5 py-0.5 rounded bg-white/5 text-gray-400 font-mono shrink-0">
54
- v{version}
55
- </span>
56
- </div>
57
- <p className="text-[11px] text-gray-500 mt-0.5">{author}</p>
58
- </div>
59
- </div>
60
-
61
- {/* Description */}
62
- {description && (
63
- <p className="text-xs text-gray-400 leading-relaxed line-clamp-2">{description}</p>
64
- )}
65
-
66
- {/* Tags + license */}
67
- <div className="flex flex-wrap items-center gap-1.5">
68
- {tags.map(tag => (
69
- <span
70
- key={tag}
71
- className="text-[10px] px-1.5 py-0.5 rounded bg-white/5 text-gray-400 border border-white/5"
72
- >
73
- {tag}
74
- </span>
75
- ))}
76
- {license && (
77
- <span className="text-[10px] px-1.5 py-0.5 rounded bg-purple-500/10 text-purple-400 border border-purple-500/20 font-medium">
78
- {license}
79
- </span>
80
- )}
81
- </div>
82
-
83
- {/* Stats row */}
84
- <div className="flex items-center gap-4 text-[11px]">
85
- <div className="flex items-center gap-1">
86
- <span className="text-gray-600">Coverage:</span>
87
- <span className={`font-semibold tabular-nums ${coverageColor}`}>{coverageLabel}</span>
88
- </div>
89
- <div className="flex items-center gap-1">
90
- <span className="text-gray-600">Units:</span>
91
- <span className="text-gray-300 font-semibold tabular-nums">{unitCount}</span>
92
- </div>
93
- </div>
94
-
95
- {/* Expandable preview */}
96
- {preview && (
97
- <div>
98
- <button
99
- onClick={() => setPreviewOpen(v => !v)}
100
- className="flex items-center gap-1 text-[11px] text-gray-500 hover:text-gray-300 transition-colors"
101
- >
102
- {previewOpen ? (
103
- <ChevronUp className="w-3 h-3" />
104
- ) : (
105
- <ChevronDown className="w-3 h-3" />
106
- )}
107
- {previewOpen ? 'Hide preview' : 'Show preview'}
108
- </button>
109
- {previewOpen && (
110
- <pre className="mt-2 text-[10px] text-gray-400 bg-white/[0.03] border border-white/5 rounded-lg p-3 overflow-x-auto whitespace-pre-wrap break-all">
111
- {preview}
112
- </pre>
113
- )}
114
- </div>
115
- )}
116
-
117
- {/* Import button */}
118
- <button
119
- onClick={() => onImport(filename, manifest)}
120
- className="w-full py-2 text-sm font-medium bg-purple-600 hover:bg-purple-500 text-white rounded-lg transition-colors"
121
- >
122
- Import
123
- </button>
124
- </div>
125
- );
126
- }
1
+ 'use client';
2
+
3
+ import { useState } from 'react';
4
+ import { Package, ChevronDown, ChevronUp } from 'lucide-react';
5
+
6
+ interface MarketplaceCardProps {
7
+ filename: string;
8
+ manifest: any;
9
+ onImport: (filename: string, manifest: any) => void;
10
+ }
11
+
12
+ export function MarketplaceCard({ filename, manifest, onImport }: MarketplaceCardProps) {
13
+ const [previewOpen, setPreviewOpen] = useState(false);
14
+
15
+ const meta = manifest.marketplace ?? {};
16
+ const name = meta.name || filename;
17
+ const version = manifest.version || meta.version || '0.0.0';
18
+ const author = meta.author || manifest.author || 'Unknown';
19
+ const description = meta.description || manifest.description || '';
20
+ const tags: string[] = meta.tags || manifest.tags || [];
21
+ const license: string = meta.license || manifest.license || '';
22
+ const coverage: number = typeof meta.coverage_score === 'number' ? meta.coverage_score : -1;
23
+ const unitCount: number =
24
+ typeof manifest.unit_count === 'number'
25
+ ? manifest.unit_count
26
+ : Array.isArray(manifest.units)
27
+ ? manifest.units.length
28
+ : 0;
29
+ const preview: string = meta.preview || manifest.preview || '';
30
+
31
+ const coverageColor =
32
+ coverage < 0
33
+ ? 'text-gray-500'
34
+ : coverage > 0.7
35
+ ? 'text-green-400'
36
+ : coverage > 0.3
37
+ ? 'text-amber-400'
38
+ : 'text-red-400';
39
+
40
+ const coverageLabel =
41
+ coverage < 0 ? 'N/A' : `${Math.round(coverage * 100)}%`;
42
+
43
+ return (
44
+ <div className="border border-white/10 rounded-xl p-4 bg-white/[0.02] flex flex-col gap-3 hover:border-white/20 transition-colors">
45
+ {/* Header row */}
46
+ <div className="flex items-start gap-3">
47
+ <div className="shrink-0 w-9 h-9 rounded-lg bg-purple-500/10 flex items-center justify-center">
48
+ <Package className="w-4 h-4 text-purple-400" />
49
+ </div>
50
+ <div className="flex-1 min-w-0">
51
+ <div className="flex items-center gap-2 flex-wrap">
52
+ <span className="text-sm font-semibold text-gray-100 truncate">{name}</span>
53
+ <span className="text-[10px] px-1.5 py-0.5 rounded bg-white/5 text-gray-400 font-mono shrink-0">
54
+ v{version}
55
+ </span>
56
+ </div>
57
+ <p className="text-[11px] text-gray-500 mt-0.5">{author}</p>
58
+ </div>
59
+ </div>
60
+
61
+ {/* Description */}
62
+ {description && (
63
+ <p className="text-xs text-gray-400 leading-relaxed line-clamp-2">{description}</p>
64
+ )}
65
+
66
+ {/* Tags + license */}
67
+ <div className="flex flex-wrap items-center gap-1.5">
68
+ {tags.map(tag => (
69
+ <span
70
+ key={tag}
71
+ className="text-[10px] px-1.5 py-0.5 rounded bg-white/5 text-gray-400 border border-white/5"
72
+ >
73
+ {tag}
74
+ </span>
75
+ ))}
76
+ {license && (
77
+ <span className="text-[10px] px-1.5 py-0.5 rounded bg-purple-500/10 text-purple-400 border border-purple-500/20 font-medium">
78
+ {license}
79
+ </span>
80
+ )}
81
+ </div>
82
+
83
+ {/* Stats row */}
84
+ <div className="flex items-center gap-4 text-[11px]">
85
+ <div className="flex items-center gap-1">
86
+ <span className="text-gray-600">Coverage:</span>
87
+ <span className={`font-semibold tabular-nums ${coverageColor}`}>{coverageLabel}</span>
88
+ </div>
89
+ <div className="flex items-center gap-1">
90
+ <span className="text-gray-600">Units:</span>
91
+ <span className="text-gray-300 font-semibold tabular-nums">{unitCount}</span>
92
+ </div>
93
+ </div>
94
+
95
+ {/* Expandable preview */}
96
+ {preview && (
97
+ <div>
98
+ <button
99
+ onClick={() => setPreviewOpen(v => !v)}
100
+ className="flex items-center gap-1 text-[11px] text-gray-500 hover:text-gray-300 transition-colors"
101
+ >
102
+ {previewOpen ? (
103
+ <ChevronUp className="w-3 h-3" />
104
+ ) : (
105
+ <ChevronDown className="w-3 h-3" />
106
+ )}
107
+ {previewOpen ? 'Hide preview' : 'Show preview'}
108
+ </button>
109
+ {previewOpen && (
110
+ <pre className="mt-2 text-[10px] text-gray-400 bg-white/[0.03] border border-white/5 rounded-lg p-3 overflow-x-auto whitespace-pre-wrap break-all">
111
+ {preview}
112
+ </pre>
113
+ )}
114
+ </div>
115
+ )}
116
+
117
+ {/* Import button */}
118
+ <button
119
+ onClick={() => onImport(filename, manifest)}
120
+ className="w-full py-2 text-sm font-medium bg-purple-600 hover:bg-purple-500 text-white rounded-lg transition-colors"
121
+ >
122
+ Import
123
+ </button>
124
+ </div>
125
+ );
126
+ }
@@ -1,113 +1,113 @@
1
- 'use client';
2
-
3
- import { useState, useEffect, useCallback } from 'react';
4
- import { FolderOpen, RefreshCw } from 'lucide-react';
5
- import { api } from '@/lib/api';
6
- import { MarketplaceCard } from './marketplace-card';
7
- import { ImportDialog } from './import-dialog';
8
-
9
- interface PackEntry {
10
- filename: string;
11
- manifest: any;
12
- }
13
-
14
- interface BrowseResponse {
15
- packs?: PackEntry[];
16
- directory?: string;
17
- }
18
-
19
- export function MarketplaceTab() {
20
- const [packs, setPacks] = useState<PackEntry[]>([]);
21
- const [directory, setDirectory] = useState<string>('');
22
- const [loading, setLoading] = useState(false);
23
- const [importTarget, setImportTarget] = useState<PackEntry | null>(null);
24
-
25
- const fetchPacks = useCallback(async () => {
26
- setLoading(true);
27
- try {
28
- const res = await fetch(api('/api/cortex/marketplace/browse'));
29
- if (res.ok) {
30
- const data: BrowseResponse = await res.json();
31
- setPacks(data.packs ?? []);
32
- if (data.directory) setDirectory(data.directory);
33
- }
34
- } catch {}
35
- setLoading(false);
36
- }, []);
37
-
38
- useEffect(() => {
39
- fetchPacks();
40
- }, [fetchPacks]);
41
-
42
- const handleImportClick = (filename: string, manifest: any) => {
43
- setImportTarget({ filename, manifest });
44
- };
45
-
46
- const handleImportComplete = () => {
47
- setImportTarget(null);
48
- fetchPacks();
49
- };
50
-
51
- const hasDomainContext =
52
- importTarget?.manifest?.marketplace?.domain_context != null ||
53
- importTarget?.manifest?.domain_context != null;
54
-
55
- return (
56
- <div className="flex flex-col h-full">
57
- {/* Header */}
58
- <div className="p-4 border-b border-white/5 flex items-center justify-between gap-3">
59
- <div>
60
- <h2 className="text-sm font-semibold text-gray-100">Marketplace</h2>
61
- {directory && (
62
- <p className="text-[11px] text-gray-600 font-mono mt-0.5 truncate">{directory}</p>
63
- )}
64
- </div>
65
- <button
66
- onClick={fetchPacks}
67
- disabled={loading}
68
- className="flex items-center gap-1.5 text-xs text-gray-400 hover:text-gray-200 transition-colors disabled:opacity-50"
69
- >
70
- <RefreshCw className={`w-3.5 h-3.5 ${loading ? 'animate-spin' : ''}`} />
71
- Refresh
72
- </button>
73
- </div>
74
-
75
- {/* Content */}
76
- <div className="flex-1 overflow-y-auto p-4">
77
- {loading && packs.length === 0 && (
78
- <p className="text-sm text-gray-500 text-center py-12">Loading...</p>
79
- )}
80
-
81
- {!loading && packs.length === 0 && (
82
- <div className="flex flex-col items-center justify-center gap-3 py-16 text-gray-600">
83
- <FolderOpen className="w-8 h-8" />
84
- <p className="text-sm">No .cortexpack files found</p>
85
- </div>
86
- )}
87
-
88
- {packs.length > 0 && (
89
- <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
90
- {packs.map(pack => (
91
- <MarketplaceCard
92
- key={pack.filename}
93
- filename={pack.filename}
94
- manifest={pack.manifest}
95
- onImport={handleImportClick}
96
- />
97
- ))}
98
- </div>
99
- )}
100
- </div>
101
-
102
- {/* Import dialog */}
103
- {importTarget && (
104
- <ImportDialog
105
- filename={importTarget.filename}
106
- hasDomainContext={hasDomainContext}
107
- onClose={() => setImportTarget(null)}
108
- onComplete={handleImportComplete}
109
- />
110
- )}
111
- </div>
112
- );
113
- }
1
+ 'use client';
2
+
3
+ import { useState, useEffect, useCallback } from 'react';
4
+ import { FolderOpen, RefreshCw } from 'lucide-react';
5
+ import { api } from '@/lib/api';
6
+ import { MarketplaceCard } from './marketplace-card';
7
+ import { ImportDialog } from './import-dialog';
8
+
9
+ interface PackEntry {
10
+ filename: string;
11
+ manifest: any;
12
+ }
13
+
14
+ interface BrowseResponse {
15
+ packs?: PackEntry[];
16
+ directory?: string;
17
+ }
18
+
19
+ export function MarketplaceTab() {
20
+ const [packs, setPacks] = useState<PackEntry[]>([]);
21
+ const [directory, setDirectory] = useState<string>('');
22
+ const [loading, setLoading] = useState(false);
23
+ const [importTarget, setImportTarget] = useState<PackEntry | null>(null);
24
+
25
+ const fetchPacks = useCallback(async () => {
26
+ setLoading(true);
27
+ try {
28
+ const res = await fetch(api('/api/cortex/marketplace/browse'));
29
+ if (res.ok) {
30
+ const data: BrowseResponse = await res.json();
31
+ setPacks(data.packs ?? []);
32
+ if (data.directory) setDirectory(data.directory);
33
+ }
34
+ } catch {}
35
+ setLoading(false);
36
+ }, []);
37
+
38
+ useEffect(() => {
39
+ fetchPacks();
40
+ }, [fetchPacks]);
41
+
42
+ const handleImportClick = (filename: string, manifest: any) => {
43
+ setImportTarget({ filename, manifest });
44
+ };
45
+
46
+ const handleImportComplete = () => {
47
+ setImportTarget(null);
48
+ fetchPacks();
49
+ };
50
+
51
+ const hasDomainContext =
52
+ importTarget?.manifest?.marketplace?.domain_context != null ||
53
+ importTarget?.manifest?.domain_context != null;
54
+
55
+ return (
56
+ <div className="flex flex-col h-full">
57
+ {/* Header */}
58
+ <div className="p-4 border-b border-white/5 flex items-center justify-between gap-3">
59
+ <div>
60
+ <h2 className="text-sm font-semibold text-gray-100">Marketplace</h2>
61
+ {directory && (
62
+ <p className="text-[11px] text-gray-600 font-mono mt-0.5 truncate">{directory}</p>
63
+ )}
64
+ </div>
65
+ <button
66
+ onClick={fetchPacks}
67
+ disabled={loading}
68
+ className="flex items-center gap-1.5 text-xs text-gray-400 hover:text-gray-200 transition-colors disabled:opacity-50"
69
+ >
70
+ <RefreshCw className={`w-3.5 h-3.5 ${loading ? 'animate-spin' : ''}`} />
71
+ Refresh
72
+ </button>
73
+ </div>
74
+
75
+ {/* Content */}
76
+ <div className="flex-1 overflow-y-auto p-4">
77
+ {loading && packs.length === 0 && (
78
+ <p className="text-sm text-gray-500 text-center py-12">Loading...</p>
79
+ )}
80
+
81
+ {!loading && packs.length === 0 && (
82
+ <div className="flex flex-col items-center justify-center gap-3 py-16 text-gray-600">
83
+ <FolderOpen className="w-8 h-8" />
84
+ <p className="text-sm">No .cortexpack files found</p>
85
+ </div>
86
+ )}
87
+
88
+ {packs.length > 0 && (
89
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
90
+ {packs.map(pack => (
91
+ <MarketplaceCard
92
+ key={pack.filename}
93
+ filename={pack.filename}
94
+ manifest={pack.manifest}
95
+ onImport={handleImportClick}
96
+ />
97
+ ))}
98
+ </div>
99
+ )}
100
+ </div>
101
+
102
+ {/* Import dialog */}
103
+ {importTarget && (
104
+ <ImportDialog
105
+ filename={importTarget.filename}
106
+ hasDomainContext={hasDomainContext}
107
+ onClose={() => setImportTarget(null)}
108
+ onComplete={handleImportComplete}
109
+ />
110
+ )}
111
+ </div>
112
+ );
113
+ }
@@ -1,40 +1,40 @@
1
- /** Stub — delegates to @spaces/cortex addon */
2
- import { getCortexAddon } from './index';
3
-
4
- export interface CortexConfig {
5
- enabled: boolean;
6
- debug: boolean;
7
- anthropic_api_key?: string;
8
- openai_api_key?: string;
9
- embedding: any;
10
- injection: any;
11
- ingestion: any;
12
- layers: any;
13
- staleness: any;
14
- federation: any;
15
- storage: any;
16
- policies?: any[];
17
- }
18
-
19
- export const DEFAULT_CORTEX_CONFIG: CortexConfig = {
20
- enabled: false,
21
- debug: false,
22
- anthropic_api_key: '',
23
- openai_api_key: '',
24
- embedding: { provider: 'auto', model: null, fallback: 'local', dimensions: null },
25
- injection: { enabled: true, max_tokens: 5000, max_results: 10, min_confidence: 0.3 },
26
- ingestion: { auto_ingest: true, distillation: true, distillation_model: 'auto' },
27
- layers: { personal: true, workspace: true, team: true },
28
- staleness: { decision_halflife_days: 180, pattern_halflife_days: 90, context_halflife_days: 30, conversation_halflife_days: 14 },
29
- federation: { sync_mode: 'query-only', sync_interval_minutes: 5, query_timeout_ms: 500 },
30
- storage: { max_size_mb: 2048, warning_threshold_mb: 500 },
31
- policies: [],
32
- };
33
-
34
- export function readCortexConfig(configPath: string): CortexConfig {
35
- return getCortexAddon()?.readCortexConfig(configPath) ?? { ...DEFAULT_CORTEX_CONFIG };
36
- }
37
-
38
- export function writeCortexConfig(configPath: string, updates: Partial<CortexConfig>): void {
39
- getCortexAddon()?.writeCortexConfig(configPath, updates);
40
- }
1
+ /** Stub — delegates to @spaces/cortex addon */
2
+ import { getCortexAddon } from './index';
3
+
4
+ export interface CortexConfig {
5
+ enabled: boolean;
6
+ debug: boolean;
7
+ anthropic_api_key?: string;
8
+ openai_api_key?: string;
9
+ embedding: any;
10
+ injection: any;
11
+ ingestion: any;
12
+ layers: any;
13
+ staleness: any;
14
+ federation: any;
15
+ storage: any;
16
+ policies?: any[];
17
+ }
18
+
19
+ export const DEFAULT_CORTEX_CONFIG: CortexConfig = {
20
+ enabled: false,
21
+ debug: false,
22
+ anthropic_api_key: '',
23
+ openai_api_key: '',
24
+ embedding: { provider: 'auto', model: null, fallback: 'local', dimensions: null },
25
+ injection: { enabled: true, max_tokens: 5000, max_results: 10, min_confidence: 0.3 },
26
+ ingestion: { auto_ingest: true, distillation: true, distillation_model: 'auto' },
27
+ layers: { personal: true, workspace: true, team: true },
28
+ staleness: { decision_halflife_days: 180, pattern_halflife_days: 90, context_halflife_days: 30, conversation_halflife_days: 14 },
29
+ federation: { sync_mode: 'query-only', sync_interval_minutes: 5, query_timeout_ms: 500 },
30
+ storage: { max_size_mb: 2048, warning_threshold_mb: 500 },
31
+ policies: [],
32
+ };
33
+
34
+ export function readCortexConfig(configPath: string): CortexConfig {
35
+ return getCortexAddon()?.readCortexConfig(configPath) ?? { ...DEFAULT_CORTEX_CONFIG };
36
+ }
37
+
38
+ export function writeCortexConfig(configPath: string, updates: Partial<CortexConfig>): void {
39
+ getCortexAddon()?.writeCortexConfig(configPath, updates);
40
+ }
@@ -1,10 +1,10 @@
1
- /** Stub — delegates to @spaces/cortex addon */
2
- import { getCortexAddon } from './index';
3
-
4
- export function cortexDebug(...args: unknown[]): void {
5
- getCortexAddon()?.cortexDebug(...args);
6
- }
7
-
8
- export function setCortexDebug(enabled: boolean): void {
9
- getCortexAddon()?.setCortexDebug(enabled);
10
- }
1
+ /** Stub — delegates to @spaces/cortex addon */
2
+ import { getCortexAddon } from './index';
3
+
4
+ export function cortexDebug(...args: unknown[]): void {
5
+ getCortexAddon()?.cortexDebug(...args);
6
+ }
7
+
8
+ export function setCortexDebug(enabled: boolean): void {
9
+ getCortexAddon()?.setCortexDebug(enabled);
10
+ }
@@ -1,18 +1,18 @@
1
- /** Stub — delegates to @spaces/cortex addon */
2
- import { getCortexAddon } from '../index';
3
-
4
- export interface UsageRecord { input_tokens: number; output_tokens: number; calls: number; estimated_cost_usd: number; last_updated: string; }
5
- export interface CortexUsage { distillation: UsageRecord; by_model: Record<string, UsageRecord>; }
6
-
7
- const EMPTY: CortexUsage = {
8
- distillation: { input_tokens: 0, output_tokens: 0, calls: 0, estimated_cost_usd: 0, last_updated: '' },
9
- by_model: {},
10
- };
11
-
12
- export function readUsage(usagePath: string): CortexUsage {
13
- return getCortexAddon()?.readUsage?.(usagePath) ?? EMPTY;
14
- }
15
-
16
- export function recordUsage(usagePath: string, usage: any): void {
17
- getCortexAddon()?.recordUsage?.(usagePath, usage);
18
- }
1
+ /** Stub — delegates to @spaces/cortex addon */
2
+ import { getCortexAddon } from '../index';
3
+
4
+ export interface UsageRecord { input_tokens: number; output_tokens: number; calls: number; estimated_cost_usd: number; last_updated: string; }
5
+ export interface CortexUsage { distillation: UsageRecord; by_model: Record<string, UsageRecord>; }
6
+
7
+ const EMPTY: CortexUsage = {
8
+ distillation: { input_tokens: 0, output_tokens: 0, calls: 0, estimated_cost_usd: 0, last_updated: '' },
9
+ by_model: {},
10
+ };
11
+
12
+ export function readUsage(usagePath: string): CortexUsage {
13
+ return getCortexAddon()?.readUsage?.(usagePath) ?? EMPTY;
14
+ }
15
+
16
+ export function recordUsage(usagePath: string, usage: any): void {
17
+ getCortexAddon()?.recordUsage?.(usagePath, usage);
18
+ }
@@ -1,10 +1,10 @@
1
- /** Stub — delegates to @spaces/cortex addon */
2
- import { getCortexAddon } from '../index';
3
-
4
- export class EntityResolver {
5
- constructor(graph: any) {
6
- const addon = getCortexAddon();
7
- if (addon?.EntityResolver) return new addon.EntityResolver(graph) as any;
8
- }
9
- resolve(...args: any[]): any { return null; }
10
- }
1
+ /** Stub — delegates to @spaces/cortex addon */
2
+ import { getCortexAddon } from '../index';
3
+
4
+ export class EntityResolver {
5
+ constructor(graph: any) {
6
+ const addon = getCortexAddon();
7
+ if (addon?.EntityResolver) return new addon.EntityResolver(graph) as any;
8
+ }
9
+ resolve(...args: any[]): any { return null; }
10
+ }