@kortix/sdk 0.9.102 → 0.9.104

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 (821) hide show
  1. package/README.md +92 -2
  2. package/dist/browser/cache/idb-sync-cache.d.ts.map +1 -0
  3. package/dist/{state → browser/cache}/idb-sync-cache.js +1 -1
  4. package/dist/browser/cache/idb-sync-cache.js.map +1 -0
  5. package/dist/browser/stores/diagnostics-store.d.ts.map +1 -0
  6. package/dist/browser/stores/diagnostics-store.js.map +1 -0
  7. package/dist/browser/stores/opencode-compaction-store.d.ts.map +1 -0
  8. package/dist/browser/stores/opencode-compaction-store.js.map +1 -0
  9. package/dist/browser/stores/opencode-pending-store.d.ts.map +1 -0
  10. package/dist/browser/stores/opencode-pending-store.js.map +1 -0
  11. package/dist/{state → browser/stores}/sandbox-connection-store.d.ts +2 -0
  12. package/dist/browser/stores/sandbox-connection-store.d.ts.map +1 -0
  13. package/dist/{state → browser/stores}/sandbox-connection-store.js +11 -1
  14. package/dist/browser/stores/sandbox-connection-store.js.map +1 -0
  15. package/dist/{state → browser/stores}/server-store.d.ts +6 -6
  16. package/dist/browser/stores/server-store.d.ts.map +1 -0
  17. package/dist/{state → browser/stores}/server-store.js +7 -7
  18. package/dist/browser/stores/server-store.js.map +1 -0
  19. package/dist/browser/stores/sync-store/ascending-id.d.ts.map +1 -0
  20. package/dist/browser/stores/sync-store/ascending-id.js.map +1 -0
  21. package/dist/browser/stores/sync-store/binary.d.ts.map +1 -0
  22. package/dist/browser/stores/sync-store/binary.js.map +1 -0
  23. package/dist/browser/stores/sync-store/stream-cache.d.ts.map +1 -0
  24. package/dist/browser/stores/sync-store/stream-cache.js.map +1 -0
  25. package/dist/browser/stores/sync-store/types.d.ts.map +1 -0
  26. package/dist/browser/stores/sync-store/types.js.map +1 -0
  27. package/dist/browser/stores/sync-store.d.ts.map +1 -0
  28. package/dist/browser/stores/sync-store.js.map +1 -0
  29. package/dist/browser/stores/tab-store.d.ts.map +1 -0
  30. package/dist/{state → browser/stores}/tab-store.js +2 -2
  31. package/dist/browser/stores/tab-store.js.map +1 -0
  32. package/dist/{kortix.d.ts → core/client/kortix.d.ts} +27 -7
  33. package/dist/core/client/kortix.d.ts.map +1 -0
  34. package/dist/{kortix.js → core/client/kortix.js} +27 -14
  35. package/dist/core/client/kortix.js.map +1 -0
  36. package/dist/core/files/client.d.ts.map +1 -0
  37. package/dist/{files → core/files}/client.js +4 -4
  38. package/dist/core/files/client.js.map +1 -0
  39. package/dist/core/files/types.d.ts.map +1 -0
  40. package/dist/core/files/types.js.map +1 -0
  41. package/dist/core/http/api/errors.d.ts.map +1 -0
  42. package/dist/core/http/api/errors.js.map +1 -0
  43. package/dist/core/http/api-client.d.ts.map +1 -0
  44. package/dist/core/http/api-client.js.map +1 -0
  45. package/dist/{platform → core/http}/auth.d.ts +1 -1
  46. package/dist/core/http/auth.d.ts.map +1 -0
  47. package/dist/{platform → core/http}/auth.js +1 -1
  48. package/dist/core/http/auth.js.map +1 -0
  49. package/dist/core/http/config.d.ts.map +1 -0
  50. package/dist/core/http/config.js.map +1 -0
  51. package/dist/core/http/env.d.ts +7 -0
  52. package/dist/core/http/env.d.ts.map +1 -0
  53. package/dist/core/http/env.js +14 -0
  54. package/dist/core/http/env.js.map +1 -0
  55. package/dist/core/http/feature-flags.d.ts.map +1 -0
  56. package/dist/{platform → core/http}/feature-flags.js +1 -13
  57. package/dist/core/http/feature-flags.js.map +1 -0
  58. package/dist/core/http/fresh-sessions.d.ts.map +1 -0
  59. package/dist/core/http/fresh-sessions.js.map +1 -0
  60. package/dist/core/http/instance-routes.d.ts.map +1 -0
  61. package/dist/{platform → core/http}/instance-routes.js +5 -3
  62. package/dist/core/http/instance-routes.js.map +1 -0
  63. package/dist/core/http/logger.d.ts.map +1 -0
  64. package/dist/{platform → core/http}/logger.js +1 -1
  65. package/dist/core/http/logger.js.map +1 -0
  66. package/dist/core/http/opencode-errors.d.ts.map +1 -0
  67. package/dist/core/http/opencode-errors.js.map +1 -0
  68. package/dist/core/rest/platform-client/backups.d.ts.map +1 -0
  69. package/dist/core/rest/platform-client/backups.js.map +1 -0
  70. package/dist/core/rest/platform-client/index.d.ts.map +1 -0
  71. package/dist/core/rest/platform-client/index.js.map +1 -0
  72. package/dist/core/rest/platform-client/instance-admin.d.ts.map +1 -0
  73. package/dist/{platform → core/rest}/platform-client/instance-admin.js +1 -1
  74. package/dist/core/rest/platform-client/instance-admin.js.map +1 -0
  75. package/dist/core/rest/platform-client/invites.d.ts.map +1 -0
  76. package/dist/core/rest/platform-client/invites.js.map +1 -0
  77. package/dist/core/rest/platform-client/lifecycle.d.ts.map +1 -0
  78. package/dist/core/rest/platform-client/lifecycle.js.map +1 -0
  79. package/dist/core/rest/platform-client/members.d.ts.map +1 -0
  80. package/dist/{platform → core/rest}/platform-client/members.js +2 -2
  81. package/dist/core/rest/platform-client/members.js.map +1 -0
  82. package/dist/core/rest/platform-client/shared.d.ts.map +1 -0
  83. package/dist/{platform → core/rest}/platform-client/shared.js +8 -5
  84. package/dist/core/rest/platform-client/shared.js.map +1 -0
  85. package/dist/core/rest/platform-client/ssh.d.ts.map +1 -0
  86. package/dist/core/rest/platform-client/ssh.js.map +1 -0
  87. package/dist/core/rest/platform-client/types.d.ts.map +1 -0
  88. package/dist/core/rest/platform-client/types.js.map +1 -0
  89. package/dist/core/rest/platform-client/updates.d.ts.map +1 -0
  90. package/dist/core/rest/platform-client/updates.js.map +1 -0
  91. package/dist/core/rest/platform-client/urls.d.ts.map +1 -0
  92. package/dist/core/rest/platform-client/urls.js.map +1 -0
  93. package/dist/{platform → core/rest}/projects-client/access.d.ts +1 -1
  94. package/dist/core/rest/projects-client/access.d.ts.map +1 -0
  95. package/dist/{platform → core/rest}/projects-client/access.js +1 -1
  96. package/dist/core/rest/projects-client/access.js.map +1 -0
  97. package/dist/{platform → core/rest}/projects-client/accounts.d.ts +1 -1
  98. package/dist/core/rest/projects-client/accounts.d.ts.map +1 -0
  99. package/dist/{platform → core/rest}/projects-client/accounts.js +1 -1
  100. package/dist/core/rest/projects-client/accounts.js.map +1 -0
  101. package/dist/{platform → core/rest}/projects-client/agent-config.d.ts +6 -0
  102. package/dist/core/rest/projects-client/agent-config.d.ts.map +1 -0
  103. package/dist/{platform → core/rest}/projects-client/agent-config.js +5 -1
  104. package/dist/core/rest/projects-client/agent-config.js.map +1 -0
  105. package/dist/core/rest/projects-client/agent-scope.d.ts.map +1 -0
  106. package/dist/{platform → core/rest}/projects-client/agent-scope.js +1 -1
  107. package/dist/core/rest/projects-client/agent-scope.js.map +1 -0
  108. package/dist/core/rest/projects-client/apps.d.ts.map +1 -0
  109. package/dist/{platform → core/rest}/projects-client/apps.js +1 -1
  110. package/dist/core/rest/projects-client/apps.js.map +1 -0
  111. package/dist/core/rest/projects-client/audit.d.ts.map +1 -0
  112. package/dist/{platform → core/rest}/projects-client/audit.js +1 -1
  113. package/dist/core/rest/projects-client/audit.js.map +1 -0
  114. package/dist/core/rest/projects-client/billing.d.ts.map +1 -0
  115. package/dist/{platform → core/rest}/projects-client/billing.js +1 -1
  116. package/dist/core/rest/projects-client/billing.js.map +1 -0
  117. package/dist/core/rest/projects-client/change-requests.d.ts.map +1 -0
  118. package/dist/{platform → core/rest}/projects-client/change-requests.js +1 -1
  119. package/dist/core/rest/projects-client/change-requests.js.map +1 -0
  120. package/dist/{platform → core/rest}/projects-client/channels.d.ts +10 -0
  121. package/dist/core/rest/projects-client/channels.d.ts.map +1 -0
  122. package/dist/{platform → core/rest}/projects-client/channels.js +9 -4
  123. package/dist/core/rest/projects-client/channels.js.map +1 -0
  124. package/dist/{platform → core/rest}/projects-client/connectors.d.ts +33 -0
  125. package/dist/core/rest/projects-client/connectors.d.ts.map +1 -0
  126. package/dist/{platform → core/rest}/projects-client/connectors.js +17 -2
  127. package/dist/core/rest/projects-client/connectors.js.map +1 -0
  128. package/dist/core/rest/projects-client/files.d.ts.map +1 -0
  129. package/dist/{platform → core/rest}/projects-client/files.js +3 -3
  130. package/dist/core/rest/projects-client/files.js.map +1 -0
  131. package/dist/core/rest/projects-client/gateway.d.ts.map +1 -0
  132. package/dist/{platform → core/rest}/projects-client/gateway.js +1 -1
  133. package/dist/core/rest/projects-client/gateway.js.map +1 -0
  134. package/dist/core/rest/projects-client/git-history.d.ts.map +1 -0
  135. package/dist/{platform → core/rest}/projects-client/git-history.js +1 -1
  136. package/dist/core/rest/projects-client/git-history.js.map +1 -0
  137. package/dist/core/rest/projects-client/github.d.ts.map +1 -0
  138. package/dist/{platform → core/rest}/projects-client/github.js +1 -1
  139. package/dist/core/rest/projects-client/github.js.map +1 -0
  140. package/dist/{platform → core/rest}/projects-client/index.d.ts +1 -0
  141. package/dist/core/rest/projects-client/index.d.ts.map +1 -0
  142. package/dist/{platform → core/rest}/projects-client/index.js +1 -0
  143. package/dist/core/rest/projects-client/index.js.map +1 -0
  144. package/dist/core/rest/projects-client/marketplace-catalog.d.ts.map +1 -0
  145. package/dist/{platform → core/rest}/projects-client/marketplace-catalog.js +1 -1
  146. package/dist/core/rest/projects-client/marketplace-catalog.js.map +1 -0
  147. package/dist/core/rest/projects-client/marketplace.d.ts.map +1 -0
  148. package/dist/{platform → core/rest}/projects-client/marketplace.js +1 -1
  149. package/dist/core/rest/projects-client/marketplace.js.map +1 -0
  150. package/dist/core/rest/projects-client/model-defaults.d.ts.map +1 -0
  151. package/dist/{platform → core/rest}/projects-client/model-defaults.js +1 -1
  152. package/dist/core/rest/projects-client/model-defaults.js.map +1 -0
  153. package/dist/core/rest/projects-client/policies.d.ts.map +1 -0
  154. package/dist/{platform → core/rest}/projects-client/policies.js +1 -1
  155. package/dist/core/rest/projects-client/policies.js.map +1 -0
  156. package/dist/{platform → core/rest}/projects-client/projects.d.ts +1 -1
  157. package/dist/core/rest/projects-client/projects.d.ts.map +1 -0
  158. package/dist/{platform → core/rest}/projects-client/projects.js +1 -1
  159. package/dist/core/rest/projects-client/projects.js.map +1 -0
  160. package/dist/core/rest/projects-client/public-session-shares.d.ts.map +1 -0
  161. package/dist/{platform → core/rest}/projects-client/public-session-shares.js +1 -1
  162. package/dist/core/rest/projects-client/public-session-shares.js.map +1 -0
  163. package/dist/core/rest/projects-client/review.d.ts.map +1 -0
  164. package/dist/{platform → core/rest}/projects-client/review.js +1 -1
  165. package/dist/core/rest/projects-client/review.js.map +1 -0
  166. package/dist/core/rest/projects-client/sandbox-shares.d.ts.map +1 -0
  167. package/dist/{platform → core/rest}/projects-client/sandbox-shares.js +1 -1
  168. package/dist/core/rest/projects-client/sandbox-shares.js.map +1 -0
  169. package/dist/core/rest/projects-client/sandbox.d.ts.map +1 -0
  170. package/dist/{platform → core/rest}/projects-client/sandbox.js +1 -1
  171. package/dist/core/rest/projects-client/sandbox.js.map +1 -0
  172. package/dist/core/rest/projects-client/secrets.d.ts.map +1 -0
  173. package/dist/{platform → core/rest}/projects-client/secrets.js +1 -1
  174. package/dist/core/rest/projects-client/secrets.js.map +1 -0
  175. package/dist/core/rest/projects-client/session-sandbox.d.ts.map +1 -0
  176. package/dist/{platform → core/rest}/projects-client/session-sandbox.js +4 -4
  177. package/dist/core/rest/projects-client/session-sandbox.js.map +1 -0
  178. package/dist/{platform → core/rest}/projects-client/sessions.d.ts +26 -14
  179. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -0
  180. package/dist/{platform → core/rest}/projects-client/sessions.js +5 -3
  181. package/dist/core/rest/projects-client/sessions.js.map +1 -0
  182. package/dist/core/rest/projects-client/setup-links.d.ts.map +1 -0
  183. package/dist/{platform → core/rest}/projects-client/setup-links.js +1 -1
  184. package/dist/core/rest/projects-client/setup-links.js.map +1 -0
  185. package/dist/core/rest/projects-client/shared.d.ts.map +1 -0
  186. package/dist/core/rest/projects-client/shared.js.map +1 -0
  187. package/dist/core/rest/projects-client/templates.d.ts +50 -0
  188. package/dist/core/rest/projects-client/templates.d.ts.map +1 -0
  189. package/dist/core/rest/projects-client/templates.js +11 -0
  190. package/dist/core/rest/projects-client/templates.js.map +1 -0
  191. package/dist/core/rest/projects-client/tokens.d.ts.map +1 -0
  192. package/dist/{platform → core/rest}/projects-client/tokens.js +1 -1
  193. package/dist/core/rest/projects-client/tokens.js.map +1 -0
  194. package/dist/core/rest/projects-client/transcription.d.ts.map +1 -0
  195. package/dist/{platform → core/rest}/projects-client/transcription.js +1 -1
  196. package/dist/core/rest/projects-client/transcription.js.map +1 -0
  197. package/dist/core/rest/projects-client/triggers.d.ts.map +1 -0
  198. package/dist/{platform → core/rest}/projects-client/triggers.js +1 -1
  199. package/dist/core/rest/projects-client/triggers.js.map +1 -0
  200. package/dist/{opencode → core/runtime}/client.d.ts +1 -0
  201. package/dist/core/runtime/client.d.ts.map +1 -0
  202. package/dist/{opencode → core/runtime}/client.js +11 -8
  203. package/dist/core/runtime/client.js.map +1 -0
  204. package/dist/core/runtime/env.d.ts.map +1 -0
  205. package/dist/{opencode → core/runtime}/env.js +1 -1
  206. package/dist/core/runtime/env.js.map +1 -0
  207. package/dist/{opencode → core/runtime}/kortix-master.d.ts +19 -6
  208. package/dist/core/runtime/kortix-master.d.ts.map +1 -0
  209. package/dist/{opencode → core/runtime}/kortix-master.js +1 -1
  210. package/dist/core/runtime/kortix-master.js.map +1 -0
  211. package/dist/core/runtime/pty.d.ts +46 -0
  212. package/dist/core/runtime/pty.d.ts.map +1 -0
  213. package/dist/core/runtime/pty.js +109 -0
  214. package/dist/core/runtime/pty.js.map +1 -0
  215. package/dist/core/runtime/triggers.d.ts.map +1 -0
  216. package/dist/{opencode → core/runtime}/triggers.js +1 -1
  217. package/dist/core/runtime/triggers.js.map +1 -0
  218. package/dist/core/session/current-runtime.d.ts.map +1 -0
  219. package/dist/core/session/current-runtime.js.map +1 -0
  220. package/dist/core/session/health.d.ts.map +1 -0
  221. package/dist/{session → core/session}/health.js +2 -2
  222. package/dist/core/session/health.js.map +1 -0
  223. package/dist/core/session/index.d.ts.map +1 -0
  224. package/dist/core/session/index.js.map +1 -0
  225. package/dist/core/session/preview.d.ts.map +1 -0
  226. package/dist/core/session/preview.js.map +1 -0
  227. package/dist/core/session/server-store/active.d.ts.map +1 -0
  228. package/dist/{state → core/session}/server-store/active.js +1 -1
  229. package/dist/core/session/server-store/active.js.map +1 -0
  230. package/dist/core/session/server-store/types.d.ts.map +1 -0
  231. package/dist/core/session/server-store/types.js.map +1 -0
  232. package/dist/core/session/server-store/url-helpers.d.ts.map +1 -0
  233. package/dist/{state → core/session}/server-store/url-helpers.js +1 -1
  234. package/dist/core/session/server-store/url-helpers.js.map +1 -0
  235. package/dist/{state → core/session}/session-runtime-registry.d.ts +3 -3
  236. package/dist/core/session/session-runtime-registry.d.ts.map +1 -0
  237. package/dist/{state → core/session}/session-runtime-registry.js +3 -3
  238. package/dist/core/session/session-runtime-registry.js.map +1 -0
  239. package/dist/core/session/url.d.ts.map +1 -0
  240. package/dist/{session → core/session}/url.js +1 -1
  241. package/dist/core/session/url.js.map +1 -0
  242. package/dist/{state → core/stream}/chat-events.d.ts +1 -1
  243. package/dist/core/stream/chat-events.d.ts.map +1 -0
  244. package/dist/core/stream/chat-events.js.map +1 -0
  245. package/dist/core/stream/event-stream.d.ts.map +1 -0
  246. package/dist/{state → core/stream}/event-stream.js +2 -2
  247. package/dist/core/stream/event-stream.js.map +1 -0
  248. package/dist/{turns → core/turns}/classify.d.ts +2 -2
  249. package/dist/core/turns/classify.d.ts.map +1 -0
  250. package/dist/core/turns/classify.js.map +1 -0
  251. package/dist/core/turns/errors.d.ts.map +1 -0
  252. package/dist/core/turns/errors.js.map +1 -0
  253. package/dist/core/turns/grouping.d.ts +72 -0
  254. package/dist/core/turns/grouping.d.ts.map +1 -0
  255. package/dist/core/turns/grouping.js +196 -0
  256. package/dist/core/turns/grouping.js.map +1 -0
  257. package/dist/core/turns/index.d.ts +14 -0
  258. package/dist/core/turns/index.d.ts.map +1 -0
  259. package/dist/core/turns/index.js +9 -0
  260. package/dist/core/turns/index.js.map +1 -0
  261. package/dist/core/turns/parts.d.ts +115 -0
  262. package/dist/core/turns/parts.d.ts.map +1 -0
  263. package/dist/{turns/index.js → core/turns/parts.js} +10 -636
  264. package/dist/core/turns/parts.js.map +1 -0
  265. package/dist/core/turns/shell.d.ts +22 -0
  266. package/dist/core/turns/shell.d.ts.map +1 -0
  267. package/dist/core/turns/shell.js +42 -0
  268. package/dist/core/turns/shell.js.map +1 -0
  269. package/dist/core/turns/state.d.ts +82 -0
  270. package/dist/core/turns/state.d.ts.map +1 -0
  271. package/dist/core/turns/state.js +417 -0
  272. package/dist/core/turns/state.js.map +1 -0
  273. package/dist/core/turns/tool-registry.d.ts.map +1 -0
  274. package/dist/core/turns/tool-registry.js.map +1 -0
  275. package/dist/core/turns/types.d.ts.map +1 -0
  276. package/dist/core/turns/types.js.map +1 -0
  277. package/dist/core/turns/view-model.d.ts.map +1 -0
  278. package/dist/core/turns/view-model.js.map +1 -0
  279. package/dist/deprecated/api-client.d.ts +6 -0
  280. package/dist/deprecated/api-client.d.ts.map +1 -0
  281. package/dist/deprecated/api-client.js +6 -0
  282. package/dist/deprecated/api-client.js.map +1 -0
  283. package/dist/deprecated/auth.d.ts +6 -0
  284. package/dist/deprecated/auth.d.ts.map +1 -0
  285. package/dist/deprecated/auth.js +6 -0
  286. package/dist/deprecated/auth.js.map +1 -0
  287. package/dist/deprecated/config.d.ts +6 -0
  288. package/dist/deprecated/config.d.ts.map +1 -0
  289. package/dist/deprecated/config.js +6 -0
  290. package/dist/deprecated/config.js.map +1 -0
  291. package/dist/deprecated/event-stream.d.ts +6 -0
  292. package/dist/deprecated/event-stream.d.ts.map +1 -0
  293. package/dist/deprecated/event-stream.js +6 -0
  294. package/dist/deprecated/event-stream.js.map +1 -0
  295. package/dist/deprecated/feature-flags.d.ts +6 -0
  296. package/dist/deprecated/feature-flags.d.ts.map +1 -0
  297. package/dist/deprecated/feature-flags.js +6 -0
  298. package/dist/deprecated/feature-flags.js.map +1 -0
  299. package/dist/deprecated/files.d.ts +6 -0
  300. package/dist/deprecated/files.d.ts.map +1 -0
  301. package/dist/deprecated/files.js +6 -0
  302. package/dist/deprecated/files.js.map +1 -0
  303. package/dist/deprecated/fresh-sessions.d.ts +6 -0
  304. package/dist/deprecated/fresh-sessions.d.ts.map +1 -0
  305. package/dist/deprecated/fresh-sessions.js +6 -0
  306. package/dist/deprecated/fresh-sessions.js.map +1 -0
  307. package/dist/deprecated/idb-sync-cache.d.ts +7 -0
  308. package/dist/deprecated/idb-sync-cache.d.ts.map +1 -0
  309. package/dist/deprecated/idb-sync-cache.js +7 -0
  310. package/dist/deprecated/idb-sync-cache.js.map +1 -0
  311. package/dist/deprecated/instance-routes.d.ts +6 -0
  312. package/dist/deprecated/instance-routes.d.ts.map +1 -0
  313. package/dist/deprecated/instance-routes.js +6 -0
  314. package/dist/deprecated/instance-routes.js.map +1 -0
  315. package/dist/deprecated/opencode-client.d.ts +6 -0
  316. package/dist/deprecated/opencode-client.d.ts.map +1 -0
  317. package/dist/deprecated/opencode-client.js +6 -0
  318. package/dist/deprecated/opencode-client.js.map +1 -0
  319. package/dist/deprecated/opencode-errors.d.ts +6 -0
  320. package/dist/deprecated/opencode-errors.d.ts.map +1 -0
  321. package/dist/deprecated/opencode-errors.js +6 -0
  322. package/dist/deprecated/opencode-errors.js.map +1 -0
  323. package/dist/deprecated/opencode-pending-store.d.ts +7 -0
  324. package/dist/deprecated/opencode-pending-store.d.ts.map +1 -0
  325. package/dist/deprecated/opencode-pending-store.js +7 -0
  326. package/dist/deprecated/opencode-pending-store.js.map +1 -0
  327. package/dist/deprecated/platform-client.d.ts +6 -0
  328. package/dist/deprecated/platform-client.d.ts.map +1 -0
  329. package/dist/deprecated/platform-client.js +6 -0
  330. package/dist/deprecated/platform-client.js.map +1 -0
  331. package/dist/deprecated/projects-client.d.ts +6 -0
  332. package/dist/deprecated/projects-client.d.ts.map +1 -0
  333. package/dist/deprecated/projects-client.js +6 -0
  334. package/dist/deprecated/projects-client.js.map +1 -0
  335. package/dist/deprecated/sandbox-connection-store.d.ts +7 -0
  336. package/dist/deprecated/sandbox-connection-store.d.ts.map +1 -0
  337. package/dist/deprecated/sandbox-connection-store.js +7 -0
  338. package/dist/deprecated/sandbox-connection-store.js.map +1 -0
  339. package/dist/deprecated/server-store.d.ts +7 -0
  340. package/dist/deprecated/server-store.d.ts.map +1 -0
  341. package/dist/deprecated/server-store.js +7 -0
  342. package/dist/deprecated/server-store.js.map +1 -0
  343. package/dist/deprecated/session-url.d.ts +6 -0
  344. package/dist/deprecated/session-url.d.ts.map +1 -0
  345. package/dist/deprecated/session-url.js +6 -0
  346. package/dist/deprecated/session-url.js.map +1 -0
  347. package/dist/deprecated/session.d.ts +6 -0
  348. package/dist/deprecated/session.d.ts.map +1 -0
  349. package/dist/deprecated/session.js +6 -0
  350. package/dist/deprecated/session.js.map +1 -0
  351. package/dist/deprecated/sync-store.d.ts +7 -0
  352. package/dist/deprecated/sync-store.d.ts.map +1 -0
  353. package/dist/deprecated/sync-store.js +7 -0
  354. package/dist/deprecated/sync-store.js.map +1 -0
  355. package/dist/deprecated/turns.d.ts +6 -0
  356. package/dist/deprecated/turns.d.ts.map +1 -0
  357. package/dist/deprecated/turns.js +6 -0
  358. package/dist/deprecated/turns.js.map +1 -0
  359. package/dist/index.d.ts +49 -25
  360. package/dist/index.d.ts.map +1 -1
  361. package/dist/index.js +43 -21
  362. package/dist/index.js.map +1 -1
  363. package/dist/internal/idb-sync-cache.d.ts +6 -0
  364. package/dist/internal/idb-sync-cache.d.ts.map +1 -0
  365. package/dist/internal/idb-sync-cache.js +6 -0
  366. package/dist/internal/idb-sync-cache.js.map +1 -0
  367. package/dist/internal/opencode-pending-store.d.ts +6 -0
  368. package/dist/internal/opencode-pending-store.d.ts.map +1 -0
  369. package/dist/internal/opencode-pending-store.js +6 -0
  370. package/dist/internal/opencode-pending-store.js.map +1 -0
  371. package/dist/internal/sandbox-connection-store.d.ts +6 -0
  372. package/dist/internal/sandbox-connection-store.d.ts.map +1 -0
  373. package/dist/internal/sandbox-connection-store.js +6 -0
  374. package/dist/internal/sandbox-connection-store.js.map +1 -0
  375. package/dist/internal/server-store.d.ts +6 -0
  376. package/dist/internal/server-store.d.ts.map +1 -0
  377. package/dist/internal/server-store.js +6 -0
  378. package/dist/internal/server-store.js.map +1 -0
  379. package/dist/internal/sync-store.d.ts +6 -0
  380. package/dist/internal/sync-store.d.ts.map +1 -0
  381. package/dist/internal/sync-store.js +6 -0
  382. package/dist/internal/sync-store.js.map +1 -0
  383. package/dist/kortix.esm.min.js +64 -0
  384. package/dist/kortix.global.js +64 -0
  385. package/dist/{server.d.ts → node/server.d.ts} +3 -3
  386. package/dist/node/server.d.ts.map +1 -0
  387. package/dist/{server.js → node/server.js} +2 -2
  388. package/dist/node/server.js.map +1 -0
  389. package/dist/platform/auth-core.d.ts +1 -1
  390. package/dist/platform/auth-core.js +1 -1
  391. package/dist/platform/config-node.d.ts +1 -1
  392. package/dist/platform/config-node.d.ts.map +1 -1
  393. package/dist/platform/config-node.js +1 -1
  394. package/dist/platform/config-node.js.map +1 -1
  395. package/dist/platform/ui.js +1 -1
  396. package/dist/platform/ui.js.map +1 -1
  397. package/dist/react/chat/render-parts.d.ts +1 -1
  398. package/dist/react/chat/render-parts.d.ts.map +1 -1
  399. package/dist/react/chat/use-chat-turns.d.ts +1 -1
  400. package/dist/react/chat/use-chat-turns.d.ts.map +1 -1
  401. package/dist/react/chat/use-chat-turns.js +1 -1
  402. package/dist/react/chat/use-chat-turns.js.map +1 -1
  403. package/dist/react/index.d.ts +2 -3
  404. package/dist/react/index.d.ts.map +1 -1
  405. package/dist/react/index.js +2 -6
  406. package/dist/react/index.js.map +1 -1
  407. package/dist/react/opencode.d.ts +3 -3
  408. package/dist/react/opencode.d.ts.map +1 -1
  409. package/dist/react/opencode.js +2 -2
  410. package/dist/react/opencode.js.map +1 -1
  411. package/dist/react/prefetch-session-start.js +1 -1
  412. package/dist/react/prefetch-session-start.js.map +1 -1
  413. package/dist/react/provider-refresh.js +1 -1
  414. package/dist/react/provider-refresh.js.map +1 -1
  415. package/dist/react/provider-selection.d.ts +1 -1
  416. package/dist/react/provider-selection.d.ts.map +1 -1
  417. package/dist/react/session-start-stash.d.ts +0 -9
  418. package/dist/react/session-start-stash.d.ts.map +1 -1
  419. package/dist/react/session-start-stash.js +9 -42
  420. package/dist/react/session-start-stash.js.map +1 -1
  421. package/dist/react/use-canonical-opencode-session.js +1 -1
  422. package/dist/react/use-canonical-opencode-session.js.map +1 -1
  423. package/dist/react/use-change-requests.d.ts +7 -7
  424. package/dist/react/use-change-requests.d.ts.map +1 -1
  425. package/dist/react/use-change-requests.js +1 -1
  426. package/dist/react/use-change-requests.js.map +1 -1
  427. package/dist/react/use-current-runtime.d.ts +1 -1
  428. package/dist/react/use-current-runtime.d.ts.map +1 -1
  429. package/dist/react/use-current-runtime.js +1 -1
  430. package/dist/react/use-current-runtime.js.map +1 -1
  431. package/dist/react/use-gateway-catalog-sync.js +2 -2
  432. package/dist/react/use-gateway-catalog-sync.js.map +1 -1
  433. package/dist/react/use-kortix-master.d.ts +8 -8
  434. package/dist/react/use-kortix-master.d.ts.map +1 -1
  435. package/dist/react/use-kortix-master.js +2 -2
  436. package/dist/react/use-kortix-master.js.map +1 -1
  437. package/dist/react/use-model-store.d.ts +17 -0
  438. package/dist/react/use-model-store.d.ts.map +1 -1
  439. package/dist/react/use-model-store.js +30 -0
  440. package/dist/react/use-model-store.js.map +1 -1
  441. package/dist/react/use-opencode-config.js +1 -1
  442. package/dist/react/use-opencode-config.js.map +1 -1
  443. package/dist/react/use-opencode-events/diagnostics.js +1 -1
  444. package/dist/react/use-opencode-events/diagnostics.js.map +1 -1
  445. package/dist/react/use-opencode-events/handle-event.d.ts +1 -1
  446. package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -1
  447. package/dist/react/use-opencode-events/handle-event.js +3 -3
  448. package/dist/react/use-opencode-events/handle-event.js.map +1 -1
  449. package/dist/react/use-opencode-events/index.js +10 -10
  450. package/dist/react/use-opencode-events/index.js.map +1 -1
  451. package/dist/react/use-opencode-events/types.d.ts +1 -1
  452. package/dist/react/use-opencode-events/types.d.ts.map +1 -1
  453. package/dist/react/use-opencode-events/use-event-stream-refs.js +4 -4
  454. package/dist/react/use-opencode-events/use-event-stream-refs.js.map +1 -1
  455. package/dist/react/use-opencode-local.d.ts +11 -2
  456. package/dist/react/use-opencode-local.d.ts.map +1 -1
  457. package/dist/react/use-opencode-local.js +31 -8
  458. package/dist/react/use-opencode-local.js.map +1 -1
  459. package/dist/react/use-opencode-mcp.js +1 -1
  460. package/dist/react/use-opencode-mcp.js.map +1 -1
  461. package/dist/react/use-opencode-pty.d.ts +5 -5
  462. package/dist/react/use-opencode-pty.d.ts.map +1 -1
  463. package/dist/react/use-opencode-pty.js +7 -69
  464. package/dist/react/use-opencode-pty.js.map +1 -1
  465. package/dist/react/use-opencode-sessions/agents.d.ts +7 -0
  466. package/dist/react/use-opencode-sessions/agents.d.ts.map +1 -1
  467. package/dist/react/use-opencode-sessions/agents.js +21 -3
  468. package/dist/react/use-opencode-sessions/agents.js.map +1 -1
  469. package/dist/react/use-opencode-sessions/commands.js +1 -1
  470. package/dist/react/use-opencode-sessions/commands.js.map +1 -1
  471. package/dist/react/use-opencode-sessions/files.js +1 -1
  472. package/dist/react/use-opencode-sessions/files.js.map +1 -1
  473. package/dist/react/use-opencode-sessions/keys.js +2 -2
  474. package/dist/react/use-opencode-sessions/keys.js.map +1 -1
  475. package/dist/react/use-opencode-sessions/mcp.js +1 -1
  476. package/dist/react/use-opencode-sessions/mcp.js.map +1 -1
  477. package/dist/react/use-opencode-sessions/messages.js +3 -3
  478. package/dist/react/use-opencode-sessions/messages.js.map +1 -1
  479. package/dist/react/use-opencode-sessions/parts.js +1 -1
  480. package/dist/react/use-opencode-sessions/parts.js.map +1 -1
  481. package/dist/react/use-opencode-sessions/permissions.js +1 -1
  482. package/dist/react/use-opencode-sessions/permissions.js.map +1 -1
  483. package/dist/react/use-opencode-sessions/projects.js +1 -1
  484. package/dist/react/use-opencode-sessions/projects.js.map +1 -1
  485. package/dist/react/use-opencode-sessions/providers.js +2 -2
  486. package/dist/react/use-opencode-sessions/providers.js.map +1 -1
  487. package/dist/react/use-opencode-sessions/sessions.d.ts +0 -11
  488. package/dist/react/use-opencode-sessions/sessions.d.ts.map +1 -1
  489. package/dist/react/use-opencode-sessions/sessions.js +4 -43
  490. package/dist/react/use-opencode-sessions/sessions.js.map +1 -1
  491. package/dist/react/use-opencode-sessions/shared.js +1 -1
  492. package/dist/react/use-opencode-sessions/shared.js.map +1 -1
  493. package/dist/react/use-opencode-sessions/sharing.js +1 -1
  494. package/dist/react/use-opencode-sessions/sharing.js.map +1 -1
  495. package/dist/react/use-opencode-sessions/tools.js +1 -1
  496. package/dist/react/use-opencode-sessions/tools.js.map +1 -1
  497. package/dist/react/use-permission-self-heal.d.ts +1 -1
  498. package/dist/react/use-permission-self-heal.d.ts.map +1 -1
  499. package/dist/react/use-permission-self-heal.js +2 -2
  500. package/dist/react/use-permission-self-heal.js.map +1 -1
  501. package/dist/react/use-project-config.d.ts +1 -1
  502. package/dist/react/use-project-config.d.ts.map +1 -1
  503. package/dist/react/use-project-config.js +1 -1
  504. package/dist/react/use-project-config.js.map +1 -1
  505. package/dist/react/use-project-models.js +1 -1
  506. package/dist/react/use-project-models.js.map +1 -1
  507. package/dist/react/use-project-secrets.d.ts +1 -1
  508. package/dist/react/use-project-secrets.d.ts.map +1 -1
  509. package/dist/react/use-project-secrets.js +1 -1
  510. package/dist/react/use-project-secrets.js.map +1 -1
  511. package/dist/react/use-project-triggers.d.ts +13 -13
  512. package/dist/react/use-project-triggers.d.ts.map +1 -1
  513. package/dist/react/use-project-triggers.js +1 -1
  514. package/dist/react/use-project-triggers.js.map +1 -1
  515. package/dist/react/use-question-self-heal.d.ts +1 -1
  516. package/dist/react/use-question-self-heal.d.ts.map +1 -1
  517. package/dist/react/use-question-self-heal.js +2 -2
  518. package/dist/react/use-question-self-heal.js.map +1 -1
  519. package/dist/react/use-runtime-phase.js +1 -1
  520. package/dist/react/use-runtime-phase.js.map +1 -1
  521. package/dist/react/use-runtime-reconnect.d.ts +2 -2
  522. package/dist/react/use-runtime-reconnect.d.ts.map +1 -1
  523. package/dist/react/use-runtime-reconnect.js +9 -5
  524. package/dist/react/use-runtime-reconnect.js.map +1 -1
  525. package/dist/react/use-session-prefetch.js +4 -4
  526. package/dist/react/use-session-prefetch.js.map +1 -1
  527. package/dist/react/use-session-send.js +2 -2
  528. package/dist/react/use-session-send.js.map +1 -1
  529. package/dist/react/use-session-sync.d.ts +1 -1
  530. package/dist/react/use-session-sync.d.ts.map +1 -1
  531. package/dist/react/use-session-sync.js +4 -4
  532. package/dist/react/use-session-sync.js.map +1 -1
  533. package/dist/react/use-session.d.ts +5 -5
  534. package/dist/react/use-session.d.ts.map +1 -1
  535. package/dist/react/use-session.js +9 -9
  536. package/dist/react/use-session.js.map +1 -1
  537. package/dist/react/use-visible-agents.js +1 -1
  538. package/dist/react/use-visible-agents.js.map +1 -1
  539. package/package.json +85 -59
  540. package/dist/files/client.d.ts.map +0 -1
  541. package/dist/files/client.js.map +0 -1
  542. package/dist/files/types.d.ts.map +0 -1
  543. package/dist/files/types.js.map +0 -1
  544. package/dist/kortix.d.ts.map +0 -1
  545. package/dist/kortix.js.map +0 -1
  546. package/dist/opencode/client.d.ts.map +0 -1
  547. package/dist/opencode/client.js.map +0 -1
  548. package/dist/opencode/env.d.ts.map +0 -1
  549. package/dist/opencode/env.js.map +0 -1
  550. package/dist/opencode/kortix-master.d.ts.map +0 -1
  551. package/dist/opencode/kortix-master.js.map +0 -1
  552. package/dist/opencode/triggers.d.ts.map +0 -1
  553. package/dist/opencode/triggers.js.map +0 -1
  554. package/dist/platform/api/errors.d.ts.map +0 -1
  555. package/dist/platform/api/errors.js.map +0 -1
  556. package/dist/platform/api-client.d.ts.map +0 -1
  557. package/dist/platform/api-client.js.map +0 -1
  558. package/dist/platform/auth.d.ts.map +0 -1
  559. package/dist/platform/auth.js.map +0 -1
  560. package/dist/platform/config.d.ts.map +0 -1
  561. package/dist/platform/config.js.map +0 -1
  562. package/dist/platform/feature-flags.d.ts.map +0 -1
  563. package/dist/platform/feature-flags.js.map +0 -1
  564. package/dist/platform/fresh-sessions.d.ts.map +0 -1
  565. package/dist/platform/fresh-sessions.js.map +0 -1
  566. package/dist/platform/instance-routes.d.ts.map +0 -1
  567. package/dist/platform/instance-routes.js.map +0 -1
  568. package/dist/platform/logger.d.ts.map +0 -1
  569. package/dist/platform/logger.js.map +0 -1
  570. package/dist/platform/opencode-errors.d.ts.map +0 -1
  571. package/dist/platform/opencode-errors.js.map +0 -1
  572. package/dist/platform/platform-client/backups.d.ts.map +0 -1
  573. package/dist/platform/platform-client/backups.js.map +0 -1
  574. package/dist/platform/platform-client/index.d.ts.map +0 -1
  575. package/dist/platform/platform-client/index.js.map +0 -1
  576. package/dist/platform/platform-client/instance-admin.d.ts.map +0 -1
  577. package/dist/platform/platform-client/instance-admin.js.map +0 -1
  578. package/dist/platform/platform-client/invites.d.ts.map +0 -1
  579. package/dist/platform/platform-client/invites.js.map +0 -1
  580. package/dist/platform/platform-client/lifecycle.d.ts.map +0 -1
  581. package/dist/platform/platform-client/lifecycle.js.map +0 -1
  582. package/dist/platform/platform-client/members.d.ts.map +0 -1
  583. package/dist/platform/platform-client/members.js.map +0 -1
  584. package/dist/platform/platform-client/shared.d.ts.map +0 -1
  585. package/dist/platform/platform-client/shared.js.map +0 -1
  586. package/dist/platform/platform-client/ssh.d.ts.map +0 -1
  587. package/dist/platform/platform-client/ssh.js.map +0 -1
  588. package/dist/platform/platform-client/types.d.ts.map +0 -1
  589. package/dist/platform/platform-client/types.js.map +0 -1
  590. package/dist/platform/platform-client/updates.d.ts.map +0 -1
  591. package/dist/platform/platform-client/updates.js.map +0 -1
  592. package/dist/platform/platform-client/urls.d.ts.map +0 -1
  593. package/dist/platform/platform-client/urls.js.map +0 -1
  594. package/dist/platform/projects-client/access.d.ts.map +0 -1
  595. package/dist/platform/projects-client/access.js.map +0 -1
  596. package/dist/platform/projects-client/accounts.d.ts.map +0 -1
  597. package/dist/platform/projects-client/accounts.js.map +0 -1
  598. package/dist/platform/projects-client/agent-config.d.ts.map +0 -1
  599. package/dist/platform/projects-client/agent-config.js.map +0 -1
  600. package/dist/platform/projects-client/agent-scope.d.ts.map +0 -1
  601. package/dist/platform/projects-client/agent-scope.js.map +0 -1
  602. package/dist/platform/projects-client/apps.d.ts.map +0 -1
  603. package/dist/platform/projects-client/apps.js.map +0 -1
  604. package/dist/platform/projects-client/audit.d.ts.map +0 -1
  605. package/dist/platform/projects-client/audit.js.map +0 -1
  606. package/dist/platform/projects-client/billing.d.ts.map +0 -1
  607. package/dist/platform/projects-client/billing.js.map +0 -1
  608. package/dist/platform/projects-client/change-requests.d.ts.map +0 -1
  609. package/dist/platform/projects-client/change-requests.js.map +0 -1
  610. package/dist/platform/projects-client/channels.d.ts.map +0 -1
  611. package/dist/platform/projects-client/channels.js.map +0 -1
  612. package/dist/platform/projects-client/connectors.d.ts.map +0 -1
  613. package/dist/platform/projects-client/connectors.js.map +0 -1
  614. package/dist/platform/projects-client/files.d.ts.map +0 -1
  615. package/dist/platform/projects-client/files.js.map +0 -1
  616. package/dist/platform/projects-client/gateway.d.ts.map +0 -1
  617. package/dist/platform/projects-client/gateway.js.map +0 -1
  618. package/dist/platform/projects-client/git-history.d.ts.map +0 -1
  619. package/dist/platform/projects-client/git-history.js.map +0 -1
  620. package/dist/platform/projects-client/github.d.ts.map +0 -1
  621. package/dist/platform/projects-client/github.js.map +0 -1
  622. package/dist/platform/projects-client/index.d.ts.map +0 -1
  623. package/dist/platform/projects-client/index.js.map +0 -1
  624. package/dist/platform/projects-client/marketplace-catalog.d.ts.map +0 -1
  625. package/dist/platform/projects-client/marketplace-catalog.js.map +0 -1
  626. package/dist/platform/projects-client/marketplace.d.ts.map +0 -1
  627. package/dist/platform/projects-client/marketplace.js.map +0 -1
  628. package/dist/platform/projects-client/model-defaults.d.ts.map +0 -1
  629. package/dist/platform/projects-client/model-defaults.js.map +0 -1
  630. package/dist/platform/projects-client/policies.d.ts.map +0 -1
  631. package/dist/platform/projects-client/policies.js.map +0 -1
  632. package/dist/platform/projects-client/projects.d.ts.map +0 -1
  633. package/dist/platform/projects-client/projects.js.map +0 -1
  634. package/dist/platform/projects-client/public-session-shares.d.ts.map +0 -1
  635. package/dist/platform/projects-client/public-session-shares.js.map +0 -1
  636. package/dist/platform/projects-client/review.d.ts.map +0 -1
  637. package/dist/platform/projects-client/review.js.map +0 -1
  638. package/dist/platform/projects-client/sandbox-shares.d.ts.map +0 -1
  639. package/dist/platform/projects-client/sandbox-shares.js.map +0 -1
  640. package/dist/platform/projects-client/sandbox.d.ts.map +0 -1
  641. package/dist/platform/projects-client/sandbox.js.map +0 -1
  642. package/dist/platform/projects-client/secrets.d.ts.map +0 -1
  643. package/dist/platform/projects-client/secrets.js.map +0 -1
  644. package/dist/platform/projects-client/session-sandbox.d.ts.map +0 -1
  645. package/dist/platform/projects-client/session-sandbox.js.map +0 -1
  646. package/dist/platform/projects-client/sessions.d.ts.map +0 -1
  647. package/dist/platform/projects-client/sessions.js.map +0 -1
  648. package/dist/platform/projects-client/setup-links.d.ts.map +0 -1
  649. package/dist/platform/projects-client/setup-links.js.map +0 -1
  650. package/dist/platform/projects-client/shared.d.ts.map +0 -1
  651. package/dist/platform/projects-client/shared.js.map +0 -1
  652. package/dist/platform/projects-client/tokens.d.ts.map +0 -1
  653. package/dist/platform/projects-client/tokens.js.map +0 -1
  654. package/dist/platform/projects-client/transcription.d.ts.map +0 -1
  655. package/dist/platform/projects-client/transcription.js.map +0 -1
  656. package/dist/platform/projects-client/triggers.d.ts.map +0 -1
  657. package/dist/platform/projects-client/triggers.js.map +0 -1
  658. package/dist/server.d.ts.map +0 -1
  659. package/dist/server.js.map +0 -1
  660. package/dist/session/health.d.ts.map +0 -1
  661. package/dist/session/health.js.map +0 -1
  662. package/dist/session/index.d.ts.map +0 -1
  663. package/dist/session/index.js.map +0 -1
  664. package/dist/session/preview.d.ts.map +0 -1
  665. package/dist/session/preview.js.map +0 -1
  666. package/dist/session/url.d.ts.map +0 -1
  667. package/dist/session/url.js.map +0 -1
  668. package/dist/state/chat-events.d.ts.map +0 -1
  669. package/dist/state/chat-events.js.map +0 -1
  670. package/dist/state/current-runtime.d.ts.map +0 -1
  671. package/dist/state/current-runtime.js.map +0 -1
  672. package/dist/state/diagnostics-store.d.ts.map +0 -1
  673. package/dist/state/diagnostics-store.js.map +0 -1
  674. package/dist/state/event-stream.d.ts.map +0 -1
  675. package/dist/state/event-stream.js.map +0 -1
  676. package/dist/state/idb-sync-cache.d.ts.map +0 -1
  677. package/dist/state/idb-sync-cache.js.map +0 -1
  678. package/dist/state/opencode-compaction-store.d.ts.map +0 -1
  679. package/dist/state/opencode-compaction-store.js.map +0 -1
  680. package/dist/state/opencode-pending-store.d.ts.map +0 -1
  681. package/dist/state/opencode-pending-store.js.map +0 -1
  682. package/dist/state/sandbox-connection-store.d.ts.map +0 -1
  683. package/dist/state/sandbox-connection-store.js.map +0 -1
  684. package/dist/state/server-store/active.d.ts.map +0 -1
  685. package/dist/state/server-store/active.js.map +0 -1
  686. package/dist/state/server-store/types.d.ts.map +0 -1
  687. package/dist/state/server-store/types.js.map +0 -1
  688. package/dist/state/server-store/url-helpers.d.ts.map +0 -1
  689. package/dist/state/server-store/url-helpers.js.map +0 -1
  690. package/dist/state/server-store.d.ts.map +0 -1
  691. package/dist/state/server-store.js.map +0 -1
  692. package/dist/state/session-runtime-registry.d.ts.map +0 -1
  693. package/dist/state/session-runtime-registry.js.map +0 -1
  694. package/dist/state/sync-store/ascending-id.d.ts.map +0 -1
  695. package/dist/state/sync-store/ascending-id.js.map +0 -1
  696. package/dist/state/sync-store/binary.d.ts.map +0 -1
  697. package/dist/state/sync-store/binary.js.map +0 -1
  698. package/dist/state/sync-store/stream-cache.d.ts.map +0 -1
  699. package/dist/state/sync-store/stream-cache.js.map +0 -1
  700. package/dist/state/sync-store/types.d.ts.map +0 -1
  701. package/dist/state/sync-store/types.js.map +0 -1
  702. package/dist/state/sync-store.d.ts.map +0 -1
  703. package/dist/state/sync-store.js.map +0 -1
  704. package/dist/state/tab-store.d.ts.map +0 -1
  705. package/dist/state/tab-store.js.map +0 -1
  706. package/dist/turns/classify.d.ts.map +0 -1
  707. package/dist/turns/classify.js.map +0 -1
  708. package/dist/turns/errors.d.ts.map +0 -1
  709. package/dist/turns/errors.js.map +0 -1
  710. package/dist/turns/index.d.ts +0 -264
  711. package/dist/turns/index.d.ts.map +0 -1
  712. package/dist/turns/index.js.map +0 -1
  713. package/dist/turns/tool-registry.d.ts.map +0 -1
  714. package/dist/turns/tool-registry.js.map +0 -1
  715. package/dist/turns/types.d.ts.map +0 -1
  716. package/dist/turns/types.js.map +0 -1
  717. package/dist/turns/view-model.d.ts.map +0 -1
  718. package/dist/turns/view-model.js.map +0 -1
  719. /package/dist/{state → browser/cache}/idb-sync-cache.d.ts +0 -0
  720. /package/dist/{state → browser/stores}/diagnostics-store.d.ts +0 -0
  721. /package/dist/{state → browser/stores}/diagnostics-store.js +0 -0
  722. /package/dist/{state → browser/stores}/opencode-compaction-store.d.ts +0 -0
  723. /package/dist/{state → browser/stores}/opencode-compaction-store.js +0 -0
  724. /package/dist/{state → browser/stores}/opencode-pending-store.d.ts +0 -0
  725. /package/dist/{state → browser/stores}/opencode-pending-store.js +0 -0
  726. /package/dist/{state → browser/stores}/sync-store/ascending-id.d.ts +0 -0
  727. /package/dist/{state → browser/stores}/sync-store/ascending-id.js +0 -0
  728. /package/dist/{state → browser/stores}/sync-store/binary.d.ts +0 -0
  729. /package/dist/{state → browser/stores}/sync-store/binary.js +0 -0
  730. /package/dist/{state → browser/stores}/sync-store/stream-cache.d.ts +0 -0
  731. /package/dist/{state → browser/stores}/sync-store/stream-cache.js +0 -0
  732. /package/dist/{state → browser/stores}/sync-store/types.d.ts +0 -0
  733. /package/dist/{state → browser/stores}/sync-store/types.js +0 -0
  734. /package/dist/{state → browser/stores}/sync-store.d.ts +0 -0
  735. /package/dist/{state → browser/stores}/sync-store.js +0 -0
  736. /package/dist/{state → browser/stores}/tab-store.d.ts +0 -0
  737. /package/dist/{files → core/files}/client.d.ts +0 -0
  738. /package/dist/{files → core/files}/types.d.ts +0 -0
  739. /package/dist/{files → core/files}/types.js +0 -0
  740. /package/dist/{platform → core/http}/api/errors.d.ts +0 -0
  741. /package/dist/{platform → core/http}/api/errors.js +0 -0
  742. /package/dist/{platform → core/http}/api-client.d.ts +0 -0
  743. /package/dist/{platform → core/http}/api-client.js +0 -0
  744. /package/dist/{platform → core/http}/config.d.ts +0 -0
  745. /package/dist/{platform → core/http}/config.js +0 -0
  746. /package/dist/{platform → core/http}/feature-flags.d.ts +0 -0
  747. /package/dist/{platform → core/http}/fresh-sessions.d.ts +0 -0
  748. /package/dist/{platform → core/http}/fresh-sessions.js +0 -0
  749. /package/dist/{platform → core/http}/instance-routes.d.ts +0 -0
  750. /package/dist/{platform → core/http}/logger.d.ts +0 -0
  751. /package/dist/{platform → core/http}/opencode-errors.d.ts +0 -0
  752. /package/dist/{platform → core/http}/opencode-errors.js +0 -0
  753. /package/dist/{platform → core/rest}/platform-client/backups.d.ts +0 -0
  754. /package/dist/{platform → core/rest}/platform-client/backups.js +0 -0
  755. /package/dist/{platform → core/rest}/platform-client/index.d.ts +0 -0
  756. /package/dist/{platform → core/rest}/platform-client/index.js +0 -0
  757. /package/dist/{platform → core/rest}/platform-client/instance-admin.d.ts +0 -0
  758. /package/dist/{platform → core/rest}/platform-client/invites.d.ts +0 -0
  759. /package/dist/{platform → core/rest}/platform-client/invites.js +0 -0
  760. /package/dist/{platform → core/rest}/platform-client/lifecycle.d.ts +0 -0
  761. /package/dist/{platform → core/rest}/platform-client/lifecycle.js +0 -0
  762. /package/dist/{platform → core/rest}/platform-client/members.d.ts +0 -0
  763. /package/dist/{platform → core/rest}/platform-client/shared.d.ts +0 -0
  764. /package/dist/{platform → core/rest}/platform-client/ssh.d.ts +0 -0
  765. /package/dist/{platform → core/rest}/platform-client/ssh.js +0 -0
  766. /package/dist/{platform → core/rest}/platform-client/types.d.ts +0 -0
  767. /package/dist/{platform → core/rest}/platform-client/types.js +0 -0
  768. /package/dist/{platform → core/rest}/platform-client/updates.d.ts +0 -0
  769. /package/dist/{platform → core/rest}/platform-client/updates.js +0 -0
  770. /package/dist/{platform → core/rest}/platform-client/urls.d.ts +0 -0
  771. /package/dist/{platform → core/rest}/platform-client/urls.js +0 -0
  772. /package/dist/{platform → core/rest}/projects-client/agent-scope.d.ts +0 -0
  773. /package/dist/{platform → core/rest}/projects-client/apps.d.ts +0 -0
  774. /package/dist/{platform → core/rest}/projects-client/audit.d.ts +0 -0
  775. /package/dist/{platform → core/rest}/projects-client/billing.d.ts +0 -0
  776. /package/dist/{platform → core/rest}/projects-client/change-requests.d.ts +0 -0
  777. /package/dist/{platform → core/rest}/projects-client/files.d.ts +0 -0
  778. /package/dist/{platform → core/rest}/projects-client/gateway.d.ts +0 -0
  779. /package/dist/{platform → core/rest}/projects-client/git-history.d.ts +0 -0
  780. /package/dist/{platform → core/rest}/projects-client/github.d.ts +0 -0
  781. /package/dist/{platform → core/rest}/projects-client/marketplace-catalog.d.ts +0 -0
  782. /package/dist/{platform → core/rest}/projects-client/marketplace.d.ts +0 -0
  783. /package/dist/{platform → core/rest}/projects-client/model-defaults.d.ts +0 -0
  784. /package/dist/{platform → core/rest}/projects-client/policies.d.ts +0 -0
  785. /package/dist/{platform → core/rest}/projects-client/public-session-shares.d.ts +0 -0
  786. /package/dist/{platform → core/rest}/projects-client/review.d.ts +0 -0
  787. /package/dist/{platform → core/rest}/projects-client/sandbox-shares.d.ts +0 -0
  788. /package/dist/{platform → core/rest}/projects-client/sandbox.d.ts +0 -0
  789. /package/dist/{platform → core/rest}/projects-client/secrets.d.ts +0 -0
  790. /package/dist/{platform → core/rest}/projects-client/session-sandbox.d.ts +0 -0
  791. /package/dist/{platform → core/rest}/projects-client/setup-links.d.ts +0 -0
  792. /package/dist/{platform → core/rest}/projects-client/shared.d.ts +0 -0
  793. /package/dist/{platform → core/rest}/projects-client/shared.js +0 -0
  794. /package/dist/{platform → core/rest}/projects-client/tokens.d.ts +0 -0
  795. /package/dist/{platform → core/rest}/projects-client/transcription.d.ts +0 -0
  796. /package/dist/{platform → core/rest}/projects-client/triggers.d.ts +0 -0
  797. /package/dist/{opencode → core/runtime}/env.d.ts +0 -0
  798. /package/dist/{opencode → core/runtime}/triggers.d.ts +0 -0
  799. /package/dist/{state → core/session}/current-runtime.d.ts +0 -0
  800. /package/dist/{state → core/session}/current-runtime.js +0 -0
  801. /package/dist/{session → core/session}/health.d.ts +0 -0
  802. /package/dist/{session → core/session}/index.d.ts +0 -0
  803. /package/dist/{session → core/session}/index.js +0 -0
  804. /package/dist/{session → core/session}/preview.d.ts +0 -0
  805. /package/dist/{session → core/session}/preview.js +0 -0
  806. /package/dist/{state → core/session}/server-store/active.d.ts +0 -0
  807. /package/dist/{state → core/session}/server-store/types.d.ts +0 -0
  808. /package/dist/{state → core/session}/server-store/types.js +0 -0
  809. /package/dist/{state → core/session}/server-store/url-helpers.d.ts +0 -0
  810. /package/dist/{session → core/session}/url.d.ts +0 -0
  811. /package/dist/{state → core/stream}/chat-events.js +0 -0
  812. /package/dist/{state → core/stream}/event-stream.d.ts +0 -0
  813. /package/dist/{turns → core/turns}/classify.js +0 -0
  814. /package/dist/{turns → core/turns}/errors.d.ts +0 -0
  815. /package/dist/{turns → core/turns}/errors.js +0 -0
  816. /package/dist/{turns → core/turns}/tool-registry.d.ts +0 -0
  817. /package/dist/{turns → core/turns}/tool-registry.js +0 -0
  818. /package/dist/{turns → core/turns}/types.d.ts +0 -0
  819. /package/dist/{turns → core/turns}/types.js +0 -0
  820. /package/dist/{turns → core/turns}/view-model.d.ts +0 -0
  821. /package/dist/{turns → core/turns}/view-model.js +0 -0
