agim-cli 1.2.133 → 1.2.135

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 (189) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/dist/core/commands/plan.d.ts.map +1 -1
  3. package/dist/core/commands/plan.js +27 -8
  4. package/dist/core/commands/plan.js.map +1 -1
  5. package/dist/core/plan-intent.d.ts +14 -0
  6. package/dist/core/plan-intent.d.ts.map +1 -0
  7. package/dist/core/plan-intent.js +112 -0
  8. package/dist/core/plan-intent.js.map +1 -0
  9. package/dist/core/router.d.ts.map +1 -1
  10. package/dist/core/router.js +27 -1
  11. package/dist/core/router.js.map +1 -1
  12. package/dist/web/public/assets/{a2a-TmaKRhXV.js → a2a-oYRz4syc.js} +2 -2
  13. package/dist/web/public/assets/{a2a-TmaKRhXV.js.map → a2a-oYRz4syc.js.map} +1 -1
  14. package/dist/web/public/assets/{activity-Cckc7fGG.js → activity-CbMd52BC.js} +2 -2
  15. package/dist/web/public/assets/{activity-Cckc7fGG.js.map → activity-CbMd52BC.js.map} +1 -1
  16. package/dist/web/public/assets/{admins-1hMCDolP.js → admins-BtuJdXZX.js} +2 -2
  17. package/dist/web/public/assets/{admins-1hMCDolP.js.map → admins-BtuJdXZX.js.map} +1 -1
  18. package/dist/web/public/assets/{agents-3sUHlKzx.js → agents-Dm8fTAks.js} +2 -2
  19. package/dist/web/public/assets/{agents-3sUHlKzx.js.map → agents-Dm8fTAks.js.map} +1 -1
  20. package/dist/web/public/assets/{approvals-CY-_Lg4Y.js → approvals-Y7FCBVQR.js} +2 -2
  21. package/dist/web/public/assets/{approvals-CY-_Lg4Y.js.map → approvals-Y7FCBVQR.js.map} +1 -1
  22. package/dist/web/public/assets/{arrow-down-BkZ50IzL.js → arrow-down-BpfVJViL.js} +2 -2
  23. package/dist/web/public/assets/{arrow-down-BkZ50IzL.js.map → arrow-down-BpfVJViL.js.map} +1 -1
  24. package/dist/web/public/assets/{arrow-up-NWC5K6Jw.js → arrow-up-BQxFty9k.js} +2 -2
  25. package/dist/web/public/assets/{arrow-up-NWC5K6Jw.js.map → arrow-up-BQxFty9k.js.map} +1 -1
  26. package/dist/web/public/assets/{asks-VzAmpsEh.js → asks-CzeX-NCb.js} +2 -2
  27. package/dist/web/public/assets/{asks-VzAmpsEh.js.map → asks-CzeX-NCb.js.map} +1 -1
  28. package/dist/web/public/assets/{audit-fOn2LH4D.js → audit-DDonnB7I.js} +2 -2
  29. package/dist/web/public/assets/{audit-fOn2LH4D.js.map → audit-DDonnB7I.js.map} +1 -1
  30. package/dist/web/public/assets/{bell-FF7PJo1N.js → bell-QusEl0TB.js} +2 -2
  31. package/dist/web/public/assets/{bell-FF7PJo1N.js.map → bell-QusEl0TB.js.map} +1 -1
  32. package/dist/web/public/assets/{bgjobs-L0v-UwPW.js → bgjobs-BIx5fZe2.js} +2 -2
  33. package/dist/web/public/assets/{bgjobs-L0v-UwPW.js.map → bgjobs-BIx5fZe2.js.map} +1 -1
  34. package/dist/web/public/assets/{brain-CdkDpFr1.js → brain-CC9HwFtI.js} +2 -2
  35. package/dist/web/public/assets/{brain-CdkDpFr1.js.map → brain-CC9HwFtI.js.map} +1 -1
  36. package/dist/web/public/assets/{briefcase-BXbOdl7E.js → briefcase-DueOcW1K.js} +2 -2
  37. package/dist/web/public/assets/{briefcase-BXbOdl7E.js.map → briefcase-DueOcW1K.js.map} +1 -1
  38. package/dist/web/public/assets/{chat-BazMi-ik.js → chat-DahEFTcT.js} +2 -2
  39. package/dist/web/public/assets/{chat-BazMi-ik.js.map → chat-DahEFTcT.js.map} +1 -1
  40. package/dist/web/public/assets/{chevron-left-Di1Tz64J.js → chevron-left-CaGOVECz.js} +2 -2
  41. package/dist/web/public/assets/{chevron-left-Di1Tz64J.js.map → chevron-left-CaGOVECz.js.map} +1 -1
  42. package/dist/web/public/assets/{chevron-right-BLjhBkqs.js → chevron-right-BX3t8KY3.js} +2 -2
  43. package/dist/web/public/assets/{chevron-right-BLjhBkqs.js.map → chevron-right-BX3t8KY3.js.map} +1 -1
  44. package/dist/web/public/assets/{circle-check-BaxzYLlE.js → circle-check-BGjJhA0M.js} +2 -2
  45. package/dist/web/public/assets/{circle-check-BaxzYLlE.js.map → circle-check-BGjJhA0M.js.map} +1 -1
  46. package/dist/web/public/assets/{circle-check-big-C4BGLUvw.js → circle-check-big-CkxzVtPL.js} +2 -2
  47. package/dist/web/public/assets/{circle-check-big-C4BGLUvw.js.map → circle-check-big-CkxzVtPL.js.map} +1 -1
  48. package/dist/web/public/assets/{circle-x-THl-PO3_.js → circle-x-BziROBzb.js} +2 -2
  49. package/dist/web/public/assets/{circle-x-THl-PO3_.js.map → circle-x-BziROBzb.js.map} +1 -1
  50. package/dist/web/public/assets/{clock-iitpdQjZ.js → clock-80yAmtz6.js} +2 -2
  51. package/dist/web/public/assets/{clock-iitpdQjZ.js.map → clock-80yAmtz6.js.map} +1 -1
  52. package/dist/web/public/assets/{confirm-dialog-r9HgkIYf.js → confirm-dialog-DAfv5d0M.js} +2 -2
  53. package/dist/web/public/assets/{confirm-dialog-r9HgkIYf.js.map → confirm-dialog-DAfv5d0M.js.map} +1 -1
  54. package/dist/web/public/assets/{copy-DwyF4MOL.js → copy-CDQUdNjG.js} +2 -2
  55. package/dist/web/public/assets/{copy-DwyF4MOL.js.map → copy-CDQUdNjG.js.map} +1 -1
  56. package/dist/web/public/assets/{data-table-B80M8zdu.js → data-table-B_sUmaE2.js} +2 -2
  57. package/dist/web/public/assets/{data-table-B80M8zdu.js.map → data-table-B_sUmaE2.js.map} +1 -1
  58. package/dist/web/public/assets/{dialog-fGS0IXOo.js → dialog-DGdHPiTV.js} +2 -2
  59. package/dist/web/public/assets/{dialog-fGS0IXOo.js.map → dialog-DGdHPiTV.js.map} +1 -1
  60. package/dist/web/public/assets/{download-5ihiF2Gj.js → download-CTWGQ8nD.js} +2 -2
  61. package/dist/web/public/assets/{download-5ihiF2Gj.js.map → download-CTWGQ8nD.js.map} +1 -1
  62. package/dist/web/public/assets/{email-LmRMqLRU.js → email-D0CbEk1s.js} +2 -2
  63. package/dist/web/public/assets/{email-LmRMqLRU.js.map → email-D0CbEk1s.js.map} +1 -1
  64. package/dist/web/public/assets/{empty-state-CrPnUC6d.js → empty-state-CtWM3HCj.js} +2 -2
  65. package/dist/web/public/assets/{empty-state-CrPnUC6d.js.map → empty-state-CtWM3HCj.js.map} +1 -1
  66. package/dist/web/public/assets/{external-link-DIJK1MAH.js → external-link-eCDEU3zh.js} +2 -2
  67. package/dist/web/public/assets/{external-link-DIJK1MAH.js.map → external-link-eCDEU3zh.js.map} +1 -1
  68. package/dist/web/public/assets/{eye-DJJw0Ald.js → eye-BwZbiu9G.js} +2 -2
  69. package/dist/web/public/assets/{eye-DJJw0Ald.js.map → eye-BwZbiu9G.js.map} +1 -1
  70. package/dist/web/public/assets/{facts-BzImxpJD.js → facts-CilmUyo5.js} +2 -2
  71. package/dist/web/public/assets/{facts-BzImxpJD.js.map → facts-CilmUyo5.js.map} +1 -1
  72. package/dist/web/public/assets/{goals-C6p21B9N.js → goals-ClMqJOcZ.js} +2 -2
  73. package/dist/web/public/assets/{goals-C6p21B9N.js.map → goals-ClMqJOcZ.js.map} +1 -1
  74. package/dist/web/public/assets/{health-D-ugz2Gp.js → health-2Gc6vytU.js} +2 -2
  75. package/dist/web/public/assets/{health-D-ugz2Gp.js.map → health-2Gc6vytU.js.map} +1 -1
  76. package/dist/web/public/assets/{heart-pulse-DlZXcdL0.js → heart-pulse-f2ZP4fOw.js} +2 -2
  77. package/dist/web/public/assets/{heart-pulse-DlZXcdL0.js.map → heart-pulse-f2ZP4fOw.js.map} +1 -1
  78. package/dist/web/public/assets/{heartbeat-DSasg-3y.js → heartbeat-T5ecNv9f.js} +2 -2
  79. package/dist/web/public/assets/{heartbeat-DSasg-3y.js.map → heartbeat-T5ecNv9f.js.map} +1 -1
  80. package/dist/web/public/assets/{hot-D67pYtaV.js → hot-hTf3IoT7.js} +2 -2
  81. package/dist/web/public/assets/{hot-D67pYtaV.js.map → hot-hTf3IoT7.js.map} +1 -1
  82. package/dist/web/public/assets/{index-CqwhfPlr.js → index-D4Np2s3l.js} +23 -23
  83. package/dist/web/public/assets/{index-CqwhfPlr.js.map → index-D4Np2s3l.js.map} +1 -1
  84. package/dist/web/public/assets/{installed-CrIsSoQE.js → installed-3B4RqrKw.js} +2 -2
  85. package/dist/web/public/assets/{installed-CrIsSoQE.js.map → installed-3B4RqrKw.js.map} +1 -1
  86. package/dist/web/public/assets/{jobs-yAwphb1W.js → jobs-rdZMVduE.js} +2 -2
  87. package/dist/web/public/assets/{jobs-yAwphb1W.js.map → jobs-rdZMVduE.js.map} +1 -1
  88. package/dist/web/public/assets/{layout-cacmfseo.js → layout-CwEKQhrq.js} +2 -2
  89. package/dist/web/public/assets/{layout-cacmfseo.js.map → layout-CwEKQhrq.js.map} +1 -1
  90. package/dist/web/public/assets/{layout-BXZKGQAk.js → layout-DdSyLqXe.js} +2 -2
  91. package/dist/web/public/assets/{layout-BXZKGQAk.js.map → layout-DdSyLqXe.js.map} +1 -1
  92. package/dist/web/public/assets/{layout-awbFImGg.js → layout-DwNsrPtD.js} +2 -2
  93. package/dist/web/public/assets/{layout-awbFImGg.js.map → layout-DwNsrPtD.js.map} +1 -1
  94. package/dist/web/public/assets/{layout-CrtmlC8G.js → layout-cfySH7sc.js} +2 -2
  95. package/dist/web/public/assets/{layout-CrtmlC8G.js.map → layout-cfySH7sc.js.map} +1 -1
  96. package/dist/web/public/assets/{layout-CL5HFvHN.js → layout-ofBlvFCx.js} +2 -2
  97. package/dist/web/public/assets/{layout-CL5HFvHN.js.map → layout-ofBlvFCx.js.map} +1 -1
  98. package/dist/web/public/assets/{llm-C19AX6q2.js → llm-CBLl38AB.js} +2 -2
  99. package/dist/web/public/assets/{llm-C19AX6q2.js.map → llm-CBLl38AB.js.map} +1 -1
  100. package/dist/web/public/assets/{loader-circle-U-jPjmeD.js → loader-circle-BfXi9R6u.js} +2 -2
  101. package/dist/web/public/assets/{loader-circle-U-jPjmeD.js.map → loader-circle-BfXi9R6u.js.map} +1 -1
  102. package/dist/web/public/assets/{map-pin-4rE1NK87.js → map-pin-E83IWTEe.js} +2 -2
  103. package/dist/web/public/assets/{map-pin-4rE1NK87.js.map → map-pin-E83IWTEe.js.map} +1 -1
  104. package/dist/web/public/assets/{mcp-B94wc6Vi.js → mcp-B-NKHX-f.js} +2 -2
  105. package/dist/web/public/assets/{mcp-B94wc6Vi.js.map → mcp-B-NKHX-f.js.map} +1 -1
  106. package/dist/web/public/assets/{memos-CrG4zgfI.js → memos-CuY8Ai7a.js} +2 -2
  107. package/dist/web/public/assets/{memos-CrG4zgfI.js.map → memos-CuY8Ai7a.js.map} +1 -1
  108. package/dist/web/public/assets/{messengers-UWarJd_C.js → messengers-DGnu7I6n.js} +2 -2
  109. package/dist/web/public/assets/{messengers-UWarJd_C.js.map → messengers-DGnu7I6n.js.map} +1 -1
  110. package/dist/web/public/assets/{mobile-QhAUKqcJ.js → mobile-o-Aa_7VP.js} +2 -2
  111. package/dist/web/public/assets/{mobile-QhAUKqcJ.js.map → mobile-o-Aa_7VP.js.map} +1 -1
  112. package/dist/web/public/assets/native-agent-Ivct8avv.js +22 -0
  113. package/dist/web/public/assets/native-agent-Ivct8avv.js.map +1 -0
  114. package/dist/web/public/assets/{network-l6l5gLHO.js → network-B48dL6Y7.js} +2 -2
  115. package/dist/web/public/assets/{network-l6l5gLHO.js.map → network-B48dL6Y7.js.map} +1 -1
  116. package/dist/web/public/assets/{outbox-BenX_yUQ.js → outbox-CQutJNfH.js} +2 -2
  117. package/dist/web/public/assets/{outbox-BenX_yUQ.js.map → outbox-CQutJNfH.js.map} +1 -1
  118. package/dist/web/public/assets/{pagination-B4g1CBsi.js → pagination-rJwdesRS.js} +2 -2
  119. package/dist/web/public/assets/{pagination-B4g1CBsi.js.map → pagination-rJwdesRS.js.map} +1 -1
  120. package/dist/web/public/assets/{persona--3cjtl9q.js → persona-DJO6f_q5.js} +2 -2
  121. package/dist/web/public/assets/{persona--3cjtl9q.js.map → persona-DJO6f_q5.js.map} +1 -1
  122. package/dist/web/public/assets/{plans-DsHtDRlS.js → plans-D-Nf-jL2.js} +2 -2
  123. package/dist/web/public/assets/{plans-DsHtDRlS.js.map → plans-D-Nf-jL2.js.map} +1 -1
  124. package/dist/web/public/assets/{play-BG0hyTnO.js → play-DqmSNGi8.js} +2 -2
  125. package/dist/web/public/assets/{play-BG0hyTnO.js.map → play-DqmSNGi8.js.map} +1 -1
  126. package/dist/web/public/assets/{plus-Dof9AQvU.js → plus-CxClG9H0.js} +2 -2
  127. package/dist/web/public/assets/{plus-Dof9AQvU.js.map → plus-CxClG9H0.js.map} +1 -1
  128. package/dist/web/public/assets/{policy-BzHy4WbV.js → policy-Mqe38uiR.js} +2 -2
  129. package/dist/web/public/assets/{policy-BzHy4WbV.js.map → policy-Mqe38uiR.js.map} +1 -1
  130. package/dist/web/public/assets/{qr-code-yD_ztCf6.js → qr-code-BAEZ2Sel.js} +2 -2
  131. package/dist/web/public/assets/{qr-code-yD_ztCf6.js.map → qr-code-BAEZ2Sel.js.map} +1 -1
  132. package/dist/web/public/assets/{refresh-ccw-CBiHL1tY.js → refresh-ccw-C7VT3MFu.js} +2 -2
  133. package/dist/web/public/assets/{refresh-ccw-CBiHL1tY.js.map → refresh-ccw-C7VT3MFu.js.map} +1 -1
  134. package/dist/web/public/assets/{reminders-CDJlFR2Y.js → reminders--pCTIhTv.js} +2 -2
  135. package/dist/web/public/assets/{reminders-CDJlFR2Y.js.map → reminders--pCTIhTv.js.map} +1 -1
  136. package/dist/web/public/assets/{save-DVHI3V6o.js → save-B18KQmEd.js} +2 -2
  137. package/dist/web/public/assets/{save-DVHI3V6o.js.map → save-B18KQmEd.js.map} +1 -1
  138. package/dist/web/public/assets/{schedules-DYf64Fpr.js → schedules-CA4eHggo.js} +2 -2
  139. package/dist/web/public/assets/{schedules-DYf64Fpr.js.map → schedules-CA4eHggo.js.map} +1 -1
  140. package/dist/web/public/assets/{search-BYPDbBkC.js → search-CA_pO63g.js} +2 -2
  141. package/dist/web/public/assets/{search-BYPDbBkC.js.map → search-CA_pO63g.js.map} +1 -1
  142. package/dist/web/public/assets/{search-aw0y39Qs.js → search-ChcW6uXM.js} +2 -2
  143. package/dist/web/public/assets/{search-aw0y39Qs.js.map → search-ChcW6uXM.js.map} +1 -1
  144. package/dist/web/public/assets/{security-DhN1kRac.js → security-CeW9WxQO.js} +2 -2
  145. package/dist/web/public/assets/{security-DhN1kRac.js.map → security-CeW9WxQO.js.map} +1 -1
  146. package/dist/web/public/assets/{service-BhvI7Mb5.js → service-CJRR2q7Q.js} +2 -2
  147. package/dist/web/public/assets/{service-BhvI7Mb5.js.map → service-CJRR2q7Q.js.map} +1 -1
  148. package/dist/web/public/assets/{shield-alert-DjqqnTMk.js → shield-alert-0q3ul8GH.js} +2 -2
  149. package/dist/web/public/assets/{shield-alert-DjqqnTMk.js.map → shield-alert-0q3ul8GH.js.map} +1 -1
  150. package/dist/web/public/assets/{status-badge-nSFUUEfy.js → status-badge-CN17QMv6.js} +2 -2
  151. package/dist/web/public/assets/{status-badge-nSFUUEfy.js.map → status-badge-CN17QMv6.js.map} +1 -1
  152. package/dist/web/public/assets/{subtasks-C_x1RLJA.js → subtasks-gjO9Hf1a.js} +2 -2
  153. package/dist/web/public/assets/{subtasks-C_x1RLJA.js.map → subtasks-gjO9Hf1a.js.map} +1 -1
  154. package/dist/web/public/assets/{table-BNqo2xb8.js → table-C4P3KPbF.js} +2 -2
  155. package/dist/web/public/assets/{table-BNqo2xb8.js.map → table-C4P3KPbF.js.map} +1 -1
  156. package/dist/web/public/assets/{topn-NGtwNz38.js → topn-BMw-Uy1R.js} +2 -2
  157. package/dist/web/public/assets/{topn-NGtwNz38.js.map → topn-BMw-Uy1R.js.map} +1 -1
  158. package/dist/web/public/assets/{trash-2-BoFq2ZOF.js → trash-2-DOV8CHL9.js} +2 -2
  159. package/dist/web/public/assets/{trash-2-BoFq2ZOF.js.map → trash-2-DOV8CHL9.js.map} +1 -1
  160. package/dist/web/public/assets/{use-background-tasks-CY2gWPBZ.js → use-background-tasks-CgZBaDBR.js} +2 -2
  161. package/dist/web/public/assets/{use-background-tasks-CY2gWPBZ.js.map → use-background-tasks-CgZBaDBR.js.map} +1 -1
  162. package/dist/web/public/assets/{use-llm-admin-CA5tUbEU.js → use-llm-admin-BNwZKmJ9.js} +2 -2
  163. package/dist/web/public/assets/{use-llm-admin-CA5tUbEU.js.map → use-llm-admin-BNwZKmJ9.js.map} +1 -1
  164. package/dist/web/public/assets/{use-memory-CxasvYqR.js → use-memory-D4ViUoXw.js} +2 -2
  165. package/dist/web/public/assets/{use-memory-CxasvYqR.js.map → use-memory-D4ViUoXw.js.map} +1 -1
  166. package/dist/web/public/assets/{use-observability-BOepIjX5.js → use-observability-DJYRVPKp.js} +2 -2
  167. package/dist/web/public/assets/{use-observability-BOepIjX5.js.map → use-observability-DJYRVPKp.js.map} +1 -1
  168. package/dist/web/public/assets/{use-settings-DBXvAYm9.js → use-settings-XXVWFAv6.js} +2 -2
  169. package/dist/web/public/assets/{use-settings-DBXvAYm9.js.map → use-settings-XXVWFAv6.js.map} +1 -1
  170. package/dist/web/public/assets/{use-workspace-dw_69jpb.js → use-workspace-BgEM7e1m.js} +2 -2
  171. package/dist/web/public/assets/{use-workspace-dw_69jpb.js.map → use-workspace-BgEM7e1m.js.map} +1 -1
  172. package/dist/web/public/assets/{useQuery-Ds6-WURB.js → useQuery-B25CPtUF.js} +2 -2
  173. package/dist/web/public/assets/{useQuery-Ds6-WURB.js.map → useQuery-B25CPtUF.js.map} +1 -1
  174. package/dist/web/public/assets/{vector-C5WBAtlL.js → vector-Dh4Sp_ea.js} +2 -2
  175. package/dist/web/public/assets/{vector-C5WBAtlL.js.map → vector-Dh4Sp_ea.js.map} +1 -1
  176. package/dist/web/public/assets/{viewer-DQG9P7-t.js → viewer-B1vINzWu.js} +2 -2
  177. package/dist/web/public/assets/{viewer-DQG9P7-t.js.map → viewer-B1vINzWu.js.map} +1 -1
  178. package/dist/web/public/assets/{workspace-Dku83Qqr.js → workspace-uGVMiBxd.js} +2 -2
  179. package/dist/web/public/assets/{workspace-Dku83Qqr.js.map → workspace-uGVMiBxd.js.map} +1 -1
  180. package/dist/web/public/assets/{workspaces-ClLQ253x.js → workspaces-C8PjcrCq.js} +2 -2
  181. package/dist/web/public/assets/{workspaces-ClLQ253x.js.map → workspaces-C8PjcrCq.js.map} +1 -1
  182. package/dist/web/public/assets/{x-ClXUlQDe.js → x-CGfY-U_P.js} +2 -2
  183. package/dist/web/public/assets/{x-ClXUlQDe.js.map → x-CGfY-U_P.js.map} +1 -1
  184. package/dist/web/public/index.html +1 -1
  185. package/dist/web/server.js +3 -0
  186. package/dist/web/server.js.map +1 -1
  187. package/package.json +1 -1
  188. package/dist/web/public/assets/native-agent-DMf0u4dm.js +0 -22
  189. package/dist/web/public/assets/native-agent-DMf0u4dm.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"use-workspace-dw_69jpb.js","sources":["../../src/hooks/use-workspace.ts"],"sourcesContent":["/**\n * useWorkspace — agent picker source + per-agent file browser +\n * write mutation.\n *\n * useAgentsStatus() — populate the picker\n * useWorkspaceFiles(agent, path) — dir listing or file\n * content (discriminated\n * by `type`)\n * useWriteWorkspaceFile() — PUT a file\n *\n * Both reads stay cached at the default 30s staleTime; the write\n * invalidates so the saved size/mtime re-paint immediately.\n */\n\nimport { useQueryClient, useQuery, useMutation } from '@tanstack/react-query'\nimport { api } from '@/lib/api/endpoints'\nimport type {\n WorkspaceFilesResponse,\n WriteWorkspaceFileBody,\n WriteWorkspaceFileResponse,\n} from '@/types/api'\n\nexport const workspaceKeys = {\n all: ['workspace'] as const,\n files: (agent: string, path: string) =>\n ['workspace', 'files', agent, path] as const,\n}\n\nexport function useAgentsStatus() {\n return useQuery<Record<string, boolean>>({\n queryKey: ['agents', 'status'],\n queryFn: () => api.getAgentsStatus(),\n })\n}\n\nexport function useWorkspaceFiles(\n agent: string,\n path: string,\n opts: { enabled?: boolean } = {},\n) {\n return useQuery<WorkspaceFilesResponse>({\n queryKey: workspaceKeys.files(agent, path),\n queryFn: () => api.getWorkspaceFiles({ agent, ...(path ? { path } : {}) }),\n enabled: opts.enabled !== false && Boolean(agent),\n })\n}\n\nexport function useInvalidateWorkspace() {\n const qc = useQueryClient()\n return () => qc.invalidateQueries({ queryKey: workspaceKeys.all })\n}\n\nexport function useWriteWorkspaceFile() {\n const qc = useQueryClient()\n return useMutation<\n WriteWorkspaceFileResponse,\n Error,\n { agent: string; path: string; body: WriteWorkspaceFileBody }\n >({\n mutationFn: ({ agent, path, body }) =>\n api.writeWorkspaceFile({ agent, path }, body),\n onSuccess: () => qc.invalidateQueries({ queryKey: workspaceKeys.all }),\n })\n}\n"],"names":["workspaceKeys","agent","path","useAgentsStatus","useQuery","api","useWorkspaceFiles","opts","useWriteWorkspaceFile","qc","useQueryClient","useMutation","body"],"mappings":"iGAsBO,MAAMA,EAAgB,CAC3B,IAAO,CAAC,WAAW,EACnB,MAAO,CAACC,EAAeC,IACrB,CAAC,YAAa,QAASD,EAAOC,CAAI,CACtC,EAEO,SAASC,GAAkB,CAChC,OAAOC,EAAkC,CACvC,SAAU,CAAC,SAAU,QAAQ,EAC7B,QAAS,IAAMC,EAAI,gBAAA,CAAgB,CACpC,CACH,CAEO,SAASC,EACdL,EACAC,EACAK,EAA8B,CAAA,EAC9B,CACA,OAAOH,EAAiC,CACtC,SAAUJ,EAAc,MAAMC,EAAOC,CAAI,EACzC,QAAS,IAAMG,EAAI,kBAAkB,CAAE,MAAAJ,EAAO,GAAIC,EAAO,CAAE,KAAAA,GAAS,CAAA,EAAK,EACzE,QAASK,EAAK,UAAY,IAAS,EAAQN,CAAK,CACjD,CACH,CAOO,SAASO,GAAwB,CACtC,MAAMC,EAAKC,EAAA,EACX,OAAOC,EAIL,CACA,WAAY,CAAC,CAAE,MAAAV,EAAO,KAAAC,EAAM,KAAAU,CAAA,IAC1BP,EAAI,mBAAmB,CAAE,MAAAJ,EAAO,KAAAC,CAAA,EAAQU,CAAI,EAC9C,UAAW,IAAMH,EAAG,kBAAkB,CAAE,SAAUT,EAAc,IAAK,CAAA,CACtE,CACH"}
