@kortix/sdk 0.9.98

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. package/README.md +313 -0
  2. package/dist/files/client.d.ts +96 -0
  3. package/dist/files/client.d.ts.map +1 -0
  4. package/dist/files/client.js +346 -0
  5. package/dist/files/client.js.map +1 -0
  6. package/dist/files/types.d.ts +82 -0
  7. package/dist/files/types.d.ts.map +1 -0
  8. package/dist/files/types.js +6 -0
  9. package/dist/files/types.js.map +1 -0
  10. package/dist/index.d.ts +119 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +93 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/kortix.d.ts +897 -0
  15. package/dist/kortix.d.ts.map +1 -0
  16. package/dist/kortix.js +772 -0
  17. package/dist/kortix.js.map +1 -0
  18. package/dist/opencode/client.d.ts +89 -0
  19. package/dist/opencode/client.d.ts.map +1 -0
  20. package/dist/opencode/client.js +191 -0
  21. package/dist/opencode/client.js.map +1 -0
  22. package/dist/opencode/env.d.ts +13 -0
  23. package/dist/opencode/env.d.ts.map +1 -0
  24. package/dist/opencode/env.js +63 -0
  25. package/dist/opencode/env.js.map +1 -0
  26. package/dist/opencode/kortix-master.d.ts +487 -0
  27. package/dist/opencode/kortix-master.d.ts.map +1 -0
  28. package/dist/opencode/kortix-master.js +313 -0
  29. package/dist/opencode/kortix-master.js.map +1 -0
  30. package/dist/opencode/triggers.d.ts +6 -0
  31. package/dist/opencode/triggers.d.ts.map +1 -0
  32. package/dist/opencode/triggers.js +34 -0
  33. package/dist/opencode/triggers.js.map +1 -0
  34. package/dist/platform/api/errors.d.ts +106 -0
  35. package/dist/platform/api/errors.d.ts.map +1 -0
  36. package/dist/platform/api/errors.js +137 -0
  37. package/dist/platform/api/errors.js.map +1 -0
  38. package/dist/platform/api-client.d.ts +35 -0
  39. package/dist/platform/api-client.d.ts.map +1 -0
  40. package/dist/platform/api-client.js +279 -0
  41. package/dist/platform/api-client.js.map +1 -0
  42. package/dist/platform/auth-core.d.ts +60 -0
  43. package/dist/platform/auth-core.d.ts.map +1 -0
  44. package/dist/platform/auth-core.js +104 -0
  45. package/dist/platform/auth-core.js.map +1 -0
  46. package/dist/platform/auth.d.ts +88 -0
  47. package/dist/platform/auth.d.ts.map +1 -0
  48. package/dist/platform/auth.js +161 -0
  49. package/dist/platform/auth.js.map +1 -0
  50. package/dist/platform/config-node.d.ts +33 -0
  51. package/dist/platform/config-node.d.ts.map +1 -0
  52. package/dist/platform/config-node.js +63 -0
  53. package/dist/platform/config-node.js.map +1 -0
  54. package/dist/platform/config.d.ts +77 -0
  55. package/dist/platform/config.d.ts.map +1 -0
  56. package/dist/platform/config.js +62 -0
  57. package/dist/platform/config.js.map +1 -0
  58. package/dist/platform/feature-flags.d.ts +25 -0
  59. package/dist/platform/feature-flags.d.ts.map +1 -0
  60. package/dist/platform/feature-flags.js +114 -0
  61. package/dist/platform/feature-flags.js.map +1 -0
  62. package/dist/platform/fresh-sessions.d.ts +4 -0
  63. package/dist/platform/fresh-sessions.d.ts.map +1 -0
  64. package/dist/platform/fresh-sessions.js +22 -0
  65. package/dist/platform/fresh-sessions.js.map +1 -0
  66. package/dist/platform/instance-routes.d.ts +17 -0
  67. package/dist/platform/instance-routes.d.ts.map +1 -0
  68. package/dist/platform/instance-routes.js +105 -0
  69. package/dist/platform/instance-routes.js.map +1 -0
  70. package/dist/platform/logger.d.ts +20 -0
  71. package/dist/platform/logger.d.ts.map +1 -0
  72. package/dist/platform/logger.js +44 -0
  73. package/dist/platform/logger.js.map +1 -0
  74. package/dist/platform/opencode-errors.d.ts +20 -0
  75. package/dist/platform/opencode-errors.d.ts.map +1 -0
  76. package/dist/platform/opencode-errors.js +71 -0
  77. package/dist/platform/opencode-errors.js.map +1 -0
  78. package/dist/platform/platform-client/backups.d.ts +22 -0
  79. package/dist/platform/platform-client/backups.d.ts.map +1 -0
  80. package/dist/platform/platform-client/backups.js +16 -0
  81. package/dist/platform/platform-client/backups.js.map +1 -0
  82. package/dist/platform/platform-client/index.d.ts +21 -0
  83. package/dist/platform/platform-client/index.d.ts.map +1 -0
  84. package/dist/platform/platform-client/index.js +21 -0
  85. package/dist/platform/platform-client/index.js.map +1 -0
  86. package/dist/platform/platform-client/instance-admin.d.ts +67 -0
  87. package/dist/platform/platform-client/instance-admin.d.ts.map +1 -0
  88. package/dist/platform/platform-client/instance-admin.js +59 -0
  89. package/dist/platform/platform-client/instance-admin.js.map +1 -0
  90. package/dist/platform/platform-client/invites.d.ts +35 -0
  91. package/dist/platform/platform-client/invites.d.ts.map +1 -0
  92. package/dist/platform/platform-client/invites.js +25 -0
  93. package/dist/platform/platform-client/invites.js.map +1 -0
  94. package/dist/platform/platform-client/lifecycle.d.ts +78 -0
  95. package/dist/platform/platform-client/lifecycle.d.ts.map +1 -0
  96. package/dist/platform/platform-client/lifecycle.js +151 -0
  97. package/dist/platform/platform-client/lifecycle.js.map +1 -0
  98. package/dist/platform/platform-client/members.d.ts +81 -0
  99. package/dist/platform/platform-client/members.d.ts.map +1 -0
  100. package/dist/platform/platform-client/members.js +59 -0
  101. package/dist/platform/platform-client/members.js.map +1 -0
  102. package/dist/platform/platform-client/shared.d.ts +44 -0
  103. package/dist/platform/platform-client/shared.d.ts.map +1 -0
  104. package/dist/platform/platform-client/shared.js +177 -0
  105. package/dist/platform/platform-client/shared.js.map +1 -0
  106. package/dist/platform/platform-client/ssh.d.ts +29 -0
  107. package/dist/platform/platform-client/ssh.d.ts.map +1 -0
  108. package/dist/platform/platform-client/ssh.js +14 -0
  109. package/dist/platform/platform-client/ssh.js.map +1 -0
  110. package/dist/platform/platform-client/types.d.ts +56 -0
  111. package/dist/platform/platform-client/types.d.ts.map +1 -0
  112. package/dist/platform/platform-client/types.js +19 -0
  113. package/dist/platform/platform-client/types.js.map +1 -0
  114. package/dist/platform/platform-client/updates.d.ts +117 -0
  115. package/dist/platform/platform-client/updates.d.ts.map +1 -0
  116. package/dist/platform/platform-client/updates.js +97 -0
  117. package/dist/platform/platform-client/updates.js.map +1 -0
  118. package/dist/platform/platform-client/urls.d.ts +18 -0
  119. package/dist/platform/platform-client/urls.d.ts.map +1 -0
  120. package/dist/platform/platform-client/urls.js +31 -0
  121. package/dist/platform/platform-client/urls.js.map +1 -0
  122. package/dist/platform/projects-client/access.d.ts +273 -0
  123. package/dist/platform/projects-client/access.d.ts.map +1 -0
  124. package/dist/platform/projects-client/access.js +89 -0
  125. package/dist/platform/projects-client/access.js.map +1 -0
  126. package/dist/platform/projects-client/accounts.d.ts +184 -0
  127. package/dist/platform/projects-client/accounts.d.ts.map +1 -0
  128. package/dist/platform/projects-client/accounts.js +78 -0
  129. package/dist/platform/projects-client/accounts.js.map +1 -0
  130. package/dist/platform/projects-client/agent-config.d.ts +58 -0
  131. package/dist/platform/projects-client/agent-config.d.ts.map +1 -0
  132. package/dist/platform/projects-client/agent-config.js +9 -0
  133. package/dist/platform/projects-client/agent-config.js.map +1 -0
  134. package/dist/platform/projects-client/agent-scope.d.ts +12 -0
  135. package/dist/platform/projects-client/agent-scope.d.ts.map +1 -0
  136. package/dist/platform/projects-client/agent-scope.js +6 -0
  137. package/dist/platform/projects-client/agent-scope.js.map +1 -0
  138. package/dist/platform/projects-client/apps.d.ts +98 -0
  139. package/dist/platform/projects-client/apps.d.ts.map +1 -0
  140. package/dist/platform/projects-client/apps.js +29 -0
  141. package/dist/platform/projects-client/apps.js.map +1 -0
  142. package/dist/platform/projects-client/audit.d.ts +85 -0
  143. package/dist/platform/projects-client/audit.d.ts.map +1 -0
  144. package/dist/platform/projects-client/audit.js +51 -0
  145. package/dist/platform/projects-client/audit.js.map +1 -0
  146. package/dist/platform/projects-client/billing.d.ts +336 -0
  147. package/dist/platform/projects-client/billing.d.ts.map +1 -0
  148. package/dist/platform/projects-client/billing.js +260 -0
  149. package/dist/platform/projects-client/billing.js.map +1 -0
  150. package/dist/platform/projects-client/change-requests.d.ts +119 -0
  151. package/dist/platform/projects-client/change-requests.d.ts.map +1 -0
  152. package/dist/platform/projects-client/change-requests.js +56 -0
  153. package/dist/platform/projects-client/change-requests.js.map +1 -0
  154. package/dist/platform/projects-client/channels.d.ts +135 -0
  155. package/dist/platform/projects-client/channels.d.ts.map +1 -0
  156. package/dist/platform/projects-client/channels.js +103 -0
  157. package/dist/platform/projects-client/channels.js.map +1 -0
  158. package/dist/platform/projects-client/connectors.d.ts +148 -0
  159. package/dist/platform/projects-client/connectors.d.ts.map +1 -0
  160. package/dist/platform/projects-client/connectors.js +66 -0
  161. package/dist/platform/projects-client/connectors.js.map +1 -0
  162. package/dist/platform/projects-client/files.d.ts +37 -0
  163. package/dist/platform/projects-client/files.d.ts.map +1 -0
  164. package/dist/platform/projects-client/files.js +58 -0
  165. package/dist/platform/projects-client/files.js.map +1 -0
  166. package/dist/platform/projects-client/gateway.d.ts +177 -0
  167. package/dist/platform/projects-client/gateway.d.ts.map +1 -0
  168. package/dist/platform/projects-client/gateway.js +59 -0
  169. package/dist/platform/projects-client/gateway.js.map +1 -0
  170. package/dist/platform/projects-client/git-history.d.ts +74 -0
  171. package/dist/platform/projects-client/git-history.d.ts.map +1 -0
  172. package/dist/platform/projects-client/git-history.js +40 -0
  173. package/dist/platform/projects-client/git-history.js.map +1 -0
  174. package/dist/platform/projects-client/github.d.ts +62 -0
  175. package/dist/platform/projects-client/github.d.ts.map +1 -0
  176. package/dist/platform/projects-client/github.js +30 -0
  177. package/dist/platform/projects-client/github.js.map +1 -0
  178. package/dist/platform/projects-client/index.d.ts +32 -0
  179. package/dist/platform/projects-client/index.d.ts.map +1 -0
  180. package/dist/platform/projects-client/index.js +34 -0
  181. package/dist/platform/projects-client/index.js.map +1 -0
  182. package/dist/platform/projects-client/marketplace-catalog.d.ts +76 -0
  183. package/dist/platform/projects-client/marketplace-catalog.d.ts.map +1 -0
  184. package/dist/platform/projects-client/marketplace-catalog.js +48 -0
  185. package/dist/platform/projects-client/marketplace-catalog.js.map +1 -0
  186. package/dist/platform/projects-client/marketplace.d.ts +80 -0
  187. package/dist/platform/projects-client/marketplace.d.ts.map +1 -0
  188. package/dist/platform/projects-client/marketplace.js +52 -0
  189. package/dist/platform/projects-client/marketplace.js.map +1 -0
  190. package/dist/platform/projects-client/model-defaults.d.ts +36 -0
  191. package/dist/platform/projects-client/model-defaults.d.ts.map +1 -0
  192. package/dist/platform/projects-client/model-defaults.js +16 -0
  193. package/dist/platform/projects-client/model-defaults.js.map +1 -0
  194. package/dist/platform/projects-client/policies.d.ts +21 -0
  195. package/dist/platform/projects-client/policies.d.ts.map +1 -0
  196. package/dist/platform/projects-client/policies.js +10 -0
  197. package/dist/platform/projects-client/policies.js.map +1 -0
  198. package/dist/platform/projects-client/projects.d.ts +235 -0
  199. package/dist/platform/projects-client/projects.d.ts.map +1 -0
  200. package/dist/platform/projects-client/projects.js +161 -0
  201. package/dist/platform/projects-client/projects.js.map +1 -0
  202. package/dist/platform/projects-client/public-session-shares.d.ts +52 -0
  203. package/dist/platform/projects-client/public-session-shares.d.ts.map +1 -0
  204. package/dist/platform/projects-client/public-session-shares.js +54 -0
  205. package/dist/platform/projects-client/public-session-shares.js.map +1 -0
  206. package/dist/platform/projects-client/review.d.ts +57 -0
  207. package/dist/platform/projects-client/review.d.ts.map +1 -0
  208. package/dist/platform/projects-client/review.js +28 -0
  209. package/dist/platform/projects-client/review.js.map +1 -0
  210. package/dist/platform/projects-client/sandbox-shares.d.ts +25 -0
  211. package/dist/platform/projects-client/sandbox-shares.d.ts.map +1 -0
  212. package/dist/platform/projects-client/sandbox-shares.js +29 -0
  213. package/dist/platform/projects-client/sandbox-shares.js.map +1 -0
  214. package/dist/platform/projects-client/sandbox.d.ts +123 -0
  215. package/dist/platform/projects-client/sandbox.d.ts.map +1 -0
  216. package/dist/platform/projects-client/sandbox.js +45 -0
  217. package/dist/platform/projects-client/sandbox.js.map +1 -0
  218. package/dist/platform/projects-client/secrets.d.ts +122 -0
  219. package/dist/platform/projects-client/secrets.d.ts.map +1 -0
  220. package/dist/platform/projects-client/secrets.js +34 -0
  221. package/dist/platform/projects-client/secrets.js.map +1 -0
  222. package/dist/platform/projects-client/session-sandbox.d.ts +61 -0
  223. package/dist/platform/projects-client/session-sandbox.d.ts.map +1 -0
  224. package/dist/platform/projects-client/session-sandbox.js +82 -0
  225. package/dist/platform/projects-client/session-sandbox.js.map +1 -0
  226. package/dist/platform/projects-client/sessions.d.ts +216 -0
  227. package/dist/platform/projects-client/sessions.d.ts.map +1 -0
  228. package/dist/platform/projects-client/sessions.js +74 -0
  229. package/dist/platform/projects-client/sessions.js.map +1 -0
  230. package/dist/platform/projects-client/setup-links.d.ts +35 -0
  231. package/dist/platform/projects-client/setup-links.d.ts.map +1 -0
  232. package/dist/platform/projects-client/setup-links.js +24 -0
  233. package/dist/platform/projects-client/setup-links.js.map +1 -0
  234. package/dist/platform/projects-client/shared.d.ts +66 -0
  235. package/dist/platform/projects-client/shared.d.ts.map +1 -0
  236. package/dist/platform/projects-client/shared.js +44 -0
  237. package/dist/platform/projects-client/shared.js.map +1 -0
  238. package/dist/platform/projects-client/tokens.d.ts +77 -0
  239. package/dist/platform/projects-client/tokens.d.ts.map +1 -0
  240. package/dist/platform/projects-client/tokens.js +43 -0
  241. package/dist/platform/projects-client/tokens.js.map +1 -0
  242. package/dist/platform/projects-client/transcription.d.ts +5 -0
  243. package/dist/platform/projects-client/transcription.d.ts.map +1 -0
  244. package/dist/platform/projects-client/transcription.js +14 -0
  245. package/dist/platform/projects-client/transcription.js.map +1 -0
  246. package/dist/platform/projects-client/triggers.d.ts +102 -0
  247. package/dist/platform/projects-client/triggers.d.ts.map +1 -0
  248. package/dist/platform/projects-client/triggers.js +27 -0
  249. package/dist/platform/projects-client/triggers.js.map +1 -0
  250. package/dist/platform/session-id.d.ts +9 -0
  251. package/dist/platform/session-id.d.ts.map +1 -0
  252. package/dist/platform/session-id.js +23 -0
  253. package/dist/platform/session-id.js.map +1 -0
  254. package/dist/platform/storage/managed-storage.d.ts +97 -0
  255. package/dist/platform/storage/managed-storage.d.ts.map +1 -0
  256. package/dist/platform/storage/managed-storage.js +271 -0
  257. package/dist/platform/storage/managed-storage.js.map +1 -0
  258. package/dist/platform/strings.d.ts +12 -0
  259. package/dist/platform/strings.d.ts.map +1 -0
  260. package/dist/platform/strings.js +17 -0
  261. package/dist/platform/strings.js.map +1 -0
  262. package/dist/platform/ui.d.ts +11 -0
  263. package/dist/platform/ui.d.ts.map +1 -0
  264. package/dist/platform/ui.js +22 -0
  265. package/dist/platform/ui.js.map +1 -0
  266. package/dist/react/chat/index.d.ts +3 -0
  267. package/dist/react/chat/index.d.ts.map +1 -0
  268. package/dist/react/chat/index.js +7 -0
  269. package/dist/react/chat/index.js.map +1 -0
  270. package/dist/react/chat/render-parts.d.ts +39 -0
  271. package/dist/react/chat/render-parts.d.ts.map +1 -0
  272. package/dist/react/chat/render-parts.js +34 -0
  273. package/dist/react/chat/render-parts.js.map +1 -0
  274. package/dist/react/chat/use-chat-turns.d.ts +19 -0
  275. package/dist/react/chat/use-chat-turns.d.ts.map +1 -0
  276. package/dist/react/chat/use-chat-turns.js +27 -0
  277. package/dist/react/chat/use-chat-turns.js.map +1 -0
  278. package/dist/react/file-keys.d.ts +18 -0
  279. package/dist/react/file-keys.d.ts.map +1 -0
  280. package/dist/react/file-keys.js +18 -0
  281. package/dist/react/file-keys.js.map +1 -0
  282. package/dist/react/index.d.ts +12 -0
  283. package/dist/react/index.d.ts.map +1 -0
  284. package/dist/react/index.js +49 -0
  285. package/dist/react/index.js.map +1 -0
  286. package/dist/react/model-flatten.d.ts +33 -0
  287. package/dist/react/model-flatten.d.ts.map +1 -0
  288. package/dist/react/model-flatten.js +59 -0
  289. package/dist/react/model-flatten.js.map +1 -0
  290. package/dist/react/opencode.d.ts +43 -0
  291. package/dist/react/opencode.d.ts.map +1 -0
  292. package/dist/react/opencode.js +100 -0
  293. package/dist/react/opencode.js.map +1 -0
  294. package/dist/react/prefetch-session-start.d.ts +10 -0
  295. package/dist/react/prefetch-session-start.d.ts.map +1 -0
  296. package/dist/react/prefetch-session-start.js +17 -0
  297. package/dist/react/prefetch-session-start.js.map +1 -0
  298. package/dist/react/provider-refresh.d.ts +7 -0
  299. package/dist/react/provider-refresh.d.ts.map +1 -0
  300. package/dist/react/provider-refresh.js +28 -0
  301. package/dist/react/provider-refresh.js.map +1 -0
  302. package/dist/react/provider-selection.d.ts +31 -0
  303. package/dist/react/provider-selection.d.ts.map +1 -0
  304. package/dist/react/provider-selection.js +135 -0
  305. package/dist/react/provider-selection.js.map +1 -0
  306. package/dist/react/route-project.d.ts +7 -0
  307. package/dist/react/route-project.d.ts.map +1 -0
  308. package/dist/react/route-project.js +19 -0
  309. package/dist/react/route-project.js.map +1 -0
  310. package/dist/react/session-start-stash.d.ts +56 -0
  311. package/dist/react/session-start-stash.d.ts.map +1 -0
  312. package/dist/react/session-start-stash.js +202 -0
  313. package/dist/react/session-start-stash.js.map +1 -0
  314. package/dist/react/use-canonical-opencode-session.d.ts +35 -0
  315. package/dist/react/use-canonical-opencode-session.d.ts.map +1 -0
  316. package/dist/react/use-canonical-opencode-session.js +52 -0
  317. package/dist/react/use-canonical-opencode-session.js.map +1 -0
  318. package/dist/react/use-change-requests.d.ts +321 -0
  319. package/dist/react/use-change-requests.d.ts.map +1 -0
  320. package/dist/react/use-change-requests.js +43 -0
  321. package/dist/react/use-change-requests.js.map +1 -0
  322. package/dist/react/use-current-runtime.d.ts +8 -0
  323. package/dist/react/use-current-runtime.d.ts.map +1 -0
  324. package/dist/react/use-current-runtime.js +12 -0
  325. package/dist/react/use-current-runtime.js.map +1 -0
  326. package/dist/react/use-gateway-catalog-sync.d.ts +2 -0
  327. package/dist/react/use-gateway-catalog-sync.d.ts.map +1 -0
  328. package/dist/react/use-gateway-catalog-sync.js +39 -0
  329. package/dist/react/use-gateway-catalog-sync.js.map +1 -0
  330. package/dist/react/use-kortix-master.d.ts +384 -0
  331. package/dist/react/use-kortix-master.d.ts.map +1 -0
  332. package/dist/react/use-kortix-master.js +958 -0
  333. package/dist/react/use-kortix-master.js.map +1 -0
  334. package/dist/react/use-model-store.d.ts +71 -0
  335. package/dist/react/use-model-store.d.ts.map +1 -0
  336. package/dist/react/use-model-store.js +411 -0
  337. package/dist/react/use-model-store.js.map +1 -0
  338. package/dist/react/use-opencode-config.d.ts +15 -0
  339. package/dist/react/use-opencode-config.d.ts.map +1 -0
  340. package/dist/react/use-opencode-config.js +79 -0
  341. package/dist/react/use-opencode-config.js.map +1 -0
  342. package/dist/react/use-opencode-events/diagnostics.d.ts +11 -0
  343. package/dist/react/use-opencode-events/diagnostics.d.ts.map +1 -0
  344. package/dist/react/use-opencode-events/diagnostics.js +58 -0
  345. package/dist/react/use-opencode-events/diagnostics.js.map +1 -0
  346. package/dist/react/use-opencode-events/handle-event.d.ts +20 -0
  347. package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -0
  348. package/dist/react/use-opencode-events/handle-event.js +450 -0
  349. package/dist/react/use-opencode-events/handle-event.js.map +1 -0
  350. package/dist/react/use-opencode-events/helpers.d.ts +30 -0
  351. package/dist/react/use-opencode-events/helpers.d.ts.map +1 -0
  352. package/dist/react/use-opencode-events/helpers.js +93 -0
  353. package/dist/react/use-opencode-events/helpers.js.map +1 -0
  354. package/dist/react/use-opencode-events/index.d.ts +25 -0
  355. package/dist/react/use-opencode-events/index.d.ts.map +1 -0
  356. package/dist/react/use-opencode-events/index.js +242 -0
  357. package/dist/react/use-opencode-events/index.js.map +1 -0
  358. package/dist/react/use-opencode-events/types.d.ts +10 -0
  359. package/dist/react/use-opencode-events/types.d.ts.map +1 -0
  360. package/dist/react/use-opencode-events/types.js +2 -0
  361. package/dist/react/use-opencode-events/types.js.map +1 -0
  362. package/dist/react/use-opencode-events/use-event-stream-refs.d.ts +22 -0
  363. package/dist/react/use-opencode-events/use-event-stream-refs.d.ts.map +1 -0
  364. package/dist/react/use-opencode-events/use-event-stream-refs.js +158 -0
  365. package/dist/react/use-opencode-events/use-event-stream-refs.js.map +1 -0
  366. package/dist/react/use-opencode-local.d.ts +139 -0
  367. package/dist/react/use-opencode-local.d.ts.map +1 -0
  368. package/dist/react/use-opencode-local.js +484 -0
  369. package/dist/react/use-opencode-local.js.map +1 -0
  370. package/dist/react/use-opencode-mcp.d.ts +34 -0
  371. package/dist/react/use-opencode-mcp.d.ts.map +1 -0
  372. package/dist/react/use-opencode-mcp.js +190 -0
  373. package/dist/react/use-opencode-mcp.js.map +1 -0
  374. package/dist/react/use-opencode-pty.d.ts +30 -0
  375. package/dist/react/use-opencode-pty.d.ts.map +1 -0
  376. package/dist/react/use-opencode-pty.js +126 -0
  377. package/dist/react/use-opencode-pty.js.map +1 -0
  378. package/dist/react/use-opencode-sessions/agents.d.ts +14 -0
  379. package/dist/react/use-opencode-sessions/agents.d.ts.map +1 -0
  380. package/dist/react/use-opencode-sessions/agents.js +82 -0
  381. package/dist/react/use-opencode-sessions/agents.js.map +1 -0
  382. package/dist/react/use-opencode-sessions/commands.d.ts +8 -0
  383. package/dist/react/use-opencode-sessions/commands.d.ts.map +1 -0
  384. package/dist/react/use-opencode-sessions/commands.js +46 -0
  385. package/dist/react/use-opencode-sessions/commands.js.map +1 -0
  386. package/dist/react/use-opencode-sessions/files.d.ts +2 -0
  387. package/dist/react/use-opencode-sessions/files.d.ts.map +1 -0
  388. package/dist/react/use-opencode-sessions/files.js +181 -0
  389. package/dist/react/use-opencode-sessions/files.js.map +1 -0
  390. package/dist/react/use-opencode-sessions/index.d.ts +15 -0
  391. package/dist/react/use-opencode-sessions/index.d.ts.map +1 -0
  392. package/dist/react/use-opencode-sessions/index.js +21 -0
  393. package/dist/react/use-opencode-sessions/index.js.map +1 -0
  394. package/dist/react/use-opencode-sessions/keys.d.ts +94 -0
  395. package/dist/react/use-opencode-sessions/keys.d.ts.map +1 -0
  396. package/dist/react/use-opencode-sessions/keys.js +39 -0
  397. package/dist/react/use-opencode-sessions/keys.js.map +1 -0
  398. package/dist/react/use-opencode-sessions/mcp.d.ts +3 -0
  399. package/dist/react/use-opencode-sessions/mcp.d.ts.map +1 -0
  400. package/dist/react/use-opencode-sessions/mcp.js +23 -0
  401. package/dist/react/use-opencode-sessions/mcp.js.map +1 -0
  402. package/dist/react/use-opencode-sessions/messages.d.ts +75 -0
  403. package/dist/react/use-opencode-sessions/messages.d.ts.map +1 -0
  404. package/dist/react/use-opencode-sessions/messages.js +319 -0
  405. package/dist/react/use-opencode-sessions/messages.js.map +1 -0
  406. package/dist/react/use-opencode-sessions/parts.d.ts +23 -0
  407. package/dist/react/use-opencode-sessions/parts.d.ts.map +1 -0
  408. package/dist/react/use-opencode-sessions/parts.js +49 -0
  409. package/dist/react/use-opencode-sessions/parts.js.map +1 -0
  410. package/dist/react/use-opencode-sessions/permissions.d.ts +17 -0
  411. package/dist/react/use-opencode-sessions/permissions.d.ts.map +1 -0
  412. package/dist/react/use-opencode-sessions/permissions.js +66 -0
  413. package/dist/react/use-opencode-sessions/permissions.js.map +1 -0
  414. package/dist/react/use-opencode-sessions/projects.d.ts +5 -0
  415. package/dist/react/use-opencode-sessions/projects.d.ts.map +1 -0
  416. package/dist/react/use-opencode-sessions/projects.js +54 -0
  417. package/dist/react/use-opencode-sessions/projects.js.map +1 -0
  418. package/dist/react/use-opencode-sessions/providers.d.ts +10 -0
  419. package/dist/react/use-opencode-sessions/providers.d.ts.map +1 -0
  420. package/dist/react/use-opencode-sessions/providers.js +98 -0
  421. package/dist/react/use-opencode-sessions/providers.js.map +1 -0
  422. package/dist/react/use-opencode-sessions/sessions.d.ts +35 -0
  423. package/dist/react/use-opencode-sessions/sessions.d.ts.map +1 -0
  424. package/dist/react/use-opencode-sessions/sessions.js +380 -0
  425. package/dist/react/use-opencode-sessions/sessions.js.map +1 -0
  426. package/dist/react/use-opencode-sessions/shared.d.ts +43 -0
  427. package/dist/react/use-opencode-sessions/shared.d.ts.map +1 -0
  428. package/dist/react/use-opencode-sessions/shared.js +109 -0
  429. package/dist/react/use-opencode-sessions/shared.js.map +1 -0
  430. package/dist/react/use-opencode-sessions/sharing.d.ts +4 -0
  431. package/dist/react/use-opencode-sessions/sharing.d.ts.map +1 -0
  432. package/dist/react/use-opencode-sessions/sharing.js +57 -0
  433. package/dist/react/use-opencode-sessions/sharing.js.map +1 -0
  434. package/dist/react/use-opencode-sessions/tools.d.ts +5 -0
  435. package/dist/react/use-opencode-sessions/tools.d.ts.map +1 -0
  436. package/dist/react/use-opencode-sessions/tools.js +54 -0
  437. package/dist/react/use-opencode-sessions/tools.js.map +1 -0
  438. package/dist/react/use-permission-self-heal.d.ts +45 -0
  439. package/dist/react/use-permission-self-heal.d.ts.map +1 -0
  440. package/dist/react/use-permission-self-heal.js +144 -0
  441. package/dist/react/use-permission-self-heal.js.map +1 -0
  442. package/dist/react/use-project-config.d.ts +11 -0
  443. package/dist/react/use-project-config.d.ts.map +1 -0
  444. package/dist/react/use-project-config.js +22 -0
  445. package/dist/react/use-project-config.js.map +1 -0
  446. package/dist/react/use-project-models.d.ts +11 -0
  447. package/dist/react/use-project-models.d.ts.map +1 -0
  448. package/dist/react/use-project-models.js +25 -0
  449. package/dist/react/use-project-models.js.map +1 -0
  450. package/dist/react/use-project-secrets.d.ts +265 -0
  451. package/dist/react/use-project-secrets.d.ts.map +1 -0
  452. package/dist/react/use-project-secrets.js +41 -0
  453. package/dist/react/use-project-secrets.js.map +1 -0
  454. package/dist/react/use-project-triggers.d.ts +228 -0
  455. package/dist/react/use-project-triggers.d.ts.map +1 -0
  456. package/dist/react/use-project-triggers.js +42 -0
  457. package/dist/react/use-project-triggers.js.map +1 -0
  458. package/dist/react/use-question-self-heal.d.ts +36 -0
  459. package/dist/react/use-question-self-heal.d.ts.map +1 -0
  460. package/dist/react/use-question-self-heal.js +95 -0
  461. package/dist/react/use-question-self-heal.js.map +1 -0
  462. package/dist/react/use-runtime-phase.d.ts +9 -0
  463. package/dist/react/use-runtime-phase.d.ts.map +1 -0
  464. package/dist/react/use-runtime-phase.js +20 -0
  465. package/dist/react/use-runtime-phase.js.map +1 -0
  466. package/dist/react/use-runtime-reconnect.d.ts +90 -0
  467. package/dist/react/use-runtime-reconnect.d.ts.map +1 -0
  468. package/dist/react/use-runtime-reconnect.js +234 -0
  469. package/dist/react/use-runtime-reconnect.js.map +1 -0
  470. package/dist/react/use-session-picks.d.ts +17 -0
  471. package/dist/react/use-session-picks.d.ts.map +1 -0
  472. package/dist/react/use-session-picks.js +36 -0
  473. package/dist/react/use-session-picks.js.map +1 -0
  474. package/dist/react/use-session-prefetch.d.ts +18 -0
  475. package/dist/react/use-session-prefetch.d.ts.map +1 -0
  476. package/dist/react/use-session-prefetch.js +84 -0
  477. package/dist/react/use-session-prefetch.js.map +1 -0
  478. package/dist/react/use-session-send.d.ts +183 -0
  479. package/dist/react/use-session-send.d.ts.map +1 -0
  480. package/dist/react/use-session-send.js +287 -0
  481. package/dist/react/use-session-send.js.map +1 -0
  482. package/dist/react/use-session-sync.d.ts +24 -0
  483. package/dist/react/use-session-sync.d.ts.map +1 -0
  484. package/dist/react/use-session-sync.js +375 -0
  485. package/dist/react/use-session-sync.js.map +1 -0
  486. package/dist/react/use-session.d.ts +171 -0
  487. package/dist/react/use-session.d.ts.map +1 -0
  488. package/dist/react/use-session.js +396 -0
  489. package/dist/react/use-session.js.map +1 -0
  490. package/dist/react/use-visible-agents.d.ts +22 -0
  491. package/dist/react/use-visible-agents.d.ts.map +1 -0
  492. package/dist/react/use-visible-agents.js +45 -0
  493. package/dist/react/use-visible-agents.js.map +1 -0
  494. package/dist/server.d.ts +55 -0
  495. package/dist/server.d.ts.map +1 -0
  496. package/dist/server.js +122 -0
  497. package/dist/server.js.map +1 -0
  498. package/dist/session/health.d.ts +49 -0
  499. package/dist/session/health.d.ts.map +1 -0
  500. package/dist/session/health.js +57 -0
  501. package/dist/session/health.js.map +1 -0
  502. package/dist/session/index.d.ts +19 -0
  503. package/dist/session/index.d.ts.map +1 -0
  504. package/dist/session/index.js +19 -0
  505. package/dist/session/index.js.map +1 -0
  506. package/dist/session/preview.d.ts +24 -0
  507. package/dist/session/preview.d.ts.map +1 -0
  508. package/dist/session/preview.js +85 -0
  509. package/dist/session/preview.js.map +1 -0
  510. package/dist/session/url.d.ts +160 -0
  511. package/dist/session/url.d.ts.map +1 -0
  512. package/dist/session/url.js +522 -0
  513. package/dist/session/url.js.map +1 -0
  514. package/dist/state/chat-events.d.ts +141 -0
  515. package/dist/state/chat-events.d.ts.map +1 -0
  516. package/dist/state/chat-events.js +135 -0
  517. package/dist/state/chat-events.js.map +1 -0
  518. package/dist/state/current-runtime.d.ts +44 -0
  519. package/dist/state/current-runtime.d.ts.map +1 -0
  520. package/dist/state/current-runtime.js +44 -0
  521. package/dist/state/current-runtime.js.map +1 -0
  522. package/dist/state/diagnostics-store.d.ts +114 -0
  523. package/dist/state/diagnostics-store.d.ts.map +1 -0
  524. package/dist/state/diagnostics-store.js +319 -0
  525. package/dist/state/diagnostics-store.js.map +1 -0
  526. package/dist/state/event-stream.d.ts +134 -0
  527. package/dist/state/event-stream.d.ts.map +1 -0
  528. package/dist/state/event-stream.js +424 -0
  529. package/dist/state/event-stream.js.map +1 -0
  530. package/dist/state/idb-sync-cache.d.ts +18 -0
  531. package/dist/state/idb-sync-cache.d.ts.map +1 -0
  532. package/dist/state/idb-sync-cache.js +209 -0
  533. package/dist/state/idb-sync-cache.js.map +1 -0
  534. package/dist/state/opencode-compaction-store.d.ts +10 -0
  535. package/dist/state/opencode-compaction-store.d.ts.map +1 -0
  536. package/dist/state/opencode-compaction-store.js +32 -0
  537. package/dist/state/opencode-compaction-store.js.map +1 -0
  538. package/dist/state/opencode-pending-store.d.ts +19 -0
  539. package/dist/state/opencode-pending-store.d.ts.map +1 -0
  540. package/dist/state/opencode-pending-store.js +76 -0
  541. package/dist/state/opencode-pending-store.js.map +1 -0
  542. package/dist/state/sandbox-connection-store.d.ts +62 -0
  543. package/dist/state/sandbox-connection-store.d.ts.map +1 -0
  544. package/dist/state/sandbox-connection-store.js +290 -0
  545. package/dist/state/sandbox-connection-store.js.map +1 -0
  546. package/dist/state/server-store/active.d.ts +49 -0
  547. package/dist/state/server-store/active.d.ts.map +1 -0
  548. package/dist/state/server-store/active.js +76 -0
  549. package/dist/state/server-store/active.js.map +1 -0
  550. package/dist/state/server-store/types.d.ts +12 -0
  551. package/dist/state/server-store/types.d.ts.map +1 -0
  552. package/dist/state/server-store/types.js +2 -0
  553. package/dist/state/server-store/types.js.map +1 -0
  554. package/dist/state/server-store/url-helpers.d.ts +33 -0
  555. package/dist/state/server-store/url-helpers.d.ts.map +1 -0
  556. package/dist/state/server-store/url-helpers.js +55 -0
  557. package/dist/state/server-store/url-helpers.js.map +1 -0
  558. package/dist/state/server-store.d.ts +18 -0
  559. package/dist/state/server-store.d.ts.map +1 -0
  560. package/dist/state/server-store.js +23 -0
  561. package/dist/state/server-store.js.map +1 -0
  562. package/dist/state/session-runtime-registry.d.ts +49 -0
  563. package/dist/state/session-runtime-registry.d.ts.map +1 -0
  564. package/dist/state/session-runtime-registry.js +85 -0
  565. package/dist/state/session-runtime-registry.js.map +1 -0
  566. package/dist/state/sync-store/ascending-id.d.ts +2 -0
  567. package/dist/state/sync-store/ascending-id.d.ts.map +1 -0
  568. package/dist/state/sync-store/ascending-id.js +21 -0
  569. package/dist/state/sync-store/ascending-id.js.map +1 -0
  570. package/dist/state/sync-store/binary.d.ts +7 -0
  571. package/dist/state/sync-store/binary.d.ts.map +1 -0
  572. package/dist/state/sync-store/binary.js +21 -0
  573. package/dist/state/sync-store/binary.js.map +1 -0
  574. package/dist/state/sync-store/stream-cache.d.ts +2 -0
  575. package/dist/state/sync-store/stream-cache.d.ts.map +1 -0
  576. package/dist/state/sync-store/stream-cache.js +29 -0
  577. package/dist/state/sync-store/stream-cache.js.map +1 -0
  578. package/dist/state/sync-store/types.d.ts +29 -0
  579. package/dist/state/sync-store/types.d.ts.map +1 -0
  580. package/dist/state/sync-store/types.js +2 -0
  581. package/dist/state/sync-store/types.js.map +1 -0
  582. package/dist/state/sync-store.d.ts +39 -0
  583. package/dist/state/sync-store.d.ts.map +1 -0
  584. package/dist/state/sync-store.js +692 -0
  585. package/dist/state/sync-store.js.map +1 -0
  586. package/dist/state/tab-store.d.ts +91 -0
  587. package/dist/state/tab-store.d.ts.map +1 -0
  588. package/dist/state/tab-store.js +369 -0
  589. package/dist/state/tab-store.js.map +1 -0
  590. package/dist/transcript.d.ts +40 -0
  591. package/dist/transcript.d.ts.map +1 -0
  592. package/dist/transcript.js +126 -0
  593. package/dist/transcript.js.map +1 -0
  594. package/dist/turns/classify.d.ts +166 -0
  595. package/dist/turns/classify.d.ts.map +1 -0
  596. package/dist/turns/classify.js +259 -0
  597. package/dist/turns/classify.js.map +1 -0
  598. package/dist/turns/errors.d.ts +11 -0
  599. package/dist/turns/errors.d.ts.map +1 -0
  600. package/dist/turns/errors.js +85 -0
  601. package/dist/turns/errors.js.map +1 -0
  602. package/dist/turns/index.d.ts +264 -0
  603. package/dist/turns/index.d.ts.map +1 -0
  604. package/dist/turns/index.js +1243 -0
  605. package/dist/turns/index.js.map +1 -0
  606. package/dist/turns/tool-registry.d.ts +33 -0
  607. package/dist/turns/tool-registry.d.ts.map +1 -0
  608. package/dist/turns/tool-registry.js +108 -0
  609. package/dist/turns/tool-registry.js.map +1 -0
  610. package/dist/turns/types.d.ts +125 -0
  611. package/dist/turns/types.d.ts.map +1 -0
  612. package/dist/turns/types.js +12 -0
  613. package/dist/turns/types.js.map +1 -0
  614. package/dist/turns/view-model.d.ts +127 -0
  615. package/dist/turns/view-model.d.ts.map +1 -0
  616. package/dist/turns/view-model.js +401 -0
  617. package/dist/turns/view-model.js.map +1 -0
  618. package/package.json +155 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-event.js","sourceRoot":"","sources":["../../../src/react/use-opencode-events/handle-event.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,SAAS,EACT,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAyB,YAAY,EAAgB,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,WAAW,CAAC;AAGnB,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB,CAAC,IAYlC;IACC,MAAM,EACJ,WAAW,EACX,MAAM,EACN,cAAc,EACd,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,GAC7B,GAAG,IAAI,CAAC;IAET,+EAA+E;IAC/E,SAAS,eAAe,CAAC,SAAiB;QACxC,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAY,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9E,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,EAAE,KAAK;gBAAE,OAAO,CAAC,CAAC,KAAK,CAAC;QAC/B,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAU,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACnF,OAAO,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC;IACrC,CAAC;IAED,SAAS,WAAW,CAAC,KAAoB;QACvC,iEAAiE;QACjE,kEAAkE;QAClE,0CAA0C;QAC1C,EAAE;QACF,yEAAyE;QACzE,0EAA0E;QAC1E,qEAAqE;QACrE,gEAAgE;QAChE,cAAc,CAAC,KAAyB,CAAC,CAAC;QAE1C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,wDAAwD;YACxD,KAAK,iBAAiB,CAAC;YACvB,KAAK,iBAAiB;gBACpB,MAAM;YAER,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,uDAAuD;gBACvD,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;gBACtE,MAAM;YACR,CAAC;YAED,KAAK,sBAAsB;gBACzB,MAAM;YAER,qEAAqE;YACrE,EAAE;YACF,kEAAkE;YAClE,qEAAqE;YACrE,wEAAwE;YACxE,iDAAiD;YACjD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAI,IAAI,EAAE,CAAC;oBACT,WAAW,CAAC,YAAY,CAAY,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;wBACnE,IAAI,CAAC,GAAG;4BAAE,OAAO,CAAC,IAAI,CAAC,CAAC;wBACxB,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;wBACtD,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;4BAChB,6CAA6C;4BAC7C,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO;gCAAE,OAAO,GAAG,CAAC;4BAC/D,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;4BACtB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;4BACpB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC9D,CAAC;wBACD,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACxE,CAAC,CAAC,CAAC;oBACH,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC9D,2BAA2B,CAAC,WAAW,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAI,IAAI,EAAE,CAAC;oBACT,oEAAoE;oBACpE,oEAAoE;oBACpE,sEAAsE;oBACtE,MAAM,SAAS,GACb,WAAW;yBACR,YAAY,CAAY,YAAY,CAAC,QAAQ,EAAE,CAAC;wBACjD,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK;wBACxC,WAAW,CAAC,YAAY,CAAU,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK;wBACvE,IAAI,CAAC;oBACP,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;oBAC9D,yDAAyD;oBACzD,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC9D,2DAA2D;oBAC3D,WAAW,CAAC,YAAY,CAAY,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;wBACnE,IAAI,CAAC,GAAG;4BAAE,OAAO,GAAG,CAAC;wBACrB,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;wBACnD,IAAI,GAAG,GAAG,CAAC;4BAAE,OAAO,GAAG,CAAC;wBACxB,mEAAmE;wBACnE,mEAAmE;wBACnE,qEAAqE;wBACrE,IACE,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO;4BAC3C,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;4BAE7B,OAAO,GAAG,CAAC;wBACb,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;wBACtB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;wBACjB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC9D,CAAC,CAAC,CAAC;oBACH,IAAI,YAAY;wBAAE,2BAA2B,CAAC,WAAW,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAI,IAAI,EAAE,CAAC;oBACT,WAAW,CAAC,YAAY,CAAY,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;wBACnE,IAAI,CAAC,GAAG;4BAAE,OAAO,GAAG,CAAC;wBACrB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;wBAChD,IAAI,CAAC,KAAK;4BAAE,OAAO,GAAG,CAAC;wBACvB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;oBACH,WAAW,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACvE,WAAW,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACxE,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChC,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC7C,IAAI,SAAS,EAAE,CAAC;oBACd,cAAc,CAAC,SAAS,CAAC,CAAC;oBAC1B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;oBAC3B,MAAM,CAAC,OAAO;yBACX,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;yBACvB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;wBACZ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;4BACb,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;4BACrD,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;4BAClC,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;4BACzC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gCAAE,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;wBAClE,CAAC;oBACH,CAAC,CAAC;yBACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACnB,0DAA0D;oBAC1D,yDAAyD;oBACzD,MAAM,CAAC,OAAO;yBACX,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC;yBAClB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;wBACZ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;4BACb,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;4BACzB,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;4BACnE,8BAA8B;4BAC9B,WAAW,CAAC,YAAY,CAAY,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gCACnE,IAAI,CAAC,GAAG;oCAAE,OAAO,GAAG,CAAC;gCACrB,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;gCACrD,IAAI,GAAG,GAAG,CAAC;oCAAE,OAAO,GAAG,CAAC;gCACxB,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;gCACtB,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;gCACpB,OAAO,IAAI,CAAC;4BACd,CAAC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC,CAAC;yBACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACrB,CAAC;gBACD,MAAM;YACR,CAAC;YAED,2BAA2B;YAC3B,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC/C,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;oBACxB,gEAAgE;oBAChE,mEAAmE;oBACnE,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;oBACpE,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACvE,kBAAkB,CAAC,SAAS,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;wBAC1D,4DAA4D;wBAC5D,8DAA8D;wBAC9D,oDAAoD;wBACpD,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;wBAC/E,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAChF,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC7C,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;oBACpE,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC7C,kBAAkB,CAAC,SAAS,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;wBAC1D,4DAA4D;wBAC5D,8DAA8D;wBAC9D,oDAAoD;wBACpD,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;wBAC/E,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;wBAC9E,8DAA8D;wBAC9D,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;wBAClC,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;wBACzC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;4BAAE,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,2BAA2B;YAC3B,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC/B,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBACnC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;oBAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC1B,cAAc,CAAC,SAAS,CAAC,CAAC;oBAC1B,4BAA4B;oBAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;oBACtC,MAAM,UAAU,GACd,KAAK,CAAC,IAAI;wBACV,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;wBACzD,mBAAmB,CAAC;oBACtB,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;oBAEtE,4DAA4D;oBAC5D,4BAA4B;oBAC5B,8DAA8D;oBAC9D,+DAA+D;oBAC/D,6CAA6C;oBAC7C,mEAAmE;oBACnE,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAC7C,WAAW,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC7C,WAAW,CAAC,YAAY,CAAqB,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;wBACxD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;4BAAE,OAAO,GAAG,CAAC;wBACzC,0DAA0D;wBAC1D,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;4BACzC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4BACzB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gCAC9B,IAAI,IAAI,CAAC,KAAK;oCAAE,OAAO,GAAG,CAAC,CAAC,oBAAoB;gCAChD,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;gCACzB,OAAO,CAAC,CAAC,CAAC,GAAG;oCACX,GAAG,GAAG,CAAC,CAAC,CAAC;oCACT,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE;iCACzB,CAAC;gCACF,OAAO,OAAO,CAAC;4BACjB,CAAC;wBACH,CAAC;wBACD,OAAO,GAAG,CAAC;oBACb,CAAC,CAAC,CAAC;oBAEH,kDAAkD;oBAClD,0DAA0D;oBAC1D,yDAAyD;oBACzD,qDAAqD;oBACrD,wDAAwD;oBACxD,wCAAwC;oBACxC,EAAE;oBACF,2DAA2D;oBAC3D,6DAA6D;oBAC7D,6DAA6D;oBAC7D,uDAAuD;oBACvD,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;oBAChD,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,MAAM,CAAC,OAAO;6BACX,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;6BACvB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;4BACZ,IAAI,CAAC,GAAG,CAAC,IAAI;gCAAE,OAAO;4BACtB,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;4BACrD,YAAY,CAAC,QAAQ,EAAE,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;4BAC3D,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;4BAClC,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;4BACzC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gCAAE,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;wBAClE,CAAC,CAAC;6BACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACrB,CAAC;yBAAM,CAAC;wBACN,sDAAsD;wBACtD,mDAAmD;wBACnD,YAAY,CAAC,QAAQ,EAAE,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,wBAAwB;YACxB,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC/B,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;oBAChC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,kEAAkE;oBAClE,kEAAkE;oBAClE,oEAAoE;oBACpE,kEAAkE;oBAClE,yCAAyC;oBACzC,MAAM,QAAQ,GAAuC,KAAK,CAAC;oBAC3D,MAAM,QAAQ,GACZ,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;oBACvF,uBAAuB,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvF,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC7C,IAAI,SAAS;oBAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBAC3C,MAAM;YACR,CAAC;YAED,sBAAsB;YACtB,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC/B,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;oBAChC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACnB,6DAA6D;oBAC7D,MAAM,YAAY,GAChB,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ;wBAC5B,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM;wBAC1B,yBAAyB,CAAC;oBAC5B,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBAClF,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,kBAAkB,CAAC;YACxB,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC7C,IAAI,SAAS;oBAAE,cAAc,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM;YACR,CAAC;YAED,yBAAyB;YACzB,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC/B,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;oBACpB,WAAW,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtF,CAAC;gBACD,MAAM;YACR,CAAC;YAED,yBAAyB;YACzB,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC/B,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;oBACpB,WAAW,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvF,CAAC;gBACD,MAAM;YACR,CAAC;YAED,uBAAuB;YACvB,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC/B,WAAW,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;oBAC5C,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,4BAA4B;YAC5B,KAAK,0BAA0B,CAAC,CAAC,CAAC;gBAChC,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;oBACxF,IAAI,MAAM,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC5B,yBAAyB,CAAC,OAAO,CAC/B,SAAS,EACT,qEAAqE,CACtE,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,8DAA8D;gBAC9D,6DAA6D;gBAC7D,4DAA4D;gBAC5D,2CAA2C;gBAC3C,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACrF,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACtF,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACnF,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACnF,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACpF,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACrF,MAAM;YACR,CAAC;YAED,wBAAwB;YACxB,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACjF,+DAA+D;gBAC/D,qEAAqE;gBACrE,4BAA4B,CAAC,OAAO,EAAE,CAAC;gBACvC,MAAM;YACR,CAAC;YAED,2DAA2D;YAC3D,KAAK,wBAAwB,CAAC,CAAC,CAAC;gBAC9B,8DAA8D;gBAC9D,gEAAgE;gBAChE,2DAA2D;gBAC3D,4BAA4B,CAAC,OAAO,EAAE,CAAC;gBACvC,MAAM;YACR,CAAC;YAED,8BAA8B;YAC9B,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,6EAA6E;gBAC7E,iEAAiE;gBACjE,WAAW,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACnF,WAAW,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACjF,MAAM;YACR,CAAC;YAED,uBAAuB;YACvB,KAAK,aAAa,CAAC;YACnB,KAAK,aAAa,CAAC;YACnB,KAAK,YAAY,CAAC;YAClB,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAClF,MAAM;YACR,CAAC;YAED,+CAA+C;YAC/C,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACtF,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACrF,MAAM;YACR,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACtF,MAAM;YACR,CAAC;YAED,4BAA4B;YAC5B,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,+DAA+D;gBAC/D,iEAAiE;gBACjE,iDAAiD;gBACjD,8BAA8B,CAAC,WAAW,CAAC,CAAC;gBAC5C,MAAM;YACR,CAAC;YAED,mEAAmE;YACnE,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;gBACnC,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC9E,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC/E,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;oBACnB,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACnF,CAAC;gBACD,MAAM;YACR,CAAC;YAED,gCAAgC;YAChC,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC;gBACtC,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,SAAS,CAAC,uBAAuB,UAAU,6BAA6B,EAAE;oBACxE,QAAQ,EAAE,MAAM;iBACjB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,+BAA+B,CAAC,CAAC,CAAC;gBACrC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC;gBACrC,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;gBACvF,SAAS,CAAC,GAAG,YAAY,0CAA0C,EAAE;oBACnE,QAAQ,EAAE,MAAM;iBACjB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { type QueryClient } from '@tanstack/react-query';
