@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,346 @@
1
+ /**
2
+ * Workspace file client — the daemon `/file` + `/find` data operations, owned by
3
+ * the SDK. The host never calls `authenticatedFetch('/file/...')` itself.
4
+ *
5
+ * Read (list/content/status/find) and write (upload/delete/mkdir/rename) all hit
6
+ * the in-sandbox daemon for the active server; project/health go through the
7
+ * opencode client. DOM-bound helpers (download / zip) stay in the host UI and
8
+ * consume `readBlob`/`list` from here.
9
+ */
10
+ import { getClient } from '../opencode/client.js';
11
+ import { getActiveOpenCodeUrl } from '../state/server-store/active.js';
12
+ import { getAuthToken, authenticatedFetch } from '../platform/auth.js';
13
+ import { ApiError } from '../platform/api/errors.js';
14
+ function unwrap(result) {
15
+ if (result.error) {
16
+ const err = result.error;
17
+ const message = err?.data?.message ||
18
+ err?.message ||
19
+ (typeof err?.error === 'string' ? err.error : null) ||
20
+ 'SDK request failed';
21
+ throw new ApiError(message, {
22
+ status: err?.response?.status ?? err?.status,
23
+ response: err?.response,
24
+ details: err,
25
+ });
26
+ }
27
+ return result.data;
28
+ }
29
+ async function errorMessage(res) {
30
+ const text = await res.text().catch(() => '');
31
+ let parsed = null;
32
+ try {
33
+ parsed = JSON.parse(text);
34
+ }
35
+ catch { /* not JSON */ }
36
+ return parsed?.error || text || res.statusText || `HTTP ${res.status}`;
37
+ }
38
+ /**
39
+ * GET a daemon JSON endpoint (list/status/find), surfacing the server's error.
40
+ * `baseUrl` defaults to the module-global "active" sandbox for back-compat —
41
+ * pass an explicit one (e.g. from `kortix.session(pid, sid).files`) to hit a
42
+ * SPECIFIC session's own runtime instead.
43
+ */
44
+ async function fetchDaemonJson(relUrl, baseUrl = getActiveOpenCodeUrl()) {
45
+ const response = await authenticatedFetch(`${baseUrl}${relUrl}`);
46
+ if (!response.ok) {
47
+ throw new ApiError(await errorMessage(response), { status: response.status, response });
48
+ }
49
+ return response.json();
50
+ }
51
+ /**
52
+ * Sandbox filesystem roots the daemon serves (mirrors DEFAULT_ALLOWED_ROOTS in
53
+ * kortix-sandbox-agent-server). The daemon re-validates every path server-side;
54
+ * this mirror only keeps hosts from mangling non-workspace paths client-side.
55
+ */
56
+ export const SANDBOX_FS_ROOTS = ['/workspace', '/tmp', '/home', '/opt'];
57
+ const NON_WORKSPACE_ROOTS = SANDBOX_FS_ROOTS.filter((root) => root !== '/workspace');
58
+ /** Whether a path is absolute under one of the daemon's allowed roots. */
59
+ export function isUnderSandboxRoot(filePath) {
60
+ return SANDBOX_FS_ROOTS.some((root) => filePath === root || filePath.startsWith(`${root}/`));
61
+ }
62
+ /**
63
+ * Resolve any host path to an absolute sandbox path — paths already under an
64
+ * allowed root pass through, everything else anchors beneath /workspace.
65
+ */
66
+ export function toSandboxAbsolutePath(filePath) {
67
+ if (isUnderSandboxRoot(filePath))
68
+ return filePath;
69
+ return `/workspace/${filePath.replace(/^\/+/, '')}`;
70
+ }
71
+ /**
72
+ * Convert a host path to the daemon query path. /workspace paths become
73
+ * worktree-relative ("" = root); the other allowed roots (/tmp, /home, /opt)
74
+ * stay absolute — the daemon resolves absolutes against its own allow-list.
75
+ * Any other absolute path keeps the legacy leading-slash strip, so
76
+ * "/README.md"-style pseudo-relative paths still resolve under /workspace.
77
+ */
78
+ export function toDaemonPath(filePath) {
79
+ let s = filePath || '';
80
+ if (s === '/workspace' || s === '/workspace/')
81
+ return '';
82
+ if (s.startsWith('/workspace/'))
83
+ s = s.slice('/workspace/'.length);
84
+ else if (NON_WORKSPACE_ROOTS.some((root) => s === root || s.startsWith(`${root}/`)))
85
+ return s;
86
+ while (s.startsWith('/'))
87
+ s = s.slice(1);
88
+ return s;
89
+ }
90
+ /** @deprecated Use {@link toDaemonPath} — non-workspace roots now pass through absolute. */
91
+ export const toWorkspaceRelative = toDaemonPath;
92
+ /**
93
+ * List files/directories at a path. Daemon `GET /file`. `baseUrl` defaults to
94
+ * the module-global "active" sandbox; pass one explicitly to target a
95
+ * specific session's runtime (see `kortix.session(pid, sid).files`).
96
+ */
97
+ export async function listFiles(dirPath, baseUrl = getActiveOpenCodeUrl()) {
98
+ const daemonPath = toDaemonPath(dirPath) || '.';
99
+ const nodes = await fetchDaemonJson(`/file?path=${encodeURIComponent(daemonPath)}`, baseUrl);
100
+ return nodes.map((node) => ({ ...node, path: node.absolute || `/workspace/${node.path}` }));
101
+ }
102
+ /** Read a file's content (text, or base64 for binaries). Daemon `GET /file/content`. */
103
+ export async function readFile(filePath, baseUrl = getActiveOpenCodeUrl()) {
104
+ const daemonPath = toDaemonPath(filePath);
105
+ const response = await authenticatedFetch(`${baseUrl}/file/content?path=${encodeURIComponent(daemonPath)}`);
106
+ if (!response.ok) {
107
+ throw new ApiError(await errorMessage(response), { status: response.status, response });
108
+ }
109
+ return response.json();
110
+ }
111
+ /** Raw byte read. Daemon `GET /file/raw`. Throws (so callers can fall back). */
112
+ async function readFileRaw(filePath, fallbackMime, baseUrl = getActiveOpenCodeUrl()) {
113
+ const daemonPath = toDaemonPath(filePath);
114
+ const response = await authenticatedFetch(`${baseUrl}/file/raw?path=${encodeURIComponent(daemonPath)}`);
115
+ if (!response.ok) {
116
+ throw new ApiError(await errorMessage(response), { status: response.status, response });
117
+ }
118
+ // A misrouted /file/raw can fall through to the web SPA shell (200, text/html).
119
+ if ((response.headers.get('content-type') || '').includes('text/html')) {
120
+ throw new ApiError('File could not be loaded (raw byte route unavailable)', {
121
+ status: response.status,
122
+ response,
123
+ code: 'INVALID_CONTENT_TYPE',
124
+ });
125
+ }
126
+ const blob = await response.blob();
127
+ if (fallbackMime && (!blob.type || blob.type === 'application/octet-stream')) {
128
+ return new Blob([blob], { type: fallbackMime });
129
+ }
130
+ return blob;
131
+ }
132
+ /** Read a file as a Blob — prefers `/file/raw`, falls back to base64 `/file/content`. */
133
+ export async function readBlob(filePath, baseUrl = getActiveOpenCodeUrl()) {
134
+ try {
135
+ return await readFileRaw(filePath, undefined, baseUrl);
136
+ }
137
+ catch { /* fall back to JSON content endpoint */ }
138
+ const result = await readFile(filePath, baseUrl);
139
+ if (result.encoding === 'base64' && result.content) {
140
+ const bytes = Uint8Array.from(atob(result.content), (c) => c.charCodeAt(0));
141
+ return new Blob([bytes], { type: result.mimeType || 'application/octet-stream' });
142
+ }
143
+ return new Blob([result.content ?? ''], { type: result.mimeType || 'text/plain;charset=utf-8' });
144
+ }
145
+ /** Git file status — uncommitted changes. Daemon `GET /file/status`. */
146
+ export function getFileStatus(baseUrl = getActiveOpenCodeUrl()) {
147
+ return fetchDaemonJson(`/file/status`, baseUrl);
148
+ }
149
+ /**
150
+ * Find files/directories by name (fuzzy). Daemon `GET /find/file`.
151
+ *
152
+ * Throws `ApiError` on failure — like every other op in this module. This
153
+ * USED TO swallow every failure to `[]`, which silently hid daemon/network
154
+ * errors from callers. The only real caller of this SDK export
155
+ * (`apps/web/src/features/files/search/workspace-search-service.ts`) already
156
+ * wraps each call in its own `.catch(() => [])`, and there are no callers
157
+ * under `@kortix/sdk/react`, so removing the internal swallow here is
158
+ * non-breaking — verified by grepping every `findFiles(` call site in the
159
+ * monorepo before making this change.
160
+ */
161
+ export async function findFiles(query, options, baseUrl = getActiveOpenCodeUrl()) {
162
+ const params = new URLSearchParams({ query });
163
+ if (options?.type)
164
+ params.set('type', options.type);
165
+ if (options?.limit)
166
+ params.set('limit', String(options.limit));
167
+ return fetchDaemonJson(`/find/file?${params.toString()}`, baseUrl);
168
+ }
169
+ /** Ripgrep text search. Daemon `GET /find`. Tolerates flat + nested rg-JSON. */
170
+ export async function findText(pattern, baseUrl = getActiveOpenCodeUrl()) {
171
+ const raw = await fetchDaemonJson(`/find?pattern=${encodeURIComponent(pattern)}`, baseUrl);
172
+ return raw.map((item) => ({
173
+ path: typeof item.path === 'string' ? item.path : (item.path?.text ?? ''),
174
+ lines: typeof item.lines === 'string' ? item.lines : (item.lines?.text ?? ''),
175
+ line_number: item.line_number,
176
+ absolute_offset: item.absolute_offset,
177
+ submatches: (item.submatches ?? []).map((s) => ({ start: s.start, end: s.end })),
178
+ }));
179
+ }
180
+ // ── writes ───────────────────────────────────────────────────────────────────
181
+ const UPLOAD_RETRY_DELAYS_MS = [400, 1200];
182
+ const isTransient = (s) => s === 408 || s === 429 || s === 502 || s === 503 || s === 504;
183
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
184
+ async function uploadErrorMessage(res) {
185
+ const text = await res.text().catch(() => '');
186
+ let parsed = null;
187
+ try {
188
+ parsed = text ? JSON.parse(text) : null;
189
+ }
190
+ catch { /* not JSON */ }
191
+ const jsonMessage = parsed?.error || parsed?.message || parsed?.data?.message;
192
+ if (typeof jsonMessage === 'string' && jsonMessage.trim())
193
+ return jsonMessage.trim();
194
+ const contentType = res.headers.get('content-type') || '';
195
+ if (contentType.includes('text/html') || /<html[\s>]/i.test(text)) {
196
+ if (res.status === 502 || /bad gateway/i.test(text))
197
+ return 'Bad gateway while reaching the sandbox upload service. Please retry.';
198
+ return res.statusText || `HTTP ${res.status}`;
199
+ }
200
+ return text.replace(/\s+/g, ' ').trim().slice(0, 500) || res.statusText || `HTTP ${res.status}`;
201
+ }
202
+ async function uploadWithRetry(buildForm, send) {
203
+ let lastError;
204
+ for (let attempt = 0; attempt <= UPLOAD_RETRY_DELAYS_MS.length; attempt++) {
205
+ let res;
206
+ try {
207
+ res = await send(buildForm());
208
+ }
209
+ catch (err) {
210
+ lastError = err;
211
+ if (attempt === UPLOAD_RETRY_DELAYS_MS.length)
212
+ break;
213
+ await sleep(UPLOAD_RETRY_DELAYS_MS[attempt]);
214
+ continue;
215
+ }
216
+ if (res.ok)
217
+ return res.json();
218
+ const message = await uploadErrorMessage(res);
219
+ lastError = new ApiError(`Upload failed (${res.status}): ${message}`, { status: res.status, response: res });
220
+ if (!isTransient(res.status) || attempt === UPLOAD_RETRY_DELAYS_MS.length)
221
+ throw lastError;
222
+ await sleep(UPLOAD_RETRY_DELAYS_MS[attempt]);
223
+ }
224
+ if (lastError instanceof ApiError)
225
+ throw lastError;
226
+ const message = lastError instanceof Error ? lastError.message : String(lastError || 'request failed');
227
+ throw new ApiError(`Upload failed: ${message}`);
228
+ }
229
+ /**
230
+ * Upload a file. Daemon `POST /file/upload`. `baseUrl` defaults to the
231
+ * module-global "active" sandbox; pass one explicitly to target a specific
232
+ * session's runtime.
233
+ */
234
+ export function uploadFile(file, targetPath, filename, baseUrl = getActiveOpenCodeUrl()) {
235
+ return uploadWithRetry(() => {
236
+ const form = new FormData();
237
+ const rawPath = (targetPath ?? '').trim();
238
+ if (rawPath)
239
+ form.append('path', rawPath.startsWith('/') ? rawPath : `/${rawPath}`);
240
+ if (filename)
241
+ form.append('file', file, filename);
242
+ else
243
+ form.append('file', file);
244
+ return form;
245
+ }, (form) => authenticatedFetch(`${baseUrl}/file/upload`, { method: 'POST', body: form }));
246
+ }
247
+ /** Upload content to a specific path via the field-name-as-path convention. */
248
+ function uploadToPath(filePath, content, baseUrl = getActiveOpenCodeUrl()) {
249
+ return uploadWithRetry(() => {
250
+ const form = new FormData();
251
+ form.append(filePath, content, filePath.split('/').pop() || 'file');
252
+ return form;
253
+ }, async (form) => {
254
+ const headers = {};
255
+ const token = await getAuthToken();
256
+ if (token)
257
+ headers['Authorization'] = `Bearer ${token}`;
258
+ return fetch(`${baseUrl}/file/upload`, { method: 'POST', body: form, headers });
259
+ });
260
+ }
261
+ /** Create an empty file at a path. */
262
+ export function createFile(filePath, baseUrl = getActiveOpenCodeUrl()) {
263
+ const rawPath = filePath.trim();
264
+ const absolutePath = rawPath.startsWith('/') ? rawPath : `/${rawPath}`;
265
+ const parts = absolutePath.split('/');
266
+ const fileName = parts.pop() || 'untitled';
267
+ const dirPath = parts.join('/') || '/workspace';
268
+ return uploadFile(new File([' '], fileName, { type: 'application/octet-stream' }), dirPath, undefined, baseUrl);
269
+ }
270
+ /** Copy a file (read source bytes → upload to dest). */
271
+ export async function copyFile(sourcePath, destPath, baseUrl = getActiveOpenCodeUrl()) {
272
+ return uploadToPath(destPath, await readBlob(sourcePath, baseUrl), baseUrl);
273
+ }
274
+ /** Delete a file/dir (recursive). Daemon `DELETE /file`. */
275
+ export async function deleteFile(filePath, baseUrl = getActiveOpenCodeUrl()) {
276
+ const res = await authenticatedFetch(`${baseUrl}/file`, {
277
+ method: 'DELETE',
278
+ headers: { 'Content-Type': 'application/json' },
279
+ body: JSON.stringify({ path: filePath }),
280
+ });
281
+ if (!res.ok) {
282
+ throw new ApiError(`Delete failed (${res.status}): ${await errorMessage(res)}`, { status: res.status, response: res });
283
+ }
284
+ return res.json();
285
+ }
286
+ /** Create a directory (recursive, idempotent). Daemon `POST /file/mkdir`. */
287
+ export async function mkdir(dirPath, baseUrl = getActiveOpenCodeUrl()) {
288
+ const res = await authenticatedFetch(`${baseUrl}/file/mkdir`, {
289
+ method: 'POST',
290
+ headers: { 'Content-Type': 'application/json' },
291
+ body: JSON.stringify({ path: dirPath }),
292
+ });
293
+ if (!res.ok) {
294
+ throw new ApiError(`Mkdir failed (${res.status}): ${await errorMessage(res)}`, { status: res.status, response: res });
295
+ }
296
+ return res.json();
297
+ }
298
+ /** Rename/move a file or directory. Daemon `POST /file/rename`. */
299
+ export async function renameFile(from, to, baseUrl = getActiveOpenCodeUrl()) {
300
+ const res = await authenticatedFetch(`${baseUrl}/file/rename`, {
301
+ method: 'POST',
302
+ headers: { 'Content-Type': 'application/json' },
303
+ body: JSON.stringify({ from, to }),
304
+ });
305
+ if (!res.ok) {
306
+ throw new ApiError(`Rename failed (${res.status}): ${await errorMessage(res)}`, { status: res.status, response: res });
307
+ }
308
+ return res.json();
309
+ }
310
+ // ── project / health (via opencode client) ────────────────────────────────────
311
+ export async function getCurrentProject() {
312
+ return unwrap(await getClient().project.current());
313
+ }
314
+ export async function getServerHealth() {
315
+ return unwrap(await getClient().global.health());
316
+ }
317
+ export async function isServerReachable() {
318
+ try {
319
+ return (await getServerHealth()).healthy === true;
320
+ }
321
+ catch {
322
+ return false;
323
+ }
324
+ }
325
+ /** Grouped namespace for ergonomic use (also available as named exports). */
326
+ export const files = {
327
+ list: listFiles,
328
+ read: readFile,
329
+ readBlob,
330
+ status: getFileStatus,
331
+ findFiles,
332
+ findText,
333
+ upload: uploadFile,
334
+ create: createFile,
335
+ copy: copyFile,
336
+ remove: deleteFile,
337
+ mkdir,
338
+ rename: renameFile,
339
+ currentProject: getCurrentProject,
340
+ health: getServerHealth,
341
+ isReachable: isServerReachable,
342
+ toDaemonPath,
343
+ toSandboxAbsolutePath,
344
+ toWorkspaceRelative,
345
+ };
346
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/files/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Workspace file types — the OpenCode daemon REST shapes.
3
+ * Owned by the SDK so every host shares one definition.
4
+ */
5
+ /** `GET /file?path=<path>` response item. */
6
+ export interface FileNode {
7
+ name: string;
8
+ path: string;
9
+ absolute: string;
10
+ type: 'file' | 'directory';
11
+ ignored: boolean;
12
+ }
13
+ export interface FilePatchHunk {
14
+ oldStart: number;
15
+ oldLines: number;
16
+ newStart: number;
17
+ newLines: number;
18
+ lines: string[];
19
+ }
20
+ export interface FilePatch {
21
+ oldFileName: string;
22
+ newFileName: string;
23
+ oldHeader?: string;
24
+ newHeader?: string;
25
+ hunks: FilePatchHunk[];
26
+ index?: string;
27
+ }
28
+ /** `GET /file/content?path=<path>` response. */
29
+ export interface FileContent {
30
+ type: 'text' | 'binary';
31
+ content: string;
32
+ patch?: FilePatch;
33
+ encoding?: 'base64';
34
+ mimeType?: string;
35
+ }
36
+ /** `GET /file/status` response item — git file change status. */
37
+ export interface GitFileStatus {
38
+ path: string;
39
+ added: number;
40
+ removed: number;
41
+ status: 'added' | 'deleted' | 'modified';
42
+ }
43
+ /** `GET /find?pattern=<pat>` response item. */
44
+ export interface FindMatch {
45
+ path: string;
46
+ lines: string;
47
+ line_number: number;
48
+ absolute_offset: number;
49
+ submatches: Array<{
50
+ start: number;
51
+ end: number;
52
+ }>;
53
+ }
54
+ /** `GET /project/current` response. */
55
+ export interface OpenCodeProjectInfo {
56
+ id: string;
57
+ worktree: string;
58
+ vcs?: 'git';
59
+ name?: string;
60
+ icon?: {
61
+ url?: string;
62
+ override?: string;
63
+ color?: string;
64
+ };
65
+ time: {
66
+ created: number;
67
+ updated: number;
68
+ initialized?: number;
69
+ };
70
+ sandboxes: string[];
71
+ }
72
+ /** `GET /global/health` response. */
73
+ export interface ServerHealth {
74
+ healthy: boolean;
75
+ version: string;
76
+ }
77
+ /** Response from the upload endpoint. */
78
+ export interface UploadResult {
79
+ path: string;
80
+ size: number;
81
+ }
82
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/files/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,6CAA6C;AAC7C,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,gDAAgD;AAChD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;CAC1C;AAED,+CAA+C;AAC/C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAED,uCAAuC;AACvC,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,yCAAyC;AACzC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Workspace file types — the OpenCode daemon REST shapes.
3
+ * Owned by the SDK so every host shares one definition.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/files/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * @kortix/sdk — the Kortix frontend data layer, in one package.
3
+ *
4
+ * Configure once at startup, then use the React hooks (`@kortix/sdk/react`) or
5
+ * the data modules (subpath imports below). Every host — web, mobile, demo —
6
+ * shares this single implementation; nothing talks to the raw API or OpenCode.
7
+ *
8
+ * The data modules are exposed as subpaths (not merged here) to keep the
9
+ * surface collision-free and tree-shakeable:
10
+ * @kortix/sdk/react — all useOpenCode* hooks + providers
11
+ * @kortix/sdk/opencode-client — the scoped OpenCode v2 client factory
12
+ * @kortix/sdk/auth — authenticatedFetch + token accessors
13
+ * @kortix/sdk/api-client — backendApi (typed REST)
14
+ * @kortix/sdk/projects-client — project/session REST surface
15
+ * @kortix/sdk/server-store — active sandbox/server state
16
+ * @kortix/sdk/sync-store — live message/part/status store
17
+ * @kortix/sdk/event-stream — framework-free SSE connect/reconnect/coalesce primitive
18
+ */
19
+ export { configureKortix, platformConfig, isConfigured, type KortixPlatformConfig, type KortixFeatureFlagOverrides, } from './platform/config.js';
20
+ /**
21
+ * The opinionated single entry point. `createKortix({ getToken })` wires the
22
+ * platform seam and returns one client whose methods cover the whole REST +
23
+ * opencode surface — so a host app imports ONLY from `@kortix/sdk`.
24
+ */
25
+ export { createKortix, SessionNotReadyError, type Kortix, type ProjectHandle, type SessionHandle, type SessionModel, } from './kortix.js';
26
+ /** Workspace file operations (daemon `/file` + `/find`), owned by the SDK. */
27
+ export { files } from './files/client.js';
28
+ export type * from './files/types.js';
29
+ /** Generate a session id (RFC 4122 v4, with a non-secure-context fallback). */
30
+ export { generateSessionId } from './platform/session-id.js';
31
+ /**
32
+ * Session transcript formatting — pure `SessionInfo`/`MessageWithParts` →
33
+ * Markdown, zero DOM deps, so any host (web, mobile, CLI) exports a transcript
34
+ * the same way.
35
+ */
36
+ export { DEFAULT_TRANSCRIPT_OPTIONS, formatTranscript, getTranscriptFilename, type MessageWithParts, type SessionInfo, type TranscriptOptions, } from './transcript.js';
37
+ /**
38
+ * A session's runtime surface — proxy/preview/web-proxy URL building + the
39
+ * `/kortix/health` liveness probe. The host reaches these through the session
40
+ * handle (`createKortix(...).session(pid, sid).health()/.previewUrl()/.proxyUrl()`);
41
+ * stateless helpers live at `@kortix/sdk/session`. "Sandbox" never appears in the
42
+ * public surface — a session owns its runtime.
43
+ */
44
+ export type { SessionHealthResponse, SessionHealthResult } from './session/health.js';
45
+ /**
46
+ * A session's resolved runtime (opencode session id + runtime URL + sandbox
47
+ * id) — the shape `ensureReady()` resolves to and the shared session-runtime
48
+ * registry stores. Re-exported so it's nameable from the package's public
49
+ * surface (TS's declaration emit needs this to describe `SessionHandle`'s
50
+ * `ensureReady()` return type without reaching into an internal module path).
51
+ */
52
+ export type { SessionRuntimeEntry } from './state/session-runtime-registry.js';
53
+ /**
54
+ * The framework-free SSE event-stream primitive — connect/reconnect/backoff,
55
+ * heartbeat watchdog, and event coalescing, with ZERO react/react-query
56
+ * imports. `@kortix/sdk/react`'s `useOpenCodeEventStream` is a thin wrapper
57
+ * around this for the React host; any other host (worker, CLI, non-React UI)
58
+ * can call it directly.
59
+ */
60
+ export { openEventStream, type EventStreamClient, type EventStreamHandle, type EventStreamTimers, type OpenCodeEvent, type OpenEventStreamOptions, } from './state/event-stream.js';
61
+ /**
62
+ * Typed error classes for the REST surface — isomorphic (no DOM/React deps),
63
+ * so a server-side "Kortix as a Backend" wrapper can `catch` a call into
64
+ * `backendApi`/`createKortix(...)`, `instanceof BillingError` a 402 and pass
65
+ * the cost/upgrade payload straight through to its own client, or
66
+ * `instanceof ApiError` to branch on `.status`/`.code`. Same classes the
67
+ * React host uses (`@kortix/sdk/react` re-exports from this same module) —
68
+ * one error hierarchy across every host.
69
+ */
70
+ export { ApiError, AuthError, BillingError, RequestTooLargeError, parseBillingError, isBillingError, formatBillingErrorForUI, type ApiErrorFields, type BillingErrorUI, } from './platform/api/errors.js';
71
+ /**
72
+ * Exhaustive part/turn classification for building chat UIs — framework-free.
73
+ * `classifyPart` normalizes every opencode `Part` variant (text, reasoning,
74
+ * tool, file, subtask, patch, snapshot, agent, retry, compaction, step) into
75
+ * a `ClassifiedPart`, with a compile-time exhaustiveness check plus a runtime
76
+ * 'unknown' fallback for forward-compat. `classifyTurn` classifies every part
77
+ * of a message and normalizes its `info.error` into a `TurnError`, so a host
78
+ * doesn't have to special-case "assistant message with zero parts but a
79
+ * failure" as silent nothingness. `toolInfo` is a zero-icon tool-name ->
80
+ * {label, category} registry a host maps to its own icon set. Also available
81
+ * from `@kortix/sdk/turns`.
82
+ */
83
+ export { type ClassifiedAgentPart, type ClassifiedCompactionPart, type ClassifiedFilePart, type ClassifiedPart, type ClassifiedPatchPart, type ClassifiedReasoningPart, type ClassifiedRetryPart, type ClassifiedSnapshotPart, type ClassifiedStepPart, type ClassifiedSubtaskPart, type ClassifiedTextPart, type ClassifiedToolPart, type ClassifiedTurn, type ClassifiedUnknownPart, type ToolCategory, type ToolInfoEntry, type ToolStatus, type ToolView, type TurnError, classifyPart, classifyTurn, humanizeToolName, toolInfo, } from './turns/index.js';
84
+ /**
85
+ * The curated chat-event union — narrows the full `OpenCodeEvent` wire union
86
+ * down to the ~12 events a product chat UI needs (message/part updates,
87
+ * session status/idle/error, question asked/answered, permission
88
+ * asked/replied, todo updated, connection, heartbeat-gap), reshaped into
89
+ * purpose-built payloads. Also available from `@kortix/sdk/event-stream`.
90
+ */
91
+ export { heartbeatGapEvent, narrowChatEvent, type KortixChatEvent, type KortixChatEventConnection, type KortixChatEventHeartbeatGap, type KortixChatEventMessageRemoved, type KortixChatEventMessageUpdated, type KortixChatEventPartRemoved, type KortixChatEventPartUpdated, type KortixChatEventPermissionAsked, type KortixChatEventPermissionReplied, type KortixChatEventQuestionAnswered, type KortixChatEventQuestionAsked, type KortixChatEventSessionError, type KortixChatEventSessionIdle, type KortixChatEventSessionStatus, type KortixChatEventTodoUpdated, type KortixChatQuestionInfo, type KortixChatQuestionOption, type KortixChatToolRef, } from './state/chat-events.js';
92
+ /**
93
+ * Domain result types from the REST facade (`kortix.project(id).*` /
94
+ * `kortix.session(...)` / `kortix.accounts.*` / `kortix.billing.*`), re-exported
95
+ * type-only so a consumer can name what a facade call returns without a
96
+ * second import from `@kortix/sdk/projects-client`. Additive — no runtime
97
+ * cost, and every name here already lives in `./platform/projects-client`
98
+ * (this is a convenience re-export, not a new surface).
99
+ */
100
+ export type { KortixProject, ProjectConfigSummary, ProjectDetail, ProjectLlmCatalogResponse, KortixAccount, AccountDetail, AccountMember, AccountRole, ProjectRole, ProjectAccessMember, ProjectAccessRequest, ProjectGroupGrant, ProjectResourceGrant, PendingProjectInvite, PendingApproval, ProjectSecret, ProjectGitConnection, ConnectorSharing, AdminConnector, ConnectorConfig, ProjectSession, ProjectOpenCodeSession, SessionPublicShare, SessionAudit, SessionTranscript, SessionTranscriptMessage, ChangeRequest, ChangeRequestDiffResponse, ChangeRequestMergePreview, ProjectCommit, ProjectCommitDetail, ProjectCommitFile, ProjectBranch, ProjectTrigger, ProjectTriggerListing, SandboxTemplate, ProjectSandboxHealth, ProjectSnapshotBuild, GatewayLogRow, GatewayLogDetail, GatewayOverview, GatewayBudgetRow, GatewayKeyRow, AccountToken, CreatedAccountToken, ProjectCliToken, CreatedProjectCliToken, AccountState, BillingTransaction, BillingTransactionsPage, BillingTransactionsSummary, BillingCreditBreakdown, BillingTierConfiguration, MarketplaceInstalledItem, MarketplaceInstallResult, MarketplaceUpdateStatusEntry, MarketplaceUpdatesResponse, AuditEvent, AuditEventList, AuditWebhook, SecretRequestLink, ConnectorRequestLink, ManifestValidationResult, ProjectGitToken, GatewayPlaygroundResponse, CheckoutSessionResult, PortalSessionResult, AutoTopupSettings, MarketplaceCatalogItem, MarketplaceItemsResponse, MarketplaceEntry, MarketplaceSource, AccountIdentity, ValidateTokenResult, } from './platform/projects-client/index.js';
101
+ /**
102
+ * Linear-time trailing-slash strip shared with hosts — see
103
+ * `platform/strings.ts` for why this replaces the regex idiom.
104
+ */
105
+ export { stripTrailingSlashes } from './platform/strings.js';
106
+ /**
107
+ * Per-tool view models for `ToolView` — a discriminated union with a typed
108
+ * shape for each tool family a product chat UI renders specially (web/image
109
+ * search, shell, file read/write/edit, grep/glob search, task, todowrite,
110
+ * question), plus a `generic` fallback for everything else. Pairs with
111
+ * `ToolView`'s new `outputParsed`/`outputText` fields and its embedded-
112
+ * failure detection (a `state.status: "completed"` tool part whose JSON
113
+ * output body carries `success: false` or a top-level `error` — the shape
114
+ * router/executor tools like `web_search` commonly return on failure — now
115
+ * classifies as `status: 'error'` instead of rendering as a success with raw
116
+ * JSON inside). Also available from `@kortix/sdk/turns`.
117
+ */
118
+ export { type DiffLine, type DiffLineType, type QuestionItem, type QuestionOption, type SearchMatch, type TodoItem, type ToolViewModel, type WebSearchResultItem, toolViewModel, } from './turns/view-model.js';
119
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EACL,eAAe,EACf,cAAc,EACd,YAAY,EACZ,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,GAChC,MAAM,mBAAmB,CAAC;AAE3B;;;;GAIG;AACH,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,UAAU,CAAC;AAElB,8EAA8E;AAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,mBAAmB,eAAe,CAAC;AAEnC,+EAA+E;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;GAIG;AACH,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AAEtB;;;;;;GAMG;AACH,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEnF;;;;;;GAMG;AACH,YAAY,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAE5E;;;;;;GAMG;AACH,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;GAQG;AACH,OAAO,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;GAWG;AACH,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,QAAQ,GACT,MAAM,eAAe,CAAC;AAEvB;;;;;;GAMG;AACH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EACnC,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;GAOG;AACH,YAAY,EAEV,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,yBAAyB,EAEzB,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EAEf,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,eAAe,EAEf,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EAExB,aAAa,EACb,yBAAyB,EACzB,yBAAyB,EACzB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EAEb,cAAc,EACd,qBAAqB,EAErB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EAEpB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,aAAa,EAEb,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EAEtB,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EAExB,wBAAwB,EACxB,wBAAwB,EACxB,4BAA4B,EAC5B,0BAA0B,EAE1B,UAAU,EACV,cAAc,EACd,YAAY,EAEZ,iBAAiB,EACjB,oBAAoB,EAEpB,wBAAwB,EACxB,eAAe,EAEf,yBAAyB,EAEzB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EAEjB,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EAEjB,eAAe,EACf,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAEpC;;;GAGG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,aAAa,GACd,MAAM,oBAAoB,CAAC"}