@tablestore/tablestore-agent-cli 0.4.0 → 0.4.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 (371) hide show
  1. package/dist/dashboard-runtime/dashboard/.next/BUILD_ID +1 -1
  2. package/dist/dashboard-runtime/dashboard/.next/build-manifest.json +3 -3
  3. package/dist/dashboard-runtime/dashboard/.next/prerender-manifest.json +3 -3
  4. package/dist/dashboard-runtime/dashboard/.next/required-server-files.json +4 -4
  5. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/api-keys/page.js.nft.json +1 -1
  6. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/api-keys/page_client-reference-manifest.js +1 -1
  7. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  8. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  9. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page.js.nft.json +1 -1
  10. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page_client-reference-manifest.js +1 -1
  11. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page.js.nft.json +1 -1
  12. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page_client-reference-manifest.js +1 -1
  13. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page.js.nft.json +1 -1
  14. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page_client-reference-manifest.js +1 -1
  15. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page.js.nft.json +1 -1
  16. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page_client-reference-manifest.js +1 -1
  17. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page.js.nft.json +1 -1
  18. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page_client-reference-manifest.js +1 -1
  19. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page.js.nft.json +1 -1
  20. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page_client-reference-manifest.js +1 -1
  21. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page.js.nft.json +1 -1
  22. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page_client-reference-manifest.js +1 -1
  23. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page.js.nft.json +1 -1
  24. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page_client-reference-manifest.js +1 -1
  25. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page.js.nft.json +1 -1
  26. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page_client-reference-manifest.js +1 -1
  27. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page.js.nft.json +1 -1
  28. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page_client-reference-manifest.js +1 -1
  29. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/dream/[dreamId]/page.js.nft.json +1 -1
  30. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/dream/[dreamId]/page_client-reference-manifest.js +1 -1
  31. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/dream/page.js.nft.json +1 -1
  32. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/dream/page_client-reference-manifest.js +1 -1
  33. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page.js.nft.json +1 -1
  34. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page_client-reference-manifest.js +1 -1
  35. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page.js.nft.json +1 -1
  36. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page_client-reference-manifest.js +1 -1
  37. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page.js.nft.json +1 -1
  38. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page_client-reference-manifest.js +1 -1
  39. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/scope/page.js.nft.json +1 -1
  40. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/scope/page_client-reference-manifest.js +1 -1
  41. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page.js.nft.json +1 -1
  42. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page_client-reference-manifest.js +1 -1
  43. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page.js.nft.json +1 -1
  44. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page_client-reference-manifest.js +1 -1
  45. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/tasks/page.js.nft.json +1 -1
  46. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/tasks/page_client-reference-manifest.js +1 -1
  47. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page.js.nft.json +1 -1
  48. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page_client-reference-manifest.js +1 -1
  49. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/wiki/page.js.nft.json +1 -1
  50. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/wiki/page_client-reference-manifest.js +1 -1
  51. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page.js.nft.json +1 -1
  52. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page_client-reference-manifest.js +1 -1
  53. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page.js.nft.json +1 -1
  54. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page_client-reference-manifest.js +1 -1
  55. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  56. package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  57. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.html +1 -1
  58. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.rsc +1 -1
  59. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  60. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  61. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  62. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  63. package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  64. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page.js.nft.json +1 -1
  65. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  66. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.html +1 -1
  67. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.rsc +16 -16
  68. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +16 -16
  69. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
  70. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
  71. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
  72. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  73. package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  74. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/custom-policy/route.js.nft.json +1 -1
  75. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/effective-permissions/route.js.nft.json +1 -1
  76. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/policies/route.js.nft.json +1 -1
  77. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/route.js.nft.json +1 -1
  78. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/filter-by-permission/route.js.nft.json +1 -1
  79. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/route.js.nft.json +1 -1
  80. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/status/route.js.nft.json +1 -1
  81. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js.nft.json +1 -1
  82. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js.nft.json +1 -1
  83. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js.nft.json +1 -1
  84. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js.nft.json +1 -1
  85. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/connectivity/route.js.nft.json +1 -1
  86. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js.nft.json +1 -1
  87. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js.nft.json +1 -1
  88. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js.nft.json +1 -1
  89. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js.nft.json +1 -1
  90. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js.nft.json +1 -1
  91. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js.nft.json +1 -1
  92. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js.nft.json +1 -1
  93. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js.nft.json +1 -1
  94. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js.nft.json +1 -1
  95. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js +3 -3
  96. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js.nft.json +1 -1
  97. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js.nft.json +1 -1
  98. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js.nft.json +1 -1
  99. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js.nft.json +1 -1
  100. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js.nft.json +1 -1
  101. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js.nft.json +1 -1
  102. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-kb-sync/route.js.nft.json +1 -1
  103. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/actions/apply/route.js.nft.json +1 -1
  104. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/actions/route.js.nft.json +1 -1
  105. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/cancel/route.js.nft.json +1 -1
  106. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/route.js.nft.json +1 -1
  107. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/route.js.nft.json +1 -1
  108. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/file-memory/[action]/route.js.nft.json +1 -1
  109. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js.nft.json +1 -1
  110. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js.nft.json +1 -1
  111. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js +1 -1
  112. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js.nft.json +1 -1
  113. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/scopes/route.js +1 -1
  114. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/scopes/route.js.nft.json +1 -1
  115. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js +1 -1
  116. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js.nft.json +1 -1
  117. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/tasks/[requestId]/route.js.nft.json +1 -1
  118. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/tasks/route.js.nft.json +1 -1
  119. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/[memoryId]/route.js.nft.json +1 -1
  120. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js.nft.json +1 -1
  121. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/artifacts/route.js.nft.json +1 -1
  122. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/ingest/route.js.nft.json +1 -1
  123. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/page/route.js.nft.json +1 -1
  124. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/pages/route.js.nft.json +1 -1
  125. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/route.js.nft.json +1 -1
  126. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/search/route.js.nft.json +1 -1
  127. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/source/route.js.nft.json +1 -1
  128. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/wikis/sources/route.js.nft.json +1 -1
  129. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js +1 -1
  130. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js.nft.json +1 -1
  131. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js.nft.json +1 -1
  132. package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js.nft.json +1 -1
  133. package/dist/dashboard-runtime/dashboard/.next/server/app/index.html +1 -1
  134. package/dist/dashboard-runtime/dashboard/.next/server/app/index.rsc +15 -15
  135. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  136. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_full.segment.rsc +15 -15
  137. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_head.segment.rsc +3 -3
  138. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_index.segment.rsc +11 -11
  139. package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  140. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page.js.nft.json +1 -1
  141. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  142. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.html +1 -1
  143. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.rsc +18 -18
  144. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_full.segment.rsc +18 -18
  145. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_head.segment.rsc +3 -3
  146. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_index.segment.rsc +11 -11
  147. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
  148. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
  149. package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding.segment.rsc +4 -4
  150. package/dist/dashboard-runtime/dashboard/.next/server/app/page.js.nft.json +1 -1
  151. package/dist/dashboard-runtime/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  152. package/dist/dashboard-runtime/dashboard/.next/server/chunks/0p91_next_dist_esm_build_templates_app-route_0n~ec7s.js +11 -11
  153. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0-e5iv2._.js +3 -0
  154. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__03j_ekh._.js +3 -0
  155. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__07k_8vo._.js +3 -0
  156. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0esucs7._.js +3 -0
  157. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0z19yd0._.js +3 -0
  158. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__07er-7t._.js +3 -0
  159. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__09556l4._.js +3 -0
  160. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0ejd~qu._.js +3 -0
  161. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0hbevlv._.js +3 -0
  162. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0xqm21n._.js +3 -0
  163. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0-yhfok._.js +3 -0
  164. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0.eh64w._.js +3 -0
  165. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_06umrt-._.js +3 -0
  166. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0a-deba._.js +3 -0
  167. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0au8umj._.js +3 -0
  168. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f3_q1r._.js +3 -0
  169. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0fz3kge._.js +1 -1
  170. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0gt9qp0._.js +3 -0
  171. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ih5--w._.js +3 -0
  172. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0j4mfzx._.js +3 -0
  173. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_06ofr7j._.js → _0j_44th._.js} +2 -2
  174. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_06.3nzk._.js → _0mn4dgd._.js} +2 -2
  175. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_0d_nd-j._.js → _0nc~.w2._.js} +2 -2
  176. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0p-bup8._.js +3 -0
  177. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0psdvqq._.js +3 -0
  178. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0rd1b-.._.js +3 -0
  179. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0t_-u16._.js +3 -0
  180. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0u0~-~-._.js +3 -0
  181. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0vw3mzw._.js +3 -0
  182. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0ww5s91._.js +1 -1
  183. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0xm2tp8._.js +3 -0
  184. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0xutx8t._.js +3 -0
  185. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0ggq95f._.js +3 -0
  186. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0x60pxf._.js +1 -1
  187. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0xaihln._.js +1 -1
  188. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_api-keys_page_tsx_0lb6fu7._.js +1 -1
  189. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_dream_[dreamId]_page_tsx_0wy3tv6._.js +1 -1
  190. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_dream_page_tsx_0uzzpvs._.js +1 -1
  191. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_layout_tsx_0rbi41w._.js +1 -1
  192. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_scope_page_tsx_01rq2zq._.js +3 -0
  193. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_search_page_tsx_0rj3dkc._.js +3 -0
  194. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_tasks_page_tsx_0a_bgx4._.js +1 -1
  195. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_units_page_tsx_0.6xnei._.js +1 -1
  196. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_components_memory_memory-files-browser_tsx_0o2~94-._.js +1 -1
  197. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_i18n_i18n-context_tsx_0c39ewr._.js +1 -1
  198. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_03py6n-._.js +3 -0
  199. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_08hzj0f._.js +3 -0
  200. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0_mks~s._.js +3 -0
  201. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0xbb09m._.js +3 -0
  202. package/dist/dashboard-runtime/dashboard/.next/server/middleware-build-manifest.js +3 -3
  203. package/dist/dashboard-runtime/dashboard/.next/server/pages/404.html +1 -1
  204. package/dist/dashboard-runtime/dashboard/.next/server/pages/500.html +1 -1
  205. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.js +1 -1
  206. package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.json +1 -1
  207. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-b36b4si6az5.js +1 -0
  208. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-q4fucd6l5ip.js +1 -0
  209. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{14t.r5~ls3k0x.js → 03qrjs4w.7yz3.js} +1 -1
  210. package/dist/dashboard-runtime/dashboard/.next/static/chunks/04uxooijjqs-9.js +1 -0
  211. package/dist/dashboard-runtime/dashboard/.next/static/chunks/08tm8srceyz1j.js +1 -0
  212. package/dist/dashboard-runtime/dashboard/.next/static/chunks/08tpejw1f.2jd.js +1 -0
  213. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0b_~fcwy9vo2r.js +1 -0
  214. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0crw5ciecbvir.js +1 -0
  215. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0cy7y~ef_6m-s.js +1 -0
  216. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0dl5t6e508o8k.js +1 -0
  217. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0expqv.~8a3wr.js +1 -0
  218. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0gdmaffoezvcu.js +1 -0
  219. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0hoybc7spk4vg.js +1 -0
  220. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0k6m5~gmu0f8w.js → 0k9my4lhyvwbd.js} +1 -1
  221. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0lfx3ykqc9uiy.js +1 -0
  222. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0m2j5ne9j7dft.js +1 -0
  223. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0m50djlkcegw9.js +1 -0
  224. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0mg.g5g33nh.~.js +1 -0
  225. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0mit8g2.vh7a9.js +1 -0
  226. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0o9quk2z~1ez0.js +1 -0
  227. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0o~zjik9-6a1f.js +1 -0
  228. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0p6zd_ss6.14_.js +1 -0
  229. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0qccdw9ussvne.js +1 -0
  230. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{1204oli3aouy7.js → 0teq2sa-33s3g.js} +1 -1
  231. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0upl.e~taktf9.js +1 -0
  232. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v1ulq51wmrto.js +5 -0
  233. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0v5mmaebktnw1.css +1 -0
  234. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0vp-dv9_z334e.js +1 -0
  235. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0w9eqc5ya-oai.js +1 -0
  236. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0x0ppjv_4yap7.js +1 -0
  237. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0xbqtv-jcph-2.js +1 -0
  238. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0~m6ml547qzpo.js +1 -0
  239. package/dist/dashboard-runtime/dashboard/.next/static/chunks/10s~90qej98.b.js +1 -0
  240. package/dist/dashboard-runtime/dashboard/.next/static/chunks/12vri~chu44bu.js +9 -0
  241. package/dist/dashboard-runtime/dashboard/.next/static/chunks/13jqvu~hww3b4.js +1 -0
  242. package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0idn9fvygbi9d.js → 13wh4v_j6tlns.js} +1 -1
  243. package/dist/dashboard-runtime/dashboard/.next/static/chunks/16.18mrzg-4wl.js +1 -0
  244. package/dist/dashboard-runtime/dashboard/.next/static/chunks/162doi8c0o5ot.js +1 -0
  245. package/dist/dashboard-runtime/dashboard/server.js +1 -1
  246. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/dream/[dreamId]/page.tsx +6 -1
  247. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/dream/page.tsx +3 -2
  248. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/layout.tsx +5 -2
  249. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/scope/page.tsx +24 -16
  250. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/search/page.tsx +77 -21
  251. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/settings/page.tsx +18 -2
  252. package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/units/page.tsx +89 -47
  253. package/dist/dashboard-runtime/dashboard/src/app/api/v1/llm/chat/memory-retrieval.ts +72 -4
  254. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/route.ts +19 -2
  255. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/scopes/route.ts +123 -8
  256. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/[store]/search/route.ts +21 -8
  257. package/dist/dashboard-runtime/dashboard/src/app/api/v1/memory/stores/route.ts +11 -4
  258. package/dist/dashboard-runtime/dashboard/src/components/chat/chat-config-context.tsx +2 -5
  259. package/dist/dashboard-runtime/dashboard/src/components/chat/wiki-bind-section.tsx +2 -4
  260. package/dist/dashboard-runtime/dashboard/src/components/layout/language-toggle.tsx +19 -16
  261. package/dist/dashboard-runtime/dashboard/src/components/layout/sidebar-mobile.tsx +1 -1
  262. package/dist/dashboard-runtime/dashboard/src/components/memory/file-details-panel.tsx +32 -10
  263. package/dist/dashboard-runtime/dashboard/src/components/memory/file-mutation-dialogs.tsx +14 -2
  264. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-add-dialog.tsx +21 -3
  265. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-create-form.tsx +50 -38
  266. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-files-browser.tsx +46 -10
  267. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-requests-table.tsx +7 -6
  268. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-scope-bar.tsx +13 -4
  269. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-form.tsx +384 -70
  270. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-results.tsx +238 -57
  271. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-settings-form.tsx +88 -1
  272. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-store-card.tsx +4 -1
  273. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-tasks-table.tsx +3 -2
  274. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-unit-detail-panel.tsx +19 -4
  275. package/dist/dashboard-runtime/dashboard/src/components/memory/memory-unit-table.tsx +8 -5
  276. package/dist/dashboard-runtime/dashboard/src/components/memory/scope-directory-explorer.tsx +384 -0
  277. package/dist/dashboard-runtime/dashboard/src/components/memory/scope-filter-builder.tsx +393 -0
  278. package/dist/dashboard-runtime/dashboard/src/components/memory/scope-workspace.tsx +6 -2
  279. package/dist/dashboard-runtime/dashboard/src/components/shared/copyable-id.tsx +69 -0
  280. package/dist/dashboard-runtime/dashboard/src/hooks/use-chat-history.ts +2 -3
  281. package/dist/dashboard-runtime/dashboard/src/i18n/locales/en.ts +121 -14
  282. package/dist/dashboard-runtime/dashboard/src/i18n/locales/zh.ts +116 -12
  283. package/dist/dashboard-runtime/dashboard/src/lib/memory-storage-mode.ts +140 -33
  284. package/dist/dashboard-runtime/dashboard/src/lib/memory-units-view.ts +9 -0
  285. package/dist/dashboard-runtime/dashboard/src/lib/memory.ts +2 -7
  286. package/dist/dashboard-runtime/dashboard/src/lib/query-keys.ts +13 -0
  287. package/dist/dashboard-runtime/dashboard/src/lib/scope-directory.ts +97 -0
  288. package/dist/dashboard-runtime/dashboard/src/lib/server/memory-store-contract.ts +41 -0
  289. package/dist/dashboard-runtime/dashboard/src/lib/server/scope-filter-validation.ts +186 -0
  290. package/dist/dashboard-runtime/dashboard/src/schemas/llm-chat.ts +5 -2
  291. package/dist/dashboard-runtime/dashboard/src/services/memory.ts +16 -6
  292. package/dist/dashboard-runtime/dashboard/src/types/memory.ts +95 -4
  293. package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/README.md +2 -2
  294. package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
  295. package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
  296. package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/package.json +11 -5
  297. package/dist/dashboard-runtime/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  298. package/dist/dashboard-runtime/node_modules/@img/{sharp-darwin-arm64 → sharp-linux-x64}/package.json +13 -7
  299. package/dist/dashboard-runtime/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  300. package/dist/node_modules/@tablestore/tablestore-agent-sdk/dist/tsconfig.tsbuildinfo +1 -1
  301. package/package.json +1 -1
  302. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0is6qso._.js +0 -3
  303. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0q9fgt6._.js +0 -3
  304. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0w_ig2a._.js +0 -3
  305. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__0zmo~nd._.js +0 -3
  306. package/dist/dashboard-runtime/dashboard/.next/server/chunks/[root-of-the-server]__13g_f9w._.js +0 -3
  307. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__05kcz99._.js +0 -3
  308. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__06l7w~r._.js +0 -3
  309. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__07fsbff._.js +0 -3
  310. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0_6myqa._.js +0 -3
  311. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0d-z.x1._.js +0 -3
  312. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_00.la1c._.js +0 -3
  313. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_01r6jx1._.js +0 -3
  314. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_04rasxw._.js +0 -3
  315. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_05__-74._.js +0 -3
  316. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_05wwgdw._.js +0 -3
  317. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0f.xs7l._.js +0 -3
  318. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0jt60z2._.js +0 -3
  319. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0k7q0ug._.js +0 -3
  320. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0kaclzw._.js +0 -3
  321. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0lstkpb._.js +0 -3
  322. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0qw41co._.js +0 -3
  323. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0vfgz-v._.js +0 -3
  324. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0y4mxf8._.js +0 -3
  325. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_119lxvo._.js +0 -3
  326. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_079nj-_._.js +0 -3
  327. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0bhjp9s._.js +0 -3
  328. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0..ymrl._.js +0 -3
  329. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_00arje5._.js +0 -3
  330. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_08h.f_8._.js +0 -3
  331. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_0pf30rh._.js +0 -3
  332. package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_12_d6fg._.js +0 -3
  333. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0-88a30l.a1sg.js +0 -1
  334. package/dist/dashboard-runtime/dashboard/.next/static/chunks/01nixb3ddw4hy.js +0 -1
  335. package/dist/dashboard-runtime/dashboard/.next/static/chunks/01u9hj_9~5-vg.js +0 -1
  336. package/dist/dashboard-runtime/dashboard/.next/static/chunks/02q3tpry1ajx9.js +0 -1
  337. package/dist/dashboard-runtime/dashboard/.next/static/chunks/057-rg6~0wki8.css +0 -1
  338. package/dist/dashboard-runtime/dashboard/.next/static/chunks/05d8-45s941bx.js +0 -1
  339. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07q8af71w17xl.js +0 -1
  340. package/dist/dashboard-runtime/dashboard/.next/static/chunks/07v6llp0fv6iq.js +0 -1
  341. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0a9.rr50h5ypa.js +0 -1
  342. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0axnv6wy1_hr7.js +0 -1
  343. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0bbcwyy.xvpd0.js +0 -1
  344. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0cfrd_r4jr_ip.js +0 -9
  345. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0dpj.6wcf.qn8.js +0 -1
  346. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0gt8u.o_c_nix.js +0 -1
  347. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0hh2728tmgrdk.js +0 -1
  348. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0jjiw-agnutux.js +0 -1
  349. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0nw7q~w~vg.-y.js +0 -1
  350. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0o-j8g9gp_c1r.js +0 -1
  351. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0pm6vv5wntle..js +0 -1
  352. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0qr499bd44k.g.js +0 -1
  353. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0sx_fx5r7nq4b.js +0 -1
  354. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0tbu6y0a22ok8.js +0 -1
  355. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u6c8q4k~6aiy.js +0 -1
  356. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0u7fh6be6noif.js +0 -1
  357. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0wcf_hdt9arma.js +0 -5
  358. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0xash~4j8pl87.js +0 -1
  359. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0xi6y8g4l~vzr.js +0 -1
  360. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0y45-~ia9sqr0.js +0 -1
  361. package/dist/dashboard-runtime/dashboard/.next/static/chunks/0yvc~t7p88wsf.js +0 -1
  362. package/dist/dashboard-runtime/dashboard/.next/static/chunks/10684vn7g6wln.js +0 -1
  363. package/dist/dashboard-runtime/dashboard/.next/static/chunks/14rpr3z1.lmgj.js +0 -1
  364. package/dist/dashboard-runtime/dashboard/.next/static/chunks/15043qe~kvq-v.js +0 -1
  365. package/dist/dashboard-runtime/dashboard/tsconfig.tsbuildinfo +0 -1
  366. package/dist/dashboard-runtime/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  367. /package/dist/dashboard-runtime/dashboard/.next/static/{bKUtNfKb47TOc1cpUk74A → mCNgeSYc3Dx3KiZXWf-5A}/_buildManifest.js +0 -0
  368. /package/dist/dashboard-runtime/dashboard/.next/static/{bKUtNfKb47TOc1cpUk74A → mCNgeSYc3Dx3KiZXWf-5A}/_clientMiddlewareManifest.js +0 -0
  369. /package/dist/dashboard-runtime/dashboard/.next/static/{bKUtNfKb47TOc1cpUk74A → mCNgeSYc3Dx3KiZXWf-5A}/_ssgManifest.js +0 -0
  370. /package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/index.js +0 -0
  371. /package/dist/dashboard-runtime/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/versions.json +0 -0
