@blade-hq/agent-kit 0.4.1 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (795) hide show
  1. package/README.md +67 -0
  2. package/dist/{internal/core/schemas/message.d.ts → AskUserQuestionBlock-CjvG_pUY.d.ts} +48 -16
  3. package/dist/SkillStatusBar-DItrW2vv.d.ts +203 -0
  4. package/dist/blade-client-nOsdVlb1.d.ts +1498 -0
  5. package/dist/client/index.d.ts +8036 -0
  6. package/dist/client/index.js +1057 -0
  7. package/dist/client/index.js.map +1 -0
  8. package/dist/licenses-Cxl1xGVy.d.ts +16 -0
  9. package/dist/{internal/core/schemas/projection.d.ts → projection-DIfyh6RK.d.ts} +10 -13
  10. package/dist/react/api/licenses.d.ts +7 -0
  11. package/dist/react/api/licenses.js +1477 -0
  12. package/dist/react/api/licenses.js.map +1 -0
  13. package/dist/react/api/vibe-coding.d.ts +55 -0
  14. package/dist/react/api/vibe-coding.js +1503 -0
  15. package/dist/react/api/vibe-coding.js.map +1 -0
  16. package/dist/react/cards/register.d.ts +2 -0
  17. package/dist/react/cards/register.js +4367 -0
  18. package/dist/react/cards/register.js.map +1 -0
  19. package/dist/react/components/chat/index.d.ts +128 -0
  20. package/dist/react/components/chat/index.js +11389 -0
  21. package/dist/react/components/chat/index.js.map +1 -0
  22. package/dist/react/components/plan/index.d.ts +111 -0
  23. package/dist/react/components/plan/index.js +3490 -0
  24. package/dist/react/components/plan/index.js.map +1 -0
  25. package/dist/react/components/session/index.d.ts +53 -0
  26. package/dist/react/components/session/index.js +2175 -0
  27. package/dist/react/components/session/index.js.map +1 -0
  28. package/dist/react/components/workspace/index.d.ts +35 -0
  29. package/dist/react/components/workspace/index.js +2886 -0
  30. package/dist/react/components/workspace/index.js.map +1 -0
  31. package/dist/react/devtools/bridge-devtools/index.d.ts +36 -0
  32. package/dist/react/devtools/bridge-devtools/index.js +692 -0
  33. package/dist/react/devtools/bridge-devtools/index.js.map +1 -0
  34. package/dist/react/index.d.ts +1283 -0
  35. package/dist/react/index.js +14299 -0
  36. package/dist/react/index.js.map +1 -0
  37. package/dist/{internal/core/schemas/session.d.ts → session-CDeiO81j.d.ts} +44 -17
  38. package/package.json +20 -14
  39. package/dist/client.d.ts +0 -16
  40. package/dist/client.d.ts.map +0 -1
  41. package/dist/client.js +0 -75
  42. package/dist/client.js.map +0 -1
  43. package/dist/index.d.ts +0 -1
  44. package/dist/index.d.ts.map +0 -1
  45. package/dist/index.js +0 -2
  46. package/dist/index.js.map +0 -1
  47. package/dist/internal/core/api/auth-resolve.d.ts +0 -10
  48. package/dist/internal/core/api/auth-resolve.d.ts.map +0 -1
  49. package/dist/internal/core/api/auth-resolve.js +0 -25
  50. package/dist/internal/core/api/auth-resolve.js.map +0 -1
  51. package/dist/internal/core/api/auth.d.ts +0 -22
  52. package/dist/internal/core/api/auth.d.ts.map +0 -1
  53. package/dist/internal/core/api/auth.js +0 -13
  54. package/dist/internal/core/api/auth.js.map +0 -1
  55. package/dist/internal/core/api/client.d.ts +0 -20
  56. package/dist/internal/core/api/client.d.ts.map +0 -1
  57. package/dist/internal/core/api/client.js +0 -135
  58. package/dist/internal/core/api/client.js.map +0 -1
  59. package/dist/internal/core/api/gis-api.d.ts +0 -4
  60. package/dist/internal/core/api/gis-api.d.ts.map +0 -1
  61. package/dist/internal/core/api/gis-api.js +0 -8
  62. package/dist/internal/core/api/gis-api.js.map +0 -1
  63. package/dist/internal/core/api/licenses.d.ts +0 -26
  64. package/dist/internal/core/api/licenses.d.ts.map +0 -1
  65. package/dist/internal/core/api/licenses.js +0 -40
  66. package/dist/internal/core/api/licenses.js.map +0 -1
  67. package/dist/internal/core/api/memories.d.ts +0 -46
  68. package/dist/internal/core/api/memories.d.ts.map +0 -1
  69. package/dist/internal/core/api/memories.js +0 -49
  70. package/dist/internal/core/api/memories.js.map +0 -1
  71. package/dist/internal/core/api/models.d.ts +0 -15
  72. package/dist/internal/core/api/models.d.ts.map +0 -1
  73. package/dist/internal/core/api/models.js +0 -15
  74. package/dist/internal/core/api/models.js.map +0 -1
  75. package/dist/internal/core/api/partner-skill.d.ts +0 -3
  76. package/dist/internal/core/api/partner-skill.d.ts.map +0 -1
  77. package/dist/internal/core/api/partner-skill.js +0 -9
  78. package/dist/internal/core/api/partner-skill.js.map +0 -1
  79. package/dist/internal/core/api/registry.d.ts +0 -272
  80. package/dist/internal/core/api/registry.d.ts.map +0 -1
  81. package/dist/internal/core/api/registry.js +0 -67
  82. package/dist/internal/core/api/registry.js.map +0 -1
  83. package/dist/internal/core/api/scenarios.d.ts +0 -51
  84. package/dist/internal/core/api/scenarios.d.ts.map +0 -1
  85. package/dist/internal/core/api/scenarios.js +0 -30
  86. package/dist/internal/core/api/scenarios.js.map +0 -1
  87. package/dist/internal/core/api/sessions.d.ts +0 -223
  88. package/dist/internal/core/api/sessions.d.ts.map +0 -1
  89. package/dist/internal/core/api/sessions.js +0 -340
  90. package/dist/internal/core/api/sessions.js.map +0 -1
  91. package/dist/internal/core/api/skills.d.ts +0 -19
  92. package/dist/internal/core/api/skills.d.ts.map +0 -1
  93. package/dist/internal/core/api/skills.js +0 -28
  94. package/dist/internal/core/api/skills.js.map +0 -1
  95. package/dist/internal/core/api/socket.d.ts +0 -56
  96. package/dist/internal/core/api/socket.d.ts.map +0 -1
  97. package/dist/internal/core/api/socket.js +0 -824
  98. package/dist/internal/core/api/socket.js.map +0 -1
  99. package/dist/internal/core/api/software-factory.d.ts +0 -126
  100. package/dist/internal/core/api/software-factory.d.ts.map +0 -1
  101. package/dist/internal/core/api/software-factory.js +0 -130
  102. package/dist/internal/core/api/software-factory.js.map +0 -1
  103. package/dist/internal/core/api/solutions.d.ts +0 -5
  104. package/dist/internal/core/api/solutions.d.ts.map +0 -1
  105. package/dist/internal/core/api/solutions.js +0 -21
  106. package/dist/internal/core/api/solutions.js.map +0 -1
  107. package/dist/internal/core/api/user-preferences.d.ts +0 -3
  108. package/dist/internal/core/api/user-preferences.d.ts.map +0 -1
  109. package/dist/internal/core/api/user-preferences.js +0 -12
  110. package/dist/internal/core/api/user-preferences.js.map +0 -1
  111. package/dist/internal/core/api/vibe-coding.d.ts +0 -90
  112. package/dist/internal/core/api/vibe-coding.d.ts.map +0 -1
  113. package/dist/internal/core/api/vibe-coding.js +0 -121
  114. package/dist/internal/core/api/vibe-coding.js.map +0 -1
  115. package/dist/internal/core/asr/VoiceWaveform.d.ts +0 -11
  116. package/dist/internal/core/asr/VoiceWaveform.d.ts.map +0 -1
  117. package/dist/internal/core/asr/VoiceWaveform.js +0 -28
  118. package/dist/internal/core/asr/VoiceWaveform.js.map +0 -1
  119. package/dist/internal/core/asr/use-tiptap-voice-input.d.ts +0 -30
  120. package/dist/internal/core/asr/use-tiptap-voice-input.d.ts.map +0 -1
  121. package/dist/internal/core/asr/use-tiptap-voice-input.js +0 -100
  122. package/dist/internal/core/asr/use-tiptap-voice-input.js.map +0 -1
  123. package/dist/internal/core/asr/use-voice-input.d.ts +0 -18
  124. package/dist/internal/core/asr/use-voice-input.d.ts.map +0 -1
  125. package/dist/internal/core/asr/use-voice-input.js +0 -312
  126. package/dist/internal/core/asr/use-voice-input.js.map +0 -1
  127. package/dist/internal/core/asr/voice-input-support.d.ts +0 -6
  128. package/dist/internal/core/asr/voice-input-support.d.ts.map +0 -1
  129. package/dist/internal/core/asr/voice-input-support.js +0 -35
  130. package/dist/internal/core/asr/voice-input-support.js.map +0 -1
  131. package/dist/internal/core/components/ai-elements/file-tree.d.ts +0 -27
  132. package/dist/internal/core/components/ai-elements/file-tree.d.ts.map +0 -1
  133. package/dist/internal/core/components/ai-elements/file-tree.js +0 -73
  134. package/dist/internal/core/components/ai-elements/file-tree.js.map +0 -1
  135. package/dist/internal/core/components/ai-elements/reasoning.d.ts +0 -33
  136. package/dist/internal/core/components/ai-elements/reasoning.d.ts.map +0 -1
  137. package/dist/internal/core/components/ai-elements/reasoning.js +0 -124
  138. package/dist/internal/core/components/ai-elements/reasoning.js.map +0 -1
  139. package/dist/internal/core/components/ai-elements/shimmer.d.ts +0 -10
  140. package/dist/internal/core/components/ai-elements/shimmer.d.ts.map +0 -1
  141. package/dist/internal/core/components/ai-elements/shimmer.js +0 -29
  142. package/dist/internal/core/components/ai-elements/shimmer.js.map +0 -1
  143. package/dist/internal/core/components/card/CardCodeBlock.d.ts +0 -6
  144. package/dist/internal/core/components/card/CardCodeBlock.d.ts.map +0 -1
  145. package/dist/internal/core/components/card/CardCodeBlock.js +0 -24
  146. package/dist/internal/core/components/card/CardCodeBlock.js.map +0 -1
  147. package/dist/internal/core/components/card/CardContext.d.ts +0 -8
  148. package/dist/internal/core/components/card/CardContext.d.ts.map +0 -1
  149. package/dist/internal/core/components/card/CardContext.js +0 -4
  150. package/dist/internal/core/components/card/CardContext.js.map +0 -1
  151. package/dist/internal/core/components/card/CardRenderer.d.ts +0 -8
  152. package/dist/internal/core/components/card/CardRenderer.d.ts.map +0 -1
  153. package/dist/internal/core/components/card/CardRenderer.js +0 -82
  154. package/dist/internal/core/components/card/CardRenderer.js.map +0 -1
  155. package/dist/internal/core/components/card/CardStates.d.ts +0 -9
  156. package/dist/internal/core/components/card/CardStates.d.ts.map +0 -1
  157. package/dist/internal/core/components/card/CardStates.js +0 -11
  158. package/dist/internal/core/components/card/CardStates.js.map +0 -1
  159. package/dist/internal/core/components/card/cards/attraction-card.d.ts +0 -3
  160. package/dist/internal/core/components/card/cards/attraction-card.d.ts.map +0 -1
  161. package/dist/internal/core/components/card/cards/attraction-card.js +0 -10
  162. package/dist/internal/core/components/card/cards/attraction-card.js.map +0 -1
  163. package/dist/internal/core/components/card/cards/cite-card.d.ts +0 -11
  164. package/dist/internal/core/components/card/cards/cite-card.d.ts.map +0 -1
  165. package/dist/internal/core/components/card/cards/cite-card.js +0 -12
  166. package/dist/internal/core/components/card/cards/cite-card.js.map +0 -1
  167. package/dist/internal/core/components/card/cards/comprehensive-analysis-card.d.ts +0 -3
  168. package/dist/internal/core/components/card/cards/comprehensive-analysis-card.d.ts.map +0 -1
  169. package/dist/internal/core/components/card/cards/comprehensive-analysis-card.js +0 -160
  170. package/dist/internal/core/components/card/cards/comprehensive-analysis-card.js.map +0 -1
  171. package/dist/internal/core/components/card/cards/conflict-detection-card.d.ts +0 -5
  172. package/dist/internal/core/components/card/cards/conflict-detection-card.d.ts.map +0 -1
  173. package/dist/internal/core/components/card/cards/conflict-detection-card.js +0 -46
  174. package/dist/internal/core/components/card/cards/conflict-detection-card.js.map +0 -1
  175. package/dist/internal/core/components/card/cards/counter.d.ts +0 -3
  176. package/dist/internal/core/components/card/cards/counter.d.ts.map +0 -1
  177. package/dist/internal/core/components/card/cards/counter.js +0 -10
  178. package/dist/internal/core/components/card/cards/counter.js.map +0 -1
  179. package/dist/internal/core/components/card/cards/damage-effect-card.d.ts +0 -5
  180. package/dist/internal/core/components/card/cards/damage-effect-card.d.ts.map +0 -1
  181. package/dist/internal/core/components/card/cards/damage-effect-card.js +0 -138
  182. package/dist/internal/core/components/card/cards/damage-effect-card.js.map +0 -1
  183. package/dist/internal/core/components/card/cards/destination-card.d.ts +0 -3
  184. package/dist/internal/core/components/card/cards/destination-card.d.ts.map +0 -1
  185. package/dist/internal/core/components/card/cards/destination-card.js +0 -10
  186. package/dist/internal/core/components/card/cards/destination-card.js.map +0 -1
  187. package/dist/internal/core/components/card/cards/diff-card.d.ts +0 -3
  188. package/dist/internal/core/components/card/cards/diff-card.d.ts.map +0 -1
  189. package/dist/internal/core/components/card/cards/diff-card.js +0 -81
  190. package/dist/internal/core/components/card/cards/diff-card.js.map +0 -1
  191. package/dist/internal/core/components/card/cards/execution-order-card.d.ts +0 -3
  192. package/dist/internal/core/components/card/cards/execution-order-card.d.ts.map +0 -1
  193. package/dist/internal/core/components/card/cards/execution-order-card.js +0 -97
  194. package/dist/internal/core/components/card/cards/execution-order-card.js.map +0 -1
  195. package/dist/internal/core/components/card/cards/experience-card-with-options.d.ts +0 -5
  196. package/dist/internal/core/components/card/cards/experience-card-with-options.d.ts.map +0 -1
  197. package/dist/internal/core/components/card/cards/experience-card-with-options.js +0 -113
  198. package/dist/internal/core/components/card/cards/experience-card-with-options.js.map +0 -1
  199. package/dist/internal/core/components/card/cards/flight-card.d.ts +0 -3
  200. package/dist/internal/core/components/card/cards/flight-card.d.ts.map +0 -1
  201. package/dist/internal/core/components/card/cards/flight-card.js +0 -10
  202. package/dist/internal/core/components/card/cards/flight-card.js.map +0 -1
  203. package/dist/internal/core/components/card/cards/hotel-card.d.ts +0 -3
  204. package/dist/internal/core/components/card/cards/hotel-card.d.ts.map +0 -1
  205. package/dist/internal/core/components/card/cards/hotel-card.js +0 -10
  206. package/dist/internal/core/components/card/cards/hotel-card.js.map +0 -1
  207. package/dist/internal/core/components/card/cards/kill-chain-card.d.ts +0 -3
  208. package/dist/internal/core/components/card/cards/kill-chain-card.d.ts.map +0 -1
  209. package/dist/internal/core/components/card/cards/kill-chain-card.js +0 -230
  210. package/dist/internal/core/components/card/cards/kill-chain-card.js.map +0 -1
  211. package/dist/internal/core/components/card/cards/kill-chain-types.d.ts +0 -158
  212. package/dist/internal/core/components/card/cards/kill-chain-types.d.ts.map +0 -1
  213. package/dist/internal/core/components/card/cards/kill-chain-types.js +0 -9
  214. package/dist/internal/core/components/card/cards/kill-chain-types.js.map +0 -1
  215. package/dist/internal/core/components/card/cards/map-card.d.ts +0 -3
  216. package/dist/internal/core/components/card/cards/map-card.d.ts.map +0 -1
  217. package/dist/internal/core/components/card/cards/map-card.js +0 -60
  218. package/dist/internal/core/components/card/cards/map-card.js.map +0 -1
  219. package/dist/internal/core/components/card/cards/order-status-card.d.ts +0 -3
  220. package/dist/internal/core/components/card/cards/order-status-card.d.ts.map +0 -1
  221. package/dist/internal/core/components/card/cards/order-status-card.js +0 -57
  222. package/dist/internal/core/components/card/cards/order-status-card.js.map +0 -1
  223. package/dist/internal/core/components/card/cards/patch-card.d.ts +0 -16
  224. package/dist/internal/core/components/card/cards/patch-card.d.ts.map +0 -1
  225. package/dist/internal/core/components/card/cards/patch-card.js +0 -47
  226. package/dist/internal/core/components/card/cards/patch-card.js.map +0 -1
  227. package/dist/internal/core/components/card/cards/product-recommendation-card.d.ts +0 -3
  228. package/dist/internal/core/components/card/cards/product-recommendation-card.d.ts.map +0 -1
  229. package/dist/internal/core/components/card/cards/product-recommendation-card.js +0 -18
  230. package/dist/internal/core/components/card/cards/product-recommendation-card.js.map +0 -1
  231. package/dist/internal/core/components/card/cards/reflection-optimization-card.d.ts +0 -3
  232. package/dist/internal/core/components/card/cards/reflection-optimization-card.d.ts.map +0 -1
  233. package/dist/internal/core/components/card/cards/reflection-optimization-card.js +0 -51
  234. package/dist/internal/core/components/card/cards/reflection-optimization-card.js.map +0 -1
  235. package/dist/internal/core/components/card/cards/resolution-modifications-card.d.ts +0 -3
  236. package/dist/internal/core/components/card/cards/resolution-modifications-card.d.ts.map +0 -1
  237. package/dist/internal/core/components/card/cards/resolution-modifications-card.js +0 -85
  238. package/dist/internal/core/components/card/cards/resolution-modifications-card.js.map +0 -1
  239. package/dist/internal/core/components/card/cards/resolution-summary-card.d.ts +0 -3
  240. package/dist/internal/core/components/card/cards/resolution-summary-card.d.ts.map +0 -1
  241. package/dist/internal/core/components/card/cards/resolution-summary-card.js +0 -55
  242. package/dist/internal/core/components/card/cards/resolution-summary-card.js.map +0 -1
  243. package/dist/internal/core/components/card/cards/restaurant-card.d.ts +0 -3
  244. package/dist/internal/core/components/card/cards/restaurant-card.d.ts.map +0 -1
  245. package/dist/internal/core/components/card/cards/restaurant-card.js +0 -10
  246. package/dist/internal/core/components/card/cards/restaurant-card.js.map +0 -1
  247. package/dist/internal/core/components/card/cards/shopping-list-card.d.ts +0 -3
  248. package/dist/internal/core/components/card/cards/shopping-list-card.d.ts.map +0 -1
  249. package/dist/internal/core/components/card/cards/shopping-list-card.js +0 -17
  250. package/dist/internal/core/components/card/cards/shopping-list-card.js.map +0 -1
  251. package/dist/internal/core/components/card/cards/simulation-event-card.d.ts +0 -5
  252. package/dist/internal/core/components/card/cards/simulation-event-card.d.ts.map +0 -1
  253. package/dist/internal/core/components/card/cards/simulation-event-card.js +0 -116
  254. package/dist/internal/core/components/card/cards/simulation-event-card.js.map +0 -1
  255. package/dist/internal/core/components/card/cards/survival-effect-card.d.ts +0 -5
  256. package/dist/internal/core/components/card/cards/survival-effect-card.d.ts.map +0 -1
  257. package/dist/internal/core/components/card/cards/survival-effect-card.js +0 -76
  258. package/dist/internal/core/components/card/cards/survival-effect-card.js.map +0 -1
  259. package/dist/internal/core/components/card/cards/travel-itinerary-card.d.ts +0 -3
  260. package/dist/internal/core/components/card/cards/travel-itinerary-card.d.ts.map +0 -1
  261. package/dist/internal/core/components/card/cards/travel-itinerary-card.js +0 -16
  262. package/dist/internal/core/components/card/cards/travel-itinerary-card.js.map +0 -1
  263. package/dist/internal/core/components/card/register.d.ts +0 -2
  264. package/dist/internal/core/components/card/register.d.ts.map +0 -1
  265. package/dist/internal/core/components/card/register.js +0 -64
  266. package/dist/internal/core/components/card/register.js.map +0 -1
  267. package/dist/internal/core/components/chat/AgentLoopBlock.d.ts +0 -9
  268. package/dist/internal/core/components/chat/AgentLoopBlock.d.ts.map +0 -1
  269. package/dist/internal/core/components/chat/AgentLoopBlock.js +0 -174
  270. package/dist/internal/core/components/chat/AgentLoopBlock.js.map +0 -1
  271. package/dist/internal/core/components/chat/AskUserQuestionBlock.d.ts +0 -33
  272. package/dist/internal/core/components/chat/AskUserQuestionBlock.d.ts.map +0 -1
  273. package/dist/internal/core/components/chat/AskUserQuestionBlock.js +0 -178
  274. package/dist/internal/core/components/chat/AskUserQuestionBlock.js.map +0 -1
  275. package/dist/internal/core/components/chat/AssistantTurnBlock.d.ts +0 -17
  276. package/dist/internal/core/components/chat/AssistantTurnBlock.d.ts.map +0 -1
  277. package/dist/internal/core/components/chat/AssistantTurnBlock.js +0 -181
  278. package/dist/internal/core/components/chat/AssistantTurnBlock.js.map +0 -1
  279. package/dist/internal/core/components/chat/AttachmentPreviewDialog.d.ts +0 -27
  280. package/dist/internal/core/components/chat/AttachmentPreviewDialog.d.ts.map +0 -1
  281. package/dist/internal/core/components/chat/AttachmentPreviewDialog.js +0 -64
  282. package/dist/internal/core/components/chat/AttachmentPreviewDialog.js.map +0 -1
  283. package/dist/internal/core/components/chat/ChatInput.d.ts +0 -65
  284. package/dist/internal/core/components/chat/ChatInput.d.ts.map +0 -1
  285. package/dist/internal/core/components/chat/ChatInput.js +0 -1127
  286. package/dist/internal/core/components/chat/ChatInput.js.map +0 -1
  287. package/dist/internal/core/components/chat/ChatView.d.ts +0 -14
  288. package/dist/internal/core/components/chat/ChatView.d.ts.map +0 -1
  289. package/dist/internal/core/components/chat/ChatView.js +0 -28
  290. package/dist/internal/core/components/chat/ChatView.js.map +0 -1
  291. package/dist/internal/core/components/chat/CompactionCard.d.ts +0 -7
  292. package/dist/internal/core/components/chat/CompactionCard.d.ts.map +0 -1
  293. package/dist/internal/core/components/chat/CompactionCard.js +0 -82
  294. package/dist/internal/core/components/chat/CompactionCard.js.map +0 -1
  295. package/dist/internal/core/components/chat/ConnectionBanner.d.ts +0 -2
  296. package/dist/internal/core/components/chat/ConnectionBanner.d.ts.map +0 -1
  297. package/dist/internal/core/components/chat/ConnectionBanner.js +0 -37
  298. package/dist/internal/core/components/chat/ConnectionBanner.js.map +0 -1
  299. package/dist/internal/core/components/chat/FileCompletionMenu.d.ts +0 -14
  300. package/dist/internal/core/components/chat/FileCompletionMenu.d.ts.map +0 -1
  301. package/dist/internal/core/components/chat/FileCompletionMenu.js +0 -163
  302. package/dist/internal/core/components/chat/FileCompletionMenu.js.map +0 -1
  303. package/dist/internal/core/components/chat/FileSizeLimitDialog.d.ts +0 -10
  304. package/dist/internal/core/components/chat/FileSizeLimitDialog.d.ts.map +0 -1
  305. package/dist/internal/core/components/chat/FileSizeLimitDialog.js +0 -30
  306. package/dist/internal/core/components/chat/FileSizeLimitDialog.js.map +0 -1
  307. package/dist/internal/core/components/chat/ImageLightbox.d.ts +0 -12
  308. package/dist/internal/core/components/chat/ImageLightbox.d.ts.map +0 -1
  309. package/dist/internal/core/components/chat/ImageLightbox.js +0 -140
  310. package/dist/internal/core/components/chat/ImageLightbox.js.map +0 -1
  311. package/dist/internal/core/components/chat/MessageActions.d.ts +0 -7
  312. package/dist/internal/core/components/chat/MessageActions.d.ts.map +0 -1
  313. package/dist/internal/core/components/chat/MessageActions.js +0 -18
  314. package/dist/internal/core/components/chat/MessageActions.js.map +0 -1
  315. package/dist/internal/core/components/chat/MessageContextPills.d.ts +0 -7
  316. package/dist/internal/core/components/chat/MessageContextPills.d.ts.map +0 -1
  317. package/dist/internal/core/components/chat/MessageContextPills.js +0 -8
  318. package/dist/internal/core/components/chat/MessageContextPills.js.map +0 -1
  319. package/dist/internal/core/components/chat/MessageFileAttachmentList.d.ts +0 -14
  320. package/dist/internal/core/components/chat/MessageFileAttachmentList.d.ts.map +0 -1
  321. package/dist/internal/core/components/chat/MessageFileAttachmentList.js +0 -38
  322. package/dist/internal/core/components/chat/MessageFileAttachmentList.js.map +0 -1
  323. package/dist/internal/core/components/chat/MessageList.d.ts +0 -12
  324. package/dist/internal/core/components/chat/MessageList.d.ts.map +0 -1
  325. package/dist/internal/core/components/chat/MessageList.js +0 -315
  326. package/dist/internal/core/components/chat/MessageList.js.map +0 -1
  327. package/dist/internal/core/components/chat/ProgressCircle.d.ts +0 -13
  328. package/dist/internal/core/components/chat/ProgressCircle.d.ts.map +0 -1
  329. package/dist/internal/core/components/chat/ProgressCircle.js +0 -28
  330. package/dist/internal/core/components/chat/ProgressCircle.js.map +0 -1
  331. package/dist/internal/core/components/chat/RenderErrorBoundary.d.ts +0 -20
  332. package/dist/internal/core/components/chat/RenderErrorBoundary.d.ts.map +0 -1
  333. package/dist/internal/core/components/chat/RenderErrorBoundary.js +0 -39
  334. package/dist/internal/core/components/chat/RenderErrorBoundary.js.map +0 -1
  335. package/dist/internal/core/components/chat/ResourceIframe.d.ts +0 -6
  336. package/dist/internal/core/components/chat/ResourceIframe.d.ts.map +0 -1
  337. package/dist/internal/core/components/chat/ResourceIframe.js +0 -124
  338. package/dist/internal/core/components/chat/ResourceIframe.js.map +0 -1
  339. package/dist/internal/core/components/chat/Shimmer.d.ts +0 -7
  340. package/dist/internal/core/components/chat/Shimmer.d.ts.map +0 -1
  341. package/dist/internal/core/components/chat/Shimmer.js +0 -6
  342. package/dist/internal/core/components/chat/Shimmer.js.map +0 -1
  343. package/dist/internal/core/components/chat/SkillCompletionMenu.d.ts +0 -10
  344. package/dist/internal/core/components/chat/SkillCompletionMenu.d.ts.map +0 -1
  345. package/dist/internal/core/components/chat/SkillCompletionMenu.js +0 -65
  346. package/dist/internal/core/components/chat/SkillCompletionMenu.js.map +0 -1
  347. package/dist/internal/core/components/chat/SkillStatusBar.d.ts +0 -7
  348. package/dist/internal/core/components/chat/SkillStatusBar.d.ts.map +0 -1
  349. package/dist/internal/core/components/chat/SkillStatusBar.js +0 -113
  350. package/dist/internal/core/components/chat/SkillStatusBar.js.map +0 -1
  351. package/dist/internal/core/components/chat/StickyStatusBar.d.ts +0 -11
  352. package/dist/internal/core/components/chat/StickyStatusBar.d.ts.map +0 -1
  353. package/dist/internal/core/components/chat/StickyStatusBar.js +0 -115
  354. package/dist/internal/core/components/chat/StickyStatusBar.js.map +0 -1
  355. package/dist/internal/core/components/chat/TextAttachmentPills.d.ts +0 -11
  356. package/dist/internal/core/components/chat/TextAttachmentPills.d.ts.map +0 -1
  357. package/dist/internal/core/components/chat/TextAttachmentPills.js +0 -35
  358. package/dist/internal/core/components/chat/TextAttachmentPills.js.map +0 -1
  359. package/dist/internal/core/components/chat/ToolCallBlock.d.ts +0 -17
  360. package/dist/internal/core/components/chat/ToolCallBlock.d.ts.map +0 -1
  361. package/dist/internal/core/components/chat/ToolCallBlock.js +0 -172
  362. package/dist/internal/core/components/chat/ToolCallBlock.js.map +0 -1
  363. package/dist/internal/core/components/chat/TurnNavRail.d.ts +0 -12
  364. package/dist/internal/core/components/chat/TurnNavRail.d.ts.map +0 -1
  365. package/dist/internal/core/components/chat/TurnNavRail.js +0 -14
  366. package/dist/internal/core/components/chat/TurnNavRail.js.map +0 -1
  367. package/dist/internal/core/components/chat/UserMessageBubble.d.ts +0 -18
  368. package/dist/internal/core/components/chat/UserMessageBubble.d.ts.map +0 -1
  369. package/dist/internal/core/components/chat/UserMessageBubble.js +0 -130
  370. package/dist/internal/core/components/chat/UserMessageBubble.js.map +0 -1
  371. package/dist/internal/core/components/chat/WhatIfUserBubble.d.ts +0 -14
  372. package/dist/internal/core/components/chat/WhatIfUserBubble.d.ts.map +0 -1
  373. package/dist/internal/core/components/chat/WhatIfUserBubble.js +0 -20
  374. package/dist/internal/core/components/chat/WhatIfUserBubble.js.map +0 -1
  375. package/dist/internal/core/components/chat/display-utils.d.ts +0 -36
  376. package/dist/internal/core/components/chat/display-utils.d.ts.map +0 -1
  377. package/dist/internal/core/components/chat/display-utils.js +0 -533
  378. package/dist/internal/core/components/chat/display-utils.js.map +0 -1
  379. package/dist/internal/core/components/chat/extensions/file-mention.d.ts +0 -13
  380. package/dist/internal/core/components/chat/extensions/file-mention.d.ts.map +0 -1
  381. package/dist/internal/core/components/chat/extensions/file-mention.js +0 -52
  382. package/dist/internal/core/components/chat/extensions/file-mention.js.map +0 -1
  383. package/dist/internal/core/components/chat/extensions/skill-mention.d.ts +0 -26
  384. package/dist/internal/core/components/chat/extensions/skill-mention.d.ts.map +0 -1
  385. package/dist/internal/core/components/chat/extensions/skill-mention.js +0 -72
  386. package/dist/internal/core/components/chat/extensions/skill-mention.js.map +0 -1
  387. package/dist/internal/core/components/chat/index.d.ts +0 -15
  388. package/dist/internal/core/components/chat/index.d.ts.map +0 -1
  389. package/dist/internal/core/components/chat/index.js +0 -15
  390. package/dist/internal/core/components/chat/index.js.map +0 -1
  391. package/dist/internal/core/components/chat/tool-renderers/BashRenderer.d.ts +0 -3
  392. package/dist/internal/core/components/chat/tool-renderers/BashRenderer.d.ts.map +0 -1
  393. package/dist/internal/core/components/chat/tool-renderers/BashRenderer.js +0 -52
  394. package/dist/internal/core/components/chat/tool-renderers/BashRenderer.js.map +0 -1
  395. package/dist/internal/core/components/chat/tool-renderers/FileEditRenderer.d.ts +0 -3
  396. package/dist/internal/core/components/chat/tool-renderers/FileEditRenderer.d.ts.map +0 -1
  397. package/dist/internal/core/components/chat/tool-renderers/FileEditRenderer.js +0 -108
  398. package/dist/internal/core/components/chat/tool-renderers/FileEditRenderer.js.map +0 -1
  399. package/dist/internal/core/components/chat/tool-renderers/FileReadRenderer.d.ts +0 -3
  400. package/dist/internal/core/components/chat/tool-renderers/FileReadRenderer.d.ts.map +0 -1
  401. package/dist/internal/core/components/chat/tool-renderers/FileReadRenderer.js +0 -75
  402. package/dist/internal/core/components/chat/tool-renderers/FileReadRenderer.js.map +0 -1
  403. package/dist/internal/core/components/chat/tool-renderers/SearchRenderer.d.ts +0 -3
  404. package/dist/internal/core/components/chat/tool-renderers/SearchRenderer.d.ts.map +0 -1
  405. package/dist/internal/core/components/chat/tool-renderers/SearchRenderer.js +0 -96
  406. package/dist/internal/core/components/chat/tool-renderers/SearchRenderer.js.map +0 -1
  407. package/dist/internal/core/components/chat/tool-renderers/registry.d.ts +0 -10
  408. package/dist/internal/core/components/chat/tool-renderers/registry.d.ts.map +0 -1
  409. package/dist/internal/core/components/chat/tool-renderers/registry.js +0 -21
  410. package/dist/internal/core/components/chat/tool-renderers/registry.js.map +0 -1
  411. package/dist/internal/core/components/chat/tool-renderers/shared.d.ts +0 -27
  412. package/dist/internal/core/components/chat/tool-renderers/shared.d.ts.map +0 -1
  413. package/dist/internal/core/components/chat/tool-renderers/shared.js +0 -116
  414. package/dist/internal/core/components/chat/tool-renderers/shared.js.map +0 -1
  415. package/dist/internal/core/components/chat/whatif-quote-context.d.ts +0 -16
  416. package/dist/internal/core/components/chat/whatif-quote-context.d.ts.map +0 -1
  417. package/dist/internal/core/components/chat/whatif-quote-context.js +0 -16
  418. package/dist/internal/core/components/chat/whatif-quote-context.js.map +0 -1
  419. package/dist/internal/core/components/markdown/MarkdownContent.d.ts +0 -10
  420. package/dist/internal/core/components/markdown/MarkdownContent.d.ts.map +0 -1
  421. package/dist/internal/core/components/markdown/MarkdownContent.js +0 -95
  422. package/dist/internal/core/components/markdown/MarkdownContent.js.map +0 -1
  423. package/dist/internal/core/components/model/ModelSelector.d.ts +0 -10
  424. package/dist/internal/core/components/model/ModelSelector.d.ts.map +0 -1
  425. package/dist/internal/core/components/model/ModelSelector.js +0 -48
  426. package/dist/internal/core/components/model/ModelSelector.js.map +0 -1
  427. package/dist/internal/core/components/plan/PlanSummaryCard.d.ts +0 -9
  428. package/dist/internal/core/components/plan/PlanSummaryCard.d.ts.map +0 -1
  429. package/dist/internal/core/components/plan/PlanSummaryCard.js +0 -75
  430. package/dist/internal/core/components/plan/PlanSummaryCard.js.map +0 -1
  431. package/dist/internal/core/components/plan/PlanVisualization.d.ts +0 -14
  432. package/dist/internal/core/components/plan/PlanVisualization.d.ts.map +0 -1
  433. package/dist/internal/core/components/plan/PlanVisualization.js +0 -82
  434. package/dist/internal/core/components/plan/PlanVisualization.js.map +0 -1
  435. package/dist/internal/core/components/plan/debug-log.d.ts +0 -22
  436. package/dist/internal/core/components/plan/debug-log.d.ts.map +0 -1
  437. package/dist/internal/core/components/plan/debug-log.js +0 -47
  438. package/dist/internal/core/components/plan/debug-log.js.map +0 -1
  439. package/dist/internal/core/components/plan/extract-plan-messages.d.ts +0 -3
  440. package/dist/internal/core/components/plan/extract-plan-messages.d.ts.map +0 -1
  441. package/dist/internal/core/components/plan/extract-plan-messages.js +0 -59
  442. package/dist/internal/core/components/plan/extract-plan-messages.js.map +0 -1
  443. package/dist/internal/core/components/plan/index.d.ts +0 -7
  444. package/dist/internal/core/components/plan/index.d.ts.map +0 -1
  445. package/dist/internal/core/components/plan/index.js +0 -6
  446. package/dist/internal/core/components/plan/index.js.map +0 -1
  447. package/dist/internal/core/components/plan/parse-plan-messages.d.ts +0 -12
  448. package/dist/internal/core/components/plan/parse-plan-messages.d.ts.map +0 -1
  449. package/dist/internal/core/components/plan/parse-plan-messages.js +0 -272
  450. package/dist/internal/core/components/plan/parse-plan-messages.js.map +0 -1
  451. package/dist/internal/core/components/plan/parse-plan-tree.d.ts +0 -17
  452. package/dist/internal/core/components/plan/parse-plan-tree.d.ts.map +0 -1
  453. package/dist/internal/core/components/plan/parse-plan-tree.js +0 -117
  454. package/dist/internal/core/components/plan/parse-plan-tree.js.map +0 -1
  455. package/dist/internal/core/components/plan/phases/PlanMindMap.d.ts +0 -9
  456. package/dist/internal/core/components/plan/phases/PlanMindMap.d.ts.map +0 -1
  457. package/dist/internal/core/components/plan/phases/PlanMindMap.js +0 -42
  458. package/dist/internal/core/components/plan/phases/PlanMindMap.js.map +0 -1
  459. package/dist/internal/core/components/plan/phases/PlanStatusIcon.d.ts +0 -6
  460. package/dist/internal/core/components/plan/phases/PlanStatusIcon.d.ts.map +0 -1
  461. package/dist/internal/core/components/plan/phases/PlanStatusIcon.js +0 -15
  462. package/dist/internal/core/components/plan/phases/PlanStatusIcon.js.map +0 -1
  463. package/dist/internal/core/components/plan/phases/PlanTree.d.ts +0 -9
  464. package/dist/internal/core/components/plan/phases/PlanTree.d.ts.map +0 -1
  465. package/dist/internal/core/components/plan/phases/PlanTree.js +0 -55
  466. package/dist/internal/core/components/plan/phases/PlanTree.js.map +0 -1
  467. package/dist/internal/core/components/plan/phases/SkillAnalysis.d.ts +0 -8
  468. package/dist/internal/core/components/plan/phases/SkillAnalysis.d.ts.map +0 -1
  469. package/dist/internal/core/components/plan/phases/SkillAnalysis.js +0 -22
  470. package/dist/internal/core/components/plan/phases/SkillAnalysis.js.map +0 -1
  471. package/dist/internal/core/components/plan/phases/SkillDiscovery.d.ts +0 -11
  472. package/dist/internal/core/components/plan/phases/SkillDiscovery.d.ts.map +0 -1
  473. package/dist/internal/core/components/plan/phases/SkillDiscovery.js +0 -52
  474. package/dist/internal/core/components/plan/phases/SkillDiscovery.js.map +0 -1
  475. package/dist/internal/core/components/plan/types.d.ts +0 -57
  476. package/dist/internal/core/components/plan/types.d.ts.map +0 -1
  477. package/dist/internal/core/components/plan/types.js +0 -2
  478. package/dist/internal/core/components/plan/types.js.map +0 -1
  479. package/dist/internal/core/components/session/SessionDetail.d.ts +0 -9
  480. package/dist/internal/core/components/session/SessionDetail.d.ts.map +0 -1
  481. package/dist/internal/core/components/session/SessionDetail.js +0 -248
  482. package/dist/internal/core/components/session/SessionDetail.js.map +0 -1
  483. package/dist/internal/core/components/session/SessionList.d.ts +0 -10
  484. package/dist/internal/core/components/session/SessionList.d.ts.map +0 -1
  485. package/dist/internal/core/components/session/SessionList.js +0 -28
  486. package/dist/internal/core/components/session/SessionList.js.map +0 -1
  487. package/dist/internal/core/components/session/SessionListItem.d.ts +0 -9
  488. package/dist/internal/core/components/session/SessionListItem.d.ts.map +0 -1
  489. package/dist/internal/core/components/session/SessionListItem.js +0 -10
  490. package/dist/internal/core/components/session/SessionListItem.js.map +0 -1
  491. package/dist/internal/core/components/session/StatusBadge.d.ts +0 -4
  492. package/dist/internal/core/components/session/StatusBadge.d.ts.map +0 -1
  493. package/dist/internal/core/components/session/StatusBadge.js +0 -47
  494. package/dist/internal/core/components/session/StatusBadge.js.map +0 -1
  495. package/dist/internal/core/components/session/index.d.ts +0 -6
  496. package/dist/internal/core/components/session/index.d.ts.map +0 -1
  497. package/dist/internal/core/components/session/index.js +0 -6
  498. package/dist/internal/core/components/session/index.js.map +0 -1
  499. package/dist/internal/core/components/session/session-utils.d.ts +0 -20
  500. package/dist/internal/core/components/session/session-utils.d.ts.map +0 -1
  501. package/dist/internal/core/components/session/session-utils.js +0 -130
  502. package/dist/internal/core/components/session/session-utils.js.map +0 -1
  503. package/dist/internal/core/components/ui/collapsible.d.ts +0 -6
  504. package/dist/internal/core/components/ui/collapsible.d.ts.map +0 -1
  505. package/dist/internal/core/components/ui/collapsible.js +0 -13
  506. package/dist/internal/core/components/ui/collapsible.js.map +0 -1
  507. package/dist/internal/core/components/workspace/FileTree.d.ts +0 -14
  508. package/dist/internal/core/components/workspace/FileTree.d.ts.map +0 -1
  509. package/dist/internal/core/components/workspace/FileTree.js +0 -521
  510. package/dist/internal/core/components/workspace/FileTree.js.map +0 -1
  511. package/dist/internal/core/components/workspace/WorkspaceFilesPanel.d.ts +0 -20
  512. package/dist/internal/core/components/workspace/WorkspaceFilesPanel.d.ts.map +0 -1
  513. package/dist/internal/core/components/workspace/WorkspaceFilesPanel.js +0 -142
  514. package/dist/internal/core/components/workspace/WorkspaceFilesPanel.js.map +0 -1
  515. package/dist/internal/core/components/workspace/index.d.ts +0 -3
  516. package/dist/internal/core/components/workspace/index.d.ts.map +0 -1
  517. package/dist/internal/core/components/workspace/index.js +0 -3
  518. package/dist/internal/core/components/workspace/index.js.map +0 -1
  519. package/dist/internal/core/devtools/bridge-devtools/BridgeDevtoolsFab.d.ts +0 -2
  520. package/dist/internal/core/devtools/bridge-devtools/BridgeDevtoolsFab.d.ts.map +0 -1
  521. package/dist/internal/core/devtools/bridge-devtools/BridgeDevtoolsFab.js +0 -306
  522. package/dist/internal/core/devtools/bridge-devtools/BridgeDevtoolsFab.js.map +0 -1
  523. package/dist/internal/core/devtools/bridge-devtools/index.d.ts +0 -4
  524. package/dist/internal/core/devtools/bridge-devtools/index.d.ts.map +0 -1
  525. package/dist/internal/core/devtools/bridge-devtools/index.js +0 -3
  526. package/dist/internal/core/devtools/bridge-devtools/index.js.map +0 -1
  527. package/dist/internal/core/devtools/bridge-devtools/mount.d.ts +0 -2
  528. package/dist/internal/core/devtools/bridge-devtools/mount.d.ts.map +0 -1
  529. package/dist/internal/core/devtools/bridge-devtools/mount.js +0 -24
  530. package/dist/internal/core/devtools/bridge-devtools/mount.js.map +0 -1
  531. package/dist/internal/core/devtools/bridge-devtools/store.d.ts +0 -16
  532. package/dist/internal/core/devtools/bridge-devtools/store.d.ts.map +0 -1
  533. package/dist/internal/core/devtools/bridge-devtools/store.js +0 -37
  534. package/dist/internal/core/devtools/bridge-devtools/store.js.map +0 -1
  535. package/dist/internal/core/devtools/bridge-devtools/tap.d.ts +0 -6
  536. package/dist/internal/core/devtools/bridge-devtools/tap.d.ts.map +0 -1
  537. package/dist/internal/core/devtools/bridge-devtools/tap.js +0 -58
  538. package/dist/internal/core/devtools/bridge-devtools/tap.js.map +0 -1
  539. package/dist/internal/core/devtools/bridge-devtools/types.d.ts +0 -30
  540. package/dist/internal/core/devtools/bridge-devtools/types.d.ts.map +0 -1
  541. package/dist/internal/core/devtools/bridge-devtools/types.js +0 -2
  542. package/dist/internal/core/devtools/bridge-devtools/types.js.map +0 -1
  543. package/dist/internal/core/hooks/use-background-tasks.d.ts +0 -8
  544. package/dist/internal/core/hooks/use-background-tasks.d.ts.map +0 -1
  545. package/dist/internal/core/hooks/use-background-tasks.js +0 -23
  546. package/dist/internal/core/hooks/use-background-tasks.js.map +0 -1
  547. package/dist/internal/core/hooks/use-card-state.d.ts +0 -2
  548. package/dist/internal/core/hooks/use-card-state.d.ts.map +0 -1
  549. package/dist/internal/core/hooks/use-card-state.js +0 -22
  550. package/dist/internal/core/hooks/use-card-state.js.map +0 -1
  551. package/dist/internal/core/hooks/use-chat.d.ts +0 -11
  552. package/dist/internal/core/hooks/use-chat.d.ts.map +0 -1
  553. package/dist/internal/core/hooks/use-chat.js +0 -68
  554. package/dist/internal/core/hooks/use-chat.js.map +0 -1
  555. package/dist/internal/core/hooks/use-check-skill-file.d.ts +0 -5
  556. package/dist/internal/core/hooks/use-check-skill-file.d.ts.map +0 -1
  557. package/dist/internal/core/hooks/use-check-skill-file.js +0 -26
  558. package/dist/internal/core/hooks/use-check-skill-file.js.map +0 -1
  559. package/dist/internal/core/hooks/use-context-stats.d.ts +0 -8
  560. package/dist/internal/core/hooks/use-context-stats.d.ts.map +0 -1
  561. package/dist/internal/core/hooks/use-context-stats.js +0 -22
  562. package/dist/internal/core/hooks/use-context-stats.js.map +0 -1
  563. package/dist/internal/core/hooks/use-gis.d.ts +0 -18
  564. package/dist/internal/core/hooks/use-gis.d.ts.map +0 -1
  565. package/dist/internal/core/hooks/use-gis.js +0 -52
  566. package/dist/internal/core/hooks/use-gis.js.map +0 -1
  567. package/dist/internal/core/hooks/use-global-skill-stats.d.ts +0 -7
  568. package/dist/internal/core/hooks/use-global-skill-stats.d.ts.map +0 -1
  569. package/dist/internal/core/hooks/use-global-skill-stats.js +0 -20
  570. package/dist/internal/core/hooks/use-global-skill-stats.js.map +0 -1
  571. package/dist/internal/core/hooks/use-input-history.d.ts +0 -8
  572. package/dist/internal/core/hooks/use-input-history.d.ts.map +0 -1
  573. package/dist/internal/core/hooks/use-input-history.js +0 -90
  574. package/dist/internal/core/hooks/use-input-history.js.map +0 -1
  575. package/dist/internal/core/hooks/use-registry.d.ts +0 -54
  576. package/dist/internal/core/hooks/use-registry.d.ts.map +0 -1
  577. package/dist/internal/core/hooks/use-registry.js +0 -35
  578. package/dist/internal/core/hooks/use-registry.js.map +0 -1
  579. package/dist/internal/core/hooks/use-session.d.ts +0 -11
  580. package/dist/internal/core/hooks/use-session.d.ts.map +0 -1
  581. package/dist/internal/core/hooks/use-session.js +0 -22
  582. package/dist/internal/core/hooks/use-session.js.map +0 -1
  583. package/dist/internal/core/hooks/use-skill-stats.d.ts +0 -8
  584. package/dist/internal/core/hooks/use-skill-stats.d.ts.map +0 -1
  585. package/dist/internal/core/hooks/use-skill-stats.js +0 -24
  586. package/dist/internal/core/hooks/use-skill-stats.js.map +0 -1
  587. package/dist/internal/core/hooks/use-skills.d.ts +0 -7
  588. package/dist/internal/core/hooks/use-skills.d.ts.map +0 -1
  589. package/dist/internal/core/hooks/use-skills.js +0 -11
  590. package/dist/internal/core/hooks/use-skills.js.map +0 -1
  591. package/dist/internal/core/hooks/use-token-pressure.d.ts +0 -7
  592. package/dist/internal/core/hooks/use-token-pressure.d.ts.map +0 -1
  593. package/dist/internal/core/hooks/use-token-pressure.js +0 -28
  594. package/dist/internal/core/hooks/use-token-pressure.js.map +0 -1
  595. package/dist/internal/core/index.d.ts +0 -99
  596. package/dist/internal/core/index.d.ts.map +0 -1
  597. package/dist/internal/core/index.js +0 -83
  598. package/dist/internal/core/index.js.map +0 -1
  599. package/dist/internal/core/lib/analytics.d.ts +0 -8
  600. package/dist/internal/core/lib/analytics.d.ts.map +0 -1
  601. package/dist/internal/core/lib/analytics.js +0 -8
  602. package/dist/internal/core/lib/analytics.js.map +0 -1
  603. package/dist/internal/core/lib/attachment-upload.d.ts +0 -11
  604. package/dist/internal/core/lib/attachment-upload.d.ts.map +0 -1
  605. package/dist/internal/core/lib/attachment-upload.js +0 -26
  606. package/dist/internal/core/lib/attachment-upload.js.map +0 -1
  607. package/dist/internal/core/lib/card-registry.d.ts +0 -36
  608. package/dist/internal/core/lib/card-registry.d.ts.map +0 -1
  609. package/dist/internal/core/lib/card-registry.js +0 -67
  610. package/dist/internal/core/lib/card-registry.js.map +0 -1
  611. package/dist/internal/core/lib/chat.d.ts +0 -49
  612. package/dist/internal/core/lib/chat.d.ts.map +0 -1
  613. package/dist/internal/core/lib/chat.js +0 -172
  614. package/dist/internal/core/lib/chat.js.map +0 -1
  615. package/dist/internal/core/lib/code-highlight.d.ts +0 -9
  616. package/dist/internal/core/lib/code-highlight.d.ts.map +0 -1
  617. package/dist/internal/core/lib/code-highlight.js +0 -153
  618. package/dist/internal/core/lib/code-highlight.js.map +0 -1
  619. package/dist/internal/core/lib/open-session-file.d.ts +0 -3
  620. package/dist/internal/core/lib/open-session-file.d.ts.map +0 -1
  621. package/dist/internal/core/lib/open-session-file.js +0 -14
  622. package/dist/internal/core/lib/open-session-file.js.map +0 -1
  623. package/dist/internal/core/lib/parent-bridge.d.ts +0 -20
  624. package/dist/internal/core/lib/parent-bridge.d.ts.map +0 -1
  625. package/dist/internal/core/lib/parent-bridge.js +0 -135
  626. package/dist/internal/core/lib/parent-bridge.js.map +0 -1
  627. package/dist/internal/core/lib/preview-dispatch.d.ts +0 -25
  628. package/dist/internal/core/lib/preview-dispatch.d.ts.map +0 -1
  629. package/dist/internal/core/lib/preview-dispatch.js +0 -55
  630. package/dist/internal/core/lib/preview-dispatch.js.map +0 -1
  631. package/dist/internal/core/lib/resource-bridge.d.ts +0 -12
  632. package/dist/internal/core/lib/resource-bridge.d.ts.map +0 -1
  633. package/dist/internal/core/lib/resource-bridge.js +0 -51
  634. package/dist/internal/core/lib/resource-bridge.js.map +0 -1
  635. package/dist/internal/core/lib/session-file-preview.d.ts +0 -4
  636. package/dist/internal/core/lib/session-file-preview.d.ts.map +0 -1
  637. package/dist/internal/core/lib/session-file-preview.js +0 -71
  638. package/dist/internal/core/lib/session-file-preview.js.map +0 -1
  639. package/dist/internal/core/lib/step-ranges.d.ts +0 -43
  640. package/dist/internal/core/lib/step-ranges.d.ts.map +0 -1
  641. package/dist/internal/core/lib/step-ranges.js +0 -229
  642. package/dist/internal/core/lib/step-ranges.js.map +0 -1
  643. package/dist/internal/core/lib/tool-preview.d.ts +0 -3
  644. package/dist/internal/core/lib/tool-preview.d.ts.map +0 -1
  645. package/dist/internal/core/lib/tool-preview.js +0 -7
  646. package/dist/internal/core/lib/tool-preview.js.map +0 -1
  647. package/dist/internal/core/lib/ui-meta.d.ts +0 -10
  648. package/dist/internal/core/lib/ui-meta.d.ts.map +0 -1
  649. package/dist/internal/core/lib/ui-meta.js +0 -28
  650. package/dist/internal/core/lib/ui-meta.js.map +0 -1
  651. package/dist/internal/core/lib/utils.d.ts +0 -4
  652. package/dist/internal/core/lib/utils.d.ts.map +0 -1
  653. package/dist/internal/core/lib/utils.js +0 -30
  654. package/dist/internal/core/lib/utils.js.map +0 -1
  655. package/dist/internal/core/lib/whatif-prompt.d.ts +0 -46
  656. package/dist/internal/core/lib/whatif-prompt.d.ts.map +0 -1
  657. package/dist/internal/core/lib/whatif-prompt.js +0 -138
  658. package/dist/internal/core/lib/whatif-prompt.js.map +0 -1
  659. package/dist/internal/core/react/AgentKitProvider.d.ts +0 -20
  660. package/dist/internal/core/react/AgentKitProvider.d.ts.map +0 -1
  661. package/dist/internal/core/react/AgentKitProvider.js +0 -32
  662. package/dist/internal/core/react/AgentKitProvider.js.map +0 -1
  663. package/dist/internal/core/routes.d.ts +0 -2
  664. package/dist/internal/core/routes.d.ts.map +0 -1
  665. package/dist/internal/core/routes.js +0 -2
  666. package/dist/internal/core/routes.js.map +0 -1
  667. package/dist/internal/core/schemas/background.d.ts +0 -12
  668. package/dist/internal/core/schemas/background.d.ts.map +0 -1
  669. package/dist/internal/core/schemas/background.js +0 -2
  670. package/dist/internal/core/schemas/background.js.map +0 -1
  671. package/dist/internal/core/schemas/event.d.ts +0 -46
  672. package/dist/internal/core/schemas/event.d.ts.map +0 -1
  673. package/dist/internal/core/schemas/event.js +0 -2
  674. package/dist/internal/core/schemas/event.js.map +0 -1
  675. package/dist/internal/core/schemas/gis.d.ts +0 -51
  676. package/dist/internal/core/schemas/gis.d.ts.map +0 -1
  677. package/dist/internal/core/schemas/gis.js +0 -2
  678. package/dist/internal/core/schemas/gis.js.map +0 -1
  679. package/dist/internal/core/schemas/message.d.ts.map +0 -1
  680. package/dist/internal/core/schemas/message.js +0 -23
  681. package/dist/internal/core/schemas/message.js.map +0 -1
  682. package/dist/internal/core/schemas/partner-skill.d.ts +0 -24
  683. package/dist/internal/core/schemas/partner-skill.d.ts.map +0 -1
  684. package/dist/internal/core/schemas/partner-skill.js +0 -24
  685. package/dist/internal/core/schemas/partner-skill.js.map +0 -1
  686. package/dist/internal/core/schemas/projection.d.ts.map +0 -1
  687. package/dist/internal/core/schemas/projection.js +0 -2
  688. package/dist/internal/core/schemas/projection.js.map +0 -1
  689. package/dist/internal/core/schemas/session.d.ts.map +0 -1
  690. package/dist/internal/core/schemas/session.js +0 -27
  691. package/dist/internal/core/schemas/session.js.map +0 -1
  692. package/dist/internal/core/schemas/skill.d.ts +0 -51
  693. package/dist/internal/core/schemas/skill.d.ts.map +0 -1
  694. package/dist/internal/core/schemas/skill.js +0 -8
  695. package/dist/internal/core/schemas/skill.js.map +0 -1
  696. package/dist/internal/core/schemas/studio/agent.d.ts +0 -13
  697. package/dist/internal/core/schemas/studio/agent.d.ts.map +0 -1
  698. package/dist/internal/core/schemas/studio/agent.js +0 -10
  699. package/dist/internal/core/schemas/studio/agent.js.map +0 -1
  700. package/dist/internal/core/schemas/studio/database.d.ts +0 -40
  701. package/dist/internal/core/schemas/studio/database.d.ts.map +0 -1
  702. package/dist/internal/core/schemas/studio/database.js +0 -35
  703. package/dist/internal/core/schemas/studio/database.js.map +0 -1
  704. package/dist/internal/core/schemas/studio/env.d.ts +0 -8
  705. package/dist/internal/core/schemas/studio/env.d.ts.map +0 -1
  706. package/dist/internal/core/schemas/studio/env.js +0 -8
  707. package/dist/internal/core/schemas/studio/env.js.map +0 -1
  708. package/dist/internal/core/schemas/studio/knowledge.d.ts +0 -19
  709. package/dist/internal/core/schemas/studio/knowledge.d.ts.map +0 -1
  710. package/dist/internal/core/schemas/studio/knowledge.js +0 -15
  711. package/dist/internal/core/schemas/studio/knowledge.js.map +0 -1
  712. package/dist/internal/core/schemas/studio/resource-base.d.ts +0 -8
  713. package/dist/internal/core/schemas/studio/resource-base.d.ts.map +0 -1
  714. package/dist/internal/core/schemas/studio/resource-base.js +0 -8
  715. package/dist/internal/core/schemas/studio/resource-base.js.map +0 -1
  716. package/dist/internal/core/schemas/studio/scene.d.ts +0 -13
  717. package/dist/internal/core/schemas/studio/scene.d.ts.map +0 -1
  718. package/dist/internal/core/schemas/studio/scene.js +0 -12
  719. package/dist/internal/core/schemas/studio/scene.js.map +0 -1
  720. package/dist/internal/core/schemas/studio/tool.d.ts +0 -26
  721. package/dist/internal/core/schemas/studio/tool.d.ts.map +0 -1
  722. package/dist/internal/core/schemas/studio/tool.js +0 -21
  723. package/dist/internal/core/schemas/studio/tool.js.map +0 -1
  724. package/dist/internal/core/schemas/task.d.ts +0 -13
  725. package/dist/internal/core/schemas/task.d.ts.map +0 -1
  726. package/dist/internal/core/schemas/task.js +0 -12
  727. package/dist/internal/core/schemas/task.js.map +0 -1
  728. package/dist/internal/core/stores/answer-callback-store.d.ts +0 -9
  729. package/dist/internal/core/stores/answer-callback-store.d.ts.map +0 -1
  730. package/dist/internal/core/stores/answer-callback-store.js +0 -13
  731. package/dist/internal/core/stores/answer-callback-store.js.map +0 -1
  732. package/dist/internal/core/stores/auth-store.d.ts +0 -38
  733. package/dist/internal/core/stores/auth-store.d.ts.map +0 -1
  734. package/dist/internal/core/stores/auth-store.js +0 -137
  735. package/dist/internal/core/stores/auth-store.js.map +0 -1
  736. package/dist/internal/core/stores/background-store.d.ts +0 -11
  737. package/dist/internal/core/stores/background-store.d.ts.map +0 -1
  738. package/dist/internal/core/stores/background-store.js +0 -34
  739. package/dist/internal/core/stores/background-store.js.map +0 -1
  740. package/dist/internal/core/stores/card-state-store.d.ts +0 -10
  741. package/dist/internal/core/stores/card-state-store.d.ts.map +0 -1
  742. package/dist/internal/core/stores/card-state-store.js +0 -22
  743. package/dist/internal/core/stores/card-state-store.js.map +0 -1
  744. package/dist/internal/core/stores/chat-store.d.ts +0 -34
  745. package/dist/internal/core/stores/chat-store.d.ts.map +0 -1
  746. package/dist/internal/core/stores/chat-store.js +0 -470
  747. package/dist/internal/core/stores/chat-store.js.map +0 -1
  748. package/dist/internal/core/stores/connection-store.d.ts +0 -14
  749. package/dist/internal/core/stores/connection-store.d.ts.map +0 -1
  750. package/dist/internal/core/stores/connection-store.js +0 -28
  751. package/dist/internal/core/stores/connection-store.js.map +0 -1
  752. package/dist/internal/core/stores/gis-store.d.ts +0 -19
  753. package/dist/internal/core/stores/gis-store.d.ts.map +0 -1
  754. package/dist/internal/core/stores/gis-store.js +0 -60
  755. package/dist/internal/core/stores/gis-store.js.map +0 -1
  756. package/dist/internal/core/stores/model-preferences-store.d.ts +0 -14
  757. package/dist/internal/core/stores/model-preferences-store.d.ts.map +0 -1
  758. package/dist/internal/core/stores/model-preferences-store.js +0 -62
  759. package/dist/internal/core/stores/model-preferences-store.js.map +0 -1
  760. package/dist/internal/core/stores/runtime-features-store.d.ts +0 -19
  761. package/dist/internal/core/stores/runtime-features-store.d.ts.map +0 -1
  762. package/dist/internal/core/stores/runtime-features-store.js +0 -17
  763. package/dist/internal/core/stores/runtime-features-store.js.map +0 -1
  764. package/dist/internal/core/stores/runtime-store.d.ts +0 -18
  765. package/dist/internal/core/stores/runtime-store.d.ts.map +0 -1
  766. package/dist/internal/core/stores/runtime-store.js +0 -23
  767. package/dist/internal/core/stores/runtime-store.js.map +0 -1
  768. package/dist/internal/core/stores/session-store.d.ts +0 -39
  769. package/dist/internal/core/stores/session-store.d.ts.map +0 -1
  770. package/dist/internal/core/stores/session-store.js +0 -396
  771. package/dist/internal/core/stores/session-store.js.map +0 -1
  772. package/dist/internal/core/stores/task-store.d.ts +0 -9
  773. package/dist/internal/core/stores/task-store.d.ts.map +0 -1
  774. package/dist/internal/core/stores/task-store.js +0 -14
  775. package/dist/internal/core/stores/task-store.js.map +0 -1
  776. package/dist/internal/core/stores/ui-bridge-store.d.ts +0 -31
  777. package/dist/internal/core/stores/ui-bridge-store.d.ts.map +0 -1
  778. package/dist/internal/core/stores/ui-bridge-store.js +0 -116
  779. package/dist/internal/core/stores/ui-bridge-store.js.map +0 -1
  780. package/dist/internal/core/stores/ui-store.d.ts +0 -59
  781. package/dist/internal/core/stores/ui-store.d.ts.map +0 -1
  782. package/dist/internal/core/stores/ui-store.js +0 -109
  783. package/dist/internal/core/stores/ui-store.js.map +0 -1
  784. package/dist/internal/core/types/index.d.ts +0 -8
  785. package/dist/internal/core/types/index.d.ts.map +0 -1
  786. package/dist/internal/core/types/index.js +0 -2
  787. package/dist/internal/core/types/index.js.map +0 -1
  788. package/dist/internal/core/types/solution.d.ts +0 -22
  789. package/dist/internal/core/types/solution.d.ts.map +0 -1
  790. package/dist/internal/core/types/solution.js +0 -7
  791. package/dist/internal/core/types/solution.js.map +0 -1
  792. package/dist/react.d.ts +0 -9
  793. package/dist/react.d.ts.map +0 -1
  794. package/dist/react.js +0 -9
  795. package/dist/react.js.map +0 -1
