@beeuni/sdk 0.1.0

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 (938) hide show
  1. package/README.md +1234 -0
  2. package/dist/beeuni.esm.min.js +96 -0
  3. package/dist/beeuni.global.js +96 -0
  4. package/dist/browser/cache/idb-sync-cache.d.ts +12 -0
  5. package/dist/browser/cache/idb-sync-cache.js +88 -0
  6. package/dist/browser/session-sync/mirror-paging.d.ts +7 -0
  7. package/dist/browser/session-sync/mirror-paging.js +10 -0
  8. package/dist/browser/session-sync/server-transcript-mirror.d.ts +33 -0
  9. package/dist/browser/session-sync/server-transcript-mirror.js +112 -0
  10. package/dist/browser/session-sync/session-cache-ownership.d.ts +8 -0
  11. package/dist/browser/session-sync/session-cache-ownership.js +36 -0
  12. package/dist/browser/session-sync/session-sync-registry.d.ts +44 -0
  13. package/dist/browser/session-sync/session-sync-registry.js +253 -0
  14. package/dist/browser/session-sync/visibility.d.ts +6 -0
  15. package/dist/browser/session-sync/visibility.js +21 -0
  16. package/dist/browser/stores/diagnostics-store.d.ts +61 -0
  17. package/dist/browser/stores/diagnostics-store.js +216 -0
  18. package/dist/browser/stores/opencode-compaction-store.d.ts +7 -0
  19. package/dist/browser/stores/opencode-compaction-store.js +21 -0
  20. package/dist/browser/stores/opencode-pending-store.d.ts +19 -0
  21. package/dist/browser/stores/opencode-pending-store.js +65 -0
  22. package/dist/browser/stores/sandbox-connection-store.d.ts +35 -0
  23. package/dist/browser/stores/sandbox-connection-store.js +230 -0
  24. package/dist/browser/stores/server-store.d.ts +4 -0
  25. package/dist/browser/stores/server-store.js +7 -0
  26. package/dist/browser/stores/session-working-store.d.ts +21 -0
  27. package/dist/browser/stores/session-working-store.js +106 -0
  28. package/dist/browser/stores/sync-store/ascending-id.d.ts +1 -0
  29. package/dist/browser/stores/sync-store/ascending-id.js +17 -0
  30. package/dist/browser/stores/sync-store/binary.d.ts +6 -0
  31. package/dist/browser/stores/sync-store/binary.js +17 -0
  32. package/dist/browser/stores/sync-store/delta-event-window.d.ts +1 -0
  33. package/dist/browser/stores/sync-store/delta-event-window.js +1 -0
  34. package/dist/browser/stores/sync-store/reconcile-parts.d.ts +12 -0
  35. package/dist/browser/stores/sync-store/reconcile-parts.js +53 -0
  36. package/dist/browser/stores/sync-store/types.d.ts +20 -0
  37. package/dist/browser/stores/sync-store/types.js +1 -0
  38. package/dist/browser/stores/sync-store.d.ts +65 -0
  39. package/dist/browser/stores/sync-store.js +1336 -0
  40. package/dist/core/agents/composer-agents.d.ts +19 -0
  41. package/dist/core/agents/composer-agents.js +57 -0
  42. package/dist/core/attachments/limits.d.ts +3 -0
  43. package/dist/core/attachments/limits.js +3 -0
  44. package/dist/core/attachments/prompt-attachments.d.ts +37 -0
  45. package/dist/core/attachments/prompt-attachments.js +377 -0
  46. package/dist/core/auth/app-viewer.d.ts +43 -0
  47. package/dist/core/auth/app-viewer.js +104 -0
  48. package/dist/core/auth/beeuni-member.d.ts +31 -0
  49. package/dist/core/auth/beeuni-member.js +168 -0
  50. package/dist/core/auth/session.d.ts +24 -0
  51. package/dist/core/auth/session.js +145 -0
  52. package/dist/core/cache/persisted-query-cache.d.ts +55 -0
  53. package/dist/core/cache/persisted-query-cache.js +220 -0
  54. package/dist/core/client/beeuni.d.ts +1216 -0
  55. package/dist/core/client/beeuni.js +96 -0
  56. package/dist/core/client/binding-types.d.ts +1 -0
  57. package/dist/core/client/binding-types.js +1 -0
  58. package/dist/core/client/facade-accounts.d.ts +51 -0
  59. package/dist/core/client/facade-accounts.js +53 -0
  60. package/dist/core/client/facade-catalog.d.ts +54 -0
  61. package/dist/core/client/facade-catalog.js +53 -0
  62. package/dist/core/client/facade-commerce.d.ts +39 -0
  63. package/dist/core/client/facade-commerce.js +40 -0
  64. package/dist/core/client/facade-iam.d.ts +43 -0
  65. package/dist/core/client/facade-iam.js +45 -0
  66. package/dist/core/client/facade-identity.d.ts +103 -0
  67. package/dist/core/client/facade-identity.js +33 -0
  68. package/dist/core/client/facade-preview.d.ts +3 -0
  69. package/dist/core/client/facade-preview.js +30 -0
  70. package/dist/core/client/project-access-resources.d.ts +65 -0
  71. package/dist/core/client/project-access-resources.js +54 -0
  72. package/dist/core/client/project-access-security.d.ts +109 -0
  73. package/dist/core/client/project-access-security.js +33 -0
  74. package/dist/core/client/project-connections.d.ts +32 -0
  75. package/dist/core/client/project-connections.js +18 -0
  76. package/dist/core/client/project-connectors.d.ts +15 -0
  77. package/dist/core/client/project-connectors.js +34 -0
  78. package/dist/core/client/project-core.d.ts +74 -0
  79. package/dist/core/client/project-core.js +25 -0
  80. package/dist/core/client/project-membership.d.ts +62 -0
  81. package/dist/core/client/project-membership.js +24 -0
  82. package/dist/core/client/project-operations-admin.d.ts +125 -0
  83. package/dist/core/client/project-operations-admin.js +26 -0
  84. package/dist/core/client/project-operations-review.d.ts +35 -0
  85. package/dist/core/client/project-operations-review.js +24 -0
  86. package/dist/core/client/project-operations-workspace.d.ts +94 -0
  87. package/dist/core/client/project-operations-workspace.js +36 -0
  88. package/dist/core/client/project-operations.d.ts +237 -0
  89. package/dist/core/client/project-operations.js +41 -0
  90. package/dist/core/client/project-platform-resources.d.ts +34 -0
  91. package/dist/core/client/project-platform-resources.js +27 -0
  92. package/dist/core/client/project-platform-security.d.ts +76 -0
  93. package/dist/core/client/project-platform-security.js +31 -0
  94. package/dist/core/client/project-platform-settings.d.ts +53 -0
  95. package/dist/core/client/project-platform-settings.js +23 -0
  96. package/dist/core/client/session-actions-resources.d.ts +7 -0
  97. package/dist/core/client/session-actions-resources.js +13 -0
  98. package/dist/core/client/session-actions-security.d.ts +22 -0
  99. package/dist/core/client/session-actions-security.js +38 -0
  100. package/dist/core/client/session-actions-services.d.ts +39 -0
  101. package/dist/core/client/session-actions-services.js +34 -0
  102. package/dist/core/client/session-context.d.ts +21 -0
  103. package/dist/core/client/session-context.js +1 -0
  104. package/dist/core/client/session-defaults.d.ts +8 -0
  105. package/dist/core/client/session-defaults.js +35 -0
  106. package/dist/core/client/session-files.d.ts +20 -0
  107. package/dist/core/client/session-files.js +18 -0
  108. package/dist/core/client/session-handle.d.ts +207 -0
  109. package/dist/core/client/session-handle.js +53 -0
  110. package/dist/core/client/session-lifecycle-resources.d.ts +76 -0
  111. package/dist/core/client/session-lifecycle-resources.js +44 -0
  112. package/dist/core/client/session-lifecycle-security.d.ts +42 -0
  113. package/dist/core/client/session-lifecycle-security.js +31 -0
  114. package/dist/core/client/session-preview.d.ts +7 -0
  115. package/dist/core/client/session-preview.js +11 -0
  116. package/dist/core/client/session-readiness.d.ts +10 -0
  117. package/dist/core/client/session-readiness.js +54 -0
  118. package/dist/core/client/session-runtime.d.ts +21 -0
  119. package/dist/core/client/session-runtime.js +15 -0
  120. package/dist/core/client/session-shared.d.ts +20 -0
  121. package/dist/core/client/session-shared.js +22 -0
  122. package/dist/core/client/session-start.d.ts +2 -0
  123. package/dist/core/client/session-start.js +39 -0
  124. package/dist/core/files/client.d.ts +68 -0
  125. package/dist/core/files/client.js +491 -0
  126. package/dist/core/files/types.d.ts +75 -0
  127. package/dist/core/files/types.js +1 -0
  128. package/dist/core/http/abort-error.d.ts +5 -0
  129. package/dist/core/http/abort-error.js +74 -0
  130. package/dist/core/http/abort.d.ts +3 -0
  131. package/dist/core/http/abort.js +34 -0
  132. package/dist/core/http/api/errors.d.ts +68 -0
  133. package/dist/core/http/api/errors.js +132 -0
  134. package/dist/core/http/api-client.d.ts +44 -0
  135. package/dist/core/http/api-client.js +121 -0
  136. package/dist/core/http/auth.d.ts +12 -0
  137. package/dist/core/http/auth.js +37 -0
  138. package/dist/core/http/authenticated-request.d.ts +5 -0
  139. package/dist/core/http/authenticated-request.js +11 -0
  140. package/dist/core/http/config.d.ts +35 -0
  141. package/dist/core/http/config.js +23 -0
  142. package/dist/core/http/env.d.ts +1 -0
  143. package/dist/core/http/env.js +8 -0
  144. package/dist/core/http/feature-flags.d.ts +8 -0
  145. package/dist/core/http/feature-flags.js +41 -0
  146. package/dist/core/http/fresh-sessions.d.ts +3 -0
  147. package/dist/core/http/fresh-sessions.js +17 -0
  148. package/dist/core/http/impersonation.d.ts +14 -0
  149. package/dist/core/http/impersonation.js +110 -0
  150. package/dist/core/http/instance-routes.d.ts +16 -0
  151. package/dist/core/http/instance-routes.js +99 -0
  152. package/dist/core/http/logger.d.ts +10 -0
  153. package/dist/core/http/logger.js +29 -0
  154. package/dist/core/http/request.d.ts +2 -0
  155. package/dist/core/http/request.js +194 -0
  156. package/dist/core/http/response-error.d.ts +2 -0
  157. package/dist/core/http/response-error.js +92 -0
  158. package/dist/core/http/runtime-errors.d.ts +32 -0
  159. package/dist/core/http/runtime-errors.js +116 -0
  160. package/dist/core/http/session-stopped.d.ts +2 -0
  161. package/dist/core/http/session-stopped.js +16 -0
  162. package/dist/core/http/transport.d.ts +20 -0
  163. package/dist/core/http/transport.js +133 -0
  164. package/dist/core/models/bedrock-invokable.d.ts +3 -0
  165. package/dist/core/models/bedrock-invokable.js +22 -0
  166. package/dist/core/models/composer-model.d.ts +20 -0
  167. package/dist/core/models/composer-model.js +57 -0
  168. package/dist/core/models/model-flatten.d.ts +43 -0
  169. package/dist/core/models/model-flatten.js +73 -0
  170. package/dist/core/models/model-key.d.ts +8 -0
  171. package/dist/core/models/model-key.js +18 -0
  172. package/dist/core/models/model-lookup.d.ts +2 -0
  173. package/dist/core/models/model-lookup.js +3 -0
  174. package/dist/core/models/model-visibility.d.ts +28 -0
  175. package/dist/core/models/model-visibility.js +110 -0
  176. package/dist/core/models/provider-selection.d.ts +72 -0
  177. package/dist/core/models/provider-selection.js +307 -0
  178. package/dist/core/rest/platform-client/auth.d.ts +139 -0
  179. package/dist/core/rest/platform-client/auth.js +92 -0
  180. package/dist/core/rest/platform-client/backups.d.ts +18 -0
  181. package/dist/core/rest/platform-client/backups.js +12 -0
  182. package/dist/core/rest/platform-client/connector-setup.d.ts +35 -0
  183. package/dist/core/rest/platform-client/connector-setup.js +105 -0
  184. package/dist/core/rest/platform-client/github-app.d.ts +45 -0
  185. package/dist/core/rest/platform-client/github-app.js +54 -0
  186. package/dist/core/rest/platform-client/host-boundary.d.ts +140 -0
  187. package/dist/core/rest/platform-client/host-boundary.js +188 -0
  188. package/dist/core/rest/platform-client/index.d.ts +12 -0
  189. package/dist/core/rest/platform-client/index.js +12 -0
  190. package/dist/core/rest/platform-client/instance-admin.d.ts +53 -0
  191. package/dist/core/rest/platform-client/instance-admin.js +20 -0
  192. package/dist/core/rest/platform-client/invites.d.ts +31 -0
  193. package/dist/core/rest/platform-client/invites.js +11 -0
  194. package/dist/core/rest/platform-client/lifecycle.d.ts +27 -0
  195. package/dist/core/rest/platform-client/lifecycle.js +80 -0
  196. package/dist/core/rest/platform-client/members.d.ts +14 -0
  197. package/dist/core/rest/platform-client/members.js +28 -0
  198. package/dist/core/rest/platform-client/shared.d.ts +18 -0
  199. package/dist/core/rest/platform-client/shared.js +99 -0
  200. package/dist/core/rest/platform-client/ssh.d.ts +21 -0
  201. package/dist/core/rest/platform-client/ssh.js +6 -0
  202. package/dist/core/rest/platform-client/types.d.ts +47 -0
  203. package/dist/core/rest/platform-client/types.js +10 -0
  204. package/dist/core/rest/platform-client/updates.d.ts +77 -0
  205. package/dist/core/rest/platform-client/updates.js +54 -0
  206. package/dist/core/rest/platform-client/urls.d.ts +3 -0
  207. package/dist/core/rest/platform-client/urls.js +16 -0
  208. package/dist/core/rest/projects-client/access.d.ts +226 -0
  209. package/dist/core/rest/projects-client/access.js +82 -0
  210. package/dist/core/rest/projects-client/account-lifecycle.d.ts +21 -0
  211. package/dist/core/rest/projects-client/account-lifecycle.js +25 -0
  212. package/dist/core/rest/projects-client/account-secret-resources.d.ts +60 -0
  213. package/dist/core/rest/projects-client/account-secret-resources.js +40 -0
  214. package/dist/core/rest/projects-client/accounts.d.ts +240 -0
  215. package/dist/core/rest/projects-client/accounts.js +82 -0
  216. package/dist/core/rest/projects-client/admin-providers.d.ts +131 -0
  217. package/dist/core/rest/projects-client/admin-providers.js +39 -0
  218. package/dist/core/rest/projects-client/agent-config.d.ts +72 -0
  219. package/dist/core/rest/projects-client/agent-config.js +39 -0
  220. package/dist/core/rest/projects-client/agent-connectors.d.ts +6 -0
  221. package/dist/core/rest/projects-client/agent-connectors.js +32 -0
  222. package/dist/core/rest/projects-client/agent-scope.d.ts +13 -0
  223. package/dist/core/rest/projects-client/agent-scope.js +7 -0
  224. package/dist/core/rest/projects-client/apps-fleet.d.ts +82 -0
  225. package/dist/core/rest/projects-client/apps-fleet.js +45 -0
  226. package/dist/core/rest/projects-client/apps.d.ts +356 -0
  227. package/dist/core/rest/projects-client/apps.js +126 -0
  228. package/dist/core/rest/projects-client/assignments.d.ts +73 -0
  229. package/dist/core/rest/projects-client/assignments.js +45 -0
  230. package/dist/core/rest/projects-client/audit-filter.d.ts +4 -0
  231. package/dist/core/rest/projects-client/audit-filter.js +9 -0
  232. package/dist/core/rest/projects-client/audit.d.ts +125 -0
  233. package/dist/core/rest/projects-client/audit.js +49 -0
  234. package/dist/core/rest/projects-client/billing.d.ts +390 -0
  235. package/dist/core/rest/projects-client/billing.js +257 -0
  236. package/dist/core/rest/projects-client/change-requests.d.ts +116 -0
  237. package/dist/core/rest/projects-client/change-requests.js +50 -0
  238. package/dist/core/rest/projects-client/channels.d.ts +131 -0
  239. package/dist/core/rest/projects-client/channels.js +112 -0
  240. package/dist/core/rest/projects-client/connector-run.d.ts +62 -0
  241. package/dist/core/rest/projects-client/connector-run.js +155 -0
  242. package/dist/core/rest/projects-client/connectors.d.ts +721 -0
  243. package/dist/core/rest/projects-client/connectors.js +421 -0
  244. package/dist/core/rest/projects-client/drives.d.ts +149 -0
  245. package/dist/core/rest/projects-client/drives.js +88 -0
  246. package/dist/core/rest/projects-client/files.d.ts +45 -0
  247. package/dist/core/rest/projects-client/files.js +69 -0
  248. package/dist/core/rest/projects-client/gateway.d.ts +257 -0
  249. package/dist/core/rest/projects-client/gateway.js +72 -0
  250. package/dist/core/rest/projects-client/git-backend.d.ts +15 -0
  251. package/dist/core/rest/projects-client/git-backend.js +15 -0
  252. package/dist/core/rest/projects-client/git-history.d.ts +78 -0
  253. package/dist/core/rest/projects-client/git-history.js +47 -0
  254. package/dist/core/rest/projects-client/github.d.ts +128 -0
  255. package/dist/core/rest/projects-client/github.js +54 -0
  256. package/dist/core/rest/projects-client/iam-audit.d.ts +81 -0
  257. package/dist/core/rest/projects-client/iam-audit.js +21 -0
  258. package/dist/core/rest/projects-client/iam-enterprise.d.ts +2 -0
  259. package/dist/core/rest/projects-client/iam-enterprise.js +11 -0
  260. package/dist/core/rest/projects-client/iam-grants.d.ts +21 -0
  261. package/dist/core/rest/projects-client/iam-grants.js +6 -0
  262. package/dist/core/rest/projects-client/iam-groups.d.ts +65 -0
  263. package/dist/core/rest/projects-client/iam-groups.js +42 -0
  264. package/dist/core/rest/projects-client/iam-policies.d.ts +53 -0
  265. package/dist/core/rest/projects-client/iam-policies.js +26 -0
  266. package/dist/core/rest/projects-client/iam-probe.d.ts +27 -0
  267. package/dist/core/rest/projects-client/iam-probe.js +16 -0
  268. package/dist/core/rest/projects-client/iam-query.d.ts +1 -0
  269. package/dist/core/rest/projects-client/iam-query.js +9 -0
  270. package/dist/core/rest/projects-client/iam-roles.d.ts +47 -0
  271. package/dist/core/rest/projects-client/iam-roles.js +43 -0
  272. package/dist/core/rest/projects-client/iam-scim.d.ts +22 -0
  273. package/dist/core/rest/projects-client/iam-scim.js +14 -0
  274. package/dist/core/rest/projects-client/iam-security.d.ts +28 -0
  275. package/dist/core/rest/projects-client/iam-security.js +17 -0
  276. package/dist/core/rest/projects-client/iam-service-accounts.d.ts +26 -0
  277. package/dist/core/rest/projects-client/iam-service-accounts.js +14 -0
  278. package/dist/core/rest/projects-client/iam-sessions.d.ts +27 -0
  279. package/dist/core/rest/projects-client/iam-sessions.js +25 -0
  280. package/dist/core/rest/projects-client/iam-shared.d.ts +6 -0
  281. package/dist/core/rest/projects-client/iam-shared.js +8 -0
  282. package/dist/core/rest/projects-client/iam-sso.d.ts +60 -0
  283. package/dist/core/rest/projects-client/iam-sso.js +28 -0
  284. package/dist/core/rest/projects-client/iam-types.d.ts +52 -0
  285. package/dist/core/rest/projects-client/iam-types.js +1 -0
  286. package/dist/core/rest/projects-client/iam.d.ts +13 -0
  287. package/dist/core/rest/projects-client/iam.js +13 -0
  288. package/dist/core/rest/projects-client/index.d.ts +55 -0
  289. package/dist/core/rest/projects-client/index.js +54 -0
  290. package/dist/core/rest/projects-client/marketplace-catalog.d.ts +74 -0
  291. package/dist/core/rest/projects-client/marketplace-catalog.js +41 -0
  292. package/dist/core/rest/projects-client/model-access.d.ts +13 -0
  293. package/dist/core/rest/projects-client/model-access.js +8 -0
  294. package/dist/core/rest/projects-client/model-defaults.d.ts +28 -0
  295. package/dist/core/rest/projects-client/model-defaults.js +15 -0
  296. package/dist/core/rest/projects-client/model-enablement.d.ts +4 -0
  297. package/dist/core/rest/projects-client/model-enablement.js +5 -0
  298. package/dist/core/rest/projects-client/notifications.d.ts +95 -0
  299. package/dist/core/rest/projects-client/notifications.js +61 -0
  300. package/dist/core/rest/projects-client/oauth-clients.d.ts +41 -0
  301. package/dist/core/rest/projects-client/oauth-clients.js +24 -0
  302. package/dist/core/rest/projects-client/policies.d.ts +26 -0
  303. package/dist/core/rest/projects-client/policies.js +8 -0
  304. package/dist/core/rest/projects-client/presentations.d.ts +11 -0
  305. package/dist/core/rest/projects-client/presentations.js +8 -0
  306. package/dist/core/rest/projects-client/project-agents.d.ts +10 -0
  307. package/dist/core/rest/projects-client/project-agents.js +22 -0
  308. package/dist/core/rest/projects-client/projects.d.ts +376 -0
  309. package/dist/core/rest/projects-client/projects.js +237 -0
  310. package/dist/core/rest/projects-client/prompt-attachments.d.ts +31 -0
  311. package/dist/core/rest/projects-client/prompt-attachments.js +294 -0
  312. package/dist/core/rest/projects-client/provider-connections.d.ts +54 -0
  313. package/dist/core/rest/projects-client/provider-connections.js +28 -0
  314. package/dist/core/rest/projects-client/public-session-shares.d.ts +49 -0
  315. package/dist/core/rest/projects-client/public-session-shares.js +35 -0
  316. package/dist/core/rest/projects-client/referrals.d.ts +52 -0
  317. package/dist/core/rest/projects-client/referrals.js +19 -0
  318. package/dist/core/rest/projects-client/review-items.d.ts +139 -0
  319. package/dist/core/rest/projects-client/review-items.js +217 -0
  320. package/dist/core/rest/projects-client/review.d.ts +56 -0
  321. package/dist/core/rest/projects-client/review.js +23 -0
  322. package/dist/core/rest/projects-client/sandbox-shares.d.ts +21 -0
  323. package/dist/core/rest/projects-client/sandbox-shares.js +19 -0
  324. package/dist/core/rest/projects-client/sandbox.d.ts +144 -0
  325. package/dist/core/rest/projects-client/sandbox.js +35 -0
  326. package/dist/core/rest/projects-client/secrets.d.ts +187 -0
  327. package/dist/core/rest/projects-client/secrets.js +79 -0
  328. package/dist/core/rest/projects-client/session-attachments.d.ts +22 -0
  329. package/dist/core/rest/projects-client/session-attachments.js +166 -0
  330. package/dist/core/rest/projects-client/session-costs.d.ts +193 -0
  331. package/dist/core/rest/projects-client/session-costs.js +87 -0
  332. package/dist/core/rest/projects-client/session-prompt-actions.d.ts +10 -0
  333. package/dist/core/rest/projects-client/session-prompt-actions.js +4 -0
  334. package/dist/core/rest/projects-client/session-reminders.d.ts +58 -0
  335. package/dist/core/rest/projects-client/session-reminders.js +50 -0
  336. package/dist/core/rest/projects-client/session-sandbox.d.ts +85 -0
  337. package/dist/core/rest/projects-client/session-sandbox.js +113 -0
  338. package/dist/core/rest/projects-client/sessions.d.ts +670 -0
  339. package/dist/core/rest/projects-client/sessions.js +321 -0
  340. package/dist/core/rest/projects-client/setup-links.d.ts +54 -0
  341. package/dist/core/rest/projects-client/setup-links.js +22 -0
  342. package/dist/core/rest/projects-client/shared.d.ts +51 -0
  343. package/dist/core/rest/projects-client/shared.js +29 -0
  344. package/dist/core/rest/projects-client/skills.d.ts +11 -0
  345. package/dist/core/rest/projects-client/skills.js +8 -0
  346. package/dist/core/rest/projects-client/starter-suggestions.d.ts +17 -0
  347. package/dist/core/rest/projects-client/starter-suggestions.js +5 -0
  348. package/dist/core/rest/projects-client/templates.d.ts +47 -0
  349. package/dist/core/rest/projects-client/templates.js +7 -0
  350. package/dist/core/rest/projects-client/tokens.d.ts +94 -0
  351. package/dist/core/rest/projects-client/tokens.js +46 -0
  352. package/dist/core/rest/projects-client/triggers.d.ts +175 -0
  353. package/dist/core/rest/projects-client/triggers.js +29 -0
  354. package/dist/core/runtime/attachment-part.d.ts +3 -0
  355. package/dist/core/runtime/attachment-part.js +18 -0
  356. package/dist/core/runtime/beeuni-master.d.ts +477 -0
  357. package/dist/core/runtime/beeuni-master.js +264 -0
  358. package/dist/core/runtime/client.d.ts +30 -0
  359. package/dist/core/runtime/client.js +124 -0
  360. package/dist/core/runtime/env.d.ts +8 -0
  361. package/dist/core/runtime/env.js +42 -0
  362. package/dist/core/runtime/pty.d.ts +43 -0
  363. package/dist/core/runtime/pty.js +117 -0
  364. package/dist/core/runtime/runtime-rest-client.d.ts +414 -0
  365. package/dist/core/runtime/runtime-rest-client.js +296 -0
  366. package/dist/core/runtime/runtime-types.d.ts +1094 -0
  367. package/dist/core/runtime/runtime-types.js +1 -0
  368. package/dist/core/runtime/transcript-types.d.ts +507 -0
  369. package/dist/core/runtime/transcript-types.js +31 -0
  370. package/dist/core/runtime/triggers.d.ts +1 -0
  371. package/dist/core/runtime/triggers.js +18 -0
  372. package/dist/core/session/compaction.d.ts +10 -0
  373. package/dist/core/session/compaction.js +22 -0
  374. package/dist/core/session/connection.d.ts +20 -0
  375. package/dist/core/session/connection.js +52 -0
  376. package/dist/core/session/control-stream.d.ts +62 -0
  377. package/dist/core/session/control-stream.js +329 -0
  378. package/dist/core/session/current-runtime.d.ts +14 -0
  379. package/dist/core/session/current-runtime.js +34 -0
  380. package/dist/core/session/health.d.ts +41 -0
  381. package/dist/core/session/health.js +53 -0
  382. package/dist/core/session/host-signals.d.ts +3 -0
  383. package/dist/core/session/host-signals.js +16 -0
  384. package/dist/core/session/index.d.ts +15 -0
  385. package/dist/core/session/index.js +14 -0
  386. package/dist/core/session/message-queue.d.ts +43 -0
  387. package/dist/core/session/message-queue.js +101 -0
  388. package/dist/core/session/open-bundle.d.ts +24 -0
  389. package/dist/core/session/open-bundle.js +135 -0
  390. package/dist/core/session/poll-owner.d.ts +5 -0
  391. package/dist/core/session/poll-owner.js +58 -0
  392. package/dist/core/session/presentation.d.ts +11 -0
  393. package/dist/core/session/presentation.js +70 -0
  394. package/dist/core/session/preview-auth.d.ts +6 -0
  395. package/dist/core/session/preview-auth.js +36 -0
  396. package/dist/core/session/preview-config.d.ts +5 -0
  397. package/dist/core/session/preview-config.js +54 -0
  398. package/dist/core/session/preview-options.d.ts +9 -0
  399. package/dist/core/session/preview-options.js +12 -0
  400. package/dist/core/session/preview-origin-trust.d.ts +7 -0
  401. package/dist/core/session/preview-origin-trust.js +64 -0
  402. package/dist/core/session/preview-probe.d.ts +7 -0
  403. package/dist/core/session/preview-probe.js +36 -0
  404. package/dist/core/session/preview.d.ts +3 -0
  405. package/dist/core/session/preview.js +66 -0
  406. package/dist/core/session/project-session-read.d.ts +5 -0
  407. package/dist/core/session/project-session-read.js +12 -0
  408. package/dist/core/session/rewind.d.ts +29 -0
  409. package/dist/core/session/rewind.js +53 -0
  410. package/dist/core/session/runtime-gone.d.ts +5 -0
  411. package/dist/core/session/runtime-gone.js +14 -0
  412. package/dist/core/session/runtime-sessions.d.ts +7 -0
  413. package/dist/core/session/runtime-sessions.js +26 -0
  414. package/dist/core/session/runtime-verbs.d.ts +34 -0
  415. package/dist/core/session/runtime-verbs.js +94 -0
  416. package/dist/core/session/server-store/active.d.ts +7 -0
  417. package/dist/core/session/server-store/active.js +35 -0
  418. package/dist/core/session/server-store/types.d.ts +4 -0
  419. package/dist/core/session/server-store/types.js +1 -0
  420. package/dist/core/session/server-store/url-helpers.d.ts +5 -0
  421. package/dist/core/session/server-store/url-helpers.js +25 -0
  422. package/dist/core/session/session-runtime-registry.d.ts +9 -0
  423. package/dist/core/session/session-runtime-registry.js +28 -0
  424. package/dist/core/session/single-flight.d.ts +3 -0
  425. package/dist/core/session/single-flight.js +22 -0
  426. package/dist/core/session/static-file-preview.d.ts +10 -0
  427. package/dist/core/session/static-file-preview.js +34 -0
  428. package/dist/core/session/status-vocabulary.d.ts +23 -0
  429. package/dist/core/session/status-vocabulary.js +59 -0
  430. package/dist/core/session/turn-end-cause.d.ts +22 -0
  431. package/dist/core/session/turn-end-cause.js +41 -0
  432. package/dist/core/session/turn-end-settle.d.ts +1 -0
  433. package/dist/core/session/turn-end-settle.js +1 -0
  434. package/dist/core/session/url.d.ts +49 -0
  435. package/dist/core/session/url.js +415 -0
  436. package/dist/core/session/wake-escalation.d.ts +37 -0
  437. package/dist/core/session/wake-escalation.js +104 -0
  438. package/dist/core/session/wire-id-unwrap.d.ts +2 -0
  439. package/dist/core/session/wire-id-unwrap.js +15 -0
  440. package/dist/core/session/wire-message-id.d.ts +27 -0
  441. package/dist/core/session/wire-message-id.js +88 -0
  442. package/dist/core/session/working-evidence.d.ts +13 -0
  443. package/dist/core/session/working-evidence.js +25 -0
  444. package/dist/core/session/working-project.d.ts +2 -0
  445. package/dist/core/session/working-project.js +145 -0
  446. package/dist/core/session/working-runtime.d.ts +3 -0
  447. package/dist/core/session/working-runtime.js +16 -0
  448. package/dist/core/session/working-server.d.ts +20 -0
  449. package/dist/core/session/working-server.js +57 -0
  450. package/dist/core/session/working-time.d.ts +1 -0
  451. package/dist/core/session/working-time.js +6 -0
  452. package/dist/core/session/working.d.ts +58 -0
  453. package/dist/core/session/working.js +48 -0
  454. package/dist/core/session-sync/fragment.d.ts +4 -0
  455. package/dist/core/session-sync/fragment.js +3 -0
  456. package/dist/core/session-sync/saved-copy-store.d.ts +23 -0
  457. package/dist/core/session-sync/saved-copy-store.js +232 -0
  458. package/dist/core/session-sync/saved-transcript.d.ts +20 -0
  459. package/dist/core/session-sync/saved-transcript.js +35 -0
  460. package/dist/core/session-sync/session-sync-controller.d.ts +111 -0
  461. package/dist/core/session-sync/session-sync-controller.js +440 -0
  462. package/dist/core/stream/chat-events.d.ts +96 -0
  463. package/dist/core/stream/chat-events.js +95 -0
  464. package/dist/core/stream/event-stream.d.ts +52 -0
  465. package/dist/core/stream/event-stream.js +372 -0
  466. package/dist/core/stream/fetch-sse.d.ts +20 -0
  467. package/dist/core/stream/fetch-sse.js +136 -0
  468. package/dist/core/stream/keepalive.d.ts +4 -0
  469. package/dist/core/stream/keepalive.js +6 -0
  470. package/dist/core/stream/platform-event-transport.d.ts +2 -0
  471. package/dist/core/stream/platform-event-transport.js +20 -0
  472. package/dist/core/turns/classify.d.ts +131 -0
  473. package/dist/core/turns/classify.js +306 -0
  474. package/dist/core/turns/errors.d.ts +24 -0
  475. package/dist/core/turns/errors.js +355 -0
  476. package/dist/core/turns/grouping.d.ts +47 -0
  477. package/dist/core/turns/grouping.js +247 -0
  478. package/dist/core/turns/index.d.ts +13 -0
  479. package/dist/core/turns/index.js +12 -0
  480. package/dist/core/turns/open-turn.d.ts +13 -0
  481. package/dist/core/turns/open-turn.js +17 -0
  482. package/dist/core/turns/parts.d.ts +60 -0
  483. package/dist/core/turns/parts.js +414 -0
  484. package/dist/core/turns/segments/burst-summary.d.ts +9 -0
  485. package/dist/core/turns/segments/burst-summary.js +45 -0
  486. package/dist/core/turns/segments/compaction-state.d.ts +19 -0
  487. package/dist/core/turns/segments/compaction-state.js +42 -0
  488. package/dist/core/turns/segments/group-steps.d.ts +11 -0
  489. package/dist/core/turns/segments/group-steps.js +65 -0
  490. package/dist/core/turns/segments/index.d.ts +12 -0
  491. package/dist/core/turns/segments/index.js +12 -0
  492. package/dist/core/turns/segments/merge-steps.d.ts +21 -0
  493. package/dist/core/turns/segments/merge-steps.js +100 -0
  494. package/dist/core/turns/segments/message-time.d.ts +12 -0
  495. package/dist/core/turns/segments/message-time.js +82 -0
  496. package/dist/core/turns/segments/narration.d.ts +9 -0
  497. package/dist/core/turns/segments/narration.js +573 -0
  498. package/dist/core/turns/segments/segment-turn.d.ts +15 -0
  499. package/dist/core/turns/segments/segment-turn.js +32 -0
  500. package/dist/core/turns/segments/session-activity-groups.d.ts +20 -0
  501. package/dist/core/turns/segments/session-activity-groups.js +56 -0
  502. package/dist/core/turns/segments/show-group.d.ts +23 -0
  503. package/dist/core/turns/segments/show-group.js +101 -0
  504. package/dist/core/turns/segments/step-label.d.ts +10 -0
  505. package/dist/core/turns/segments/step-label.js +85 -0
  506. package/dist/core/turns/segments/turn-busy-visibility.d.ts +6 -0
  507. package/dist/core/turns/segments/turn-busy-visibility.js +9 -0
  508. package/dist/core/turns/segments/working-turn.d.ts +70 -0
  509. package/dist/core/turns/segments/working-turn.js +98 -0
  510. package/dist/core/turns/shell.d.ts +5 -0
  511. package/dist/core/turns/shell.js +21 -0
  512. package/dist/core/turns/state.d.ts +24 -0
  513. package/dist/core/turns/state.js +364 -0
  514. package/dist/core/turns/text-scan.d.ts +21 -0
  515. package/dist/core/turns/text-scan.js +347 -0
  516. package/dist/core/turns/tool-kind.d.ts +3 -0
  517. package/dist/core/turns/tool-kind.js +99 -0
  518. package/dist/core/turns/tool-registry.d.ts +8 -0
  519. package/dist/core/turns/tool-registry.js +87 -0
  520. package/dist/core/turns/tools/agent-helpers.d.ts +9 -0
  521. package/dist/core/turns/tools/agent-helpers.js +53 -0
  522. package/dist/core/turns/tools/file-verb.d.ts +10 -0
  523. package/dist/core/turns/tools/file-verb.js +22 -0
  524. package/dist/core/turns/tools/index.d.ts +14 -0
  525. package/dist/core/turns/tools/index.js +14 -0
  526. package/dist/core/turns/tools/memory-helpers.d.ts +15 -0
  527. package/dist/core/turns/tools/memory-helpers.js +50 -0
  528. package/dist/core/turns/tools/patch-summary.d.ts +6 -0
  529. package/dist/core/turns/tools/patch-summary.js +21 -0
  530. package/dist/core/turns/tools/presentation-helpers.d.ts +15 -0
  531. package/dist/core/turns/tools/presentation-helpers.js +17 -0
  532. package/dist/core/turns/tools/question-helpers.d.ts +9 -0
  533. package/dist/core/turns/tools/question-helpers.js +12 -0
  534. package/dist/core/turns/tools/read-helpers.d.ts +7 -0
  535. package/dist/core/turns/tools/read-helpers.js +24 -0
  536. package/dist/core/turns/tools/search-query.d.ts +1 -0
  537. package/dist/core/turns/tools/search-query.js +73 -0
  538. package/dist/core/turns/tools/show-availability.d.ts +11 -0
  539. package/dist/core/turns/tools/show-availability.js +38 -0
  540. package/dist/core/turns/tools/skill-helpers.d.ts +5 -0
  541. package/dist/core/turns/tools/skill-helpers.js +61 -0
  542. package/dist/core/turns/tools/tool-meta.d.ts +30 -0
  543. package/dist/core/turns/tools/tool-meta.js +146 -0
  544. package/dist/core/turns/tools/tool-outcome.d.ts +15 -0
  545. package/dist/core/turns/tools/tool-outcome.js +147 -0
  546. package/dist/core/turns/tools/tool-output-format.d.ts +17 -0
  547. package/dist/core/turns/tools/tool-output-format.js +124 -0
  548. package/dist/core/turns/tools/web-helpers.d.ts +34 -0
  549. package/dist/core/turns/tools/web-helpers.js +229 -0
  550. package/dist/core/turns/types.d.ts +110 -0
  551. package/dist/core/turns/types.js +1 -0
  552. package/dist/core/turns/view-model.d.ts +76 -0
  553. package/dist/core/turns/view-model.js +300 -0
  554. package/dist/deprecated/api-client.d.ts +1 -0
  555. package/dist/deprecated/api-client.js +1 -0
  556. package/dist/deprecated/auth.d.ts +1 -0
  557. package/dist/deprecated/auth.js +1 -0
  558. package/dist/deprecated/config.d.ts +1 -0
  559. package/dist/deprecated/config.js +1 -0
  560. package/dist/deprecated/event-stream.d.ts +1 -0
  561. package/dist/deprecated/event-stream.js +1 -0
  562. package/dist/deprecated/feature-flags.d.ts +1 -0
  563. package/dist/deprecated/feature-flags.js +1 -0
  564. package/dist/deprecated/files.d.ts +1 -0
  565. package/dist/deprecated/files.js +1 -0
  566. package/dist/deprecated/fresh-sessions.d.ts +1 -0
  567. package/dist/deprecated/fresh-sessions.js +1 -0
  568. package/dist/deprecated/idb-sync-cache.d.ts +1 -0
  569. package/dist/deprecated/idb-sync-cache.js +1 -0
  570. package/dist/deprecated/instance-routes.d.ts +1 -0
  571. package/dist/deprecated/instance-routes.js +1 -0
  572. package/dist/deprecated/opencode-client.d.ts +1 -0
  573. package/dist/deprecated/opencode-client.js +1 -0
  574. package/dist/deprecated/opencode-errors.d.ts +1 -0
  575. package/dist/deprecated/opencode-errors.js +1 -0
  576. package/dist/deprecated/opencode-pending-store.d.ts +1 -0
  577. package/dist/deprecated/opencode-pending-store.js +1 -0
  578. package/dist/deprecated/platform-client.d.ts +1 -0
  579. package/dist/deprecated/platform-client.js +1 -0
  580. package/dist/deprecated/projects-client.d.ts +1 -0
  581. package/dist/deprecated/projects-client.js +1 -0
  582. package/dist/deprecated/sandbox-connection-store.d.ts +1 -0
  583. package/dist/deprecated/sandbox-connection-store.js +1 -0
  584. package/dist/deprecated/server-store.d.ts +1 -0
  585. package/dist/deprecated/server-store.js +1 -0
  586. package/dist/deprecated/session-url.d.ts +1 -0
  587. package/dist/deprecated/session-url.js +1 -0
  588. package/dist/deprecated/session.d.ts +1 -0
  589. package/dist/deprecated/session.js +1 -0
  590. package/dist/deprecated/sync-store.d.ts +1 -0
  591. package/dist/deprecated/sync-store.js +1 -0
  592. package/dist/deprecated/turns.d.ts +1 -0
  593. package/dist/deprecated/turns.js +1 -0
  594. package/dist/index.d.ts +61 -0
  595. package/dist/index.js +53 -0
  596. package/dist/internal/diagnostics-store.d.ts +1 -0
  597. package/dist/internal/diagnostics-store.js +1 -0
  598. package/dist/internal/idb-sync-cache.d.ts +1 -0
  599. package/dist/internal/idb-sync-cache.js +1 -0
  600. package/dist/internal/managed-storage.d.ts +1 -0
  601. package/dist/internal/managed-storage.js +1 -0
  602. package/dist/internal/opencode-pending-store.d.ts +1 -0
  603. package/dist/internal/opencode-pending-store.js +1 -0
  604. package/dist/internal/sandbox-connection-store.d.ts +1 -0
  605. package/dist/internal/sandbox-connection-store.js +1 -0
  606. package/dist/internal/server-store.d.ts +1 -0
  607. package/dist/internal/server-store.js +1 -0
  608. package/dist/internal/sync-store.d.ts +1 -0
  609. package/dist/internal/sync-store.js +1 -0
  610. package/dist/node/app-guard.d.ts +36 -0
  611. package/dist/node/app-guard.js +118 -0
  612. package/dist/node/app-viewer.d.ts +30 -0
  613. package/dist/node/app-viewer.js +113 -0
  614. package/dist/node/auth.d.ts +52 -0
  615. package/dist/node/auth.js +387 -0
  616. package/dist/node/scoped-client.d.ts +9 -0
  617. package/dist/node/scoped-client.js +106 -0
  618. package/dist/node/server.d.ts +8 -0
  619. package/dist/node/server.js +5 -0
  620. package/dist/platform/auth-core.d.ts +10 -0
  621. package/dist/platform/auth-core.js +44 -0
  622. package/dist/platform/config-node.d.ts +4 -0
  623. package/dist/platform/config-node.js +13 -0
  624. package/dist/platform/session-id.d.ts +1 -0
  625. package/dist/platform/session-id.js +15 -0
  626. package/dist/platform/storage/managed-storage.d.ts +25 -0
  627. package/dist/platform/storage/managed-storage.js +215 -0
  628. package/dist/platform/strings.d.ts +1 -0
  629. package/dist/platform/strings.js +6 -0
  630. package/dist/platform/ui.d.ts +5 -0
  631. package/dist/platform/ui.js +16 -0
  632. package/dist/react/agent-selection-scope.d.ts +7 -0
  633. package/dist/react/agent-selection-scope.js +3 -0
  634. package/dist/react/bedrock-invokable.d.ts +1 -0
  635. package/dist/react/bedrock-invokable.js +1 -0
  636. package/dist/react/chat/index.d.ts +2 -0
  637. package/dist/react/chat/index.js +3 -0
  638. package/dist/react/chat/render-parts.d.ts +11 -0
  639. package/dist/react/chat/render-parts.js +10 -0
  640. package/dist/react/chat/use-chat-turns.d.ts +9 -0
  641. package/dist/react/chat/use-chat-turns.js +9 -0
  642. package/dist/react/connector-setup.d.ts +21 -0
  643. package/dist/react/connector-setup.js +130 -0
  644. package/dist/react/file-keys.d.ts +16 -0
  645. package/dist/react/file-keys.js +16 -0
  646. package/dist/react/hold-live-start.d.ts +3 -0
  647. package/dist/react/hold-live-start.js +27 -0
  648. package/dist/react/human-presence.d.ts +15 -0
  649. package/dist/react/human-presence.js +62 -0
  650. package/dist/react/identity-reset-registry.d.ts +2 -0
  651. package/dist/react/identity-reset-registry.js +14 -0
  652. package/dist/react/index.d.ts +62 -0
  653. package/dist/react/index.js +63 -0
  654. package/dist/react/initial-session-pin.d.ts +14 -0
  655. package/dist/react/initial-session-pin.js +28 -0
  656. package/dist/react/invalidate-project.d.ts +22 -0
  657. package/dist/react/invalidate-project.js +26 -0
  658. package/dist/react/model-flatten.d.ts +1 -0
  659. package/dist/react/model-flatten.js +1 -0
  660. package/dist/react/opencode.d.ts +43 -0
  661. package/dist/react/opencode.js +43 -0
  662. package/dist/react/prefetch-session-open.d.ts +5 -0
  663. package/dist/react/prefetch-session-open.js +48 -0
  664. package/dist/react/prefetch-session-start.d.ts +2 -0
  665. package/dist/react/prefetch-session-start.js +9 -0
  666. package/dist/react/provider-refresh.d.ts +9 -0
  667. package/dist/react/provider-refresh.js +72 -0
  668. package/dist/react/provider-selection.d.ts +1 -0
  669. package/dist/react/provider-selection.js +1 -0
  670. package/dist/react/pty-query-state.d.ts +2 -0
  671. package/dist/react/pty-query-state.js +6 -0
  672. package/dist/react/query-contracts.d.ts +49 -0
  673. package/dist/react/query-contracts.js +63 -0
  674. package/dist/react/query-keys.d.ts +105 -0
  675. package/dist/react/query-keys.js +115 -0
  676. package/dist/react/reset-identity-state.d.ts +2 -0
  677. package/dist/react/reset-identity-state.js +19 -0
  678. package/dist/react/retired-endpoint.d.ts +3 -0
  679. package/dist/react/retired-endpoint.js +15 -0
  680. package/dist/react/route-project.d.ts +6 -0
  681. package/dist/react/route-project.js +9 -0
  682. package/dist/react/run-pty-command.d.ts +4 -0
  683. package/dist/react/run-pty-command.js +41 -0
  684. package/dist/react/runtime-actions.d.ts +31 -0
  685. package/dist/react/runtime-actions.js +87 -0
  686. package/dist/react/self-heal-poll-gate.d.ts +8 -0
  687. package/dist/react/self-heal-poll-gate.js +5 -0
  688. package/dist/react/session-agent-name-guard.d.ts +1 -0
  689. package/dist/react/session-agent-name-guard.js +5 -0
  690. package/dist/react/session-cache-write.d.ts +8 -0
  691. package/dist/react/session-cache-write.js +116 -0
  692. package/dist/react/session-start-giveup.d.ts +4 -0
  693. package/dist/react/session-start-giveup.js +5 -0
  694. package/dist/react/session-start-stash.d.ts +17 -0
  695. package/dist/react/session-start-stash.js +146 -0
  696. package/dist/react/session-stop.d.ts +20 -0
  697. package/dist/react/session-stop.js +63 -0
  698. package/dist/react/session-title-sync.d.ts +12 -0
  699. package/dist/react/session-title-sync.js +88 -0
  700. package/dist/react/session-transcript-subscription.d.ts +7 -0
  701. package/dist/react/session-transcript-subscription.js +71 -0
  702. package/dist/react/sign-in-with-beeuni.d.ts +330 -0
  703. package/dist/react/sign-in-with-beeuni.js +51 -0
  704. package/dist/react/teams-install-polling.d.ts +3 -0
  705. package/dist/react/teams-install-polling.js +4 -0
  706. package/dist/react/use-accounts.d.ts +47 -0
  707. package/dist/react/use-accounts.js +31 -0
  708. package/dist/react/use-admin-accounts.d.ts +236 -0
  709. package/dist/react/use-admin-accounts.js +287 -0
  710. package/dist/react/use-admin-activity-analytics.d.ts +48 -0
  711. package/dist/react/use-admin-activity-analytics.js +47 -0
  712. package/dist/react/use-admin-analytics.d.ts +331 -0
  713. package/dist/react/use-admin-analytics.js +85 -0
  714. package/dist/react/use-admin-billing.d.ts +26 -0
  715. package/dist/react/use-admin-billing.js +13 -0
  716. package/dist/react/use-admin-feedback.d.ts +118 -0
  717. package/dist/react/use-admin-feedback.js +46 -0
  718. package/dist/react/use-admin-projects.d.ts +31 -0
  719. package/dist/react/use-admin-projects.js +27 -0
  720. package/dist/react/use-admin-providers.d.ts +20 -0
  721. package/dist/react/use-admin-providers.js +45 -0
  722. package/dist/react/use-admin-role.d.ts +4 -0
  723. package/dist/react/use-admin-role.js +15 -0
  724. package/dist/react/use-admin-sandboxes.d.ts +156 -0
  725. package/dist/react/use-admin-sandboxes.js +52 -0
  726. package/dist/react/use-authenticated-preview-url.d.ts +3 -0
  727. package/dist/react/use-authenticated-preview-url.js +96 -0
  728. package/dist/react/use-beeuni-app-viewer.d.ts +12 -0
  729. package/dist/react/use-beeuni-app-viewer.js +19 -0
  730. package/dist/react/use-beeuni-master.d.ts +333 -0
  731. package/dist/react/use-beeuni-master.js +845 -0
  732. package/dist/react/use-can.d.ts +35 -0
  733. package/dist/react/use-can.js +129 -0
  734. package/dist/react/use-canonical-opencode-session.d.ts +21 -0
  735. package/dist/react/use-canonical-opencode-session.js +44 -0
  736. package/dist/react/use-change-requests.d.ts +291 -0
  737. package/dist/react/use-change-requests.js +31 -0
  738. package/dist/react/use-connector-query.d.ts +7 -0
  739. package/dist/react/use-connector-query.js +23 -0
  740. package/dist/react/use-current-runtime.d.ts +2 -0
  741. package/dist/react/use-current-runtime.js +6 -0
  742. package/dist/react/use-feature-flag.d.ts +6 -0
  743. package/dist/react/use-feature-flag.js +25 -0
  744. package/dist/react/use-gateway-catalog-sync.d.ts +1 -0
  745. package/dist/react/use-gateway-catalog-sync.js +40 -0
  746. package/dist/react/use-gateway-routing-policy.d.ts +8 -0
  747. package/dist/react/use-gateway-routing-policy.js +36 -0
  748. package/dist/react/use-impersonation.d.ts +20 -0
  749. package/dist/react/use-impersonation.js +55 -0
  750. package/dist/react/use-model-access.d.ts +9 -0
  751. package/dist/react/use-model-access.js +46 -0
  752. package/dist/react/use-model-defaults.d.ts +23 -0
  753. package/dist/react/use-model-defaults.js +115 -0
  754. package/dist/react/use-model-enablement.d.ts +8 -0
  755. package/dist/react/use-model-enablement.js +69 -0
  756. package/dist/react/use-model-store.d.ts +47 -0
  757. package/dist/react/use-model-store.js +234 -0
  758. package/dist/react/use-notifications.d.ts +618 -0
  759. package/dist/react/use-notifications.js +104 -0
  760. package/dist/react/use-opencode-config.d.ts +12 -0
  761. package/dist/react/use-opencode-config.js +69 -0
  762. package/dist/react/use-opencode-events/diagnostics.d.ts +4 -0
  763. package/dist/react/use-opencode-events/diagnostics.js +42 -0
  764. package/dist/react/use-opencode-events/handle-event.d.ts +23 -0
  765. package/dist/react/use-opencode-events/handle-event.js +57 -0
  766. package/dist/react/use-opencode-events/handle-interaction-event.d.ts +3 -0
  767. package/dist/react/use-opencode-events/handle-interaction-event.js +41 -0
  768. package/dist/react/use-opencode-events/handle-message-event.d.ts +3 -0
  769. package/dist/react/use-opencode-events/handle-message-event.js +32 -0
  770. package/dist/react/use-opencode-events/handle-session-event.d.ts +4 -0
  771. package/dist/react/use-opencode-events/handle-session-event.js +240 -0
  772. package/dist/react/use-opencode-events/handle-workspace-event.d.ts +3 -0
  773. package/dist/react/use-opencode-events/handle-workspace-event.js +112 -0
  774. package/dist/react/use-opencode-events/handler-context.d.ts +28 -0
  775. package/dist/react/use-opencode-events/handler-context.js +1 -0
  776. package/dist/react/use-opencode-events/helpers.d.ts +27 -0
  777. package/dist/react/use-opencode-events/helpers.js +126 -0
  778. package/dist/react/use-opencode-events/hydrate-core.d.ts +22 -0
  779. package/dist/react/use-opencode-events/hydrate-core.js +78 -0
  780. package/dist/react/use-opencode-events/index.d.ts +9 -0
  781. package/dist/react/use-opencode-events/index.js +181 -0
  782. package/dist/react/use-opencode-events/rehydrate-targets.d.ts +1 -0
  783. package/dist/react/use-opencode-events/rehydrate-targets.js +3 -0
  784. package/dist/react/use-opencode-events/runtime-stream-signals.d.ts +19 -0
  785. package/dist/react/use-opencode-events/runtime-stream-signals.js +22 -0
  786. package/dist/react/use-opencode-events/stream-revival.d.ts +11 -0
  787. package/dist/react/use-opencode-events/stream-revival.js +60 -0
  788. package/dist/react/use-opencode-events/types.d.ts +2 -0
  789. package/dist/react/use-opencode-events/types.js +1 -0
  790. package/dist/react/use-opencode-events/use-event-stream-refs.d.ts +16 -0
  791. package/dist/react/use-opencode-events/use-event-stream-refs.js +129 -0
  792. package/dist/react/use-opencode-local.d.ts +72 -0
  793. package/dist/react/use-opencode-local.js +306 -0
  794. package/dist/react/use-opencode-mcp.d.ts +29 -0
  795. package/dist/react/use-opencode-mcp.js +149 -0
  796. package/dist/react/use-opencode-pty.d.ts +39 -0
  797. package/dist/react/use-opencode-pty.js +61 -0
  798. package/dist/react/use-opencode-sessions/agents.d.ts +11 -0
  799. package/dist/react/use-opencode-sessions/agents.js +57 -0
  800. package/dist/react/use-opencode-sessions/commands.d.ts +16 -0
  801. package/dist/react/use-opencode-sessions/commands.js +42 -0
  802. package/dist/react/use-opencode-sessions/files.d.ts +2 -0
  803. package/dist/react/use-opencode-sessions/files.js +144 -0
  804. package/dist/react/use-opencode-sessions/index.d.ts +15 -0
  805. package/dist/react/use-opencode-sessions/index.js +15 -0
  806. package/dist/react/use-opencode-sessions/keys.d.ts +102 -0
  807. package/dist/react/use-opencode-sessions/keys.js +38 -0
  808. package/dist/react/use-opencode-sessions/mcp.d.ts +2 -0
  809. package/dist/react/use-opencode-sessions/mcp.js +19 -0
  810. package/dist/react/use-opencode-sessions/messages.d.ts +57 -0
  811. package/dist/react/use-opencode-sessions/messages.js +342 -0
  812. package/dist/react/use-opencode-sessions/no-compaction-model-error.d.ts +3 -0
  813. package/dist/react/use-opencode-sessions/no-compaction-model-error.js +6 -0
  814. package/dist/react/use-opencode-sessions/parts.d.ts +12 -0
  815. package/dist/react/use-opencode-sessions/parts.js +31 -0
  816. package/dist/react/use-opencode-sessions/permissions.d.ts +5 -0
  817. package/dist/react/use-opencode-sessions/permissions.js +44 -0
  818. package/dist/react/use-opencode-sessions/projects.d.ts +6 -0
  819. package/dist/react/use-opencode-sessions/projects.js +49 -0
  820. package/dist/react/use-opencode-sessions/provider-load-plan.d.ts +5 -0
  821. package/dist/react/use-opencode-sessions/provider-load-plan.js +3 -0
  822. package/dist/react/use-opencode-sessions/providers.d.ts +10 -0
  823. package/dist/react/use-opencode-sessions/providers.js +98 -0
  824. package/dist/react/use-opencode-sessions/sessions.d.ts +34 -0
  825. package/dist/react/use-opencode-sessions/sessions.js +330 -0
  826. package/dist/react/use-opencode-sessions/shared.d.ts +10 -0
  827. package/dist/react/use-opencode-sessions/shared.js +36 -0
  828. package/dist/react/use-opencode-sessions/sharing.d.ts +3 -0
  829. package/dist/react/use-opencode-sessions/sharing.js +51 -0
  830. package/dist/react/use-opencode-sessions/tools.d.ts +5 -0
  831. package/dist/react/use-opencode-sessions/tools.js +48 -0
  832. package/dist/react/use-opencode-sessions/vcs.d.ts +7 -0
  833. package/dist/react/use-opencode-sessions/vcs.js +24 -0
  834. package/dist/react/use-ops-overview.d.ts +63 -0
  835. package/dist/react/use-ops-overview.js +15 -0
  836. package/dist/react/use-permission-self-heal.d.ts +10 -0
  837. package/dist/react/use-permission-self-heal.js +114 -0
  838. package/dist/react/use-poll-owner.d.ts +1 -0
  839. package/dist/react/use-poll-owner.js +14 -0
  840. package/dist/react/use-project-apps.d.ts +879 -0
  841. package/dist/react/use-project-apps.js +185 -0
  842. package/dist/react/use-project-config.d.ts +2 -0
  843. package/dist/react/use-project-config.js +16 -0
  844. package/dist/react/use-project-files.d.ts +87 -0
  845. package/dist/react/use-project-files.js +109 -0
  846. package/dist/react/use-project-gateway.d.ts +26 -0
  847. package/dist/react/use-project-gateway.js +111 -0
  848. package/dist/react/use-project-llm-gateway.d.ts +6 -0
  849. package/dist/react/use-project-llm-gateway.js +20 -0
  850. package/dist/react/use-project-models.d.ts +4 -0
  851. package/dist/react/use-project-models.js +31 -0
  852. package/dist/react/use-project-name.d.ts +4 -0
  853. package/dist/react/use-project-name.js +35 -0
  854. package/dist/react/use-project-secrets.d.ts +279 -0
  855. package/dist/react/use-project-secrets.js +34 -0
  856. package/dist/react/use-project-session.d.ts +4 -0
  857. package/dist/react/use-project-session.js +18 -0
  858. package/dist/react/use-project-sessions.d.ts +447 -0
  859. package/dist/react/use-project-sessions.js +86 -0
  860. package/dist/react/use-project-starter-suggestions.d.ts +2 -0
  861. package/dist/react/use-project-starter-suggestions.js +13 -0
  862. package/dist/react/use-project-triggers.d.ts +221 -0
  863. package/dist/react/use-project-triggers.js +53 -0
  864. package/dist/react/use-prompt-attachments.d.ts +3 -0
  865. package/dist/react/use-prompt-attachments.js +34 -0
  866. package/dist/react/use-provider-secrets.d.ts +229 -0
  867. package/dist/react/use-provider-secrets.js +38 -0
  868. package/dist/react/use-question-self-heal.d.ts +7 -0
  869. package/dist/react/use-question-self-heal.js +81 -0
  870. package/dist/react/use-reminders.d.ts +501 -0
  871. package/dist/react/use-reminders.js +51 -0
  872. package/dist/react/use-runtime-boot-stalled.d.ts +2 -0
  873. package/dist/react/use-runtime-boot-stalled.js +18 -0
  874. package/dist/react/use-runtime-phase.d.ts +2 -0
  875. package/dist/react/use-runtime-phase.js +13 -0
  876. package/dist/react/use-runtime-reconnect.d.ts +52 -0
  877. package/dist/react/use-runtime-reconnect.js +248 -0
  878. package/dist/react/use-runtime-supports.d.ts +2 -0
  879. package/dist/react/use-runtime-supports.js +5 -0
  880. package/dist/react/use-sandbox-image.d.ts +33 -0
  881. package/dist/react/use-sandbox-image.js +119 -0
  882. package/dist/react/use-session-audit.d.ts +4 -0
  883. package/dist/react/use-session-audit.js +25 -0
  884. package/dist/react/use-session-message-authors.d.ts +1 -0
  885. package/dist/react/use-session-message-authors.js +14 -0
  886. package/dist/react/use-session-messages.d.ts +11 -0
  887. package/dist/react/use-session-messages.js +62 -0
  888. package/dist/react/use-session-model-selection.d.ts +8 -0
  889. package/dist/react/use-session-model-selection.js +20 -0
  890. package/dist/react/use-session-model-usage.d.ts +1 -0
  891. package/dist/react/use-session-model-usage.js +13 -0
  892. package/dist/react/use-session-participants.d.ts +4 -0
  893. package/dist/react/use-session-participants.js +13 -0
  894. package/dist/react/use-session-phase.d.ts +8 -0
  895. package/dist/react/use-session-phase.js +9 -0
  896. package/dist/react/use-session-picks.d.ts +13 -0
  897. package/dist/react/use-session-picks.js +65 -0
  898. package/dist/react/use-session-prefetch.d.ts +6 -0
  899. package/dist/react/use-session-prefetch.js +22 -0
  900. package/dist/react/use-session-prompts.d.ts +53 -0
  901. package/dist/react/use-session-prompts.js +378 -0
  902. package/dist/react/use-session-send.d.ts +97 -0
  903. package/dist/react/use-session-send.js +233 -0
  904. package/dist/react/use-session-start-give-up.d.ts +19 -0
  905. package/dist/react/use-session-start-give-up.js +59 -0
  906. package/dist/react/use-session-stream.d.ts +17 -0
  907. package/dist/react/use-session-stream.js +181 -0
  908. package/dist/react/use-session-sync.d.ts +43 -0
  909. package/dist/react/use-session-sync.js +252 -0
  910. package/dist/react/use-session-transcript-history.d.ts +6 -0
  911. package/dist/react/use-session-transcript-history.js +38 -0
  912. package/dist/react/use-session-working.d.ts +37 -0
  913. package/dist/react/use-session-working.js +217 -0
  914. package/dist/react/use-session.d.ts +201 -0
  915. package/dist/react/use-session.js +893 -0
  916. package/dist/react/use-sessions-needing-input.d.ts +5 -0
  917. package/dist/react/use-sessions-needing-input.js +23 -0
  918. package/dist/react/use-static-file-preview.d.ts +9 -0
  919. package/dist/react/use-static-file-preview.js +72 -0
  920. package/dist/react/use-system-status.d.ts +38 -0
  921. package/dist/react/use-system-status.js +5 -0
  922. package/dist/react/use-teams-installations.d.ts +41 -0
  923. package/dist/react/use-teams-installations.js +95 -0
  924. package/dist/react/use-tunnel.d.ts +165 -0
  925. package/dist/react/use-tunnel.js +186 -0
  926. package/dist/react/use-visible-agents.d.ts +9 -0
  927. package/dist/react/use-visible-agents.js +12 -0
  928. package/dist/react/use-wake-escalation.d.ts +31 -0
  929. package/dist/react/use-wake-escalation.js +82 -0
  930. package/dist/transcript.d.ts +50 -0
  931. package/dist/transcript.js +93 -0
  932. package/dist/workspace-search/client.d.ts +19 -0
  933. package/dist/workspace-search/client.js +229 -0
  934. package/dist/workspace-search/core.d.ts +21 -0
  935. package/dist/workspace-search/core.js +259 -0
  936. package/dist/workspace-search/index.d.ts +2 -0
  937. package/dist/workspace-search/index.js +2 -0
  938. package/package.json +178 -0