@@ -1,16 +1,11 @@
1
1
  /**
2
- * Turn grouping & part helpers framework-agnostic.
2
+ * Part-level helpers type guards, attachment splitting, tool-part display
3
+ * info, and everything else that operates on a single part (or a single
4
+ * part's tool/path/diagnostics data) rather than a whole turn.
3
5
  *
4
- * Pure functions that transform SDK message data into view-model shapes.
5
- * Single implementation shared by the web and mobile UIs.
6
- *
7
- * IMPORTANT: No React / DOM / framework imports allowed in this module.
8
- * Matches the SolidJS reference in opencode/packages/ui/src/components/session-turn.tsx
6
+ * Split out of `turns/index.ts` see that file's history for the original
7
+ * single-file version. No React / DOM / framework imports allowed.
9
8
  */
10
- export { unwrapError } from './errors.js';
11
- export * from './tool-registry.js';
12
- export * from './classify.js';
13
- export * from './view-model.js';
14
9
  import { unwrapError } from './errors.js';
15
10
  // ============================================================================
16
11
  // Type guards
@@ -74,168 +69,6 @@ export function splitUserParts(parts) {
74
69
  }
75
70
  return { attachments, stickyParts };
76
71
  }
77
- // ============================================================================
78
- // Turn grouping
79
- // ============================================================================
80
- /**
81
- * Group messages into turns: each turn starts with a user message followed
82
- * by 0+ assistant messages.
83
- *
84
- * Uses parentID-based linking (matching SolidJS session-turn.tsx:272-292):
85
- * assistant messages are associated with their parent user message via
86
- * `parentID`. Falls back to sequential ordering when parentID is absent.
87
- */
88
- export function groupMessagesIntoTurns(messages) {
89
- const turns = [];
90
- const turnsByUserMsgId = new Map();
91
- // First pass: create turns from user messages.
92
- // Dedupe by id — a user message can transiently appear twice (e.g. an
93
- // optimistic copy + the real one before reconcile finishes, or a hydrate
94
- // that races a part.updated event). Two turns with the same userMessage.id
95
- // would crash list renderers keyed by it (e.g. FlatList's keyExtractor).
96
- for (const msg of messages) {
97
- if (msg.info.role === 'user') {
98
- if (turnsByUserMsgId.has(msg.info.id))
99
- continue;
100
- const turn = { userMessage: msg, assistantMessages: [] };
101
- turns.push(turn);
102
- turnsByUserMsgId.set(msg.info.id, turn);
103
- }
104
- }
105
- // Second pass: link assistant messages via parentID or sequential
106
- let lastTurn = null;
107
- for (const msg of messages) {
108
- if (msg.info.role === 'user') {
109
- lastTurn = turnsByUserMsgId.get(msg.info.id) ?? null;
110
- continue;
111
- }
112
- if (msg.info.role !== 'assistant')
113
- continue;
114
- const assistantMsg = msg.info;
115
- // Try parentID-based linking first (matches SolidJS)
116
- if (assistantMsg.parentID) {
117
- const parentTurn = turnsByUserMsgId.get(assistantMsg.parentID);
118
- if (parentTurn) {
119
- parentTurn.assistantMessages.push(msg);
120
- continue;
121
- }
122
- }
123
- // Fall back to sequential ordering — attach to the most recently seen
124
- // user turn in iteration order. This keeps streaming parts that arrive
125
- // before their parent metadata in the right turn.
126
- if (lastTurn) {
127
- lastTurn.assistantMessages.push(msg);
128
- continue;
129
- }
130
- // Orphan assistant message that precedes every user message in the
131
- // session (e.g. a session-init failure with no parentID). Attaching to
132
- // the LAST turn would surface its error under an unrelated, much later
133
- // user prompt. Attach to the FIRST turn instead so it renders at its
134
- // real chronological position — or create a synthetic turn if no user
135
- // messages exist at all.
136
- if (turns.length > 0) {
137
- turns[0].assistantMessages.unshift(msg);
138
- continue;
139
- }
140
- const syntheticTurn = { userMessage: msg, assistantMessages: [] };
141
- turns.push(syntheticTurn);
142
- }
143
- return turns;
144
- }
145
- // ============================================================================
146
- // Part collection helpers
147
- // ============================================================================
148
- /** Collect all parts from a turn's assistant messages. */
149
- export function collectTurnParts(turn) {
150
- const result = [];
151
- for (const msg of turn.assistantMessages) {
152
- for (const part of msg.parts) {
153
- result.push({ part, message: msg });
154
- }
155
- }
156
- return result;
157
- }
158
- /** Find the last non-empty text part in a turn (the "response"). */
159
- export function findLastTextPart(parts) {
160
- for (let i = parts.length - 1; i >= 0; i--) {
161
- const p = parts[i].part;
162
- if (isTextPart(p) && p.text?.trim()) {
163
- return p;
164
- }
165
- }
166
- return undefined;
167
- }
168
- /** Check if a turn has tool steps. */
169
- export function turnHasSteps(parts) {
170
- return parts.some(({ part }) => part.type === 'tool' ||
171
- part.type === 'compaction' ||
172
- part.type === 'snapshot' ||
173
- part.type === 'patch');
174
- }
175
- // ============================================================================
176
- // Shell mode detection
177
- // ============================================================================
178
- /**
179
- * Detect "shell mode": user message is entirely synthetic text parts AND
180
- * there's exactly one assistant message with exactly one part which is a bash tool.
181
- *
182
- * Stricter than our previous implementation — matches SolidJS session-turn.tsx:364-379
183
- * which checks `msgParts.length !== 1` (exactly one assistant part total).
184
- */
185
- export function isShellMode(turn) {
186
- const userParts = turn.userMessage.parts;
187
- if (userParts.length === 0)
188
- return false;
189
- const allSynthetic = userParts.every((p) => isTextPart(p) && p.synthetic);
190
- if (!allSynthetic)
191
- return false;
192
- if (turn.assistantMessages.length !== 1)
193
- return false;
194
- const assistantParts = turn.assistantMessages[0].parts;
195
- // Strict: exactly 1 part total (not just 1 tool part)
196
- if (assistantParts.length !== 1)
197
- return false;
198
- const part = assistantParts[0];
199
- return isToolPart(part) && part.tool === 'bash';
200
- }
201
- /** Get the bash tool part when in shell mode. */
202
- export function getShellModePart(turn) {
203
- if (!isShellMode(turn))
204
- return undefined;
205
- return turn.assistantMessages[0].parts[0];
206
- }
207
- // ============================================================================
208
- // Working state
209
- // ============================================================================
210
- /** Check if this is the last user message in the session. */
211
- export function isLastUserMessage(messageId, allMessages) {
212
- for (let i = allMessages.length - 1; i >= 0; i--) {
213
- if (allMessages[i].info.role === 'user') {
214
- return allMessages[i].info.id === messageId;
215
- }
216
- }
217
- return false;
218
- }
219
- /** Derive the "working" state for a turn. Only the last turn shows as working. */
220
- export function getWorkingState(sessionStatus, isLast) {
221
- if (!isLast)
222
- return false;
223
- if (!sessionStatus)
224
- return false;
225
- return sessionStatus.type !== 'idle';
226
- }
227
- // ============================================================================
228
- // Response part separation
229
- // ============================================================================
230
- /**
231
- * Whether the last text part (the "response") should be extracted from the
232
- * steps list and shown separately in the Response section.
233
- *
234
- * Matches SolidJS session-turn.tsx:440-443
235
- */
236
- export function shouldHideResponsePart(working, responsePartId) {
237
- return !working && !!responsePartId;
238
- }
239
72
  /**
240
73
  * Get the list of tool parts to hide from the step list.
241
74
  * Matches SolidJS session-turn.tsx:332-339
@@ -253,209 +86,11 @@ export function isToolPartHidden(part, messageId, hidden) {
253
86
  return hidden.some((h) => h.messageID === messageId && h.callID === part.callID);
254
87
  }
255
88
  // ============================================================================
256
- // Answered question parts (shown when collapsed)
257
- // ============================================================================
258
- /**
259
- * Collect answered question parts that should be shown outside of the
260
- * steps list. Questions are always rendered standalone (never inside steps),
261
- * so answered questions are shown regardless of stepsExpanded state.
262
- */
263
- export function getAnsweredQuestionParts(turn, _stepsExpanded, hasActiveQuestion) {
264
- // Active question takes precedence — don't also show old answered ones
265
- if (hasActiveQuestion)
266
- return [];
267
- const result = [];
268
- for (const msg of turn.assistantMessages) {
269
- for (const part of msg.parts) {
270
- if (!isToolPart(part))
271
- continue;
272
- const tp = part;
273
- const answers = tp.state?.metadata?.answers;
274
- if (tp.tool === 'question' && (answers?.length ?? 0) > 0) {
275
- result.push({ part, message: msg });
276
- }
277
- }
278
- }
279
- return result;
280
- }
281
- // ============================================================================
282
- // Error extraction — with deep JSON unwrapping
283
- // ============================================================================
284
- /** Extract error message from assistant messages in a turn. */
285
- export function getTurnError(turn) {
286
- for (const msg of turn.assistantMessages) {
287
- const info = msg.info;
288
- if (info.error) {
289
- return unwrapError(info.error);
290
- }
291
- }
292
- return undefined;
293
- }
294
- // ============================================================================
295
- // Status text computation
296
- // ============================================================================
297
- /**
298
- * Derive human-readable status from a part.
299
- * Matches SolidJS computeStatusFromPart — session-turn.tsx:83-119
300
- */
301
- export function computeStatusFromPart(part) {
302
- if (!part)
303
- return undefined;
304
- if (isToolPart(part)) {
305
- switch (part.tool) {
306
- case 'task':
307
- case 'session_spawn':
308
- case 'session_start_background':
309
- case 'session-spawn':
310
- case 'session-start-background':
311
- return 'Delegating to agent...';
312
- case 'agent_spawn':
313
- case 'agent-spawn':
314
- case 'agent_task':
315
- case 'agent-task':
316
- return 'Delegating to agent...';
317
- case 'agent_task_update':
318
- case 'agent-task-update':
319
- case 'task_update':
320
- case 'task-update':
321
- return 'Updating task...';
322
- case 'agent_message':
323
- case 'agent-message':
324
- case 'agent_task_message':
325
- case 'agent-task-message':
326
- case 'task_message':
327
- case 'task-message':
328
- return 'Messaging agent...';
329
- case 'task_create':
330
- case 'task-create':
331
- case 'task_start':
332
- case 'task-start':
333
- return 'Creating task...';
334
- case 'task_list':
335
- case 'task-list':
336
- return 'Listing tasks...';
337
- case 'task_done':
338
- case 'task-done':
339
- return 'Updating task...';
340
- case 'todowrite':
341
- case 'todoread':
342
- return 'Planning...';
343
- case 'read':
344
- return 'Gathering context...';
345
- case 'list':
346
- case 'grep':
347
- case 'glob':
348
- return 'Searching codebase...';
349
- case 'webfetch':
350
- case 'scrape-webpage':
351
- return 'Fetching web page...';
352
- case 'websearch':
353
- case 'web-search':
354
- case 'web_search':
355
- return 'Searching web...';
356
- case 'image-search':
357
- return 'Searching images...';
358
- case 'image-gen':
359
- return 'Generating image...';
360
- case 'video-gen':
361
- return 'Generating video...';
362
- case 'presentation-gen':
363
- return 'Creating presentation...';
364
- case 'show':
365
- case 'show-user':
366
- return 'Showing output...';
367
- case 'edit':
368
- case 'write':
369
- case 'morph_edit':
370
- return 'Making edits...';
371
- case 'bash':
372
- return 'Running commands...';
373
- case 'apply_patch':
374
- return 'Applying patches...';
375
- case 'prune':
376
- return 'Pruning context...';
377
- case 'distill':
378
- return 'Distilling context...';
379
- case 'compress':
380
- return 'Compressing context...';
381
- case 'context_info':
382
- return 'Updating context info...';
383
- default:
384
- return `Running ${part.tool}...`;
385
- }
386
- }
387
- if (isReasoningPart(part)) {
388
- const text = part.text?.trimStart();
389
- if (text) {
390
- const match = text.match(/^\*\*(.+?)\*\*/);
391
- if (match)
392
- return `Thinking about ${match[1].trim()}...`;
393
- }
394
- return 'Thinking...';
395
- }
396
- if (isTextPart(part))
397
- return 'Gathering thoughts...';
398
- return undefined;
399
- }
400
- /**
401
- * Get status text for a turn, with child session delegation.
402
- *
403
- * Matches SolidJS rawStatus — session-turn.tsx:381-428
404
- * When the last part is a running `task` tool, drills into the child session
405
- * to derive the real status.
406
- */
407
- export function getTurnStatus(parts, childMessages) {
408
- // Scan parts in reverse for the last meaningful status
409
- for (let i = parts.length - 1; i >= 0; i--) {
410
- const p = parts[i].part;
411
- // If it's a running task orchestration tool, try to get status from child session
412
- const tp = isToolPart(p) ? p : undefined;
413
- if (tp &&
414
- (tp.tool === 'task' ||
415
- tp.tool === 'agent_task' ||
416
- tp.tool === 'agent-task' ||
417
- tp.tool === 'task_create' ||
418
- tp.tool === 'task-create' ||
419
- tp.tool === 'task_start' ||
420
- tp.tool === 'task-start') &&
421
- tp.state.status === 'running' &&
422
- childMessages &&
423
- childMessages.length > 0) {
424
- // Walk child session messages in reverse to find status
425
- for (let mi = childMessages.length - 1; mi >= 0; mi--) {
426
- const childMsg = childMessages[mi];
427
- if (childMsg.info.role !== 'assistant')
428
- continue;
429
- for (let pi = childMsg.parts.length - 1; pi >= 0; pi--) {
430
- const childStatus = computeStatusFromPart(childMsg.parts[pi]);
431
- if (childStatus)
432
- return childStatus;
433
- }
434
- }
435
- // Fall through to parent status
436
- return 'Delegating to agent...';
437
- }
438
- const s = computeStatusFromPart(p);
439
- if (s)
440
- return s;
441
- }
442
- return 'Considering next steps...';
443
- }
444
- // ============================================================================
445
- // Duration formatting
89
+ // Tool part filtering
446
90
  // ============================================================================