@@ -0,0 +1,1503 @@
1
+ // src/client/resources/models.ts
2
+ import { type } from "arktype";
3
+ var ModelOption = type({
4
+ id: "string",
5
+ label: "string"
6
+ });
7
+ var ModelsConfig = type({
8
+ default: "string",
9
+ models: ModelOption.array()
10
+ });
11
+
12
+ // src/client/socket.ts
13
+ import { io } from "socket.io-client";
14
+
15
+ // src/react/schemas/partner-skill.ts
16
+ import { type as type2 } from "arktype";
17
+ var PartnerSkillName = type2("/^[a-z0-9-]+\\/[a-z0-9-]+$/");
18
+ var PartnerSkillFile = type2({
19
+ path: "string > 0",
20
+ content: "string"
21
+ });
22
+ var PartnerSkillInstallPayload = type2({
23
+ name: PartnerSkillName,
24
+ files: PartnerSkillFile.array().atLeastLength(1)
25
+ });
26
+ var PartnerSkillInstallResult = type2({
27
+ name: PartnerSkillName,
28
+ skill_dir: "string",
29
+ file_count: "number.integer >= 0",
30
+ overwritten: "boolean"
31
+ });
32
+
33
+ // src/react/stores/ui-bridge-store.ts
34
+ import { create } from "zustand";
35
+
36
+ // src/react/stores/client-aware.ts
37
+ function createClientActions(set) {
38
+ return {
39
+ _client: null,
40
+ setClient: (client) => set({ _client: client })
41
+ };
42
+ }
43
+
44
+ // src/react/stores/ui-bridge-store.ts
45
+ function buildSignalId() {
46
+ if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
47
+ return crypto.randomUUID();
48
+ }
49
+ return `bridge-${Date.now()}-${Math.random().toString(36).slice(2)}`;
50
+ }
51
+ function clearSignalRecord(record, sessionId) {
52
+ if (!(sessionId in record)) {
53
+ return record;
54
+ }
55
+ const next = { ...record };
56
+ delete next[sessionId];
57
+ return next;
58
+ }
59
+ var useUiBridgeStore = create()((set, get) => ({
60
+ ...createClientActions(set),
61
+ pendingContexts: {},
62
+ draftAppends: {},
63
+ sendRequests: {},
64
+ addPendingContext: (sessionId, context) => set((state) => ({
65
+ pendingContexts: {
66
+ ...state.pendingContexts,
67
+ [sessionId]: [
68
+ ...state.pendingContexts[sessionId] ?? [],
69
+ {
70
+ id: buildSignalId(),
71
+ label: context.label,
72
+ content: context.content
73
+ }
74
+ ]
75
+ }
76
+ })),
77
+ removePendingContext: (sessionId, contextId) => set((state) => {
78
+ const contexts = state.pendingContexts[sessionId];
79
+ if (!contexts?.length) {
80
+ return state;
81
+ }
82
+ const nextContexts = contexts.filter((context) => context.id !== contextId);
83
+ if (nextContexts.length === contexts.length) {
84
+ return state;
85
+ }
86
+ return {
87
+ pendingContexts: nextContexts.length > 0 ? {
88
+ ...state.pendingContexts,
89
+ [sessionId]: nextContexts
90
+ } : clearSignalRecord(state.pendingContexts, sessionId)
91
+ };
92
+ }),
93
+ consumePendingContexts: (sessionId) => {
94
+ const signals = get().pendingContexts[sessionId] ?? [];
95
+ if (signals.length === 0) return [];
96
+ set((state) => ({
97
+ pendingContexts: clearSignalRecord(state.pendingContexts, sessionId)
98
+ }));
99
+ return signals;
100
+ },
101
+ clearPendingContexts: (sessionId) => set((state) => ({
102
+ pendingContexts: clearSignalRecord(state.pendingContexts, sessionId)
103
+ })),
104
+ addDraftAppend: (sessionId, text) => set((state) => ({
105
+ draftAppends: {
106
+ ...state.draftAppends,
107
+ [sessionId]: [
108
+ ...state.draftAppends[sessionId] ?? [],
109
+ {
110
+ id: buildSignalId(),
111
+ text
112
+ }
113
+ ]
114
+ }
115
+ })),
116
+ consumeDraftAppends: (sessionId) => {
117
+ const signals = get().draftAppends[sessionId] ?? [];
118
+ if (signals.length === 0) return [];
119
+ set((state) => ({
120
+ draftAppends: clearSignalRecord(state.draftAppends, sessionId)
121
+ }));
122
+ return signals;
123
+ },
124
+ clearDraftAppends: (sessionId) => set((state) => ({
125
+ draftAppends: clearSignalRecord(state.draftAppends, sessionId)
126
+ })),
127
+ addSendRequest: (sessionId) => set((state) => ({
128
+ sendRequests: {
129
+ ...state.sendRequests,
130
+ [sessionId]: [
131
+ ...state.sendRequests[sessionId] ?? [],
132
+ {
133
+ id: buildSignalId()
134
+ }
135
+ ]
136
+ }
137
+ })),
138
+ consumeSendRequests: (sessionId) => {
139
+ const signals = get().sendRequests[sessionId] ?? [];
140
+ if (signals.length === 0) return [];
141
+ set((state) => ({
142
+ sendRequests: clearSignalRecord(state.sendRequests, sessionId)
143
+ }));
144
+ return signals;
145
+ },
146
+ clearSendRequests: (sessionId) => set((state) => ({
147
+ sendRequests: clearSignalRecord(state.sendRequests, sessionId)
148
+ })),
149
+ clearSession: (sessionId) => set((state) => ({
150
+ pendingContexts: clearSignalRecord(state.pendingContexts, sessionId),
151
+ draftAppends: clearSignalRecord(state.draftAppends, sessionId),
152
+ sendRequests: clearSignalRecord(state.sendRequests, sessionId)
153
+ }))
154
+ }));
155
+
156
+ // src/react/lib/chat.ts
157
+ function normalizeMessageContent(content) {
158
+ if (typeof content === "string") return content;
159
+ if (Array.isArray(content)) return content;
160
+ return String(content ?? "");
161
+ }
162
+
163
+ // src/react/stores/auth-store.ts
164
+ import { create as create6 } from "zustand";
165
+ import { createJSONStorage, persist } from "zustand/middleware";
166
+
167
+ // src/react/api/auth.ts
168
+ var r = () => getClient().auth;
169
+ var getMe = (...args) => r().getMe(...args);
170
+ var logout = (...args) => r().logout(...args);
171
+
172
+ // src/react/sockets/socket-state.ts
173
+ var agentSocket = null;
174
+
175
+ // src/react/stores/session-store.ts
176
+ import { create as create5 } from "zustand";
177
+
178
+ // src/react/api/sessions.ts
179
+ var r2 = () => getClient().sessions;
180
+ var listSessions = (...args) => r2().listSessions(...args);
181
+ var createSession = (...args) => r2().createSession(...args);
182
+ var getSession = (...args) => r2().getSession(...args);
183
+ var pinSession = (...args) => r2().pinSession(...args);
184
+ var updateSharing = (...args) => r2().updateSharing(...args);
185
+ var getSessionTasks = (...args) => r2().getSessionTasks(...args);
186
+ var getSessionTurns = (...args) => r2().getSessionTurns(...args);
187
+ var deleteSession = (...args) => r2().deleteSession(...args);
188
+
189
+ // src/react/stores/chat-store.ts
190
+ import { create as create3 } from "zustand";
191
+
192
+ // src/react/components/chat/display-utils.ts
193
+ var TOOL_NAME_ALIASES = {
194
+ agent: "Agent",
195
+ ask_user_question: "AskUserQuestion",
196
+ bash: "Bash",
197
+ bg_bash: "BgBash",
198
+ edit: "Edit",
199
+ exit_plan_mode: "ExitPlanMode",
200
+ file_edit: "Edit",
201
+ file_read: "Read",
202
+ file_write: "Write",
203
+ finish_task: "FinishTask",
204
+ get_skill_content: "GetSkillContent",
205
+ glob: "Glob",
206
+ grep: "Grep",
207
+ list_skill_tools: "ListSkillTools",
208
+ load_skill_tools: "LoadSkillTools",
209
+ ls: "Ls",
210
+ read: "Read",
211
+ run_skill_tool: "RunSkillTool",
212
+ search_skills: "SearchSkills",
213
+ web_fetch: "WebFetch",
214
+ web_search: "WebSearch",
215
+ write: "Write"
216
+ };
217
+ var TOOL_DISPLAY_LABELS = {
218
+ Bash: "\u6267\u884C\u547D\u4EE4",
219
+ BgBash: "\u540E\u53F0\u6267\u884C\u547D\u4EE4",
220
+ Read: "\u8BFB\u53D6\u6587\u4EF6",
221
+ Write: "\u5199\u5165\u6587\u4EF6",
222
+ Edit: "\u7F16\u8F91\u6587\u4EF6",
223
+ Ls: "\u5217\u51FA\u76EE\u5F55",
224
+ Glob: "\u5339\u914D\u6587\u4EF6",
225
+ Grep: "\u641C\u7D22\u6587\u672C",
226
+ WebSearch: "\u641C\u7D22\u7F51\u9875",
227
+ WebFetch: "\u6574\u7406\u7F51\u9875\u5185\u5BB9",
228
+ Agent: "\u6D3E\u751F\u5B50\u667A\u80FD\u4F53",
229
+ AskUserQuestion: "\u5411\u7528\u6237\u63D0\u95EE",
230
+ SearchSkills: "\u641C\u7D22\u6280\u80FD",
231
+ GetSkillContent: "\u8BFB\u53D6\u6280\u80FD",
232
+ ListSkillTools: "\u67E5\u770B\u5DE5\u5177\u5217\u8868",
233
+ LoadSkillTools: "\u52A0\u8F7D\u6280\u80FD",
234
+ RunSkillTool: "\u6267\u884C\u6280\u80FD\u5DE5\u5177",
235
+ FinishTask: "\u4EFB\u52A1\u5B8C\u6210",
236
+ ExitPlanMode: "\u63D0\u4EA4\u8BA1\u5212",
237
+ ListSessions: "\u5217\u51FA\u5386\u53F2\u4F1A\u8BDD",
238
+ GetSessionHistory: "\u8BFB\u53D6\u4F1A\u8BDD\u5386\u53F2"
239
+ };
240
+ var GENERIC_DISPLAY_NAMES = new Set(Object.values(TOOL_DISPLAY_LABELS));
241
+ function formatToolName(name) {
242
+ const trimmed = name.trim();
243
+ if (!trimmed) return name;
244
+ const stripped = trimmed.split(":").pop()?.split("/").pop()?.split(".").pop()?.trim() || trimmed;
245
+ const normalized = stripped.replace(/([a-z0-9])([A-Z])/g, "$1_$2").replace(/[^a-zA-Z0-9]+/g, "_").replace(/^_+|_+$/g, "").toLowerCase();
246
+ return TOOL_NAME_ALIASES[normalized] ?? stripped;
247
+ }
248
+
249
+ // src/react/stores/ui-store.ts
250
+ import { create as create2 } from "zustand";
251
+ var isBrowser = typeof window !== "undefined" && typeof document !== "undefined";
252
+ function resolveEffectiveTheme(theme) {
253
+ if (theme !== "system") return theme;
254
+ return isBrowser && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
255
+ }
256
+ function applyTheme(theme) {
257
+ if (!isBrowser) return;
258
+ const effective = resolveEffectiveTheme(theme);
259
+ document.documentElement.setAttribute("data-theme", effective);
260
+ }
261
+ var storedTheme = isBrowser ? localStorage.getItem("blade-theme") ?? "light" : "light";
262
+ applyTheme(storedTheme);
263
+ if (isBrowser) {
264
+ window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", () => {
265
+ const current = useUiStore?.getState?.()?.theme;
266
+ if (current === "system") applyTheme("system");
267
+ });
268
+ }
269
+ function removeArtifactAtIndex(state, index) {
270
+ const next = state.artifacts.filter((_, i) => i !== index);
271
+ let nextActive = state.activeArtifactIndex;
272
+ if (next.length === 0) {
273
+ return { artifacts: [], activeArtifactIndex: -1, rightPanelCollapsed: true };
274
+ }
275
+ if (index < nextActive) {
276
+ nextActive -= 1;
277
+ } else if (index === nextActive) {
278
+ nextActive = Math.min(index, next.length - 1);
279
+ }
280
+ return { artifacts: next, activeArtifactIndex: nextActive };
281
+ }
282
+ function upsertArtifactState(state, target, options) {
283
+ const reveal = options?.reveal ?? true;
284
+ const activate = options?.activate ?? true;
285
+ const targetKey = target.key ?? target.title;
286
+ const applyUiState = (partial) => ({
287
+ ...partial,
288
+ ...reveal ? { rightPanelCollapsed: false, activeRightTab: "preview" } : {}
289
+ });
290
+ const existing = state.artifacts.findIndex((artifact) => targetKey && (artifact.key ?? artifact.title) === targetKey);
291
+ if (existing >= 0) {
292
+ const updated = [...state.artifacts];
293
+ updated[existing] = target;
294
+ return applyUiState({
295
+ artifacts: updated,
296
+ activeArtifactIndex: activate ? existing : state.activeArtifactIndex
297
+ });
298
+ }
299
+ const next = [...state.artifacts, target];
300
+ return applyUiState({
301
+ artifacts: next,
302
+ activeArtifactIndex: activate ? next.length - 1 : state.activeArtifactIndex >= 0 ? state.activeArtifactIndex : 0
303
+ });
304
+ }
305
+ var useUiStore = create2()((set) => ({
306
+ ...createClientActions(set),
307
+ leftPanelSize: 20,
308
+ rightPanelSize: 25,
309
+ leftPanelCollapsed: false,
310
+ rightPanelCollapsed: false,
311
+ activeRightTab: "situation",
312
+ artifacts: [],
313
+ activeArtifactIndex: -1,
314
+ theme: storedTheme,
315
+ setLeftPanelSize: (size) => set({ leftPanelSize: size }),
316
+ setRightPanelSize: (size) => set({ rightPanelSize: size }),
317
+ setLeftPanelCollapsed: (collapsed) => set({ leftPanelCollapsed: collapsed }),
318
+ setRightPanelCollapsed: (collapsed) => set({ rightPanelCollapsed: collapsed }),
319
+ toggleLeftPanel: () => set((s) => ({ leftPanelCollapsed: !s.leftPanelCollapsed })),
320
+ toggleRightPanel: () => set((s) => ({ rightPanelCollapsed: !s.rightPanelCollapsed })),
321
+ setActiveRightTab: (tab) => set({ activeRightTab: tab }),
322
+ pushArtifact: (target) => set((state) => upsertArtifactState(state, target)),
323
+ upsertArtifact: (target, options) => set((state) => upsertArtifactState(state, target, options)),
324
+ setActiveArtifact: (index) => set({ activeArtifactIndex: index }),
325
+ closeArtifact: (index) => set((state) => removeArtifactAtIndex(state, index)),
326
+ removeArtifactByKey: (key) => set((state) => {
327
+ const index = state.artifacts.findIndex((artifact) => (artifact.key ?? artifact.title) === key);
328
+ if (index < 0) return state;
329
+ return removeArtifactAtIndex(state, index);
330
+ }),
331
+ clearArtifacts: () => set({ artifacts: [], activeArtifactIndex: -1 }),
332
+ setPreviewTarget: (target) => set(() => {
333
+ if (target === null) {
334
+ return { artifacts: [], activeArtifactIndex: -1 };
335
+ }
336
+ return {
337
+ artifacts: [target],
338
+ activeArtifactIndex: 0,
339
+ rightPanelCollapsed: false,
340
+ activeRightTab: "preview"
341
+ };
342
+ }),
343
+ setTheme: (theme) => {
344
+ localStorage.setItem("blade-theme", theme);
345
+ applyTheme(theme);
346
+ set({ theme });
347
+ }
348
+ }));
349
+
350
+ // src/react/stores/chat-store.ts
351
+ var _getActiveSessionId = null;
352
+ function setChatStoreSessionAccessor(fn) {
353
+ _getActiveSessionId = fn;
354
+ }
355
+ function parseAgentDescription(argumentsJson) {
356
+ try {
357
+ return JSON.parse(argumentsJson)?.description ?? "\u5B50\u667A\u80FD\u4F53";
358
+ } catch {
359
+ return "\u5B50\u667A\u80FD\u4F53";
360
+ }
361
+ }
362
+ function inferLoopStatusFromMessages(messages) {
363
+ const toolCalls = messages.flatMap((message) => message.tool_calls ?? []);
364
+ if (messages.some((message) => message.status === "streaming")) return "running";
365
+ if (toolCalls.some((toolCall) => toolCall.status === "awaiting_answer")) return "awaiting_answer";
366
+ if (toolCalls.some((toolCall) => toolCall.status === "error")) return "error";
367
+ if (toolCalls.some((toolCall) => toolCall.status === "cancelled")) return "cancelled";
368
+ if (toolCalls.some((toolCall) => toolCall.status === "pending")) return "running";
369
+ return "done";
370
+ }
371
+ function inferLoopStatusFromTurns(turns, messages) {
372
+ const latestAgentNotification = [...turns].reverse().flatMap((turn) => turn.blocks).find((block) => {
373
+ if (block.type !== "system_notification" || !isRecord(block.content)) return false;
374
+ return block.content.notification_type === "agent:start" || block.content.notification_type === "agent:end";
375
+ });
376
+ if (latestAgentNotification?.type === "system_notification" && isRecord(latestAgentNotification.content)) {
377
+ const notificationType = latestAgentNotification.content.notification_type;
378
+ const status = latestAgentNotification.content.status;
379
+ if (notificationType === "agent:start" || status === "running") return "running";
380
+ if (status === "error") return "error";
381
+ if (status === "cancelled") return "cancelled";
382
+ }
383
+ return inferLoopStatusFromMessages(messages);
384
+ }
385
+ function isRecord(value) {
386
+ return typeof value === "object" && value !== null && !Array.isArray(value);
387
+ }
388
+ function parentForkToolCallIdFromTurn(turn) {
389
+ if (typeof turn.parent_fork_tool_call_id === "string" && turn.parent_fork_tool_call_id.length > 0) {
390
+ return turn.parent_fork_tool_call_id;
391
+ }
392
+ for (const block of turn.blocks) {
393
+ if (block.type !== "system_notification" || !isRecord(block.content)) continue;
394
+ const metadata = block.content.metadata;
395
+ if (!isRecord(metadata)) continue;
396
+ const parentId = metadata.parent_fork_tool_call_id;
397
+ if (typeof parentId === "string" && parentId.length > 0) return parentId;
398
+ }
399
+ return null;
400
+ }
401
+ function buildMessageContent(turn) {
402
+ const textBlocks = turn.blocks.filter((block) => block.type === "text");
403
+ if (textBlocks.length === 0) return "";
404
+ if (textBlocks.length === 1) return normalizeMessageContent(textBlocks[0].content);
405
+ return textBlocks.map((block) => {
406
+ if (typeof block.content === "string") return block.content;
407
+ return JSON.stringify(block.content);
408
+ }).join("");
409
+ }
410
+ function buildReasoning(turn) {
411
+ const thinking = turn.blocks.filter((block) => block.type === "thinking").map((block) => typeof block.content === "string" ? block.content : JSON.stringify(block.content)).filter(Boolean);
412
+ if (thinking.length === 0) return void 0;
413
+ return thinking.join("\n\n");
414
+ }
415
+ function isModeChangeContent(value) {
416
+ return typeof value === "object" && value !== null && typeof value.from === "string" && typeof value.to === "string";
417
+ }
418
+ function extractModeFromBlocks(blocks) {
419
+ const modeBlock = blocks.find((block) => block.type === "mode_change");
420
+ if (modeBlock && isModeChangeContent(modeBlock.content)) {
421
+ return modeBlock.content.to === "planning" || modeBlock.content.to === "executing" ? modeBlock.content.to : null;
422
+ }
423
+ if (blocks.some((block) => block.type === "planning_enter")) return "planning";
424
+ if (blocks.some((block) => block.type === "planning_exit")) return "executing";
425
+ return null;
426
+ }
427
+ function projectionToMessage(turn) {
428
+ if (turn.kind === "compaction" && turn.compaction_id) {
429
+ return {
430
+ role: "assistant",
431
+ content: turn.summary_preview ?? "",
432
+ kind: "compaction",
433
+ loop_name: turn.loop_id,
434
+ entry_id: turn.turn_id,
435
+ status: turn.status,
436
+ compaction: {
437
+ compaction_id: turn.compaction_id,
438
+ summary_preview: turn.summary_preview,
439
+ summary_full: turn.summary_full,
440
+ archived_count: turn.archived_count,
441
+ archived_files: turn.archived_files,
442
+ archived_tool_calls: turn.archived_tool_calls,
443
+ tokens_before: turn.tokens_before,
444
+ tokens_after: turn.tokens_after,
445
+ saved_ratio: turn.saved_ratio,
446
+ trigger: turn.trigger,
447
+ failure_reason: turn.failure_reason,
448
+ fallback_applied: turn.fallback_applied
449
+ }
450
+ };
451
+ }
452
+ const planningBlock = turn.blocks.find(
453
+ (block) => block.type === "mode_change" || block.type === "planning_enter" || block.type === "planning_exit" || block.type === "plan_status"
454
+ );
455
+ if (planningBlock) {
456
+ if (planningBlock.type === "plan_status") {
457
+ return {
458
+ role: "tool",
459
+ content: typeof planningBlock.content === "string" ? planningBlock.content : JSON.stringify(planningBlock.content ?? {}, null, 2),
460
+ kind: "plan_status",
461
+ loop_name: turn.loop_id,
462
+ entry_id: turn.turn_id,
463
+ status: turn.status
464
+ };
465
+ }
466
+ return {
467
+ role: "assistant",
468
+ content: planningBlock.type === "mode_change" ? typeof planningBlock.content === "string" ? planningBlock.content : JSON.stringify(planningBlock.content ?? {}) : "",
469
+ kind: planningBlock.type,
470
+ loop_name: turn.loop_id,
471
+ entry_id: turn.turn_id,
472
+ status: turn.status
473
+ };
474
+ }
475
+ if (turn.blocks.some((block) => block.type === "ask_user_answer")) {
476
+ return null;
477
+ }
478
+ const content = buildMessageContent(turn);
479
+ const reasoning = buildReasoning(turn);
480
+ const toolCalls = turn.tool_calls.length > 0 ? turn.tool_calls.map((toolCall) => ({
481
+ id: toolCall.id,
482
+ name: toolCall.tool_name,
483
+ display_name: toolCall.display_name,
484
+ arguments: toolCall.arguments,
485
+ result: toolCall.result ?? void 0,
486
+ pending_question_ref: toolCall.pending_question_ref ?? void 0,
487
+ status: toolCall.status === "pending" || toolCall.status === "awaiting_answer" || toolCall.status === "done" || toolCall.status === "error" || toolCall.status === "cancelled" ? toolCall.status : "pending",
488
+ ...typeof toolCall.duration_ms === "number" ? { duration_ms: toolCall.duration_ms } : {}
489
+ })) : void 0;
490
+ if (turn.role === "system" && !content && !toolCalls?.length) {
491
+ return null;
492
+ }
493
+ return {
494
+ role: turn.role === "system" ? "assistant" : turn.role,
495
+ content,
496
+ blocks: turn.blocks,
497
+ ...reasoning ? { reasoning } : {},
498
+ ...toolCalls ? { tool_calls: toolCalls } : {},
499
+ loop_name: turn.loop_id,
500
+ entry_id: turn.turn_id,
501
+ status: turn.status,
502
+ ...typeof turn.duration_ms === "number" ? { duration_ms: turn.duration_ms } : {},
503
+ ...turn.started_at ? { timestamp: turn.started_at } : {},
504
+ ...turn.memory_refs?.length ? { memory_refs: turn.memory_refs } : {}
505
+ };
506
+ }
507
+ function rebuildAgentLoops(turns) {
508
+ const messages = turns.map(projectionToMessage).filter(Boolean);
509
+ const childLoopNames = [...new Set(turns.map((turn) => turn.loop_id).filter((name) => name !== "root"))];
510
+ if (childLoopNames.length === 0) return {};
511
+ const agentToolCalls = messages.filter((message) => message.role === "assistant" && (message.loop_name ?? "root") === "root").flatMap((message) => message.tool_calls ?? []).filter((toolCall) => formatToolName(toolCall.name) === "Agent");
512
+ const loops = {};
513
+ const agentToolCallsById = new Map(agentToolCalls.map((toolCall) => [toolCall.id, toolCall]));
514
+ const explicitParentToolCallIds = new Set(
515
+ turns.map(parentForkToolCallIdFromTurn).filter((id) => id !== null)
516
+ );
517
+ const usedToolCallIds = /* @__PURE__ */ new Set();
518
+ for (const loopName of childLoopNames) {
519
+ const loopMessages = messages.filter((message) => (message.loop_name ?? "root") === loopName);
520
+ const loopTurns = turns.filter((turn) => turn.loop_id === loopName);
521
+ const parentToolCallId = loopTurns.map(parentForkToolCallIdFromTurn).find(Boolean);
522
+ const explicitToolCall = parentToolCallId && !usedToolCallIds.has(parentToolCallId) ? agentToolCallsById.get(parentToolCallId) ?? null : null;
523
+ const fallbackToolCall = explicitToolCall === null ? agentToolCalls.find(
524
+ (toolCall2) => !usedToolCallIds.has(toolCall2.id) && !explicitParentToolCallIds.has(toolCall2.id)
525
+ ) : null;
526
+ const toolCall = explicitToolCall ?? fallbackToolCall;
527
+ if (!toolCall) continue;
528
+ usedToolCallIds.add(toolCall.id);
529
+ loops[loopName] = {
530
+ toolCallId: toolCall.id,
531
+ description: parseAgentDescription(toolCall.arguments),
532
+ status: inferLoopStatusFromTurns(loopTurns, loopMessages)
533
+ };
534
+ }
535
+ return loops;
536
+ }
537
+ function applyPlanningSideEffects(sessionId, turns) {
538
+ const latestMode = [...turns].reverse().map((turn) => extractModeFromBlocks(turn.blocks)).find((mode) => mode !== null);
539
+ if (latestMode !== "planning") return;
540
+ if (_getActiveSessionId?.() !== sessionId) return;
541
+ const ui = useUiStore.getState();
542
+ ui.setActiveRightTab("situation");
543
+ if (ui.rightPanelCollapsed) {
544
+ ui.toggleRightPanel();
545
+ }
546
+ }
547
+ function materialize(turns) {
548
+ const messages = turns.map(projectionToMessage).filter((message) => message !== null);
549
+ const activeCompaction = [...turns].reverse().find(
550
+ (turn) => turn.kind === "compaction" && turn.status === "streaming" && typeof turn.compaction_id === "string"
551
+ );
552
+ return {
553
+ messages,
554
+ agentLoops: rebuildAgentLoops(turns),
555
+ activeCompaction: activeCompaction ? {
556
+ turn_id: activeCompaction.turn_id,
557
+ status: activeCompaction.status,
558
+ compaction_id: activeCompaction.compaction_id,
559
+ summary_preview: activeCompaction.summary_preview,
560
+ summary_full: activeCompaction.summary_full,
561
+ archived_count: activeCompaction.archived_count,
562
+ archived_files: activeCompaction.archived_files,
563
+ archived_tool_calls: activeCompaction.archived_tool_calls,
564
+ tokens_before: activeCompaction.tokens_before,
565
+ tokens_after: activeCompaction.tokens_after,
566
+ saved_ratio: activeCompaction.saved_ratio,
567
+ trigger: activeCompaction.trigger,
568
+ failure_reason: activeCompaction.failure_reason,
569
+ fallback_applied: activeCompaction.fallback_applied
570
+ } : null
571
+ };
572
+ }
573
+ var ERROR_ANCHOR_PREFIX = "error-anchor:";
574
+ function updateSessionState(state, sessionId, turns) {
575
+ const orderedTurns = [...turns].sort((left, right) => left.sequence - right.sequence);
576
+ const { messages, agentLoops, activeCompaction } = materialize(orderedTurns);
577
+ applyPlanningSideEffects(sessionId, orderedTurns);
578
+ const lastTurnId = orderedTurns[orderedTurns.length - 1]?.turn_id ?? null;
579
+ const preservedErrors = lastTurnId ? (state.messages[sessionId] ?? []).filter(
580
+ (m) => m.role === "error" && typeof m.entry_id === "string" && m.entry_id.startsWith(`${ERROR_ANCHOR_PREFIX}${lastTurnId}:`)
581
+ ) : [];
582
+ const mergedMessages = preservedErrors.length > 0 ? [...messages, ...preservedErrors] : messages;
583
+ return {
584
+ turns: { ...state.turns, [sessionId]: orderedTurns },
585
+ messages: { ...state.messages, [sessionId]: mergedMessages },
586
+ agentLoops: { ...state.agentLoops, [sessionId]: agentLoops },
587
+ activeCompactions: { ...state.activeCompactions, [sessionId]: activeCompaction }
588
+ };
589
+ }
590
+ var useChatStore = create3()((set) => ({
591
+ ...createClientActions(set),
592
+ turns: {},
593
+ messages: {},
594
+ askAnswers: {},
595
+ isStreaming: {},
596
+ agentLoops: {},
597
+ activeCompactions: {},
598
+ addUserMessage: (sessionId, content) => {
599
+ set((state) => {
600
+ const existing = state.turns[sessionId] ?? [];
601
+ const turnId = `local-user-${Date.now()}`;
602
+ const optimisticTurn = {
603
+ id: turnId,
604
+ sequence: Math.max(0, ...existing.map((turn) => turn.sequence)) + 1,
605
+ turn_id: turnId,
606
+ loop_id: "root",
607
+ role: "user",
608
+ status: "completed",
609
+ blocks: [{ type: "text", content }],
610
+ tool_calls: [],
611
+ model: null,
612
+ usage: null,
613
+ duration_ms: 0
614
+ };
615
+ return updateSessionState(state, sessionId, [...existing, optimisticTurn]);
616
+ });
617
+ },
618
+ setTurns: (sessionId, turns) => {
619
+ set((state) => updateSessionState(state, sessionId, [...turns]));
620
+ },
621
+ upsertTurn: (sessionId, turn) => {
622
+ set((state) => {
623
+ const existing = [...state.turns[sessionId] ?? []];
624
+ const index = existing.findIndex((item) => item.turn_id === turn.turn_id);
625
+ if (index >= 0) {
626
+ existing[index] = turn;
627
+ } else {
628
+ existing.push(turn);
629
+ }
630
+ return {
631
+ ...updateSessionState(state, sessionId, existing)
632
+ };
633
+ });
634
+ },
635
+ applyTurnPatch: (sessionId, patch) => {
636
+ set((state) => {
637
+ const turn = patch.data.turn;
638
+ if (!turn) return state;
639
+ const existing = [...state.turns[sessionId] ?? []];
640
+ const index = existing.findIndex((item) => item.turn_id === turn.turn_id);
641
+ const lastSequence = index >= 0 ? existing[index].sequence : null;
642
+ if (lastSequence !== null && patch.sequence <= lastSequence) {
643
+ return state;
644
+ }
645
+ const nextTurn = {
646
+ ...turn,
647
+ sequence: patch.sequence
648
+ };
649
+ if (index >= 0) {
650
+ existing[index] = nextTurn;
651
+ } else {
652
+ existing.push(nextTurn);
653
+ }
654
+ return {
655
+ ...updateSessionState(state, sessionId, existing)
656
+ };
657
+ });
658
+ },
659
+ addErrorMessage: (sessionId, content) => {
660
+ set((state) => {
661
+ const turns = state.turns[sessionId] ?? [];
662
+ const anchorTurnId = turns[turns.length - 1]?.turn_id ?? null;
663
+ const entry_id = anchorTurnId ? `${ERROR_ANCHOR_PREFIX}${anchorTurnId}:${Date.now()}` : void 0;
664
+ return {
665
+ messages: {
666
+ ...state.messages,
667
+ [sessionId]: [
668
+ ...state.messages[sessionId] ?? [],
669
+ { role: "error", content, loop_name: "root", entry_id }
670
+ ]
671
+ }
672
+ };
673
+ });
674
+ },
675
+ markInterrupted: (sessionId) => {
676
+ set((state) => {
677
+ const turns = (state.turns[sessionId] ?? []).map((turn) => {
678
+ if (turn.status !== "streaming") return turn;
679
+ return {
680
+ ...turn,
681
+ status: "interrupted",
682
+ tool_calls: turn.tool_calls.map(
683
+ (toolCall) => toolCall.status === "pending" || toolCall.status === "awaiting_answer" ? { ...toolCall, status: "cancelled" } : toolCall
684
+ )
685
+ };
686
+ });
687
+ return {
688
+ ...updateSessionState(state, sessionId, turns)
689
+ };
690
+ });
691
+ },
692
+ markFailed: (sessionId) => {
693
+ set((state) => {
694
+ const turns = (state.turns[sessionId] ?? []).map((turn) => {
695
+ if (turn.status !== "streaming") return turn;
696
+ return {
697
+ ...turn,
698
+ status: "failed",
699
+ tool_calls: turn.tool_calls.map(
700
+ (toolCall) => toolCall.status === "pending" || toolCall.status === "awaiting_answer" ? { ...toolCall, status: "error" } : toolCall
701
+ )
702
+ };
703
+ });
704
+ return {
705
+ ...updateSessionState(state, sessionId, turns)
706
+ };
707
+ });
708
+ },
709
+ setStreaming: (sessionId, streaming) => {
710
+ set((state) => ({
711
+ isStreaming: { ...state.isStreaming, [sessionId]: streaming }
712
+ }));
713
+ },
714
+ setAskAnswers: (sessionId, answers) => {
715
+ set((state) => ({
716
+ askAnswers: {
717
+ ...state.askAnswers,
718
+ [sessionId]: answers
719
+ }
720
+ }));
721
+ },
722
+ clearMessages: (sessionId) => {
723
+ set((state) => {
724
+ const { [sessionId]: _turns, ...restTurns } = state.turns;
725
+ const { [sessionId]: _messages, ...restMessages } = state.messages;
726
+ const { [sessionId]: _answers, ...restAnswers } = state.askAnswers;
727
+ const { [sessionId]: _loops, ...restLoops } = state.agentLoops;
728
+ const { [sessionId]: _compaction, ...restCompactions } = state.activeCompactions;
729
+ return {
730
+ turns: restTurns,
731
+ messages: restMessages,
732
+ askAnswers: restAnswers,
733
+ agentLoops: restLoops,
734
+ activeCompactions: restCompactions
735
+ };
736
+ });
737
+ }
738
+ }));
739
+
740
+ // src/react/stores/task-store.ts
741
+ import { create as create4 } from "zustand";
742
+ var EMPTY_TASKS = [];
743
+ var useTaskStore = create4()((set, get) => ({
744
+ ...createClientActions(set),
745
+ tasks: {},
746
+ setTasks: (sessionId, tasks) => {
747
+ set((state) => ({
748
+ tasks: { ...state.tasks, [sessionId]: tasks }
749
+ }));
750
+ },
751
+ getTasks: (sessionId) => {
752
+ return get().tasks[sessionId] ?? EMPTY_TASKS;
753
+ }
754
+ }));
755
+
756
+ // src/react/stores/session-store.ts
757
+ var DEFAULT_SESSION_MODE = "executing";
758
+ var onSessionChange = null;
759
+ function invalidateHomeSidebarSessions() {
760
+ const queryClient = globalThis.__agentQueryClient;
761
+ if (!queryClient) return;
762
+ void queryClient.invalidateQueries({ queryKey: ["sessions", "home-sidebar"] });
763
+ }
764
+ function isSessionAccessRevoked(error) {
765
+ if (error instanceof Error) {
766
+ const msg = error.message;
767
+ return msg.includes("API 403") || msg.includes("API 404");
768
+ }
769
+ return false;
770
+ }
771
+ function removeSessionArtifacts(sessionId) {
772
+ useChatStore.getState().clearMessages(sessionId);
773
+ useTaskStore.getState().setTasks(sessionId, []);
774
+ }
775
+ function pruneSessionState(state, sessionId) {
776
+ const nextFresh = new Set(state._freshSessions);
777
+ nextFresh.delete(sessionId);
778
+ const { [sessionId]: _mode, ...modes } = state.modes;
779
+ const { [sessionId]: _rewindDraft, ...rewindDrafts } = state.rewindDrafts;
780
+ return {
781
+ sessions: state.sessions.filter((session) => session.id !== sessionId),
782
+ activeSessionId: state.activeSessionId === sessionId ? null : state.activeSessionId,
783
+ modes,
784
+ rewindDrafts,
785
+ _freshSessions: nextFresh
786
+ };
787
+ }
788
+ function navigateAwayFromSession(sessionId) {
789
+ if (typeof window === "undefined") return;
790
+ if (window.location.pathname !== `/chat/${sessionId}`) return;
791
+ window.history.replaceState(window.history.state, "", "/chat");
792
+ window.dispatchEvent(new PopStateEvent("popstate"));
793
+ }
794
+ function handleUnreadableSession(set, get, sessionId) {
795
+ const wasActive = get().activeSessionId === sessionId;
796
+ removeSessionArtifacts(sessionId);
797
+ set((state) => pruneSessionState(state, sessionId));
798
+ if (wasActive) {
799
+ onSessionChange?.(null);
800
+ navigateAwayFromSession(sessionId);
801
+ }
802
+ invalidateHomeSidebarSessions();
803
+ }
804
+ function isPlainRecord(value) {
805
+ return typeof value === "object" && value !== null && !Array.isArray(value);
806
+ }
807
+ function extractModeFromBlocks2(blocks) {
808
+ const modeBlock = blocks.find((block) => block.type === "mode_change");
809
+ if (modeBlock && isPlainRecord(modeBlock.content) && (modeBlock.content.to === "planning" || modeBlock.content.to === "executing")) {
810
+ return modeBlock.content.to;
811
+ }
812
+ if (blocks.some((block) => block.type === "planning_enter")) return "planning";
813
+ if (blocks.some((block) => block.type === "planning_exit")) return "executing";
814
+ return null;
815
+ }
816
+ function toSelectionMap(value) {
817
+ if (!isPlainRecord(value)) return {};
818
+ const entries = Object.entries(value).map(([questionKey, optionIndexes]) => {
819
+ if (!Array.isArray(optionIndexes)) return null;
820
+ const parsedIndexes = optionIndexes.map((item) => typeof item === "number" ? item : Number(item)).filter((item) => Number.isInteger(item));
821
+ return [Number(questionKey), parsedIndexes];
822
+ }).filter((entry) => entry !== null);
823
+ return Object.fromEntries(entries);
824
+ }
825
+ function toCustomMap(value) {
826
+ if (!isPlainRecord(value)) return {};
827
+ const entries = Object.entries(value).filter(([, text]) => typeof text === "string").map(([questionKey, text]) => [Number(questionKey), text]);
828
+ return Object.fromEntries(entries);
829
+ }
830
+ function extractAskAnswers(turns) {
831
+ const answers = {};
832
+ for (const turn of turns) {
833
+ for (const block of turn.blocks) {
834
+ if (block.type !== "ask_user_answer" || typeof block.tool_call_id !== "string") continue;
835
+ answers[block.tool_call_id] = {
836
+ selections: toSelectionMap(isPlainRecord(block.content) ? block.content.selections : void 0),
837
+ custom: toCustomMap(isPlainRecord(block.content) ? block.content.custom : void 0)
838
+ };
839
+ }
840
+ }
841
+ return answers;
842
+ }
843
+ function registerCreatedSessionState(set, session, mode = DEFAULT_SESSION_MODE) {
844
+ useChatStore.getState().setTurns(session.id, []);
845
+ useTaskStore.getState().setTasks(session.id, []);
846
+ set((state) => ({
847
+ sessions: [session, ...state.sessions.filter((item) => item.id !== session.id)],
848
+ modes: { ...state.modes, [session.id]: state.modes[session.id] ?? mode },
849
+ _freshSessions: new Set(state._freshSessions).add(session.id)
850
+ }));
851
+ }
852
+ async function revalidateViewerSessions(existingSessions) {
853
+ const viewerSessions = existingSessions.filter((session) => session.viewer_role === "viewer");
854
+ if (viewerSessions.length === 0) {
855
+ return [];
856
+ }
857
+ const refreshed = await Promise.all(
858
+ viewerSessions.map(async (session) => {
859
+ try {
860
+ return await getSession(session.id);
861
+ } catch (error) {
862
+ if (isSessionAccessRevoked(error)) {
863
+ return null;
864
+ }
865
+ return session;
866
+ }
867
+ })
868
+ );
869
+ return refreshed.filter((session) => session !== null);
870
+ }
871
+ var useSessionStore = create5()((set, get) => ({
872
+ ...createClientActions(set),
873
+ sessions: [],
874
+ activeSessionId: null,
875
+ loading: false,
876
+ modes: {},
877
+ rewindDrafts: {},
878
+ _freshSessions: /* @__PURE__ */ new Set(),
879
+ fetchSessions: async () => {
880
+ set({ loading: true });
881
+ try {
882
+ const currentState = get();
883
+ const [sessions, viewerSessions] = await Promise.all([
884
+ listSessions(),
885
+ revalidateViewerSessions(currentState.sessions)
886
+ ]);
887
+ const knownSessionIds = new Set(sessions.map((session) => session.id));
888
+ const mergedSessions = [
889
+ ...sessions,
890
+ ...viewerSessions.filter((session) => !knownSessionIds.has(session.id))
891
+ ];
892
+ const removedSessionIds = currentState.sessions.filter(
893
+ (session) => session.viewer_role === "viewer" && !mergedSessions.some((candidate) => candidate.id === session.id)
894
+ ).map((session) => session.id);
895
+ const activeSessionId = currentState.activeSessionId;
896
+ for (const sessionId of removedSessionIds) {
897
+ removeSessionArtifacts(sessionId);
898
+ }
899
+ let nextState = {
900
+ sessions: mergedSessions,
901
+ activeSessionId: currentState.activeSessionId,
902
+ loading: false,
903
+ modes: currentState.modes,
904
+ rewindDrafts: currentState.rewindDrafts,
905
+ _freshSessions: currentState._freshSessions
906
+ };
907
+ for (const sessionId of removedSessionIds) {
908
+ nextState = {
909
+ ...nextState,
910
+ ...pruneSessionState(
911
+ {
912
+ ...currentState,
913
+ sessions: nextState.sessions ?? currentState.sessions,
914
+ activeSessionId: nextState.activeSessionId ?? currentState.activeSessionId,
915
+ loading: nextState.loading ?? currentState.loading,
916
+ modes: nextState.modes ?? currentState.modes,
917
+ rewindDrafts: nextState.rewindDrafts ?? currentState.rewindDrafts,
918
+ _freshSessions: nextState._freshSessions ?? currentState._freshSessions
919
+ },
920
+ sessionId
921
+ )
922
+ };
923
+ }
924
+ set(nextState);
925
+ if (activeSessionId && removedSessionIds.includes(activeSessionId)) {
926
+ onSessionChange?.(null);
927
+ navigateAwayFromSession(activeSessionId);
928
+ }
929
+ invalidateHomeSidebarSessions();
930
+ } catch (error) {
931
+ set({ loading: false });
932
+ throw error;
933
+ }
934
+ },
935
+ createSession: async (intent) => {
936
+ const { session_id } = await createSession(intent);
937
+ const now = (/* @__PURE__ */ new Date()).toISOString();
938
+ get().registerCreatedSession({
939
+ id: session_id,
940
+ intent: intent ?? "",
941
+ status: "created",
942
+ created_at: now,
943
+ updated_at: now
944
+ });
945
+ get().setActiveSession(session_id);
946
+ invalidateHomeSidebarSessions();
947
+ get().fetchSessions().catch(() => {
948
+ });
949
+ return session_id;
950
+ },
951
+ registerCreatedSession: (session, mode = DEFAULT_SESSION_MODE) => {
952
+ registerCreatedSessionState(set, session, mode);
953
+ },
954
+ upsertSession: (session) => {
955
+ set((state) => ({
956
+ sessions: state.sessions.some((item) => item.id === session.id) ? state.sessions.map((item) => item.id === session.id ? { ...item, ...session } : item) : [session, ...state.sessions]
957
+ }));
958
+ },
959
+ isFreshSession: (sessionId) => get()._freshSessions.has(sessionId),
960
+ setActiveSession: (id) => {
961
+ set({ activeSessionId: id });
962
+ onSessionChange?.(id);
963
+ getSession(id).then((detail) => {
964
+ set((state) => ({
965
+ sessions: state.sessions.some((s) => s.id === id) ? state.sessions.map(
966
+ (s) => s.id === id ? { ...s, status: detail.status, updated_at: detail.updated_at } : s
967
+ ) : [detail, ...state.sessions]
968
+ }));
969
+ }).catch(() => {
970
+ });
971
+ const tasksPromise = getSessionTasks(id).catch(() => null);
972
+ Promise.all([getSessionTurns(id), tasksPromise]).then(([turns, tasks]) => {
973
+ if (tasks) useTaskStore.getState().setTasks(id, tasks);
974
+ useChatStore.getState().setAskAnswers(id, extractAskAnswers(turns));
975
+ let inferredMode = DEFAULT_SESSION_MODE;
976
+ for (const turn of turns) {
977
+ const nextMode = extractModeFromBlocks2(turn.blocks);
978
+ if (nextMode) {
979
+ inferredMode = nextMode;
980
+ }
981
+ }
982
+ set((state) => {
983
+ if (state.modes[id] == null) {
984
+ return { modes: { ...state.modes, [id]: inferredMode } };
985
+ }
986
+ return state;
987
+ });
988
+ const isFresh = get()._freshSessions.has(id);
989
+ if (isFresh) {
990
+ set((state) => {
991
+ const next = new Set(state._freshSessions);
992
+ next.delete(id);
993
+ return { _freshSessions: next };
994
+ });
995
+ if (turns.length > 0) {
996
+ useChatStore.getState().setTurns(id, turns);
997
+ }
998
+ } else {
999
+ useChatStore.getState().setTurns(id, turns);
1000
+ }
1001
+ }).catch((error) => {
1002
+ if (isSessionAccessRevoked(error)) {
1003
+ handleUnreadableSession(set, get, id);
1004
+ return;
1005
+ }
1006
+ console.error("Failed to load session data", error);
1007
+ });
1008
+ },
1009
+ clearActiveSession: () => {
1010
+ set({ activeSessionId: null });
1011
+ onSessionChange?.(null);
1012
+ },
1013
+ deleteSession: async (id) => {
1014
+ await deleteSession(id);
1015
+ invalidateHomeSidebarSessions();
1016
+ const wasActive = get().activeSessionId === id;
1017
+ await get().fetchSessions();
1018
+ if (!wasActive) {
1019
+ return;
1020
+ }
1021
+ const nextId = get().sessions[0]?.id ?? null;
1022
+ if (nextId) {
1023
+ get().setActiveSession(nextId);
1024
+ return;
1025
+ }
1026
+ get().clearActiveSession();
1027
+ },
1028
+ updateSessionStatus: (sessionId, status) => {
1029
+ set((state) => ({
1030
+ sessions: state.sessions.map((s) => s.id === sessionId ? { ...s, status } : s)
1031
+ }));
1032
+ if (status === "failed" || status === "interrupted") {
1033
+ useChatStore.getState().setStreaming(sessionId, false);
1034
+ if (status === "interrupted") {
1035
+ useChatStore.getState().markInterrupted(sessionId);
1036
+ } else {
1037
+ useChatStore.getState().markFailed(sessionId);
1038
+ }
1039
+ }
1040
+ },
1041
+ updateSessionIntent: (sessionId, intent) => {
1042
+ set((state) => ({
1043
+ sessions: state.sessions.map((s) => s.id === sessionId ? { ...s, intent } : s)
1044
+ }));
1045
+ },
1046
+ patchSession: (sessionId, patch) => {
1047
+ set((state) => ({
1048
+ sessions: state.sessions.map(
1049
+ (s) => s.id === sessionId ? { ...s, ...patch } : s
1050
+ )
1051
+ }));
1052
+ },
1053
+ pinSession: async (sessionId, pinned) => {
1054
+ const updated = await pinSession(sessionId, pinned);
1055
+ set((state) => ({
1056
+ sessions: state.sessions.map(
1057
+ (s) => s.id === sessionId ? { ...s, is_pinned: updated.is_pinned, pinned_at: updated.pinned_at } : s
1058
+ )
1059
+ }));
1060
+ invalidateHomeSidebarSessions();
1061
+ },
1062
+ setRewindDraft: (sessionId, text) => {
1063
+ set((state) => {
1064
+ if (text == null) {
1065
+ const { [sessionId]: _, ...rest } = state.rewindDrafts;
1066
+ return { rewindDrafts: rest };
1067
+ }
1068
+ return {
1069
+ rewindDrafts: {
1070
+ ...state.rewindDrafts,
1071
+ [sessionId]: text
1072
+ }
1073
+ };
1074
+ });
1075
+ },
1076
+ setMode: (sessionId, mode) => {
1077
+ set((state) => ({ modes: { ...state.modes, [sessionId]: mode } }));
1078
+ },
1079
+ togglePlanningMode: (sessionId) => {
1080
+ const current = get().modes[sessionId] ?? DEFAULT_SESSION_MODE;
1081
+ const next = current === "executing" ? "planning" : "executing";
1082
+ set((state) => ({ modes: { ...state.modes, [sessionId]: next } }));
1083
+ },
1084
+ toggleSharing: async (sessionId) => {
1085
+ const session = get().sessions.find((s) => s.id === sessionId);
1086
+ if (!session) return;
1087
+ const newShared = !session.shared;
1088
+ const result = await updateSharing(sessionId, newShared);
1089
+ set((state) => ({
1090
+ sessions: state.sessions.map(
1091
+ (s) => s.id === sessionId ? { ...s, shared: result.shared } : s
1092
+ )
1093
+ }));
1094
+ },
1095
+ reset: () => {
1096
+ set({
1097
+ sessions: [],
1098
+ activeSessionId: null,
1099
+ loading: false,
1100
+ modes: {},
1101
+ rewindDrafts: {},
1102
+ _freshSessions: /* @__PURE__ */ new Set()
1103
+ });
1104
+ invalidateHomeSidebarSessions();
1105
+ }
1106
+ }));
1107
+ setChatStoreSessionAccessor(() => useSessionStore.getState().activeSessionId);
1108
+
1109
+ // src/react/stores/auth-store.ts
1110
+ var noopStorage = {
1111
+ getItem: () => null,
1112
+ setItem: () => {
1113
+ },
1114
+ removeItem: () => {
1115
+ }
1116
+ };
1117
+ function shouldClearPersistedAuthState(value) {
1118
+ try {
1119
+ const parsed = JSON.parse(value);
1120
+ return parsed.state?.token == null && parsed.state?.user == null;
1121
+ } catch {
1122
+ return false;
1123
+ }
1124
+ }
1125
+ var authStorage = createJSONStorage(() => {
1126
+ if (typeof localStorage === "undefined") {
1127
+ return noopStorage;
1128
+ }
1129
+ return {
1130
+ getItem: (name) => localStorage.getItem(name),
1131
+ setItem: (name, value) => {
1132
+ if (shouldClearPersistedAuthState(value)) {
1133
+ localStorage.removeItem(name);
1134
+ return;
1135
+ }
1136
+ localStorage.setItem(name, value);
1137
+ },
1138
+ removeItem: (name) => localStorage.removeItem(name)
1139
+ };
1140
+ });
1141
+ function finishAuth(set, payload) {
1142
+ set({
1143
+ token: payload.token,
1144
+ socketAuthToken: null,
1145
+ user: payload.user,
1146
+ loading: false,
1147
+ error: null
1148
+ });
1149
+ agentSocket?.reconnect();
1150
+ useSessionStore.getState().fetchSessions().catch(() => {
1151
+ });
1152
+ }
1153
+ function finishCookieHydration(set, payload) {
1154
+ set({
1155
+ token: null,
1156
+ socketAuthToken: payload.token,
1157
+ user: payload.user,
1158
+ loading: false,
1159
+ error: null
1160
+ });
1161
+ agentSocket?.reconnect();
1162
+ useSessionStore.getState().fetchSessions().catch(() => {
1163
+ });
1164
+ }
1165
+ function toUser(info) {
1166
+ return {
1167
+ id: info.id,
1168
+ username: info.username,
1169
+ display_name: info.display_name,
1170
+ avatar_url: info.avatar_url,
1171
+ is_admin: info.is_admin
1172
+ };
1173
+ }
1174
+ var useAuthStore = create6()(
1175
+ persist(
1176
+ (set, get) => ({
1177
+ ...createClientActions(set),
1178
+ token: null,
1179
+ socketAuthToken: null,
1180
+ user: null,
1181
+ loading: false,
1182
+ error: null,
1183
+ logout: () => {
1184
+ void logout().catch(() => {
1185
+ });
1186
+ set({ token: null, socketAuthToken: null, user: null, error: null });
1187
+ agentSocket?.disconnect();
1188
+ useSessionStore.getState().reset();
1189
+ },
1190
+ checkAuth: async () => {
1191
+ const token = get().token;
1192
+ if (!token) return;
1193
+ try {
1194
+ const auth = await getMe();
1195
+ finishAuth(set, { token: auth.token, user: toUser(auth) });
1196
+ } catch {
1197
+ set({ token: null, socketAuthToken: null, user: null, error: null });
1198
+ useSessionStore.getState().reset();
1199
+ }
1200
+ },
1201
+ hydrateFromCookie: async () => {
1202
+ set({ loading: true, error: null });
1203
+ const previousToken = get().token;
1204
+ if (previousToken) {
1205
+ try {
1206
+ const auth = await getMe();
1207
+ finishAuth(set, { token: auth.token, user: toUser(auth) });
1208
+ return;
1209
+ } catch {
1210
+ set({ token: null, socketAuthToken: null, user: null, error: null });
1211
+ useSessionStore.getState().reset();
1212
+ }
1213
+ }
1214
+ try {
1215
+ const auth = await getMe();
1216
+ finishCookieHydration(set, { token: auth.token, user: toUser(auth) });
1217
+ } catch {
1218
+ set({
1219
+ token: null,
1220
+ socketAuthToken: null,
1221
+ user: null,
1222
+ loading: false,
1223
+ error: null
1224
+ });
1225
+ useSessionStore.getState().reset();
1226
+ }
1227
+ }
1228
+ }),
1229
+ {
1230
+ name: "agent-auth",
1231
+ storage: authStorage,
1232
+ partialize: (state) => {
1233
+ if (state.socketAuthToken) {
1234
+ return { token: null, user: null };
1235
+ }
1236
+ return { token: state.token, user: state.user };
1237
+ }
1238
+ }
1239
+ )
1240
+ );
1241
+
1242
+ // src/react/stores/background-store.ts
1243
+ import { create as create7 } from "zustand";
1244
+ var useBackgroundStore = create7()((set) => ({
1245
+ ...createClientActions(set),
1246
+ tasks: {},
1247
+ selectedTaskId: {},
1248
+ setTasks: (sessionId, tasks) => set((state) => ({
1249
+ tasks: { ...state.tasks, [sessionId]: tasks },
1250
+ selectedTaskId: {
1251
+ ...state.selectedTaskId,
1252
+ [sessionId]: state.selectedTaskId[sessionId] ?? tasks[0]?.id ?? null
1253
+ }
1254
+ })),
1255
+ upsertTask: (sessionId, task) => set((state) => {
1256
+ const existing = state.tasks[sessionId] ?? [];
1257
+ const index = existing.findIndex((item) => item.id === task.id);
1258
+ const next = [...existing];
1259
+ if (index >= 0) {
1260
+ next[index] = { ...next[index], ...task };
1261
+ } else {
1262
+ next.unshift(task);
1263
+ }
1264
+ return {
1265
+ tasks: { ...state.tasks, [sessionId]: next },
1266
+ selectedTaskId: {
1267
+ ...state.selectedTaskId,
1268
+ [sessionId]: state.selectedTaskId[sessionId] ?? task.id
1269
+ }
1270
+ };
1271
+ }),
1272
+ selectTask: (sessionId, taskId) => set((state) => ({
1273
+ selectedTaskId: { ...state.selectedTaskId, [sessionId]: taskId }
1274
+ }))
1275
+ }));
1276
+
1277
+ // src/react/stores/card-state-store.ts
1278
+ import { create as create8 } from "zustand";
1279
+ var useCardStateStore = create8((set, get) => ({
1280
+ ...createClientActions(set),
1281
+ states: {},
1282
+ getCardState: (cardId) => {
1283
+ return get().states[cardId];
1284
+ },
1285
+ setCardState: (cardId, state) => {
1286
+ set((prev) => ({
1287
+ states: { ...prev.states, [cardId]: state }
1288
+ }));
1289
+ },
1290
+ removeCardState: (cardId) => {
1291
+ set((prev) => {
1292
+ const { [cardId]: _, ...rest } = prev.states;
1293
+ return { states: rest };
1294
+ });
1295
+ },
1296
+ clearAllStates: () => {
1297
+ set({ states: {} });
1298
+ }
1299
+ }));
1300
+
1301
+ // src/react/stores/connection-store.ts
1302
+ import { create as create9 } from "zustand";
1303
+ var initialConnectionState = {
1304
+ status: "disconnected",
1305
+ reconnectAttempt: 0,
1306
+ lastConnectedAt: null,
1307
+ lastDisconnectedAt: null,
1308
+ hasEverConnected: false
1309
+ };
1310
+ var useConnectionStore = create9()((set) => ({
1311
+ ...createClientActions(set),
1312
+ ...initialConnectionState,
1313
+ markConnecting: (attempt = 0) => set({
1314
+ status: "connecting",
1315
+ reconnectAttempt: attempt
1316
+ }),
1317
+ markConnected: () => set({
1318
+ status: "connected",
1319
+ reconnectAttempt: 0,
1320
+ lastConnectedAt: Date.now(),
1321
+ hasEverConnected: true
1322
+ }),
1323
+ markDisconnected: () => set({
1324
+ status: "disconnected",
1325
+ reconnectAttempt: 0,
1326
+ lastDisconnectedAt: Date.now()
1327
+ }),
1328
+ reset: () => set(initialConnectionState)
1329
+ }));
1330
+
1331
+ // src/react/stores/runtime-store.ts
1332
+ import { create as create10 } from "zustand";
1333
+ var useRuntimeStore = create10()((set) => ({
1334
+ ...createClientActions(set),
1335
+ events: {},
1336
+ addEvent: (sessionId, event) => set((state) => {
1337
+ const current = state.events[sessionId] ?? [];
1338
+ const nextEvent = {
1339
+ ...event,
1340
+ id: `${Date.now()}-${current.length}`,
1341
+ sessionId,
1342
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
1343
+ };
1344
+ return {
1345
+ events: {
1346
+ ...state.events,
1347
+ [sessionId]: [...current.slice(-59), nextEvent]
1348
+ }
1349
+ };
1350
+ }),
1351
+ clearSession: (sessionId) => set((state) => ({
1352
+ events: { ...state.events, [sessionId]: [] }
1353
+ }))
1354
+ }));
1355
+
1356
+ // src/react/stores/gis-store.ts
1357
+ import { create as create11 } from "zustand";
1358
+ var EMPTY_GOALS = [];
1359
+ var EMPTY_RESOURCES = [];
1360
+ var EMPTY_TARGETS = [];
1361
+ var EMPTY_COMMANDS = [];
1362
+ function newCommandId() {
1363
+ if (typeof globalThis !== "undefined" && "crypto" in globalThis) {
1364
+ return globalThis.crypto?.randomUUID?.() ?? `gis-map-${Date.now()}-${Math.random()}`;
1365
+ }
1366
+ return `gis-map-${Date.now()}-${Math.random()}`;
1367
+ }
1368
+ var useGisStore = create11()((set, get) => ({
1369
+ ...createClientActions(set),
1370
+ goalsBySession: {},
1371
+ resourcesBySession: {},
1372
+ targetsBySession: {},
1373
+ pendingMapCommandsBySession: {},
1374
+ setGoals: (sessionId, goals) => {
1375
+ set((state) => ({
1376
+ goalsBySession: { ...state.goalsBySession, [sessionId]: goals }
1377
+ }));
1378
+ },
1379
+ setResources: (sessionId, resources) => {
1380
+ set((state) => ({
1381
+ resourcesBySession: { ...state.resourcesBySession, [sessionId]: resources }
1382
+ }));
1383
+ },
1384
+ setTargets: (sessionId, targets) => {
1385
+ set((state) => ({
1386
+ targetsBySession: { ...state.targetsBySession, [sessionId]: targets }
1387
+ }));
1388
+ },
1389
+ pushMapCommand: (sessionId, command) => {
1390
+ set((state) => ({
1391
+ pendingMapCommandsBySession: {
1392
+ ...state.pendingMapCommandsBySession,
1393
+ [sessionId]: [
1394
+ ...state.pendingMapCommandsBySession[sessionId] ?? EMPTY_COMMANDS,
1395
+ {
1396
+ ...command,
1397
+ id: newCommandId(),
1398
+ createdAt: Date.now()
1399
+ }
1400
+ ]
1401
+ }
1402
+ }));
1403
+ },
1404
+ consumeMapCommand: (sessionId, commandId) => {
1405
+ set((state) => ({
1406
+ pendingMapCommandsBySession: {
1407
+ ...state.pendingMapCommandsBySession,
1408
+ [sessionId]: (state.pendingMapCommandsBySession[sessionId] ?? EMPTY_COMMANDS).filter(
1409
+ (command) => command.id !== commandId
1410
+ )
1411
+ }
1412
+ }));
1413
+ },
1414
+ getGoals: (sessionId) => get().goalsBySession[sessionId] ?? EMPTY_GOALS,
1415
+ getResources: (sessionId) => get().resourcesBySession[sessionId] ?? EMPTY_RESOURCES,
1416
+ getTargets: (sessionId) => get().targetsBySession[sessionId] ?? EMPTY_TARGETS,
1417
+ getPendingMapCommands: (sessionId) => get().pendingMapCommandsBySession[sessionId] ?? EMPTY_COMMANDS
1418
+ }));
1419
+
1420
+ // src/react/stores/answer-callback-store.ts
1421
+ import { create as create12 } from "zustand";
1422
+ var useAnswerCallbackStore = create12()((set) => ({
1423
+ ...createClientActions(set),
1424
+ callbacks: {},
1425
+ setAnswerCallback: (sessionId, callback) => {
1426
+ set((state) => ({
1427
+ callbacks: {
1428
+ ...state.callbacks,
1429
+ [sessionId]: callback
1430
+ }
1431
+ }));
1432
+ }
1433
+ }));
1434
+
1435
+ // src/react/stores/runtime-features-store.ts
1436
+ import { create as create13 } from "zustand";
1437
+ var useRuntimeFeaturesStore = create13((set) => ({
1438
+ ...createClientActions(set),
1439
+ asrEnabled: false,
1440
+ asrProvider: "volcengine",
1441
+ publicSharingEnabled: false,
1442
+ memoryEnabled: false,
1443
+ setFeatures: (features) => set((prev) => ({
1444
+ asrEnabled: features.asrEnabled ?? prev.asrEnabled,
1445
+ asrProvider: features.asrProvider ?? prev.asrProvider,
1446
+ publicSharingEnabled: features.publicSharingEnabled ?? prev.publicSharingEnabled,
1447
+ memoryEnabled: features.memoryEnabled ?? prev.memoryEnabled
1448
+ }))
1449
+ }));
1450
+
1451
+ // src/react/bootstrap.ts
1452
+ var bootstrappedClient = null;
1453
+ function getBootstrappedClient() {
1454
+ if (!bootstrappedClient) {
1455
+ throw new Error("bootstrapBladeClient() must be called before any SDK usage");
1456
+ }
1457
+ return bootstrappedClient;
1458
+ }
1459
+
1460
+ // src/react/api/client.ts
1461
+ function getClient() {
1462
+ return getBootstrappedClient();
1463
+ }
1464
+
1465
+ // src/react/api/vibe-coding.ts
1466
+ var r3 = () => getClient().vibeCoding;
1467
+ var createVibeCodingSession = (...args) => r3().createVibeCodingSession(...args);
1468
+ var listVibeCodingSessionInfos = (...args) => r3().listVibeCodingSessionInfos(...args);
1469
+ var getVibeCodingSessionDebugStatus = (...args) => r3().getVibeCodingSessionDebugStatus(...args);
1470
+ var getVibeCodingSessionStatus = (...args) => r3().getVibeCodingSessionStatus(...args);
1471
+ var getVibeCodingDeployStatus = (...args) => r3().getVibeCodingDeployStatus(...args);
1472
+ var startVibeCodingService = (...args) => r3().startVibeCodingService(...args);
1473
+ var stopVibeCodingService = (...args) => r3().stopVibeCodingService(...args);
1474
+ var updateVibeCodingDebugService = (...args) => r3().updateVibeCodingDebugService(...args);
1475
+ var deployVibeCodingSession = (...args) => r3().deployVibeCodingSession(...args);
1476
+ var listVibeCodingDeployVersions = (...args) => r3().listVibeCodingDeployVersions(...args);
1477
+ var startVibeCodingDeployService = (...args) => r3().startVibeCodingDeployService(...args);
1478
+ var stopVibeCodingDeployService = (...args) => r3().stopVibeCodingDeployService(...args);
1479
+ var deleteVibeCodingDeployVersion = (...args) => r3().deleteVibeCodingDeployVersion(...args);
1480
+ var deleteVibeCodingSession = (...args) => r3().deleteVibeCodingSession(...args);
1481
+ var probeVibeCodingService = (...args) => r3().probeVibeCodingService(...args);
1482
+ var exportVibeCodingSession = (...args) => r3().exportVibeCodingSession(...args);
1483
+ var importVibeCodingSession = (...args) => r3().importVibeCodingSession(...args);
1484
+ export {
1485
+ createVibeCodingSession,
1486
+ deleteVibeCodingDeployVersion,
1487
+ deleteVibeCodingSession,
1488
+ deployVibeCodingSession,
1489
+ exportVibeCodingSession,
1490
+ getVibeCodingDeployStatus,
1491
+ getVibeCodingSessionDebugStatus,
1492
+ getVibeCodingSessionStatus,
1493
+ importVibeCodingSession,
1494
+ listVibeCodingDeployVersions,
1495
+ listVibeCodingSessionInfos,
1496
+ probeVibeCodingService,
1497
+ startVibeCodingDeployService,
1498
+ startVibeCodingService,
1499
+ stopVibeCodingDeployService,
1500
+ stopVibeCodingService,
1501
+ updateVibeCodingDebugService
1502
+ };
1503
+ //# sourceMappingURL=vibe-coding.js.map