@@ -1,7 +1,12 @@
1
1
  import type { TranslateFn } from "@/i18n/i18n-context";
2
2
  import { newId } from "@/lib/random-id";
3
3
 
4
- export type StorageMode = "ots" | "file+ots" | "filemem";
4
+ /**
5
+ * `managed-file` is a console capability label for the current
6
+ * messages -> [file] contract. It is never sent as the legacy storageMode
7
+ * wire field.
8
+ */
9
+ export type StorageMode = "ots" | "managed-file" | "file+ots" | "filemem";
5
10
  export type MemoryInputType = "short-term" | "file";
6
11
  export type MemoryStorageStructure = "structured" | "file";
7
12
  export type MemoryDetailSegment =
@@ -23,6 +28,17 @@ export interface MemoryStorageSelection {
23
28
  storageStructures: MemoryStorageStructure[];
24
29
  }
25
30
 
31
+ export interface MemoryStoreTypeContract {
32
+ inputType: "messages" | "file";
33
+ outputTypes: MemoryStorageStructure[];
34
+ }
35
+
36
+ export interface MemoryStoreTypeSource {
37
+ inputType?: "messages" | "file";
38
+ outputTypes?: MemoryStorageStructure[];
39
+ storageMode?: string | null;
40
+ }
41
+
26
42
  export const FILEMEM_DEFAULT_RUN_ID = "__default__";