2
+ import { type Session } from '../use-opencode-sessions/index.js';
3
+ import type { OpenCodeEvent } from './types.js';
4
+ /**
5
+ * session.created/updated/deleted carry the Session object either nested under
6
+ * `properties.info` (the SDK type) or FLAT as `properties` itself — the opencode
7
+ * runtime emits the flat shape, which the typed `.info` read silently drops. That
8
+ * dropped every live `session.updated`, so auto-generated titles never reached
9
+ * the tabs/sidebar until an HTTP list refetch (i.e. only after you navigated to
10
+ * or created another session). Read both shapes — same fix the mobile client
11
+ * shipped (apps/mobile commit 7f31102fe "fix: session title updates").
12
+ */
13
+ export declare function readSessionInfo(event: OpenCodeEvent): Session | undefined;
14
+ /** Reads `value` back out only if it's genuinely a string — used for wire
15
+ * fields whose declared type may be an object (or absent) depending on
16
+ * which request shape produced them. */
17
+ export declare function asStringOrUndefined(value: unknown): string | undefined;
18
+ /**
19
+ * Some servers emit an "AbortError"-shaped `session.error` whose `name`/message
20
+ * live wherever the server put them — not part of the SDK's typed error union
21
+ * (`ProviderAuthError | UnknownError | ... | ApiError`). Duck-type via
22
+ * `unknown` rather than assuming a shape; checks `.name`, `.data.message`, and
23
+ * a top-level `.message` for a case-insensitive "abort" substring.
24
+ */
25
+ export declare function looksLikeAbortError(error: unknown): boolean;
26
+ export declare function reserveMessageRehydrate(sessionID: string): boolean;
27
+ export declare function releaseMessageRehydrate(sessionID: string): void;
28
+ export declare function scheduleProjectMetadataRefetch(queryClient: QueryClient): void;
29
+ export declare function refetchKortixSessionMirrors(queryClient: QueryClient): void;
30
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/react/use-opencode-events/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAS7C;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,GAAG,SAAS,CAMzE;AAED;;yCAEyC;AACzC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAEtE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAU3D;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAQlE;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE/D;AAED,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAqB7E;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAM1E"}
@@ -0,0 +1,93 @@
1
+ import { opencodeKeys } from '../use-opencode-sessions/index.js';
2
+ const MESSAGE_REHYDRATE_COOLDOWN_MS = 30_000;
3
+ const PROJECT_METADATA_REFETCH_COOLDOWN_MS = 5_000;
4
+ const messageRehydrateInFlight = new Set();
5
+ const messageRehydrateLastAt = new Map();
6
+ let projectMetadataRefetchLastAt = 0;
7
+ let projectMetadataRefetchTimer = null;
8
+ /**
9
+ * session.created/updated/deleted carry the Session object either nested under
10
+ * `properties.info` (the SDK type) or FLAT as `properties` itself — the opencode
11
+ * runtime emits the flat shape, which the typed `.info` read silently drops. That
12
+ * dropped every live `session.updated`, so auto-generated titles never reached
13
+ * the tabs/sidebar until an HTTP list refetch (i.e. only after you navigated to
14
+ * or created another session). Read both shapes — same fix the mobile client
15
+ * shipped (apps/mobile commit 7f31102fe "fix: session title updates").
16
+ */
17
+ export function readSessionInfo(event) {
18
+ const props = event.properties;
19
+ if (!props || typeof props !== 'object')
20
+ return undefined;
21
+ const rec = props;
22
+ if (rec.info)
23
+ return rec.info;
24
+ return typeof rec.id === 'string' ? props : undefined;
25
+ }
26
+ /** Reads `value` back out only if it's genuinely a string — used for wire
27
+ * fields whose declared type may be an object (or absent) depending on
28
+ * which request shape produced them. */
29
+ export function asStringOrUndefined(value) {
30
+ return typeof value === 'string' ? value : undefined;
31
+ }
32
+ /**
33
+ * Some servers emit an "AbortError"-shaped `session.error` whose `name`/message
34
+ * live wherever the server put them — not part of the SDK's typed error union
35
+ * (`ProviderAuthError | UnknownError | ... | ApiError`). Duck-type via
36
+ * `unknown` rather than assuming a shape; checks `.name`, `.data.message`, and
37
+ * a top-level `.message` for a case-insensitive "abort" substring.
38
+ */
39
+ export function looksLikeAbortError(error) {
40
+ if (!error || typeof error !== 'object')
41
+ return false;
42
+ const rec = error;
43
+ if (rec.name === 'AbortError')
44
+ return true;
45
+ const data = rec.data;
46
+ const dataMessage = data && typeof data === 'object' ? data.message : undefined;
47
+ return String(dataMessage ?? rec.message ?? '')
48
+ .toLowerCase()
49
+ .includes('abort');
50
+ }
51
+ export function reserveMessageRehydrate(sessionID) {
52
+ if (!sessionID || messageRehydrateInFlight.has(sessionID))
53
+ return false;
54
+ const now = Date.now();
55
+ const last = messageRehydrateLastAt.get(sessionID) ?? 0;
56
+ if (now - last < MESSAGE_REHYDRATE_COOLDOWN_MS)
57
+ return false;
58
+ messageRehydrateInFlight.add(sessionID);
59
+ messageRehydrateLastAt.set(sessionID, now);
60
+ return true;
61
+ }
62
+ export function releaseMessageRehydrate(sessionID) {
63
+ messageRehydrateInFlight.delete(sessionID);
64
+ }
65
+ export function scheduleProjectMetadataRefetch(queryClient) {
66
+ const run = () => {
67
+ projectMetadataRefetchTimer = null;
68
+ projectMetadataRefetchLastAt = Date.now();
69
+ queryClient.refetchQueries({ queryKey: opencodeKeys.projects(), type: 'active' });
70
+ queryClient.refetchQueries({ queryKey: opencodeKeys.currentProject(), type: 'active' });
71
+ };
72
+ const now = Date.now();
73
+ const wait = PROJECT_METADATA_REFETCH_COOLDOWN_MS - (now - projectMetadataRefetchLastAt);
74
+ if (wait <= 0) {
75
+ if (projectMetadataRefetchTimer) {
76
+ clearTimeout(projectMetadataRefetchTimer);
77
+ projectMetadataRefetchTimer = null;
78
+ }
79
+ run();
80
+ return;
81
+ }
82
+ if (!projectMetadataRefetchTimer) {
83
+ projectMetadataRefetchTimer = setTimeout(run, wait);
84
+ }
85
+ }
86
+ export function refetchKortixSessionMirrors(queryClient) {
87
+ // OpenCode title/tree mirroring is owned by API session reads. When OpenCode
88
+ // emits a title/tree change, refetch the active Kortix session reads so tabs
89
+ // and sidebars pick up the server-side mirror without browser-side writes.
90
+ void queryClient.refetchQueries({ queryKey: ['project-sessions'], type: 'active' });
91
+ void queryClient.refetchQueries({ queryKey: ['project-session'], type: 'active' });
92
+ }
93
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/react/use-opencode-events/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Connects to OpenCode's SSE event stream via the SDK and
3
+ * performs INCREMENTAL cache updates on React Query data.
4
+ *
5
+ * Instead of invalidating queries (which triggers full refetches),
6
+ * we use setQueryData to surgically update messages, parts, sessions, etc.
7
+ * This matches the SolidJS reference implementation's approach.
8
+ *
9
+ * This hook is a THIN React wrapper: the actual connect/reconnect/backoff,
10
+ * heartbeat watchdog, and event-coalescing machinery is framework-free and
11
+ * lives in `state/event-stream.ts`'s `openEventStream()`. Everything here is
12
+ * either genuinely React-only (effect lifecycle, store subscriptions) or
13
+ * needs the React Query `QueryClient` (cache reads/writes, which
14
+ * `createEventHandler` and `hydrateCore` below perform).
15
+ */
16
+ export declare function useOpenCodeEventStream(): void;
17
+ /**
18
+ * Headless provider component that connects the SSE event stream.
19
+ * Renders nothing — just call useOpenCodeEventStream().
20
+ *
21
+ * Mount this once on any page that needs live session updates
22
+ * (dashboard layout, onboarding page, etc.).
23
+ */
24
+ export declare function OpenCodeEventStreamProvider(): null;
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/use-opencode-events/index.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,SA+MrC;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,SAG1C"}
@@ -0,0 +1,242 @@
1
+ 'use client';
2
+ import { clearConfigOverrides } from '../use-opencode-config.js';
3
+ import { saveSessionToIDB } from '../../state/idb-sync-cache.js';
4
+ import { logger } from '../../platform/logger.js';
5
+ import { getClient, resetClient } from '../../opencode/client.js';
6
+ import { useDiagnosticsStore } from '../../state/diagnostics-store.js';
7
+ import { useOpenCodeCompactionStore } from '../../state/opencode-compaction-store.js';
8
+ import { useOpenCodePendingStore } from '../../state/opencode-pending-store.js';
9
+ import { useSyncStore } from '../../state/sync-store.js';
10
+ import { useSandboxConnectionStore } from '../../state/sandbox-connection-store.js';
11
+ import { useServerStore } from '../../state/server-store.js';
12
+ import { useCurrentRuntime } from '../use-current-runtime.js';
13
+ import { useQueryClient } from '@tanstack/react-query';
14
+ import { useEffect, useRef } from 'react';
15
+ import { opencodeKeys } from '../use-opencode-sessions/index.js';
16
+ import { resetPrefetchState } from '../use-session-prefetch.js';
17
+ import { createEventHandler } from './handle-event.js';
18
+ import { releaseMessageRehydrate, reserveMessageRehydrate } from './helpers.js';
19
+ import { useEventStreamRefs } from './use-event-stream-refs.js';
20
+ import { openEventStream } from '../../state/event-stream.js';
21
+ /**
22
+ * Connects to OpenCode's SSE event stream via the SDK and
23
+ * performs INCREMENTAL cache updates on React Query data.
24
+ *
25
+ * Instead of invalidating queries (which triggers full refetches),
26
+ * we use setQueryData to surgically update messages, parts, sessions, etc.
27
+ * This matches the SolidJS reference implementation's approach.
28
+ *
29
+ * This hook is a THIN React wrapper: the actual connect/reconnect/backoff,
30
+ * heartbeat watchdog, and event-coalescing machinery is framework-free and
31
+ * lives in `state/event-stream.ts`'s `openEventStream()`. Everything here is
32
+ * either genuinely React-only (effect lifecycle, store subscriptions) or
33
+ * needs the React Query `QueryClient` (cache reads/writes, which
34
+ * `createEventHandler` and `hydrateCore` below perform).
35
+ */
36
+ export function useOpenCodeEventStream() {
37
+ const queryClient = useQueryClient();
38
+ const addPermission = useOpenCodePendingStore((s) => s.addPermission);
39
+ const removePermission = useOpenCodePendingStore((s) => s.removePermission);
40
+ const addQuestion = useOpenCodePendingStore((s) => s.addQuestion);
41
+ const removeQuestion = useOpenCodePendingStore((s) => s.removeQuestion);
42
+ const clearPending = useOpenCodePendingStore((s) => s.clear);
43
+ const stopCompaction = useOpenCodeCompactionStore((s) => s.stopCompaction);
44
+ const applySyncEvent = useSyncStore((s) => s.applyEvent);
45
+ // Re-render (and re-read getActiveServerUrl, which resolves current-runtime) when
46
+ // the session's runtime changes — so the SSE re-subscribes to the new daemon.
47
+ const runtimeVersion = useCurrentRuntime((s) => s.version);
48
+ const activeServerUrl = useServerStore((s) => s.getActiveServerUrl());
49
+ const sandboxStatus = useSandboxConnectionStore((s) => s.status);
50
+ const runtimeHealthy = useSandboxConnectionStore((s) => s.healthy);
51
+ const isMountRef = useRef(true);
52
+ const prevRuntimeVersionRef = useRef(runtimeVersion);
53
+ const prevServerUrlRef = useRef(activeServerUrl);
54
+ const { normalizeDiagnosticPaths, fetchLspDiagnosticsDebounced, markSessionAbortedLocally, reconcileMissingBusySessions, } = useEventStreamRefs({ queryClient, stopCompaction, applySyncEvent });
55
+ useEffect(() => {
56
+ // On first mount, always start clean — the provider may have remounted
57
+ // after navigating away and back while the session's runtime changed. The
58
+ // ref would have been initialized to the post-change runtimeVersion so the
59
+ // isServerSwitch check below would miss the change.
60
+ const isFirstMount = isMountRef.current;
61
+ isMountRef.current = false;
62
+ // Only nuke caches on an actual runtime switch (new session/sandbox), not
63
+ // URL/port updates within the same runtime.
64
+ const isServerSwitch = prevRuntimeVersionRef.current !== runtimeVersion;
65
+ prevRuntimeVersionRef.current = runtimeVersion;
66
+ const didServerUrlChange = prevServerUrlRef.current !== activeServerUrl;
67
+ prevServerUrlRef.current = activeServerUrl;
68
+ // Only reset the SDK client on actual server switches — NOT on URL/port
69
+ // updates. Resetting on every urlVersion change tears down the client
70
+ // unnecessarily, causing SSE disconnection → reconnection → cache
71
+ // invalidation cascade that manifests as random loading flashes.
72
+ if (isFirstMount || isServerSwitch) {
73
+ resetClient();
74
+ clearConfigOverrides();
75
+ clearPending();
76
+ // NOTE: we intentionally do NOT wipe the sync store or the opencode
77
+ // query cache here anymore. Those are now scoped per-sandbox (see
78
+ // opencodeKeys.activeServerKey + the sync store's session-id keying),
79
+ // so each sandbox's data coexists safely. Wiping them was what made
80
+ // switching back to an already-open session "reload". Diagnostics are
81
+ // still cleared because they're keyed by bare file path (no sandbox
82
+ // scope) and would otherwise bleed across sandboxes.
83
+ useDiagnosticsStore.getState().clearAll();
84
+ resetPrefetchState();
85
+ }
86
+ else if (didServerUrlChange) {
87
+ // URL changed on the same logical server (e.g. sandbox/proxy refresh).
88
+ // Recreate the SDK client so SSE reconnects to the new endpoint, but
89
+ // keep caches/status intact to avoid loading flashes.
90
+ resetClient();
91
+ }
92
+ // Do not connect SSE or hydrate OpenCode-backed endpoints while the
93
+ // runtime is starting/degraded. Otherwise every mounted dashboard tab
94
+ // fans out into /session/*, /path, /permission, /question, and /lsp/*
95
+ // requests that each sit for 30s and retry.
96
+ if (!activeServerUrl || sandboxStatus !== 'connected' || runtimeHealthy !== true)
97
+ return;
98
+ const client = getClient();
99
+ const handleEvent = createEventHandler({
100
+ queryClient,
101
+ client,
102
+ applySyncEvent,
103
+ stopCompaction,
104
+ addPermission,
105
+ removePermission,
106
+ addQuestion,
107
+ removeQuestion,
108
+ normalizeDiagnosticPaths,
109
+ markSessionAbortedLocally,
110
+ fetchLspDiagnosticsDebounced,
111
+ });
112
+ // ---- CONSOLIDATED hydration function ----
113
+ // Single function for hydrating permissions, questions, and session statuses.
114
+ // Called both on initial connect and on SSE reconnect (gap > 5s).
115
+ // Previously this logic was duplicated in two places.
116
+ const hydrateCore = (options) => {
117
+ client.permission
118
+ .list()
119
+ .then((res) => {
120
+ if (Array.isArray(res.data))
121
+ res.data.forEach(addPermission);
122
+ })
123
+ .catch((err) => {
124
+ logger.error('Failed to hydrate pending permissions', {
125
+ error: String(err),
126
+ });
127
+ });
128
+ client.question
129
+ .list()
130
+ .then((res) => {
131
+ if (Array.isArray(res.data))
132
+ res.data.forEach(addQuestion);
133
+ })
134
+ .catch((err) => {
135
+ logger.error('Failed to hydrate pending questions', {
136
+ error: String(err),
137
+ });
138
+ });
139
+ client.session
140
+ .status()
141
+ .then((res) => {
142
+ if (res.data) {
143
+ const statuses = res.data;
144
+ for (const [sessionID, status] of Object.entries(statuses)) {
145
+ // Locally-synthesized event (this is a REST poll, not an SSE
146
+ // frame) — omits the `id` field every real `Event` union member
147
+ // carries, hence the assertion.
148
+ applySyncEvent({
149
+ type: 'session.status',
150
+ properties: { sessionID, status },
151
+ });
152
+ }
153
+ reconcileMissingBusySessions.current(statuses);
154
+ }
155
+ else {
156
+ reconcileMissingBusySessions.current({});
157
+ }
158
+ })
159
+ .catch((err) => {
160
+ logger.error('Failed to hydrate session statuses', {
161
+ error: String(err),
162
+ });
163
+ });
164
+ // Fetch current LSP diagnostics so errors/warnings show immediately
165
+ // on page load (or reconnect) without waiting for agent tool output.
166
+ fetchLspDiagnosticsDebounced.current();
167
+ if (options?.refetchSessions) {
168
+ queryClient.refetchQueries({
169
+ queryKey: opencodeKeys.sessions(),
170
+ type: 'active',
171
+ });
172
+ }
173
+ if (options?.rehydrateMessages) {
174
+ const syncState = useSyncStore.getState();
175
+ const loadedSessionIds = Object.keys(syncState.messages);
176
+ for (const sid of loadedSessionIds) {
177
+ const status = syncState.sessionStatus[sid];
178
+ if (status?.type !== 'busy' && status?.type !== 'retry')
179
+ continue;
180
+ if (!reserveMessageRehydrate(sid))
181
+ continue;
182
+ client.session
183
+ .messages({ sessionID: sid })
184
+ .then((res) => {
185
+ if (res.data) {
186
+ useSyncStore.getState().hydrate(sid, res.data);
187
+ const s = useSyncStore.getState();
188
+ const msgs = s.messages[sid] ?? [];
189
+ if (msgs.length > 0)
190
+ saveSessionToIDB(sid, msgs, s.parts);
191
+ }
192
+ })
193
+ .catch(() => { })
194
+ .finally(() => releaseMessageRehydrate(sid));
195
+ }
196
+ }
197
+ };
198
+ // Hydrate on initial connect — permissions, questions, and statuses
199
+ hydrateCore();
200
+ // Set up SSE via the framework-free event-stream machine. The
201
+ // connect/reconnect/backoff loop, heartbeat watchdog, and event
202
+ // coalescing all live in `openEventStream` — this wrapper only supplies
203
+ // the QueryClient-dependent event handler and the gap-rehydrate hook.
204
+ const handle = openEventStream({
205
+ client,
206
+ onEvent: handleEvent,
207
+ onGapRehydrate: () => hydrateCore({ rehydrateMessages: true }),
208
+ });
209
+ return () => {
210
+ handle.close();
211
+ };
212
+ // NOTE: urlVersion is intentionally excluded from deps. We only reconnect
213
+ // when the resolved activeServerUrl actually changes, which avoids
214
+ // reconnecting on metadata-only updates while still recovering from
215
+ // stale SSE connections after sandbox/proxy URL changes.
216
+ }, [
217
+ queryClient,
218
+ addPermission,
219
+ removePermission,
220
+ addQuestion,
221
+ removeQuestion,
222
+ clearPending,
223
+ runtimeVersion,
224
+ activeServerUrl,
225
+ sandboxStatus,
226
+ runtimeHealthy,
227
+ applySyncEvent,
228
+ stopCompaction,
229
+ ]);
230
+ }
231
+ /**
232
+ * Headless provider component that connects the SSE event stream.
233
+ * Renders nothing — just call useOpenCodeEventStream().
234
+ *
235
+ * Mount this once on any page that needs live session updates
236
+ * (dashboard layout, onboarding page, etc.).
237
+ */
238
+ export function OpenCodeEventStreamProvider() {
239
+ useOpenCodeEventStream();
240
+ return null;
241
+ }
242
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/use-opencode-events/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export type { OpenCodeEvent } from '../../state/event-stream.js';
2
+ /**
3
+ * A file-path-keyed diagnostics normalizer: remaps absolute sandbox paths to
4
+ * project-relative ones without touching the diagnostic entries themselves.
5
+ * Generic because callers pass different diagnostic element shapes (parsed
6
+ * `LspDiagnostic[]`, raw `/lsp/diagnostics` payloads, legacy metadata blobs) —
7
+ * the normalizer never reads their fields, only the outer file-path keys.
8
+ */
9
+ export type NormalizeDiagnosticPaths = <T>(diagsByFile: Record<string, T[]>) => Record<string, T[]>;
10
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/react/use-opencode-events/types.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/react/use-opencode-events/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import { type QueryClient } from '@tanstack/react-query';
2
+ import type { Event as OpenCodeSdkEvent } from '@opencode-ai/sdk/v2/client';
3
+ import { type SessionStatus } from '../use-opencode-sessions/index.js';
4
+ import type { NormalizeDiagnosticPaths } from './types.js';
5
+ /**
6
+ * Creates the stable per-stream refs used by the event hook. Each ref captures
7
+ * the first-render values of `queryClient`, `stopCompaction`, and
8
+ * `applySyncEvent` (all stable), matching the original inline `useRef` setup.
9
+ */
10
+ export declare function useEventStreamRefs(deps: {
11
+ queryClient: QueryClient;
12
+ stopCompaction: (sessionID: string) => void;
13
+ applySyncEvent: (event: OpenCodeSdkEvent) => void;
14
+ }): {
15
+ normalizeLspPath: import("react").RefObject<(absPath: string) => string>;
16
+ normalizeDiagnosticPaths: import("react").RefObject<NormalizeDiagnosticPaths>;
17
+ fetchLspDiagnosticsDebounced: import("react").RefObject<() => void>;
18
+ markSessionAbortedLocally: import("react").RefObject<(sessionID: string, message?: string) => void>;
19
+ markSessionIdleLocally: import("react").RefObject<(sessionID: string) => void>;
20
+ reconcileMissingBusySessions: import("react").RefObject<(nextStatuses: Record<string, SessionStatus>) => void>;
21
+ };
22
+ //# sourceMappingURL=use-event-stream-refs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-event-stream-refs.d.ts","sourceRoot":"","sources":["../../../src/react/use-opencode-events/use-event-stream-refs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAO5E,OAAO,EAA+B,KAAK,aAAa,EAAgB,MAAM,0BAA0B,CAAC;AACzG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAExD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACnD;0DAY2C,MAAM,KAAG,MAAM;;;qEA+E3C,MAAM;kEAsB8B,MAAM;2EAYG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;EAwBzF"}