1
+ {"version":3,"file":"use-workspace-BgEM7e1m.js","sources":["../../src/hooks/use-workspace.ts"],"sourcesContent":["/**\n * useWorkspace — agent picker source + per-agent file browser +\n * write mutation.\n *\n * useAgentsStatus() — populate the picker\n * useWorkspaceFiles(agent, path) — dir listing or file\n * content (discriminated\n * by `type`)\n * useWriteWorkspaceFile() — PUT a file\n *\n * Both reads stay cached at the default 30s staleTime; the write\n * invalidates so the saved size/mtime re-paint immediately.\n */\n\nimport { useQueryClient, useQuery, useMutation } from '@tanstack/react-query'\nimport { api } from '@/lib/api/endpoints'\nimport type {\n WorkspaceFilesResponse,\n WriteWorkspaceFileBody,\n WriteWorkspaceFileResponse,\n} from '@/types/api'\n\nexport const workspaceKeys = {\n all: ['workspace'] as const,\n files: (agent: string, path: string) =>\n ['workspace', 'files', agent, path] as const,\n}\n\nexport function useAgentsStatus() {\n return useQuery<Record<string, boolean>>({\n queryKey: ['agents', 'status'],\n queryFn: () => api.getAgentsStatus(),\n })\n}\n\nexport function useWorkspaceFiles(\n agent: string,\n path: string,\n opts: { enabled?: boolean } = {},\n) {\n return useQuery<WorkspaceFilesResponse>({\n queryKey: workspaceKeys.files(agent, path),\n queryFn: () => api.getWorkspaceFiles({ agent, ...(path ? { path } : {}) }),\n enabled: opts.enabled !== false && Boolean(agent),\n })\n}\n\nexport function useInvalidateWorkspace() {\n const qc = useQueryClient()\n return () => qc.invalidateQueries({ queryKey: workspaceKeys.all })\n}\n\nexport function useWriteWorkspaceFile() {\n const qc = useQueryClient()\n return useMutation<\n WriteWorkspaceFileResponse,\n Error,\n { agent: string; path: string; body: WriteWorkspaceFileBody }\n >({\n mutationFn: ({ agent, path, body }) =>\n api.writeWorkspaceFile({ agent, path }, body),\n onSuccess: () => qc.invalidateQueries({ queryKey: workspaceKeys.all }),\n })\n}\n"],"names":["workspaceKeys","agent","path","useAgentsStatus","useQuery","api","useWorkspaceFiles","opts","useWriteWorkspaceFile","qc","useQueryClient","useMutation","body"],"mappings":"iGAsBO,MAAMA,EAAgB,CAC3B,IAAO,CAAC,WAAW,EACnB,MAAO,CAACC,EAAeC,IACrB,CAAC,YAAa,QAASD,EAAOC,CAAI,CACtC,EAEO,SAASC,GAAkB,CAChC,OAAOC,EAAkC,CACvC,SAAU,CAAC,SAAU,QAAQ,EAC7B,QAAS,IAAMC,EAAI,gBAAA,CAAgB,CACpC,CACH,CAEO,SAASC,EACdL,EACAC,EACAK,EAA8B,CAAA,EAC9B,CACA,OAAOH,EAAiC,CACtC,SAAUJ,EAAc,MAAMC,EAAOC,CAAI,EACzC,QAAS,IAAMG,EAAI,kBAAkB,CAAE,MAAAJ,EAAO,GAAIC,EAAO,CAAE,KAAAA,GAAS,CAAA,EAAK,EACzE,QAASK,EAAK,UAAY,IAAS,EAAQN,CAAK,CACjD,CACH,CAOO,SAASO,GAAwB,CACtC,MAAMC,EAAKC,EAAA,EACX,OAAOC,EAIL,CACA,WAAY,CAAC,CAAE,MAAAV,EAAO,KAAAC,EAAM,KAAAU,CAAA,IAC1BP,EAAI,mBAAmB,CAAE,MAAAJ,EAAO,KAAAC,CAAA,EAAQU,CAAI,EAC9C,UAAW,IAAMH,EAAG,kBAAkB,CAAE,SAAUT,EAAc,IAAK,CAAA,CACtE,CACH"}
@@ -1,2 +1,2 @@
1
- import{a1 as G,a2 as N,a3 as c,a4 as M,a5 as g,a6 as x,a7 as _,a8 as B,a9 as J,aa as I,ab as X,ac as Y,ad as A,ae as z,af as V,a as Z}from"./index-CqwhfPlr.js";import{r as d}from"./react-Cb2sDjhD.js";var $=class extends G{constructor(t,e){super(),this.options=e,this.#s=t,this.#r=null,this.#i=N(),this.bindMethods(),this.setOptions(e)}#s;#t=void 0;#p=void 0;#e=void 0;#n;#u;#i;#r;#v;#l;#d;#o;#h;#a;#f=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),j(this.#t,this.options)?this.#c():this.updateResult(),this.#g())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return P(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return P(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#y(),this.#S(),this.#t.removeObserver(this)}setOptions(t){const e=this.options,s=this.#t;if(this.options=this.#s.defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof c(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#O(),this.#t.setOptions(this.options),e._defaulted&&!M(this.options,e)&&this.#s.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const i=this.hasListeners();i&&H(this.#t,s,this.options,e)&&this.#c(),this.updateResult(),i&&(this.#t!==s||c(this.options.enabled,this.#t)!==c(e.enabled,this.#t)||g(this.options.staleTime,this.#t)!==g(e.staleTime,this.#t))&&this.#b();const a=this.#R();i&&(this.#t!==s||c(this.options.enabled,this.#t)!==c(e.enabled,this.#t)||a!==this.#a)&&this.#m(a)}getOptimisticResult(t){const e=this.#s.getQueryCache().build(this.#s,t),s=this.createResult(e,t);return tt(this,s)&&(this.#e=s,this.#u=this.options,this.#n=this.#t.state),s}getCurrentResult(){return this.#e}trackResult(t,e){return new Proxy(t,{get:(s,i)=>(this.trackProp(i),e?.(i),i==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#i.status==="pending"&&this.#i.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(s,i))})}trackProp(t){this.#f.add(t)}getCurrentQuery(){return this.#t}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const e=this.#s.defaultQueryOptions(t),s=this.#s.getQueryCache().build(this.#s,e);return s.fetch().then(()=>this.createResult(s,e))}fetch(t){return this.#c({...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#e))}#c(t){this.#O();let e=this.#t.fetch(this.options,t);return t?.throwOnError||(e=e.catch(x)),e}#b(){this.#y();const t=g(this.options.staleTime,this.#t);if(_.isServer()||this.#e.isStale||!B(t))return;const s=J(this.#e.dataUpdatedAt,t)+1;this.#o=I.setTimeout(()=>{this.#e.isStale||this.updateResult()},s)}#R(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#m(t){this.#S(),this.#a=t,!(_.isServer()||c(this.options.enabled,this.#t)===!1||!B(this.#a)||this.#a===0)&&(this.#h=I.setInterval(()=>{(this.options.refetchIntervalInBackground||X.isFocused())&&this.#c()},this.#a))}#g(){this.#b(),this.#m(this.#R())}#y(){this.#o!==void 0&&(I.clearTimeout(this.#o),this.#o=void 0)}#S(){this.#h!==void 0&&(I.clearInterval(this.#h),this.#h=void 0)}createResult(t,e){const s=this.#t,i=this.options,a=this.#e,u=this.#n,n=this.#u,b=t!==s?t.state:this.#p,{state:y}=t;let r={...y},l=!1,o;if(e._optimisticResults){const h=this.hasListeners(),m=!h&&j(t,e),O=h&&H(t,s,e,i);(m||O)&&(r={...r,...Y(y.data,t.options)}),e._optimisticResults==="isRestoring"&&(r.fetchStatus="idle")}let{error:R,errorUpdatedAt:S,status:v}=r;o=r.data;let U=!1;if(e.placeholderData!==void 0&&o===void 0&&v==="pending"){let h;a?.isPlaceholderData&&e.placeholderData===n?.placeholderData?(h=a.data,U=!0):h=typeof e.placeholderData=="function"?e.placeholderData(this.#d?.state.data,this.#d):e.placeholderData,h!==void 0&&(v="success",o=A(a?.data,h,e),l=!0)}if(e.select&&o!==void 0&&!U)if(a&&o===u?.data&&e.select===this.#v)o=this.#l;else try{this.#v=e.select,o=e.select(o),o=A(a?.data,o,e),this.#l=o,this.#r=null}catch(h){this.#r=h}this.#r&&(R=this.#r,o=this.#l,S=Date.now(),v="error");const T=r.fetchStatus==="fetching",w=v==="pending",Q=v==="error",D=w&&T,k=o!==void 0,p={status:v,fetchStatus:r.fetchStatus,isPending:w,isSuccess:v==="success",isError:Q,isInitialLoading:D,isLoading:D,data:o,dataUpdatedAt:r.dataUpdatedAt,error:R,errorUpdatedAt:S,failureCount:r.fetchFailureCount,failureReason:r.fetchFailureReason,errorUpdateCount:r.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:r.dataUpdateCount>b.dataUpdateCount||r.errorUpdateCount>b.errorUpdateCount,isFetching:T,isRefetching:T&&!w,isLoadingError:Q&&!k,isPaused:r.fetchStatus==="paused",isPlaceholderData:l,isRefetchError:Q&&k,isStale:F(t,e),refetch:this.refetch,promise:this.#i,isEnabled:c(e.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const h=p.data!==void 0,m=p.status==="error"&&!h,O=C=>{m?C.reject(p.error):h&&C.resolve(p.data)},L=()=>{const C=this.#i=p.promise=N();O(C)},E=this.#i;switch(E.status){case"pending":t.queryHash===s.queryHash&&O(E);break;case"fulfilled":(m||p.data!==E.value)&&L();break;case"rejected":(!m||p.error!==E.reason)&&L();break}}return p}updateResult(){const t=this.#e,e=this.createResult(this.#t,this.options);if(this.#n=this.#t.state,this.#u=this.options,this.#n.data!==void 0&&(this.#d=this.#t),M(e,t))return;this.#e=e;const s=()=>{if(!t)return!0;const{notifyOnChangeProps:i}=this.options,a=typeof i=="function"?i():i;if(a==="all"||!a&&!this.#f.size)return!0;const u=new Set(a??this.#f);return this.options.throwOnError&&u.add("error"),Object.keys(this.#e).some(n=>{const f=n;return this.#e[f]!==t[f]&&u.has(f)})};this.#E({listeners:s()})}#O(){const t=this.#s.getQueryCache().build(this.#s,this.options);if(t===this.#t)return;const e=this.#t;this.#t=t,this.#p=t.state,this.hasListeners()&&(e?.removeObserver(this),t.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#g()}#E(t){z.batch(()=>{t.listeners&&this.listeners.forEach(e=>{e(this.#e)}),this.#s.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function q(t,e){return c(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&c(e.retryOnMount,t)===!1)}function j(t,e){return q(t,e)||t.state.data!==void 0&&P(t,e,e.refetchOnMount)}function P(t,e,s){if(c(e.enabled,t)!==!1&&g(e.staleTime,t)!=="static"){const i=typeof s=="function"?s(t):s;return i==="always"||i!==!1&&F(t,e)}return!1}function H(t,e,s,i){return(t!==e||c(i.enabled,t)===!1)&&(!s.suspense||t.state.status!=="error")&&F(t,s)}function F(t,e){return c(e.enabled,t)!==!1&&t.isStaleByTime(g(e.staleTime,t))}function tt(t,e){return!M(t.getCurrentResult(),e)}var K=d.createContext(!1),et=()=>d.useContext(K);K.Provider;function st(){let t=!1;return{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t}}var it=d.createContext(st()),rt=()=>d.useContext(it),at=(t,e,s)=>{const i=s?.state.error&&typeof t.throwOnError=="function"?V(t.throwOnError,[s.state.error,s]):t.throwOnError;(t.suspense||t.experimental_prefetchInRender||i)&&(e.isReset()||(t.retryOnMount=!1))},nt=t=>{d.useEffect(()=>{t.clearReset()},[t])},ot=({result:t,errorResetBoundary:e,throwOnError:s,query:i,suspense:a})=>t.isError&&!e.isReset()&&!t.isFetching&&i&&(a&&t.data===void 0||V(s,[t.error,i])),ht=t=>{if(t.suspense){const s=a=>a==="static"?a:Math.max(a??1e3,1e3),i=t.staleTime;t.staleTime=typeof i=="function"?(...a)=>s(i(...a)):s(i),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},ct=(t,e)=>t.isLoading&&t.isFetching&&!e,ut=(t,e)=>t?.suspense&&e.isPending,W=(t,e,s)=>e.fetchOptimistic(t).catch(()=>{s.clearReset()});function lt(t,e,s){const i=et(),a=rt(),u=Z(),n=u.defaultQueryOptions(t);u.getDefaultOptions().queries?._experimental_beforeQuery?.(n);const f=u.getQueryCache().get(n.queryHash),b=t.subscribed!==!1;n._optimisticResults=i?"isRestoring":b?"optimistic":void 0,ht(n),at(n,a,f),nt(a);const y=!u.getQueryCache().get(n.queryHash),[r]=d.useState(()=>new e(u,n)),l=r.getOptimisticResult(n),o=!i&&b;if(d.useSyncExternalStore(d.useCallback(R=>{const S=o?r.subscribe(z.batchCalls(R)):x;return r.updateResult(),S},[r,o]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),d.useEffect(()=>{r.setOptions(n)},[n,r]),ut(n,l))throw W(n,r,a);if(ot({result:l,errorResetBoundary:a,throwOnError:n.throwOnError,query:f,suspense:n.suspense}))throw l.error;return u.getDefaultOptions().queries?._experimental_afterQuery?.(n,l),n.experimental_prefetchInRender&&!_.isServer()&&ct(l,i)&&(y?W(n,r,a):f?.promise)?.catch(x).finally(()=>{r.updateResult()}),n.notifyOnChangeProps?l:r.trackResult(l)}function vt(t,e){return lt(t,$)}export{vt as u};
2
- //# sourceMappingURL=useQuery-Ds6-WURB.js.map
1
+ import{a1 as G,a2 as N,a3 as c,a4 as M,a5 as g,a6 as x,a7 as _,a8 as B,a9 as J,aa as I,ab as X,ac as Y,ad as A,ae as z,af as V,a as Z}from"./index-D4Np2s3l.js";import{r as d}from"./react-Cb2sDjhD.js";var $=class extends G{constructor(t,e){super(),this.options=e,this.#s=t,this.#r=null,this.#i=N(),this.bindMethods(),this.setOptions(e)}#s;#t=void 0;#p=void 0;#e=void 0;#n;#u;#i;#r;#v;#l;#d;#o;#h;#a;#f=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),j(this.#t,this.options)?this.#c():this.updateResult(),this.#g())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return P(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return P(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#y(),this.#S(),this.#t.removeObserver(this)}setOptions(t){const e=this.options,s=this.#t;if(this.options=this.#s.defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof c(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#O(),this.#t.setOptions(this.options),e._defaulted&&!M(this.options,e)&&this.#s.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const i=this.hasListeners();i&&H(this.#t,s,this.options,e)&&this.#c(),this.updateResult(),i&&(this.#t!==s||c(this.options.enabled,this.#t)!==c(e.enabled,this.#t)||g(this.options.staleTime,this.#t)!==g(e.staleTime,this.#t))&&this.#b();const a=this.#R();i&&(this.#t!==s||c(this.options.enabled,this.#t)!==c(e.enabled,this.#t)||a!==this.#a)&&this.#m(a)}getOptimisticResult(t){const e=this.#s.getQueryCache().build(this.#s,t),s=this.createResult(e,t);return tt(this,s)&&(this.#e=s,this.#u=this.options,this.#n=this.#t.state),s}getCurrentResult(){return this.#e}trackResult(t,e){return new Proxy(t,{get:(s,i)=>(this.trackProp(i),e?.(i),i==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#i.status==="pending"&&this.#i.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(s,i))})}trackProp(t){this.#f.add(t)}getCurrentQuery(){return this.#t}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const e=this.#s.defaultQueryOptions(t),s=this.#s.getQueryCache().build(this.#s,e);return s.fetch().then(()=>this.createResult(s,e))}fetch(t){return this.#c({...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#e))}#c(t){this.#O();let e=this.#t.fetch(this.options,t);return t?.throwOnError||(e=e.catch(x)),e}#b(){this.#y();const t=g(this.options.staleTime,this.#t);if(_.isServer()||this.#e.isStale||!B(t))return;const s=J(this.#e.dataUpdatedAt,t)+1;this.#o=I.setTimeout(()=>{this.#e.isStale||this.updateResult()},s)}#R(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#m(t){this.#S(),this.#a=t,!(_.isServer()||c(this.options.enabled,this.#t)===!1||!B(this.#a)||this.#a===0)&&(this.#h=I.setInterval(()=>{(this.options.refetchIntervalInBackground||X.isFocused())&&this.#c()},this.#a))}#g(){this.#b(),this.#m(this.#R())}#y(){this.#o!==void 0&&(I.clearTimeout(this.#o),this.#o=void 0)}#S(){this.#h!==void 0&&(I.clearInterval(this.#h),this.#h=void 0)}createResult(t,e){const s=this.#t,i=this.options,a=this.#e,u=this.#n,n=this.#u,b=t!==s?t.state:this.#p,{state:y}=t;let r={...y},l=!1,o;if(e._optimisticResults){const h=this.hasListeners(),m=!h&&j(t,e),O=h&&H(t,s,e,i);(m||O)&&(r={...r,...Y(y.data,t.options)}),e._optimisticResults==="isRestoring"&&(r.fetchStatus="idle")}let{error:R,errorUpdatedAt:S,status:v}=r;o=r.data;let U=!1;if(e.placeholderData!==void 0&&o===void 0&&v==="pending"){let h;a?.isPlaceholderData&&e.placeholderData===n?.placeholderData?(h=a.data,U=!0):h=typeof e.placeholderData=="function"?e.placeholderData(this.#d?.state.data,this.#d):e.placeholderData,h!==void 0&&(v="success",o=A(a?.data,h,e),l=!0)}if(e.select&&o!==void 0&&!U)if(a&&o===u?.data&&e.select===this.#v)o=this.#l;else try{this.#v=e.select,o=e.select(o),o=A(a?.data,o,e),this.#l=o,this.#r=null}catch(h){this.#r=h}this.#r&&(R=this.#r,o=this.#l,S=Date.now(),v="error");const T=r.fetchStatus==="fetching",w=v==="pending",Q=v==="error",D=w&&T,k=o!==void 0,p={status:v,fetchStatus:r.fetchStatus,isPending:w,isSuccess:v==="success",isError:Q,isInitialLoading:D,isLoading:D,data:o,dataUpdatedAt:r.dataUpdatedAt,error:R,errorUpdatedAt:S,failureCount:r.fetchFailureCount,failureReason:r.fetchFailureReason,errorUpdateCount:r.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:r.dataUpdateCount>b.dataUpdateCount||r.errorUpdateCount>b.errorUpdateCount,isFetching:T,isRefetching:T&&!w,isLoadingError:Q&&!k,isPaused:r.fetchStatus==="paused",isPlaceholderData:l,isRefetchError:Q&&k,isStale:F(t,e),refetch:this.refetch,promise:this.#i,isEnabled:c(e.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const h=p.data!==void 0,m=p.status==="error"&&!h,O=C=>{m?C.reject(p.error):h&&C.resolve(p.data)},L=()=>{const C=this.#i=p.promise=N();O(C)},E=this.#i;switch(E.status){case"pending":t.queryHash===s.queryHash&&O(E);break;case"fulfilled":(m||p.data!==E.value)&&L();break;case"rejected":(!m||p.error!==E.reason)&&L();break}}return p}updateResult(){const t=this.#e,e=this.createResult(this.#t,this.options);if(this.#n=this.#t.state,this.#u=this.options,this.#n.data!==void 0&&(this.#d=this.#t),M(e,t))return;this.#e=e;const s=()=>{if(!t)return!0;const{notifyOnChangeProps:i}=this.options,a=typeof i=="function"?i():i;if(a==="all"||!a&&!this.#f.size)return!0;const u=new Set(a??this.#f);return this.options.throwOnError&&u.add("error"),Object.keys(this.#e).some(n=>{const f=n;return this.#e[f]!==t[f]&&u.has(f)})};this.#E({listeners:s()})}#O(){const t=this.#s.getQueryCache().build(this.#s,this.options);if(t===this.#t)return;const e=this.#t;this.#t=t,this.#p=t.state,this.hasListeners()&&(e?.removeObserver(this),t.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#g()}#E(t){z.batch(()=>{t.listeners&&this.listeners.forEach(e=>{e(this.#e)}),this.#s.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function q(t,e){return c(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&c(e.retryOnMount,t)===!1)}function j(t,e){return q(t,e)||t.state.data!==void 0&&P(t,e,e.refetchOnMount)}function P(t,e,s){if(c(e.enabled,t)!==!1&&g(e.staleTime,t)!=="static"){const i=typeof s=="function"?s(t):s;return i==="always"||i!==!1&&F(t,e)}return!1}function H(t,e,s,i){return(t!==e||c(i.enabled,t)===!1)&&(!s.suspense||t.state.status!=="error")&&F(t,s)}function F(t,e){return c(e.enabled,t)!==!1&&t.isStaleByTime(g(e.staleTime,t))}function tt(t,e){return!M(t.getCurrentResult(),e)}var K=d.createContext(!1),et=()=>d.useContext(K);K.Provider;function st(){let t=!1;return{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t}}var it=d.createContext(st()),rt=()=>d.useContext(it),at=(t,e,s)=>{const i=s?.state.error&&typeof t.throwOnError=="function"?V(t.throwOnError,[s.state.error,s]):t.throwOnError;(t.suspense||t.experimental_prefetchInRender||i)&&(e.isReset()||(t.retryOnMount=!1))},nt=t=>{d.useEffect(()=>{t.clearReset()},[t])},ot=({result:t,errorResetBoundary:e,throwOnError:s,query:i,suspense:a})=>t.isError&&!e.isReset()&&!t.isFetching&&i&&(a&&t.data===void 0||V(s,[t.error,i])),ht=t=>{if(t.suspense){const s=a=>a==="static"?a:Math.max(a??1e3,1e3),i=t.staleTime;t.staleTime=typeof i=="function"?(...a)=>s(i(...a)):s(i),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},ct=(t,e)=>t.isLoading&&t.isFetching&&!e,ut=(t,e)=>t?.suspense&&e.isPending,W=(t,e,s)=>e.fetchOptimistic(t).catch(()=>{s.clearReset()});function lt(t,e,s){const i=et(),a=rt(),u=Z(),n=u.defaultQueryOptions(t);u.getDefaultOptions().queries?._experimental_beforeQuery?.(n);const f=u.getQueryCache().get(n.queryHash),b=t.subscribed!==!1;n._optimisticResults=i?"isRestoring":b?"optimistic":void 0,ht(n),at(n,a,f),nt(a);const y=!u.getQueryCache().get(n.queryHash),[r]=d.useState(()=>new e(u,n)),l=r.getOptimisticResult(n),o=!i&&b;if(d.useSyncExternalStore(d.useCallback(R=>{const S=o?r.subscribe(z.batchCalls(R)):x;return r.updateResult(),S},[r,o]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),d.useEffect(()=>{r.setOptions(n)},[n,r]),ut(n,l))throw W(n,r,a);if(ot({result:l,errorResetBoundary:a,throwOnError:n.throwOnError,query:f,suspense:n.suspense}))throw l.error;return u.getDefaultOptions().queries?._experimental_afterQuery?.(n,l),n.experimental_prefetchInRender&&!_.isServer()&&ct(l,i)&&(y?W(n,r,a):f?.promise)?.catch(x).finally(()=>{r.updateResult()}),n.notifyOnChangeProps?l:r.trackResult(l)}function vt(t,e){return lt(t,$)}export{vt as u};
2
+ //# sourceMappingURL=useQuery-B25CPtUF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery-Ds6-WURB.js","sources":["../../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js","../../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../node_modules/@tanstack/react-query/build/modern/suspense.js","../../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../node_modules/@tanstack/react-query/build/modern/useQuery.js"],"sourcesContent":["// src/queryObserver.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { fetchState } from \"./query.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #currentThenable;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== \"boolean\") {\n throw new Error(\n \"Expected enabled to be a boolean or a callback that returns a boolean\"\n );\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult();\n if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n if (key === \"promise\") {\n this.trackProp(\"data\");\n if (!this.options.experimental_prefetchInRender && this.#currentThenable.status === \"pending\") {\n this.#currentThenable.reject(\n new Error(\n \"experimental_prefetchInRender feature flag is not enabled\"\n )\n );\n }\n }\n return Reflect.get(target, key);\n }\n });\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery\n );\n if (environmentManager.isServer() || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time + 1;\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (environmentManager.isServer() || resolveQueryBoolean(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId !== void 0) {\n timeoutManager.clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId !== void 0) {\n timeoutManager.clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n isEnabled: resolveQueryBoolean(options.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const hasResultData = nextResult.data !== void 0;\n const isErrorWithoutData = nextResult.status === \"error\" && !hasResultData;\n const finalizeThenableIfPossible = (thenable) => {\n if (isErrorWithoutData) {\n thenable.reject(nextResult.error);\n } else if (hasResultData) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = this.#currentThenable = nextResult.promise = pendingThenable();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = this.#currentThenable;\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (isErrorWithoutData || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (!isErrorWithoutData || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n this.#notify({ listeners: shouldNotifyListeners() });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return resolveQueryBoolean(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && resolveQueryBoolean(options.retryOnMount, query) === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (resolveQueryBoolean(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || resolveQueryBoolean(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return resolveQueryBoolean(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","\"use client\";\n\n// src/IsRestoringProvider.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=IsRestoringProvider.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"@tanstack/query-core\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary, query) => {\n const throwOnError = query?.state.error && typeof options.throwOnError === \"function\" ? shouldThrowError(options.throwOnError, [query.state.error, query]) : options.throwOnError;\n if (options.suspense || options.experimental_prefetchInRender || throwOnError) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));\n};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureSuspenseTimers = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n const MIN_SUSPENSE_TIME_MS = 1e3;\n const clamp = (value) => value === \"static\" ? value : Math.max(value ?? MIN_SUSPENSE_TIME_MS, MIN_SUSPENSE_TIME_MS);\n const originalStaleTime = defaultedOptions.staleTime;\n defaultedOptions.staleTime = typeof originalStaleTime === \"function\" ? (...args) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(\n defaultedOptions.gcTime,\n MIN_SUSPENSE_TIME_MS\n );\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { environmentManager, noop, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n} from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n );\n }\n }\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const client = useQueryClient(queryClient);\n const defaultedOptions = client.defaultQueryOptions(options);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\n );\n const query = client.getQueryCache().get(defaultedOptions.queryHash);\n if (process.env.NODE_ENV !== \"production\") {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`\n );\n }\n }\n const subscribed = options.subscribed !== false;\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : subscribed ? \"optimistic\" : void 0;\n ensureSuspenseTimers(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary, query);\n useClearResetErrorBoundary(errorResetBoundary);\n const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n const shouldSubscribe = !isRestoring && subscribed;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;\n observer.updateResult();\n return unsubscribe;\n },\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions);\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query,\n suspense: defaultedOptions.suspense\n })) {\n throw result.error;\n }\n ;\n client.getDefaultOptions().queries?._experimental_afterQuery?.(\n defaultedOptions,\n result\n );\n if (defaultedOptions.experimental_prefetchInRender && !environmentManager.isServer() && willFetch(result, isRestoring)) {\n const promise = isNewCacheEntry ? (\n // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n ) : (\n // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n query?.promise\n );\n promise?.catch(noop).finally(() => {\n observer.updateResult();\n });\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map"],"names":["QueryObserver","Subscribable","client","options","#client","#selectError","#currentThenable","pendingThenable","#currentQuery","#currentQueryInitialState","#currentResult","#currentResultState","#currentResultOptions","#selectFn","#selectResult","#lastQueryWithDefinedData","#staleTimeoutId","#refetchIntervalId","#currentRefetchInterval","#trackedProps","shouldFetchOnMount","#executeFetch","#updateTimers","shouldFetchOn","#clearStaleTimeout","#clearRefetchInterval","prevOptions","prevQuery","resolveQueryBoolean","#updateQuery","shallowEqualObjects","mounted","shouldFetchOptionally","resolveStaleTime","#updateStaleTimeout","nextRefetchInterval","#computeRefetchInterval","#updateRefetchInterval","query","result","shouldAssignObserverCurrentProperties","onPropTracked","target","key","defaultedOptions","fetchOptions","promise","noop","staleTime","environmentManager","isValidTimeout","timeout","timeUntilStale","timeoutManager","nextInterval","focusManager","prevResult","prevResultState","prevResultOptions","queryInitialState","state","newState","isPlaceholderData","data","fetchOnMount","fetchOptionally","fetchState","error","errorUpdatedAt","status","skipSelect","placeholderData","replaceData","selectError","isFetching","isPending","isError","isLoading","hasData","nextResult","isStale","hasResultData","isErrorWithoutData","finalizeThenableIfPossible","thenable","recreateThenable","pending","prevThenable","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","#notify","notifyOptions","notifyManager","listener","shouldLoadOnMount","field","value","observer","optimisticResult","IsRestoringContext","React.createContext","useIsRestoring","React.useContext","createValue","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","ensurePreventErrorBoundaryRetry","errorResetBoundary","throwOnError","shouldThrowError","useClearResetErrorBoundary","React.useEffect","getHasError","suspense","ensureSuspenseTimers","clamp","originalStaleTime","args","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useBaseQuery","Observer","queryClient","useQueryClient","subscribed","isNewCacheEntry","React.useState","shouldSubscribe","React.useSyncExternalStore","React.useCallback","onStoreChange","unsubscribe","useQuery"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
1
+ {"version":3,"file":"useQuery-B25CPtUF.js","sources":["../../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js","../../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../node_modules/@tanstack/react-query/build/modern/suspense.js","../../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../node_modules/@tanstack/react-query/build/modern/useQuery.js"],"sourcesContent":["// src/queryObserver.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { fetchState } from \"./query.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #currentThenable;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== \"boolean\") {\n throw new Error(\n \"Expected enabled to be a boolean or a callback that returns a boolean\"\n );\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult();\n if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n if (key === \"promise\") {\n this.trackProp(\"data\");\n if (!this.options.experimental_prefetchInRender && this.#currentThenable.status === \"pending\") {\n this.#currentThenable.reject(\n new Error(\n \"experimental_prefetchInRender feature flag is not enabled\"\n )\n );\n }\n }\n return Reflect.get(target, key);\n }\n });\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery\n );\n if (environmentManager.isServer() || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time + 1;\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (environmentManager.isServer() || resolveQueryBoolean(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId !== void 0) {\n timeoutManager.clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId !== void 0) {\n timeoutManager.clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n isEnabled: resolveQueryBoolean(options.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const hasResultData = nextResult.data !== void 0;\n const isErrorWithoutData = nextResult.status === \"error\" && !hasResultData;\n const finalizeThenableIfPossible = (thenable) => {\n if (isErrorWithoutData) {\n thenable.reject(nextResult.error);\n } else if (hasResultData) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = this.#currentThenable = nextResult.promise = pendingThenable();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = this.#currentThenable;\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (isErrorWithoutData || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (!isErrorWithoutData || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n this.#notify({ listeners: shouldNotifyListeners() });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return resolveQueryBoolean(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && resolveQueryBoolean(options.retryOnMount, query) === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (resolveQueryBoolean(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || resolveQueryBoolean(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return resolveQueryBoolean(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","\"use client\";\n\n// src/IsRestoringProvider.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=IsRestoringProvider.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"@tanstack/query-core\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary, query) => {\n const throwOnError = query?.state.error && typeof options.throwOnError === \"function\" ? shouldThrowError(options.throwOnError, [query.state.error, query]) : options.throwOnError;\n if (options.suspense || options.experimental_prefetchInRender || throwOnError) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));\n};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureSuspenseTimers = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n const MIN_SUSPENSE_TIME_MS = 1e3;\n const clamp = (value) => value === \"static\" ? value : Math.max(value ?? MIN_SUSPENSE_TIME_MS, MIN_SUSPENSE_TIME_MS);\n const originalStaleTime = defaultedOptions.staleTime;\n defaultedOptions.staleTime = typeof originalStaleTime === \"function\" ? (...args) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(\n defaultedOptions.gcTime,\n MIN_SUSPENSE_TIME_MS\n );\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { environmentManager, noop, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n} from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n );\n }\n }\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const client = useQueryClient(queryClient);\n const defaultedOptions = client.defaultQueryOptions(options);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\n );\n const query = client.getQueryCache().get(defaultedOptions.queryHash);\n if (process.env.NODE_ENV !== \"production\") {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`\n );\n }\n }\n const subscribed = options.subscribed !== false;\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : subscribed ? \"optimistic\" : void 0;\n ensureSuspenseTimers(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary, query);\n useClearResetErrorBoundary(errorResetBoundary);\n const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n const shouldSubscribe = !isRestoring && subscribed;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;\n observer.updateResult();\n return unsubscribe;\n },\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions);\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query,\n suspense: defaultedOptions.suspense\n })) {\n throw result.error;\n }\n ;\n client.getDefaultOptions().queries?._experimental_afterQuery?.(\n defaultedOptions,\n result\n );\n if (defaultedOptions.experimental_prefetchInRender && !environmentManager.isServer() && willFetch(result, isRestoring)) {\n const promise = isNewCacheEntry ? (\n // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n ) : (\n // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n query?.promise\n );\n promise?.catch(noop).finally(() => {\n observer.updateResult();\n });\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map"],"names":["QueryObserver","Subscribable","client","options","#client","#selectError","#currentThenable","pendingThenable","#currentQuery","#currentQueryInitialState","#currentResult","#currentResultState","#currentResultOptions","#selectFn","#selectResult","#lastQueryWithDefinedData","#staleTimeoutId","#refetchIntervalId","#currentRefetchInterval","#trackedProps","shouldFetchOnMount","#executeFetch","#updateTimers","shouldFetchOn","#clearStaleTimeout","#clearRefetchInterval","prevOptions","prevQuery","resolveQueryBoolean","#updateQuery","shallowEqualObjects","mounted","shouldFetchOptionally","resolveStaleTime","#updateStaleTimeout","nextRefetchInterval","#computeRefetchInterval","#updateRefetchInterval","query","result","shouldAssignObserverCurrentProperties","onPropTracked","target","key","defaultedOptions","fetchOptions","promise","noop","staleTime","environmentManager","isValidTimeout","timeout","timeUntilStale","timeoutManager","nextInterval","focusManager","prevResult","prevResultState","prevResultOptions","queryInitialState","state","newState","isPlaceholderData","data","fetchOnMount","fetchOptionally","fetchState","error","errorUpdatedAt","status","skipSelect","placeholderData","replaceData","selectError","isFetching","isPending","isError","isLoading","hasData","nextResult","isStale","hasResultData","isErrorWithoutData","finalizeThenableIfPossible","thenable","recreateThenable","pending","prevThenable","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","#notify","notifyOptions","notifyManager","listener","shouldLoadOnMount","field","value","observer","optimisticResult","IsRestoringContext","React.createContext","useIsRestoring","React.useContext","createValue","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","ensurePreventErrorBoundaryRetry","errorResetBoundary","throwOnError","shouldThrowError","useClearResetErrorBoundary","React.useEffect","getHasError","suspense","ensureSuspenseTimers","clamp","originalStaleTime","args","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useBaseQuery","Observer","queryClient","useQueryClient","subscribed","isNewCacheEntry","React.useState","shouldSubscribe","React.useSyncExternalStore","React.useCallback","onStoreChange","unsubscribe","useQuery"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
@@ -1,2 +1,2 @@
1
- import{b as S,d as O,a as V,u as L,j as e,k,B as p,S as Q,f as G,g as X,h as Z,i as H,I as y,l as c,m as j,L as J,e as $,c as Y}from"./index-CqwhfPlr.js";import{r as g}from"./react-Cb2sDjhD.js";import{u as ee,a as te}from"./use-settings-DBXvAYm9.js";import{u as se}from"./useQuery-Ds6-WURB.js";import{m as ae}from"./use-memory-CxasvYqR.js";import{L as M}from"./loader-circle-U-jPjmeD.js";import{S as re}from"./save-DVHI3V6o.js";import{E as oe,a as ne}from"./eye-DJJw0Ald.js";import{C as ie}from"./confirm-dialog-r9HgkIYf.js";import{E as ce}from"./empty-state-CrPnUC6d.js";import{C as F}from"./circle-x-THl-PO3_.js";import{R as le}from"./refresh-ccw-CBiHL1tY.js";import{P}from"./play-BG0hyTnO.js";import{D as de}from"./download-5ihiF2Gj.js";import{T as me}from"./trash-2-BoFq2ZOF.js";import{C as ue}from"./circle-check-big-C4BGLUvw.js";import"./dialog-fGS0IXOo.js";import"./x-ClXUlQDe.js";const D={all:["memory","vector"],status:t=>["memory","vector","status",t??null]};function xe(t={}){return se({queryKey:D.status(t.user_key),queryFn:()=>O.getMemoryVectorStatus(t),refetchInterval:3e3,refetchIntervalInBackground:!1})}function z(t){return()=>{t.invalidateQueries({queryKey:D.all}),t.invalidateQueries({queryKey:ae.all})}}function he(){const t=V(),s=z(t);return S({mutationFn:n=>O.backfillMemoryVector({user_key:n?.user_key},n?.max_rows?{max_rows:n.max_rows}:void 0),onSuccess:s})}function fe(){const t=V();return S({mutationFn:()=>O.downloadMemoryVector(),onSuccess:z(t)})}function pe(){const t=V();return S({mutationFn:s=>O.clearMemoryVector({user_key:s?.user_key}),onSuccess:z(t)})}function W(){return S({mutationFn:()=>O.testMemoryVector()})}const m={backend:"off",localModel:"Xenova/bge-base-zh-v1.5",openaiBaseUrl:"https://api.openai.com/v1",openaiModel:"text-embedding-3-small",openaiApiKey:"",batchSize:"32",hybridWeight:"0.5"};function ve(t){const s=(t.IMHUB_MEMORY_VECTOR_BACKEND||"").toLowerCase();return{backend:s==="local"||s==="openai"?s:"off",localModel:t.IMHUB_MEMORY_VECTOR_LOCAL_MODEL||"",openaiBaseUrl:t.IMHUB_MEMORY_VECTOR_OPENAI_BASE_URL||"",openaiModel:t.IMHUB_MEMORY_VECTOR_OPENAI_MODEL||"",openaiApiKey:"",batchSize:t.IMHUB_MEMORY_VECTOR_BATCH_SIZE||"",hybridWeight:t.IMHUB_MEMORY_VECTOR_HYBRID_WEIGHT||""}}function ge({onSaved:t}){const{t:s}=L(["memory","common"]),n=ee({reveal:!1}),l=g.useMemo(()=>n.data?.env??{},[n.data?.env]),[r,h]=g.useState(m),[N,_]=g.useState(!1),f=g.useRef(m);g.useEffect(()=>{if(!n.data)return;const a=ve(l);h(a),f.current=a},[l,n.data]);const b=te(),E=W(),w=g.useMemo(()=>{const a=f.current;return Object.keys(r).some(d=>r[d]!==a[d])},[r]);function x(a,d){h(o=>({...o,[a]:d}))}function B(a){h(d=>{const o={...d,backend:a};return a==="local"&&!o.localModel.trim()&&(o.localModel=m.localModel),a==="openai"&&(o.openaiBaseUrl.trim()||(o.openaiBaseUrl=m.openaiBaseUrl),o.openaiModel.trim()||(o.openaiModel=m.openaiModel)),a!=="off"&&(o.batchSize.trim()||(o.batchSize=m.batchSize),o.hybridWeight.trim()||(o.hybridWeight=m.hybridWeight)),o})}function A(){if(r.backend==="openai"){if(!r.openaiBaseUrl.trim())return s("vector.form.errors.baseUrlRequired");try{new URL(r.openaiBaseUrl.trim())}catch{return s("vector.form.errors.baseUrlInvalid")}if(!r.openaiModel.trim())return s("vector.form.errors.openaiModelRequired");if(!!!l.IMHUB_MEMORY_VECTOR_OPENAI_API_KEY&&!r.openaiApiKey.trim())return s("vector.form.errors.apiKeyRequired")}if(r.backend==="local"&&!r.localModel.trim())return s("vector.form.errors.localModelRequired");if(r.batchSize.trim()){const a=Number(r.batchSize);if(!Number.isFinite(a)||a<1||a>1024)return s("vector.form.errors.batchSizeRange")}if(r.hybridWeight.trim()){const a=Number(r.hybridWeight);if(!Number.isFinite(a)||a<0||a>1)return s("vector.form.errors.hybridWeightRange")}return null}function I(){const a=f.current,d={},o=(C,U,q)=>{U!==q&&(d[C]=U.trim()===""?null:U.trim())};return o("IMHUB_MEMORY_VECTOR_BACKEND",r.backend,a.backend),o("IMHUB_MEMORY_VECTOR_LOCAL_MODEL",r.localModel,a.localModel),o("IMHUB_MEMORY_VECTOR_OPENAI_BASE_URL",r.openaiBaseUrl,a.openaiBaseUrl),o("IMHUB_MEMORY_VECTOR_OPENAI_MODEL",r.openaiModel,a.openaiModel),o("IMHUB_MEMORY_VECTOR_BATCH_SIZE",r.batchSize,a.batchSize),o("IMHUB_MEMORY_VECTOR_HYBRID_WEIGHT",r.hybridWeight,a.hybridWeight),r.openaiApiKey.trim()&&(d.IMHUB_MEMORY_VECTOR_OPENAI_API_KEY=r.openaiApiKey.trim()),d}async function T(){const a=A();if(a){c.error(a);return}const d=I();if(Object.keys(d).length===0){c.info(s("vector.form.nothingChanged"));return}try{await b.mutateAsync({updates:d}),c.success(s("vector.form.savedToast"));try{const o=await E.mutateAsync();o.ok?c.success(s("vector.actions.testOk")):c.error(s("vector.actions.testFail",{detail:o.error??""}))}catch(o){const{message:C}=j(o,s);c.error(s("vector.actions.testFail",{detail:C}))}t?.()}catch(o){const{message:C}=j(o,s);c.error(C)}}function R(){h(f.current)}const i=b.isPending||E.isPending,u=!!l.IMHUB_MEMORY_VECTOR_OPENAI_API_KEY;return e.jsxs("div",{className:"rounded-md border border-border bg-surface p-3",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("h2",{className:"text-sm font-medium",children:s("vector.form.title")}),w&&e.jsx(k,{variant:"info",children:s("vector.form.dirty")}),e.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[w&&e.jsx(p,{type:"button",variant:"secondary",size:"sm",onClick:R,disabled:i,children:s("vector.form.discard")}),e.jsxs(p,{type:"button",size:"sm",onClick:()=>void T(),disabled:!w||i,children:[i?e.jsx(M,{className:"h-4 w-4 animate-spin"}):e.jsx(re,{className:"h-4 w-4"}),s("vector.form.saveAndTest")]})]})]}),e.jsx("p",{className:"mt-1 text-xs text-text-dim",children:s("vector.form.hint")}),n.isLoading?e.jsx("div",{className:"mt-3 h-32 w-full rounded-md bg-surface-2 animate-pulse"}):e.jsxs("div",{className:"mt-3 grid grid-cols-1 gap-3 sm:grid-cols-2",children:[e.jsx(v,{label:s("vector.form.backend"),help:s("vector.form.backendHelp"),children:e.jsxs(Q,{value:r.backend,onValueChange:a=>B(a),children:[e.jsx(G,{children:e.jsx(X,{})}),e.jsxs(Z,{children:[e.jsx(H,{value:"off",children:s("vector.form.backendOff")}),e.jsx(H,{value:"local",children:s("vector.form.backendLocal")}),e.jsx(H,{value:"openai",children:s("vector.form.backendOpenai")})]})]})}),r.backend==="local"&&e.jsx(v,{label:s("vector.form.localModel"),help:s("vector.form.localModelHelp"),children:e.jsx(y,{value:r.localModel,placeholder:m.localModel,onChange:a=>x("localModel",a.target.value),className:"font-mono text-xs"})}),r.backend==="openai"&&e.jsxs(e.Fragment,{children:[e.jsx(v,{label:s("vector.form.openaiBaseUrl"),help:s("vector.form.openaiBaseUrlHelp"),children:e.jsx(y,{value:r.openaiBaseUrl,placeholder:m.openaiBaseUrl,onChange:a=>x("openaiBaseUrl",a.target.value),className:"font-mono text-xs"})}),e.jsx(v,{label:s("vector.form.openaiModel"),help:s("vector.form.openaiModelHelp"),children:e.jsx(y,{value:r.openaiModel,placeholder:m.openaiModel,onChange:a=>x("openaiModel",a.target.value),className:"font-mono text-xs"})}),e.jsx(v,{label:s("vector.form.openaiApiKey"),help:s(u?"vector.form.apiKeyKeepHint":"vector.form.apiKeyNewHint"),children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(y,{type:N?"text":"password",value:r.openaiApiKey,placeholder:u?l.IMHUB_MEMORY_VECTOR_OPENAI_API_KEY||"••••":"sk-…",onChange:a=>x("openaiApiKey",a.target.value),className:"font-mono text-xs",autoComplete:"off"}),e.jsx(p,{type:"button",variant:"ghost",size:"icon",onClick:()=>_(a=>!a),"aria-label":s("vector.form.toggleApiKey"),children:N?e.jsx(oe,{className:"h-4 w-4"}):e.jsx(ne,{className:"h-4 w-4"})})]})})]}),r.backend!=="off"&&e.jsxs(e.Fragment,{children:[e.jsx(v,{label:s("vector.form.batchSize"),help:s("vector.form.batchSizeHelp"),children:e.jsx(y,{type:"number",min:1,max:1024,step:1,value:r.batchSize,placeholder:m.batchSize,onChange:a=>x("batchSize",a.target.value),className:"font-mono text-xs"})}),e.jsx(v,{label:s("vector.form.hybridWeight"),help:s("vector.form.hybridWeightHelp"),children:e.jsx(y,{type:"number",min:0,max:1,step:.05,value:r.hybridWeight,placeholder:m.hybridWeight,onChange:a=>x("hybridWeight",a.target.value),className:"font-mono text-xs"})})]})]})]})}function v({label:t,help:s,children:n}){return e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(J,{className:"text-xs text-text-dim",children:t}),n,s&&e.jsx("p",{className:"text-[11px] text-text-muted",children:s})]})}function Le(){const{t}=L(["memory","common"]),[s]=$(),n=s.get("user")??"",l=xe(n?{user_key:n}:{}),r=l.data?.status,h=l.data?.coverage,N=l.data?.jobs??[],_=W(),f=fe(),b=he(),E=pe(),[w,x]=g.useState(!1);async function B(){try{const i=await _.mutateAsync();i.ok?c.success(t("vector.actions.testOk")):c.error(t("vector.actions.testFail",{detail:i.error??""}))}catch(i){const{message:u}=j(i,t);c.error(u)}}async function A(){try{const i=await f.mutateAsync();c.success(i.alreadyReady?t("vector.actions.downloadAlreadyReady"):t("vector.actions.downloadStarted"))}catch(i){const{message:u}=j(i,t);c.error(u)}}async function I(){try{await b.mutateAsync(n?{user_key:n}:void 0),c.success(t("vector.actions.backfillStarted"))}catch(i){const{message:u}=j(i,t);c.error(u)}}async function T(){try{const i=await E.mutateAsync(n?{user_key:n}:void 0);c.success(t("vector.actions.clearStarted",{count:i.cleared}))}catch(i){const{message:u}=j(i,t);throw c.error(u),i}}if(l.isLoading)return e.jsx("div",{className:"h-48 w-full rounded-md bg-surface-2 animate-pulse"});if(!r)return e.jsx(ce,{icon:e.jsx(F,{}),title:t("common:states.error"),description:l.error?.message??""});const R=n?t("vector.coverage.scope_user",{userKey:n}):t("vector.coverage.scope_global");return e.jsxs("div",{className:"mx-auto flex max-w-5xl flex-col gap-4",children:[e.jsxs("header",{className:"flex flex-col gap-1",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsx("h1",{className:"text-xl font-semibold",children:t("vector.title")}),e.jsxs(p,{variant:"ghost",size:"sm",className:"ml-auto",onClick:()=>l.refetch(),disabled:l.isFetching,"aria-label":t("actions.refresh",{ns:"common"}),children:[l.isFetching?e.jsx(M,{className:"h-4 w-4 animate-spin"}):e.jsx(le,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:t("actions.refresh",{ns:"common"})})]})]}),e.jsx("p",{className:"text-sm text-text-dim",children:t("vector.subtitle")})]}),e.jsx(ge,{onSaved:()=>void l.refetch()}),e.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[e.jsxs("div",{className:"rounded-md border border-border bg-surface p-3",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[e.jsx("span",{className:"font-medium",children:t("vector.backendLabel")}),e.jsx(k,{variant:"secondary",children:r.backend}),e.jsx(k,{variant:r.ready?"success":"warning",children:r.ready?t("vector.readyTrue"):t("vector.readyFalse")}),r.downloaded&&e.jsx(k,{variant:"info",children:t("vector.downloadedTrue")})]}),e.jsxs("dl",{className:"mt-3 grid grid-cols-[max-content_1fr] gap-x-3 gap-y-1 text-sm",children:[e.jsx("dt",{className:"text-text-dim",children:t("vector.modelLabel")}),e.jsx("dd",{className:"font-mono text-text",children:r.modelId||"—"}),e.jsx("dt",{className:"text-text-dim",children:t("vector.dimsLabel")}),e.jsx("dd",{className:"tabular-nums text-text",children:r.dims||"—"}),r.lastError&&e.jsxs(e.Fragment,{children:[e.jsx("dt",{className:"text-text-dim",children:t("vector.lastError")}),e.jsx("dd",{className:"text-danger text-xs break-all",children:r.lastError})]})]})]}),e.jsxs("div",{className:"rounded-md border border-border bg-surface p-3",children:[e.jsx("div",{className:"text-sm font-medium",children:t("vector.coverage.title")}),e.jsx("div",{className:"mt-1 text-xs text-text-dim",children:R}),e.jsxs("div",{className:"mt-3 grid grid-cols-3 gap-2",children:[e.jsx(K,{label:t("vector.coverage.total"),value:h?.total??0,tone:"info"}),e.jsx(K,{label:t("vector.coverage.withEmbedding"),value:h?.withEmbedding??0,tone:"success"}),e.jsx(K,{label:t("vector.coverage.withDifferentModel"),value:h?.withDifferentModel??0,tone:"warning"})]})]})]}),e.jsxs("div",{className:"rounded-md border border-border bg-surface p-3",children:[e.jsx("div",{className:"text-sm font-medium",children:t("vector.actions.title")}),e.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[e.jsxs(p,{variant:"secondary",size:"sm",onClick:()=>void B(),disabled:_.isPending,children:[_.isPending?e.jsx(M,{className:"h-4 w-4 animate-spin"}):e.jsx(P,{className:"h-4 w-4"}),t("vector.actions.test")]}),r.backend==="local"&&e.jsxs(p,{variant:"secondary",size:"sm",onClick:()=>void A(),disabled:f.isPending,children:[f.isPending?e.jsx(M,{className:"h-4 w-4 animate-spin"}):e.jsx(de,{className:"h-4 w-4"}),t("vector.actions.download")]}),e.jsxs(p,{variant:"default",size:"sm",onClick:()=>void I(),disabled:b.isPending||!r.ready,children:[b.isPending?e.jsx(M,{className:"h-4 w-4 animate-spin"}):e.jsx(P,{className:"h-4 w-4"}),t("vector.actions.backfill")]}),e.jsxs(p,{variant:"destructive",size:"sm",onClick:()=>x(!0),disabled:E.isPending,children:[e.jsx(me,{className:"h-4 w-4"}),t("vector.actions.clear")]})]})]}),e.jsxs("div",{className:"rounded-md border border-border bg-surface p-3",children:[e.jsx("div",{className:"text-sm font-medium",children:t("vector.jobs.title")}),N.length===0?e.jsx("div",{className:"mt-2 text-sm text-text-muted",children:t("vector.jobs.empty")}):e.jsx("ul",{className:"mt-2 flex flex-col gap-1.5 text-sm",children:N.map(i=>e.jsx("li",{children:e.jsx(ye,{job:i})},i.id))})]}),e.jsx(ie,{open:w,onOpenChange:x,title:t("vector.actions.confirmClear"),description:t("vector.actions.confirmClearDesc",{scope:R}),intent:"danger",confirmLabel:t("vector.actions.clear"),onConfirm:T})]})}const be={info:"border-info/30 text-info",success:"border-success/30 text-success",warning:"border-warning/30 text-warning",danger:"border-danger/30 text-danger"};function K({label:t,value:s,tone:n}){return e.jsxs("div",{className:Y("rounded-md border bg-bg px-2 py-2",be[n]),children:[e.jsx("div",{className:"text-[10px] uppercase tracking-wide text-text-dim",children:t}),e.jsx("div",{className:"text-xl font-semibold tabular-nums",children:s})]})}function ye({job:t}){const{t:s}=L("memory"),n=t.phase==="done"?"text-success":t.phase==="failed"?"text-danger":"text-info";return e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[e.jsx(k,{variant:"outline",children:t.kind}),e.jsxs("span",{className:Y("font-medium",n),children:[t.phase==="running"&&e.jsx(M,{className:"inline h-3 w-3 animate-spin"}),t.phase==="done"&&e.jsx(ue,{className:"inline h-3 w-3"}),t.phase==="failed"&&e.jsx(F,{className:"inline h-3 w-3"})," ",s(`vector.jobs.phase.${t.phase}`)]}),e.jsx("span",{className:"text-text-dim",children:t.message}),e.jsx("span",{className:"ml-auto text-text-muted tabular-nums",children:je(t.finishedAt??t.startedAt)})]})}function je(t){try{const s=new Date(t);return Number.isNaN(s.getTime())?String(t):s.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return String(t)}}export{Le as default};
2
- //# sourceMappingURL=vector-C5WBAtlL.js.map
1
+ import{b as S,d as O,a as V,u as L,j as e,k,B as p,S as Q,f as G,g as X,h as Z,i as H,I as y,l as c,m as j,L as J,e as $,c as Y}from"./index-D4Np2s3l.js";import{r as g}from"./react-Cb2sDjhD.js";import{u as ee,a as te}from"./use-settings-XXVWFAv6.js";import{u as se}from"./useQuery-B25CPtUF.js";import{m as ae}from"./use-memory-D4ViUoXw.js";import{L as M}from"./loader-circle-BfXi9R6u.js";import{S as re}from"./save-B18KQmEd.js";import{E as oe,a as ne}from"./eye-BwZbiu9G.js";import{C as ie}from"./confirm-dialog-DAfv5d0M.js";import{E as ce}from"./empty-state-CtWM3HCj.js";import{C as F}from"./circle-x-BziROBzb.js";import{R as le}from"./refresh-ccw-C7VT3MFu.js";import{P}from"./play-DqmSNGi8.js";import{D as de}from"./download-CTWGQ8nD.js";import{T as me}from"./trash-2-DOV8CHL9.js";import{C as ue}from"./circle-check-big-CkxzVtPL.js";import"./dialog-DGdHPiTV.js";import"./x-CGfY-U_P.js";const D={all:["memory","vector"],status:t=>["memory","vector","status",t??null]};function xe(t={}){return se({queryKey:D.status(t.user_key),queryFn:()=>O.getMemoryVectorStatus(t),refetchInterval:3e3,refetchIntervalInBackground:!1})}function z(t){return()=>{t.invalidateQueries({queryKey:D.all}),t.invalidateQueries({queryKey:ae.all})}}function he(){const t=V(),s=z(t);return S({mutationFn:n=>O.backfillMemoryVector({user_key:n?.user_key},n?.max_rows?{max_rows:n.max_rows}:void 0),onSuccess:s})}function fe(){const t=V();return S({mutationFn:()=>O.downloadMemoryVector(),onSuccess:z(t)})}function pe(){const t=V();return S({mutationFn:s=>O.clearMemoryVector({user_key:s?.user_key}),onSuccess:z(t)})}function W(){return S({mutationFn:()=>O.testMemoryVector()})}const m={backend:"off",localModel:"Xenova/bge-base-zh-v1.5",openaiBaseUrl:"https://api.openai.com/v1",openaiModel:"text-embedding-3-small",openaiApiKey:"",batchSize:"32",hybridWeight:"0.5"};function ve(t){const s=(t.IMHUB_MEMORY_VECTOR_BACKEND||"").toLowerCase();return{backend:s==="local"||s==="openai"?s:"off",localModel:t.IMHUB_MEMORY_VECTOR_LOCAL_MODEL||"",openaiBaseUrl:t.IMHUB_MEMORY_VECTOR_OPENAI_BASE_URL||"",openaiModel:t.IMHUB_MEMORY_VECTOR_OPENAI_MODEL||"",openaiApiKey:"",batchSize:t.IMHUB_MEMORY_VECTOR_BATCH_SIZE||"",hybridWeight:t.IMHUB_MEMORY_VECTOR_HYBRID_WEIGHT||""}}function ge({onSaved:t}){const{t:s}=L(["memory","common"]),n=ee({reveal:!1}),l=g.useMemo(()=>n.data?.env??{},[n.data?.env]),[r,h]=g.useState(m),[N,_]=g.useState(!1),f=g.useRef(m);g.useEffect(()=>{if(!n.data)return;const a=ve(l);h(a),f.current=a},[l,n.data]);const b=te(),E=W(),w=g.useMemo(()=>{const a=f.current;return Object.keys(r).some(d=>r[d]!==a[d])},[r]);function x(a,d){h(o=>({...o,[a]:d}))}function B(a){h(d=>{const o={...d,backend:a};return a==="local"&&!o.localModel.trim()&&(o.localModel=m.localModel),a==="openai"&&(o.openaiBaseUrl.trim()||(o.openaiBaseUrl=m.openaiBaseUrl),o.openaiModel.trim()||(o.openaiModel=m.openaiModel)),a!=="off"&&(o.batchSize.trim()||(o.batchSize=m.batchSize),o.hybridWeight.trim()||(o.hybridWeight=m.hybridWeight)),o})}function A(){if(r.backend==="openai"){if(!r.openaiBaseUrl.trim())return s("vector.form.errors.baseUrlRequired");try{new URL(r.openaiBaseUrl.trim())}catch{return s("vector.form.errors.baseUrlInvalid")}if(!r.openaiModel.trim())return s("vector.form.errors.openaiModelRequired");if(!!!l.IMHUB_MEMORY_VECTOR_OPENAI_API_KEY&&!r.openaiApiKey.trim())return s("vector.form.errors.apiKeyRequired")}if(r.backend==="local"&&!r.localModel.trim())return s("vector.form.errors.localModelRequired");if(r.batchSize.trim()){const a=Number(r.batchSize);if(!Number.isFinite(a)||a<1||a>1024)return s("vector.form.errors.batchSizeRange")}if(r.hybridWeight.trim()){const a=Number(r.hybridWeight);if(!Number.isFinite(a)||a<0||a>1)return s("vector.form.errors.hybridWeightRange")}return null}function I(){const a=f.current,d={},o=(C,U,q)=>{U!==q&&(d[C]=U.trim()===""?null:U.trim())};return o("IMHUB_MEMORY_VECTOR_BACKEND",r.backend,a.backend),o("IMHUB_MEMORY_VECTOR_LOCAL_MODEL",r.localModel,a.localModel),o("IMHUB_MEMORY_VECTOR_OPENAI_BASE_URL",r.openaiBaseUrl,a.openaiBaseUrl),o("IMHUB_MEMORY_VECTOR_OPENAI_MODEL",r.openaiModel,a.openaiModel),o("IMHUB_MEMORY_VECTOR_BATCH_SIZE",r.batchSize,a.batchSize),o("IMHUB_MEMORY_VECTOR_HYBRID_WEIGHT",r.hybridWeight,a.hybridWeight),r.openaiApiKey.trim()&&(d.IMHUB_MEMORY_VECTOR_OPENAI_API_KEY=r.openaiApiKey.trim()),d}async function T(){const a=A();if(a){c.error(a);return}const d=I();if(Object.keys(d).length===0){c.info(s("vector.form.nothingChanged"));return}try{await b.mutateAsync({updates:d}),c.success(s("vector.form.savedToast"));try{const o=await E.mutateAsync();o.ok?c.success(s("vector.actions.testOk")):c.error(s("vector.actions.testFail",{detail:o.error??""}))}catch(o){const{message:C}=j(o,s);c.error(s("vector.actions.testFail",{detail:C}))}t?.()}catch(o){const{message:C}=j(o,s);c.error(C)}}function R(){h(f.current)}const i=b.isPending||E.isPending,u=!!l.IMHUB_MEMORY_VECTOR_OPENAI_API_KEY;return e.jsxs("div",{className:"rounded-md border border-border bg-surface p-3",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("h2",{className:"text-sm font-medium",children:s("vector.form.title")}),w&&e.jsx(k,{variant:"info",children:s("vector.form.dirty")}),e.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[w&&e.jsx(p,{type:"button",variant:"secondary",size:"sm",onClick:R,disabled:i,children:s("vector.form.discard")}),e.jsxs(p,{type:"button",size:"sm",onClick:()=>void T(),disabled:!w||i,children:[i?e.jsx(M,{className:"h-4 w-4 animate-spin"}):e.jsx(re,{className:"h-4 w-4"}),s("vector.form.saveAndTest")]})]})]}),e.jsx("p",{className:"mt-1 text-xs text-text-dim",children:s("vector.form.hint")}),n.isLoading?e.jsx("div",{className:"mt-3 h-32 w-full rounded-md bg-surface-2 animate-pulse"}):e.jsxs("div",{className:"mt-3 grid grid-cols-1 gap-3 sm:grid-cols-2",children:[e.jsx(v,{label:s("vector.form.backend"),help:s("vector.form.backendHelp"),children:e.jsxs(Q,{value:r.backend,onValueChange:a=>B(a),children:[e.jsx(G,{children:e.jsx(X,{})}),e.jsxs(Z,{children:[e.jsx(H,{value:"off",children:s("vector.form.backendOff")}),e.jsx(H,{value:"local",children:s("vector.form.backendLocal")}),e.jsx(H,{value:"openai",children:s("vector.form.backendOpenai")})]})]})}),r.backend==="local"&&e.jsx(v,{label:s("vector.form.localModel"),help:s("vector.form.localModelHelp"),children:e.jsx(y,{value:r.localModel,placeholder:m.localModel,onChange:a=>x("localModel",a.target.value),className:"font-mono text-xs"})}),r.backend==="openai"&&e.jsxs(e.Fragment,{children:[e.jsx(v,{label:s("vector.form.openaiBaseUrl"),help:s("vector.form.openaiBaseUrlHelp"),children:e.jsx(y,{value:r.openaiBaseUrl,placeholder:m.openaiBaseUrl,onChange:a=>x("openaiBaseUrl",a.target.value),className:"font-mono text-xs"})}),e.jsx(v,{label:s("vector.form.openaiModel"),help:s("vector.form.openaiModelHelp"),children:e.jsx(y,{value:r.openaiModel,placeholder:m.openaiModel,onChange:a=>x("openaiModel",a.target.value),className:"font-mono text-xs"})}),e.jsx(v,{label:s("vector.form.openaiApiKey"),help:s(u?"vector.form.apiKeyKeepHint":"vector.form.apiKeyNewHint"),children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(y,{type:N?"text":"password",value:r.openaiApiKey,placeholder:u?l.IMHUB_MEMORY_VECTOR_OPENAI_API_KEY||"••••":"sk-…",onChange:a=>x("openaiApiKey",a.target.value),className:"font-mono text-xs",autoComplete:"off"}),e.jsx(p,{type:"button",variant:"ghost",size:"icon",onClick:()=>_(a=>!a),"aria-label":s("vector.form.toggleApiKey"),children:N?e.jsx(oe,{className:"h-4 w-4"}):e.jsx(ne,{className:"h-4 w-4"})})]})})]}),r.backend!=="off"&&e.jsxs(e.Fragment,{children:[e.jsx(v,{label:s("vector.form.batchSize"),help:s("vector.form.batchSizeHelp"),children:e.jsx(y,{type:"number",min:1,max:1024,step:1,value:r.batchSize,placeholder:m.batchSize,onChange:a=>x("batchSize",a.target.value),className:"font-mono text-xs"})}),e.jsx(v,{label:s("vector.form.hybridWeight"),help:s("vector.form.hybridWeightHelp"),children:e.jsx(y,{type:"number",min:0,max:1,step:.05,value:r.hybridWeight,placeholder:m.hybridWeight,onChange:a=>x("hybridWeight",a.target.value),className:"font-mono text-xs"})})]})]})]})}function v({label:t,help:s,children:n}){return e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(J,{className:"text-xs text-text-dim",children:t}),n,s&&e.jsx("p",{className:"text-[11px] text-text-muted",children:s})]})}function Le(){const{t}=L(["memory","common"]),[s]=$(),n=s.get("user")??"",l=xe(n?{user_key:n}:{}),r=l.data?.status,h=l.data?.coverage,N=l.data?.jobs??[],_=W(),f=fe(),b=he(),E=pe(),[w,x]=g.useState(!1);async function B(){try{const i=await _.mutateAsync();i.ok?c.success(t("vector.actions.testOk")):c.error(t("vector.actions.testFail",{detail:i.error??""}))}catch(i){const{message:u}=j(i,t);c.error(u)}}async function A(){try{const i=await f.mutateAsync();c.success(i.alreadyReady?t("vector.actions.downloadAlreadyReady"):t("vector.actions.downloadStarted"))}catch(i){const{message:u}=j(i,t);c.error(u)}}async function I(){try{await b.mutateAsync(n?{user_key:n}:void 0),c.success(t("vector.actions.backfillStarted"))}catch(i){const{message:u}=j(i,t);c.error(u)}}async function T(){try{const i=await E.mutateAsync(n?{user_key:n}:void 0);c.success(t("vector.actions.clearStarted",{count:i.cleared}))}catch(i){const{message:u}=j(i,t);throw c.error(u),i}}if(l.isLoading)return e.jsx("div",{className:"h-48 w-full rounded-md bg-surface-2 animate-pulse"});if(!r)return e.jsx(ce,{icon:e.jsx(F,{}),title:t("common:states.error"),description:l.error?.message??""});const R=n?t("vector.coverage.scope_user",{userKey:n}):t("vector.coverage.scope_global");return e.jsxs("div",{className:"mx-auto flex max-w-5xl flex-col gap-4",children:[e.jsxs("header",{className:"flex flex-col gap-1",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsx("h1",{className:"text-xl font-semibold",children:t("vector.title")}),e.jsxs(p,{variant:"ghost",size:"sm",className:"ml-auto",onClick:()=>l.refetch(),disabled:l.isFetching,"aria-label":t("actions.refresh",{ns:"common"}),children:[l.isFetching?e.jsx(M,{className:"h-4 w-4 animate-spin"}):e.jsx(le,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:t("actions.refresh",{ns:"common"})})]})]}),e.jsx("p",{className:"text-sm text-text-dim",children:t("vector.subtitle")})]}),e.jsx(ge,{onSaved:()=>void l.refetch()}),e.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[e.jsxs("div",{className:"rounded-md border border-border bg-surface p-3",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[e.jsx("span",{className:"font-medium",children:t("vector.backendLabel")}),e.jsx(k,{variant:"secondary",children:r.backend}),e.jsx(k,{variant:r.ready?"success":"warning",children:r.ready?t("vector.readyTrue"):t("vector.readyFalse")}),r.downloaded&&e.jsx(k,{variant:"info",children:t("vector.downloadedTrue")})]}),e.jsxs("dl",{className:"mt-3 grid grid-cols-[max-content_1fr] gap-x-3 gap-y-1 text-sm",children:[e.jsx("dt",{className:"text-text-dim",children:t("vector.modelLabel")}),e.jsx("dd",{className:"font-mono text-text",children:r.modelId||"—"}),e.jsx("dt",{className:"text-text-dim",children:t("vector.dimsLabel")}),e.jsx("dd",{className:"tabular-nums text-text",children:r.dims||"—"}),r.lastError&&e.jsxs(e.Fragment,{children:[e.jsx("dt",{className:"text-text-dim",children:t("vector.lastError")}),e.jsx("dd",{className:"text-danger text-xs break-all",children:r.lastError})]})]})]}),e.jsxs("div",{className:"rounded-md border border-border bg-surface p-3",children:[e.jsx("div",{className:"text-sm font-medium",children:t("vector.coverage.title")}),e.jsx("div",{className:"mt-1 text-xs text-text-dim",children:R}),e.jsxs("div",{className:"mt-3 grid grid-cols-3 gap-2",children:[e.jsx(K,{label:t("vector.coverage.total"),value:h?.total??0,tone:"info"}),e.jsx(K,{label:t("vector.coverage.withEmbedding"),value:h?.withEmbedding??0,tone:"success"}),e.jsx(K,{label:t("vector.coverage.withDifferentModel"),value:h?.withDifferentModel??0,tone:"warning"})]})]})]}),e.jsxs("div",{className:"rounded-md border border-border bg-surface p-3",children:[e.jsx("div",{className:"text-sm font-medium",children:t("vector.actions.title")}),e.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[e.jsxs(p,{variant:"secondary",size:"sm",onClick:()=>void B(),disabled:_.isPending,children:[_.isPending?e.jsx(M,{className:"h-4 w-4 animate-spin"}):e.jsx(P,{className:"h-4 w-4"}),t("vector.actions.test")]}),r.backend==="local"&&e.jsxs(p,{variant:"secondary",size:"sm",onClick:()=>void A(),disabled:f.isPending,children:[f.isPending?e.jsx(M,{className:"h-4 w-4 animate-spin"}):e.jsx(de,{className:"h-4 w-4"}),t("vector.actions.download")]}),e.jsxs(p,{variant:"default",size:"sm",onClick:()=>void I(),disabled:b.isPending||!r.ready,children:[b.isPending?e.jsx(M,{className:"h-4 w-4 animate-spin"}):e.jsx(P,{className:"h-4 w-4"}),t("vector.actions.backfill")]}),e.jsxs(p,{variant:"destructive",size:"sm",onClick:()=>x(!0),disabled:E.isPending,children:[e.jsx(me,{className:"h-4 w-4"}),t("vector.actions.clear")]})]})]}),e.jsxs("div",{className:"rounded-md border border-border bg-surface p-3",children:[e.jsx("div",{className:"text-sm font-medium",children:t("vector.jobs.title")}),N.length===0?e.jsx("div",{className:"mt-2 text-sm text-text-muted",children:t("vector.jobs.empty")}):e.jsx("ul",{className:"mt-2 flex flex-col gap-1.5 text-sm",children:N.map(i=>e.jsx("li",{children:e.jsx(ye,{job:i})},i.id))})]}),e.jsx(ie,{open:w,onOpenChange:x,title:t("vector.actions.confirmClear"),description:t("vector.actions.confirmClearDesc",{scope:R}),intent:"danger",confirmLabel:t("vector.actions.clear"),onConfirm:T})]})}const be={info:"border-info/30 text-info",success:"border-success/30 text-success",warning:"border-warning/30 text-warning",danger:"border-danger/30 text-danger"};function K({label:t,value:s,tone:n}){return e.jsxs("div",{className:Y("rounded-md border bg-bg px-2 py-2",be[n]),children:[e.jsx("div",{className:"text-[10px] uppercase tracking-wide text-text-dim",children:t}),e.jsx("div",{className:"text-xl font-semibold tabular-nums",children:s})]})}function ye({job:t}){const{t:s}=L("memory"),n=t.phase==="done"?"text-success":t.phase==="failed"?"text-danger":"text-info";return e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[e.jsx(k,{variant:"outline",children:t.kind}),e.jsxs("span",{className:Y("font-medium",n),children:[t.phase==="running"&&e.jsx(M,{className:"inline h-3 w-3 animate-spin"}),t.phase==="done"&&e.jsx(ue,{className:"inline h-3 w-3"}),t.phase==="failed"&&e.jsx(F,{className:"inline h-3 w-3"})," ",s(`vector.jobs.phase.${t.phase}`)]}),e.jsx("span",{className:"text-text-dim",children:t.message}),e.jsx("span",{className:"ml-auto text-text-muted tabular-nums",children:je(t.finishedAt??t.startedAt)})]})}function je(t){try{const s=new Date(t);return Number.isNaN(s.getTime())?String(t):s.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return String(t)}}export{Le as default};
2
+ //# sourceMappingURL=vector-Dh4Sp_ea.js.map