@kruntime/komputer 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/README.md +368 -0
  2. package/dist/agent/approvals.d.ts +28 -0
  3. package/dist/agent/approvals.js +109 -0
  4. package/dist/agent/approvals.js.map +1 -0
  5. package/dist/agent/messages.d.ts +67 -0
  6. package/dist/agent/messages.js +213 -0
  7. package/dist/agent/messages.js.map +1 -0
  8. package/dist/agent/recovery.d.ts +13 -0
  9. package/dist/agent/recovery.js +112 -0
  10. package/dist/agent/recovery.js.map +1 -0
  11. package/dist/agent/session-utils.d.ts +17 -0
  12. package/dist/agent/session-utils.js +77 -0
  13. package/dist/agent/session-utils.js.map +1 -0
  14. package/dist/agent-session.d.ts +303 -0
  15. package/dist/agent-session.js +3031 -0
  16. package/dist/agent-session.js.map +1 -0
  17. package/dist/authority.d.ts +34 -0
  18. package/dist/authority.js +105 -0
  19. package/dist/authority.js.map +1 -0
  20. package/dist/content.d.ts +17 -0
  21. package/dist/content.js +69 -0
  22. package/dist/content.js.map +1 -0
  23. package/dist/cron.d.ts +20 -0
  24. package/dist/cron.js +25 -0
  25. package/dist/cron.js.map +1 -0
  26. package/dist/drive.d.ts +198 -0
  27. package/dist/drive.js +656 -0
  28. package/dist/drive.js.map +1 -0
  29. package/dist/events.d.ts +20 -0
  30. package/dist/events.js +149 -0
  31. package/dist/events.js.map +1 -0
  32. package/dist/fs-mode.d.ts +9 -0
  33. package/dist/fs-mode.js +98 -0
  34. package/dist/fs-mode.js.map +1 -0
  35. package/dist/index.d.ts +26 -0
  36. package/dist/index.js +15 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/komputer.d.ts +123 -0
  39. package/dist/komputer.js +733 -0
  40. package/dist/komputer.js.map +1 -0
  41. package/dist/kstate.d.ts +107 -0
  42. package/dist/kstate.js +529 -0
  43. package/dist/kstate.js.map +1 -0
  44. package/dist/model.d.ts +81 -0
  45. package/dist/model.js +824 -0
  46. package/dist/model.js.map +1 -0
  47. package/dist/node.d.ts +2 -0
  48. package/dist/node.js +3 -0
  49. package/dist/node.js.map +1 -0
  50. package/dist/path.d.ts +4 -0
  51. package/dist/path.js +38 -0
  52. package/dist/path.js.map +1 -0
  53. package/dist/pool.d.ts +56 -0
  54. package/dist/pool.js +172 -0
  55. package/dist/pool.js.map +1 -0
  56. package/dist/receipts.d.ts +44 -0
  57. package/dist/receipts.js +35 -0
  58. package/dist/receipts.js.map +1 -0
  59. package/dist/remote-node.d.ts +2 -0
  60. package/dist/remote-node.js +122 -0
  61. package/dist/remote-node.js.map +1 -0
  62. package/dist/remote.d.ts +84 -0
  63. package/dist/remote.js +11 -0
  64. package/dist/remote.js.map +1 -0
  65. package/dist/sandbox.d.ts +4 -0
  66. package/dist/sandbox.js +70 -0
  67. package/dist/sandbox.js.map +1 -0
  68. package/dist/shell/builtins/catalog.d.ts +6 -0
  69. package/dist/shell/builtins/catalog.js +12 -0
  70. package/dist/shell/builtins/catalog.js.map +1 -0
  71. package/dist/shell/builtins/commands/filesystem/basename.d.ts +2 -0
  72. package/dist/shell/builtins/commands/filesystem/basename.js +23 -0
  73. package/dist/shell/builtins/commands/filesystem/basename.js.map +1 -0
  74. package/dist/shell/builtins/commands/filesystem/cat.d.ts +2 -0
  75. package/dist/shell/builtins/commands/filesystem/cat.js +85 -0
  76. package/dist/shell/builtins/commands/filesystem/cat.js.map +1 -0
  77. package/dist/shell/builtins/commands/filesystem/cd.d.ts +2 -0
  78. package/dist/shell/builtins/commands/filesystem/cd.js +14 -0
  79. package/dist/shell/builtins/commands/filesystem/cd.js.map +1 -0
  80. package/dist/shell/builtins/commands/filesystem/chmod.d.ts +2 -0
  81. package/dist/shell/builtins/commands/filesystem/chmod.js +46 -0
  82. package/dist/shell/builtins/commands/filesystem/chmod.js.map +1 -0
  83. package/dist/shell/builtins/commands/filesystem/copy-directory.d.ts +4 -0
  84. package/dist/shell/builtins/commands/filesystem/copy-directory.js +48 -0
  85. package/dist/shell/builtins/commands/filesystem/copy-directory.js.map +1 -0
  86. package/dist/shell/builtins/commands/filesystem/cp.d.ts +2 -0
  87. package/dist/shell/builtins/commands/filesystem/cp.js +92 -0
  88. package/dist/shell/builtins/commands/filesystem/cp.js.map +1 -0
  89. package/dist/shell/builtins/commands/filesystem/dirname.d.ts +2 -0
  90. package/dist/shell/builtins/commands/filesystem/dirname.js +23 -0
  91. package/dist/shell/builtins/commands/filesystem/dirname.js.map +1 -0
  92. package/dist/shell/builtins/commands/filesystem/du.d.ts +2 -0
  93. package/dist/shell/builtins/commands/filesystem/du.js +93 -0
  94. package/dist/shell/builtins/commands/filesystem/du.js.map +1 -0
  95. package/dist/shell/builtins/commands/filesystem/find.d.ts +2 -0
  96. package/dist/shell/builtins/commands/filesystem/find.js +111 -0
  97. package/dist/shell/builtins/commands/filesystem/find.js.map +1 -0
  98. package/dist/shell/builtins/commands/filesystem/install.d.ts +2 -0
  99. package/dist/shell/builtins/commands/filesystem/install.js +89 -0
  100. package/dist/shell/builtins/commands/filesystem/install.js.map +1 -0
  101. package/dist/shell/builtins/commands/filesystem/ln.d.ts +2 -0
  102. package/dist/shell/builtins/commands/filesystem/ln.js +57 -0
  103. package/dist/shell/builtins/commands/filesystem/ln.js.map +1 -0
  104. package/dist/shell/builtins/commands/filesystem/ls.d.ts +2 -0
  105. package/dist/shell/builtins/commands/filesystem/ls.js +153 -0
  106. package/dist/shell/builtins/commands/filesystem/ls.js.map +1 -0
  107. package/dist/shell/builtins/commands/filesystem/mkdir.d.ts +2 -0
  108. package/dist/shell/builtins/commands/filesystem/mkdir.js +41 -0
  109. package/dist/shell/builtins/commands/filesystem/mkdir.js.map +1 -0
  110. package/dist/shell/builtins/commands/filesystem/mktemp.d.ts +2 -0
  111. package/dist/shell/builtins/commands/filesystem/mktemp.js +94 -0
  112. package/dist/shell/builtins/commands/filesystem/mktemp.js.map +1 -0
  113. package/dist/shell/builtins/commands/filesystem/mv.d.ts +2 -0
  114. package/dist/shell/builtins/commands/filesystem/mv.js +41 -0
  115. package/dist/shell/builtins/commands/filesystem/mv.js.map +1 -0
  116. package/dist/shell/builtins/commands/filesystem/pwd.d.ts +2 -0
  117. package/dist/shell/builtins/commands/filesystem/pwd.js +2 -0
  118. package/dist/shell/builtins/commands/filesystem/pwd.js.map +1 -0
  119. package/dist/shell/builtins/commands/filesystem/realpath.d.ts +3 -0
  120. package/dist/shell/builtins/commands/filesystem/realpath.js +61 -0
  121. package/dist/shell/builtins/commands/filesystem/realpath.js.map +1 -0
  122. package/dist/shell/builtins/commands/filesystem/rm.d.ts +2 -0
  123. package/dist/shell/builtins/commands/filesystem/rm.js +38 -0
  124. package/dist/shell/builtins/commands/filesystem/rm.js.map +1 -0
  125. package/dist/shell/builtins/commands/filesystem/stat.d.ts +2 -0
  126. package/dist/shell/builtins/commands/filesystem/stat.js +141 -0
  127. package/dist/shell/builtins/commands/filesystem/stat.js.map +1 -0
  128. package/dist/shell/builtins/commands/filesystem/touch.d.ts +2 -0
  129. package/dist/shell/builtins/commands/filesystem/touch.js +143 -0
  130. package/dist/shell/builtins/commands/filesystem/touch.js.map +1 -0
  131. package/dist/shell/builtins/commands/filesystem.d.ts +2 -0
  132. package/dist/shell/builtins/commands/filesystem.js +44 -0
  133. package/dist/shell/builtins/commands/filesystem.js.map +1 -0
  134. package/dist/shell/builtins/commands/network/curl.d.ts +2 -0
  135. package/dist/shell/builtins/commands/network/curl.js +25 -0
  136. package/dist/shell/builtins/commands/network/curl.js.map +1 -0
  137. package/dist/shell/builtins/commands/network/http.d.ts +27 -0
  138. package/dist/shell/builtins/commands/network/http.js +226 -0
  139. package/dist/shell/builtins/commands/network/http.js.map +1 -0
  140. package/dist/shell/builtins/commands/network/wget.d.ts +2 -0
  141. package/dist/shell/builtins/commands/network/wget.js +32 -0
  142. package/dist/shell/builtins/commands/network/wget.js.map +1 -0
  143. package/dist/shell/builtins/commands/network.d.ts +2 -0
  144. package/dist/shell/builtins/commands/network.js +9 -0
  145. package/dist/shell/builtins/commands/network.js.map +1 -0
  146. package/dist/shell/builtins/commands/process/bg.d.ts +2 -0
  147. package/dist/shell/builtins/commands/process/bg.js +10 -0
  148. package/dist/shell/builtins/commands/process/bg.js.map +1 -0
  149. package/dist/shell/builtins/commands/process/fg.d.ts +2 -0
  150. package/dist/shell/builtins/commands/process/fg.js +14 -0
  151. package/dist/shell/builtins/commands/process/fg.js.map +1 -0
  152. package/dist/shell/builtins/commands/process/jobs.d.ts +2 -0
  153. package/dist/shell/builtins/commands/process/jobs.js +8 -0
  154. package/dist/shell/builtins/commands/process/jobs.js.map +1 -0
  155. package/dist/shell/builtins/commands/process/jobspec.d.ts +4 -0
  156. package/dist/shell/builtins/commands/process/jobspec.js +20 -0
  157. package/dist/shell/builtins/commands/process/jobspec.js.map +1 -0
  158. package/dist/shell/builtins/commands/process/kill.d.ts +2 -0
  159. package/dist/shell/builtins/commands/process/kill.js +35 -0
  160. package/dist/shell/builtins/commands/process/kill.js.map +1 -0
  161. package/dist/shell/builtins/commands/process/ps.d.ts +2 -0
  162. package/dist/shell/builtins/commands/process/ps.js +6 -0
  163. package/dist/shell/builtins/commands/process/ps.js.map +1 -0
  164. package/dist/shell/builtins/commands/process/sleep.d.ts +2 -0
  165. package/dist/shell/builtins/commands/process/sleep.js +6 -0
  166. package/dist/shell/builtins/commands/process/sleep.js.map +1 -0
  167. package/dist/shell/builtins/commands/process/wait.d.ts +2 -0
  168. package/dist/shell/builtins/commands/process/wait.js +21 -0
  169. package/dist/shell/builtins/commands/process/wait.js.map +1 -0
  170. package/dist/shell/builtins/commands/process.d.ts +2 -0
  171. package/dist/shell/builtins/commands/process.js +19 -0
  172. package/dist/shell/builtins/commands/process.js.map +1 -0
  173. package/dist/shell/builtins/commands/system/command.d.ts +2 -0
  174. package/dist/shell/builtins/commands/system/command.js +42 -0
  175. package/dist/shell/builtins/commands/system/command.js.map +1 -0
  176. package/dist/shell/builtins/commands/system/date.d.ts +2 -0
  177. package/dist/shell/builtins/commands/system/date.js +121 -0
  178. package/dist/shell/builtins/commands/system/date.js.map +1 -0
  179. package/dist/shell/builtins/commands/system/env.d.ts +2 -0
  180. package/dist/shell/builtins/commands/system/env.js +84 -0
  181. package/dist/shell/builtins/commands/system/env.js.map +1 -0
  182. package/dist/shell/builtins/commands/system/export.d.ts +2 -0
  183. package/dist/shell/builtins/commands/system/export.js +18 -0
  184. package/dist/shell/builtins/commands/system/export.js.map +1 -0
  185. package/dist/shell/builtins/commands/system/false.d.ts +2 -0
  186. package/dist/shell/builtins/commands/system/false.js +4 -0
  187. package/dist/shell/builtins/commands/system/false.js.map +1 -0
  188. package/dist/shell/builtins/commands/system/help.d.ts +2 -0
  189. package/dist/shell/builtins/commands/system/help.js +38 -0
  190. package/dist/shell/builtins/commands/system/help.js.map +1 -0
  191. package/dist/shell/builtins/commands/system/hostname.d.ts +2 -0
  192. package/dist/shell/builtins/commands/system/hostname.js +6 -0
  193. package/dist/shell/builtins/commands/system/hostname.js.map +1 -0
  194. package/dist/shell/builtins/commands/system/id.d.ts +2 -0
  195. package/dist/shell/builtins/commands/system/id.js +55 -0
  196. package/dist/shell/builtins/commands/system/id.js.map +1 -0
  197. package/dist/shell/builtins/commands/system/printenv.d.ts +2 -0
  198. package/dist/shell/builtins/commands/system/printenv.js +22 -0
  199. package/dist/shell/builtins/commands/system/printenv.js.map +1 -0
  200. package/dist/shell/builtins/commands/system/read.d.ts +2 -0
  201. package/dist/shell/builtins/commands/system/read.js +75 -0
  202. package/dist/shell/builtins/commands/system/read.js.map +1 -0
  203. package/dist/shell/builtins/commands/system/resolve-command.d.ts +3 -0
  204. package/dist/shell/builtins/commands/system/resolve-command.js +34 -0
  205. package/dist/shell/builtins/commands/system/resolve-command.js.map +1 -0
  206. package/dist/shell/builtins/commands/system/set.d.ts +2 -0
  207. package/dist/shell/builtins/commands/system/set.js +49 -0
  208. package/dist/shell/builtins/commands/system/set.js.map +1 -0
  209. package/dist/shell/builtins/commands/system/sh.d.ts +2 -0
  210. package/dist/shell/builtins/commands/system/sh.js +55 -0
  211. package/dist/shell/builtins/commands/system/sh.js.map +1 -0
  212. package/dist/shell/builtins/commands/system/source.d.ts +2 -0
  213. package/dist/shell/builtins/commands/system/source.js +42 -0
  214. package/dist/shell/builtins/commands/system/source.js.map +1 -0
  215. package/dist/shell/builtins/commands/system/test-expression.d.ts +2 -0
  216. package/dist/shell/builtins/commands/system/test-expression.js +93 -0
  217. package/dist/shell/builtins/commands/system/test-expression.js.map +1 -0
  218. package/dist/shell/builtins/commands/system/test.d.ts +4 -0
  219. package/dist/shell/builtins/commands/system/test.js +19 -0
  220. package/dist/shell/builtins/commands/system/test.js.map +1 -0
  221. package/dist/shell/builtins/commands/system/true.d.ts +2 -0
  222. package/dist/shell/builtins/commands/system/true.js +2 -0
  223. package/dist/shell/builtins/commands/system/true.js.map +1 -0
  224. package/dist/shell/builtins/commands/system/type.d.ts +2 -0
  225. package/dist/shell/builtins/commands/system/type.js +77 -0
  226. package/dist/shell/builtins/commands/system/type.js.map +1 -0
  227. package/dist/shell/builtins/commands/system/uname.d.ts +2 -0
  228. package/dist/shell/builtins/commands/system/uname.js +39 -0
  229. package/dist/shell/builtins/commands/system/uname.js.map +1 -0
  230. package/dist/shell/builtins/commands/system/unset.d.ts +2 -0
  231. package/dist/shell/builtins/commands/system/unset.js +9 -0
  232. package/dist/shell/builtins/commands/system/unset.js.map +1 -0
  233. package/dist/shell/builtins/commands/system/which.d.ts +2 -0
  234. package/dist/shell/builtins/commands/system/which.js +38 -0
  235. package/dist/shell/builtins/commands/system/which.js.map +1 -0
  236. package/dist/shell/builtins/commands/system/whoami.d.ts +2 -0
  237. package/dist/shell/builtins/commands/system/whoami.js +6 -0
  238. package/dist/shell/builtins/commands/system/whoami.js.map +1 -0
  239. package/dist/shell/builtins/commands/system.d.ts +2 -0
  240. package/dist/shell/builtins/commands/system.js +49 -0
  241. package/dist/shell/builtins/commands/system.js.map +1 -0
  242. package/dist/shell/builtins/commands/text/awk.d.ts +2 -0
  243. package/dist/shell/builtins/commands/text/awk.js +8 -0
  244. package/dist/shell/builtins/commands/text/awk.js.map +1 -0
  245. package/dist/shell/builtins/commands/text/base64.d.ts +2 -0
  246. package/dist/shell/builtins/commands/text/base64.js +69 -0
  247. package/dist/shell/builtins/commands/text/base64.js.map +1 -0
  248. package/dist/shell/builtins/commands/text/cut.d.ts +2 -0
  249. package/dist/shell/builtins/commands/text/cut.js +35 -0
  250. package/dist/shell/builtins/commands/text/cut.js.map +1 -0
  251. package/dist/shell/builtins/commands/text/diff.d.ts +2 -0
  252. package/dist/shell/builtins/commands/text/diff.js +83 -0
  253. package/dist/shell/builtins/commands/text/diff.js.map +1 -0
  254. package/dist/shell/builtins/commands/text/echo.d.ts +2 -0
  255. package/dist/shell/builtins/commands/text/echo.js +6 -0
  256. package/dist/shell/builtins/commands/text/echo.js.map +1 -0
  257. package/dist/shell/builtins/commands/text/grep.d.ts +2 -0
  258. package/dist/shell/builtins/commands/text/grep.js +123 -0
  259. package/dist/shell/builtins/commands/text/grep.js.map +1 -0
  260. package/dist/shell/builtins/commands/text/head.d.ts +2 -0
  261. package/dist/shell/builtins/commands/text/head.js +8 -0
  262. package/dist/shell/builtins/commands/text/head.js.map +1 -0
  263. package/dist/shell/builtins/commands/text/jq.d.ts +2 -0
  264. package/dist/shell/builtins/commands/text/jq.js +239 -0
  265. package/dist/shell/builtins/commands/text/jq.js.map +1 -0
  266. package/dist/shell/builtins/commands/text/printf.d.ts +2 -0
  267. package/dist/shell/builtins/commands/text/printf.js +3 -0
  268. package/dist/shell/builtins/commands/text/printf.js.map +1 -0
  269. package/dist/shell/builtins/commands/text/sed.d.ts +2 -0
  270. package/dist/shell/builtins/commands/text/sed.js +21 -0
  271. package/dist/shell/builtins/commands/text/sed.js.map +1 -0
  272. package/dist/shell/builtins/commands/text/sha256sum.d.ts +2 -0
  273. package/dist/shell/builtins/commands/text/sha256sum.js +63 -0
  274. package/dist/shell/builtins/commands/text/sha256sum.js.map +1 -0
  275. package/dist/shell/builtins/commands/text/sort.d.ts +2 -0
  276. package/dist/shell/builtins/commands/text/sort.js +134 -0
  277. package/dist/shell/builtins/commands/text/sort.js.map +1 -0
  278. package/dist/shell/builtins/commands/text/tail.d.ts +2 -0
  279. package/dist/shell/builtins/commands/text/tail.js +10 -0
  280. package/dist/shell/builtins/commands/text/tail.js.map +1 -0
  281. package/dist/shell/builtins/commands/text/tee.d.ts +2 -0
  282. package/dist/shell/builtins/commands/text/tee.js +29 -0
  283. package/dist/shell/builtins/commands/text/tee.js.map +1 -0
  284. package/dist/shell/builtins/commands/text/tr.d.ts +2 -0
  285. package/dist/shell/builtins/commands/text/tr.js +3 -0
  286. package/dist/shell/builtins/commands/text/tr.js.map +1 -0
  287. package/dist/shell/builtins/commands/text/uniq.d.ts +2 -0
  288. package/dist/shell/builtins/commands/text/uniq.js +8 -0
  289. package/dist/shell/builtins/commands/text/uniq.js.map +1 -0
  290. package/dist/shell/builtins/commands/text/wc.d.ts +2 -0
  291. package/dist/shell/builtins/commands/text/wc.js +30 -0
  292. package/dist/shell/builtins/commands/text/wc.js.map +1 -0
  293. package/dist/shell/builtins/commands/text/xargs.d.ts +2 -0
  294. package/dist/shell/builtins/commands/text/xargs.js +138 -0
  295. package/dist/shell/builtins/commands/text/xargs.js.map +1 -0
  296. package/dist/shell/builtins/commands/text.d.ts +2 -0
  297. package/dist/shell/builtins/commands/text.js +41 -0
  298. package/dist/shell/builtins/commands/text.js.map +1 -0
  299. package/dist/shell/builtins/help-text.d.ts +69 -0
  300. package/dist/shell/builtins/help-text.js +381 -0
  301. package/dist/shell/builtins/help-text.js.map +1 -0
  302. package/dist/shell/builtins/path.d.ts +28 -0
  303. package/dist/shell/builtins/path.js +184 -0
  304. package/dist/shell/builtins/path.js.map +1 -0
  305. package/dist/shell/builtins/registry.d.ts +3 -0
  306. package/dist/shell/builtins/registry.js +75 -0
  307. package/dist/shell/builtins/registry.js.map +1 -0
  308. package/dist/shell/builtins/run.d.ts +4 -0
  309. package/dist/shell/builtins/run.js +29 -0
  310. package/dist/shell/builtins/run.js.map +1 -0
  311. package/dist/shell/builtins/runtime.d.ts +83 -0
  312. package/dist/shell/builtins/runtime.js +46 -0
  313. package/dist/shell/builtins/runtime.js.map +1 -0
  314. package/dist/shell/builtins/text.d.ts +90 -0
  315. package/dist/shell/builtins/text.js +970 -0
  316. package/dist/shell/builtins/text.js.map +1 -0
  317. package/dist/shell/control.d.ts +31 -0
  318. package/dist/shell/control.js +232 -0
  319. package/dist/shell/control.js.map +1 -0
  320. package/dist/shell/expansion.d.ts +30 -0
  321. package/dist/shell/expansion.js +514 -0
  322. package/dist/shell/expansion.js.map +1 -0
  323. package/dist/shell/functions.d.ts +10 -0
  324. package/dist/shell/functions.js +108 -0
  325. package/dist/shell/functions.js.map +1 -0
  326. package/dist/shell/runtime.d.ts +44 -0
  327. package/dist/shell/runtime.js +276 -0
  328. package/dist/shell/runtime.js.map +1 -0
  329. package/dist/shell/time.d.ts +1 -0
  330. package/dist/shell/time.js +68 -0
  331. package/dist/shell/time.js.map +1 -0
  332. package/dist/state-backend.d.ts +61 -0
  333. package/dist/state-backend.js +275 -0
  334. package/dist/state-backend.js.map +1 -0
  335. package/dist/state-node.d.ts +2 -0
  336. package/dist/state-node.js +266 -0
  337. package/dist/state-node.js.map +1 -0
  338. package/dist/types.d.ts +462 -0
  339. package/dist/types.js +2 -0
  340. package/dist/types.js.map +1 -0
  341. package/dist/utils.d.ts +5 -0
  342. package/dist/utils.js +117 -0
  343. package/dist/utils.js.map +1 -0
  344. package/dist/vbash.d.ts +40 -0
  345. package/dist/vbash.js +389 -0
  346. package/dist/vbash.js.map +1 -0
  347. package/dist/vfs.d.ts +64 -0
  348. package/dist/vfs.js +248 -0
  349. package/dist/vfs.js.map +1 -0
  350. package/dist/vprocess.d.ts +139 -0
  351. package/dist/vprocess.js +756 -0
  352. package/dist/vprocess.js.map +1 -0
  353. package/package.json +28 -0
