@kvman/kernel 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 (365) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/dist/clock.d.ts +8 -0
  4. package/dist/clock.d.ts.map +1 -0
  5. package/dist/clock.js +13 -0
  6. package/dist/clock.js.map +1 -0
  7. package/dist/ctx/extension-ctx.d.ts +22 -0
  8. package/dist/ctx/extension-ctx.d.ts.map +1 -0
  9. package/dist/ctx/extension-ctx.js +78 -0
  10. package/dist/ctx/extension-ctx.js.map +1 -0
  11. package/dist/ctx/files-calls.d.ts +5 -0
  12. package/dist/ctx/files-calls.d.ts.map +1 -0
  13. package/dist/ctx/files-calls.js +26 -0
  14. package/dist/ctx/files-calls.js.map +1 -0
  15. package/dist/ctx/job-calls.d.ts +12 -0
  16. package/dist/ctx/job-calls.d.ts.map +1 -0
  17. package/dist/ctx/job-calls.js +73 -0
  18. package/dist/ctx/job-calls.js.map +1 -0
  19. package/dist/ctx/processes-calls.d.ts +11 -0
  20. package/dist/ctx/processes-calls.d.ts.map +1 -0
  21. package/dist/ctx/processes-calls.js +50 -0
  22. package/dist/ctx/processes-calls.js.map +1 -0
  23. package/dist/ctx/settings-calls.d.ts +5 -0
  24. package/dist/ctx/settings-calls.d.ts.map +1 -0
  25. package/dist/ctx/settings-calls.js +30 -0
  26. package/dist/ctx/settings-calls.js.map +1 -0
  27. package/dist/extensions/load-order.d.ts +13 -0
  28. package/dist/extensions/load-order.d.ts.map +1 -0
  29. package/dist/extensions/load-order.js +111 -0
  30. package/dist/extensions/load-order.js.map +1 -0
  31. package/dist/extensions/manifests.d.ts +16 -0
  32. package/dist/extensions/manifests.d.ts.map +1 -0
  33. package/dist/extensions/manifests.js +50 -0
  34. package/dist/extensions/manifests.js.map +1 -0
  35. package/dist/extensions/npm-install.d.ts +9 -0
  36. package/dist/extensions/npm-install.d.ts.map +1 -0
  37. package/dist/extensions/npm-install.js +39 -0
  38. package/dist/extensions/npm-install.js.map +1 -0
  39. package/dist/extensions/trust.d.ts +11 -0
  40. package/dist/extensions/trust.d.ts.map +1 -0
  41. package/dist/extensions/trust.js +27 -0
  42. package/dist/extensions/trust.js.map +1 -0
  43. package/dist/files/file-access.d.ts +6 -0
  44. package/dist/files/file-access.d.ts.map +1 -0
  45. package/dist/files/file-access.js +21 -0
  46. package/dist/files/file-access.js.map +1 -0
  47. package/dist/files/files.d.ts +31 -0
  48. package/dist/files/files.d.ts.map +1 -0
  49. package/dist/files/files.js +73 -0
  50. package/dist/files/files.js.map +1 -0
  51. package/dist/http/call-routes.d.ts +4 -0
  52. package/dist/http/call-routes.d.ts.map +1 -0
  53. package/dist/http/call-routes.js +72 -0
  54. package/dist/http/call-routes.js.map +1 -0
  55. package/dist/http/envelope.d.ts +8 -0
  56. package/dist/http/envelope.d.ts.map +1 -0
  57. package/dist/http/envelope.js +17 -0
  58. package/dist/http/envelope.js.map +1 -0
  59. package/dist/http/file-routes.d.ts +5 -0
  60. package/dist/http/file-routes.d.ts.map +1 -0
  61. package/dist/http/file-routes.js +47 -0
  62. package/dist/http/file-routes.js.map +1 -0
  63. package/dist/http/http-app.d.ts +11 -0
  64. package/dist/http/http-app.d.ts.map +1 -0
  65. package/dist/http/http-app.js +31 -0
  66. package/dist/http/http-app.js.map +1 -0
  67. package/dist/http/http-server.d.ts +9 -0
  68. package/dist/http/http-server.d.ts.map +1 -0
  69. package/dist/http/http-server.js +38 -0
  70. package/dist/http/http-server.js.map +1 -0
  71. package/dist/http/job-events.d.ts +18 -0
  72. package/dist/http/job-events.d.ts.map +1 -0
  73. package/dist/http/job-events.js +48 -0
  74. package/dist/http/job-events.js.map +1 -0
  75. package/dist/http/job-routes.d.ts +4 -0
  76. package/dist/http/job-routes.d.ts.map +1 -0
  77. package/dist/http/job-routes.js +20 -0
  78. package/dist/http/job-routes.js.map +1 -0
  79. package/dist/http/own-origin.d.ts +2 -0
  80. package/dist/http/own-origin.d.ts.map +1 -0
  81. package/dist/http/own-origin.js +9 -0
  82. package/dist/http/own-origin.js.map +1 -0
  83. package/dist/http/request-body.d.ts +19 -0
  84. package/dist/http/request-body.d.ts.map +1 -0
  85. package/dist/http/request-body.js +72 -0
  86. package/dist/http/request-body.js.map +1 -0
  87. package/dist/http/static-files.d.ts +3 -0
  88. package/dist/http/static-files.d.ts.map +1 -0
  89. package/dist/http/static-files.js +35 -0
  90. package/dist/http/static-files.js.map +1 -0
  91. package/dist/http/web-routes.d.ts +4 -0
  92. package/dist/http/web-routes.d.ts.map +1 -0
  93. package/dist/http/web-routes.js +23 -0
  94. package/dist/http/web-routes.js.map +1 -0
  95. package/dist/ids.d.ts +6 -0
  96. package/dist/ids.d.ts.map +1 -0
  97. package/dist/ids.js +42 -0
  98. package/dist/ids.js.map +1 -0
  99. package/dist/index.d.ts +13 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +8 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/jobs/current-job.d.ts +19 -0
  104. package/dist/jobs/current-job.d.ts.map +1 -0
  105. package/dist/jobs/current-job.js +20 -0
  106. package/dist/jobs/current-job.js.map +1 -0
  107. package/dist/jobs/dispatcher.d.ts +40 -0
  108. package/dist/jobs/dispatcher.d.ts.map +1 -0
  109. package/dist/jobs/dispatcher.js +201 -0
  110. package/dist/jobs/dispatcher.js.map +1 -0
  111. package/dist/jobs/handlers.d.ts +19 -0
  112. package/dist/jobs/handlers.d.ts.map +1 -0
  113. package/dist/jobs/handlers.js +54 -0
  114. package/dist/jobs/handlers.js.map +1 -0
  115. package/dist/jobs/job-rows.d.ts +63 -0
  116. package/dist/jobs/job-rows.d.ts.map +1 -0
  117. package/dist/jobs/job-rows.js +111 -0
  118. package/dist/jobs/job-rows.js.map +1 -0
  119. package/dist/jobs/progress-hub.d.ts +12 -0
  120. package/dist/jobs/progress-hub.d.ts.map +1 -0
  121. package/dist/jobs/progress-hub.js +40 -0
  122. package/dist/jobs/progress-hub.js.map +1 -0
  123. package/dist/jobs/registry.d.ts +38 -0
  124. package/dist/jobs/registry.d.ts.map +1 -0
  125. package/dist/jobs/registry.js +89 -0
  126. package/dist/jobs/registry.js.map +1 -0
  127. package/dist/jobs/retry-policy.d.ts +4 -0
  128. package/dist/jobs/retry-policy.d.ts.map +1 -0
  129. package/dist/jobs/retry-policy.js +10 -0
  130. package/dist/jobs/retry-policy.js.map +1 -0
  131. package/dist/jobs/run-job.d.ts +26 -0
  132. package/dist/jobs/run-job.d.ts.map +1 -0
  133. package/dist/jobs/run-job.js +120 -0
  134. package/dist/jobs/run-job.js.map +1 -0
  135. package/dist/kernel-api/extensions-api.d.ts +4 -0
  136. package/dist/kernel-api/extensions-api.d.ts.map +1 -0
  137. package/dist/kernel-api/extensions-api.js +32 -0
  138. package/dist/kernel-api/extensions-api.js.map +1 -0
  139. package/dist/kernel-api/folder-api.d.ts +4 -0
  140. package/dist/kernel-api/folder-api.d.ts.map +1 -0
  141. package/dist/kernel-api/folder-api.js +54 -0
  142. package/dist/kernel-api/folder-api.js.map +1 -0
  143. package/dist/kernel-api/folder-name.d.ts +3 -0
  144. package/dist/kernel-api/folder-name.d.ts.map +1 -0
  145. package/dist/kernel-api/folder-name.js +26 -0
  146. package/dist/kernel-api/folder-name.js.map +1 -0
  147. package/dist/kernel-api/health-api.d.ts +4 -0
  148. package/dist/kernel-api/health-api.d.ts.map +1 -0
  149. package/dist/kernel-api/health-api.js +8 -0
  150. package/dist/kernel-api/health-api.js.map +1 -0
  151. package/dist/kernel-api/jobs-files-api.d.ts +4 -0
  152. package/dist/kernel-api/jobs-files-api.d.ts.map +1 -0
  153. package/dist/kernel-api/jobs-files-api.js +18 -0
  154. package/dist/kernel-api/jobs-files-api.js.map +1 -0
  155. package/dist/kernel-api/json-schemas.d.ts +3 -0
  156. package/dist/kernel-api/json-schemas.d.ts.map +1 -0
  157. package/dist/kernel-api/json-schemas.js +16 -0
  158. package/dist/kernel-api/json-schemas.js.map +1 -0
  159. package/dist/kernel-api/kernel-api-services.d.ts +17 -0
  160. package/dist/kernel-api/kernel-api-services.d.ts.map +1 -0
  161. package/dist/kernel-api/kernel-api-services.js +2 -0
  162. package/dist/kernel-api/kernel-api-services.js.map +1 -0
  163. package/dist/kernel-api/kernel-registrations.d.ts +19 -0
  164. package/dist/kernel-api/kernel-registrations.d.ts.map +1 -0
  165. package/dist/kernel-api/kernel-registrations.js +14 -0
  166. package/dist/kernel-api/kernel-registrations.js.map +1 -0
  167. package/dist/kernel-api/preset-api.d.ts +4 -0
  168. package/dist/kernel-api/preset-api.d.ts.map +1 -0
  169. package/dist/kernel-api/preset-api.js +10 -0
  170. package/dist/kernel-api/preset-api.js.map +1 -0
  171. package/dist/kernel-api/register-kernel-api.d.ts +4 -0
  172. package/dist/kernel-api/register-kernel-api.d.ts.map +1 -0
  173. package/dist/kernel-api/register-kernel-api.js +24 -0
  174. package/dist/kernel-api/register-kernel-api.js.map +1 -0
  175. package/dist/kernel-api/restart-api.d.ts +4 -0
  176. package/dist/kernel-api/restart-api.d.ts.map +1 -0
  177. package/dist/kernel-api/restart-api.js +10 -0
  178. package/dist/kernel-api/restart-api.js.map +1 -0
  179. package/dist/kernel-api/secrets-api.d.ts +4 -0
  180. package/dist/kernel-api/secrets-api.d.ts.map +1 -0
  181. package/dist/kernel-api/secrets-api.js +23 -0
  182. package/dist/kernel-api/secrets-api.js.map +1 -0
  183. package/dist/kernel-api/settings-api.d.ts +4 -0
  184. package/dist/kernel-api/settings-api.d.ts.map +1 -0
  185. package/dist/kernel-api/settings-api.js +33 -0
  186. package/dist/kernel-api/settings-api.js.map +1 -0
  187. package/dist/kernel-api/workspace-api.d.ts +4 -0
  188. package/dist/kernel-api/workspace-api.d.ts.map +1 -0
  189. package/dist/kernel-api/workspace-api.js +13 -0
  190. package/dist/kernel-api/workspace-api.js.map +1 -0
  191. package/dist/kernel-lifecycle.d.ts +8 -0
  192. package/dist/kernel-lifecycle.d.ts.map +1 -0
  193. package/dist/kernel-lifecycle.js +56 -0
  194. package/dist/kernel-lifecycle.js.map +1 -0
  195. package/dist/kernel-requests.d.ts +25 -0
  196. package/dist/kernel-requests.d.ts.map +1 -0
  197. package/dist/kernel-requests.js +63 -0
  198. package/dist/kernel-requests.js.map +1 -0
  199. package/dist/kernel-version.d.ts +2 -0
  200. package/dist/kernel-version.d.ts.map +1 -0
  201. package/dist/kernel-version.js +8 -0
  202. package/dist/kernel-version.js.map +1 -0
  203. package/dist/kernel-web.d.ts +36 -0
  204. package/dist/kernel-web.d.ts.map +1 -0
  205. package/dist/kernel-web.js +26 -0
  206. package/dist/kernel-web.js.map +1 -0
  207. package/dist/kernel.d.ts +44 -0
  208. package/dist/kernel.d.ts.map +1 -0
  209. package/dist/kernel.js +157 -0
  210. package/dist/kernel.js.map +1 -0
  211. package/dist/limits.d.ts +6 -0
  212. package/dist/limits.d.ts.map +1 -0
  213. package/dist/limits.js +8 -0
  214. package/dist/limits.js.map +1 -0
  215. package/dist/localization/catalogs.d.ts +15 -0
  216. package/dist/localization/catalogs.d.ts.map +1 -0
  217. package/dist/localization/catalogs.js +66 -0
  218. package/dist/localization/catalogs.js.map +1 -0
  219. package/dist/logging/log-file.d.ts +7 -0
  220. package/dist/logging/log-file.d.ts.map +1 -0
  221. package/dist/logging/log-file.js +12 -0
  222. package/dist/logging/log-file.js.map +1 -0
  223. package/dist/logging/logger.d.ts +12 -0
  224. package/dist/logging/logger.d.ts.map +1 -0
  225. package/dist/logging/logger.js +14 -0
  226. package/dist/logging/logger.js.map +1 -0
  227. package/dist/logging/terminal-lines.d.ts +4 -0
  228. package/dist/logging/terminal-lines.d.ts.map +1 -0
  229. package/dist/logging/terminal-lines.js +16 -0
  230. package/dist/logging/terminal-lines.js.map +1 -0
  231. package/dist/preset-edit/install-source.d.ts +8 -0
  232. package/dist/preset-edit/install-source.d.ts.map +1 -0
  233. package/dist/preset-edit/install-source.js +36 -0
  234. package/dist/preset-edit/install-source.js.map +1 -0
  235. package/dist/preset-edit/preset-backup.d.ts +10 -0
  236. package/dist/preset-edit/preset-backup.d.ts.map +1 -0
  237. package/dist/preset-edit/preset-backup.js +45 -0
  238. package/dist/preset-edit/preset-backup.js.map +1 -0
  239. package/dist/preset-edit/preset-files.d.ts +6 -0
  240. package/dist/preset-edit/preset-files.d.ts.map +1 -0
  241. package/dist/preset-edit/preset-files.js +56 -0
  242. package/dist/preset-edit/preset-files.js.map +1 -0
  243. package/dist/preset-edit/preset-source.d.ts +7 -0
  244. package/dist/preset-edit/preset-source.d.ts.map +1 -0
  245. package/dist/preset-edit/preset-source.js +2 -0
  246. package/dist/preset-edit/preset-source.js.map +1 -0
  247. package/dist/preset-edit/preset-store.d.ts +22 -0
  248. package/dist/preset-edit/preset-store.d.ts.map +1 -0
  249. package/dist/preset-edit/preset-store.js +70 -0
  250. package/dist/preset-edit/preset-store.js.map +1 -0
  251. package/dist/problems.d.ts +3 -0
  252. package/dist/problems.d.ts.map +1 -0
  253. package/dist/problems.js +6 -0
  254. package/dist/problems.js.map +1 -0
  255. package/dist/processes/process-kill.d.ts +16 -0
  256. package/dist/processes/process-kill.d.ts.map +1 -0
  257. package/dist/processes/process-kill.js +45 -0
  258. package/dist/processes/process-kill.js.map +1 -0
  259. package/dist/processes/process-log.d.ts +10 -0
  260. package/dist/processes/process-log.d.ts.map +1 -0
  261. package/dist/processes/process-log.js +41 -0
  262. package/dist/processes/process-log.js.map +1 -0
  263. package/dist/processes/process-rows.d.ts +11 -0
  264. package/dist/processes/process-rows.d.ts.map +1 -0
  265. package/dist/processes/process-rows.js +21 -0
  266. package/dist/processes/process-rows.js.map +1 -0
  267. package/dist/processes/process-service.d.ts +30 -0
  268. package/dist/processes/process-service.d.ts.map +1 -0
  269. package/dist/processes/process-service.js +110 -0
  270. package/dist/processes/process-service.js.map +1 -0
  271. package/dist/reload/reload-extensions.d.ts +5 -0
  272. package/dist/reload/reload-extensions.d.ts.map +1 -0
  273. package/dist/reload/reload-extensions.js +25 -0
  274. package/dist/reload/reload-extensions.js.map +1 -0
  275. package/dist/reload/watcher.d.ts +7 -0
  276. package/dist/reload/watcher.d.ts.map +1 -0
  277. package/dist/reload/watcher.js +40 -0
  278. package/dist/reload/watcher.js.map +1 -0
  279. package/dist/run/extension-run.d.ts +36 -0
  280. package/dist/run/extension-run.d.ts.map +1 -0
  281. package/dist/run/extension-run.js +81 -0
  282. package/dist/run/extension-run.js.map +1 -0
  283. package/dist/schedules/schedule-rows.d.ts +27 -0
  284. package/dist/schedules/schedule-rows.d.ts.map +1 -0
  285. package/dist/schedules/schedule-rows.js +70 -0
  286. package/dist/schedules/schedule-rows.js.map +1 -0
  287. package/dist/sdk-version.d.ts +2 -0
  288. package/dist/sdk-version.d.ts.map +1 -0
  289. package/dist/sdk-version.js +10 -0
  290. package/dist/sdk-version.js.map +1 -0
  291. package/dist/secrets/secrets-file.d.ts +11 -0
  292. package/dist/secrets/secrets-file.d.ts.map +1 -0
  293. package/dist/secrets/secrets-file.js +50 -0
  294. package/dist/secrets/secrets-file.js.map +1 -0
  295. package/dist/settings/kernel-settings.d.ts +4 -0
  296. package/dist/settings/kernel-settings.d.ts.map +1 -0
  297. package/dist/settings/kernel-settings.js +20 -0
  298. package/dist/settings/kernel-settings.js.map +1 -0
  299. package/dist/settings/preset-check.d.ts +4 -0
  300. package/dist/settings/preset-check.d.ts.map +1 -0
  301. package/dist/settings/preset-check.js +19 -0
  302. package/dist/settings/preset-check.js.map +1 -0
  303. package/dist/settings/settings.d.ts +31 -0
  304. package/dist/settings/settings.d.ts.map +1 -0
  305. package/dist/settings/settings.js +68 -0
  306. package/dist/settings/settings.js.map +1 -0
  307. package/dist/storage/database.d.ts +6 -0
  308. package/dist/storage/database.d.ts.map +1 -0
  309. package/dist/storage/database.js +31 -0
  310. package/dist/storage/database.js.map +1 -0
  311. package/dist/storage/schema.d.ts +2 -0
  312. package/dist/storage/schema.d.ts.map +1 -0
  313. package/dist/storage/schema.js +108 -0
  314. package/dist/storage/schema.js.map +1 -0
  315. package/dist/store/collections.d.ts +6 -0
  316. package/dist/store/collections.d.ts.map +1 -0
  317. package/dist/store/collections.js +63 -0
  318. package/dist/store/collections.js.map +1 -0
  319. package/dist/store/filters.d.ts +10 -0
  320. package/dist/store/filters.d.ts.map +1 -0
  321. package/dist/store/filters.js +40 -0
  322. package/dist/store/filters.js.map +1 -0
  323. package/dist/store/json-values.d.ts +6 -0
  324. package/dist/store/json-values.d.ts.map +1 -0
  325. package/dist/store/json-values.js +20 -0
  326. package/dist/store/json-values.js.map +1 -0
  327. package/dist/store/kv.d.ts +9 -0
  328. package/dist/store/kv.d.ts.map +1 -0
  329. package/dist/store/kv.js +23 -0
  330. package/dist/store/kv.js.map +1 -0
  331. package/dist/store/store.d.ts +11 -0
  332. package/dist/store/store.d.ts.map +1 -0
  333. package/dist/store/store.js +62 -0
  334. package/dist/store/store.js.map +1 -0
  335. package/dist/wasm-code-gc.d.ts +2 -0
  336. package/dist/wasm-code-gc.d.ts.map +1 -0
  337. package/dist/wasm-code-gc.js +9 -0
  338. package/dist/wasm-code-gc.js.map +1 -0
  339. package/dist/workers/pool.d.ts +31 -0
  340. package/dist/workers/pool.d.ts.map +1 -0
  341. package/dist/workers/pool.js +208 -0
  342. package/dist/workers/pool.js.map +1 -0
  343. package/dist/workers/protocol.d.ts +431 -0
  344. package/dist/workers/protocol.d.ts.map +1 -0
  345. package/dist/workers/protocol.js +93 -0
  346. package/dist/workers/protocol.js.map +1 -0
  347. package/dist/workers/root-runner.d.ts +15 -0
  348. package/dist/workers/root-runner.d.ts.map +1 -0
  349. package/dist/workers/root-runner.js +63 -0
  350. package/dist/workers/root-runner.js.map +1 -0
  351. package/dist/workers/sdk-resolution.d.ts +2 -0
  352. package/dist/workers/sdk-resolution.d.ts.map +1 -0
  353. package/dist/workers/sdk-resolution.js +14 -0
  354. package/dist/workers/sdk-resolution.js.map +1 -0
  355. package/dist/workers/worker-main.d.ts +2 -0
  356. package/dist/workers/worker-main.d.ts.map +1 -0
  357. package/dist/workers/worker-main.js +123 -0
  358. package/dist/workers/worker-main.js.map +1 -0
  359. package/dist/workspaces/workspaces.d.ts +17 -0
  360. package/dist/workspaces/workspaces.d.ts.map +1 -0
  361. package/dist/workspaces/workspaces.js +85 -0
  362. package/dist/workspaces/workspaces.js.map +1 -0
  363. package/locales/ar.json +70 -0
  364. package/locales/en.json +70 -0
  365. package/package.json +45 -0
