@tablestore/tablestore-agent-cli 0.2.10 → 0.3.1

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 (618) hide show
  1. package/dist/commands/dashboard.d.ts.map +1 -1
  2. package/dist/commands/dashboard.js +3 -0
  3. package/dist/commands/dashboard.js.map +1 -1
  4. package/dist/commands/doctor.d.ts.map +1 -1
  5. package/dist/commands/doctor.js +10 -11
  6. package/dist/commands/doctor.js.map +1 -1
  7. package/dist/commands/memory-items.d.ts +3 -0
  8. package/dist/commands/memory-items.d.ts.map +1 -0
  9. package/dist/commands/memory-items.js +375 -0
  10. package/dist/commands/memory-items.js.map +1 -0
  11. package/dist/commands/memory.d.ts.map +1 -1
  12. package/dist/commands/memory.js +133 -122
  13. package/dist/commands/memory.js.map +1 -1
  14. package/dist/dashboard-runtime/dashboard/.next/BUILD_ID +1 -1
  15. package/dist/dashboard-runtime/dashboard/.next/app-path-routes-manifest.json +2 -3
  16. package/dist/dashboard-runtime/dashboard/.next/build-manifest.json +3 -3
  17. package/dist/dashboard-runtime/dashboard/.next/prerender-manifest.json +3 -3
  18. package/dist/dashboard-runtime/dashboard/.next/required-server-files.json +4 -4
  19. package/dist/dashboard-runtime/dashboard/.next/routes-manifest.json +11 -20
  20. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/api-keys/page.js.nft.json +1 -1
  21. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/api-keys/page_client-reference-manifest.js +1 -1
  22. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  23. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  24. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page.js.nft.json +1 -1
  25. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page_client-reference-manifest.js +1 -1
  26. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page.js.nft.json +1 -1
  27. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page_client-reference-manifest.js +1 -1
  28. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page.js.nft.json +1 -1
  29. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page_client-reference-manifest.js +1 -1
  30. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page.js.nft.json +1 -1
  31. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page_client-reference-manifest.js +1 -1
  32. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page.js.nft.json +1 -1
  33. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page_client-reference-manifest.js +1 -1
  34. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page.js.nft.json +1 -1
  35. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page_client-reference-manifest.js +1 -1
  36. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page.js.nft.json +1 -1
  37. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page_client-reference-manifest.js +1 -1
  38. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page.js.nft.json +1 -1
  39. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page_client-reference-manifest.js +1 -1
  40. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page.js.nft.json +1 -1
  41. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page_client-reference-manifest.js +1 -1
  42. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page.js.nft.json +1 -1
  43. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page_client-reference-manifest.js +1 -1
  44. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/dream/[dreamId]/page.js.nft.json +1 -1
  45. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/dream/[dreamId]/page_client-reference-manifest.js +1 -1
  46. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/dream/page.js.nft.json +1 -1
  47. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/dream/page_client-reference-manifest.js +1 -1
  48. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page.js.nft.json +1 -1
  49. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page_client-reference-manifest.js +1 -1
  50. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page.js.nft.json +1 -1
  51. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page_client-reference-manifest.js +1 -1
  52. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page.js.nft.json +1 -1
  53. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page_client-reference-manifest.js +1 -1
  54. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page.js.nft.json +1 -1
  55. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page_client-reference-manifest.js +1 -1
  56. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page.js.nft.json +1 -1
  57. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page_client-reference-manifest.js +1 -1
  58. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/tasks/page.js.nft.json +1 -1
  59. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/tasks/page_client-reference-manifest.js +1 -1
  60. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page.js.nft.json +1 -1
  61. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page_client-reference-manifest.js +1 -1
  62. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page.js.nft.json +1 -1
  63. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page_client-reference-manifest.js +1 -1
  64. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page.js.nft.json +1 -1
  65. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page_client-reference-manifest.js +1 -1
  66. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  67. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  68. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.html +1 -1
  69. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.rsc +1 -1
  70. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  71. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  72. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  73. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  74. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  75. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page.js.nft.json +1 -1
  76. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  77. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.html +1 -1
  78. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.rsc +16 -16
  79. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +16 -16
  80. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
  81. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
  82. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
  83. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  84. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  85. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/custom-policy/route.js +2 -2
  86. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/custom-policy/route.js.nft.json +1 -1
  87. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/effective-permissions/route.js +2 -2
  88. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/effective-permissions/route.js.nft.json +1 -1
  89. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/policies/route.js +2 -2
  90. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/policies/route.js.nft.json +1 -1
  91. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/route.js +2 -2
  92. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/route.js.nft.json +1 -1
  93. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/filter-by-permission/route.js +2 -2
  94. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/filter-by-permission/route.js.nft.json +1 -1
  95. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/route.js +2 -2
  96. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/route.js.nft.json +1 -1
  97. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/status/route.js +2 -2
  98. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/status/route.js.nft.json +1 -1
  99. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js +2 -2
  100. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js.nft.json +1 -1
  101. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js +2 -2
  102. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js.nft.json +1 -1
  103. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js +2 -2
  104. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js.nft.json +1 -1
  105. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js +2 -2
  106. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js.nft.json +1 -1
  107. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/connectivity/route/app-paths-manifest.json +3 -0
  108. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/connectivity/route.js +6 -0
  109. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/connectivity/route.js.nft.json +1 -0
  110. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/connectivity/route_client-reference-manifest.js +3 -0
  111. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js +2 -2
  112. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js.nft.json +1 -1
  113. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js +2 -2
  114. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js.nft.json +1 -1
  115. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js +2 -2
  116. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js.nft.json +1 -1
  117. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js +2 -2
  118. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js.nft.json +1 -1
  119. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js +2 -2
  120. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js.nft.json +1 -1
  121. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js +2 -2
  122. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js.nft.json +1 -1
  123. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js +2 -2
  124. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js.nft.json +1 -1
  125. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js +4 -4
  126. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js.nft.json +1 -1
  127. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js +2 -2
  128. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js.nft.json +1 -1
  129. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js +2 -2
  130. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js.nft.json +1 -1
  131. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js +2 -2
  132. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js.nft.json +1 -1
  133. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js +2 -2
  134. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js.nft.json +1 -1
  135. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js +2 -2
  136. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js.nft.json +1 -1
  137. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js +2 -2
  138. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js.nft.json +1 -1
  139. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js +2 -2
  140. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js.nft.json +1 -1
  141. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-kb-sync/route.js +2 -2
  142. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-kb-sync/route.js.nft.json +1 -1
  143. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/actions/apply/route.js +2 -2
  144. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/actions/apply/route.js.nft.json +1 -1
  145. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/actions/route.js +2 -2
  146. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/actions/route.js.nft.json +1 -1
  147. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/cancel/route.js +2 -2
  148. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/cancel/route.js.nft.json +1 -1
  149. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/route.js +2 -2
  150. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/route.js.nft.json +1 -1
  151. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/route.js +2 -2
  152. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/route.js.nft.json +1 -1
  153. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/[action]/route/app-paths-manifest.json +3 -0
  154. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/[action]/route.js +6 -0
  155. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/{sync → [action]}/route.js.nft.json +1 -1
  156. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/[action]/route_client-reference-manifest.js +3 -0
  157. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js +2 -2
  158. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js.nft.json +1 -1
  159. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js +2 -2
  160. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js.nft.json +1 -1
  161. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js +2 -2
  162. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js.nft.json +1 -1
  163. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/scopes/route.js +2 -2
  164. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/scopes/route.js.nft.json +1 -1
  165. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js +2 -2
  166. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js.nft.json +1 -1
  167. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/tasks/[requestId]/route.js +2 -2
  168. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/tasks/[requestId]/route.js.nft.json +1 -1
  169. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/tasks/route.js +2 -2
  170. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/tasks/route.js.nft.json +1 -1
  171. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/[memoryId]/route.js +2 -2
  172. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/[memoryId]/route.js.nft.json +1 -1
  173. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js +2 -2
  174. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js.nft.json +1 -1
  175. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js +2 -2
  176. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js.nft.json +1 -1
  177. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js +2 -2
  178. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js.nft.json +1 -1
  179. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js +2 -2
  180. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js.nft.json +1 -1
  181. package/dist/dashboard-runtime/dashboard/.next/server/app/index.html +1 -1
  182. package/dist/dashboard-runtime/dashboard/.next/server/app/index.rsc +15 -15
  183. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  184. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_full.segment.rsc +15 -15
  185. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_head.segment.rsc +3 -3
  186. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_index.segment.rsc +11 -11
  187. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  188. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page.js.nft.json +1 -1
  189. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  190. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.html +1 -1
  191. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.rsc +18 -18
  192. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_full.segment.rsc +18 -18
  193. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_head.segment.rsc +3 -3
  194. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_index.segment.rsc +11 -11
  195. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
  196. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
  197. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding.segment.rsc +4 -4
  198. package/dist/dashboard-runtime/dashboard/.next/server/app/page.js.nft.json +1 -1
  199. package/dist/dashboard-runtime/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  200. package/dist/dashboard-runtime/dashboard/.next/server/app-paths-manifest.json +2 -3
  201. package/dist/dashboard-runtime/dashboard/.next/server/chunks/05a2_app_api_v1_memory_stores_[store]_file-memory_[action]_route_actions_0m70if_.js +3 -0
  202. package/dist/dashboard-runtime/dashboard/.next/server/chunks/0e95__next-internal_server_app_api_v1_instances_connectivity_route_actions_0hc.k~w.js +3 -0
  203. package/dist/dashboard-runtime/dashboard/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_0n~ec7s.js +19 -12
  204. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0--nu07._.js +3 -0
  205. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0-pbmiq._.js +3 -0
  206. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0-wmyic._.js +40 -0
  207. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.gylau._.js +3 -0
  208. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.hvkwy._.js +3 -0
  209. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.li3cj._.js +40 -0
  210. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.qtdn4._.js +3 -0
  211. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__02p1x3t._.js +3 -0
  212. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__03og44p._.js +3 -0
  213. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04dd04u._.js +3 -0
  214. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04ujbw-._.js +3 -0
  215. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04zbudf._.js +3 -0
  216. package/dist/dashboard-runtime/dashboard/.next/server/chunks/{[root-of-the-server]__0-3~.bv._.js → [root-of-the-server]__052epg.._.js} +3 -3
  217. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__05eryp~._.js +3 -0
  218. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__06fva9g._.js +3 -0
  219. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__08_2avk._.js +3 -0
  220. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0acvvri._.js +3 -0
  221. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0byveuc._.js +3 -0
  222. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0cee_lo._.js +3 -0
  223. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0cyd2qb._.js +3 -0
  224. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ecs-9r._.js +3 -0
  225. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ejcow5._.js +3 -0
  226. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0es0s_~._.js +3 -0
  227. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0fglxiw._.js +3 -0
  228. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0g3yw6w._.js +3 -0
  229. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0i1_p1s._.js +3 -0
  230. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0is6qso._.js +3 -0
  231. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0no9qm0._.js +3 -0
  232. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0q8vcw8._.js +3 -0
  233. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0q9fgt6._.js +3 -0
  234. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0rx9hon._.js +3 -0
  235. package/dist/dashboard-runtime/dashboard/.next/server/chunks/{[root-of-the-server]__089es3y._.js → [root-of-the-server]__0sa.9zr._.js} +10 -10
  236. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0tc-.6s._.js +3 -0
  237. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0u03tze._.js +3 -0
  238. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ua_nqs._.js +3 -0
  239. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0uebf40._.js +3 -0
  240. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0v0il3n._.js +3 -0
  241. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0w_ig2a._.js +3 -0
  242. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0y0w3mg._.js +3 -0
  243. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0zmo~nd._.js +3 -0
  244. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__10m-wmo._.js +3 -0
  245. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__11s_zx6._.js +3 -0
  246. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__11wq90l._.js +3 -0
  247. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__126srko._.js +3 -0
  248. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__12e1t6o._.js +3 -0
  249. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__12ylr4n._.js +3 -0
  250. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__13g_f9w._.js +3 -0
  251. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__13q2wbt._.js +3 -0
  252. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__13~-fxp._.js +3 -0
  253. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0b1r_app_(dashboard)_knowledge-base_[name]_documents_documents-client_tsx_0g2uxmt._.js +1 -1
  254. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0.ooo1s._.js +3 -0
  255. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__07fsbff._.js +3 -0
  256. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0b5cw4e._.js +3 -0
  257. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0p1cst6._.js +3 -0
  258. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0xza7lz._.js +3 -0
  259. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0.6x0yu._.js +3 -0
  260. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0.pa1e6._.js +3 -0
  261. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_01snuz~._.js +3 -0
  262. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0251rsp._.js +1 -1
  263. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_02waf76._.js +1 -1
  264. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_06_hoj_._.js +3 -0
  265. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0_aw2vr._.js +3 -0
  266. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0brqbty._.js +1 -1
  267. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0csuit-._.js +3 -0
  268. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ep_q37._.js +3 -0
  269. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0eps5jg._.js +3 -0
  270. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ez3yia._.js +3 -0
  271. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0fttf6a._.js +3 -0
  272. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0fz3kge._.js +3 -0
  273. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0hx2079._.js +3 -0
  274. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0k7q0ug._.js +3 -0
  275. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0oiggmj._.js +3 -0
  276. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0p0sh02._.js +3 -0
  277. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0pwlb77._.js +3 -0
  278. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0t.h859._.js +1 -1
  279. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0thp9l5._.js +3 -0
  280. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0uc_gmf._.js +3 -0
  281. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0wce254._.js +3 -0
  282. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ww5s91._.js +3 -0
  283. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0y4mxf8._.js +3 -0
  284. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_12l8jkb._.js +3 -0
  285. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_079nj-_._.js +3 -0
  286. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0_z9696._.js +3 -0
  287. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0grv2wq._.js +1 -1
  288. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0jrh7xy._.js +3 -0
  289. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0x60pxf._.js +1 -1
  290. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0y49vhd._.js +1 -1
  291. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_10dsqx~._.js +1 -1
  292. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_api-keys_page_tsx_0lb6fu7._.js +1 -1
  293. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_dream_[dreamId]_page_tsx_0wy3tv6._.js +1 -1
  294. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_dream_page_tsx_0uzzpvs._.js +1 -1
  295. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_layout_tsx_0rbi41w._.js +1 -1
  296. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_messages_page_tsx_0votz-n._.js +1 -1
  297. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_tasks_page_tsx_0a_bgx4._.js +1 -1
  298. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_units_page_tsx_0.6xnei._.js +1 -1
  299. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_memory_memory-files-browser_tsx_0o2~94-._.js +3 -0
  300. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_i18n_i18n-context_tsx_0c39ewr._.js +1 -1
  301. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_providers_runtime-context-provider_tsx_0wmj66z._.js +1 -1
  302. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0ymj2~2._.js +3 -0
  303. package/dist/dashboard-runtime/dashboard/.next/server/functions-config-manifest.json +2 -3
  304. package/dist/dashboard-runtime/dashboard/.next/server/middleware-build-manifest.js +3 -3
  305. package/dist/dashboard-runtime/dashboard/.next/server/pages/404.html +1 -1
  306. package/dist/dashboard-runtime/dashboard/.next/server/pages/500.html +1 -1
  307. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.js +1 -1
  308. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.json +1 -1
  309. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-xwobg-a6si1.js +1 -0
  310. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0.hi0qmo.f-h4.js +1 -0
  311. package/dist/dashboard-runtime/dashboard/.next/static/chunks/01bokygf48bnj.js +1 -0
  312. package/dist/dashboard-runtime/dashboard/.next/static/chunks/026lyw-ynx1og.js +1 -0
  313. package/dist/dashboard-runtime/dashboard/.next/static/chunks/04a.1c2rygy08.js +1 -0
  314. package/dist/dashboard-runtime/dashboard/.next/static/chunks/05.2q9f0yx4e_.js +1 -0
  315. package/dist/dashboard-runtime/dashboard/.next/static/chunks/05_iqjh-v2gej.js +1 -0
  316. package/dist/dashboard-runtime/dashboard/.next/static/chunks/05f4mjbi6x-tm.js +1 -0
  317. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07twdccs42b_-.js +1 -0
  318. package/dist/dashboard-runtime/dashboard/.next/static/chunks/090n1_814n.n~.js +1 -0
  319. package/dist/dashboard-runtime/dashboard/.next/static/chunks/09v-qczj__g1x.js +1 -0
  320. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{08nzc9sye_0~h.js → 0_8~9zgfm5f.8.js} +1 -1
  321. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0_zw2y~vb_52n.js +1 -0
  322. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0a2f-mxepv-y7.js +1 -0
  323. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0amex7bwxnme9.js +1 -0
  324. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0apfhv-v7oy7u.js +1 -0
  325. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0bxt5icwb83xt.js +1 -0
  326. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0dpi1comd-thc.js +1 -0
  327. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0eafb9pun~54k.js +9 -0
  328. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{010bpq~3ntjcm.js → 0eerrv808~6bh.js} +1 -1
  329. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0j6agpotrd_n4.js +1 -0
  330. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0jbcdgtcgqemd.js +1 -0
  331. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0jp7zmwvyv0bn.js +1 -0
  332. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0k8mhea24d_kj.js +1 -0
  333. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0krt75we1wtcy.js +1 -0
  334. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0l~3_bvic.da3.js → 0ogrq_r43je48.js} +1 -1
  335. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0prl9yrb8ksp8.js +1 -0
  336. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0r4azm.3hswcs.js +138 -0
  337. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0r6utd8g~.cc1.js +1 -0
  338. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u6c8q4k~6aiy.js +1 -0
  339. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0uj7ezedkm6ou.css +1 -0
  340. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0uu2cjfwvbn3y.js +1 -0
  341. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x5qtkdg2trq9.js +5 -0
  342. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0yvc~t7p88wsf.js +1 -0
  343. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0zhfdjby7cj-q.js +1 -0
  344. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{02u9ocsl0a12t.js → 0~naqbx3873~r.js} +1 -1
  345. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0~a4ig2x9z8uq.js → 13__t3s3ipfzl.js} +1 -1
  346. package/dist/dashboard-runtime/dashboard/.next/static/chunks/14.8mq880kjoc.js +1 -0
  347. package/dist/dashboard-runtime/dashboard/.next/static/chunks/145hqnc~4wc~n.js +1 -0
  348. package/dist/dashboard-runtime/dashboard/.next/static/chunks/14rpr3z1.lmgj.js +1 -0
  349. package/dist/dashboard-runtime/dashboard/.next/static/chunks/16uky1ro-t_~9.js +1 -0
  350. package/dist/dashboard-runtime/dashboard/.next/static/chunks/18absak_u0d85.js +138 -0
  351. package/dist/dashboard-runtime/dashboard/server.js +1 -1
  352. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/chat/page.tsx +1 -0
  353. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/knowledge-base/[name]/qa/page.tsx +1 -0
  354. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/dream/[dreamId]/page.tsx +187 -2
  355. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/dream/page.tsx +14 -1
  356. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/layout.tsx +59 -8
  357. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/messages/page.tsx +15 -0
  358. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/tasks/page.tsx +9 -0
  359. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/units/page.tsx +123 -24
  360. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/projects/page.tsx +3 -0
  361. package/dist/dashboard-runtime/dashboard/src/app/api/v1/instances/connectivity/route.ts +66 -0
  362. package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/file-memory-curator.ts +496 -0
  363. package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/file-memory-helpers.ts +12 -81
  364. package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/memory-helpers.ts +3 -3
  365. package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/route.ts +200 -39
  366. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/actions/apply/route.ts +39 -6
  367. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/file-memory/[action]/route.ts +86 -0
  368. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/file-memory/_helpers.ts +26 -36
  369. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/file-memory/_request.ts +49 -0
  370. package/dist/dashboard-runtime/dashboard/src/app/onboarding/page.tsx +1 -3
  371. package/dist/dashboard-runtime/dashboard/src/components/chat/chat-config-context.tsx +48 -9
  372. package/dist/dashboard-runtime/dashboard/src/components/chat/memory-bind-section.tsx +66 -18
  373. package/dist/dashboard-runtime/dashboard/src/components/chat/memory-files-dialog.tsx +1 -1
  374. package/dist/dashboard-runtime/dashboard/src/components/chat/mount-picker.tsx +5 -1
  375. package/dist/dashboard-runtime/dashboard/src/components/instance/instance-connectivity-dot.tsx +96 -0
  376. package/dist/dashboard-runtime/dashboard/src/components/instance/project-card.tsx +5 -1
  377. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/subspace-gate.tsx +23 -5
  378. package/dist/dashboard-runtime/dashboard/src/components/knowledge-base/subspace-switcher.tsx +23 -5
  379. package/dist/dashboard-runtime/dashboard/src/components/layout/instance-switcher.tsx +13 -1
  380. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar-instance-card.tsx +29 -4
  381. package/dist/dashboard-runtime/dashboard/src/components/memory/file-details-panel.tsx +91 -0
  382. package/dist/dashboard-runtime/dashboard/src/components/memory/file-editor.tsx +144 -0
  383. package/dist/dashboard-runtime/dashboard/src/components/memory/file-mutation-dialogs.tsx +181 -0
  384. package/dist/dashboard-runtime/dashboard/src/components/memory/file-scope-onboarding.tsx +154 -0
  385. package/dist/dashboard-runtime/dashboard/src/components/memory/file-version-history.tsx +251 -0
  386. package/dist/dashboard-runtime/dashboard/src/components/memory/file-workspace-toolbar.tsx +101 -0
  387. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-create-form.tsx +166 -75
  388. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-dream-create-dialog.tsx +385 -73
  389. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-dream-plan-approval-dialog.tsx +172 -0
  390. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-files-browser.tsx +500 -168
  391. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-scope-bar.tsx +230 -72
  392. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-form.tsx +51 -14
  393. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-results.tsx +5 -1
  394. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-settings-form.tsx +54 -46
  395. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-store-card.tsx +126 -69
  396. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-unit-table.tsx +5 -1
  397. package/dist/dashboard-runtime/dashboard/src/components/memory/scope-combobox.tsx +169 -42
  398. package/dist/dashboard-runtime/dashboard/src/components/qa/qa-message.tsx +233 -38
  399. package/dist/dashboard-runtime/dashboard/src/components/shared/error-state.tsx +3 -2
  400. package/dist/dashboard-runtime/dashboard/src/components/shared/llm-model-selector.tsx +5 -1
  401. package/dist/dashboard-runtime/dashboard/src/components/ui/dialog.tsx +1 -1
  402. package/dist/dashboard-runtime/dashboard/src/contexts/subspace-context.tsx +144 -30
  403. package/dist/dashboard-runtime/dashboard/src/hooks/use-approve-dream-plan.ts +25 -0
  404. package/dist/dashboard-runtime/dashboard/src/hooks/use-chat-history.ts +125 -47
  405. package/dist/dashboard-runtime/dashboard/src/hooks/use-file-memory.ts +185 -29
  406. package/dist/dashboard-runtime/dashboard/src/hooks/use-instances.ts +40 -0
  407. package/dist/dashboard-runtime/dashboard/src/hooks/use-memory-store-scopes.ts +2 -1
  408. package/dist/dashboard-runtime/dashboard/src/hooks/use-qa-chat.ts +188 -23
  409. package/dist/dashboard-runtime/dashboard/src/hooks/use-subspace-history.ts +64 -75
  410. package/dist/dashboard-runtime/dashboard/src/i18n/locales/en.ts +198 -14
  411. package/dist/dashboard-runtime/dashboard/src/i18n/locales/zh.ts +188 -14
  412. package/dist/dashboard-runtime/dashboard/src/lib/api-error-toast.ts +9 -1
  413. package/dist/dashboard-runtime/dashboard/src/lib/browser-file-memory.ts +397 -0
  414. package/dist/dashboard-runtime/dashboard/src/lib/file-scope-history.ts +108 -0
  415. package/dist/dashboard-runtime/dashboard/src/lib/memory-scope-history.ts +165 -0
  416. package/dist/dashboard-runtime/dashboard/src/lib/memory-storage-mode.ts +193 -31
  417. package/dist/dashboard-runtime/dashboard/src/lib/memory.ts +29 -4
  418. package/dist/dashboard-runtime/dashboard/src/lib/query-keys.ts +63 -0
  419. package/dist/dashboard-runtime/dashboard/src/lib/server/api-helpers.ts +5 -0
  420. package/dist/dashboard-runtime/dashboard/src/lib/server/instance-connectivity.ts +136 -0
  421. package/dist/dashboard-runtime/dashboard/src/lib/server/sdk-client.ts +25 -3
  422. package/dist/dashboard-runtime/dashboard/src/lib/subspace-history.ts +151 -0
  423. package/dist/dashboard-runtime/dashboard/src/schemas/llm-chat.ts +58 -13
  424. package/dist/dashboard-runtime/dashboard/src/services/file-memory.ts +80 -46
  425. package/dist/dashboard-runtime/dashboard/src/services/instances.ts +5 -0
  426. package/dist/dashboard-runtime/dashboard/src/services/memory.ts +45 -5
  427. package/dist/dashboard-runtime/dashboard/src/types/file-memory.ts +150 -0
  428. package/dist/dashboard-runtime/dashboard/src/types/instance.ts +17 -0
  429. package/dist/dashboard-runtime/dashboard/src/types/llm-chat.ts +49 -13
  430. package/dist/dashboard-runtime/dashboard/src/types/memory.ts +59 -5
  431. package/dist/dashboard-runtime/dashboard/tsconfig.tsbuildinfo +1 -0
  432. package/dist/dashboard-runtime/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  433. package/dist/dashboard-runtime/node_modules/@img/{sharp-linux-x64 → sharp-darwin-arm64}/package.json +7 -13
  434. package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-linux-x64 → sharp-libvips-darwin-arm64}/README.md +2 -2
  435. package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-linux-x64 → sharp-libvips-darwin-arm64}/lib/glib-2.0/include/glibconfig.h +8 -9
  436. package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 → sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib} +0 -0
  437. package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-linux-x64 → sharp-libvips-darwin-arm64}/package.json +5 -11
  438. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/index.d.ts +0 -1
  439. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/index.d.ts.map +1 -1
  440. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/index.js +0 -1
  441. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/index.js.map +1 -1
  442. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts +9 -8
  443. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts.map +1 -1
  444. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js +24 -10
  445. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js.map +1 -1
  446. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/response.d.ts.map +1 -1
  447. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/response.js +5 -1
  448. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/response.js.map +1 -1
  449. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  450. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/package.json +1 -1
  451. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
  452. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts.map +1 -1
  453. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/index.d.ts +0 -1
  454. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/index.d.ts.map +1 -1
  455. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/index.js +0 -1
  456. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/index.js.map +1 -1
  457. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts +9 -8
  458. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.d.ts.map +1 -1
  459. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js +24 -10
  460. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/memory-client.js.map +1 -1
  461. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/response.d.ts.map +1 -1
  462. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/response.js +5 -1
  463. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/response.js.map +1 -1
  464. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  465. package/dist/node_modules/@tablestore/tablestore-agent-sdk/package.json +1 -1
  466. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/tsconfig.tsbuildinfo +1 -1
  467. package/dist/node_modules/@tablestore/tablestore-agent-shared/dist/types.d.ts.map +1 -1
  468. package/package.json +3 -3
  469. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/file/route/app-paths-manifest.json +0 -3
  470. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/file/route.js +0 -6
  471. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/file/route.js.nft.json +0 -1
  472. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/file/route_client-reference-manifest.js +0 -3
  473. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/sync/route/app-paths-manifest.json +0 -3
  474. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/sync/route.js +0 -6
  475. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/sync/route_client-reference-manifest.js +0 -3
  476. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/tree/route/app-paths-manifest.json +0 -3
  477. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/tree/route/build-manifest.json +0 -9
  478. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/tree/route/server-reference-manifest.json +0 -4
  479. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/tree/route.js +0 -6
  480. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/tree/route.js.map +0 -5
  481. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/tree/route.js.nft.json +0 -1
  482. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/tree/route_client-reference-manifest.js +0 -3
  483. package/dist/dashboard-runtime/dashboard/.next/server/chunks/0ndq_server_app_api_v1_memory_stores_[store]_file-memory_file_route_actions_06~k01v.js +0 -3
  484. package/dist/dashboard-runtime/dashboard/.next/server/chunks/0ndq_server_app_api_v1_memory_stores_[store]_file-memory_sync_route_actions_0rt6p8e.js +0 -3
  485. package/dist/dashboard-runtime/dashboard/.next/server/chunks/0ndq_server_app_api_v1_memory_stores_[store]_file-memory_tree_route_actions_0wl_n8b.js +0 -3
  486. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0-dt7~s._.js +0 -3
  487. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.-~ff4._.js +0 -3
  488. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.l706t._.js +0 -3
  489. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0.nejw_._.js +0 -3
  490. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__00_mrad._.js +0 -3
  491. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__00i.7se._.js +0 -3
  492. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__00r7uqs._.js +0 -3
  493. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__02~yw7n._.js +0 -3
  494. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04kpzpa._.js +0 -3
  495. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__04p1a88._.js +0 -3
  496. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__05x0k4d._.js +0 -3
  497. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__060s~oe._.js +0 -3
  498. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__06fanvv._.js +0 -3
  499. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__06tci88._.js +0 -3
  500. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__08bzgzm._.js +0 -3
  501. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__08d7wb.._.js +0 -3
  502. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__08p_m_c._.js +0 -3
  503. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__095xiwn._.js +0 -3
  504. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__09h95i6._.js +0 -3
  505. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ai2k_o._.js +0 -40
  506. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0alcygi._.js +0 -3
  507. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0aspytx._.js +0 -3
  508. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0cq-9s~._.js +0 -3
  509. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0cyiuai._.js +0 -3
  510. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0d4zrpj._.js +0 -3
  511. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0d~m09k._.js +0 -3
  512. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0f1lugp._.js +0 -3
  513. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0g1cfb7._.js +0 -40
  514. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0gpz.~y._.js +0 -3
  515. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0i3u9x3._.js +0 -3
  516. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0iromt6._.js +0 -3
  517. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0j8.u0y._.js +0 -3
  518. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0k-pfaj._.js +0 -3
  519. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0kcbz7k._.js +0 -3
  520. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0nrl-.g._.js +0 -3
  521. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0o5mf4h._.js +0 -3
  522. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0omyr40._.js +0 -3
  523. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ty8jgt._.js +0 -3
  524. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ug_2kc._.js +0 -3
  525. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0v98i9~._.js +0 -3
  526. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0wt0ksb._.js +0 -3
  527. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0ya_8d2._.js +0 -3
  528. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0zfg-ml._.js +0 -3
  529. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0~9ru5n._.js +0 -3
  530. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0~f7ckz._.js +0 -3
  531. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__109i6ps._.js +0 -3
  532. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__10o5zq5._.js +0 -3
  533. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__12ls5l8._.js +0 -3
  534. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/0w-2_lucide-react_dist_esm_icons_0h-3_0x._.js +0 -3
  535. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0k0es2c._.js +0 -3
  536. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0ky8i.~._.js +0 -3
  537. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0ocsrt0._.js +0 -3
  538. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0ys4x_n._.js +0 -3
  539. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__10rkv6z._.js +0 -3
  540. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_002mc1c._.js +0 -3
  541. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_04f2u4t._.js +0 -3
  542. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_06ny.4k._.js +0 -3
  543. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0b9pl2d._.js +0 -3
  544. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0e.ehti._.js +0 -3
  545. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f8moq0._.js +0 -3
  546. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f8yv4v._.js +0 -3
  547. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0fvg_xo._.js +0 -3
  548. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0h9c.8m._.js +0 -3
  549. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ip4ncy._.js +0 -3
  550. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0izjcsk._.js +0 -3
  551. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0j.62sb._.js +0 -3
  552. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0mdbcju._.js +0 -3
  553. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0p_s55v._.js +0 -3
  554. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0qiamjd._.js +0 -3
  555. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0xp94lc._.js +0 -3
  556. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_13730cz._.js +0 -3
  557. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_13ctfae._.js +0 -3
  558. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_00.1.s_._.js +0 -3
  559. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_04o7mfc._.js +0 -3
  560. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0bhjp9s._.js +0 -3
  561. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0qlyj-q._.js +0 -3
  562. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_00usyu3._.js +0 -3
  563. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0791f2k._.js +0 -3
  564. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0--dupndun7xc.css +0 -1
  565. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0.uxk~hsm6yi8.js +0 -138
  566. package/dist/dashboard-runtime/dashboard/.next/static/chunks/00eggrx~.4c55.js +0 -1
  567. package/dist/dashboard-runtime/dashboard/.next/static/chunks/00lvoeu_v3253.js +0 -1
  568. package/dist/dashboard-runtime/dashboard/.next/static/chunks/00o9vmhspv._3.js +0 -138
  569. package/dist/dashboard-runtime/dashboard/.next/static/chunks/00x1.t633f041.js +0 -1
  570. package/dist/dashboard-runtime/dashboard/.next/static/chunks/02p7gke47s.2~.js +0 -1
  571. package/dist/dashboard-runtime/dashboard/.next/static/chunks/03dth-av1gl-h.js +0 -1
  572. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07s0f6938um2v.js +0 -1
  573. package/dist/dashboard-runtime/dashboard/.next/static/chunks/09y30vyml4r.b.js +0 -1
  574. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0au0pbejtwahz.js +0 -1
  575. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0b-ei8-g7ceug.js +0 -1
  576. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0chiv044h3u58.js +0 -1
  577. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0fcdli-~wmvvx.js +0 -1
  578. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0fz_9~-rxluly.js +0 -1
  579. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0i55cqygnl-a9.js +0 -5
  580. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0j8p7vk~awgs..js +0 -1
  581. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0j_.hkhjix9hw.js +0 -1
  582. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ll488v66ycn1.js +0 -1
  583. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0naliud7av3p1.js +0 -1
  584. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0pbfl~23ac79y.js +0 -9
  585. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u3qx.qasmdx9.js +0 -1
  586. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0vuh8jgeqqdy..js +0 -1
  587. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0wbevjtr1_grz.js +0 -1
  588. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0y-gjpq3kxsbz.js +0 -1
  589. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0z_pq4ttgotxw.js +0 -1
  590. package/dist/dashboard-runtime/dashboard/.next/static/chunks/10i~m4_8ainxw.js +0 -1
  591. package/dist/dashboard-runtime/dashboard/.next/static/chunks/12535rmhzbk63.js +0 -1
  592. package/dist/dashboard-runtime/dashboard/.next/static/chunks/13uk2uuzuop5e.js +0 -1
  593. package/dist/dashboard-runtime/dashboard/.next/static/chunks/13vd4hv~l95-c.js +0 -1
  594. package/dist/dashboard-runtime/dashboard/.next/static/chunks/16.2aecdwo6w_.js +0 -1
  595. package/dist/dashboard-runtime/dashboard/.next/static/chunks/16yu0g~7n~33c.js +0 -1
  596. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/file-memory/file/route.ts +0 -69
  597. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/file-memory/sync/route.ts +0 -69
  598. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/file-memory/tree/route.ts +0 -44
  599. package/dist/dashboard-runtime/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  600. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/file-memory.d.ts +0 -153
  601. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/file-memory.d.ts.map +0 -1
  602. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/file-memory.js +0 -451
  603. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/file-memory.js.map +0 -1
  604. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/file-memory.d.ts +0 -153
  605. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/file-memory.d.ts.map +0 -1
  606. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/file-memory.js +0 -451
  607. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/file-memory.js.map +0 -1
  608. /package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/{memory/stores/[store]/file-memory/file → instances/connectivity}/route/build-manifest.json +0 -0
  609. /package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/{memory/stores/[store]/file-memory/file → instances/connectivity}/route/server-reference-manifest.json +0 -0
  610. /package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/{memory/stores/[store]/file-memory/file → instances/connectivity}/route.js.map +0 -0
  611. /package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/{sync → [action]}/route/build-manifest.json +0 -0
  612. /package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/{sync → [action]}/route/server-reference-manifest.json +0 -0
  613. /package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/{sync → [action]}/route.js.map +0 -0
  614. /package/dist/dashboard-runtime/dashboard/.next/static/{5irIRCYtKcYh5T_Bewihp → 8G6beqTEKH_-N0JljpgWT}/_buildManifest.js +0 -0
  615. /package/dist/dashboard-runtime/dashboard/.next/static/{5irIRCYtKcYh5T_Bewihp → 8G6beqTEKH_-N0JljpgWT}/_clientMiddlewareManifest.js +0 -0
  616. /package/dist/dashboard-runtime/dashboard/.next/static/{5irIRCYtKcYh5T_Bewihp → 8G6beqTEKH_-N0JljpgWT}/_ssgManifest.js +0 -0
  617. /package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-linux-x64 → sharp-libvips-darwin-arm64}/lib/index.js +0 -0
  618. /package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-linux-x64 → sharp-libvips-darwin-arm64}/versions.json +0 -0
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- import { useMemo, useState } from "react";
3
+ import { useEffect, useMemo, useReducer, useRef, useState } from "react";
4
4
  import {
5
5
  ChevronDown,
6
6
  ChevronRight,
@@ -8,218 +8,550 @@ import {
8
8
  Folder,
9
9
  FolderOpen,
10
10
  FolderTree,
11
- RefreshCw,
11
+ Search,
12
12
  } from "lucide-react";
13
13
  import { toast } from "sonner";
14
14
 
15
15
  import { Button } from "@/components/ui/button";
16
- import { cn } from "@/lib/utils";
17
- import type { ChatMemoryWriteScope } from "@/components/chat/chat-config-context";
16
+ import { Input } from "@/components/ui/input";
18
17
  import {
19
- useFileMemoryFile,
20
- useFileMemoryTree,
21
- useSyncFileMemory,
18
+ useAddItem,
19
+ useDeleteItem,
20
+ useItem,
21
+ useItems,
22
+ useUpdateItem,
22
23
  } from "@/hooks/use-file-memory";
23
- import { buildFileTree, flattenVisible } from "@/lib/file-tree";
24
24
  import { useI18n } from "@/i18n/i18n-context";
25
+ import { buildFileTree, flattenVisible } from "@/lib/file-tree";
26
+ import { cn } from "@/lib/utils";
27
+ import { ApiClientError } from "@/services/api-client";
28
+ import type {
29
+ FileMemoryItem,
30
+ FileMemoryScope,
31
+ ListItemsResponse,
32
+ } from "@/types/file-memory";
33
+
34
+ import { FileDetailsPanel } from "./file-details-panel";
35
+ import {
36
+ FileEditor,
37
+ normalizeFileMemoryPath,
38
+ validateFileMemoryContent,
39
+ } from "./file-editor";
40
+ import {
41
+ FileMutationDialogs,
42
+ type FileMutationDialog,
43
+ } from "./file-mutation-dialogs";
44
+ import { FileWorkspaceToolbar } from "./file-workspace-toolbar";
45
+
46
+ export interface WorkspaceEditorState {
47
+ selectedPath: string | null;
48
+ content: string;
49
+ loadedItemId: string | null;
50
+ loadedVersionId: string | null;
51
+ dirty: boolean;
52
+ conflict: string | null;
53
+ }
54
+
55
+ export const initialWorkspaceEditorState: WorkspaceEditorState = {
56
+ selectedPath: null,
57
+ content: "",
58
+ loadedItemId: null,
59
+ loadedVersionId: null,
60
+ dirty: false,
61
+ conflict: null,
62
+ };
63
+
64
+ type WorkspaceEditorAction =
65
+ | { type: "select"; path: string | null }
66
+ | {
67
+ type: "load";
68
+ path: string;
69
+ content: string;
70
+ itemId: string;
71
+ versionId: string;
72
+ }
73
+ | { type: "edit"; content: string }
74
+ | {
75
+ type: "save-success";
76
+ itemId: string;
77
+ versionId: string;
78
+ content?: string;
79
+ }
80
+ | { type: "save-conflict"; message: string };
81
+
82
+ export function workspaceEditorReducer(
83
+ state: WorkspaceEditorState,
84
+ action: WorkspaceEditorAction,
85
+ ): WorkspaceEditorState {
86
+ switch (action.type) {
87
+ case "select":
88
+ return {
89
+ ...initialWorkspaceEditorState,
90
+ selectedPath: action.path,
91
+ };
92
+ case "load":
93
+ if (state.selectedPath !== action.path) return state;
94
+ return {
95
+ selectedPath: action.path,
96
+ content: action.content,
97
+ loadedItemId: action.itemId,
98
+ loadedVersionId: action.versionId,
99
+ dirty: false,
100
+ conflict: null,
101
+ };
102
+ case "edit":
103
+ return { ...state, content: action.content, dirty: true, conflict: null };
104
+ case "save-success":
105
+ return {
106
+ ...state,
107
+ content: action.content ?? state.content,
108
+ loadedItemId: action.itemId,
109
+ loadedVersionId: action.versionId,
110
+ dirty: false,
111
+ conflict: null,
112
+ };
113
+ case "save-conflict":
114
+ return { ...state, dirty: true, conflict: action.message };
115
+ }
116
+ }
117
+
118
+ export function isFileMemoryReadOnly(
119
+ pages: Array<Pick<ListItemsResponse, "readOnly">> | undefined,
120
+ ): boolean {
121
+ return pages?.some((page) => page.readOnly === true) ?? false;
122
+ }
25
123
 
26
- /**
27
- * 记忆文件浏览器:左侧文件树 + 右侧文件内容 + 顶部「立即同步」。
28
- *
29
- * 展示 openclaw 文件记忆 local 模式在本机镜像出的目录结构。同步走 BFF(server
30
- * 侧持 STS);树/内容为只读。dialog(对话抽屉)与 units tab 复用同一个组件,
31
- * `className` 由外层控制高度/边框。
32
- */
33
- export function MemoryFilesBrowser(props: {
124
+ export function shouldApplyFileSelection(
125
+ editor: WorkspaceEditorState,
126
+ nextPath: string | null,
127
+ confirmDiscard: () => boolean,
128
+ ): boolean {
129
+ return !editor.dirty || nextPath === editor.selectedPath || confirmDiscard();
130
+ }
131
+
132
+ export function isFileMemoryVersionConflict(error: unknown): boolean {
133
+ if (error instanceof ApiClientError && error.code === "LOCK_CONFLICT") {
134
+ return true;
135
+ }
136
+ return error instanceof Error && error.message.includes("LOCK_CONFLICT");
137
+ }
138
+
139
+ export function buildFileUpdateRequest(
140
+ current: Pick<FileMemoryItem, "itemId" | "latestVersionId">,
141
+ content: string,
142
+ ) {
143
+ return {
144
+ itemId: current.itemId,
145
+ content,
146
+ precondition: { expectedVersionId: current.latestVersionId },
147
+ view: "full" as const,
148
+ };
149
+ }
150
+
151
+ export function MemoryFilesBrowser({
152
+ memoryStoreName,
153
+ scope,
154
+ enabled = true,
155
+ initialPath,
156
+ className,
157
+ }: {
34
158
  memoryStoreName: string;
35
- scope: ChatMemoryWriteScope;
36
- /** 是否允许拉取(如 scope 未就绪时传 false)。默认 true。 */
159
+ scope: FileMemoryScope;
37
160
  enabled?: boolean;
161
+ initialPath?: string | null;
38
162
  className?: string;
39
163
  }) {
40
- const { memoryStoreName, scope, enabled = true, className } = props;
41
164
  const { t } = useI18n();
42
- const [selected, setSelected] = useState<string | null>(null);
165
+ const [editor, dispatch] = useReducer(
166
+ workspaceEditorReducer,
167
+ initialWorkspaceEditorState,
168
+ );
169
+ const editorRef = useRef(editor);
170
+ editorRef.current = editor;
171
+ const tRef = useRef(t);
172
+ tRef.current = t;
43
173
  const [collapsed, setCollapsed] = useState<ReadonlySet<string>>(new Set());
174
+ const [filter, setFilter] = useState("");
175
+ const [dialog, setDialog] = useState<FileMutationDialog>(null);
176
+
177
+ useEffect(() => {
178
+ if (initialPath) {
179
+ const path = normalizeFileMemoryPath(initialPath);
180
+ if (
181
+ shouldApplyFileSelection(editorRef.current, path, () =>
182
+ window.confirm(tRef.current("memory.files.discardChanges")),
183
+ )
184
+ ) {
185
+ dispatch({ type: "select", path });
186
+ }
187
+ }
188
+ }, [initialPath]);
44
189
 
45
- const tree = useFileMemoryTree(memoryStoreName, scope, enabled);
46
- const file = useFileMemoryFile(memoryStoreName, scope, selected);
47
- const sync = useSyncFileMemory();
190
+ const listQuery = useItems(memoryStoreName, scope, {
191
+ depth: 0,
192
+ view: "basic",
193
+ limit: 100,
194
+ enabled,
195
+ });
196
+ const fileQuery = useItem(
197
+ memoryStoreName,
198
+ scope,
199
+ editor.selectedPath ? { path: editor.selectedPath } : null,
200
+ );
201
+ const addMutation = useAddItem();
202
+ const updateMutation = useUpdateItem();
203
+ const deleteMutation = useDeleteItem();
48
204
 
49
- const files = useMemo(() => tree.data?.files ?? [], [tree.data?.files]);
205
+ const pages = listQuery.data?.pages;
206
+ const memories = useMemo(() => {
207
+ const byPath = new Map<string, FileMemoryItem>();
208
+ for (const page of pages ?? []) {
209
+ for (const file of page.items) {
210
+ if (file.type !== "memoryfile") continue;
211
+ byPath.set(normalizeFileMemoryPath(file.path), {
212
+ ...file,
213
+ path: normalizeFileMemoryPath(file.path),
214
+ });
215
+ }
216
+ }
217
+ return Array.from(byPath.values()).sort((a, b) =>
218
+ a.path.localeCompare(b.path),
219
+ );
220
+ }, [pages]);
221
+ const visibleMemories = useMemo(() => {
222
+ const query = filter.trim().toLocaleLowerCase();
223
+ return query
224
+ ? memories.filter((file) => file.path.toLocaleLowerCase().includes(query))
225
+ : memories;
226
+ }, [filter, memories]);
227
+ const filesByPath = useMemo(
228
+ () => new Map(memories.map((file) => [file.path, file])),
229
+ [memories],
230
+ );
50
231
  const rows = useMemo(
51
- () => flattenVisible(buildFileTree(files), collapsed),
52
- [files, collapsed],
232
+ () =>
233
+ flattenVisible(
234
+ buildFileTree(
235
+ visibleMemories.map((file) => ({
236
+ rel: file.path.replace(/^\/+/, ""),
237
+ size: file.contentSizeBytes,
238
+ })),
239
+ ),
240
+ collapsed,
241
+ ),
242
+ [visibleMemories, collapsed],
53
243
  );
244
+ const readOnly = isFileMemoryReadOnly(pages);
245
+ const selectedFile = editor.selectedPath
246
+ ? (filesByPath.get(editor.selectedPath) ?? fileQuery.data)
247
+ : undefined;
54
248
 
55
- function toggleDir(rel: string) {
56
- setCollapsed((prev) => {
57
- const next = new Set(prev);
58
- if (next.has(rel)) next.delete(rel);
59
- else next.add(rel);
249
+ useEffect(() => {
250
+ const file = fileQuery.data;
251
+ if (
252
+ !file ||
253
+ editor.dirty ||
254
+ !editor.selectedPath ||
255
+ editor.loadedItemId !== null
256
+ ) {
257
+ return;
258
+ }
259
+ dispatch({
260
+ type: "load",
261
+ path: normalizeFileMemoryPath(file.path),
262
+ content: file.content ?? "",
263
+ itemId: file.itemId,
264
+ versionId: file.latestVersionId,
265
+ });
266
+ }, [
267
+ editor.dirty,
268
+ editor.loadedItemId,
269
+ editor.selectedPath,
270
+ fileQuery.data,
271
+ fileQuery.data?.content,
272
+ fileQuery.data?.contentSha256,
273
+ fileQuery.data?.itemId,
274
+ fileQuery.data?.latestVersionId,
275
+ fileQuery.data?.path,
276
+ ]);
277
+
278
+ function selectFile(path: string | null) {
279
+ if (
280
+ !shouldApplyFileSelection(editor, path, () =>
281
+ window.confirm(t("memory.files.discardChanges")),
282
+ )
283
+ ) {
284
+ return;
285
+ }
286
+ dispatch({ type: "select", path });
287
+ }
288
+
289
+ function toggleDirectory(path: string) {
290
+ setCollapsed((previous) => {
291
+ const next = new Set(previous);
292
+ if (next.has(path)) next.delete(path);
293
+ else next.add(path);
60
294
  return next;
61
295
  });
62
296
  }
63
297
 
64
- function renderFileContent() {
65
- if (!selected) {
66
- return (
67
- <p className="text-xs text-muted-foreground">
68
- {t("memory.files.selectFile")}
69
- </p>
70
- );
71
- }
72
- if (file.isLoading) {
73
- return (
74
- <p className="text-xs text-muted-foreground">{t("common.loading")}</p>
75
- );
298
+ async function save() {
299
+ const validationError = validateFileMemoryContent(editor.content);
300
+ if (validationError) {
301
+ toast.error(t("memory.files.contentTooLarge"));
302
+ return;
76
303
  }
77
- if (file.isError) {
78
- return (
79
- <p className="text-xs text-[hsl(var(--destructive))]">
80
- {t("memory.files.readFailed", {
81
- error: (file.error as Error)?.message ?? t("common.unknownError"),
82
- })}
83
- </p>
84
- );
304
+ try {
305
+ if (!editor.loadedItemId || !editor.loadedVersionId) {
306
+ throw new Error("FILE_VERSION_NOT_LOADED");
307
+ }
308
+ const updated = await updateMutation.mutateAsync({
309
+ memoryStoreName,
310
+ scope,
311
+ ...buildFileUpdateRequest(
312
+ {
313
+ itemId: editor.loadedItemId,
314
+ latestVersionId: editor.loadedVersionId,
315
+ },
316
+ editor.content,
317
+ ),
318
+ });
319
+ dispatch({
320
+ type: "save-success",
321
+ itemId: updated.itemId,
322
+ versionId: updated.latestVersionId,
323
+ content: editor.content,
324
+ });
325
+ toast.success(t("memory.files.saveSuccess"));
326
+ } catch (error) {
327
+ const message = error instanceof Error ? error.message : String(error);
328
+ if (isFileMemoryVersionConflict(error)) {
329
+ dispatch({ type: "save-conflict", message });
330
+ return;
331
+ }
332
+ toast.error(message || t("memory.files.saveFailed"));
85
333
  }
86
- return (
87
- <pre className="whitespace-pre-wrap break-words font-mono text-xs text-foreground/90">
88
- {file.data?.content}
89
- </pre>
90
- );
91
334
  }
92
335
 
93
- async function handleSync() {
94
- try {
95
- const res = await sync.mutateAsync({ memoryStoreName, scope });
96
- await tree.refetch();
97
- if (res.sync.ok) {
98
- toast.success(
99
- t("memory.files.syncSuccess", {
100
- downloaded: res.sync.downloaded ?? 0,
101
- deleted: res.sync.deleted ?? 0,
102
- total: res.sync.total ?? res.files.length,
103
- }),
104
- );
105
- } else {
106
- toast.error(
107
- t("memory.files.syncFallback", {
108
- error: res.sync.error ?? t("common.unknownError"),
109
- }),
110
- );
111
- }
112
- } catch (err) {
113
- toast.error(
114
- err instanceof Error ? err.message : t("memory.files.syncFailed"),
115
- );
336
+ async function create(path: string, content: string) {
337
+ const created = await addMutation.mutateAsync({
338
+ memoryStoreName,
339
+ scope,
340
+ path,
341
+ content,
342
+ view: "full",
343
+ });
344
+ dispatch({ type: "select", path: normalizeFileMemoryPath(created.path) });
345
+ toast.success(t("memory.files.createSuccess"));
346
+ }
347
+
348
+ async function rename(toPath: string) {
349
+ if (
350
+ !editor.selectedPath ||
351
+ !editor.loadedItemId ||
352
+ !editor.loadedVersionId
353
+ ) {
354
+ return;
116
355
  }
356
+ const renamed = await updateMutation.mutateAsync({
357
+ memoryStoreName,
358
+ scope,
359
+ itemId: editor.loadedItemId,
360
+ path: toPath,
361
+ precondition: { expectedVersionId: editor.loadedVersionId },
362
+ view: "full",
363
+ });
364
+ dispatch({ type: "select", path: normalizeFileMemoryPath(renamed.path) });
365
+ toast.success(t("memory.files.renameSuccess"));
366
+ }
367
+
368
+ async function remove() {
369
+ if (!editor.loadedItemId || !editor.loadedVersionId) return;
370
+ await deleteMutation.mutateAsync({
371
+ memoryStoreName,
372
+ scope,
373
+ itemId: editor.loadedItemId,
374
+ precondition: { expectedVersionId: editor.loadedVersionId },
375
+ });
376
+ dispatch({ type: "select", path: null });
377
+ toast.success(t("memory.files.deleteSuccess"));
117
378
  }
118
379
 
380
+ async function refresh() {
381
+ await listQuery.refetch();
382
+ if (editor.selectedPath) await fileQuery.refetch();
383
+ }
384
+
385
+ const mutationPending =
386
+ addMutation.isPending ||
387
+ updateMutation.isPending ||
388
+ deleteMutation.isPending;
389
+
119
390
  return (
120
- <div className={cn("flex flex-col gap-3", className)}>
121
- <div className="flex items-center justify-between gap-2">
122
- <div className="min-w-0">
123
- <span className="text-xs text-muted-foreground">
124
- {t("memory.files.fileCount", { count: files.length })}
125
- </span>
126
- {tree.data?.scopeDir ? (
127
- <p
128
- className="truncate font-mono text-[10px] text-muted-foreground"
129
- title={tree.data.scopeDir}
130
- >
131
- {tree.data.scopeDir}
132
- </p>
133
- ) : null}
391
+ <div
392
+ className={cn(
393
+ "flex min-h-[440px] flex-col overflow-hidden rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))]",
394
+ className,
395
+ )}
396
+ >
397
+ <FileWorkspaceToolbar
398
+ readOnly={readOnly}
399
+ loading={listQuery.isLoading || listQuery.isRefetching}
400
+ hasSelection={!!editor.selectedPath}
401
+ dirty={editor.dirty}
402
+ saving={updateMutation.isPending}
403
+ onCreate={() => setDialog("create")}
404
+ onRename={() => setDialog("rename")}
405
+ onDelete={() => setDialog("delete")}
406
+ onRefresh={() => void refresh()}
407
+ onSave={() => void save()}
408
+ />
409
+
410
+ {readOnly ? (
411
+ <div className="border-b border-blue-500/20 bg-blue-500/10 px-3 py-2 text-xs text-blue-800 dark:text-blue-200">
412
+ {t("memory.files.readOnlyGuidance")}
134
413
  </div>
135
- <Button
136
- type="button"
137
- size="sm"
138
- variant="outline"
139
- disabled={sync.isPending}
140
- onClick={handleSync}
141
- >
142
- <RefreshCw
143
- className={cn("h-3.5 w-3.5", sync.isPending && "animate-spin")}
144
- />
145
- {t("memory.files.syncNow")}
146
- </Button>
147
- </div>
414
+ ) : null}
148
415
 
149
- <div className="grid min-h-0 flex-1 grid-cols-[220px_1fr] gap-3">
150
- {/* 文件树(目录可折叠,按层级缩进) */}
151
- <div className="min-h-0 overflow-auto rounded-md border border-[hsl(var(--border))] p-1.5">
152
- {tree.isLoading ? (
153
- <p className="p-2 text-xs text-muted-foreground">
154
- {t("common.loading")}
416
+ <div className="grid min-h-0 flex-1 grid-cols-1 lg:grid-cols-[250px_minmax(320px,1fr)_290px]">
417
+ <aside className="flex min-h-0 flex-col border-b border-[hsl(var(--border))] lg:border-r lg:border-b-0">
418
+ <div className="border-b border-[hsl(var(--border))] p-2">
419
+ <div className="relative">
420
+ <Search className="absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground" />
421
+ <Input
422
+ value={filter}
423
+ onChange={(event) => setFilter(event.target.value)}
424
+ placeholder={t("memory.files.searchPlaceholder")}
425
+ className="h-7 pl-8 text-xs"
426
+ />
427
+ </div>
428
+ <p className="mt-1.5 px-1 text-[10px] text-muted-foreground">
429
+ {t("memory.files.fileCount", { count: memories.length })}
155
430
  </p>
156
- ) : rows.length === 0 ? (
157
- <p className="p-2 text-xs text-muted-foreground">
158
- {t("memory.files.emptyHint")}
159
- </p>
160
- ) : (
161
- rows.map(({ node, depth }) => {
162
- const indent = { paddingLeft: `${depth * 12 + 4}px` };
163
- if (node.type === "dir") {
164
- const open = !collapsed.has(node.rel);
431
+ </div>
432
+ <div className="min-h-[160px] flex-1 overflow-auto p-1.5">
433
+ {listQuery.isLoading ? (
434
+ <p className="p-2 text-xs text-muted-foreground">
435
+ {t("common.loading")}
436
+ </p>
437
+ ) : listQuery.isError ? (
438
+ <p className="p-2 text-xs text-[hsl(var(--destructive))]">
439
+ {(listQuery.error as Error).message}
440
+ </p>
441
+ ) : rows.length === 0 ? (
442
+ <p className="p-3 text-center text-xs text-muted-foreground">
443
+ {t("memory.files.emptyHint")}
444
+ </p>
445
+ ) : (
446
+ rows.map(({ node, depth }) => {
447
+ const indent = { paddingLeft: `${depth * 12 + 6}px` };
448
+ if (node.type === "dir") {
449
+ const open = !collapsed.has(node.rel);
450
+ return (
451
+ <button
452
+ key={`dir:${node.rel}`}
453
+ type="button"
454
+ onClick={() => toggleDirectory(node.rel)}
455
+ style={indent}
456
+ className="flex w-full items-center gap-1 rounded px-1.5 py-1.5 text-left text-xs hover:bg-[hsl(var(--accent))]"
457
+ >
458
+ {open ? (
459
+ <ChevronDown className="h-3 w-3" />
460
+ ) : (
461
+ <ChevronRight className="h-3 w-3" />
462
+ )}
463
+ {open ? (
464
+ <FolderOpen className="h-3.5 w-3.5 text-[hsl(var(--primary))]" />
465
+ ) : (
466
+ <Folder className="h-3.5 w-3.5 text-[hsl(var(--primary))]" />
467
+ )}
468
+ <span className="truncate font-mono">{node.name}</span>
469
+ </button>
470
+ );
471
+ }
472
+ const path = normalizeFileMemoryPath(node.rel);
165
473
  return (
166
474
  <button
167
- key={`dir:${node.rel}`}
475
+ key={`file:${path}`}
168
476
  type="button"
169
- onClick={() => toggleDir(node.rel)}
477
+ onClick={() => selectFile(path)}
170
478
  style={indent}
171
- className="flex w-full items-center gap-1 rounded px-2 py-1.5 text-left text-xs text-foreground/80 transition-colors hover:bg-[hsl(var(--accent))]"
172
- title={node.rel}
173
- >
174
- {open ? (
175
- <ChevronDown className="h-3 w-3 shrink-0 text-muted-foreground" />
176
- ) : (
177
- <ChevronRight className="h-3 w-3 shrink-0 text-muted-foreground" />
479
+ className={cn(
480
+ "flex w-full items-center gap-1.5 rounded px-1.5 py-1.5 text-left text-xs hover:bg-[hsl(var(--accent))]",
481
+ editor.selectedPath === path &&
482
+ "bg-[hsl(var(--primary-soft))] text-[hsl(var(--primary))]",
178
483
  )}
179
- {open ? (
180
- <FolderOpen className="h-3.5 w-3.5 shrink-0 text-[hsl(var(--primary))]" />
181
- ) : (
182
- <Folder className="h-3.5 w-3.5 shrink-0 text-[hsl(var(--primary))]" />
183
- )}
184
- <span className="min-w-0 truncate font-mono">
185
- {node.name}
186
- </span>
484
+ title={path}
485
+ >
486
+ <span className="h-3 w-3 shrink-0" />
487
+ <FileText className="h-3.5 w-3.5 shrink-0" />
488
+ <span className="truncate font-mono">{node.name}</span>
187
489
  </button>
188
490
  );
189
- }
190
- return (
191
- <button
192
- key={`file:${node.rel}`}
193
- type="button"
194
- onClick={() => setSelected(node.rel)}
195
- style={indent}
196
- className={cn(
197
- "flex w-full items-center gap-1.5 rounded px-2 py-1.5 text-left text-xs transition-colors hover:bg-[hsl(var(--accent))]",
198
- selected === node.rel &&
199
- "bg-[hsl(var(--accent))] text-foreground",
200
- )}
201
- title={node.rel}
202
- >
203
- {/* 与目录的 chevron 对齐:文件行留出等宽占位 */}
204
- <span className="h-3 w-3 shrink-0" />
205
- <FileText className="h-3.5 w-3.5 shrink-0 text-muted-foreground" />
206
- <span className="min-w-0 truncate font-mono">
207
- {node.name}
208
- </span>
209
- </button>
210
- );
211
- })
212
- )}
213
- </div>
491
+ })
492
+ )}
493
+ {listQuery.hasNextPage ? (
494
+ <Button
495
+ type="button"
496
+ size="sm"
497
+ variant="ghost"
498
+ className="mt-2 w-full"
499
+ disabled={listQuery.isFetchingNextPage}
500
+ onClick={() => void listQuery.fetchNextPage()}
501
+ >
502
+ {t("memory.files.loadMore")}
503
+ </Button>
504
+ ) : null}
505
+ </div>
506
+ </aside>
214
507
 
215
- {/* 文件内容 */}
216
- <div className="min-h-0 overflow-auto rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.3)] p-3">
217
- {renderFileContent()}
218
- </div>
508
+ <main className="min-h-[280px] border-b border-[hsl(var(--border))] lg:border-r lg:border-b-0">
509
+ <FileEditor
510
+ path={editor.selectedPath}
511
+ content={editor.content}
512
+ dirty={editor.dirty}
513
+ readOnly={readOnly}
514
+ loading={fileQuery.isLoading}
515
+ error={
516
+ fileQuery.error instanceof Error
517
+ ? fileQuery.error.message
518
+ : undefined
519
+ }
520
+ conflict={editor.conflict}
521
+ onChange={(content) => dispatch({ type: "edit", content })}
522
+ />
523
+ </main>
524
+
525
+ <aside className="min-h-[220px]">
526
+ <FileDetailsPanel
527
+ memoryStoreName={memoryStoreName}
528
+ scope={scope}
529
+ file={selectedFile}
530
+ readOnly={readOnly}
531
+ onRestored={(file, content) =>
532
+ dispatch({
533
+ type: "load",
534
+ path: normalizeFileMemoryPath(file.path),
535
+ content,
536
+ itemId: file.itemId,
537
+ versionId: file.latestVersionId,
538
+ })
539
+ }
540
+ />
541
+ </aside>
219
542
  </div>
543
+
544
+ <FileMutationDialogs
545
+ mode={dialog}
546
+ selectedPath={editor.selectedPath}
547
+ pending={mutationPending}
548
+ onClose={() => setDialog(null)}
549
+ onCreate={create}
550
+ onRename={rename}
551
+ onDelete={remove}
552
+ />
220
553
  </div>
221
554
  );
222
555
  }
223
556
 
224
- /** 文件树顶部图标,供外层标题复用。 */
225
557
  export const MemoryFilesIcon = FolderTree;