@@ -0,0 +1,845 @@
1
+ 'use client';
2
+ import { useMutation, useQuery, useQueryClient, keepPreviousData, } from '@tanstack/react-query';
3
+ import { useServerStore } from '../browser/stores/server-store.js';
4
+ import { listCredentials, listCredentialEvents, upsertCredential, revealCredential, deleteCredential, listBeeuniProjects, getBeeuniProject, getBeeuniProjectBySession, listBeeuniProjectSessions, deleteBeeuniProject, patchBeeuniProject, listTasks, getTask, listTaskEvents, getTaskStatus, createTask, updateTask, startTask, approveTask, deleteTask, listTickets, getTicket, listTicketEvents, createTicket, updateTicket, updateTicketStatus, assignTicket, unassignTicket, commentTicket, deleteTicket, listColumns, replaceColumns, listFields, replaceFields, listTemplates, replaceTemplates, ensurePmSession, listProjectAgents, createProjectAgent, updateProjectAgent, deleteProjectAgent, getAgentPersona, getProjectActivity, listMilestones, getMilestone, listMilestoneEvents, createMilestone, updateMilestone, closeMilestone, reopenMilestone, deleteMilestone, listServices, listServiceTemplates, getServiceLogs, serviceAction as sdkServiceAction, reconcileServices, registerService, systemReload, } from '../core/runtime/client.js';
5
+ export const credentialKeys = {
6
+ list: (pid) => ['beeuni', 'credentials', pid ?? ''],
7
+ events: (pid, name) => ['beeuni', 'credentials', pid, name, 'events'],
8
+ };
9
+ export function useCredentials(projectId) {
10
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
11
+ return useQuery({
12
+ queryKey: credentialKeys.list(projectId),
13
+ queryFn: () => listCredentials(serverUrl, projectId),
14
+ enabled: !!projectId,
15
+ refetchInterval: 10_000,
16
+ refetchIntervalInBackground: false,
17
+ placeholderData: keepPreviousData,
18
+ });
19
+ }
20
+ export function useCredentialEvents(projectId, name) {
21
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
22
+ return useQuery({
23
+ queryKey: credentialKeys.events(projectId ?? '', name ?? ''),
24
+ queryFn: () => listCredentialEvents(serverUrl, projectId, name),
25
+ enabled: !!projectId && !!name,
26
+ refetchInterval: 10_000,
27
+ });
28
+ }
29
+ export function useUpsertCredential() {
30
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
31
+ const qc = useQueryClient();
32
+ return useMutation({
33
+ mutationFn: ({ projectId, ...body }) => upsertCredential(serverUrl, projectId, body),
34
+ onSuccess: (_res, vars) => {
35
+ qc.invalidateQueries({ queryKey: credentialKeys.list(vars.projectId) });
36
+ },
37
+ });
38
+ }
39
+ export function useRevealCredential() {
40
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
41
+ const qc = useQueryClient();
42
+ return useMutation({
43
+ mutationFn: ({ projectId, name }) => revealCredential(serverUrl, projectId, name),
44
+ onSuccess: (_res, vars) => {
45
+ qc.invalidateQueries({ queryKey: credentialKeys.list(vars.projectId) });
46
+ qc.invalidateQueries({ queryKey: credentialKeys.events(vars.projectId, vars.name) });
47
+ },
48
+ });
49
+ }
50
+ export function useDeleteCredential() {
51
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
52
+ const qc = useQueryClient();
53
+ return useMutation({
54
+ mutationFn: ({ projectId, name }) => deleteCredential(serverUrl, projectId, name),
55
+ onSuccess: (_res, vars) => {
56
+ qc.invalidateQueries({ queryKey: credentialKeys.list(vars.projectId) });
57
+ },
58
+ });
59
+ }
60
+ export const beeuniKeys = {
61
+ projects: () => ['beeuni', 'projects'],
62
+ project: (id) => ['beeuni', 'projects', id],
63
+ };
64
+ export function useBeeuniProjects(identity, _args, options = {}) {
65
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
66
+ return useQuery({
67
+ queryKey: [...beeuniKeys.projects(), identity.userId ?? 'anonymous', serverUrl],
68
+ queryFn: () => listBeeuniProjects(serverUrl),
69
+ enabled: !identity.isLoading && !!identity.userId && !!serverUrl && (options.enabled ?? true),
70
+ staleTime: 30_000,
71
+ gcTime: 5 * 60 * 1000,
72
+ refetchOnWindowFocus: true,
73
+ retry: 3,
74
+ retryDelay: (attempt) => Math.min(1000 * 2 ** attempt, 10000),
75
+ });
76
+ }
77
+ export function useBeeuniProject(identity, id) {
78
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
79
+ return useQuery({
80
+ queryKey: [...beeuniKeys.project(id), identity.userId ?? 'anonymous', serverUrl],
81
+ queryFn: () => getBeeuniProject(serverUrl, id),
82
+ enabled: !identity.isLoading && !!identity.userId && !!serverUrl && !!id,
83
+ staleTime: 15_000,
84
+ gcTime: 5 * 60 * 1000,
85
+ retry: 2,
86
+ placeholderData: keepPreviousData,
87
+ });
88
+ }
89
+ export function useBeeuniProjectForSession(identity, sessionId, options = {}) {
90
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
91
+ return useQuery({
92
+ queryKey: ['beeuni', 'projects', 'by-session', sessionId, identity.userId ?? 'anonymous', serverUrl],
93
+ queryFn: async () => {
94
+ try {
95
+ return await getBeeuniProjectBySession(serverUrl, sessionId);
96
+ }
97
+ catch {
98
+ return null;
99
+ }
100
+ },
101
+ enabled: !identity.isLoading && !!identity.userId && !!serverUrl && !!sessionId && (options.enabled ?? true),
102
+ staleTime: 15_000,
103
+ gcTime: 5 * 60 * 1000,
104
+ placeholderData: keepPreviousData,
105
+ });
106
+ }
107
+ export function useBeeuniProjectSessions(identity, projectId, options = {}) {
108
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
109
+ return useQuery({
110
+ queryKey: ['beeuni', 'projects', projectId, 'sessions', identity.userId ?? 'anonymous', serverUrl],
111
+ queryFn: () => listBeeuniProjectSessions(serverUrl, projectId),
112
+ enabled: !identity.isLoading && !!identity.userId && !!serverUrl && !!projectId && (options.enabled ?? true),
113
+ staleTime: 15_000,
114
+ gcTime: 5 * 60 * 1000,
115
+ refetchOnWindowFocus: true,
116
+ retry: 2,
117
+ placeholderData: keepPreviousData,
118
+ });
119
+ }
120
+ export function useDeleteProject() {
121
+ const qc = useQueryClient();
122
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
123
+ return useMutation({
124
+ mutationFn: (id) => deleteBeeuniProject(serverUrl, id),
125
+ onSuccess: () => {
126
+ qc.invalidateQueries({ queryKey: beeuniKeys.projects() });
127
+ },
128
+ });
129
+ }
130
+ export function usePatchProject() {
131
+ const qc = useQueryClient();
132
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
133
+ return useMutation({
134
+ mutationFn: ({ id, ...body }) => patchBeeuniProject(serverUrl, id, body),
135
+ onSuccess: (_d, vars) => {
136
+ qc.invalidateQueries({ queryKey: beeuniKeys.project(vars.id) });
137
+ qc.invalidateQueries({ queryKey: beeuniKeys.projects() });
138
+ },
139
+ });
140
+ }
141
+ const taskKeys = {
142
+ all: ['beeuni', 'tasks'],
143
+ byProject: (projectId) => ['beeuni', 'tasks', projectId],
144
+ single: (id) => ['beeuni', 'tasks', 'detail', id],
145
+ events: (id) => ['beeuni', 'tasks', 'events', id],
146
+ status: (id) => ['beeuni', 'tasks', 'status', id],
147
+ };
148
+ const VALID_STATUSES = [
149
+ 'todo', 'in_progress', 'input_needed', 'awaiting_review',
150
+ 'completed', 'cancelled',
151
+ ];
152
+ export function normalizeTask(raw) {
153
+ const r = (raw && typeof raw === 'object' ? raw : {});
154
+ const status = VALID_STATUSES.includes(r.status)
155
+ ? r.status
156
+ : 'todo';
157
+ return {
158
+ id: r.id,
159
+ project_id: r.project_id,
160
+ title: r.title || '',
161
+ description: r.description || '',
162
+ verification_condition: r.verification_condition || '',
163
+ status,
164
+ result: r.result ?? null,
165
+ verification_summary: r.verification_summary ?? null,
166
+ blocking_question: r.blocking_question ?? null,
167
+ owner_session_id: r.owner_session_id ?? null,
168
+ owner_agent: r.owner_agent ?? null,
169
+ requested_by_session_id: r.requested_by_session_id ?? null,
170
+ started_at: r.started_at ?? null,
171
+ completed_at: r.completed_at ?? null,
172
+ created_at: r.created_at,
173
+ updated_at: r.updated_at,
174
+ };
175
+ }
176
+ export function useBeeuniTasks(projectId, status, options = {}) {
177
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
178
+ return useQuery({
179
+ queryKey: [...taskKeys.all, projectId, status],
180
+ queryFn: async () => {
181
+ const rows = await listTasks(serverUrl, { projectId, status });
182
+ return Array.isArray(rows) ? rows.map(normalizeTask) : [];
183
+ },
184
+ enabled: !!projectId && (options.enabled ?? true),
185
+ refetchInterval: options.pollingEnabled === false ? false : 3000,
186
+ refetchIntervalInBackground: false,
187
+ placeholderData: keepPreviousData,
188
+ });
189
+ }
190
+ export function useBeeuniTask(id, options = {}) {
191
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
192
+ return useQuery({
193
+ queryKey: taskKeys.single(id),
194
+ queryFn: async () => {
195
+ const raw = await getTask(serverUrl, id);
196
+ return normalizeTask(raw);
197
+ },
198
+ enabled: !!id && (options.enabled ?? true),
199
+ refetchInterval: options.pollingEnabled === false ? false : 3000,
200
+ refetchIntervalInBackground: false,
201
+ placeholderData: keepPreviousData,
202
+ });
203
+ }
204
+ export function useBeeuniTaskEvents(id, options = {}) {
205
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
206
+ return useQuery({
207
+ queryKey: taskKeys.events(id),
208
+ queryFn: async () => {
209
+ const rows = await listTaskEvents(serverUrl, id);
210
+ return Array.isArray(rows) ? rows : [];
211
+ },
212
+ enabled: !!id && (options.enabled ?? true),
213
+ refetchInterval: options.pollingEnabled === false ? false : 3000,
214
+ refetchIntervalInBackground: false,
215
+ placeholderData: keepPreviousData,
216
+ });
217
+ }
218
+ export function useBeeuniTaskStatus(id, options = {}) {
219
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
220
+ return useQuery({
221
+ queryKey: taskKeys.status(id),
222
+ queryFn: async () => {
223
+ return getTaskStatus(serverUrl, id);
224
+ },
225
+ enabled: !!id && (options.enabled ?? true),
226
+ refetchInterval: options.pollingEnabled === false ? false : 3000,
227
+ refetchIntervalInBackground: false,
228
+ placeholderData: keepPreviousData,
229
+ });
230
+ }
231
+ export function useCreateBeeuniTask() {
232
+ const qc = useQueryClient();
233
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
234
+ return useMutation({
235
+ mutationFn: (data) => createTask(serverUrl, data),
236
+ onSuccess: () => {
237
+ qc.invalidateQueries({ queryKey: taskKeys.all });
238
+ },
239
+ });
240
+ }
241
+ export function useUpdateBeeuniTask() {
242
+ const qc = useQueryClient();
243
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
244
+ return useMutation({
245
+ mutationFn: ({ id, ...data }) => updateTask(serverUrl, id, data),
246
+ onSuccess: () => {
247
+ qc.invalidateQueries({ queryKey: taskKeys.all });
248
+ },
249
+ });
250
+ }
251
+ export function useStartBeeuniTask() {
252
+ const qc = useQueryClient();
253
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
254
+ return useMutation({
255
+ mutationFn: ({ id }) => startTask(serverUrl, id),
256
+ onSuccess: (task) => {
257
+ qc.invalidateQueries({ queryKey: taskKeys.all });
258
+ qc.invalidateQueries({ queryKey: ['beeuni', 'projects'] });
259
+ if (task?.project_id) {
260
+ qc.invalidateQueries({ queryKey: ['beeuni', 'projects', task.project_id] });
261
+ qc.invalidateQueries({ queryKey: ['beeuni', 'projects', task.project_id, 'sessions'] });
262
+ }
263
+ },
264
+ });
265
+ }
266
+ export function useApproveBeeuniTask() {
267
+ const qc = useQueryClient();
268
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
269
+ return useMutation({
270
+ mutationFn: (id) => approveTask(serverUrl, id),
271
+ onSuccess: () => {
272
+ qc.invalidateQueries({ queryKey: taskKeys.all });
273
+ },
274
+ });
275
+ }
276
+ export function useDeleteBeeuniTask() {
277
+ const qc = useQueryClient();
278
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
279
+ return useMutation({
280
+ mutationFn: (id) => deleteTask(serverUrl, id),
281
+ onSuccess: () => {
282
+ qc.invalidateQueries({ queryKey: taskKeys.all });
283
+ },
284
+ });
285
+ }
286
+ export const ticketKeys = {
287
+ tickets: (pid) => ['beeuni', 'tickets', pid ?? ''],
288
+ ticket: (id) => ['beeuni', 'ticket', id],
289
+ events: (id) => ['beeuni', 'ticket', id, 'events'],
290
+ columns: (pid) => ['beeuni', 'columns', pid],
291
+ fields: (pid) => ['beeuni', 'fields', pid],
292
+ templates: (pid) => ['beeuni', 'templates', pid],
293
+ agents: (pid) => ['beeuni', 'agents', pid],
294
+ };
295
+ export function useTickets(projectId, opts) {
296
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
297
+ return useQuery({
298
+ queryKey: ticketKeys.tickets(projectId),
299
+ queryFn: () => listTickets(serverUrl, projectId),
300
+ enabled: !!projectId && (opts?.enabled ?? true),
301
+ refetchInterval: opts?.pollingEnabled === false ? false : 3000,
302
+ refetchIntervalInBackground: false,
303
+ placeholderData: keepPreviousData,
304
+ });
305
+ }
306
+ export function useTicket(id, opts) {
307
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
308
+ return useQuery({
309
+ queryKey: ticketKeys.ticket(id ?? ''),
310
+ queryFn: () => getTicket(serverUrl, id),
311
+ enabled: !!id && (opts?.enabled ?? true),
312
+ refetchInterval: opts?.pollingEnabled === false ? false : 3000,
313
+ refetchIntervalInBackground: false,
314
+ placeholderData: keepPreviousData,
315
+ });
316
+ }
317
+ export function useTicketEvents(id, opts) {
318
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
319
+ return useQuery({
320
+ queryKey: ticketKeys.events(id ?? ''),
321
+ queryFn: () => listTicketEvents(serverUrl, id),
322
+ enabled: !!id && (opts?.enabled ?? true),
323
+ refetchInterval: opts?.pollingEnabled === false ? false : 3000,
324
+ refetchIntervalInBackground: false,
325
+ placeholderData: keepPreviousData,
326
+ });
327
+ }
328
+ export function useCreateTicket(identity) {
329
+ const qc = useQueryClient();
330
+ const handle = identity.handle;
331
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
332
+ return useMutation({
333
+ mutationFn: (body) => createTicket(serverUrl, {
334
+ ...body,
335
+ actor_type: 'user',
336
+ actor_id: handle,
337
+ created_by_type: 'user',
338
+ created_by_id: handle,
339
+ }),
340
+ onSuccess: (_d, vars) => {
341
+ qc.invalidateQueries({ queryKey: ticketKeys.tickets(vars.project_id) });
342
+ },
343
+ });
344
+ }
345
+ export function useUpdateTicket(identity) {
346
+ const qc = useQueryClient();
347
+ const handle = identity.handle;
348
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
349
+ return useMutation({
350
+ mutationFn: ({ id, ...body }) => updateTicket(serverUrl, id, { ...body, actor_type: 'user', actor_id: handle }),
351
+ onSuccess: (t) => {
352
+ qc.invalidateQueries({ queryKey: ticketKeys.tickets(t.project_id) });
353
+ qc.invalidateQueries({ queryKey: ticketKeys.ticket(t.id) });
354
+ qc.invalidateQueries({ queryKey: ticketKeys.events(t.id) });
355
+ },
356
+ });
357
+ }
358
+ export function useUpdateTicketStatus(identity) {
359
+ const qc = useQueryClient();
360
+ const handle = identity.handle;
361
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
362
+ return useMutation({
363
+ mutationFn: ({ id, status }) => updateTicketStatus(serverUrl, id, { status, actor_type: 'user', actor_id: handle }),
364
+ onSuccess: (r) => {
365
+ qc.invalidateQueries({ queryKey: ticketKeys.tickets(r.ticket.project_id) });
366
+ qc.invalidateQueries({ queryKey: ticketKeys.ticket(r.ticket.id) });
367
+ qc.invalidateQueries({ queryKey: ticketKeys.events(r.ticket.id) });
368
+ },
369
+ });
370
+ }
371
+ export function useAssignTicket(identity) {
372
+ const qc = useQueryClient();
373
+ const handle = identity.handle;
374
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
375
+ return useMutation({
376
+ mutationFn: ({ id, assignee_type, assignee_id }) => assignTicket(serverUrl, id, { assignee_type, assignee_id, actor_type: 'user', actor_id: handle }),
377
+ onSuccess: (r) => {
378
+ qc.invalidateQueries({ queryKey: ticketKeys.tickets(r.ticket.project_id) });
379
+ qc.invalidateQueries({ queryKey: ticketKeys.ticket(r.ticket.id) });
380
+ qc.invalidateQueries({ queryKey: ticketKeys.events(r.ticket.id) });
381
+ },
382
+ });
383
+ }
384
+ export function useUnassignTicket(identity) {
385
+ const qc = useQueryClient();
386
+ const handle = identity.handle;
387
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
388
+ return useMutation({
389
+ mutationFn: ({ id, assignee_type, assignee_id }) => unassignTicket(serverUrl, id, { assignee_type, assignee_id, actor_type: 'user', actor_id: handle }),
390
+ onSuccess: (r) => {
391
+ qc.invalidateQueries({ queryKey: ticketKeys.tickets(r.ticket.project_id) });
392
+ qc.invalidateQueries({ queryKey: ticketKeys.ticket(r.ticket.id) });
393
+ qc.invalidateQueries({ queryKey: ticketKeys.events(r.ticket.id) });
394
+ },
395
+ });
396
+ }
397
+ export function useCommentTicket(identity) {
398
+ const qc = useQueryClient();
399
+ const handle = identity.handle;
400
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
401
+ return useMutation({
402
+ mutationFn: ({ id, body }) => commentTicket(serverUrl, id, { body, actor_type: 'user', actor_id: handle }),
403
+ onSuccess: (_d, vars) => {
404
+ qc.invalidateQueries({ queryKey: ticketKeys.events(vars.id) });
405
+ qc.invalidateQueries({ queryKey: ticketKeys.ticket(vars.id) });
406
+ },
407
+ });
408
+ }
409
+ export function useDeleteTicket() {
410
+ const qc = useQueryClient();
411
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
412
+ return useMutation({
413
+ mutationFn: (id) => deleteTicket(serverUrl, id),
414
+ onSuccess: () => { qc.invalidateQueries({ queryKey: ['beeuni', 'tickets'] }); },
415
+ });
416
+ }
417
+ export function useColumns(projectId) {
418
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
419
+ return useQuery({
420
+ queryKey: ticketKeys.columns(projectId ?? ''),
421
+ queryFn: () => listColumns(serverUrl, projectId),
422
+ enabled: !!projectId,
423
+ staleTime: 30_000,
424
+ });
425
+ }
426
+ export function useReplaceColumns() {
427
+ const qc = useQueryClient();
428
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
429
+ return useMutation({
430
+ mutationFn: ({ projectId, columns }) => replaceColumns(serverUrl, projectId, columns),
431
+ onSuccess: (_d, vars) => {
432
+ qc.invalidateQueries({ queryKey: ticketKeys.columns(vars.projectId) });
433
+ qc.invalidateQueries({ queryKey: ticketKeys.tickets(vars.projectId) });
434
+ },
435
+ });
436
+ }
437
+ export function useFields(projectId) {
438
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
439
+ return useQuery({
440
+ queryKey: ticketKeys.fields(projectId ?? ''),
441
+ queryFn: () => listFields(serverUrl, projectId),
442
+ enabled: !!projectId,
443
+ staleTime: 30_000,
444
+ });
445
+ }
446
+ export function useReplaceFields() {
447
+ const qc = useQueryClient();
448
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
449
+ return useMutation({
450
+ mutationFn: ({ projectId, fields }) => replaceFields(serverUrl, projectId, fields),
451
+ onSuccess: (_d, vars) => { qc.invalidateQueries({ queryKey: ticketKeys.fields(vars.projectId) }); },
452
+ });
453
+ }
454
+ export function useTemplates(projectId) {
455
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
456
+ return useQuery({
457
+ queryKey: ticketKeys.templates(projectId ?? ''),
458
+ queryFn: () => listTemplates(serverUrl, projectId),
459
+ enabled: !!projectId,
460
+ staleTime: 30_000,
461
+ });
462
+ }
463
+ export function useReplaceTemplates() {
464
+ const qc = useQueryClient();
465
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
466
+ return useMutation({
467
+ mutationFn: ({ projectId, templates }) => replaceTemplates(serverUrl, projectId, templates),
468
+ onSuccess: (_d, vars) => { qc.invalidateQueries({ queryKey: ticketKeys.templates(vars.projectId) }); },
469
+ });
470
+ }
471
+ export function useEnsurePmSession() {
472
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
473
+ return useMutation({
474
+ mutationFn: ({ projectId }) => ensurePmSession(serverUrl, projectId),
475
+ });
476
+ }
477
+ export function useProjectAgents(projectId) {
478
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
479
+ return useQuery({
480
+ queryKey: ticketKeys.agents(projectId ?? ''),
481
+ queryFn: () => listProjectAgents(serverUrl, projectId),
482
+ enabled: !!projectId,
483
+ staleTime: 30_000,
484
+ });
485
+ }
486
+ export function useCreateProjectAgent() {
487
+ const qc = useQueryClient();
488
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
489
+ return useMutation({
490
+ mutationFn: ({ projectId, slug, name, body_md, execution_mode, tool_groups, default_assignee_columns, default_model, color_hue, icon, }) => createProjectAgent(serverUrl, projectId, {
491
+ slug, name, body_md, execution_mode, tool_groups, default_assignee_columns, default_model, color_hue, icon,
492
+ }),
493
+ onSuccess: (_d, vars) => { qc.invalidateQueries({ queryKey: ticketKeys.agents(vars.projectId) }); },
494
+ });
495
+ }
496
+ export function useUpdateProjectAgent() {
497
+ const qc = useQueryClient();
498
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
499
+ return useMutation({
500
+ mutationFn: ({ projectId, slug, ...body }) => updateProjectAgent(serverUrl, projectId, slug, body),
501
+ onSuccess: (_d, vars) => { qc.invalidateQueries({ queryKey: ticketKeys.agents(vars.projectId) }); },
502
+ });
503
+ }
504
+ export function useDeleteProjectAgent() {
505
+ const qc = useQueryClient();
506
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
507
+ return useMutation({
508
+ mutationFn: ({ projectId, slug }) => deleteProjectAgent(serverUrl, projectId, slug),
509
+ onSuccess: (_d, vars) => { qc.invalidateQueries({ queryKey: ticketKeys.agents(vars.projectId) }); },
510
+ });
511
+ }
512
+ export function useAgentPersona(projectId, slug, opts) {
513
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
514
+ return useQuery({
515
+ queryKey: ['beeuni', 'agent-persona', projectId ?? '', slug ?? ''],
516
+ queryFn: () => getAgentPersona(serverUrl, projectId, slug),
517
+ enabled: !!projectId && !!slug && (opts?.enabled ?? true),
518
+ });
519
+ }
520
+ export function useProjectActivity(projectId, opts) {
521
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
522
+ return useQuery({
523
+ queryKey: ['beeuni', 'project-activity', projectId ?? ''],
524
+ queryFn: () => getProjectActivity(serverUrl, projectId, 200),
525
+ enabled: !!projectId && (opts?.enabled ?? true),
526
+ refetchInterval: opts?.pollingEnabled === false ? false : 10_000,
527
+ refetchIntervalInBackground: false,
528
+ placeholderData: keepPreviousData,
529
+ });
530
+ }
531
+ export function computeUnread(events, handle, sinceIso) {
532
+ const byTicket = new Map();
533
+ let latest = null;
534
+ let total = 0;
535
+ if (!events)
536
+ return { total, byTicket, latestAt: null };
537
+ const h = handle.toLowerCase();
538
+ const mentionRe = new RegExp(`(^|\\s)@${h.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&')}\\b`, 'i');
539
+ for (const ev of events) {
540
+ if (sinceIso && ev.created_at <= sinceIso)
541
+ continue;
542
+ if (!latest || ev.created_at > latest)
543
+ latest = ev.created_at;
544
+ if (ev.actor_type === 'user' && (ev.actor_id ?? '').toLowerCase() === h)
545
+ continue;
546
+ let hit = false;
547
+ if (ev.type === 'assigned') {
548
+ try {
549
+ const p = ev.payload_json ? JSON.parse(ev.payload_json) : null;
550
+ if (p?.assignee_type === 'user' && (p.assignee_id ?? '').toLowerCase() === h)
551
+ hit = true;
552
+ }
553
+ catch { }
554
+ }
555
+ else if (ev.type === 'comment' && ev.message && mentionRe.test(ev.message)) {
556
+ hit = true;
557
+ }
558
+ if (!hit)
559
+ continue;
560
+ total++;
561
+ byTicket.set(ev.ticket_id, (byTicket.get(ev.ticket_id) ?? 0) + 1);
562
+ }
563
+ return { total, byTicket, latestAt: latest };
564
+ }
565
+ export function computeNotifications(events, handle, sinceIso) {
566
+ if (!events)
567
+ return [];
568
+ const h = handle.toLowerCase();
569
+ const mentionRe = new RegExp(`(^|\\s)@${h.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&')}\\b`, 'i');
570
+ const out = [];
571
+ for (const ev of events) {
572
+ if (sinceIso && ev.created_at <= sinceIso)
573
+ continue;
574
+ if (ev.actor_type === 'user' && (ev.actor_id ?? '').toLowerCase() === h)
575
+ continue;
576
+ if (ev.type === 'assigned') {
577
+ try {
578
+ const p = ev.payload_json ? JSON.parse(ev.payload_json) : null;
579
+ if (p?.assignee_type === 'user' && (p.assignee_id ?? '').toLowerCase() === h) {
580
+ out.push({ event: ev, ticket_id: ev.ticket_id, kind: 'assigned' });
581
+ }
582
+ }
583
+ catch { }
584
+ }
585
+ else if (ev.type === 'comment' && ev.message && mentionRe.test(ev.message)) {
586
+ out.push({ event: ev, ticket_id: ev.ticket_id, kind: 'mention', relatedComment: ev });
587
+ }
588
+ }
589
+ return out;
590
+ }
591
+ const LAST_SEEN_KEY = (projectId, handle) => `beeuni:activity-last-seen:${projectId}:${handle}`;
592
+ export const LAST_SEEN_EVENT = 'beeuni:last-seen-changed';
593
+ export function readLastSeen(projectId, handle) {
594
+ if (typeof window === 'undefined')
595
+ return null;
596
+ try {
597
+ return window.localStorage.getItem(LAST_SEEN_KEY(projectId, handle));
598
+ }
599
+ catch {
600
+ return null;
601
+ }
602
+ }
603
+ export function writeLastSeen(projectId, handle, iso) {
604
+ if (typeof window === 'undefined')
605
+ return;
606
+ try {
607
+ window.localStorage.setItem(LAST_SEEN_KEY(projectId, handle), iso);
608
+ window.dispatchEvent(new CustomEvent(LAST_SEEN_EVENT, { detail: { projectId, handle, iso } }));
609
+ }
610
+ catch { }
611
+ }
612
+ export function safeParseJsonArray(s) {
613
+ if (!s)
614
+ return [];
615
+ try {
616
+ const v = JSON.parse(s);
617
+ return Array.isArray(v) ? v.map(String) : [];
618
+ }
619
+ catch {
620
+ return [];
621
+ }
622
+ }
623
+ export function parseCustomFields(json) {
624
+ if (!json)
625
+ return {};
626
+ try {
627
+ const v = JSON.parse(json);
628
+ return v && typeof v === 'object' ? v : {};
629
+ }
630
+ catch {
631
+ return {};
632
+ }
633
+ }
634
+ export const milestoneKeys = {
635
+ list: (pid, status = 'all') => ['beeuni', 'milestones', pid ?? '', status],
636
+ detail: (pid, ref) => ['beeuni', 'milestone', pid, ref],
637
+ events: (pid, ref) => ['beeuni', 'milestone', pid, ref, 'events'],
638
+ };
639
+ export function useMilestones(projectId, statusFilter = 'all') {
640
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
641
+ return useQuery({
642
+ queryKey: milestoneKeys.list(projectId, statusFilter),
643
+ queryFn: () => listMilestones(serverUrl, projectId, statusFilter),
644
+ enabled: !!projectId,
645
+ refetchInterval: 5000,
646
+ refetchIntervalInBackground: false,
647
+ placeholderData: keepPreviousData,
648
+ });
649
+ }
650
+ export function useMilestone(projectId, ref) {
651
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
652
+ return useQuery({
653
+ queryKey: milestoneKeys.detail(projectId ?? '', ref ?? ''),
654
+ queryFn: () => getMilestone(serverUrl, projectId, ref),
655
+ enabled: !!projectId && !!ref,
656
+ refetchInterval: 5000,
657
+ refetchIntervalInBackground: false,
658
+ placeholderData: keepPreviousData,
659
+ });
660
+ }
661
+ export function useMilestoneEvents(projectId, ref) {
662
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
663
+ return useQuery({
664
+ queryKey: milestoneKeys.events(projectId ?? '', ref ?? ''),
665
+ queryFn: () => listMilestoneEvents(serverUrl, projectId, ref),
666
+ enabled: !!projectId && !!ref,
667
+ refetchInterval: 5000,
668
+ placeholderData: keepPreviousData,
669
+ });
670
+ }
671
+ export function useCreateMilestone() {
672
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
673
+ const qc = useQueryClient();
674
+ return useMutation({
675
+ mutationFn: ({ projectId, ...body }) => createMilestone(serverUrl, projectId, body),
676
+ onSuccess: (_res, vars) => {
677
+ qc.invalidateQueries({ queryKey: ['beeuni', 'milestones', vars.projectId] });
678
+ },
679
+ });
680
+ }
681
+ export function useUpdateMilestone() {
682
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
683
+ const qc = useQueryClient();
684
+ return useMutation({
685
+ mutationFn: ({ projectId, ref, patch }) => updateMilestone(serverUrl, projectId, ref, patch),
686
+ onSuccess: (_res, vars) => {
687
+ qc.invalidateQueries({ queryKey: ['beeuni', 'milestones', vars.projectId] });
688
+ qc.invalidateQueries({ queryKey: milestoneKeys.detail(vars.projectId, vars.ref) });
689
+ },
690
+ });
691
+ }
692
+ export function useCloseMilestone() {
693
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
694
+ const qc = useQueryClient();
695
+ return useMutation({
696
+ mutationFn: ({ projectId, ref, summary_md, cancelled }) => closeMilestone(serverUrl, projectId, ref, { summary_md, cancelled }),
697
+ onSuccess: (_res, vars) => {
698
+ qc.invalidateQueries({ queryKey: ['beeuni', 'milestones', vars.projectId] });
699
+ qc.invalidateQueries({ queryKey: milestoneKeys.detail(vars.projectId, vars.ref) });
700
+ },
701
+ });
702
+ }
703
+ export function useReopenMilestone() {
704
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
705
+ const qc = useQueryClient();
706
+ return useMutation({
707
+ mutationFn: ({ projectId, ref }) => reopenMilestone(serverUrl, projectId, ref),
708
+ onSuccess: (_res, vars) => {
709
+ qc.invalidateQueries({ queryKey: ['beeuni', 'milestones', vars.projectId] });
710
+ qc.invalidateQueries({ queryKey: milestoneKeys.detail(vars.projectId, vars.ref) });
711
+ },
712
+ });
713
+ }
714
+ export function useDeleteMilestone() {
715
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
716
+ const qc = useQueryClient();
717
+ return useMutation({
718
+ mutationFn: ({ projectId, ref }) => deleteMilestone(serverUrl, projectId, ref),
719
+ onSuccess: (_res, vars) => {
720
+ qc.invalidateQueries({ queryKey: ['beeuni', 'milestones', vars.projectId] });
721
+ },
722
+ });
723
+ }
724
+ export function useSetTicketMilestone() {
725
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
726
+ const qc = useQueryClient();
727
+ return useMutation({
728
+ mutationFn: ({ ticketId, milestoneId }) => updateTicket(serverUrl, ticketId, { milestone_id: milestoneId }),
729
+ onSuccess: (_res, vars) => {
730
+ qc.invalidateQueries({ queryKey: ['beeuni', 'milestones', vars.projectId] });
731
+ qc.invalidateQueries({ queryKey: ['beeuni', 'tickets', vars.projectId] });
732
+ qc.invalidateQueries({ queryKey: ['beeuni', 'ticket', vars.ticketId] });
733
+ },
734
+ });
735
+ }
736
+ const getActiveServerUrl = () => {
737
+ return useServerStore.getState().getActiveServerUrl();
738
+ };
739
+ export const serviceKeys = {
740
+ all: ['sandbox-services'],
741
+ list: (serverUrl, includeAll) => ['sandbox-services', serverUrl, includeAll ? 'all' : 'visible'],
742
+ logs: (serverUrl, serviceId) => ['sandbox-services', serverUrl, 'logs', serviceId],
743
+ templates: (serverUrl) => ['sandbox-services', serverUrl, 'templates'],
744
+ };
745
+ export function useSandboxServices(identity, options) {
746
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
747
+ const includeAll = options?.includeAll ?? false;
748
+ return useQuery({
749
+ queryKey: [...serviceKeys.list(serverUrl, includeAll), identity.userId ?? 'anonymous'],
750
+ queryFn: async () => {
751
+ if (!serverUrl)
752
+ return [];
753
+ return listServices(serverUrl, includeAll);
754
+ },
755
+ enabled: (options?.enabled ?? true) && !identity.isLoading && !!identity.userId && !!serverUrl,
756
+ staleTime: 5_000,
757
+ gcTime: 60_000,
758
+ refetchInterval: 5_000,
759
+ refetchIntervalInBackground: false,
760
+ refetchOnWindowFocus: true,
761
+ });
762
+ }
763
+ export function useSandboxServiceTemplates(identity, options) {
764
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
765
+ return useQuery({
766
+ queryKey: [...serviceKeys.templates(serverUrl), identity.userId ?? 'anonymous'],
767
+ queryFn: async () => {
768
+ if (!serverUrl)
769
+ return [];
770
+ return listServiceTemplates(serverUrl);
771
+ },
772
+ enabled: (options?.enabled ?? true) && !identity.isLoading && !!identity.userId && !!serverUrl,
773
+ staleTime: 60_000,
774
+ gcTime: 5 * 60_000,
775
+ });
776
+ }
777
+ export function useSandboxServiceLogs(identity, serviceId, options) {
778
+ const serverUrl = useServerStore((s) => s.getActiveServerUrl());
779
+ return useQuery({
780
+ queryKey: serviceId
781
+ ? [...serviceKeys.logs(serverUrl, serviceId), identity.userId ?? 'anonymous']
782
+ : ['sandbox-services', serverUrl, 'logs', 'none', identity.userId ?? 'anonymous'],
783
+ queryFn: async () => {
784
+ if (!serverUrl || !serviceId)
785
+ return [];
786
+ return getServiceLogs(serverUrl, serviceId);
787
+ },
788
+ enabled: (options?.enabled ?? true) && !identity.isLoading && !!identity.userId && !!serverUrl && !!serviceId,
789
+ staleTime: 3_000,
790
+ gcTime: 60_000,
791
+ refetchInterval: serviceId ? 3_000 : false,
792
+ refetchIntervalInBackground: false,
793
+ });
794
+ }
795
+ export function useSandboxServiceAction() {
796
+ const queryClient = useQueryClient();
797
+ return useMutation({
798
+ mutationFn: async ({ serviceId, action }) => {
799
+ const serverUrl = getActiveServerUrl();
800
+ if (!serverUrl)
801
+ throw new Error('No active instance selected');
802
+ return sdkServiceAction(serverUrl, serviceId, action);
803
+ },
804
+ onSuccess: () => {
805
+ const serverUrl = getActiveServerUrl();
806
+ queryClient.invalidateQueries({ queryKey: serviceKeys.all });
807
+ if (serverUrl) {
808
+ queryClient.invalidateQueries({ queryKey: serviceKeys.templates(serverUrl) });
809
+ }
810
+ },
811
+ });
812
+ }
813
+ export function useSandboxServiceReconcile() {
814
+ const queryClient = useQueryClient();
815
+ return useMutation({
816
+ mutationFn: async ({ reload } = {}) => {
817
+ const serverUrl = getActiveServerUrl();
818
+ if (!serverUrl)
819
+ throw new Error('No active instance selected');
820
+ return reconcileServices(serverUrl, reload);
821
+ },
822
+ onSuccess: () => {
823
+ queryClient.invalidateQueries({ queryKey: serviceKeys.all });
824
+ },
825
+ });
826
+ }
827
+ export function useRegisterSandboxService() {
828
+ const queryClient = useQueryClient();
829
+ return useMutation({
830
+ mutationFn: async (payload) => {
831
+ const serverUrl = getActiveServerUrl();
832
+ if (!serverUrl)
833
+ throw new Error('No active instance selected');
834
+ return registerService(serverUrl, payload);
835
+ },
836
+ onSuccess: () => {
837
+ queryClient.invalidateQueries({ queryKey: serviceKeys.all });
838
+ },
839
+ });
840
+ }
841
+ export function useSandboxRuntimeReload() {
842
+ return useMutation({
843
+ mutationFn: ({ mode }) => systemReload(mode),
844
+ });
845
+ }