447
- export function formatDuration(ms) {
448
- // Sub-second durations are noise — skip the badge entirely. Callers
449
- // should conditionally render based on whether the returned string is
450
- // non-empty, so nothing visible changes when a tool returns in 200ms.
451
- if (!Number.isFinite(ms) || ms < 1000)
452
- return '';
453
- const seconds = Math.floor(ms / 1000);
454
- if (seconds < 60)
455
- return `${seconds}s`;
456
- const minutes = Math.floor(seconds / 60);
457
- const secs = seconds % 60;
458
- return secs > 0 ? `${minutes}m ${secs}s` : `${minutes}m`;
91
+ const HIDDEN_TOOLS = new Set(['todoread', 'context_info']);
92
+ export function shouldShowToolPart(part) {
93
+ return !HIDDEN_TOOLS.has(part.tool);
459
94
  }
460
95
  // ============================================================================
461
96
  // Child session helpers
@@ -559,13 +194,6 @@ export function getChildSessionToolParts(childMessages) {
559
194
  return result;
560
195
  }
561
196
  // ============================================================================
562
- // Tool part filtering
563
- // ============================================================================
564
- const HIDDEN_TOOLS = new Set(['todoread', 'context_info']);
565
- export function shouldShowToolPart(part) {
566
- return !HIDDEN_TOOLS.has(part.tool);
567
- }
568
- // ============================================================================
569
197
  // Tool info (icon + title + subtitle)
570
198
  // ============================================================================
571
199
  /**
@@ -971,199 +599,6 @@ export function getQuestionForTool(questions, callID) {
971
599
  return questions.find((q) => q.tool?.callID === callID);
972
600
  }
973
601
  // ============================================================================
974
- // Cost & Token helpers
975
- // ============================================================================
976
- /**
977
- * Platform markup applied to raw provider costs.
978
- *
979
- * The step-finish parts report raw provider cost (what the LLM vendor charges).
980
- * The billing system deducts cost × COST_MARKUP from the user's credits.
981
- * We apply the same multiplier here so the UI matches what's actually billed.
982
- *
983
- * Must stay in sync with KORTIX_MARKUP in apps/api/src/config.ts.
984
- */
985
- export const COST_MARKUP = 1.2;
986
- function estimateTokenCost(tokens, rates) {
987
- if (!tokens)
988
- return 0;
989
- const input = tokens.input ?? 0;
990
- const output = (tokens.output ?? 0) + (tokens.reasoning ?? 0);
991
- const cacheRead = tokens.cache?.read ?? 0;
992
- const cacheWrite = tokens.cache?.write ?? 0;
993
- const regularInput = Math.max(0, input - cacheRead - cacheWrite);
994
- let cost = (regularInput / 1_000_000) * rates.inputPer1M;
995
- cost += (output / 1_000_000) * rates.outputPer1M;
996
- if (cacheRead > 0) {
997
- cost += (cacheRead / 1_000_000) * (rates.cacheReadPer1M ?? rates.inputPer1M);
998
- }
999
- if (cacheWrite > 0) {
1000
- cost += (cacheWrite / 1_000_000) * rates.inputPer1M;
1001
- }
1002
- return cost;
1003
- }
1004
- function stepFinishRawCost(sfp, providerID, modelID, lookup) {
1005
- const reported = sfp.cost || 0;
1006
- if (reported > 0)
1007
- return reported;
1008
- if (!lookup || !providerID || !modelID)
1009
- return 0;
1010
- const rates = lookup(providerID, modelID);
1011
- if (!rates)
1012
- return 0;
1013
- return estimateTokenCost(sfp.tokens, rates);
1014
- }
1015
- function assistantMessageIds(message) {
1016
- if (message.role !== 'assistant')
1017
- return {};
1018
- const assistant = message;
1019
- return { providerID: assistant.providerID, modelID: assistant.modelID };
1020
- }
1021
- /**
1022
- * Aggregate cost/token info from step-finish parts in a turn.
1023
- * Returns undefined if no step-finish parts found.
1024
- *
1025
- * The cost is multiplied by COST_MARKUP so the displayed value matches
1026
- * the actual credits deducted (raw provider cost × 1.2).
1027
- */
1028
- export function getTurnCost(parts, lookup) {
1029
- let totalCost = 0;
1030
- let input = 0;
1031
- let output = 0;
1032
- let reasoning = 0;
1033
- let cacheRead = 0;
1034
- let cacheWrite = 0;
1035
- let found = false;
1036
- for (const { part, message } of parts) {
1037
- if (part.type === 'step-finish') {
1038
- found = true;
1039
- const sfp = part;
1040
- const { providerID, modelID } = assistantMessageIds(message.info);
1041
- totalCost += stepFinishRawCost(sfp, providerID, modelID, lookup);
1042
- input += sfp.tokens?.input || 0;
1043
- output += sfp.tokens?.output || 0;
1044
- reasoning += sfp.tokens?.reasoning || 0;
1045
- cacheRead += sfp.tokens?.cache?.read || 0;
1046
- cacheWrite += sfp.tokens?.cache?.write || 0;
1047
- }
1048
- }
1049
- if (!found) {
1050
- for (const { message } of parts) {
1051
- if (message.info.role !== 'assistant')
1052
- continue;
1053
- const assistant = message.info;
1054
- const stepCost = assistantTokensCost(assistant, lookup);
1055
- if (stepCost <= 0)
1056
- continue;
1057
- found = true;
1058
- totalCost += stepCost;
1059
- const t = assistant.tokens;
1060
- if (t) {
1061
- input += t.input ?? 0;
1062
- output += t.output ?? 0;
1063
- reasoning += t.reasoning ?? 0;
1064
- cacheRead += t.cache?.read ?? 0;
1065
- cacheWrite += t.cache?.write ?? 0;
1066
- }
1067
- }
1068
- }
1069
- if (!found)
1070
- return undefined;
1071
- return {
1072
- cost: totalCost * COST_MARKUP,
1073
- tokens: { input, output, reasoning, cacheRead, cacheWrite },
1074
- };
1075
- }
1076
- function assistantTokensCost(assistant, lookup) {
1077
- if (!lookup || !assistant.providerID || !assistant.modelID || !assistant.tokens)
1078
- return 0;
1079
- const rates = lookup(assistant.providerID, assistant.modelID);
1080
- if (!rates)
1081
- return 0;
1082
- return estimateTokenCost({
1083
- input: assistant.tokens.input,
1084
- output: assistant.tokens.output,
1085
- reasoning: assistant.tokens.reasoning,
1086
- cache: assistant.tokens.cache,
1087
- }, rates);
1088
- }
1089
- /**
1090
- * Aggregate billed cost for an entire session from step-finish parts.
1091
- * Matches per-turn `getTurnCost` and mobile session stats aggregation.
1092
- */
1093
- export function getSessionCost(messages, lookup) {
1094
- let totalCost = 0;
1095
- for (const msg of messages) {
1096
- if (msg.info?.role !== 'assistant')
1097
- continue;
1098
- const assistant = msg.info;
1099
- const { providerID, modelID } = assistantMessageIds(assistant);
1100
- let msgCost = 0;
1101
- let sawStepFinish = false;
1102
- for (const part of msg.parts) {
1103
- if (part.type !== 'step-finish')
1104
- continue;
1105
- sawStepFinish = true;
1106
- msgCost += stepFinishRawCost(part, providerID, modelID, lookup);
1107
- }
1108
- if (!sawStepFinish) {
1109
- msgCost += assistantTokensCost(assistant, lookup);
1110
- }
1111
- totalCost += msgCost;
1112
- }
1113
- return totalCost * COST_MARKUP;
1114
- }
1115
- /** Format cost in USD (e.g. "$0.0032") */
1116
- export function formatCost(cost) {
1117
- if (cost === 0)
1118
- return '$0.00';
1119
- if (cost < 0.001)
1120
- return `$${cost.toFixed(4)}`;
1121
- if (cost < 0.01)
1122
- return `$${cost.toFixed(3)}`;
1123
- return `$${cost.toFixed(2)}`;
1124
- }
1125
- /** Format token count (e.g. "12.3k") */
1126
- export function formatTokens(tokens) {
1127
- if (tokens < 1000)
1128
- return String(tokens);
1129
- if (tokens < 10000)
1130
- return `${(tokens / 1000).toFixed(1)}k`;
1131
- return `${Math.round(tokens / 1000)}k`;
1132
- }
1133
- // ============================================================================
1134
- // Retry helpers
1135
- // ============================================================================
1136
- /**
1137
- * Extract retry info from session status.
1138
- * Truncates message to 60 chars matching SolidJS session-turn.tsx:695
1139
- */
1140
- export function getRetryInfo(status) {
1141
- if (!status || status.type !== 'retry')
1142
- return undefined;
1143
- const retry = status;
1144
- return {
1145
- attempt: retry.attempt,
1146
- message: retry.message.length > 60 ? `${retry.message.slice(0, 60)}...` : retry.message,
1147
- next: retry.next,
1148
- };
1149
- }
1150
- /**
1151
- * Extract the full retry error message from session status (not truncated).
1152
- */
1153
- export function getRetryMessage(status) {
1154
- if (!status || status.type !== 'retry')
1155
- return undefined;
1156
- return unwrapError(status.message);
1157
- }
1158
- // ============================================================================
1159
- // hasDiffs check
1160
- // ============================================================================
1161
- /** Check if a user message has associated file diffs. */
1162
- export function hasDiffs(userMessage) {
1163
- const summary = userMessage.info.summary;
1164
- return (summary?.diffs?.length ?? 0) > 0;
1165
- }
1166
- // ============================================================================
1167
602
  // ANSI strip (used by bash tool renderer)
1168
603
  // ============================================================================
1169
604
  // OSC payloads (window titles, OSC-8 hyperlink URLs) are never more than a
@@ -1179,65 +614,4 @@ export function stripAnsi(str) {
1179
614
  return '';
1180
615
  return str.replace(ANSI_RE, '');
1181
616
  }
1182
- // ============================================================================
1183
- // Session list helpers (sidebar / tabs)
1184
- // ============================================================================
1185
- /**
1186
- * Build a map from parent session ID → array of child session IDs.
1187
- * Used to aggregate child session status (permissions, busy) in the sidebar.
1188
- * Matches SolidJS reference `childMapByParent()` in helpers.ts.
1189
- */
1190
- export function childMapByParent(sessions) {
1191
- const map = new Map();
1192
- for (const session of sessions) {
1193
- if (!session.parentID)
1194
- continue;
1195
- const existing = map.get(session.parentID);
1196
- if (existing) {
1197
- existing.push(session.id);
1198
- }
1199
- else {
1200
- map.set(session.parentID, [session.id]);
1201
- }
1202
- }
1203
- return map;
1204
- }
1205
- /**
1206
- * Sort comparator for sessions.
1207
- * Two tiers:
1208
- * 1. Sessions updated within `now - 60s` are pinned to top, sorted by ID (stable).
1209
- * 2. Older sessions sorted by `updated` time descending.
1210
- * Matches SolidJS reference `sortSessions()` in helpers.ts.
1211
- */
1212
- export function sortSessions(now) {
1213
- const oneMinuteAgo = now - 60 * 1000;
1214
- return (a, b) => {
1215
- const aUpdated = a.time.updated ?? a.time.created;
1216
- const bUpdated = b.time.updated ?? b.time.created;
1217
- const aRecent = aUpdated > oneMinuteAgo;
1218
- const bRecent = bUpdated > oneMinuteAgo;
1219
- if (aRecent && bRecent)
1220
- return a.id < b.id ? -1 : a.id > b.id ? 1 : 0;
1221
- if (aRecent && !bRecent)
1222
- return -1;
1223
- if (!aRecent && bRecent)
1224
- return 1;
1225
- return bUpdated - aUpdated;
1226
- };
1227
- }
1228
- /**
1229
- * Recursively collect ALL descendant session IDs for a given parent.
1230
- * Walks the full tree so deeply nested sub-agents are included.
1231
- */
1232
- export function allDescendantIds(childMap, sessionId) {
1233
- const directChildren = childMap.get(sessionId);
1234
- if (!directChildren || directChildren.length === 0)
1235
- return [];
1236
- const result = [];
1237
- for (const childId of directChildren) {
1238
- result.push(childId);
1239
- result.push(...allDescendantIds(childMap, childId));
1240
- }
1241
- return result;
1242
- }
1243
- //# sourceMappingURL=index.js.map
617
+ //# sourceMappingURL=parts.js.map