27
43
 
28
44
  function createRandomRunId(): string {
@@ -38,11 +54,19 @@ export function normalizeMemoryRunId(
38
54
  return !runId || runId === FILEMEM_DEFAULT_RUN_ID ? createRunId() : runId;
39
55
  }
40
56
 
41
- export const STORAGE_MODE_VALUES: StorageMode[] = [
57
+ export const STORAGE_MODE_VALUES = [
42
58
  "ots",
59
+ "managed-file",
43
60
  "file+ots",
44
61
  "filemem",
45
- ];
62
+ ] as const satisfies readonly StorageMode[];
63
+
64
+ export function isKnownStorageMode(value: unknown): value is StorageMode {
65
+ return (
66
+ typeof value === "string" &&
67
+ (STORAGE_MODE_VALUES as readonly string[]).includes(value)
68
+ );
69
+ }
46
70
 
47
71
  const STRUCTURED_DETAIL_SEGMENTS: MemoryDetailSegment[] = [
48
72
  "scope",
@@ -56,7 +80,18 @@ const STRUCTURED_DETAIL_SEGMENTS: MemoryDetailSegment[] = [
56
80
  "settings",
57
81
  ];
58
82
  const FILE_DETAIL_SEGMENTS: MemoryDetailSegment[] = [
83
+ "scope",
84
+ "units",
85
+ "wiki",
86
+ "settings",
87
+ ];
88
+ const MANAGED_FILE_DETAIL_SEGMENTS: MemoryDetailSegment[] = [
89
+ "scope",
59
90
  "units",
91
+ "search",
92
+ "messages",
93
+ "tasks",
94
+ "requests",
60
95
  "wiki",
61
96
  "settings",
62
97
  ];
@@ -67,7 +102,7 @@ const STRUCTURED_CARD_SHORTCUTS: MemoryCardShortcut[] = [
67
102
  "consolidate",
68
103
  ];
69
104
  const FILE_CARD_SHORTCUTS: MemoryCardShortcut[] = ["files"];
70
- const STRUCTURED_CARD_ACTIONS: MemoryCardAction[] = [
105
+ const SEARCHABLE_CARD_ACTIONS: MemoryCardAction[] = [
71
106
  "units",
72
107
  "search",
73
108
  "settings",
@@ -84,6 +119,7 @@ export function parseKnownStorageMode(
84
119
  value: string | undefined | null,
85
120
  ): StorageMode | null {
86
121
  if (value === "ots") return "ots";
122
+ if (value === "managed-file") return "managed-file";
87
123
  if (value === "file+ots" || value === "oss+ots") return "file+ots";
88
124
  if (value === "filemem") return "filemem";
89
125
  return null;
@@ -111,6 +147,23 @@ export function toggleMemoryFileStorage(
111
147
  };
112
148
  }
113
149
 
150
+ export function toggleMemoryStructuredStorage(
151
+ selection: MemoryStorageSelection,
152
+ ): MemoryStorageSelection {
153
+ if (selection.inputType === "file") {
154
+ return memoryStorageSelectionForInput("file");
155
+ }
156
+ if (selection.storageStructures.includes("structured")) {
157
+ return selection.storageStructures.includes("file")
158
+ ? { inputType: "short-term", storageStructures: ["file"] }
159
+ : selection;
160
+ }
161
+ return {
162
+ inputType: "short-term",
163
+ storageStructures: ["structured", "file"],
164
+ };
165
+ }
166
+
114
167
  export function storageSelectionToMode(
115
168
  selection: MemoryStorageSelection,
116
169
  ): StorageMode {
@@ -128,19 +181,39 @@ export function storageSelectionToMode(
128
181
  if (
129
182
  !hasDuplicates &&
130
183
  selection.inputType === "short-term" &&
131
- structures.has("structured")
184
+ structures.size > 0
132
185
  ) {
133
- if (structures.size === 1) return "ots";
186
+ if (structures.size === 1 && structures.has("structured")) return "ots";
187
+ if (structures.size === 1 && structures.has("file")) return "managed-file";
134
188
  if (structures.size === 2 && structures.has("file")) return "file+ots";
135
189
  }
136
190
  throw new Error("Invalid memory input and storage structure combination");
137
191
  }
138
192
 
193
+ /**
194
+ * Convert the console selection to the current server contract. New stores
195
+ * must use inputType/outputTypes instead of the legacy storageMode alias so a
196
+ * messages -> file-only store is not collapsed into one of the old modes.
197
+ */
198
+ export function storageSelectionToStoreType(
199
+ selection: MemoryStorageSelection,
200
+ ): MemoryStoreTypeContract {
201
+ // Reuse the strict combination validation above before translating labels.
202
+ storageSelectionToMode(selection);
203
+ return {
204
+ inputType: selection.inputType === "short-term" ? "messages" : "file",
205
+ outputTypes: [...selection.storageStructures],
206
+ };
207
+ }
208
+
139
209
  export function storageModeToSelection(
140
210
  value: string | undefined | null,
141
211
  ): MemoryStorageSelection {
142
212
  const mode = normalizeStorageMode(value);
143
213
  if (mode === "filemem") return memoryStorageSelectionForInput("file");
214
+ if (mode === "managed-file") {
215
+ return { inputType: "short-term", storageStructures: ["file"] };
216
+ }
144
217
  if (mode === "file+ots") {
145
218
  return {
146
219
  inputType: "short-term",
@@ -150,25 +223,47 @@ export function storageModeToSelection(
150
223
  return memoryStorageSelectionForInput("short-term");
151
224
  }
152
225
 
226
+ export function resolveMemoryStoreTypeContract(
227
+ store: MemoryStoreTypeSource,
228
+ ): MemoryStoreTypeContract {
229
+ const fallback = storageSelectionToStoreType(
230
+ storageModeToSelection(store.storageMode),
231
+ );
232
+ return {
233
+ inputType: store.inputType ?? fallback.inputType,
234
+ outputTypes:
235
+ store.outputTypes && store.outputTypes.length > 0
236
+ ? [...store.outputTypes]
237
+ : fallback.outputTypes,
238
+ };
239
+ }
240
+
153
241
  export function storageModeCapabilities(value: string | undefined | null) {
154
242
  const mode = normalizeStorageMode(value);
155
- const structured = mode !== "filemem";
243
+ const structured = mode === "ots" || mode === "file+ots";
244
+ const acceptsMessages = mode !== "filemem";
245
+ let detailSegments = FILE_DETAIL_SEGMENTS;
246
+ if (mode === "managed-file") {
247
+ detailSegments = MANAGED_FILE_DETAIL_SEGMENTS;
248
+ } else if (structured) {
249
+ detailSegments = STRUCTURED_DETAIL_SEGMENTS;
250
+ }
156
251
  return {
157
252
  mode,
158
- files: mode !== "ots",
253
+ files: mode === "managed-file" || mode === "file+ots" || mode === "filemem",
159
254
  structured,
160
255
  writableFiles: mode === "filemem",
161
256
  forceLocalRetrieval: mode === "filemem",
162
257
  structuredAutoSave: structured,
163
258
  supportsExtraction: structured,
164
- detailSegments: [
165
- ...(structured ? STRUCTURED_DETAIL_SEGMENTS : FILE_DETAIL_SEGMENTS),
166
- ],
259
+ acceptsMessages,
260
+ discoverableScopes: acceptsMessages,
261
+ detailSegments: [...detailSegments],
167
262
  cardShortcuts: [
168
263
  ...(structured ? STRUCTURED_CARD_SHORTCUTS : FILE_CARD_SHORTCUTS),
169
264
  ],
170
265
  cardActions: [
171
- ...(structured ? STRUCTURED_CARD_ACTIONS : FILE_CARD_ACTIONS),
266
+ ...(mode === "filemem" ? FILE_CARD_ACTIONS : SEARCHABLE_CARD_ACTIONS),
172
267
  ],
173
268
  } as const;
174
269
  }
@@ -199,15 +294,19 @@ export function storageModeLabel(
199
294
  ): string {
200
295
  const mode = normalizeStorageMode(value);
201
296
  if (t) {
202
- return t(
203
- mode === "filemem"
204
- ? "memory.storageMode.writableFileLabel"
205
- : mode === "file+ots"
206
- ? "memory.storageMode.projectedFileLabel"
207
- : "memory.storageMode.apiOnlyLabel",
208
- );
297
+ if (mode === "filemem") {
298
+ return t("memory.storageMode.writableFileLabel");
299
+ }
300
+ if (mode === "managed-file") {
301
+ return t("memory.storageMode.managedFileLabel");
302
+ }
303
+ if (mode === "file+ots") {
304
+ return t("memory.storageMode.projectedFileLabel");
305
+ }
306
+ return t("memory.storageMode.apiOnlyLabel");
209
307
  }
210
308
  if (mode === "filemem") return "Writable File Memory";
309
+ if (mode === "managed-file") return "Managed File Memory";
211
310
  if (mode === "file+ots") return "Read-only File Projection";
212
311
  return "API-only Memory";
213
312
  }
@@ -216,14 +315,16 @@ export function resolveRetrievalMode(
216
315
  mode: "search" | "local" | undefined,
217
316
  storageMode: string | boolean | undefined | null,
218
317
  ): "search" | "local" {
219
- const resolvedStorage =
220
- typeof storageMode === "boolean"
221
- ? storageMode
222
- ? "file+ots"
223
- : "ots"
224
- : normalizeStorageMode(storageMode);
318
+ let resolvedStorage: StorageMode;
319
+ if (typeof storageMode === "boolean") {
320
+ resolvedStorage = storageMode ? "file+ots" : "ots";
321
+ } else {
322
+ resolvedStorage = normalizeStorageMode(storageMode);
323
+ }
225
324
  if (resolvedStorage === "filemem") return "local";
226
- if (resolvedStorage === "ots") return "search";
325
+ if (resolvedStorage === "ots" || resolvedStorage === "managed-file") {
326
+ return "search";
327
+ }
227
328
  return mode === "local" ? "local" : "search";
228
329
  }
229
330
 
@@ -233,17 +334,23 @@ export function storageModeDescription(
233
334
  ): string {
234
335
  const mode = normalizeStorageMode(value);
235
336
  if (t) {
236
- return t(
237
- mode === "filemem"
238
- ? "memory.storageMode.writableFileDescription"
239
- : mode === "file+ots"
240
- ? "memory.storageMode.projectedFileDescription"
241
- : "memory.storageMode.apiOnlyDescription",
242
- );
337
+ if (mode === "filemem") {
338
+ return t("memory.storageMode.writableFileDescription");
339
+ }
340
+ if (mode === "managed-file") {
341
+ return t("memory.storageMode.managedFileDescription");
342
+ }
343
+ if (mode === "file+ots") {
344
+ return t("memory.storageMode.projectedFileDescription");
345
+ }
346
+ return t("memory.storageMode.apiOnlyDescription");
243
347
  }
244
348
  if (mode === "filemem") {
245
349
  return "Writable file memory with JSON API CRUD, version history, and local lexical retrieval.";
246
350
  }
351
+ if (mode === "managed-file") {
352
+ return "Short-term messages are consolidated into a managed, read-only file tree.";
353
+ }
247
354
  if (mode === "file+ots") {
248
355
  return "Read-only file projection browsed through the JSON file API.";
249
356
  }
@@ -0,0 +1,9 @@
1
+ export type MemoryUnitsViewMode = "units" | "files";
2
+
3
+ /** Adding a message only invalidates the structured list while that list is
4
+ * active. The files view disables its units query and must not refetch it. */
5
+ export function shouldRefreshUnitsAfterAdd(
6
+ viewMode: MemoryUnitsViewMode,
7
+ ): boolean {
8
+ return viewMode === "units";
9
+ }
@@ -27,14 +27,9 @@ export function hasPreciseScope(scope: MemoryScope): boolean {
27
27
  );
28
28
  }
29
29
 
30
- /** appId and tenantId are present and not `*` (minimum for search). */
30
+ /** The current SearchMemories contract only requires an exact appId. */
31
31
  export function hasSearchableScope(scope: MemoryScope): boolean {
32
- return (
33
- !!scope.appId &&
34
- scope.appId !== "*" &&
35
- !!scope.tenantId &&
36
- scope.tenantId !== "*"
37
- );
32
+ return !!scope.appId && scope.appId !== "*";
38
33
  }
39
34
 
40
35
  export function scopeToSearchParams(scope: MemoryScope): URLSearchParams {
@@ -294,6 +294,19 @@ export const queryKeys = {
294
294
  nextToken,
295
295
  limit,
296
296
  ] as const,
297
+ memoryScopeDirectory: (
298
+ scopeKey: string,
299
+ memoryStoreName: string,
300
+ requestKey: string,
301
+ ) =>
302
+ [
303
+ "memory",
304
+ scopeKey,
305
+ "stores",
306
+ memoryStoreName,
307
+ "scope-directory",
308
+ requestKey,
309
+ ] as const,
297
310
  memoryTasks: (
298
311
  scopeKey: string,
299
312
  memoryStoreName: string,
@@ -0,0 +1,97 @@
1
+ import type {
2
+ MemoryScopeDirectoryEntry,
3
+ ScopeDirectoryFilter,
4
+ } from "@/types/memory";
5
+ import { buildScopeWorkspaceHref } from "@/lib/scope-workspace";
6
+
7
+ export type ScopeDirectoryTypeFilter = "all" | "conversation" | "wiki";
8
+ export type ScopeDirectoryMatchOp = "eq" | "prefix" | "wildcard";
9
+
10
+ export interface ScopeDirectoryFilterInput {
11
+ scopeType: ScopeDirectoryTypeFilter;
12
+ field?: string;
13
+ op?: ScopeDirectoryMatchOp;
14
+ value?: string;
15
+ }
16
+
17
+ /** React state boundary for opaque pagination tokens. Tokens must never
18
+ * survive a Store or runtime data-scope transition. */
19
+ export function buildScopeDirectoryStateKey(
20
+ dataScopeKey: string,
21
+ memoryStoreName: string,
22
+ ): string {
23
+ return JSON.stringify([dataScopeKey, memoryStoreName]);
24
+ }
25
+
26
+ function isNonEmptyString(value: unknown): value is string {
27
+ return typeof value === "string" && value.length > 0;
28
+ }
29
+
30
+ /** Only an exact four-part conversation Scope can open the point-lookup
31
+ * workspace. Directory entries with omitted dimensions remain browseable but
32
+ * must not be turned into a different Scope by filling synthetic sentinels. */
33
+ export function buildScopeDirectoryWorkspaceHref(
34
+ memoryStoreName: string,
35
+ entry: MemoryScopeDirectoryEntry,
36
+ ): string | null {
37
+ if (
38
+ entry.scopeType !== "conversation" ||
39
+ !isNonEmptyString(entry.appId) ||
40
+ !isNonEmptyString(entry.tenantId) ||
41
+ !isNonEmptyString(entry.agentId) ||
42
+ !isNonEmptyString(entry.runId)
43
+ ) {
44
+ return null;
45
+ }
46
+ return buildScopeWorkspaceHref(memoryStoreName, {
47
+ appId: entry.appId,
48
+ tenantId: entry.tenantId,
49
+ agentId: entry.agentId,
50
+ runId: entry.runId,
51
+ });
52
+ }
53
+
54
+ /** Build the small visual filter form into the server's full Filter AST. */
55
+ export function buildScopeDirectoryFilter(
56
+ input: ScopeDirectoryFilterInput,
57
+ ): ScopeDirectoryFilter {
58
+ const conditions: ScopeDirectoryFilter[] = [];
59
+ if (input.scopeType !== "all") {
60
+ conditions.push({
61
+ op: "eq",
62
+ field: "scopeType",
63
+ value: input.scopeType,
64
+ });
65
+ }
66
+ const field = input.field?.trim();
67
+ const value = input.value?.trim();
68
+ if (field && value) {
69
+ conditions.push({
70
+ op: input.op ?? "eq",
71
+ field,
72
+ value,
73
+ });
74
+ }
75
+ // A filter-only query is how callers request the whole heterogeneous
76
+ // directory. Omitting both scope and filter would mean the legacy default
77
+ // conversation scope instead.
78
+ if (conditions.length === 0) {
79
+ return { op: "exists", field: "scopeType" };
80
+ }
81
+ return conditions.length === 1 ? conditions[0] : { op: "and", conditions };
82
+ }
83
+
84
+ /** Legacy stores may reject a Filter AST with a generic 400. Scope-only
85
+ * requests must never be classified this way because they sent no Filter. */
86
+ export function isScopeDirectoryUnsupported(
87
+ error: unknown,
88
+ usedFilter: boolean,
89
+ ): boolean {
90
+ if (!usedFilter || !(error instanceof Error)) return false;
91
+ const code =
92
+ "code" in error && typeof error.code === "string" ? error.code : "";
93
+ return (
94
+ code === "INVALID_PARAMETER" ||
95
+ error.message.toLowerCase().includes("invalid parameter")
96
+ );
97
+ }
@@ -0,0 +1,41 @@
1
+ import {
2
+ parseKnownStorageMode,
3
+ type StorageMode,
4
+ } from "@/lib/memory-storage-mode";
5
+
6
+ type MemoryStoreWire = Record<string, unknown> & {
7
+ storageMode?: unknown;
8
+ inputType?: unknown;
9
+ outputTypes?: unknown;
10
+ };
11
+
12
+ /**
13
+ * The current service omits storageMode for stores created with the new
14
+ * inputType/outputTypes contract. Keep one derived legacy label at the BFF
15
+ * boundary so the existing capability matrix remains correct while the UI
16
+ * also exposes the authoritative fields.
17
+ */
18
+ export function normalizeMemoryStoreContract<T extends MemoryStoreWire>(
19
+ store: T,
20
+ ): T & { storageMode: StorageMode } {
21
+ const knownStorageMode =
22
+ typeof store.storageMode === "string"
23
+ ? parseKnownStorageMode(store.storageMode)
24
+ : null;
25
+ if (knownStorageMode) {
26
+ return { ...store, storageMode: knownStorageMode };
27
+ }
28
+
29
+ const outputs = new Set(
30
+ Array.isArray(store.outputTypes) ? store.outputTypes : [],
31
+ );
32
+ let storageMode: StorageMode = "ots";
33
+ if (store.inputType === "file") {
34
+ storageMode = "filemem";
35
+ } else if (outputs.has("file") && outputs.has("structured")) {
36
+ storageMode = "file+ots";
37
+ } else if (outputs.has("file")) {
38
+ storageMode = "managed-file";
39
+ }
40
+ return { ...store, storageMode };
41
+ }
@@ -0,0 +1,186 @@
1
+ import type { ScopeDirectoryFilter } from "@/types/memory";
2
+
3
+ const FILTER_FIELD_PATTERN = /^[A-Za-z][A-Za-z0-9_]{0,63}$/;
4
+ const MAX_FILTER_DEPTH = 8;
5
+ const MAX_FILTER_LEAVES = 64;
6
+
7
+ type FilterParseResult = { filter: ScopeDirectoryFilter } | { error: string };
8
+
9
+ function isRecord(value: unknown): value is Record<string, unknown> {
10
+ return value !== null && typeof value === "object" && !Array.isArray(value);
11
+ }
12
+
13
+ function hasOnlyKeys(
14
+ value: Record<string, unknown>,
15
+ allowed: readonly string[],
16
+ ): boolean {
17
+ return Object.keys(value).every((key) => allowed.includes(key));
18
+ }
19
+
20
+ function parseField(value: unknown): string | null {
21
+ if (typeof value !== "string") return null;
22
+ const field = value.trim();
23
+ return FILTER_FIELD_PATTERN.test(field) ? field : null;
24
+ }
25
+
26
+ function parseFilterNode(
27
+ value: unknown,
28
+ depth: number,
29
+ counter: { leaves: number },
30
+ ): FilterParseResult {
31
+ if (depth >= MAX_FILTER_DEPTH) {
32
+ return { error: `filter exceeds maximum depth ${MAX_FILTER_DEPTH}` };
33
+ }
34
+ if (!isRecord(value) || typeof value.op !== "string") {
35
+ return { error: "filter nodes must be objects with a string op" };
36
+ }
37
+
38
+ const op = value.op.trim().toLowerCase();
39
+ const field = parseField(value.field);
40
+ if (["eq", "prefix", "wildcard"].includes(op)) {
41
+ if (!hasOnlyKeys(value, ["op", "field", "value"])) {
42
+ return { error: `filter ${op} contains unknown fields` };
43
+ }
44
+ if (!field || typeof value.value !== "string") {
45
+ return { error: `filter ${op} requires a valid field and string value` };
46
+ }
47
+ // Keep operand constraints aligned with scopedirectory.Filter.Validate in
48
+ // the service. It intentionally caps wildcard patterns only; imposing
49
+ // invented limits on eq/prefix/range/in here would reject valid requests.
50
+ if (op === "wildcard" && [...value.value].length > 32) {
51
+ return { error: "filter wildcard value exceeds 32 characters" };
52
+ }
53
+ counter.leaves += 1;
54
+ if (counter.leaves > MAX_FILTER_LEAVES) {
55
+ return {
56
+ error: `filter exceeds maximum leaf count ${MAX_FILTER_LEAVES}`,
57
+ };
58
+ }
59
+ return {
60
+ filter: {
61
+ op: op as "eq" | "prefix" | "wildcard",
62
+ field,
63
+ value: value.value,
64
+ },
65
+ };
66
+ }
67
+
68
+ if (op === "in") {
69
+ if (!hasOnlyKeys(value, ["op", "field", "values"])) {
70
+ return { error: "filter in contains unknown fields" };
71
+ }
72
+ if (
73
+ !field ||
74
+ !Array.isArray(value.values) ||
75
+ value.values.length === 0 ||
76
+ value.values.some((item) => typeof item !== "string")
77
+ ) {
78
+ return { error: "filter in requires a valid field and string values" };
79
+ }
80
+ counter.leaves += 1;
81
+ if (counter.leaves > MAX_FILTER_LEAVES) {
82
+ return {
83
+ error: `filter exceeds maximum leaf count ${MAX_FILTER_LEAVES}`,
84
+ };
85
+ }
86
+ return { filter: { op: "in", field, values: value.values as string[] } };
87
+ }
88
+
89
+ if (op === "range") {
90
+ if (!hasOnlyKeys(value, ["op", "field", "gt", "gte", "lt", "lte"])) {
91
+ return { error: "filter range contains unknown fields" };
92
+ }
93
+ const bounds = ["gt", "gte", "lt", "lte"] as const;
94
+ const presentBounds = bounds.filter((key) => value[key] !== undefined);
95
+ if (
96
+ !field ||
97
+ presentBounds.length === 0 ||
98
+ presentBounds.some((key) => typeof value[key] !== "string")
99
+ ) {
100
+ return {
101
+ error:
102
+ "filter range requires a valid field and at least one string bound",
103
+ };
104
+ }
105
+ if (
106
+ (value.gt !== undefined && value.gte !== undefined) ||
107
+ (value.lt !== undefined && value.lte !== undefined)
108
+ ) {
109
+ return { error: "filter range cannot combine gt/gte or lt/lte" };
110
+ }
111
+ counter.leaves += 1;
112
+ if (counter.leaves > MAX_FILTER_LEAVES) {
113
+ return {
114
+ error: `filter exceeds maximum leaf count ${MAX_FILTER_LEAVES}`,
115
+ };
116
+ }
117
+ return {
118
+ filter: {
119
+ op: "range",
120
+ field,
121
+ ...(typeof value.gt === "string" ? { gt: value.gt } : {}),
122
+ ...(typeof value.gte === "string" ? { gte: value.gte } : {}),
123
+ ...(typeof value.lt === "string" ? { lt: value.lt } : {}),
124
+ ...(typeof value.lte === "string" ? { lte: value.lte } : {}),
125
+ },
126
+ };
127
+ }
128
+
129
+ if (op === "exists") {
130
+ if (!hasOnlyKeys(value, ["op", "field"]) || !field) {
131
+ return { error: "filter exists requires exactly one known field" };
132
+ }
133
+ counter.leaves += 1;
134
+ if (counter.leaves > MAX_FILTER_LEAVES) {
135
+ return {
136
+ error: `filter exceeds maximum leaf count ${MAX_FILTER_LEAVES}`,
137
+ };
138
+ }
139
+ return { filter: { op: "exists", field } };
140
+ }
141
+
142
+ if (op === "and" || op === "or") {
143
+ if (!hasOnlyKeys(value, ["op", "conditions"])) {
144
+ return { error: `filter ${op} contains unknown fields` };
145
+ }
146
+ if (!Array.isArray(value.conditions) || value.conditions.length === 0) {
147
+ return { error: `filter ${op} requires non-empty conditions` };
148
+ }
149
+ const conditions: ScopeDirectoryFilter[] = [];
150
+ for (const condition of value.conditions) {
151
+ const parsed = parseFilterNode(condition, depth + 1, counter);
152
+ if ("error" in parsed) return parsed;
153
+ conditions.push(parsed.filter);
154
+ }
155
+ return { filter: { op, conditions } };
156
+ }
157
+
158
+ if (op === "not") {
159
+ if (!hasOnlyKeys(value, ["op", "condition", "conditions"])) {
160
+ return { error: "filter not contains unknown fields" };
161
+ }
162
+ const legacyConditions = Array.isArray(value.conditions)
163
+ ? value.conditions
164
+ : [];
165
+ if (
166
+ (value.condition !== undefined && legacyConditions.length !== 0) ||
167
+ (value.condition === undefined && legacyConditions.length !== 1)
168
+ ) {
169
+ return { error: "filter not requires exactly one condition" };
170
+ }
171
+ const parsed = parseFilterNode(
172
+ value.condition ?? legacyConditions[0],
173
+ depth + 1,
174
+ counter,
175
+ );
176
+ return "error" in parsed
177
+ ? parsed
178
+ : { filter: { op: "not", condition: parsed.filter } };
179
+ }
180
+
181
+ return { error: `unsupported filter op: ${op}` };
182
+ }
183
+
184
+ export function parseScopeDirectoryFilter(value: unknown): FilterParseResult {
185
+ return parseFilterNode(value, 0, { leaves: 0 });
186
+ }
@@ -1,7 +1,10 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  import { normalizeFileMemoryStoreName } from "@/lib/file-memory-core";
4
- import { FILEMEM_DEFAULT_RUN_ID } from "@/lib/memory-storage-mode";
4
+ import {
5
+ FILEMEM_DEFAULT_RUN_ID,
6
+ STORAGE_MODE_VALUES,
7
+ } from "@/lib/memory-storage-mode";
5
8
 
6
9
  export const chatRoleSchema = z.enum(["user", "assistant", "system"]);
7
10
 
@@ -67,7 +70,7 @@ const browserFileContextSchema = z.object({
67
70
  const chatMemoryWireSchema = z
68
71
  .object({
69
72
  memoryStoreName: z.string().min(1),
70
- storageMode: z.enum(["ots", "file+ots", "filemem"]).optional(),
73
+ storageMode: z.enum(STORAGE_MODE_VALUES).optional(),
71
74
  scope: z.object({
72
75
  appId: nonWildcardId,
73
76
  tenantId: nonWildcardId,