package/dist/kstate.js ADDED
@@ -0,0 +1,529 @@
1
+ import { id, now, sha256 } from "./utils.js";
2
+ import { dirnamePath, joinPath, normalizePath } from "./path.js";
3
+ import { memoryDisk } from "./state-backend.js";
4
+ export class KState {
5
+ path;
6
+ backend;
7
+ locks = new Map();
8
+ symlinkCache;
9
+ constructor(disk) {
10
+ if (typeof disk === 'string')
11
+ throw new Error('string KState paths require the Node adapter; pass localDisk(path) or a custom KStateBackend');
12
+ this.backend = disk;
13
+ this.path = this.backend.name || this.backend.kind;
14
+ }
15
+ async init({ imageDigest = 'dev' } = {}) {
16
+ for (const dir of [
17
+ '/',
18
+ '/root',
19
+ '/root/tmp',
20
+ '/root/var/k/sessions',
21
+ '/blocks/sha256',
22
+ '/journal',
23
+ '/meta',
24
+ '/snapshots',
25
+ '/index',
26
+ '/runtime/locks',
27
+ '/runtime/tmp',
28
+ ]) {
29
+ await this.backend.ensureDir(dir);
30
+ }
31
+ if (!(await this.backend.exists('/disk.json'))) {
32
+ await this.writeJson('/disk.json', {
33
+ schema: 'kstate.disk.v1',
34
+ id: id('disk'),
35
+ imageDigest,
36
+ createdAt: now(),
37
+ });
38
+ }
39
+ }
40
+ rootBackendPath(kPath = '/') {
41
+ const clean = normalizeKPath(kPath);
42
+ return clean === '/' ? '/root' : joinPath('/root', clean.slice(1));
43
+ }
44
+ rootPath(kPath = '/') {
45
+ const real = this.realRootPath(kPath);
46
+ if (!real)
47
+ throw new Error(`state backend ${this.backend.kind} does not expose real paths`);
48
+ return real;
49
+ }
50
+ realRootPath(kPath = '/') {
51
+ return this.backend.realPath?.(this.rootBackendPath(kPath));
52
+ }
53
+ sessionBackendDir(sessionId) {
54
+ return joinPath('/root/var/k/sessions', encodeURIComponent(sessionId));
55
+ }
56
+ sessionDir(sessionId) {
57
+ const real = this.backend.realPath?.(this.sessionBackendDir(sessionId));
58
+ if (!real)
59
+ throw new Error(`state backend ${this.backend.kind} does not expose real paths`);
60
+ return real;
61
+ }
62
+ sessionBackendPath(sessionId, name) {
63
+ return joinPath(this.sessionBackendDir(sessionId), name);
64
+ }
65
+ async ensureRootDir(kPath) {
66
+ await this.backend.ensureDir(this.rootBackendPath(kPath));
67
+ }
68
+ async ensureSessionDir(sessionId, name = '') {
69
+ await this.backend.ensureDir(name ? this.sessionBackendPath(sessionId, name) : this.sessionBackendDir(sessionId));
70
+ }
71
+ async initSession(sessionId) {
72
+ await this.ensureSessionDir(sessionId);
73
+ for (const sub of ['context', 'processes/io', 'terminals', 'compact', 'artifacts', 'providers/default', 'checkpoints', 'cursors']) {
74
+ await this.ensureSessionDir(sessionId, sub);
75
+ }
76
+ return this.sessionBackendDir(sessionId);
77
+ }
78
+ async removeSession(sessionId) {
79
+ await this.backend.remove(this.sessionBackendDir(sessionId), { recursive: true, force: true });
80
+ }
81
+ async acquireSessionLease(sessionId, { owner, ttlMs = 30_000 }) {
82
+ if (!this.backend.acquireLease)
83
+ throw new Error(`state backend ${this.backend.kind} does not support session leases`);
84
+ return this.backend.acquireLease(joinPath('/runtime/locks/sessions', encodeURIComponent(sessionId)), { owner, ttlMs });
85
+ }
86
+ async acquireRuntimeLease(kind, key, { owner, ttlMs = 30_000 }) {
87
+ if (!this.backend.acquireLease)
88
+ throw new Error(`state backend ${this.backend.kind} does not support runtime leases`);
89
+ return this.backend.acquireLease(joinPath('/runtime/locks', encodeURIComponent(kind), encodeURIComponent(key)), { owner, ttlMs });
90
+ }
91
+ async readSession(sessionId) {
92
+ return this.readSessionJson(sessionId, 'session.json', undefined);
93
+ }
94
+ async listSessionIds() {
95
+ try {
96
+ const entries = await this.backend.readdir('/root/var/k/sessions');
97
+ return entries
98
+ .filter((entry) => entry.type === 'dir')
99
+ .map((entry) => decodeURIComponent(entry.name))
100
+ .sort();
101
+ }
102
+ catch (error) {
103
+ if (isEnoent(error))
104
+ return [];
105
+ throw error;
106
+ }
107
+ }
108
+ async writeSession(sessionId, record) {
109
+ await this.initSession(sessionId);
110
+ await this.writeSessionJson(sessionId, 'session.json', record);
111
+ }
112
+ async appendTrace(sessionId, type, data = {}) {
113
+ return this.appendSessionSequencedJsonl(sessionId, 'trace.jsonl', { at: now(), type, ...data }, {
114
+ key: 'trace',
115
+ field: 'traceSeq',
116
+ });
117
+ }
118
+ async trace(sessionId) {
119
+ return this.readSessionJsonl(sessionId, 'trace.jsonl');
120
+ }
121
+ async readJson(path, fallback) {
122
+ try {
123
+ return JSON.parse(await this.backend.readText(path));
124
+ }
125
+ catch (error) {
126
+ if (isEnoent(error))
127
+ return fallback;
128
+ throw error;
129
+ }
130
+ }
131
+ async writeJson(path, value) {
132
+ await this.backend.writeText(path, `${JSON.stringify(value, null, 2)}\n`);
133
+ }
134
+ async appendJsonl(path, value) {
135
+ await this.backend.appendText(path, `${JSON.stringify(value)}\n`);
136
+ }
137
+ async readJsonl(path) {
138
+ try {
139
+ const text = await this.backend.readText(path);
140
+ return parseJsonl(text);
141
+ }
142
+ catch (error) {
143
+ if (isEnoent(error))
144
+ return [];
145
+ throw error;
146
+ }
147
+ }
148
+ async readJsonlRange(path, offset = 0) {
149
+ try {
150
+ if (this.backend.readTextRange) {
151
+ const range = await this.backend.readTextRange(path, { offset });
152
+ const parsed = parseJsonlRange(range.text, range.offset);
153
+ return {
154
+ ...range,
155
+ rows: parsed.rows,
156
+ nextOffset: parsed.nextOffset,
157
+ };
158
+ }
159
+ const text = await this.backend.readText(path);
160
+ const bytes = new TextEncoder().encode(text);
161
+ const start = Math.max(0, Math.min(offset, bytes.byteLength));
162
+ const sliced = new TextDecoder().decode(bytes.slice(start));
163
+ const parsed = parseJsonlRange(sliced, start);
164
+ return {
165
+ rows: parsed.rows,
166
+ offset: start,
167
+ nextOffset: parsed.nextOffset,
168
+ size: bytes.byteLength,
169
+ };
170
+ }
171
+ catch (error) {
172
+ if (isEnoent(error))
173
+ return { rows: [], offset, nextOffset: offset, size: offset };
174
+ throw error;
175
+ }
176
+ }
177
+ async writeJsonl(path, rows) {
178
+ await this.backend.writeText(path, rows.map((row) => JSON.stringify(row)).join('\n') + (rows.length ? '\n' : ''));
179
+ }
180
+ async lastJsonl(path) {
181
+ return (await this.readJsonl(path)).at(-1);
182
+ }
183
+ async appendSessionJsonl(sessionId, name, value) {
184
+ await this.initSession(sessionId);
185
+ await this.appendJsonl(this.sessionBackendPath(sessionId, name), value);
186
+ }
187
+ async appendSessionSequencedJsonl(sessionId, name, value, options) {
188
+ const cursorName = `cursors/${encodeURIComponent(options.key)}.json`;
189
+ return this.withLock(this.sessionBackendPath(sessionId, `.locks/sequence-${encodeURIComponent(options.key)}`), async () => {
190
+ await this.initSession(sessionId);
191
+ const existing = await this.readSessionJson(sessionId, cursorName, undefined);
192
+ const persistedNext = typeof existing?.next === 'number' ? existing.next : 0;
193
+ const last = await this.lastSessionJsonl(sessionId, name);
194
+ const logNext = typeof last?.[options.field] === 'number' ? Number(last[options.field]) + 1 : 0;
195
+ const seq = Math.max(persistedNext, logNext);
196
+ const record = { ...value, [options.field]: seq };
197
+ await this.appendSessionJsonl(sessionId, name, record);
198
+ await this.writeSessionJson(sessionId, cursorName, { next: seq + 1, updatedAt: now() });
199
+ return record;
200
+ });
201
+ }
202
+ async appendSessionSequencedJsonlWithOffset(sessionId, name, value, options) {
203
+ const cursorName = `cursors/${encodeURIComponent(options.key)}.json`;
204
+ return this.withLock(this.sessionBackendPath(sessionId, `.locks/sequence-${encodeURIComponent(options.key)}`), async () => {
205
+ await this.initSession(sessionId);
206
+ const path = this.sessionBackendPath(sessionId, name);
207
+ const offset = await this.backendFileSize(path);
208
+ const existing = await this.readSessionJson(sessionId, cursorName, undefined);
209
+ const persistedNext = typeof existing?.next === 'number' ? existing.next : 0;
210
+ const last = await this.lastSessionJsonl(sessionId, name);
211
+ const logNext = typeof last?.[options.field] === 'number' ? Number(last[options.field]) + 1 : 0;
212
+ const seq = Math.max(persistedNext, logNext);
213
+ const record = { ...value, [options.field]: seq };
214
+ await this.appendSessionJsonl(sessionId, name, record);
215
+ const nextOffset = await this.backendFileSize(path);
216
+ await this.writeSessionJson(sessionId, cursorName, { next: seq + 1, updatedAt: now() });
217
+ return { record, offset, nextOffset };
218
+ });
219
+ }
220
+ async readSessionJsonl(sessionId, name) {
221
+ return this.readJsonl(this.sessionBackendPath(sessionId, name));
222
+ }
223
+ async readSessionJsonlRange(sessionId, name, offset = 0) {
224
+ return this.readJsonlRange(this.sessionBackendPath(sessionId, name), offset);
225
+ }
226
+ async writeSessionJsonl(sessionId, name, rows) {
227
+ await this.initSession(sessionId);
228
+ await this.writeJsonl(this.sessionBackendPath(sessionId, name), rows);
229
+ }
230
+ async lastSessionJsonl(sessionId, name) {
231
+ return (await this.readSessionJsonl(sessionId, name)).at(-1);
232
+ }
233
+ async nextSessionSequence(sessionId, options) {
234
+ const cursorName = `cursors/${encodeURIComponent(options.key)}.json`;
235
+ return this.withLock(this.sessionBackendPath(sessionId, cursorName), async () => {
236
+ await this.initSession(sessionId);
237
+ const existing = await this.readSessionJson(sessionId, cursorName, undefined);
238
+ const last = await this.lastSessionJsonl(sessionId, options.legacyJsonl);
239
+ const logNext = typeof last?.[options.legacyField] === 'number'
240
+ ? Number(last[options.legacyField]) + 1
241
+ : 0;
242
+ if (typeof existing?.next === 'number') {
243
+ const next = Math.max(existing.next, logNext);
244
+ await this.writeSessionJson(sessionId, cursorName, { next: next + 1, updatedAt: now() });
245
+ return next;
246
+ }
247
+ await this.writeSessionJson(sessionId, cursorName, { next: logNext + 1, updatedAt: now() });
248
+ return logNext;
249
+ });
250
+ }
251
+ async withSessionLock(sessionId, key, fn) {
252
+ return this.withLock(this.sessionBackendPath(sessionId, `.locks/${encodeURIComponent(key)}`), fn);
253
+ }
254
+ async withLock(key, fn) {
255
+ const previous = this.locks.get(key) ?? Promise.resolve();
256
+ let release;
257
+ const gate = new Promise((resolve) => {
258
+ release = resolve;
259
+ });
260
+ const next = previous.catch(() => undefined).then(() => gate);
261
+ this.locks.set(key, next);
262
+ await previous.catch(() => undefined);
263
+ try {
264
+ return await fn();
265
+ }
266
+ finally {
267
+ release();
268
+ if (this.locks.get(key) === next)
269
+ this.locks.delete(key);
270
+ }
271
+ }
272
+ async backendFileSize(path) {
273
+ try {
274
+ const stat = await this.backend.stat(path);
275
+ if (typeof stat.size === 'number')
276
+ return stat.size;
277
+ return new TextEncoder().encode(await this.backend.readText(path)).byteLength;
278
+ }
279
+ catch (error) {
280
+ if (isEnoent(error))
281
+ return 0;
282
+ throw error;
283
+ }
284
+ }
285
+ async readSessionJson(sessionId, name, fallback) {
286
+ return this.readJson(this.sessionBackendPath(sessionId, name), fallback);
287
+ }
288
+ async writeSessionJson(sessionId, name, value) {
289
+ await this.initSession(sessionId);
290
+ await this.writeJson(this.sessionBackendPath(sessionId, name), value);
291
+ }
292
+ async appendSessionText(sessionId, name, text) {
293
+ await this.initSession(sessionId);
294
+ await this.backend.appendText(this.sessionBackendPath(sessionId, name), text);
295
+ }
296
+ async appendBlock(data) {
297
+ const text = data instanceof Uint8Array ? bytesToBase64(data) : String(data);
298
+ const hash = sha256(data);
299
+ const path = joinPath('/blocks/sha256', hash.slice(0, 2), hash.slice(2, 4), hash);
300
+ if (!(await this.backend.exists(path)))
301
+ await this.backend.writeText(path, text);
302
+ return { ref: `sha256:${hash}`, path, size: data instanceof Uint8Array ? data.byteLength : new TextEncoder().encode(text).byteLength };
303
+ }
304
+ async readText(kPath) {
305
+ return this.backend.readText(this.rootBackendPath(await this.resolveSymlinks(kPath, { followFinal: true })));
306
+ }
307
+ async writeText(kPath, text) {
308
+ await this.backend.writeText(this.rootBackendPath(await this.resolveSymlinks(kPath, { followFinal: true })), text);
309
+ }
310
+ async mkdir(kPath) {
311
+ const path = await this.resolveSymlinks(kPath, { followFinal: false });
312
+ if (await this.readLink(path))
313
+ throw new Error(`file exists: ${normalizeKPath(path)}`);
314
+ await this.backend.ensureDir(this.rootBackendPath(path));
315
+ }
316
+ async rm(kPath, options = {}) {
317
+ const path = await this.resolveSymlinks(kPath, { followFinal: false });
318
+ const link = await this.readLink(path);
319
+ if (link !== undefined) {
320
+ await this.backend.remove(this.rootBackendPath(path), { force: true });
321
+ await this.recordSymlink(path, undefined);
322
+ return;
323
+ }
324
+ if (options.recursive)
325
+ await this.deleteNestedSymlinkRecords(path);
326
+ await this.backend.remove(this.rootBackendPath(path), options);
327
+ }
328
+ async rename(from, to) {
329
+ const source = await this.resolveSymlinks(from, { followFinal: false });
330
+ const target = await this.resolveSymlinks(to, { followFinal: false });
331
+ const link = await this.readLink(source);
332
+ if (link !== undefined) {
333
+ await this.rm(target, { recursive: true, force: true });
334
+ await this.backend.rename(this.rootBackendPath(source), this.rootBackendPath(target));
335
+ await this.recordSymlink(source, undefined);
336
+ await this.recordSymlink(target, link);
337
+ return;
338
+ }
339
+ const symlinks = await this.symlinkMap();
340
+ await this.backend.rename(this.rootBackendPath(source), this.rootBackendPath(target));
341
+ await this.moveNestedSymlinkRecords(source, target, symlinks);
342
+ }
343
+ async chmod(kPath, mode) {
344
+ if (!this.backend.chmod)
345
+ throw new Error(`state backend ${this.backend.kind} does not support chmod`);
346
+ await this.backend.chmod(this.rootBackendPath(await this.resolveSymlinks(kPath, { followFinal: true })), mode);
347
+ }
348
+ async utime(kPath, mtime) {
349
+ if (!this.backend.utime)
350
+ throw new Error(`state backend ${this.backend.kind} does not support utime`);
351
+ await this.backend.utime(this.rootBackendPath(await this.resolveSymlinks(kPath, { followFinal: true })), mtime);
352
+ }
353
+ async exists(kPath) {
354
+ const path = normalizeKPath(kPath);
355
+ if (await this.readLink(path))
356
+ return true;
357
+ return this.backend.exists(this.rootBackendPath(await this.resolveSymlinks(path, { followFinal: true })));
358
+ }
359
+ async readdir(kPath) {
360
+ const path = await this.resolveSymlinks(kPath, { followFinal: true });
361
+ const entries = await this.backend.readdir(this.rootBackendPath(path));
362
+ const byName = new Map(entries.map((entry) => [entry.name, entry.type]));
363
+ const symlinks = await this.symlinkMap();
364
+ for (const linkPath of symlinks.keys()) {
365
+ if (dirnamePath(linkPath) === path)
366
+ byName.set(linkPath.split('/').at(-1) || linkPath, 'symlink');
367
+ }
368
+ return [...byName.entries()].map(([name, type]) => ({ name, type }));
369
+ }
370
+ async stat(kPath) {
371
+ const path = await this.resolveSymlinks(kPath, { followFinal: false });
372
+ const target = await this.readLink(path);
373
+ if (target !== undefined) {
374
+ const linkStat = await this.backend.stat(this.rootBackendPath(path)).catch(() => undefined);
375
+ return { type: 'symlink', size: new TextEncoder().encode(target).byteLength, mode: 0o777, mtime: linkStat?.mtime };
376
+ }
377
+ return this.backend.stat(this.rootBackendPath(await this.resolveSymlinks(path, { followFinal: true })));
378
+ }
379
+ async symlink(target, path) {
380
+ const linkPath = await this.resolveSymlinks(path, { followFinal: false });
381
+ if (linkPath === '/')
382
+ throw new Error('cannot replace root with symlink');
383
+ if (await this.exists(linkPath))
384
+ throw new Error(`file exists: ${linkPath}`);
385
+ await this.backend.ensureDir(dirnamePath(this.rootBackendPath(linkPath)));
386
+ await this.backend.writeText(this.rootBackendPath(linkPath), `${JSON.stringify({ schema: 'kstate.symlink.v1', target })}\n`);
387
+ await this.recordSymlink(linkPath, target);
388
+ }
389
+ async readLink(kPath) {
390
+ const path = await this.resolveSymlinks(kPath, { followFinal: false });
391
+ return (await this.symlinkMap()).get(path);
392
+ }
393
+ async resolveSymlinks(kPath, options) {
394
+ let path = normalizeKPath(kPath);
395
+ const symlinks = await this.symlinkMap();
396
+ for (let depth = 0; depth < 40; depth += 1) {
397
+ const parts = path.split('/').filter(Boolean);
398
+ if (!parts.length)
399
+ return '/';
400
+ let current = '/';
401
+ let changed = false;
402
+ for (let index = 0; index < parts.length; index += 1) {
403
+ current = joinPath(current, parts[index]);
404
+ const isFinal = index === parts.length - 1;
405
+ if (isFinal && !options.followFinal)
406
+ break;
407
+ const target = symlinks.get(current);
408
+ if (target === undefined)
409
+ continue;
410
+ const base = target.startsWith('/') ? target : joinPath(dirnamePath(current), target);
411
+ const rest = parts.slice(index + 1).join('/');
412
+ path = normalizeKPath(rest ? joinPath(base, rest) : base);
413
+ changed = true;
414
+ break;
415
+ }
416
+ if (!changed)
417
+ return path;
418
+ }
419
+ throw new Error(`too many symbolic link levels: ${kPath}`);
420
+ }
421
+ async symlinkMap() {
422
+ if (this.symlinkCache)
423
+ return this.symlinkCache;
424
+ const rows = await this.readJsonl('/meta/symlinks.jsonl');
425
+ const symlinks = new Map();
426
+ for (const row of rows) {
427
+ if (typeof row.path !== 'string')
428
+ continue;
429
+ const path = normalizeKPath(row.path);
430
+ if (row.deleted)
431
+ symlinks.delete(path);
432
+ else if (typeof row.target === 'string')
433
+ symlinks.set(path, row.target);
434
+ }
435
+ this.symlinkCache = symlinks;
436
+ return symlinks;
437
+ }
438
+ async recordSymlink(path, target) {
439
+ const clean = normalizeKPath(path);
440
+ await this.appendJsonl('/meta/symlinks.jsonl', {
441
+ path: clean,
442
+ ...(target === undefined ? { deleted: true } : { target }),
443
+ at: now(),
444
+ });
445
+ const symlinks = await this.symlinkMap();
446
+ if (target === undefined)
447
+ symlinks.delete(clean);
448
+ else
449
+ symlinks.set(clean, target);
450
+ }
451
+ async deleteNestedSymlinkRecords(path) {
452
+ const clean = normalizeKPath(path);
453
+ const prefix = clean === '/' ? '/' : `${clean}/`;
454
+ for (const linkPath of [...(await this.symlinkMap()).keys()]) {
455
+ if (linkPath === clean || linkPath.startsWith(prefix))
456
+ await this.recordSymlink(linkPath, undefined);
457
+ }
458
+ }
459
+ async moveNestedSymlinkRecords(source, target, symlinks) {
460
+ const cleanSource = normalizeKPath(source);
461
+ const cleanTarget = normalizeKPath(target);
462
+ const sourcePrefix = cleanSource === '/' ? '/' : `${cleanSource}/`;
463
+ for (const [linkPath, linkTarget] of [...symlinks.entries()]) {
464
+ if (linkPath !== cleanSource && !linkPath.startsWith(sourcePrefix))
465
+ continue;
466
+ const suffix = linkPath === cleanSource ? '' : linkPath.slice(sourcePrefix.length);
467
+ const nextPath = suffix ? joinPath(cleanTarget, suffix) : cleanTarget;
468
+ await this.recordSymlink(linkPath, undefined);
469
+ await this.recordSymlink(nextPath, linkTarget);
470
+ }
471
+ }
472
+ }
473
+ export function normalizeKPath(path, home = undefined) {
474
+ let p = String(path || '/');
475
+ if (home && (p === '~' || p.startsWith('~/')))
476
+ p = `${home}${p.slice(1)}`;
477
+ if (!p.startsWith('/'))
478
+ p = `/${p}`;
479
+ p = normalizePath(p);
480
+ if (!p.startsWith('/'))
481
+ p = `/${p}`;
482
+ return p;
483
+ }
484
+ export function defaultDisk() {
485
+ return memoryDisk('default');
486
+ }
487
+ function isEnoent(error) {
488
+ return error instanceof Error && error.code === 'ENOENT';
489
+ }
490
+ function parseJsonl(text) {
491
+ const complete = completeJsonlPrefix(text);
492
+ return complete
493
+ .split('\n')
494
+ .filter(Boolean)
495
+ .map((line) => JSON.parse(line));
496
+ }
497
+ function parseJsonlRange(text, offset) {
498
+ const complete = completeJsonlPrefix(text);
499
+ return {
500
+ rows: parseJsonl(complete),
501
+ nextOffset: offset + new TextEncoder().encode(complete).byteLength,
502
+ };
503
+ }
504
+ function completeJsonlPrefix(text) {
505
+ return text.endsWith('\n') ? text : text.slice(0, Math.max(0, text.lastIndexOf('\n') + 1));
506
+ }
507
+ function bytesToBase64(bytes) {
508
+ let binary = '';
509
+ for (const byte of bytes)
510
+ binary += String.fromCharCode(byte);
511
+ if (typeof btoa === 'function')
512
+ return btoa(binary);
513
+ return base64Encode(bytes);
514
+ }
515
+ function base64Encode(bytes) {
516
+ const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
517
+ let output = '';
518
+ for (let index = 0; index < bytes.length; index += 3) {
519
+ const a = bytes[index];
520
+ const b = bytes[index + 1];
521
+ const c = bytes[index + 2];
522
+ output += alphabet[a >> 2];
523
+ output += alphabet[((a & 3) << 4) | ((b ?? 0) >> 4)];
524
+ output += index + 1 < bytes.length ? alphabet[((b & 15) << 2) | ((c ?? 0) >> 6)] : '=';
525
+ output += index + 2 < bytes.length ? alphabet[(c ?? 0) & 63] : '=';
526
+ }
527
+ return output;
528
+ }
529
+ //# sourceMappingURL=kstate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kstate.js","sourceRoot":"","sources":["../../../../packages/komputer/src/kstate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import type { KModel } from './types.js';
2
+ type FetchLike = (url: string, init: RequestInit) => Promise<{
3
+ ok: boolean;
4
+ status?: number;
5
+ statusText?: string;
6
+ text(): Promise<string>;
7
+ json(): Promise<unknown>;
8
+ }>;
9
+ export interface OpenAIResponsesWebSocket {
10
+ send(event: Record<string, unknown>): Promise<void> | void;
11
+ receive(): Promise<Record<string, unknown>>;
12
+ close?(): Promise<void> | void;
13
+ }
14
+ export interface OpenAIResponsesWebSocketOptions {
15
+ url?: string;
16
+ connect(request: {
17
+ url: string;
18
+ headers: Record<string, string>;
19
+ }): Promise<OpenAIResponsesWebSocket> | OpenAIResponsesWebSocket;
20
+ }
21
+ interface OpenAIResponsesOptions {
22
+ id?: string;
23
+ model: string;
24
+ apiKey: string;
25
+ baseURL?: string;
26
+ transport?: 'http' | 'websocket' | 'auto';
27
+ include?: string[];
28
+ reasoning?: Record<string, unknown>;
29
+ store?: boolean;
30
+ previousResponseId?: string;
31
+ fetch?: FetchLike;
32
+ webSocket?: OpenAIResponsesWebSocketOptions;
33
+ }
34
+ interface OpenAIChatCompletionsOptions {
35
+ id?: string;
36
+ model: string;
37
+ apiKey: string;
38
+ baseURL?: string;
39
+ providerName?: string;
40
+ maxTokens?: number;
41
+ temperature?: number;
42
+ reasoningField?: 'reasoning_content' | 'reasoning_details' | string;
43
+ reasoningFieldFormat?: 'string' | 'details-array';
44
+ reasoningInput?: 'preserve' | 'omit';
45
+ preserveAssistantMessage?: boolean;
46
+ fetch?: FetchLike;
47
+ extra?: Record<string, unknown>;
48
+ }
49
+ interface AnthropicMessagesOptions {
50
+ id?: string;
51
+ model: string;
52
+ apiKey: string;
53
+ baseURL?: string;
54
+ maxTokens?: number;
55
+ providerName?: string;
56
+ protocol?: string;
57
+ fetch?: FetchLike;
58
+ }
59
+ export declare function echoModel(id?: string): KModel;
60
+ export declare function toolUseModel(id?: string, toolName?: string): KModel;
61
+ export declare function openaiResponsesModel(options: OpenAIResponsesOptions): KModel;
62
+ export declare function openaiChatCompletionsModel(options: OpenAIChatCompletionsOptions): KModel;
63
+ export declare function anthropicMessagesModel(options: AnthropicMessagesOptions): KModel;
64
+ export declare function deepseekMessagesModel(options: AnthropicMessagesOptions): KModel;
65
+ export declare function deepseekOpenAIModel(options: OpenAIChatCompletionsOptions): KModel;
66
+ export declare function minimaxOpenAIModel(options: OpenAIChatCompletionsOptions): KModel;
67
+ export declare function modelset(models?: Record<string, KModel | string>): {
68
+ get(alias?: string): KModel;
69
+ aliases(): string[];
70
+ };
71
+ export declare const providers: {
72
+ echo: typeof echoModel;
73
+ toolUse: typeof toolUseModel;
74
+ openaiResponses: typeof openaiResponsesModel;
75
+ openaiChatCompletions: typeof openaiChatCompletionsModel;
76
+ anthropicMessages: typeof anthropicMessagesModel;
77
+ deepseekMessages: typeof deepseekMessagesModel;
78
+ deepseekOpenAI: typeof deepseekOpenAIModel;
79
+ minimaxOpenAI: typeof minimaxOpenAIModel;
80
+ };
81
+ export {};