@@ -0,0 +1,208 @@
1
+ import { Worker } from 'node:worker_threads';
2
+ import { ProblemError } from '@kvman/sdk';
3
+ import { kernelProblem } from "../problems.js";
4
+ import { toMainSchema } from "./protocol.js";
5
+ // From source (development and tests) the worker is TypeScript and needs the source condition; built, it is JavaScript.
6
+ const fromSource = import.meta.url.endsWith('.ts');
7
+ const workerFile = new URL(fromSource ? './worker-main.ts' : './worker-main.js', import.meta.url);
8
+ const execArgv = fromSource ? ['--conditions=@kvman/source'] : [];
9
+ // Asks a worker to close its connection and exit, once, and resolves when it has.
10
+ function stopWorker(worker) {
11
+ if (!worker.stopAsked) {
12
+ worker.stopAsked = true;
13
+ worker.thread.postMessage({ kind: 'stop' });
14
+ }
15
+ return worker.exited;
16
+ }
17
+ function reason(error) {
18
+ return error instanceof Error ? error.message : String(error);
19
+ }
20
+ export async function startPool(options) {
21
+ const workers = [];
22
+ const queue = [];
23
+ let nextRequest = 0;
24
+ let closing = false;
25
+ let retiring = false;
26
+ let idleWaiters = [];
27
+ const retiredWaiters = [];
28
+ const runningCount = () => workers.reduce((total, worker) => total + worker.running.size, 0);
29
+ const checkIdle = () => {
30
+ if (runningCount() > 0 || queue.length > 0)
31
+ return;
32
+ const waiters = idleWaiters;
33
+ idleWaiters = [];
34
+ for (const resolve of waiters)
35
+ resolve();
36
+ };
37
+ const releaseIdle = () => {
38
+ if (!retiring || queue.length > 0)
39
+ return;
40
+ for (const worker of workers)
41
+ if (worker.running.size === 0)
42
+ void stopWorker(worker);
43
+ };
44
+ const drain = () => {
45
+ for (const worker of workers) {
46
+ while (worker.running.size < options.concurrency && queue.length > 0) {
47
+ const queued = queue.shift();
48
+ if (queued === undefined)
49
+ break;
50
+ nextRequest += 1;
51
+ worker.running.set(nextRequest, queued.pending);
52
+ worker.thread.postMessage({ kind: 'run', requestId: nextRequest, job: queued.job });
53
+ }
54
+ }
55
+ };
56
+ const settle = (worker, requestId, outcome) => {
57
+ const pending = worker.running.get(requestId);
58
+ worker.running.delete(requestId);
59
+ if ('problem' in outcome)
60
+ pending?.reject(new ProblemError(outcome.problem));
61
+ else
62
+ pending?.resolve(outcome.output);
63
+ drain();
64
+ options.events.slotFreed();
65
+ checkIdle();
66
+ releaseIdle();
67
+ };
68
+ const answer = (worker, requestId, request) => {
69
+ options.events.request(request).then((value) => worker.thread.postMessage({ kind: 'answer', requestId, value }), (error) => {
70
+ const problem = error instanceof ProblemError ? error.problem : { code: 'HANDLER_FAILED', message: 'The kernel could not answer.' };
71
+ if (!(error instanceof ProblemError))
72
+ options.logger.error('The kernel failed to answer a worker.', { kind: request.kind, reason: reason(error) });
73
+ worker.thread.postMessage({ kind: 'answer', requestId, problem });
74
+ });
75
+ };
76
+ const receive = (worker, message) => {
77
+ if (message.kind === 'result')
78
+ settle(worker, message.requestId, { output: message.output });
79
+ else if (message.kind === 'problem')
80
+ settle(worker, message.requestId, { problem: message.problem });
81
+ else if (message.kind === 'request')
82
+ answer(worker, message.requestId, message.request);
83
+ else if (message.kind === 'progress')
84
+ options.events.progress(message.rootId, message.chunk);
85
+ else if (message.kind === 'sync-ended')
86
+ options.events.syncEnded(message.end);
87
+ };
88
+ const failRunning = (worker) => {
89
+ const problem = closing ? kernelProblem('INTERRUPTED', 'kvman stopped during the attempt.') : kernelProblem('WORKER_CRASHED', 'The worker running the job died.');
90
+ for (const pending of worker.running.values())
91
+ pending.reject(problem);
92
+ worker.running.clear();
93
+ };
94
+ const spawn = (checkPresetSettings) => new Promise((resolve, reject) => {
95
+ const thread = new Worker(workerFile, { workerData: { ...options.setup, checkPresetSettings, mainArgv: process.argv }, execArgv });
96
+ const exited = new Promise((resolveExit) => thread.once('exit', () => resolveExit()));
97
+ const worker = { thread, running: new Map(), exited, stopAsked: false };
98
+ let ready = false;
99
+ thread.on('message', (raw) => {
100
+ const message = toMainSchema.parse(raw);
101
+ if (message.kind === 'ready') {
102
+ ready = true;
103
+ workers.push(worker);
104
+ resolve({ worker, summary: message.summary });
105
+ drain();
106
+ options.events.slotFreed();
107
+ releaseIdle();
108
+ }
109
+ else if (message.kind === 'failed') {
110
+ reject(new ProblemError(message.problem));
111
+ void stopWorker(worker);
112
+ }
113
+ else
114
+ receive(worker, message);
115
+ });
116
+ thread.on('error', (error) => options.logger.error('A worker thread failed.', { error: error.message, stack: error.stack ?? '' }));
117
+ thread.on('exit', () => {
118
+ if (!ready) {
119
+ reject(kernelProblem('EXTENSION_INVALID', 'A worker stopped while loading the extensions.'));
120
+ return;
121
+ }
122
+ workers.splice(workers.indexOf(worker), 1);
123
+ failRunning(worker);
124
+ options.events.slotFreed();
125
+ checkIdle();
126
+ if (retiring && workers.length === 0) {
127
+ for (const resolve of retiredWaiters.splice(0))
128
+ resolve();
129
+ }
130
+ else if (!closing && !retiring) {
131
+ spawn(false).catch((error) => options.logger.error('A replacement worker could not start.', { reason: reason(error) }));
132
+ }
133
+ });
134
+ });
135
+ const started = await Promise.allSettled(Array.from({ length: options.size }, (_, index) => spawn(index === 0)));
136
+ const failure = started.find((result) => result.status === 'rejected');
137
+ const first = started[0];
138
+ if (failure !== undefined || first?.status !== 'fulfilled') {
139
+ closing = true;
140
+ await Promise.all(workers.map((worker) => stopWorker(worker)));
141
+ const error = failure?.reason;
142
+ throw error;
143
+ }
144
+ // A job still waiting for a slot never starts: it ends CANCELLED (or INTERRUPTED at shutdown), and a sync one
145
+ // reports its end for the kernel's handler points, as its worker would have.
146
+ const cancelQueued = (index, why) => {
147
+ const [queued] = queue.splice(index, 1);
148
+ if (queued === undefined)
149
+ return;
150
+ const problem = why === 'cancel' ? kernelProblem('CANCELLED', 'The job was cancelled.') : kernelProblem('INTERRUPTED', 'kvman stopped during the attempt.');
151
+ const { job } = queued;
152
+ if (!job.async && !job.fromHandler && why === 'cancel') {
153
+ const input = { jobId: job.id, rootId: job.id, name: job.name, caller: job.caller, workspaceId: job.workspace.id, reason: 'cancel' };
154
+ options.events.syncEnded({ point: 'kernel.job.cancelled', input, workspaceId: job.workspace.id });
155
+ }
156
+ queued.pending.reject(problem);
157
+ checkIdle();
158
+ };
159
+ const locate = (jobId) => {
160
+ for (const worker of workers) {
161
+ for (const [requestId, pending] of worker.running)
162
+ if (pending.jobId === jobId)
163
+ return { worker, requestId };
164
+ }
165
+ return undefined;
166
+ };
167
+ return {
168
+ summary: first.value.summary,
169
+ run: (job) => new Promise((resolve, reject) => {
170
+ queue.push({ job, pending: { jobId: job.id, resolve, reject } });
171
+ drain();
172
+ }),
173
+ abort: (jobId, why) => {
174
+ const waiting = queue.findIndex((queued) => queued.job.id === jobId);
175
+ if (waiting >= 0) {
176
+ cancelQueued(waiting, why);
177
+ return true;
178
+ }
179
+ const found = locate(jobId);
180
+ if (found === undefined)
181
+ return false;
182
+ found.worker.thread.postMessage({ kind: 'abort', requestId: found.requestId, reason: why });
183
+ return true;
184
+ },
185
+ abortAll: (why) => {
186
+ for (const worker of workers)
187
+ for (const requestId of worker.running.keys())
188
+ worker.thread.postMessage({ kind: 'abort', requestId, reason: why });
189
+ },
190
+ freeSlots: () => workers.length * options.concurrency - runningCount() - queue.length,
191
+ idle: () => {
192
+ const done = new Promise((resolve) => idleWaiters.push(resolve));
193
+ checkIdle();
194
+ return done;
195
+ },
196
+ retire: () => {
197
+ retiring = true;
198
+ const retired = workers.length === 0 ? Promise.resolve() : new Promise((resolve) => retiredWaiters.push(resolve));
199
+ releaseIdle();
200
+ return retired;
201
+ },
202
+ close: async () => {
203
+ closing = true;
204
+ await Promise.all(workers.map((worker) => stopWorker(worker)));
205
+ },
206
+ };
207
+ }
208
+ //# sourceMappingURL=pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/workers/pool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,431 @@
1
+ import { z } from '@kvman/sdk';
2
+ declare const secretWriteSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ action: z.ZodLiteral<"set">;
4
+ extension: z.ZodString;
5
+ name: z.ZodString;
6
+ value: z.ZodString;
7
+ }, z.core.$strip>, z.ZodObject<{
8
+ action: z.ZodLiteral<"delete">;
9
+ extension: z.ZodString;
10
+ name: z.ZodString;
11
+ }, z.core.$strip>], "action">;
12
+ export type SecretWrite = z.infer<typeof secretWriteSchema>;
13
+ declare const workerRequestSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
14
+ kind: z.ZodLiteral<"write-secret">;
15
+ write: z.ZodDiscriminatedUnion<[z.ZodObject<{
16
+ action: z.ZodLiteral<"set">;
17
+ extension: z.ZodString;
18
+ name: z.ZodString;
19
+ value: z.ZodString;
20
+ }, z.core.$strip>, z.ZodObject<{
21
+ action: z.ZodLiteral<"delete">;
22
+ extension: z.ZodString;
23
+ name: z.ZodString;
24
+ }, z.core.$strip>], "action">;
25
+ }, z.core.$strip>, z.ZodObject<{
26
+ kind: z.ZodLiteral<"queue-job">;
27
+ name: z.ZodString;
28
+ input: z.ZodUnknown;
29
+ workspaceId: z.ZodString;
30
+ caller: z.ZodDiscriminatedUnion<[z.ZodObject<{
31
+ kind: z.ZodLiteral<"user">;
32
+ }, z.core.$strict>, z.ZodObject<{
33
+ kind: z.ZodLiteral<"extension">;
34
+ name: z.ZodString;
35
+ }, z.core.$strict>, z.ZodObject<{
36
+ kind: z.ZodLiteral<"kernel">;
37
+ }, z.core.$strict>], "kind">;
38
+ retries: z.ZodNumber;
39
+ fromHandler: z.ZodBoolean;
40
+ }, z.core.$strip>, z.ZodObject<{
41
+ kind: z.ZodLiteral<"schedule">;
42
+ name: z.ZodString;
43
+ input: z.ZodUnknown;
44
+ timing: z.ZodUnion<readonly [z.ZodObject<{
45
+ at: z.ZodString;
46
+ }, z.core.$strip>, z.ZodObject<{
47
+ cron: z.ZodString;
48
+ }, z.core.$strip>]>;
49
+ key: z.ZodOptional<z.ZodString>;
50
+ workspaceId: z.ZodString;
51
+ owner: z.ZodString;
52
+ retries: z.ZodNumber;
53
+ fromHandler: z.ZodBoolean;
54
+ }, z.core.$strip>, z.ZodObject<{
55
+ kind: z.ZodLiteral<"cancel-schedule">;
56
+ id: z.ZodString;
57
+ owner: z.ZodString;
58
+ }, z.core.$strip>, z.ZodObject<{
59
+ kind: z.ZodLiteral<"cancel-job">;
60
+ jobId: z.ZodString;
61
+ }, z.core.$strip>, z.ZodObject<{
62
+ kind: z.ZodLiteral<"open-workspace">;
63
+ path: z.ZodString;
64
+ }, z.core.$strip>, z.ZodObject<{
65
+ kind: z.ZodLiteral<"close-workspace">;
66
+ workspaceId: z.ZodString;
67
+ }, z.core.$strip>, z.ZodObject<{
68
+ kind: z.ZodLiteral<"preset-get">;
69
+ }, z.core.$strip>, z.ZodObject<{
70
+ kind: z.ZodLiteral<"preset-install">;
71
+ source: z.ZodUnion<readonly [z.ZodTemplateLiteral<`bundled:${string}`>, z.ZodTemplateLiteral<`npm:${string}@${string}`>, z.ZodTemplateLiteral<`path:${string}`>]>;
72
+ }, z.core.$strip>, z.ZodObject<{
73
+ kind: z.ZodLiteral<"preset-uninstall">;
74
+ name: z.ZodString;
75
+ }, z.core.$strip>, z.ZodObject<{
76
+ kind: z.ZodLiteral<"health">;
77
+ }, z.core.$strip>, z.ZodObject<{
78
+ kind: z.ZodLiteral<"restart">;
79
+ }, z.core.$strip>, z.ZodObject<{
80
+ kind: z.ZodLiteral<"start-process">;
81
+ extension: z.ZodString;
82
+ workspace: z.ZodObject<{
83
+ id: z.ZodString;
84
+ name: z.ZodString;
85
+ path: z.ZodString;
86
+ }, z.core.$strict>;
87
+ name: z.ZodString;
88
+ options: z.ZodObject<{
89
+ command: z.ZodString;
90
+ args: z.ZodArray<z.ZodString>;
91
+ cwd: z.ZodOptional<z.ZodString>;
92
+ env: z.ZodRecord<z.ZodString, z.ZodString>;
93
+ }, z.core.$strip>;
94
+ }, z.core.$strip>, z.ZodObject<{
95
+ kind: z.ZodLiteral<"stop-process">;
96
+ extension: z.ZodString;
97
+ workspaceId: z.ZodString;
98
+ name: z.ZodString;
99
+ }, z.core.$strip>], "kind">;
100
+ export type WorkerRequest = z.infer<typeof workerRequestSchema>;
101
+ export declare const workerSetupSchema: z.ZodObject<{
102
+ home: z.ZodString;
103
+ homeFolder: z.ZodString;
104
+ database: z.ZodString;
105
+ extensions: z.ZodArray<z.ZodObject<{
106
+ name: z.ZodString;
107
+ namespace: z.ZodString;
108
+ entryUrl: z.ZodString;
109
+ version: z.ZodString;
110
+ source: z.ZodUnion<readonly [z.ZodLiteral<"bundled">, z.ZodTemplateLiteral<`npm:${string}`>, z.ZodTemplateLiteral<`path:${string}`>]>;
111
+ revision: z.ZodNumber;
112
+ }, z.core.$strip>>;
113
+ languages: z.ZodArray<z.ZodString>;
114
+ presetSettings: z.ZodRecord<z.ZodString, z.ZodType<import("@kvman/sdk").Json, unknown, z.core.$ZodTypeInternals<import("@kvman/sdk").Json, unknown>>>;
115
+ logLevel: z.ZodEnum<{
116
+ debug: "debug";
117
+ info: "info";
118
+ warn: "warn";
119
+ error: "error";
120
+ }>;
121
+ terminalLog: z.ZodBoolean;
122
+ checkPresetSettings: z.ZodBoolean;
123
+ mainArgv: z.ZodArray<z.ZodString>;
124
+ }, z.core.$strip>;
125
+ export type WorkerSetup = z.infer<typeof workerSetupSchema>;
126
+ export type WorkerExtension = WorkerSetup['extensions'][number];
127
+ declare const rootJobSchema: z.ZodObject<{
128
+ id: z.ZodString;
129
+ name: z.ZodString;
130
+ input: z.ZodUnknown;
131
+ workspace: z.ZodObject<{
132
+ id: z.ZodString;
133
+ name: z.ZodString;
134
+ path: z.ZodString;
135
+ }, z.core.$strict>;
136
+ caller: z.ZodDiscriminatedUnion<[z.ZodObject<{
137
+ kind: z.ZodLiteral<"user">;
138
+ }, z.core.$strict>, z.ZodObject<{
139
+ kind: z.ZodLiteral<"extension">;
140
+ name: z.ZodString;
141
+ }, z.core.$strict>, z.ZodObject<{
142
+ kind: z.ZodLiteral<"kernel">;
143
+ }, z.core.$strict>], "kind">;
144
+ async: z.ZodBoolean;
145
+ fromHandler: z.ZodBoolean;
146
+ handlerExtension: z.ZodOptional<z.ZodString>;
147
+ }, z.core.$strip>;
148
+ export type RootJob = z.infer<typeof rootJobSchema>;
149
+ export declare const abortReasons: readonly ["cancel", "shutdown"];
150
+ export type AbortReason = (typeof abortReasons)[number];
151
+ export declare const toWorkerSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
152
+ kind: z.ZodLiteral<"run">;
153
+ requestId: z.ZodNumber;
154
+ job: z.ZodObject<{
155
+ id: z.ZodString;
156
+ name: z.ZodString;
157
+ input: z.ZodUnknown;
158
+ workspace: z.ZodObject<{
159
+ id: z.ZodString;
160
+ name: z.ZodString;
161
+ path: z.ZodString;
162
+ }, z.core.$strict>;
163
+ caller: z.ZodDiscriminatedUnion<[z.ZodObject<{
164
+ kind: z.ZodLiteral<"user">;
165
+ }, z.core.$strict>, z.ZodObject<{
166
+ kind: z.ZodLiteral<"extension">;
167
+ name: z.ZodString;
168
+ }, z.core.$strict>, z.ZodObject<{
169
+ kind: z.ZodLiteral<"kernel">;
170
+ }, z.core.$strict>], "kind">;
171
+ async: z.ZodBoolean;
172
+ fromHandler: z.ZodBoolean;
173
+ handlerExtension: z.ZodOptional<z.ZodString>;
174
+ }, z.core.$strip>;
175
+ }, z.core.$strip>, z.ZodObject<{
176
+ kind: z.ZodLiteral<"abort">;
177
+ requestId: z.ZodNumber;
178
+ reason: z.ZodEnum<{
179
+ cancel: "cancel";
180
+ shutdown: "shutdown";
181
+ }>;
182
+ }, z.core.$strip>, z.ZodObject<{
183
+ kind: z.ZodLiteral<"answer">;
184
+ requestId: z.ZodNumber;
185
+ value: z.ZodOptional<z.ZodUnknown>;
186
+ problem: z.ZodOptional<z.ZodObject<{
187
+ code: z.ZodUnion<readonly [z.ZodEnum<{
188
+ VALIDATION_FAILED: "VALIDATION_FAILED";
189
+ NOT_FOUND: "NOT_FOUND";
190
+ NOT_PUBLIC: "NOT_PUBLIC";
191
+ NOT_A_COMMAND: "NOT_A_COMMAND";
192
+ READ_ONLY: "READ_ONLY";
193
+ NO_JOB: "NO_JOB";
194
+ TOO_LARGE: "TOO_LARGE";
195
+ TOO_DEEP: "TOO_DEEP";
196
+ TIMEOUT: "TIMEOUT";
197
+ CANCELLED: "CANCELLED";
198
+ WORKER_CRASHED: "WORKER_CRASHED";
199
+ INTERRUPTED: "INTERRUPTED";
200
+ HANDLER_FAILED: "HANDLER_FAILED";
201
+ FORBIDDEN_ORIGIN: "FORBIDDEN_ORIGIN";
202
+ PROCESS_RUNNING: "PROCESS_RUNNING";
203
+ PORT_IN_USE: "PORT_IN_USE";
204
+ EXTENSION_INVALID: "EXTENSION_INVALID";
205
+ KVMAN_RUNNING: "KVMAN_RUNNING";
206
+ }>, z.ZodString]>;
207
+ message: z.ZodString;
208
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("@kvman/sdk").Json, unknown, z.core.$ZodTypeInternals<import("@kvman/sdk").Json, unknown>>>>;
209
+ }, z.core.$strict>>;
210
+ }, z.core.$strip>, z.ZodObject<{
211
+ kind: z.ZodLiteral<"stop">;
212
+ }, z.core.$strip>], "kind">;
213
+ export type ToWorker = z.infer<typeof toWorkerSchema>;
214
+ declare const summarySchema: z.ZodObject<{
215
+ jobs: z.ZodArray<z.ZodObject<{
216
+ name: z.ZodString;
217
+ kind: z.ZodEnum<{
218
+ command: "command";
219
+ query: "query";
220
+ }>;
221
+ owner: z.ZodString;
222
+ public: z.ZodBoolean;
223
+ retries: z.ZodNumber;
224
+ syncOnly: z.ZodBoolean;
225
+ maxInputBytes: z.ZodNumber;
226
+ }, z.core.$strip>>;
227
+ handlers: z.ZodArray<z.ZodObject<{
228
+ point: z.ZodString;
229
+ extension: z.ZodString;
230
+ retries: z.ZodNumber;
231
+ }, z.core.$strip>>;
232
+ }, z.core.$strip>;
233
+ export type RegistrySummary = z.infer<typeof summarySchema>;
234
+ declare const syncEndSchema: z.ZodObject<{
235
+ point: z.ZodEnum<{
236
+ "kernel.job.failed": "kernel.job.failed";
237
+ "kernel.job.cancelled": "kernel.job.cancelled";
238
+ }>;
239
+ input: z.ZodRecord<z.ZodString, z.ZodUnknown>;
240
+ workspaceId: z.ZodString;
241
+ }, z.core.$strip>;
242
+ export type SyncEnd = z.infer<typeof syncEndSchema>;
243
+ export declare const toMainSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
244
+ kind: z.ZodLiteral<"ready">;
245
+ summary: z.ZodObject<{
246
+ jobs: z.ZodArray<z.ZodObject<{
247
+ name: z.ZodString;
248
+ kind: z.ZodEnum<{
249
+ command: "command";
250
+ query: "query";
251
+ }>;
252
+ owner: z.ZodString;
253
+ public: z.ZodBoolean;
254
+ retries: z.ZodNumber;
255
+ syncOnly: z.ZodBoolean;
256
+ maxInputBytes: z.ZodNumber;
257
+ }, z.core.$strip>>;
258
+ handlers: z.ZodArray<z.ZodObject<{
259
+ point: z.ZodString;
260
+ extension: z.ZodString;
261
+ retries: z.ZodNumber;
262
+ }, z.core.$strip>>;
263
+ }, z.core.$strip>;
264
+ }, z.core.$strip>, z.ZodObject<{
265
+ kind: z.ZodLiteral<"failed">;
266
+ problem: z.ZodObject<{
267
+ code: z.ZodUnion<readonly [z.ZodEnum<{
268
+ VALIDATION_FAILED: "VALIDATION_FAILED";
269
+ NOT_FOUND: "NOT_FOUND";
270
+ NOT_PUBLIC: "NOT_PUBLIC";
271
+ NOT_A_COMMAND: "NOT_A_COMMAND";
272
+ READ_ONLY: "READ_ONLY";
273
+ NO_JOB: "NO_JOB";
274
+ TOO_LARGE: "TOO_LARGE";
275
+ TOO_DEEP: "TOO_DEEP";
276
+ TIMEOUT: "TIMEOUT";
277
+ CANCELLED: "CANCELLED";
278
+ WORKER_CRASHED: "WORKER_CRASHED";
279
+ INTERRUPTED: "INTERRUPTED";
280
+ HANDLER_FAILED: "HANDLER_FAILED";
281
+ FORBIDDEN_ORIGIN: "FORBIDDEN_ORIGIN";
282
+ PROCESS_RUNNING: "PROCESS_RUNNING";
283
+ PORT_IN_USE: "PORT_IN_USE";
284
+ EXTENSION_INVALID: "EXTENSION_INVALID";
285
+ KVMAN_RUNNING: "KVMAN_RUNNING";
286
+ }>, z.ZodString]>;
287
+ message: z.ZodString;
288
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("@kvman/sdk").Json, unknown, z.core.$ZodTypeInternals<import("@kvman/sdk").Json, unknown>>>>;
289
+ }, z.core.$strict>;
290
+ }, z.core.$strip>, z.ZodObject<{
291
+ kind: z.ZodLiteral<"result">;
292
+ requestId: z.ZodNumber;
293
+ output: z.ZodUnknown;
294
+ }, z.core.$strip>, z.ZodObject<{
295
+ kind: z.ZodLiteral<"problem">;
296
+ requestId: z.ZodNumber;
297
+ problem: z.ZodObject<{
298
+ code: z.ZodUnion<readonly [z.ZodEnum<{
299
+ VALIDATION_FAILED: "VALIDATION_FAILED";
300
+ NOT_FOUND: "NOT_FOUND";
301
+ NOT_PUBLIC: "NOT_PUBLIC";
302
+ NOT_A_COMMAND: "NOT_A_COMMAND";
303
+ READ_ONLY: "READ_ONLY";
304
+ NO_JOB: "NO_JOB";
305
+ TOO_LARGE: "TOO_LARGE";
306
+ TOO_DEEP: "TOO_DEEP";
307
+ TIMEOUT: "TIMEOUT";
308
+ CANCELLED: "CANCELLED";
309
+ WORKER_CRASHED: "WORKER_CRASHED";
310
+ INTERRUPTED: "INTERRUPTED";
311
+ HANDLER_FAILED: "HANDLER_FAILED";
312
+ FORBIDDEN_ORIGIN: "FORBIDDEN_ORIGIN";
313
+ PROCESS_RUNNING: "PROCESS_RUNNING";
314
+ PORT_IN_USE: "PORT_IN_USE";
315
+ EXTENSION_INVALID: "EXTENSION_INVALID";
316
+ KVMAN_RUNNING: "KVMAN_RUNNING";
317
+ }>, z.ZodString]>;
318
+ message: z.ZodString;
319
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("@kvman/sdk").Json, unknown, z.core.$ZodTypeInternals<import("@kvman/sdk").Json, unknown>>>>;
320
+ }, z.core.$strict>;
321
+ }, z.core.$strip>, z.ZodObject<{
322
+ kind: z.ZodLiteral<"request">;
323
+ requestId: z.ZodNumber;
324
+ request: z.ZodDiscriminatedUnion<[z.ZodObject<{
325
+ kind: z.ZodLiteral<"write-secret">;
326
+ write: z.ZodDiscriminatedUnion<[z.ZodObject<{
327
+ action: z.ZodLiteral<"set">;
328
+ extension: z.ZodString;
329
+ name: z.ZodString;
330
+ value: z.ZodString;
331
+ }, z.core.$strip>, z.ZodObject<{
332
+ action: z.ZodLiteral<"delete">;
333
+ extension: z.ZodString;
334
+ name: z.ZodString;
335
+ }, z.core.$strip>], "action">;
336
+ }, z.core.$strip>, z.ZodObject<{
337
+ kind: z.ZodLiteral<"queue-job">;
338
+ name: z.ZodString;
339
+ input: z.ZodUnknown;
340
+ workspaceId: z.ZodString;
341
+ caller: z.ZodDiscriminatedUnion<[z.ZodObject<{
342
+ kind: z.ZodLiteral<"user">;
343
+ }, z.core.$strict>, z.ZodObject<{
344
+ kind: z.ZodLiteral<"extension">;
345
+ name: z.ZodString;
346
+ }, z.core.$strict>, z.ZodObject<{
347
+ kind: z.ZodLiteral<"kernel">;
348
+ }, z.core.$strict>], "kind">;
349
+ retries: z.ZodNumber;
350
+ fromHandler: z.ZodBoolean;
351
+ }, z.core.$strip>, z.ZodObject<{
352
+ kind: z.ZodLiteral<"schedule">;
353
+ name: z.ZodString;
354
+ input: z.ZodUnknown;
355
+ timing: z.ZodUnion<readonly [z.ZodObject<{
356
+ at: z.ZodString;
357
+ }, z.core.$strip>, z.ZodObject<{
358
+ cron: z.ZodString;
359
+ }, z.core.$strip>]>;
360
+ key: z.ZodOptional<z.ZodString>;
361
+ workspaceId: z.ZodString;
362
+ owner: z.ZodString;
363
+ retries: z.ZodNumber;
364
+ fromHandler: z.ZodBoolean;
365
+ }, z.core.$strip>, z.ZodObject<{
366
+ kind: z.ZodLiteral<"cancel-schedule">;
367
+ id: z.ZodString;
368
+ owner: z.ZodString;
369
+ }, z.core.$strip>, z.ZodObject<{
370
+ kind: z.ZodLiteral<"cancel-job">;
371
+ jobId: z.ZodString;
372
+ }, z.core.$strip>, z.ZodObject<{
373
+ kind: z.ZodLiteral<"open-workspace">;
374
+ path: z.ZodString;
375
+ }, z.core.$strip>, z.ZodObject<{
376
+ kind: z.ZodLiteral<"close-workspace">;
377
+ workspaceId: z.ZodString;
378
+ }, z.core.$strip>, z.ZodObject<{
379
+ kind: z.ZodLiteral<"preset-get">;
380
+ }, z.core.$strip>, z.ZodObject<{
381
+ kind: z.ZodLiteral<"preset-install">;
382
+ source: z.ZodUnion<readonly [z.ZodTemplateLiteral<`bundled:${string}`>, z.ZodTemplateLiteral<`npm:${string}@${string}`>, z.ZodTemplateLiteral<`path:${string}`>]>;
383
+ }, z.core.$strip>, z.ZodObject<{
384
+ kind: z.ZodLiteral<"preset-uninstall">;
385
+ name: z.ZodString;
386
+ }, z.core.$strip>, z.ZodObject<{
387
+ kind: z.ZodLiteral<"health">;
388
+ }, z.core.$strip>, z.ZodObject<{
389
+ kind: z.ZodLiteral<"restart">;
390
+ }, z.core.$strip>, z.ZodObject<{
391
+ kind: z.ZodLiteral<"start-process">;
392
+ extension: z.ZodString;
393
+ workspace: z.ZodObject<{
394
+ id: z.ZodString;
395
+ name: z.ZodString;
396
+ path: z.ZodString;
397
+ }, z.core.$strict>;
398
+ name: z.ZodString;
399
+ options: z.ZodObject<{
400
+ command: z.ZodString;
401
+ args: z.ZodArray<z.ZodString>;
402
+ cwd: z.ZodOptional<z.ZodString>;
403
+ env: z.ZodRecord<z.ZodString, z.ZodString>;
404
+ }, z.core.$strip>;
405
+ }, z.core.$strip>, z.ZodObject<{
406
+ kind: z.ZodLiteral<"stop-process">;
407
+ extension: z.ZodString;
408
+ workspaceId: z.ZodString;
409
+ name: z.ZodString;
410
+ }, z.core.$strip>], "kind">;
411
+ }, z.core.$strip>, z.ZodObject<{
412
+ kind: z.ZodLiteral<"progress">;
413
+ rootId: z.ZodString;
414
+ chunk: z.ZodObject<{
415
+ source: z.ZodString;
416
+ data: z.ZodType<import("@kvman/sdk").Json, unknown, z.core.$ZodTypeInternals<import("@kvman/sdk").Json, unknown>>;
417
+ }, z.core.$strip>;
418
+ }, z.core.$strip>, z.ZodObject<{
419
+ kind: z.ZodLiteral<"sync-ended">;
420
+ end: z.ZodObject<{
421
+ point: z.ZodEnum<{
422
+ "kernel.job.failed": "kernel.job.failed";
423
+ "kernel.job.cancelled": "kernel.job.cancelled";
424
+ }>;
425
+ input: z.ZodRecord<z.ZodString, z.ZodUnknown>;
426
+ workspaceId: z.ZodString;
427
+ }, z.core.$strip>;
428
+ }, z.core.$strip>], "kind">;
429
+ export type ToMain = z.infer<typeof toMainSchema>;
430
+ export {};
431
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/workers/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwG,CAAC,EAAE,MAAM,YAAY,CAAC;AAIrI,QAAA,MAAM,iBAAiB;;;;;;;;;6BAGrB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAK5D,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAuCvB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;iBAa5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;iBASjB,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,YAAY,iCAAkC,CAAC;AAE5D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAKzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;iBAGjB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAG5D,QAAA,MAAM,aAAa;;;;;;;iBAAgJ,CAAC;AAEpK,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAQvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}