@kortix/sdk 0.9.98

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. package/README.md +313 -0
  2. package/dist/files/client.d.ts +96 -0
  3. package/dist/files/client.d.ts.map +1 -0
  4. package/dist/files/client.js +346 -0
  5. package/dist/files/client.js.map +1 -0
  6. package/dist/files/types.d.ts +82 -0
  7. package/dist/files/types.d.ts.map +1 -0
  8. package/dist/files/types.js +6 -0
  9. package/dist/files/types.js.map +1 -0
  10. package/dist/index.d.ts +119 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +93 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/kortix.d.ts +897 -0
  15. package/dist/kortix.d.ts.map +1 -0
  16. package/dist/kortix.js +772 -0
  17. package/dist/kortix.js.map +1 -0
  18. package/dist/opencode/client.d.ts +89 -0
  19. package/dist/opencode/client.d.ts.map +1 -0
  20. package/dist/opencode/client.js +191 -0
  21. package/dist/opencode/client.js.map +1 -0
  22. package/dist/opencode/env.d.ts +13 -0
  23. package/dist/opencode/env.d.ts.map +1 -0
  24. package/dist/opencode/env.js +63 -0
  25. package/dist/opencode/env.js.map +1 -0
  26. package/dist/opencode/kortix-master.d.ts +487 -0
  27. package/dist/opencode/kortix-master.d.ts.map +1 -0
  28. package/dist/opencode/kortix-master.js +313 -0
  29. package/dist/opencode/kortix-master.js.map +1 -0
  30. package/dist/opencode/triggers.d.ts +6 -0
  31. package/dist/opencode/triggers.d.ts.map +1 -0
  32. package/dist/opencode/triggers.js +34 -0
  33. package/dist/opencode/triggers.js.map +1 -0
  34. package/dist/platform/api/errors.d.ts +106 -0
  35. package/dist/platform/api/errors.d.ts.map +1 -0
  36. package/dist/platform/api/errors.js +137 -0
  37. package/dist/platform/api/errors.js.map +1 -0
  38. package/dist/platform/api-client.d.ts +35 -0
  39. package/dist/platform/api-client.d.ts.map +1 -0
  40. package/dist/platform/api-client.js +279 -0
  41. package/dist/platform/api-client.js.map +1 -0
  42. package/dist/platform/auth-core.d.ts +60 -0
  43. package/dist/platform/auth-core.d.ts.map +1 -0
  44. package/dist/platform/auth-core.js +104 -0
  45. package/dist/platform/auth-core.js.map +1 -0
  46. package/dist/platform/auth.d.ts +88 -0
  47. package/dist/platform/auth.d.ts.map +1 -0
  48. package/dist/platform/auth.js +161 -0
  49. package/dist/platform/auth.js.map +1 -0
  50. package/dist/platform/config-node.d.ts +33 -0
  51. package/dist/platform/config-node.d.ts.map +1 -0
  52. package/dist/platform/config-node.js +63 -0
  53. package/dist/platform/config-node.js.map +1 -0
  54. package/dist/platform/config.d.ts +77 -0
  55. package/dist/platform/config.d.ts.map +1 -0
  56. package/dist/platform/config.js +62 -0
  57. package/dist/platform/config.js.map +1 -0
  58. package/dist/platform/feature-flags.d.ts +25 -0
  59. package/dist/platform/feature-flags.d.ts.map +1 -0
  60. package/dist/platform/feature-flags.js +114 -0
  61. package/dist/platform/feature-flags.js.map +1 -0
  62. package/dist/platform/fresh-sessions.d.ts +4 -0
  63. package/dist/platform/fresh-sessions.d.ts.map +1 -0
  64. package/dist/platform/fresh-sessions.js +22 -0
  65. package/dist/platform/fresh-sessions.js.map +1 -0
  66. package/dist/platform/instance-routes.d.ts +17 -0
  67. package/dist/platform/instance-routes.d.ts.map +1 -0
  68. package/dist/platform/instance-routes.js +105 -0
  69. package/dist/platform/instance-routes.js.map +1 -0
  70. package/dist/platform/logger.d.ts +20 -0
  71. package/dist/platform/logger.d.ts.map +1 -0
  72. package/dist/platform/logger.js +44 -0
  73. package/dist/platform/logger.js.map +1 -0
  74. package/dist/platform/opencode-errors.d.ts +20 -0
  75. package/dist/platform/opencode-errors.d.ts.map +1 -0
  76. package/dist/platform/opencode-errors.js +71 -0
  77. package/dist/platform/opencode-errors.js.map +1 -0
  78. package/dist/platform/platform-client/backups.d.ts +22 -0
  79. package/dist/platform/platform-client/backups.d.ts.map +1 -0
  80. package/dist/platform/platform-client/backups.js +16 -0
  81. package/dist/platform/platform-client/backups.js.map +1 -0
  82. package/dist/platform/platform-client/index.d.ts +21 -0
  83. package/dist/platform/platform-client/index.d.ts.map +1 -0
  84. package/dist/platform/platform-client/index.js +21 -0
  85. package/dist/platform/platform-client/index.js.map +1 -0
  86. package/dist/platform/platform-client/instance-admin.d.ts +67 -0
  87. package/dist/platform/platform-client/instance-admin.d.ts.map +1 -0
  88. package/dist/platform/platform-client/instance-admin.js +59 -0
  89. package/dist/platform/platform-client/instance-admin.js.map +1 -0
  90. package/dist/platform/platform-client/invites.d.ts +35 -0
  91. package/dist/platform/platform-client/invites.d.ts.map +1 -0
  92. package/dist/platform/platform-client/invites.js +25 -0
  93. package/dist/platform/platform-client/invites.js.map +1 -0
  94. package/dist/platform/platform-client/lifecycle.d.ts +78 -0
  95. package/dist/platform/platform-client/lifecycle.d.ts.map +1 -0
  96. package/dist/platform/platform-client/lifecycle.js +151 -0
  97. package/dist/platform/platform-client/lifecycle.js.map +1 -0
  98. package/dist/platform/platform-client/members.d.ts +81 -0
  99. package/dist/platform/platform-client/members.d.ts.map +1 -0
  100. package/dist/platform/platform-client/members.js +59 -0
  101. package/dist/platform/platform-client/members.js.map +1 -0
  102. package/dist/platform/platform-client/shared.d.ts +44 -0
  103. package/dist/platform/platform-client/shared.d.ts.map +1 -0
  104. package/dist/platform/platform-client/shared.js +177 -0
  105. package/dist/platform/platform-client/shared.js.map +1 -0
  106. package/dist/platform/platform-client/ssh.d.ts +29 -0
  107. package/dist/platform/platform-client/ssh.d.ts.map +1 -0
  108. package/dist/platform/platform-client/ssh.js +14 -0
  109. package/dist/platform/platform-client/ssh.js.map +1 -0
  110. package/dist/platform/platform-client/types.d.ts +56 -0
  111. package/dist/platform/platform-client/types.d.ts.map +1 -0
  112. package/dist/platform/platform-client/types.js +19 -0
  113. package/dist/platform/platform-client/types.js.map +1 -0
  114. package/dist/platform/platform-client/updates.d.ts +117 -0
  115. package/dist/platform/platform-client/updates.d.ts.map +1 -0
  116. package/dist/platform/platform-client/updates.js +97 -0
  117. package/dist/platform/platform-client/updates.js.map +1 -0
  118. package/dist/platform/platform-client/urls.d.ts +18 -0
  119. package/dist/platform/platform-client/urls.d.ts.map +1 -0
  120. package/dist/platform/platform-client/urls.js +31 -0
  121. package/dist/platform/platform-client/urls.js.map +1 -0
  122. package/dist/platform/projects-client/access.d.ts +273 -0
  123. package/dist/platform/projects-client/access.d.ts.map +1 -0
  124. package/dist/platform/projects-client/access.js +89 -0
  125. package/dist/platform/projects-client/access.js.map +1 -0
  126. package/dist/platform/projects-client/accounts.d.ts +184 -0
  127. package/dist/platform/projects-client/accounts.d.ts.map +1 -0
  128. package/dist/platform/projects-client/accounts.js +78 -0
  129. package/dist/platform/projects-client/accounts.js.map +1 -0
  130. package/dist/platform/projects-client/agent-config.d.ts +58 -0
  131. package/dist/platform/projects-client/agent-config.d.ts.map +1 -0
  132. package/dist/platform/projects-client/agent-config.js +9 -0
  133. package/dist/platform/projects-client/agent-config.js.map +1 -0
  134. package/dist/platform/projects-client/agent-scope.d.ts +12 -0
  135. package/dist/platform/projects-client/agent-scope.d.ts.map +1 -0
  136. package/dist/platform/projects-client/agent-scope.js +6 -0
  137. package/dist/platform/projects-client/agent-scope.js.map +1 -0
  138. package/dist/platform/projects-client/apps.d.ts +98 -0
  139. package/dist/platform/projects-client/apps.d.ts.map +1 -0
  140. package/dist/platform/projects-client/apps.js +29 -0
  141. package/dist/platform/projects-client/apps.js.map +1 -0
  142. package/dist/platform/projects-client/audit.d.ts +85 -0
  143. package/dist/platform/projects-client/audit.d.ts.map +1 -0
  144. package/dist/platform/projects-client/audit.js +51 -0
  145. package/dist/platform/projects-client/audit.js.map +1 -0
  146. package/dist/platform/projects-client/billing.d.ts +336 -0
  147. package/dist/platform/projects-client/billing.d.ts.map +1 -0
  148. package/dist/platform/projects-client/billing.js +260 -0
  149. package/dist/platform/projects-client/billing.js.map +1 -0
  150. package/dist/platform/projects-client/change-requests.d.ts +119 -0
  151. package/dist/platform/projects-client/change-requests.d.ts.map +1 -0
  152. package/dist/platform/projects-client/change-requests.js +56 -0
  153. package/dist/platform/projects-client/change-requests.js.map +1 -0
  154. package/dist/platform/projects-client/channels.d.ts +135 -0
  155. package/dist/platform/projects-client/channels.d.ts.map +1 -0
  156. package/dist/platform/projects-client/channels.js +103 -0
  157. package/dist/platform/projects-client/channels.js.map +1 -0
  158. package/dist/platform/projects-client/connectors.d.ts +148 -0
  159. package/dist/platform/projects-client/connectors.d.ts.map +1 -0
  160. package/dist/platform/projects-client/connectors.js +66 -0
  161. package/dist/platform/projects-client/connectors.js.map +1 -0
  162. package/dist/platform/projects-client/files.d.ts +37 -0
  163. package/dist/platform/projects-client/files.d.ts.map +1 -0
  164. package/dist/platform/projects-client/files.js +58 -0
  165. package/dist/platform/projects-client/files.js.map +1 -0
  166. package/dist/platform/projects-client/gateway.d.ts +177 -0
  167. package/dist/platform/projects-client/gateway.d.ts.map +1 -0
  168. package/dist/platform/projects-client/gateway.js +59 -0
  169. package/dist/platform/projects-client/gateway.js.map +1 -0
  170. package/dist/platform/projects-client/git-history.d.ts +74 -0
  171. package/dist/platform/projects-client/git-history.d.ts.map +1 -0
  172. package/dist/platform/projects-client/git-history.js +40 -0
  173. package/dist/platform/projects-client/git-history.js.map +1 -0
  174. package/dist/platform/projects-client/github.d.ts +62 -0
  175. package/dist/platform/projects-client/github.d.ts.map +1 -0
  176. package/dist/platform/projects-client/github.js +30 -0
  177. package/dist/platform/projects-client/github.js.map +1 -0
  178. package/dist/platform/projects-client/index.d.ts +32 -0
  179. package/dist/platform/projects-client/index.d.ts.map +1 -0
  180. package/dist/platform/projects-client/index.js +34 -0
  181. package/dist/platform/projects-client/index.js.map +1 -0
  182. package/dist/platform/projects-client/marketplace-catalog.d.ts +76 -0
  183. package/dist/platform/projects-client/marketplace-catalog.d.ts.map +1 -0
  184. package/dist/platform/projects-client/marketplace-catalog.js +48 -0
  185. package/dist/platform/projects-client/marketplace-catalog.js.map +1 -0
  186. package/dist/platform/projects-client/marketplace.d.ts +80 -0
  187. package/dist/platform/projects-client/marketplace.d.ts.map +1 -0
  188. package/dist/platform/projects-client/marketplace.js +52 -0
  189. package/dist/platform/projects-client/marketplace.js.map +1 -0
  190. package/dist/platform/projects-client/model-defaults.d.ts +36 -0
  191. package/dist/platform/projects-client/model-defaults.d.ts.map +1 -0
  192. package/dist/platform/projects-client/model-defaults.js +16 -0
  193. package/dist/platform/projects-client/model-defaults.js.map +1 -0
  194. package/dist/platform/projects-client/policies.d.ts +21 -0
  195. package/dist/platform/projects-client/policies.d.ts.map +1 -0
  196. package/dist/platform/projects-client/policies.js +10 -0
  197. package/dist/platform/projects-client/policies.js.map +1 -0
  198. package/dist/platform/projects-client/projects.d.ts +235 -0
  199. package/dist/platform/projects-client/projects.d.ts.map +1 -0
  200. package/dist/platform/projects-client/projects.js +161 -0
  201. package/dist/platform/projects-client/projects.js.map +1 -0
  202. package/dist/platform/projects-client/public-session-shares.d.ts +52 -0
  203. package/dist/platform/projects-client/public-session-shares.d.ts.map +1 -0
  204. package/dist/platform/projects-client/public-session-shares.js +54 -0
  205. package/dist/platform/projects-client/public-session-shares.js.map +1 -0
  206. package/dist/platform/projects-client/review.d.ts +57 -0
  207. package/dist/platform/projects-client/review.d.ts.map +1 -0
  208. package/dist/platform/projects-client/review.js +28 -0
  209. package/dist/platform/projects-client/review.js.map +1 -0
  210. package/dist/platform/projects-client/sandbox-shares.d.ts +25 -0
  211. package/dist/platform/projects-client/sandbox-shares.d.ts.map +1 -0
  212. package/dist/platform/projects-client/sandbox-shares.js +29 -0
  213. package/dist/platform/projects-client/sandbox-shares.js.map +1 -0
  214. package/dist/platform/projects-client/sandbox.d.ts +123 -0
  215. package/dist/platform/projects-client/sandbox.d.ts.map +1 -0
  216. package/dist/platform/projects-client/sandbox.js +45 -0
  217. package/dist/platform/projects-client/sandbox.js.map +1 -0
  218. package/dist/platform/projects-client/secrets.d.ts +122 -0
  219. package/dist/platform/projects-client/secrets.d.ts.map +1 -0
  220. package/dist/platform/projects-client/secrets.js +34 -0
  221. package/dist/platform/projects-client/secrets.js.map +1 -0
  222. package/dist/platform/projects-client/session-sandbox.d.ts +61 -0
  223. package/dist/platform/projects-client/session-sandbox.d.ts.map +1 -0
  224. package/dist/platform/projects-client/session-sandbox.js +82 -0
  225. package/dist/platform/projects-client/session-sandbox.js.map +1 -0
  226. package/dist/platform/projects-client/sessions.d.ts +216 -0
  227. package/dist/platform/projects-client/sessions.d.ts.map +1 -0
  228. package/dist/platform/projects-client/sessions.js +74 -0
  229. package/dist/platform/projects-client/sessions.js.map +1 -0
  230. package/dist/platform/projects-client/setup-links.d.ts +35 -0
  231. package/dist/platform/projects-client/setup-links.d.ts.map +1 -0
  232. package/dist/platform/projects-client/setup-links.js +24 -0
  233. package/dist/platform/projects-client/setup-links.js.map +1 -0
  234. package/dist/platform/projects-client/shared.d.ts +66 -0
  235. package/dist/platform/projects-client/shared.d.ts.map +1 -0
  236. package/dist/platform/projects-client/shared.js +44 -0
  237. package/dist/platform/projects-client/shared.js.map +1 -0
  238. package/dist/platform/projects-client/tokens.d.ts +77 -0
  239. package/dist/platform/projects-client/tokens.d.ts.map +1 -0
  240. package/dist/platform/projects-client/tokens.js +43 -0
  241. package/dist/platform/projects-client/tokens.js.map +1 -0
  242. package/dist/platform/projects-client/transcription.d.ts +5 -0
  243. package/dist/platform/projects-client/transcription.d.ts.map +1 -0
  244. package/dist/platform/projects-client/transcription.js +14 -0
  245. package/dist/platform/projects-client/transcription.js.map +1 -0
  246. package/dist/platform/projects-client/triggers.d.ts +102 -0
  247. package/dist/platform/projects-client/triggers.d.ts.map +1 -0
  248. package/dist/platform/projects-client/triggers.js +27 -0
  249. package/dist/platform/projects-client/triggers.js.map +1 -0
  250. package/dist/platform/session-id.d.ts +9 -0
  251. package/dist/platform/session-id.d.ts.map +1 -0
  252. package/dist/platform/session-id.js +23 -0
  253. package/dist/platform/session-id.js.map +1 -0
  254. package/dist/platform/storage/managed-storage.d.ts +97 -0
  255. package/dist/platform/storage/managed-storage.d.ts.map +1 -0
  256. package/dist/platform/storage/managed-storage.js +271 -0
  257. package/dist/platform/storage/managed-storage.js.map +1 -0
  258. package/dist/platform/strings.d.ts +12 -0
  259. package/dist/platform/strings.d.ts.map +1 -0
  260. package/dist/platform/strings.js +17 -0
  261. package/dist/platform/strings.js.map +1 -0
  262. package/dist/platform/ui.d.ts +11 -0
  263. package/dist/platform/ui.d.ts.map +1 -0
  264. package/dist/platform/ui.js +22 -0
  265. package/dist/platform/ui.js.map +1 -0
  266. package/dist/react/chat/index.d.ts +3 -0
  267. package/dist/react/chat/index.d.ts.map +1 -0
  268. package/dist/react/chat/index.js +7 -0
  269. package/dist/react/chat/index.js.map +1 -0
  270. package/dist/react/chat/render-parts.d.ts +39 -0
  271. package/dist/react/chat/render-parts.d.ts.map +1 -0
  272. package/dist/react/chat/render-parts.js +34 -0
  273. package/dist/react/chat/render-parts.js.map +1 -0
  274. package/dist/react/chat/use-chat-turns.d.ts +19 -0
  275. package/dist/react/chat/use-chat-turns.d.ts.map +1 -0
  276. package/dist/react/chat/use-chat-turns.js +27 -0
  277. package/dist/react/chat/use-chat-turns.js.map +1 -0
  278. package/dist/react/file-keys.d.ts +18 -0
  279. package/dist/react/file-keys.d.ts.map +1 -0
  280. package/dist/react/file-keys.js +18 -0
  281. package/dist/react/file-keys.js.map +1 -0
  282. package/dist/react/index.d.ts +12 -0
  283. package/dist/react/index.d.ts.map +1 -0
  284. package/dist/react/index.js +49 -0
  285. package/dist/react/index.js.map +1 -0
  286. package/dist/react/model-flatten.d.ts +33 -0
  287. package/dist/react/model-flatten.d.ts.map +1 -0
  288. package/dist/react/model-flatten.js +59 -0
  289. package/dist/react/model-flatten.js.map +1 -0
  290. package/dist/react/opencode.d.ts +43 -0
  291. package/dist/react/opencode.d.ts.map +1 -0
  292. package/dist/react/opencode.js +100 -0
  293. package/dist/react/opencode.js.map +1 -0
  294. package/dist/react/prefetch-session-start.d.ts +10 -0
  295. package/dist/react/prefetch-session-start.d.ts.map +1 -0
  296. package/dist/react/prefetch-session-start.js +17 -0
  297. package/dist/react/prefetch-session-start.js.map +1 -0
  298. package/dist/react/provider-refresh.d.ts +7 -0
  299. package/dist/react/provider-refresh.d.ts.map +1 -0
  300. package/dist/react/provider-refresh.js +28 -0
  301. package/dist/react/provider-refresh.js.map +1 -0
  302. package/dist/react/provider-selection.d.ts +31 -0
  303. package/dist/react/provider-selection.d.ts.map +1 -0
  304. package/dist/react/provider-selection.js +135 -0
  305. package/dist/react/provider-selection.js.map +1 -0
  306. package/dist/react/route-project.d.ts +7 -0
  307. package/dist/react/route-project.d.ts.map +1 -0
  308. package/dist/react/route-project.js +19 -0
  309. package/dist/react/route-project.js.map +1 -0
  310. package/dist/react/session-start-stash.d.ts +56 -0
  311. package/dist/react/session-start-stash.d.ts.map +1 -0
  312. package/dist/react/session-start-stash.js +202 -0
  313. package/dist/react/session-start-stash.js.map +1 -0
  314. package/dist/react/use-canonical-opencode-session.d.ts +35 -0
  315. package/dist/react/use-canonical-opencode-session.d.ts.map +1 -0
  316. package/dist/react/use-canonical-opencode-session.js +52 -0
  317. package/dist/react/use-canonical-opencode-session.js.map +1 -0
  318. package/dist/react/use-change-requests.d.ts +321 -0
  319. package/dist/react/use-change-requests.d.ts.map +1 -0
  320. package/dist/react/use-change-requests.js +43 -0
  321. package/dist/react/use-change-requests.js.map +1 -0
  322. package/dist/react/use-current-runtime.d.ts +8 -0
  323. package/dist/react/use-current-runtime.d.ts.map +1 -0
  324. package/dist/react/use-current-runtime.js +12 -0
  325. package/dist/react/use-current-runtime.js.map +1 -0
  326. package/dist/react/use-gateway-catalog-sync.d.ts +2 -0
  327. package/dist/react/use-gateway-catalog-sync.d.ts.map +1 -0
  328. package/dist/react/use-gateway-catalog-sync.js +39 -0
  329. package/dist/react/use-gateway-catalog-sync.js.map +1 -0
  330. package/dist/react/use-kortix-master.d.ts +384 -0
  331. package/dist/react/use-kortix-master.d.ts.map +1 -0
  332. package/dist/react/use-kortix-master.js +958 -0
  333. package/dist/react/use-kortix-master.js.map +1 -0
  334. package/dist/react/use-model-store.d.ts +71 -0
  335. package/dist/react/use-model-store.d.ts.map +1 -0
  336. package/dist/react/use-model-store.js +411 -0
  337. package/dist/react/use-model-store.js.map +1 -0
  338. package/dist/react/use-opencode-config.d.ts +15 -0
  339. package/dist/react/use-opencode-config.d.ts.map +1 -0
  340. package/dist/react/use-opencode-config.js +79 -0
  341. package/dist/react/use-opencode-config.js.map +1 -0
  342. package/dist/react/use-opencode-events/diagnostics.d.ts +11 -0
  343. package/dist/react/use-opencode-events/diagnostics.d.ts.map +1 -0
  344. package/dist/react/use-opencode-events/diagnostics.js +58 -0
  345. package/dist/react/use-opencode-events/diagnostics.js.map +1 -0
  346. package/dist/react/use-opencode-events/handle-event.d.ts +20 -0
  347. package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -0
  348. package/dist/react/use-opencode-events/handle-event.js +450 -0
  349. package/dist/react/use-opencode-events/handle-event.js.map +1 -0
  350. package/dist/react/use-opencode-events/helpers.d.ts +30 -0
  351. package/dist/react/use-opencode-events/helpers.d.ts.map +1 -0
  352. package/dist/react/use-opencode-events/helpers.js +93 -0
  353. package/dist/react/use-opencode-events/helpers.js.map +1 -0
  354. package/dist/react/use-opencode-events/index.d.ts +25 -0
  355. package/dist/react/use-opencode-events/index.d.ts.map +1 -0
  356. package/dist/react/use-opencode-events/index.js +242 -0
  357. package/dist/react/use-opencode-events/index.js.map +1 -0
  358. package/dist/react/use-opencode-events/types.d.ts +10 -0
  359. package/dist/react/use-opencode-events/types.d.ts.map +1 -0
  360. package/dist/react/use-opencode-events/types.js +2 -0
  361. package/dist/react/use-opencode-events/types.js.map +1 -0
  362. package/dist/react/use-opencode-events/use-event-stream-refs.d.ts +22 -0
  363. package/dist/react/use-opencode-events/use-event-stream-refs.d.ts.map +1 -0
  364. package/dist/react/use-opencode-events/use-event-stream-refs.js +158 -0
  365. package/dist/react/use-opencode-events/use-event-stream-refs.js.map +1 -0
  366. package/dist/react/use-opencode-local.d.ts +139 -0
  367. package/dist/react/use-opencode-local.d.ts.map +1 -0
  368. package/dist/react/use-opencode-local.js +484 -0
  369. package/dist/react/use-opencode-local.js.map +1 -0
  370. package/dist/react/use-opencode-mcp.d.ts +34 -0
  371. package/dist/react/use-opencode-mcp.d.ts.map +1 -0
  372. package/dist/react/use-opencode-mcp.js +190 -0
  373. package/dist/react/use-opencode-mcp.js.map +1 -0
  374. package/dist/react/use-opencode-pty.d.ts +30 -0
  375. package/dist/react/use-opencode-pty.d.ts.map +1 -0
  376. package/dist/react/use-opencode-pty.js +126 -0
  377. package/dist/react/use-opencode-pty.js.map +1 -0
  378. package/dist/react/use-opencode-sessions/agents.d.ts +14 -0
  379. package/dist/react/use-opencode-sessions/agents.d.ts.map +1 -0
  380. package/dist/react/use-opencode-sessions/agents.js +82 -0
  381. package/dist/react/use-opencode-sessions/agents.js.map +1 -0
  382. package/dist/react/use-opencode-sessions/commands.d.ts +8 -0
  383. package/dist/react/use-opencode-sessions/commands.d.ts.map +1 -0
  384. package/dist/react/use-opencode-sessions/commands.js +46 -0
  385. package/dist/react/use-opencode-sessions/commands.js.map +1 -0
  386. package/dist/react/use-opencode-sessions/files.d.ts +2 -0
  387. package/dist/react/use-opencode-sessions/files.d.ts.map +1 -0
  388. package/dist/react/use-opencode-sessions/files.js +181 -0
  389. package/dist/react/use-opencode-sessions/files.js.map +1 -0
  390. package/dist/react/use-opencode-sessions/index.d.ts +15 -0
  391. package/dist/react/use-opencode-sessions/index.d.ts.map +1 -0
  392. package/dist/react/use-opencode-sessions/index.js +21 -0
  393. package/dist/react/use-opencode-sessions/index.js.map +1 -0
  394. package/dist/react/use-opencode-sessions/keys.d.ts +94 -0
  395. package/dist/react/use-opencode-sessions/keys.d.ts.map +1 -0
  396. package/dist/react/use-opencode-sessions/keys.js +39 -0
  397. package/dist/react/use-opencode-sessions/keys.js.map +1 -0
  398. package/dist/react/use-opencode-sessions/mcp.d.ts +3 -0
  399. package/dist/react/use-opencode-sessions/mcp.d.ts.map +1 -0
  400. package/dist/react/use-opencode-sessions/mcp.js +23 -0
  401. package/dist/react/use-opencode-sessions/mcp.js.map +1 -0
  402. package/dist/react/use-opencode-sessions/messages.d.ts +75 -0
  403. package/dist/react/use-opencode-sessions/messages.d.ts.map +1 -0
  404. package/dist/react/use-opencode-sessions/messages.js +319 -0
  405. package/dist/react/use-opencode-sessions/messages.js.map +1 -0
  406. package/dist/react/use-opencode-sessions/parts.d.ts +23 -0
  407. package/dist/react/use-opencode-sessions/parts.d.ts.map +1 -0
  408. package/dist/react/use-opencode-sessions/parts.js +49 -0
  409. package/dist/react/use-opencode-sessions/parts.js.map +1 -0
  410. package/dist/react/use-opencode-sessions/permissions.d.ts +17 -0
  411. package/dist/react/use-opencode-sessions/permissions.d.ts.map +1 -0
  412. package/dist/react/use-opencode-sessions/permissions.js +66 -0
  413. package/dist/react/use-opencode-sessions/permissions.js.map +1 -0
  414. package/dist/react/use-opencode-sessions/projects.d.ts +5 -0
  415. package/dist/react/use-opencode-sessions/projects.d.ts.map +1 -0
  416. package/dist/react/use-opencode-sessions/projects.js +54 -0
  417. package/dist/react/use-opencode-sessions/projects.js.map +1 -0
  418. package/dist/react/use-opencode-sessions/providers.d.ts +10 -0
  419. package/dist/react/use-opencode-sessions/providers.d.ts.map +1 -0
  420. package/dist/react/use-opencode-sessions/providers.js +98 -0
  421. package/dist/react/use-opencode-sessions/providers.js.map +1 -0
  422. package/dist/react/use-opencode-sessions/sessions.d.ts +35 -0
  423. package/dist/react/use-opencode-sessions/sessions.d.ts.map +1 -0
  424. package/dist/react/use-opencode-sessions/sessions.js +380 -0
  425. package/dist/react/use-opencode-sessions/sessions.js.map +1 -0
  426. package/dist/react/use-opencode-sessions/shared.d.ts +43 -0
  427. package/dist/react/use-opencode-sessions/shared.d.ts.map +1 -0
  428. package/dist/react/use-opencode-sessions/shared.js +109 -0
  429. package/dist/react/use-opencode-sessions/shared.js.map +1 -0
  430. package/dist/react/use-opencode-sessions/sharing.d.ts +4 -0
  431. package/dist/react/use-opencode-sessions/sharing.d.ts.map +1 -0
  432. package/dist/react/use-opencode-sessions/sharing.js +57 -0
  433. package/dist/react/use-opencode-sessions/sharing.js.map +1 -0
  434. package/dist/react/use-opencode-sessions/tools.d.ts +5 -0
  435. package/dist/react/use-opencode-sessions/tools.d.ts.map +1 -0
  436. package/dist/react/use-opencode-sessions/tools.js +54 -0
  437. package/dist/react/use-opencode-sessions/tools.js.map +1 -0
  438. package/dist/react/use-permission-self-heal.d.ts +45 -0
  439. package/dist/react/use-permission-self-heal.d.ts.map +1 -0
  440. package/dist/react/use-permission-self-heal.js +144 -0
  441. package/dist/react/use-permission-self-heal.js.map +1 -0
  442. package/dist/react/use-project-config.d.ts +11 -0
  443. package/dist/react/use-project-config.d.ts.map +1 -0
  444. package/dist/react/use-project-config.js +22 -0
  445. package/dist/react/use-project-config.js.map +1 -0
  446. package/dist/react/use-project-models.d.ts +11 -0
  447. package/dist/react/use-project-models.d.ts.map +1 -0
  448. package/dist/react/use-project-models.js +25 -0
  449. package/dist/react/use-project-models.js.map +1 -0
  450. package/dist/react/use-project-secrets.d.ts +265 -0
  451. package/dist/react/use-project-secrets.d.ts.map +1 -0
  452. package/dist/react/use-project-secrets.js +41 -0
  453. package/dist/react/use-project-secrets.js.map +1 -0
  454. package/dist/react/use-project-triggers.d.ts +228 -0
  455. package/dist/react/use-project-triggers.d.ts.map +1 -0
  456. package/dist/react/use-project-triggers.js +42 -0
  457. package/dist/react/use-project-triggers.js.map +1 -0
  458. package/dist/react/use-question-self-heal.d.ts +36 -0
  459. package/dist/react/use-question-self-heal.d.ts.map +1 -0
  460. package/dist/react/use-question-self-heal.js +95 -0
  461. package/dist/react/use-question-self-heal.js.map +1 -0
  462. package/dist/react/use-runtime-phase.d.ts +9 -0
  463. package/dist/react/use-runtime-phase.d.ts.map +1 -0
  464. package/dist/react/use-runtime-phase.js +20 -0
  465. package/dist/react/use-runtime-phase.js.map +1 -0
  466. package/dist/react/use-runtime-reconnect.d.ts +90 -0
  467. package/dist/react/use-runtime-reconnect.d.ts.map +1 -0
  468. package/dist/react/use-runtime-reconnect.js +234 -0
  469. package/dist/react/use-runtime-reconnect.js.map +1 -0
  470. package/dist/react/use-session-picks.d.ts +17 -0
  471. package/dist/react/use-session-picks.d.ts.map +1 -0
  472. package/dist/react/use-session-picks.js +36 -0
  473. package/dist/react/use-session-picks.js.map +1 -0
  474. package/dist/react/use-session-prefetch.d.ts +18 -0
  475. package/dist/react/use-session-prefetch.d.ts.map +1 -0
  476. package/dist/react/use-session-prefetch.js +84 -0
  477. package/dist/react/use-session-prefetch.js.map +1 -0
  478. package/dist/react/use-session-send.d.ts +183 -0
  479. package/dist/react/use-session-send.d.ts.map +1 -0
  480. package/dist/react/use-session-send.js +287 -0
  481. package/dist/react/use-session-send.js.map +1 -0
  482. package/dist/react/use-session-sync.d.ts +24 -0
  483. package/dist/react/use-session-sync.d.ts.map +1 -0
  484. package/dist/react/use-session-sync.js +375 -0
  485. package/dist/react/use-session-sync.js.map +1 -0
  486. package/dist/react/use-session.d.ts +171 -0
  487. package/dist/react/use-session.d.ts.map +1 -0
  488. package/dist/react/use-session.js +396 -0
  489. package/dist/react/use-session.js.map +1 -0
  490. package/dist/react/use-visible-agents.d.ts +22 -0
  491. package/dist/react/use-visible-agents.d.ts.map +1 -0
  492. package/dist/react/use-visible-agents.js +45 -0
  493. package/dist/react/use-visible-agents.js.map +1 -0
  494. package/dist/server.d.ts +55 -0
  495. package/dist/server.d.ts.map +1 -0
  496. package/dist/server.js +122 -0
  497. package/dist/server.js.map +1 -0
  498. package/dist/session/health.d.ts +49 -0
  499. package/dist/session/health.d.ts.map +1 -0
  500. package/dist/session/health.js +57 -0
  501. package/dist/session/health.js.map +1 -0
  502. package/dist/session/index.d.ts +19 -0
  503. package/dist/session/index.d.ts.map +1 -0
  504. package/dist/session/index.js +19 -0
  505. package/dist/session/index.js.map +1 -0
  506. package/dist/session/preview.d.ts +24 -0
  507. package/dist/session/preview.d.ts.map +1 -0
  508. package/dist/session/preview.js +85 -0
  509. package/dist/session/preview.js.map +1 -0
  510. package/dist/session/url.d.ts +160 -0
  511. package/dist/session/url.d.ts.map +1 -0
  512. package/dist/session/url.js +522 -0
  513. package/dist/session/url.js.map +1 -0
  514. package/dist/state/chat-events.d.ts +141 -0
  515. package/dist/state/chat-events.d.ts.map +1 -0
  516. package/dist/state/chat-events.js +135 -0
  517. package/dist/state/chat-events.js.map +1 -0
  518. package/dist/state/current-runtime.d.ts +44 -0
  519. package/dist/state/current-runtime.d.ts.map +1 -0
  520. package/dist/state/current-runtime.js +44 -0
  521. package/dist/state/current-runtime.js.map +1 -0
  522. package/dist/state/diagnostics-store.d.ts +114 -0
  523. package/dist/state/diagnostics-store.d.ts.map +1 -0
  524. package/dist/state/diagnostics-store.js +319 -0
  525. package/dist/state/diagnostics-store.js.map +1 -0
  526. package/dist/state/event-stream.d.ts +134 -0
  527. package/dist/state/event-stream.d.ts.map +1 -0
  528. package/dist/state/event-stream.js +424 -0
  529. package/dist/state/event-stream.js.map +1 -0
  530. package/dist/state/idb-sync-cache.d.ts +18 -0
  531. package/dist/state/idb-sync-cache.d.ts.map +1 -0
  532. package/dist/state/idb-sync-cache.js +209 -0
  533. package/dist/state/idb-sync-cache.js.map +1 -0
  534. package/dist/state/opencode-compaction-store.d.ts +10 -0
  535. package/dist/state/opencode-compaction-store.d.ts.map +1 -0
  536. package/dist/state/opencode-compaction-store.js +32 -0
  537. package/dist/state/opencode-compaction-store.js.map +1 -0
  538. package/dist/state/opencode-pending-store.d.ts +19 -0
  539. package/dist/state/opencode-pending-store.d.ts.map +1 -0
  540. package/dist/state/opencode-pending-store.js +76 -0
  541. package/dist/state/opencode-pending-store.js.map +1 -0
  542. package/dist/state/sandbox-connection-store.d.ts +62 -0
  543. package/dist/state/sandbox-connection-store.d.ts.map +1 -0
  544. package/dist/state/sandbox-connection-store.js +290 -0
  545. package/dist/state/sandbox-connection-store.js.map +1 -0
  546. package/dist/state/server-store/active.d.ts +49 -0
  547. package/dist/state/server-store/active.d.ts.map +1 -0
  548. package/dist/state/server-store/active.js +76 -0
  549. package/dist/state/server-store/active.js.map +1 -0
  550. package/dist/state/server-store/types.d.ts +12 -0
  551. package/dist/state/server-store/types.d.ts.map +1 -0
  552. package/dist/state/server-store/types.js +2 -0
  553. package/dist/state/server-store/types.js.map +1 -0
  554. package/dist/state/server-store/url-helpers.d.ts +33 -0
  555. package/dist/state/server-store/url-helpers.d.ts.map +1 -0
  556. package/dist/state/server-store/url-helpers.js +55 -0
  557. package/dist/state/server-store/url-helpers.js.map +1 -0
  558. package/dist/state/server-store.d.ts +18 -0
  559. package/dist/state/server-store.d.ts.map +1 -0
  560. package/dist/state/server-store.js +23 -0
  561. package/dist/state/server-store.js.map +1 -0
  562. package/dist/state/session-runtime-registry.d.ts +49 -0
  563. package/dist/state/session-runtime-registry.d.ts.map +1 -0
  564. package/dist/state/session-runtime-registry.js +85 -0
  565. package/dist/state/session-runtime-registry.js.map +1 -0
  566. package/dist/state/sync-store/ascending-id.d.ts +2 -0
  567. package/dist/state/sync-store/ascending-id.d.ts.map +1 -0
  568. package/dist/state/sync-store/ascending-id.js +21 -0
  569. package/dist/state/sync-store/ascending-id.js.map +1 -0
  570. package/dist/state/sync-store/binary.d.ts +7 -0
  571. package/dist/state/sync-store/binary.d.ts.map +1 -0
  572. package/dist/state/sync-store/binary.js +21 -0
  573. package/dist/state/sync-store/binary.js.map +1 -0
  574. package/dist/state/sync-store/stream-cache.d.ts +2 -0
  575. package/dist/state/sync-store/stream-cache.d.ts.map +1 -0
  576. package/dist/state/sync-store/stream-cache.js +29 -0
  577. package/dist/state/sync-store/stream-cache.js.map +1 -0
  578. package/dist/state/sync-store/types.d.ts +29 -0
  579. package/dist/state/sync-store/types.d.ts.map +1 -0
  580. package/dist/state/sync-store/types.js +2 -0
  581. package/dist/state/sync-store/types.js.map +1 -0
  582. package/dist/state/sync-store.d.ts +39 -0
  583. package/dist/state/sync-store.d.ts.map +1 -0
  584. package/dist/state/sync-store.js +692 -0
  585. package/dist/state/sync-store.js.map +1 -0
  586. package/dist/state/tab-store.d.ts +91 -0
  587. package/dist/state/tab-store.d.ts.map +1 -0
  588. package/dist/state/tab-store.js +369 -0
  589. package/dist/state/tab-store.js.map +1 -0
  590. package/dist/transcript.d.ts +40 -0
  591. package/dist/transcript.d.ts.map +1 -0
  592. package/dist/transcript.js +126 -0
  593. package/dist/transcript.js.map +1 -0
  594. package/dist/turns/classify.d.ts +166 -0
  595. package/dist/turns/classify.d.ts.map +1 -0
  596. package/dist/turns/classify.js +259 -0
  597. package/dist/turns/classify.js.map +1 -0
  598. package/dist/turns/errors.d.ts +11 -0
  599. package/dist/turns/errors.d.ts.map +1 -0
  600. package/dist/turns/errors.js +85 -0
  601. package/dist/turns/errors.js.map +1 -0
  602. package/dist/turns/index.d.ts +264 -0
  603. package/dist/turns/index.d.ts.map +1 -0
  604. package/dist/turns/index.js +1243 -0
  605. package/dist/turns/index.js.map +1 -0
  606. package/dist/turns/tool-registry.d.ts +33 -0
  607. package/dist/turns/tool-registry.d.ts.map +1 -0
  608. package/dist/turns/tool-registry.js +108 -0
  609. package/dist/turns/tool-registry.js.map +1 -0
  610. package/dist/turns/types.d.ts +125 -0
  611. package/dist/turns/types.d.ts.map +1 -0
  612. package/dist/turns/types.js +12 -0
  613. package/dist/turns/types.js.map +1 -0
  614. package/dist/turns/view-model.d.ts +127 -0
  615. package/dist/turns/view-model.d.ts.map +1 -0
  616. package/dist/turns/view-model.js +401 -0
  617. package/dist/turns/view-model.js.map +1 -0
  618. package/package.json +155 -0
@@ -0,0 +1,25 @@
1
+ export interface PublicSandboxShare {
2
+ url: string;
3
+ port: number;
4
+ token: string;
5
+ expiresAt: string;
6
+ label?: string;
7
+ }
8
+ export interface CreateSandboxShareInput {
9
+ sandboxId: string;
10
+ port: number;
11
+ ttl?: string;
12
+ label?: string;
13
+ }
14
+ export interface CreateSandboxShareResponse {
15
+ url: string;
16
+ expiresAt?: string;
17
+ label?: string;
18
+ }
19
+ /** Every active public share link for a sandbox. */
20
+ export declare function listSandboxShares(sandboxId: string): Promise<PublicSandboxShare[]>;
21
+ /** Create a token-gated public URL for a sandbox port. */
22
+ export declare function createSandboxShare(input: CreateSandboxShareInput): Promise<CreateSandboxShareResponse>;
23
+ /** Revoke a public share link by its token. */
24
+ export declare function revokeSandboxShare(sandboxId: string, token: string): Promise<void>;
25
+ //# sourceMappingURL=sandbox-shares.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-shares.d.ts","sourceRoot":"","sources":["../../../src/platform/projects-client/sandbox-shares.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oDAAoD;AACpD,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAQxF;AAED,0DAA0D;AAC1D,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,0BAA0B,CAAC,CAUrC;AAED,+CAA+C;AAC/C,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxF"}
@@ -0,0 +1,29 @@
1
+ // Public sandbox share links — `/v1/p/share`. Sandbox-scoped, NOT project-
2
+ // scoped: the route takes a `sandbox_id` (the sandbox's external id), never a
3
+ // Kortix project id, and proxies through to the sandbox daemon's own
4
+ // `/kortix/share` endpoints (see apps/api/src/sandbox-proxy/routes/share.ts).
5
+ // Lives in `projects-client` for barrel/discoverability reasons even though
6
+ // its URLs sit outside `/projects`.
7
+ import { backendApi } from '../api-client.js';
8
+ import { unwrap } from './shared.js';
9
+ /** Every active public share link for a sandbox. */
10
+ export async function listSandboxShares(sandboxId) {
11
+ const data = unwrap(await backendApi.get(`/p/share?sandbox_id=${encodeURIComponent(sandboxId)}`), 'Failed to load public links');
12
+ return data.shares ?? [];
13
+ }
14
+ /** Create a token-gated public URL for a sandbox port. */
15
+ export async function createSandboxShare(input) {
16
+ return unwrap(await backendApi.post('/p/share', {
17
+ sandbox_id: input.sandboxId,
18
+ port: input.port,
19
+ ttl: input.ttl,
20
+ label: input.label,
21
+ }), 'Failed to generate public URL');
22
+ }
23
+ /** Revoke a public share link by its token. */
24
+ export async function revokeSandboxShare(sandboxId, token) {
25
+ const res = await backendApi.delete(`/p/share/${encodeURIComponent(token)}?sandbox_id=${encodeURIComponent(sandboxId)}`);
26
+ if (!res.success)
27
+ throw new Error(res.error?.message ?? 'Failed to revoke public link');
28
+ }
29
+ //# sourceMappingURL=sandbox-shares.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-shares.js","sourceRoot":"","sources":["../../../src/platform/projects-client/sandbox-shares.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,8EAA8E;AAC9E,qEAAqE;AACrE,8EAA8E;AAC9E,4EAA4E;AAC5E,oCAAoC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAuBlC,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IACvD,MAAM,IAAI,GAAG,MAAM,CACjB,MAAM,UAAU,CAAC,GAAG,CAClB,uBAAuB,kBAAkB,CAAC,SAAS,CAAC,EAAE,CACvD,EACD,6BAA6B,CAC9B,CAAC;IACF,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA8B;IAE9B,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CAA6B,UAAU,EAAE;QAC5D,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,EACF,+BAA+B,CAChC,CAAC;AACJ,CAAC;AAED,+CAA+C;AAC/C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB,EAAE,KAAa;IACvE,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,CACjC,YAAY,kBAAkB,CAAC,KAAK,CAAC,eAAe,kBAAkB,CAAC,SAAS,CAAC,EAAE,CACpF,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,8BAA8B,CAAC,CAAC;AAC1F,CAAC"}
@@ -0,0 +1,123 @@
1
+ /** Lifecycle status of a single build attempt. */
2
+ export type ProjectSnapshotStatus = 'building' | 'ready' | 'failed';
3
+ /** Classified reason a snapshot build failed. */
4
+ export type SnapshotErrorCategory = 'dockerfile' | 'tunnel' | 'provider' | 'timeout' | 'runtime' | 'git' | 'unknown';
5
+ /** A sandbox template: platform default + each `[[sandbox.templates]]` / UI-created entry. */
6
+ export interface SandboxTemplate {
7
+ template_id: string | null;
8
+ slug: string;
9
+ name: string;
10
+ is_default: boolean;
11
+ source: 'platform' | 'toml' | 'ui';
12
+ provider: string;
13
+ has_dockerfile: boolean;
14
+ has_image: boolean;
15
+ image: string | null;
16
+ dockerfile_path: string | null;
17
+ entrypoint: string | null;
18
+ cpu: number;
19
+ memory_gb: number;
20
+ disk_gb: number;
21
+ snapshot_name: string;
22
+ content_hash: string;
23
+ built_from_commit: string | null;
24
+ daytona_state: string;
25
+ provider_state: string;
26
+ ready: boolean;
27
+ /** Per-template warm pool config + live counts. null when the operator gate
28
+ * is off (feature unavailable platform-wide). */
29
+ warm_pool?: {
30
+ enabled: boolean;
31
+ size: number;
32
+ /** Sandboxes parked and ready to claim instantly. */
33
+ ready: number;
34
+ /** Sandboxes currently booting toward ready. */
35
+ warming: number;
36
+ } | null;
37
+ }
38
+ export interface SandboxTemplatesResponse {
39
+ items: SandboxTemplate[];
40
+ default_slug: string | null;
41
+ /** Whether the warm pool feature is enabled platform-wide. */
42
+ warm_pool_available?: boolean;
43
+ }
44
+ export interface ProjectSnapshotBuild {
45
+ build_id: string;
46
+ slug: string;
47
+ snapshot_name: string;
48
+ content_hash: string;
49
+ status: ProjectSnapshotStatus;
50
+ error: string | null;
51
+ error_category: SnapshotErrorCategory | null;
52
+ source: 'session-start' | 'project-create' | 'cr-merge' | 'manual' | 'background' | 'startup' | null;
53
+ started_at: string;
54
+ finished_at: string | null;
55
+ }
56
+ export interface ProjectSnapshotsResponse {
57
+ templates: SandboxTemplate[];
58
+ templates_error: string | null;
59
+ builds: ProjectSnapshotBuild[];
60
+ /** Whether the warm pool feature is enabled platform-wide (gates the per-row control). */
61
+ warm_pool_available?: boolean;
62
+ }
63
+ export interface ProjectSandboxHealth {
64
+ primary_slug: string | null;
65
+ primary_template: SandboxTemplate | null;
66
+ ready: boolean;
67
+ building: boolean;
68
+ latest_build: ProjectSnapshotBuild | null;
69
+ latest_failure: ProjectSnapshotBuild | null;
70
+ }
71
+ export interface RebuildSnapshotResponse {
72
+ status: 'started';
73
+ slug: string;
74
+ deleted_existing: boolean;
75
+ snapshot_name: string;
76
+ }
77
+ /**
78
+ * List a project's sandbox **templates** (Dockerfile/image/warm-pool config) —
79
+ * NOT the legacy one-project-one-sandbox instances. The endpoint path keeps the
80
+ * historical `/sandboxes` name; the function is named for what it returns.
81
+ */
82
+ export declare function listProjectSandboxTemplates(projectId: string): Promise<SandboxTemplatesResponse>;
83
+ export declare function listProjectSnapshots(projectId: string): Promise<ProjectSnapshotsResponse>;
84
+ export declare function getProjectSandboxHealth(projectId: string): Promise<ProjectSandboxHealth>;
85
+ export declare function rebuildProjectSnapshot(projectId: string, slug?: string): Promise<RebuildSnapshotResponse>;
86
+ export declare function fixSandboxWithAgent(projectId: string): Promise<{
87
+ session_id: string;
88
+ }>;
89
+ export interface CreateSandboxTemplateInput {
90
+ slug: string;
91
+ name?: string;
92
+ image?: string;
93
+ dockerfile_path?: string;
94
+ entrypoint?: string;
95
+ cpu?: number;
96
+ memory_gb?: number;
97
+ disk_gb?: number;
98
+ }
99
+ export interface UpdateSandboxTemplateInput {
100
+ name?: string;
101
+ image?: string | null;
102
+ dockerfile_path?: string | null;
103
+ entrypoint?: string | null;
104
+ cpu?: number | null;
105
+ memory_gb?: number | null;
106
+ disk_gb?: number | null;
107
+ }
108
+ export declare function createSandboxTemplate(projectId: string, input: CreateSandboxTemplateInput): Promise<{
109
+ template_id: string;
110
+ slug: string;
111
+ }>;
112
+ export declare function updateSandboxTemplate(projectId: string, templateId: string, input: UpdateSandboxTemplateInput): Promise<{
113
+ template_id: string;
114
+ slug: string;
115
+ }>;
116
+ export declare function deleteSandboxTemplate(projectId: string, templateId: string): Promise<null>;
117
+ export declare function buildSandboxTemplate(projectId: string, templateId: string): Promise<{
118
+ status: "started";
119
+ template_id: string;
120
+ slug: string;
121
+ }>;
122
+ export declare function listProjectSandboxes(projectId: string): Promise<SandboxTemplatesResponse>;
123
+ //# sourceMappingURL=sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/platform/projects-client/sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ // Sandbox templates + snapshot build log — template CRUD, snapshots, health.
2
+ import { backendApi } from '../api-client.js';
3
+ import { unwrap } from './shared.js';
4
+ /**
5
+ * List a project's sandbox **templates** (Dockerfile/image/warm-pool config) —
6
+ * NOT the legacy one-project-one-sandbox instances. The endpoint path keeps the
7
+ * historical `/sandboxes` name; the function is named for what it returns.
8
+ */
9
+ export async function listProjectSandboxTemplates(projectId) {
10
+ return unwrap(await backendApi.get(`/projects/${projectId}/sandboxes`));
11
+ }
12
+ export async function listProjectSnapshots(projectId) {
13
+ return unwrap(await backendApi.get(`/projects/${projectId}/snapshots`));
14
+ }
15
+ export async function getProjectSandboxHealth(projectId) {
16
+ return unwrap(await backendApi.get(`/projects/${projectId}/sandbox-health`, {
17
+ // Background poll used by alerts/settings. React Query owns retry/error
18
+ // state; the global error handler would otherwise spam console.error
19
+ // during transient dev boot or provider stalls.
20
+ showErrors: false,
21
+ timeout: 15_000,
22
+ }));
23
+ }
24
+ export async function rebuildProjectSnapshot(projectId, slug) {
25
+ return unwrap(await backendApi.post(`/projects/${projectId}/snapshots/rebuild`, slug ? { slug } : {}));
26
+ }
27
+ export async function fixSandboxWithAgent(projectId) {
28
+ return unwrap(await backendApi.post(`/projects/${projectId}/snapshots/fix-with-agent`, {}));
29
+ }
30
+ export async function createSandboxTemplate(projectId, input) {
31
+ return unwrap(await backendApi.post(`/projects/${projectId}/sandbox-templates`, input));
32
+ }
33
+ export async function updateSandboxTemplate(projectId, templateId, input) {
34
+ return unwrap(await backendApi.patch(`/projects/${projectId}/sandbox-templates/${templateId}`, input));
35
+ }
36
+ export async function deleteSandboxTemplate(projectId, templateId) {
37
+ return unwrap(await backendApi.delete(`/projects/${projectId}/sandbox-templates/${templateId}`));
38
+ }
39
+ export async function buildSandboxTemplate(projectId, templateId) {
40
+ return unwrap(await backendApi.post(`/projects/${projectId}/sandbox-templates/${templateId}/build`, {}));
41
+ }
42
+ export async function listProjectSandboxes(projectId) {
43
+ return unwrap(await backendApi.get(`/projects/${projectId}/sandboxes`));
44
+ }
45
+ //# sourceMappingURL=sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/platform/projects-client/sandbox.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AA+FlC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,SAAiB;IACjE,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,YAAY,CACnC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IAC1D,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,YAAY,CACnC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,SAAiB;IAC7D,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,iBAAiB,EACvC;QACE,wEAAwE;QACxE,qEAAqE;QACrE,gDAAgD;QAChD,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,MAAM;KAChB,CACF,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,SAAiB,EAAE,IAAa;IAC3E,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,oBAAoB,EAC1C,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CACrB,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,SAAiB;IACzD,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,2BAA2B,EACjD,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AAyBD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAiB,EACjB,KAAiC;IAEjC,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,oBAAoB,EAC1C,KAAK,CACN,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAiB,EACjB,UAAkB,EAClB,KAAiC;IAEjC,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,KAAK,CACpB,aAAa,SAAS,sBAAsB,UAAU,EAAE,EACxD,KAAK,CACN,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,SAAiB,EAAE,UAAkB;IAC/E,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,MAAM,CACrB,aAAa,SAAS,sBAAsB,UAAU,EAAE,CACzD,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,UAAkB;IAC9E,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,sBAAsB,UAAU,QAAQ,EAC9D,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IAC1D,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAA2B,aAAa,SAAS,YAAY,CAAC,CACnF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,122 @@
1
+ import { type ConnectorSharing, type ProjectGitConnection } from './shared.js';
2
+ /**
3
+ * One project secret: `{ identifier, name (the env var KEY), value }`.
4
+ * `identifier` is unique per project — the handle an agent's `secrets` grant
5
+ * references and the UI shows. `name` (the KEY) is NOT unique — multiple
6
+ * identifiers may share one (e.g. GMAPS-primary / GMAPS-backup, both
7
+ * GOOGLE_MAPS_API_KEY). Authorization is centralized on the agent grant (by
8
+ * identifier); every project member with read access sees every secret — there
9
+ * is no per-secret member/group sharing and no resource-side agent allow-list.
10
+ */
11
+ export interface ProjectSecret {
12
+ /** Unique per project. The handle an agent's `secrets` grant references. */
13
+ identifier: string;
14
+ /** The env var KEY injected into the sandbox. Not unique. */
15
+ name: string;
16
+ project_id: string;
17
+ /** Shared row id; null when only a personal override (or nothing) exists. */
18
+ secret_id: string | null;
19
+ created_by: string | null;
20
+ created_at: string | null;
21
+ updated_at: string | null;
22
+ system?: boolean;
23
+ readonly?: boolean;
24
+ purpose?: string | null;
25
+ can_rotate?: boolean;
26
+ managed_by?: string | null;
27
+ /** A shared/project value is set. */
28
+ configured: boolean;
29
+ /** My own private override (value never returned), and whether it's active.
30
+ * Used today only by the CODEX_AUTH_JSON per-user provider login. */
31
+ mine: {
32
+ active: boolean;
33
+ updated_at: string;
34
+ } | null;
35
+ /** What actually runs in my sessions for this identifier. */
36
+ effective_source: 'mine' | 'shared' | 'none';
37
+ /** I'm allowed to edit the shared row (project manager). */
38
+ can_manage_shared: boolean;
39
+ }
40
+ export interface ProjectSecretsResponse {
41
+ items: ProjectSecret[];
42
+ /** Whether the requesting member can edit shared rows (vs only their own overrides). */
43
+ can_manage?: boolean;
44
+ /** Env keys declared as required in the project's kortix.toml manifest. */
45
+ required: string[];
46
+ /** Env keys declared as optional in the project's kortix.toml manifest. */
47
+ optional: string[];
48
+ /**
49
+ * 'loaded' → kortix.toml read successfully (env lists are authoritative).
50
+ * 'missing' → manifest file not present in the repo.
51
+ * 'error' → couldn't fetch/parse the repo (private repo, network, etc.).
52
+ */
53
+ manifest_status?: 'loaded' | 'missing' | 'error';
54
+ /** Path the API tried (defaults to "kortix.toml" but configurable per project). */
55
+ manifest_path?: string;
56
+ /** Error string when manifest_status === 'error'. */
57
+ manifest_error?: string;
58
+ }
59
+ export declare function listProjectSecrets(projectId: string): Promise<ProjectSecretsResponse>;
60
+ export declare function upsertProjectSecret(projectId: string, input: {
61
+ name: string;
62
+ /** Unique per project. Defaults to `name` when omitted (the simple case —
63
+ * one identifier per key). Set explicitly to create a SECOND secret under
64
+ * the same key (e.g. "GMAPS-backup" also GOOGLE_MAPS_API_KEY). */
65
+ identifier?: string;
66
+ /** Omit to leave an existing secret's value untouched (e.g. a no-op touch). */
67
+ value?: string;
68
+ }): Promise<ProjectSecret>;
69
+ export interface ProviderOAuthStart {
70
+ flow_id: string;
71
+ verification_url: string;
72
+ user_code: string | null;
73
+ /** Epoch ms when the device code expires. */
74
+ expires_at: number;
75
+ /** Suggested poll cadence. */
76
+ interval_ms: number;
77
+ }
78
+ export interface ProviderOAuthCredential {
79
+ provider_id: string;
80
+ expires_in_ms: number | null;
81
+ updated_at: string;
82
+ }
83
+ export type ProviderOAuthPoll = {
84
+ status: 'pending';
85
+ next_poll_ms?: number;
86
+ } | {
87
+ status: 'success';
88
+ credential: ProviderOAuthCredential;
89
+ } | {
90
+ status: 'expired';
91
+ } | {
92
+ status: 'failed';
93
+ error: string;
94
+ };
95
+ export declare function startProjectProviderOAuth(projectId: string, provider: string, input?: {
96
+ sharing?: ConnectorSharing;
97
+ }): Promise<ProviderOAuthStart>;
98
+ export declare function pollProjectProviderOAuth(projectId: string, provider: string, flowId: string): Promise<ProviderOAuthPoll>;
99
+ export declare function upsertProjectGitCredential(projectId: string, input: {
100
+ token: string;
101
+ }): Promise<{
102
+ configured: boolean;
103
+ provider: string;
104
+ git_connection: ProjectGitConnection;
105
+ }>;
106
+ export declare function deleteProjectSecret(projectId: string, identifier: string): Promise<{
107
+ ok: boolean;
108
+ }>;
109
+ /**
110
+ * Set/update the caller's OWN per-key override ("use mine") and/or flip whether
111
+ * it's active. Any project member may call this; it never touches the shared
112
+ * value or anyone else's override.
113
+ */
114
+ export declare function setPersonalProjectSecret(projectId: string, name: string, input: {
115
+ value?: string;
116
+ active?: boolean;
117
+ }): Promise<ProjectSecret>;
118
+ /** Remove the caller's own override for a key (falls back to the shared value). */
119
+ export declare function deletePersonalProjectSecret(projectId: string, name: string): Promise<{
120
+ ok: boolean;
121
+ }>;
122
+ //# sourceMappingURL=secrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../src/platform/projects-client/secrets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ // Secrets — project/shared + personal secret overrides, provider OAuth, git creds.
2
+ import { backendApi } from '../api-client.js';
3
+ import { unwrap } from './shared.js';
4
+ export async function listProjectSecrets(projectId) {
5
+ return unwrap(await backendApi.get(`/projects/${projectId}/secrets`));
6
+ }
7
+ export async function upsertProjectSecret(projectId, input) {
8
+ return unwrap(await backendApi.post(`/projects/${projectId}/secrets`, input));
9
+ }
10
+ export async function startProjectProviderOAuth(projectId, provider, input) {
11
+ return unwrap(await backendApi.post(`/projects/${projectId}/oauth/${provider}/start`, { sharing: input?.sharing }));
12
+ }
13
+ export async function pollProjectProviderOAuth(projectId, provider, flowId) {
14
+ return unwrap(await backendApi.post(`/projects/${projectId}/oauth/${provider}/poll`, { flow_id: flowId }));
15
+ }
16
+ export async function upsertProjectGitCredential(projectId, input) {
17
+ return unwrap(await backendApi.put(`/projects/${projectId}/git-credential`, input));
18
+ }
19
+ export async function deleteProjectSecret(projectId, identifier) {
20
+ return unwrap(await backendApi.delete(`/projects/${projectId}/secrets/${encodeURIComponent(identifier)}`));
21
+ }
22
+ /**
23
+ * Set/update the caller's OWN per-key override ("use mine") and/or flip whether
24
+ * it's active. Any project member may call this; it never touches the shared
25
+ * value or anyone else's override.
26
+ */
27
+ export async function setPersonalProjectSecret(projectId, name, input) {
28
+ return unwrap(await backendApi.put(`/projects/${projectId}/secrets/${encodeURIComponent(name)}/personal`, input));
29
+ }
30
+ /** Remove the caller's own override for a key (falls back to the shared value). */
31
+ export async function deletePersonalProjectSecret(projectId, name) {
32
+ return unwrap(await backendApi.delete(`/projects/${projectId}/secrets/${encodeURIComponent(name)}/personal`));
33
+ }
34
+ //# sourceMappingURL=secrets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/platform/projects-client/secrets.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAoD,MAAM,UAAU,CAAC;AA0DpF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB;IACxD,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,UAAU,CACjC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAiB,EACjB,KAQC;IAED,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CAAgB,aAAa,SAAS,UAAU,EAAE,KAAK,CAAC,CAC9E,CAAC;AACJ,CAAC;AA6BD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,SAAiB,EACjB,QAAgB,EAChB,KAAsC;IAEtC,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,UAAU,QAAQ,QAAQ,EAChD,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAC5B,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAAiB,EACjB,QAAgB,EAChB,MAAc;IAEd,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,IAAI,CACnB,aAAa,SAAS,UAAU,QAAQ,OAAO,EAC/C,EAAE,OAAO,EAAE,MAAM,EAAE,CACpB,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,SAAiB,EACjB,KAAwB;IAExB,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAIjB,aAAa,SAAS,iBAAiB,EAAE,KAAK,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,SAAiB,EAAE,UAAkB;IAC7E,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,MAAM,CACrB,aAAa,SAAS,YAAY,kBAAkB,CAAC,UAAU,CAAC,EAAE,CACnE,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAAiB,EACjB,IAAY,EACZ,KAA2C;IAE3C,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,GAAG,CAClB,aAAa,SAAS,YAAY,kBAAkB,CAAC,IAAI,CAAC,WAAW,EACrE,KAAK,CACN,CACF,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,SAAiB,EAAE,IAAY;IAC/E,OAAO,MAAM,CACX,MAAM,UAAU,CAAC,MAAM,CACrB,aAAa,SAAS,YAAY,kBAAkB,CAAC,IAAI,CAAC,WAAW,CACtE,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,61 @@
1
+ export type ProjectSessionSandboxStatus = 'provisioning' | 'active' | 'stopped' | 'error' | 'archived';
2
+ export interface ProjectSessionSandbox {
3
+ sandbox_id: string;
4
+ session_id: string;
5
+ project_id: string;
6
+ account_id: string;
7
+ provider: 'managed' | 'daytona' | 'platinum' | 'local_docker' | 'justavps';
8
+ external_id: string | null;
9
+ base_url: string | null;
10
+ status: ProjectSessionSandboxStatus;
11
+ config: Record<string, unknown>;
12
+ metadata: Record<string, unknown>;
13
+ last_used_at: string | null;
14
+ created_at: string;
15
+ updated_at: string;
16
+ }
17
+ export type SessionStartStage = 'provisioning' | 'starting' | 'ready' | 'stopped' | 'failed';
18
+ export interface SessionStartResult {
19
+ /** Coarse lifecycle stage to render + poll on. */
20
+ stage: SessionStartStage;
21
+ /** Immutable project-session agent bound at session creation. */
22
+ agent_name: string;
23
+ /** Whether polling /start again can make progress (false = terminal). */
24
+ retriable: boolean;
25
+ sandbox: ProjectSessionSandbox | null;
26
+ opencode_session_id: string | null;
27
+ /**
28
+ * Relative proxy path for this session's OpenCode runtime (port 8000), composed
29
+ * against the configured backendUrl. The server owns the proxy scheme; the SDK
30
+ * consumes this opaquely (never builds `/p/<id>/<port>` itself). Absent until the
31
+ * box has an external_id — `useSession` falls back to deriving it from
32
+ * `sandbox.external_id` when missing.
33
+ */
34
+ runtime_url?: string | null;
35
+ reason?: string;
36
+ }
37
+ export declare class SessionStartError extends Error {
38
+ status?: number;
39
+ code?: string;
40
+ terminal: boolean;
41
+ constructor(message: string, options: {
42
+ status?: number;
43
+ code?: string;
44
+ terminal: boolean;
45
+ });
46
+ }
47
+ export declare function isSessionStartError(error: unknown): error is SessionStartError;
48
+ /**
49
+ * THE session-open call. Idempotently provisions/resumes the sandbox and resolves
50
+ * the OpenCode pin server-side, returning ONE readiness payload to poll until
51
+ * stage='ready'.
52
+ */
53
+ export declare function startProjectSession(projectId: string, sessionId: string, waitMs?: number): Promise<SessionStartResult | null>;
54
+ /**
55
+ * Stable React Query key for the session-open (`/start`) poll. Shared by the
56
+ * session page's useQuery AND every create→navigate site that prefetches it, so
57
+ * the keys can never drift — a mismatch would issue a SECOND `/start` POST
58
+ * instead of adopting the in-flight one.
59
+ */
60
+ export declare function sessionStartKey(projectId: string, sessionId: string): readonly ["session-start", string, string];
61
+ //# sourceMappingURL=session-sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-sandbox.d.ts","sourceRoot":"","sources":["../../../src/platform/projects-client/session-sandbox.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,2BAA2B,GACnC,cAAc,GACd,QAAQ,GACR,SAAS,GACT,OAAO,GACP,UAAU,CAAC;AAEf,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,cAAc,GAAG,UAAU,CAAC;IAC3E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,2BAA2B,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7F,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,KAAK,EAAE,iBAAiB,CAAC;IACzB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACtC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;gBAEN,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE;CAO5F;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAiBD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EAIjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAkCpC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,8CAEnE"}
@@ -0,0 +1,82 @@
1
+ // Session sandbox — runtime sandbox row + the session-open (/start) flow.
2
+ import { backendApi } from '../api-client.js';
3
+ import { isSessionFresh } from '../fresh-sessions.js';
4
+ import { setSessionRuntime } from '../../state/session-runtime-registry.js';
5
+ import { getSandboxUrlForExternalId } from '../../state/server-store/url-helpers.js';
6
+ export class SessionStartError extends Error {
7
+ status;
8
+ code;
9
+ terminal;
10
+ constructor(message, options) {
11
+ super(message);
12
+ this.name = 'SessionStartError';
13
+ this.status = options.status;
14
+ this.code = options.code;
15
+ this.terminal = options.terminal;
16
+ }
17
+ }
18
+ export function isSessionStartError(error) {
19
+ return error instanceof Error && error.name === 'SessionStartError';
20
+ }
21
+ function classifySessionStartFailure(error) {
22
+ const apiError = error;
23
+ const status = apiError?.status;
24
+ const code = apiError?.code ?? apiError?.details?.code ?? apiError?.details?.error;
25
+ const message = apiError?.message || 'Unable to start this session';
26
+ if (status && status >= 400 && status < 500 && status !== 408 && status !== 429) {
27
+ return new SessionStartError(message, { status, code, terminal: true });
28
+ }
29
+ return null;
30
+ }
31
+ /**
32
+ * THE session-open call. Idempotently provisions/resumes the sandbox and resolves
33
+ * the OpenCode pin server-side, returning ONE readiness payload to poll until
34
+ * stage='ready'.
35
+ */
36
+ export async function startProjectSession(projectId, sessionId,
37
+ // Optional server-side long-poll budget (ms): the server holds the request
38
+ // until readiness flips (or its bounded deadline), so we learn `ready` the
39
+ // instant it happens instead of on a fixed poll tick. Omit = one-shot.
40
+ waitMs) {
41
+ const qs = waitMs && waitMs > 0 ? `?wait_ms=${Math.floor(waitMs)}` : '';
42
+ const response = await backendApi.post(`/projects/${projectId}/sessions/${sessionId}/start${qs}`, {},
43
+ // Keep toasts quiet here. Terminal client errors are rendered by the host;
44
+ // transient transport/server failures still yield null so polling can recover.
45
+ { showErrors: false });
46
+ if (!response.success || !response.data) {
47
+ const terminal = classifySessionStartFailure(response.error);
48
+ // A 404 for a session minted in THIS tab is the optimistic create-vs-start
49
+ // race: `useNewProjectSession` fires this /start before its background
50
+ // create POST has landed, so the row doesn't exist yet. Yield null so the
51
+ // poll keeps going; a 404 for any other session stays terminal.
52
+ if (terminal && !(terminal.status === 404 && isSessionFresh(sessionId)))
53
+ throw terminal;
54
+ return null;
55
+ }
56
+ const result = response.data;
57
+ // Populate the shared session-runtime registry the instant a session goes
58
+ // ready, regardless of WHICH caller drove this /start (the facade's
59
+ // `ensureReady()` or the React `useSession` hook — both call this one
60
+ // function). Every other handle for the same session id — a fresh
61
+ // `kortix.session(pid, sid)` created for a one-off poll, e.g. — can then
62
+ // adopt this entry instead of throwing SessionNotReadyError or re-POSTing.
63
+ const externalId = result.sandbox?.external_id;
64
+ if (result.stage === 'ready' && externalId && result.opencode_session_id) {
65
+ setSessionRuntime(projectId, sessionId, {
66
+ opencodeSessionId: result.opencode_session_id,
67
+ runtimeUrl: getSandboxUrlForExternalId(externalId),
68
+ sandboxId: externalId,
69
+ });
70
+ }
71
+ return result;
72
+ }
73
+ /**
74
+ * Stable React Query key for the session-open (`/start`) poll. Shared by the
75
+ * session page's useQuery AND every create→navigate site that prefetches it, so
76
+ * the keys can never drift — a mismatch would issue a SECOND `/start` POST
77
+ * instead of adopting the in-flight one.
78
+ */
79
+ export function sessionStartKey(projectId, sessionId) {
80
+ return ['session-start', projectId, sessionId];
81
+ }
82
+ //# sourceMappingURL=session-sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-sandbox.js","sourceRoot":"","sources":["../../../src/platform/projects-client/session-sandbox.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAqDlF,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,MAAM,CAAU;IAChB,IAAI,CAAU;IACd,QAAQ,CAAU;IAElB,YAAY,OAAe,EAAE,OAA8D;QACzF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC;AACtE,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa;IAChD,MAAM,QAAQ,GAAG,KAEJ,CAAC;IACd,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;IAChC,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;IACnF,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,8BAA8B,CAAC;IAEpE,IAAI,MAAM,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QAChF,OAAO,IAAI,iBAAiB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAiB,EACjB,SAAiB;AACjB,2EAA2E;AAC3E,2EAA2E;AAC3E,uEAAuE;AACvE,MAAe;IAEf,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CACpC,aAAa,SAAS,aAAa,SAAS,SAAS,EAAE,EAAE,EACzD,EAAE;IACF,2EAA2E;IAC3E,+EAA+E;IAC/E,EAAE,UAAU,EAAE,KAAK,EAAE,CACtB,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7D,2EAA2E;QAC3E,uEAAuE;QACvE,0EAA0E;QAC1E,gEAAgE;QAChE,IAAI,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;YAAE,MAAM,QAAQ,CAAC;QACxF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC7B,0EAA0E;IAC1E,oEAAoE;IACpE,sEAAsE;IACtE,kEAAkE;IAClE,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC;IAC/C,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,UAAU,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACzE,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE;YACtC,iBAAiB,EAAE,MAAM,CAAC,mBAAmB;YAC7C,UAAU,EAAE,0BAA0B,CAAC,UAAU,CAAC;YAClD,SAAS,EAAE,UAAU;SACtB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,SAAiB;IAClE,OAAO,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAC1D,CAAC"}