@justscale/core 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 (784) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +261 -0
  3. package/bin/just.js +34 -0
  4. package/dist/app.d.ts +56 -0
  5. package/dist/app.d.ts.map +1 -0
  6. package/dist/app.js +182 -0
  7. package/dist/app.js.map +1 -0
  8. package/dist/builder/build-context.d.ts +8 -0
  9. package/dist/builder/build-context.d.ts.map +1 -0
  10. package/dist/builder/build-context.js +4 -0
  11. package/dist/builder/build-context.js.map +1 -0
  12. package/dist/builder/builder.d.ts +60 -0
  13. package/dist/builder/builder.d.ts.map +1 -0
  14. package/dist/builder/builder.js +72 -0
  15. package/dist/builder/builder.js.map +1 -0
  16. package/dist/builder/create-builder.d.ts +36 -0
  17. package/dist/builder/create-builder.d.ts.map +1 -0
  18. package/dist/builder/create-builder.js +66 -0
  19. package/dist/builder/create-builder.js.map +1 -0
  20. package/dist/builder/execute.d.ts +37 -0
  21. package/dist/builder/execute.d.ts.map +1 -0
  22. package/dist/builder/execute.js +62 -0
  23. package/dist/builder/execute.js.map +1 -0
  24. package/dist/builder/feature-builder.d.ts +147 -0
  25. package/dist/builder/feature-builder.d.ts.map +1 -0
  26. package/dist/builder/feature-builder.js +138 -0
  27. package/dist/builder/feature-builder.js.map +1 -0
  28. package/dist/builder/index.d.ts +35 -0
  29. package/dist/builder/index.d.ts.map +1 -0
  30. package/dist/builder/index.js +37 -0
  31. package/dist/builder/index.js.map +1 -0
  32. package/dist/builder/plugin.d.ts +90 -0
  33. package/dist/builder/plugin.d.ts.map +1 -0
  34. package/dist/builder/plugin.js +101 -0
  35. package/dist/builder/plugin.js.map +1 -0
  36. package/dist/builder/plugins/query.d.ts +31 -0
  37. package/dist/builder/plugins/query.d.ts.map +1 -0
  38. package/dist/builder/plugins/query.js +42 -0
  39. package/dist/builder/plugins/query.js.map +1 -0
  40. package/dist/builder/plugins/validation.d.ts +12 -0
  41. package/dist/builder/plugins/validation.d.ts.map +1 -0
  42. package/dist/builder/plugins/validation.js +12 -0
  43. package/dist/builder/plugins/validation.js.map +1 -0
  44. package/dist/builder/sort.d.ts +27 -0
  45. package/dist/builder/sort.d.ts.map +1 -0
  46. package/dist/builder/sort.js +210 -0
  47. package/dist/builder/sort.js.map +1 -0
  48. package/dist/builder/stop.d.ts +24 -0
  49. package/dist/builder/stop.d.ts.map +1 -0
  50. package/dist/builder/stop.js +27 -0
  51. package/dist/builder/stop.js.map +1 -0
  52. package/dist/builder/test/permits-type-spike.d.ts +8 -0
  53. package/dist/builder/test/permits-type-spike.d.ts.map +1 -0
  54. package/dist/builder/test/permits-type-spike.js +117 -0
  55. package/dist/builder/test/permits-type-spike.js.map +1 -0
  56. package/dist/builder/types.d.ts +678 -0
  57. package/dist/builder/types.d.ts.map +1 -0
  58. package/dist/builder/types.js +98 -0
  59. package/dist/builder/types.js.map +1 -0
  60. package/dist/builder/validation.d.ts +101 -0
  61. package/dist/builder/validation.d.ts.map +1 -0
  62. package/dist/builder/validation.js +335 -0
  63. package/dist/builder/validation.js.map +1 -0
  64. package/dist/cli/adapter.d.ts +23 -0
  65. package/dist/cli/adapter.d.ts.map +1 -0
  66. package/dist/cli/adapter.js +26 -0
  67. package/dist/cli/adapter.js.map +1 -0
  68. package/dist/cli/args.d.ts +150 -0
  69. package/dist/cli/args.d.ts.map +1 -0
  70. package/dist/cli/args.js +172 -0
  71. package/dist/cli/args.js.map +1 -0
  72. package/dist/cli/assemble.d.ts +20 -0
  73. package/dist/cli/assemble.d.ts.map +1 -0
  74. package/dist/cli/assemble.js +55 -0
  75. package/dist/cli/assemble.js.map +1 -0
  76. package/dist/cli/bin/main.d.ts +26 -0
  77. package/dist/cli/bin/main.d.ts.map +1 -0
  78. package/dist/cli/bin/main.js +475 -0
  79. package/dist/cli/bin/main.js.map +1 -0
  80. package/dist/cli/build/migrations-plugin.d.ts +21 -0
  81. package/dist/cli/build/migrations-plugin.d.ts.map +1 -0
  82. package/dist/cli/build/migrations-plugin.js +41 -0
  83. package/dist/cli/build/migrations-plugin.js.map +1 -0
  84. package/dist/cli/build/process-plugin.d.ts +29 -0
  85. package/dist/cli/build/process-plugin.d.ts.map +1 -0
  86. package/dist/cli/build/process-plugin.js +66 -0
  87. package/dist/cli/build/process-plugin.js.map +1 -0
  88. package/dist/cli/builder/create-cli-builder.d.ts +42 -0
  89. package/dist/cli/builder/create-cli-builder.d.ts.map +1 -0
  90. package/dist/cli/builder/create-cli-builder.js +104 -0
  91. package/dist/cli/builder/create-cli-builder.js.map +1 -0
  92. package/dist/cli/builder/index.d.ts +8 -0
  93. package/dist/cli/builder/index.d.ts.map +1 -0
  94. package/dist/cli/builder/index.js +7 -0
  95. package/dist/cli/builder/index.js.map +1 -0
  96. package/dist/cli/builder/types.d.ts +113 -0
  97. package/dist/cli/builder/types.d.ts.map +1 -0
  98. package/dist/cli/builder/types.js +7 -0
  99. package/dist/cli/builder/types.js.map +1 -0
  100. package/dist/cli/cluster.d.ts +8 -0
  101. package/dist/cli/cluster.d.ts.map +1 -0
  102. package/dist/cli/cluster.js +145 -0
  103. package/dist/cli/cluster.js.map +1 -0
  104. package/dist/cli/current-app.d.ts +36 -0
  105. package/dist/cli/current-app.d.ts.map +1 -0
  106. package/dist/cli/current-app.js +21 -0
  107. package/dist/cli/current-app.js.map +1 -0
  108. package/dist/cli/define-app.d.ts +35 -0
  109. package/dist/cli/define-app.d.ts.map +1 -0
  110. package/dist/cli/define-app.js +79 -0
  111. package/dist/cli/define-app.js.map +1 -0
  112. package/dist/cli/define-main.d.ts +33 -0
  113. package/dist/cli/define-main.d.ts.map +1 -0
  114. package/dist/cli/define-main.js +67 -0
  115. package/dist/cli/define-main.js.map +1 -0
  116. package/dist/cli/define-project.d.ts +93 -0
  117. package/dist/cli/define-project.d.ts.map +1 -0
  118. package/dist/cli/define-project.js +85 -0
  119. package/dist/cli/define-project.js.map +1 -0
  120. package/dist/cli/dev-server.d.ts +20 -0
  121. package/dist/cli/dev-server.d.ts.map +1 -0
  122. package/dist/cli/dev-server.js +131 -0
  123. package/dist/cli/dev-server.js.map +1 -0
  124. package/dist/cli/discovery.d.ts +29 -0
  125. package/dist/cli/discovery.d.ts.map +1 -0
  126. package/dist/cli/discovery.js +142 -0
  127. package/dist/cli/discovery.js.map +1 -0
  128. package/dist/cli/factory.d.ts +43 -0
  129. package/dist/cli/factory.d.ts.map +1 -0
  130. package/dist/cli/factory.js +52 -0
  131. package/dist/cli/factory.js.map +1 -0
  132. package/dist/cli/generators/ai.d.ts +3 -0
  133. package/dist/cli/generators/ai.d.ts.map +1 -0
  134. package/dist/cli/generators/ai.js +65 -0
  135. package/dist/cli/generators/ai.js.map +1 -0
  136. package/dist/cli/generators/ci.d.ts +5 -0
  137. package/dist/cli/generators/ci.d.ts.map +1 -0
  138. package/dist/cli/generators/ci.js +102 -0
  139. package/dist/cli/generators/ci.js.map +1 -0
  140. package/dist/cli/generators/detect.d.ts +15 -0
  141. package/dist/cli/generators/detect.d.ts.map +1 -0
  142. package/dist/cli/generators/detect.js +75 -0
  143. package/dist/cli/generators/detect.js.map +1 -0
  144. package/dist/cli/generators/ide.d.ts +3 -0
  145. package/dist/cli/generators/ide.d.ts.map +1 -0
  146. package/dist/cli/generators/ide.js +179 -0
  147. package/dist/cli/generators/ide.js.map +1 -0
  148. package/dist/cli/generators/index.d.ts +5 -0
  149. package/dist/cli/generators/index.d.ts.map +1 -0
  150. package/dist/cli/generators/index.js +5 -0
  151. package/dist/cli/generators/index.js.map +1 -0
  152. package/dist/cli/index.d.ts +81 -0
  153. package/dist/cli/index.d.ts.map +1 -0
  154. package/dist/cli/index.js +88 -0
  155. package/dist/cli/index.js.map +1 -0
  156. package/dist/cli/io.d.ts +131 -0
  157. package/dist/cli/io.d.ts.map +1 -0
  158. package/dist/cli/io.js +373 -0
  159. package/dist/cli/io.js.map +1 -0
  160. package/dist/cli/mcp/server.d.ts +23 -0
  161. package/dist/cli/mcp/server.d.ts.map +1 -0
  162. package/dist/cli/mcp/server.js +148 -0
  163. package/dist/cli/mcp/server.js.map +1 -0
  164. package/dist/cli/parser.d.ts +106 -0
  165. package/dist/cli/parser.d.ts.map +1 -0
  166. package/dist/cli/parser.js +520 -0
  167. package/dist/cli/parser.js.map +1 -0
  168. package/dist/cli/runner.d.ts +75 -0
  169. package/dist/cli/runner.d.ts.map +1 -0
  170. package/dist/cli/runner.js +422 -0
  171. package/dist/cli/runner.js.map +1 -0
  172. package/dist/cli/service.d.ts +61 -0
  173. package/dist/cli/service.d.ts.map +1 -0
  174. package/dist/cli/service.js +95 -0
  175. package/dist/cli/service.js.map +1 -0
  176. package/dist/cli/types.d.ts +47 -0
  177. package/dist/cli/types.d.ts.map +1 -0
  178. package/dist/cli/types.js +20 -0
  179. package/dist/cli/types.js.map +1 -0
  180. package/dist/cli/wizard.d.ts +11 -0
  181. package/dist/cli/wizard.d.ts.map +1 -0
  182. package/dist/cli/wizard.js +2 -0
  183. package/dist/cli/wizard.js.map +1 -0
  184. package/dist/cli/workspace-controller.d.ts +36 -0
  185. package/dist/cli/workspace-controller.d.ts.map +1 -0
  186. package/dist/cli/workspace-controller.js +896 -0
  187. package/dist/cli/workspace-controller.js.map +1 -0
  188. package/dist/cluster/client.d.ts +101 -0
  189. package/dist/cluster/client.d.ts.map +1 -0
  190. package/dist/cluster/client.js +256 -0
  191. package/dist/cluster/client.js.map +1 -0
  192. package/dist/cluster/cluster.d.ts +82 -0
  193. package/dist/cluster/cluster.d.ts.map +1 -0
  194. package/dist/cluster/cluster.js +27 -0
  195. package/dist/cluster/cluster.js.map +1 -0
  196. package/dist/cluster/coordinator/cluster-node.model.d.ts +14 -0
  197. package/dist/cluster/coordinator/cluster-node.model.d.ts.map +1 -0
  198. package/dist/cluster/coordinator/cluster-node.model.js +15 -0
  199. package/dist/cluster/coordinator/cluster-node.model.js.map +1 -0
  200. package/dist/cluster/coordinator/cluster-signals.d.ts +45 -0
  201. package/dist/cluster/coordinator/cluster-signals.d.ts.map +1 -0
  202. package/dist/cluster/coordinator/cluster-signals.js +24 -0
  203. package/dist/cluster/coordinator/cluster-signals.js.map +1 -0
  204. package/dist/cluster/coordinator/coordinator.process.d.ts +21 -0
  205. package/dist/cluster/coordinator/coordinator.process.d.ts.map +1 -0
  206. package/dist/cluster/coordinator/coordinator.process.js +221 -0
  207. package/dist/cluster/coordinator/coordinator.process.js.map +1 -0
  208. package/dist/cluster/coordinator/index.d.ts +13 -0
  209. package/dist/cluster/coordinator/index.d.ts.map +1 -0
  210. package/dist/cluster/coordinator/index.js +13 -0
  211. package/dist/cluster/coordinator/index.js.map +1 -0
  212. package/dist/cluster/coordinator/node-lifecycle.d.ts +31 -0
  213. package/dist/cluster/coordinator/node-lifecycle.d.ts.map +1 -0
  214. package/dist/cluster/coordinator/node-lifecycle.js +178 -0
  215. package/dist/cluster/coordinator/node-lifecycle.js.map +1 -0
  216. package/dist/cluster/index.d.ts +45 -0
  217. package/dist/cluster/index.d.ts.map +1 -0
  218. package/dist/cluster/index.js +57 -0
  219. package/dist/cluster/index.js.map +1 -0
  220. package/dist/cluster/protocol.d.ts +204 -0
  221. package/dist/cluster/protocol.d.ts.map +1 -0
  222. package/dist/cluster/protocol.js +274 -0
  223. package/dist/cluster/protocol.js.map +1 -0
  224. package/dist/cluster/scheduled-task/builder.d.ts +24 -0
  225. package/dist/cluster/scheduled-task/builder.d.ts.map +1 -0
  226. package/dist/cluster/scheduled-task/builder.js +63 -0
  227. package/dist/cluster/scheduled-task/builder.js.map +1 -0
  228. package/dist/cluster/scheduled-task/factory.d.ts +76 -0
  229. package/dist/cluster/scheduled-task/factory.d.ts.map +1 -0
  230. package/dist/cluster/scheduled-task/factory.js +64 -0
  231. package/dist/cluster/scheduled-task/factory.js.map +1 -0
  232. package/dist/cluster/scheduled-task/index.d.ts +43 -0
  233. package/dist/cluster/scheduled-task/index.d.ts.map +1 -0
  234. package/dist/cluster/scheduled-task/index.js +45 -0
  235. package/dist/cluster/scheduled-task/index.js.map +1 -0
  236. package/dist/cluster/scheduled-task/transport.d.ts +12 -0
  237. package/dist/cluster/scheduled-task/transport.d.ts.map +1 -0
  238. package/dist/cluster/scheduled-task/transport.js +146 -0
  239. package/dist/cluster/scheduled-task/transport.js.map +1 -0
  240. package/dist/cluster/scheduled-task/types.d.ts +89 -0
  241. package/dist/cluster/scheduled-task/types.d.ts.map +1 -0
  242. package/dist/cluster/scheduled-task/types.js +7 -0
  243. package/dist/cluster/scheduled-task/types.js.map +1 -0
  244. package/dist/cluster/server.d.ts +87 -0
  245. package/dist/cluster/server.d.ts.map +1 -0
  246. package/dist/cluster/server.js +290 -0
  247. package/dist/cluster/server.js.map +1 -0
  248. package/dist/cluster/transport.d.ts +86 -0
  249. package/dist/cluster/transport.d.ts.map +1 -0
  250. package/dist/cluster/transport.js +138 -0
  251. package/dist/cluster/transport.js.map +1 -0
  252. package/dist/core/container-hooks.d.ts +22 -0
  253. package/dist/core/container-hooks.d.ts.map +1 -0
  254. package/dist/core/container-hooks.js +29 -0
  255. package/dist/core/container-hooks.js.map +1 -0
  256. package/dist/core/container-reflection.d.ts +71 -0
  257. package/dist/core/container-reflection.d.ts.map +1 -0
  258. package/dist/core/container-reflection.js +60 -0
  259. package/dist/core/container-reflection.js.map +1 -0
  260. package/dist/core/context.d.ts +146 -0
  261. package/dist/core/context.d.ts.map +1 -0
  262. package/dist/core/context.js +155 -0
  263. package/dist/core/context.js.map +1 -0
  264. package/dist/core/contribution.d.ts +152 -0
  265. package/dist/core/contribution.d.ts.map +1 -0
  266. package/dist/core/contribution.js +213 -0
  267. package/dist/core/contribution.js.map +1 -0
  268. package/dist/core/controller.contextual.d.ts +193 -0
  269. package/dist/core/controller.contextual.d.ts.map +1 -0
  270. package/dist/core/controller.contextual.js +459 -0
  271. package/dist/core/controller.contextual.js.map +1 -0
  272. package/dist/core/controller.d.ts +510 -0
  273. package/dist/core/controller.d.ts.map +1 -0
  274. package/dist/core/controller.js +411 -0
  275. package/dist/core/controller.js.map +1 -0
  276. package/dist/core/controller.procedure.d.ts +147 -0
  277. package/dist/core/controller.procedure.d.ts.map +1 -0
  278. package/dist/core/controller.procedure.js +115 -0
  279. package/dist/core/controller.procedure.js.map +1 -0
  280. package/dist/core/disposable.d.ts +126 -0
  281. package/dist/core/disposable.d.ts.map +1 -0
  282. package/dist/core/disposable.js +179 -0
  283. package/dist/core/disposable.js.map +1 -0
  284. package/dist/core/hmr.d.ts +83 -0
  285. package/dist/core/hmr.d.ts.map +1 -0
  286. package/dist/core/hmr.js +211 -0
  287. package/dist/core/hmr.js.map +1 -0
  288. package/dist/core/index.d.ts +17 -0
  289. package/dist/core/index.d.ts.map +1 -0
  290. package/dist/core/index.js +25 -0
  291. package/dist/core/index.js.map +1 -0
  292. package/dist/core/internal/routes.d.ts +26 -0
  293. package/dist/core/internal/routes.d.ts.map +1 -0
  294. package/dist/core/internal/routes.js +48 -0
  295. package/dist/core/internal/routes.js.map +1 -0
  296. package/dist/core/lifecycle-impl.d.ts +45 -0
  297. package/dist/core/lifecycle-impl.d.ts.map +1 -0
  298. package/dist/core/lifecycle-impl.js +102 -0
  299. package/dist/core/lifecycle-impl.js.map +1 -0
  300. package/dist/core/lifecycle.d.ts +86 -0
  301. package/dist/core/lifecycle.d.ts.map +1 -0
  302. package/dist/core/lifecycle.js +38 -0
  303. package/dist/core/lifecycle.js.map +1 -0
  304. package/dist/core/logger.d.ts +282 -0
  305. package/dist/core/logger.d.ts.map +1 -0
  306. package/dist/core/logger.js +368 -0
  307. package/dist/core/logger.js.map +1 -0
  308. package/dist/core/middleware.d.ts +108 -0
  309. package/dist/core/middleware.d.ts.map +1 -0
  310. package/dist/core/middleware.js +60 -0
  311. package/dist/core/middleware.js.map +1 -0
  312. package/dist/core/openapi-methods.d.ts +61 -0
  313. package/dist/core/openapi-methods.d.ts.map +1 -0
  314. package/dist/core/openapi-methods.js +53 -0
  315. package/dist/core/openapi-methods.js.map +1 -0
  316. package/dist/core/plugin.d.ts +209 -0
  317. package/dist/core/plugin.d.ts.map +1 -0
  318. package/dist/core/plugin.js +36 -0
  319. package/dist/core/plugin.js.map +1 -0
  320. package/dist/core/scope-bridge.d.ts +19 -0
  321. package/dist/core/scope-bridge.d.ts.map +1 -0
  322. package/dist/core/scope-bridge.js +34 -0
  323. package/dist/core/scope-bridge.js.map +1 -0
  324. package/dist/core/service.d.ts +429 -0
  325. package/dist/core/service.d.ts.map +1 -0
  326. package/dist/core/service.js +875 -0
  327. package/dist/core/service.js.map +1 -0
  328. package/dist/features/channel/backend.d.ts +98 -0
  329. package/dist/features/channel/backend.d.ts.map +1 -0
  330. package/dist/features/channel/backend.js +75 -0
  331. package/dist/features/channel/backend.js.map +1 -0
  332. package/dist/features/channel/channel.d.ts +18 -0
  333. package/dist/features/channel/channel.d.ts.map +1 -0
  334. package/dist/features/channel/channel.js +219 -0
  335. package/dist/features/channel/channel.js.map +1 -0
  336. package/dist/features/channel/channels.d.ts +87 -0
  337. package/dist/features/channel/channels.d.ts.map +1 -0
  338. package/dist/features/channel/channels.js +252 -0
  339. package/dist/features/channel/channels.js.map +1 -0
  340. package/dist/features/channel/feature.d.ts +40 -0
  341. package/dist/features/channel/feature.d.ts.map +1 -0
  342. package/dist/features/channel/feature.js +44 -0
  343. package/dist/features/channel/feature.js.map +1 -0
  344. package/dist/features/channel/index.d.ts +41 -0
  345. package/dist/features/channel/index.d.ts.map +1 -0
  346. package/dist/features/channel/index.js +41 -0
  347. package/dist/features/channel/index.js.map +1 -0
  348. package/dist/features/channel/types.d.ts +165 -0
  349. package/dist/features/channel/types.d.ts.map +1 -0
  350. package/dist/features/channel/types.js +10 -0
  351. package/dist/features/channel/types.js.map +1 -0
  352. package/dist/features/config/cli/config-controller.d.ts +77 -0
  353. package/dist/features/config/cli/config-controller.d.ts.map +1 -0
  354. package/dist/features/config/cli/config-controller.js +209 -0
  355. package/dist/features/config/cli/config-controller.js.map +1 -0
  356. package/dist/features/config/cli/index.d.ts +9 -0
  357. package/dist/features/config/cli/index.d.ts.map +1 -0
  358. package/dist/features/config/cli/index.js +9 -0
  359. package/dist/features/config/cli/index.js.map +1 -0
  360. package/dist/features/config/cli/profile-controller.d.ts +87 -0
  361. package/dist/features/config/cli/profile-controller.d.ts.map +1 -0
  362. package/dist/features/config/cli/profile-controller.js +223 -0
  363. package/dist/features/config/cli/profile-controller.js.map +1 -0
  364. package/dist/features/config/cli/utils.d.ts +14 -0
  365. package/dist/features/config/cli/utils.d.ts.map +1 -0
  366. package/dist/features/config/cli/utils.js +29 -0
  367. package/dist/features/config/cli/utils.js.map +1 -0
  368. package/dist/features/config/config-of.d.ts +36 -0
  369. package/dist/features/config/config-of.d.ts.map +1 -0
  370. package/dist/features/config/config-of.js +36 -0
  371. package/dist/features/config/config-of.js.map +1 -0
  372. package/dist/features/config/config-service.d.ts +54 -0
  373. package/dist/features/config/config-service.d.ts.map +1 -0
  374. package/dist/features/config/config-service.js +184 -0
  375. package/dist/features/config/config-service.js.map +1 -0
  376. package/dist/features/config/create-config.d.ts +21 -0
  377. package/dist/features/config/create-config.d.ts.map +1 -0
  378. package/dist/features/config/create-config.js +16 -0
  379. package/dist/features/config/create-config.js.map +1 -0
  380. package/dist/features/config/define-config-partial.d.ts +13 -0
  381. package/dist/features/config/define-config-partial.d.ts.map +1 -0
  382. package/dist/features/config/define-config-partial.js +19 -0
  383. package/dist/features/config/define-config-partial.js.map +1 -0
  384. package/dist/features/config/env-service.d.ts +54 -0
  385. package/dist/features/config/env-service.d.ts.map +1 -0
  386. package/dist/features/config/env-service.js +115 -0
  387. package/dist/features/config/env-service.js.map +1 -0
  388. package/dist/features/config/file-watcher.d.ts +13 -0
  389. package/dist/features/config/file-watcher.d.ts.map +1 -0
  390. package/dist/features/config/file-watcher.js +98 -0
  391. package/dist/features/config/file-watcher.js.map +1 -0
  392. package/dist/features/config/index.d.ts +21 -0
  393. package/dist/features/config/index.d.ts.map +1 -0
  394. package/dist/features/config/index.js +24 -0
  395. package/dist/features/config/index.js.map +1 -0
  396. package/dist/features/config/profile-service.d.ts +59 -0
  397. package/dist/features/config/profile-service.d.ts.map +1 -0
  398. package/dist/features/config/profile-service.js +114 -0
  399. package/dist/features/config/profile-service.js.map +1 -0
  400. package/dist/features/config/types.d.ts +38 -0
  401. package/dist/features/config/types.d.ts.map +1 -0
  402. package/dist/features/config/types.js +17 -0
  403. package/dist/features/config/types.js.map +1 -0
  404. package/dist/features/contract/contract.d.ts +264 -0
  405. package/dist/features/contract/contract.d.ts.map +1 -0
  406. package/dist/features/contract/contract.js +183 -0
  407. package/dist/features/contract/contract.js.map +1 -0
  408. package/dist/features/contract/index.d.ts +2 -0
  409. package/dist/features/contract/index.d.ts.map +1 -0
  410. package/dist/features/contract/index.js +2 -0
  411. package/dist/features/contract/index.js.map +1 -0
  412. package/dist/features/env/contribute.d.ts +70 -0
  413. package/dist/features/env/contribute.d.ts.map +1 -0
  414. package/dist/features/env/contribute.js +195 -0
  415. package/dist/features/env/contribute.js.map +1 -0
  416. package/dist/features/environment/create-environment.d.ts +58 -0
  417. package/dist/features/environment/create-environment.d.ts.map +1 -0
  418. package/dist/features/environment/create-environment.js +22 -0
  419. package/dist/features/environment/create-environment.js.map +1 -0
  420. package/dist/features/environment/index.d.ts +12 -0
  421. package/dist/features/environment/index.d.ts.map +1 -0
  422. package/dist/features/environment/index.js +10 -0
  423. package/dist/features/environment/index.js.map +1 -0
  424. package/dist/features/environment/load.d.ts +59 -0
  425. package/dist/features/environment/load.d.ts.map +1 -0
  426. package/dist/features/environment/load.js +117 -0
  427. package/dist/features/environment/load.js.map +1 -0
  428. package/dist/features/environment/types.d.ts +165 -0
  429. package/dist/features/environment/types.d.ts.map +1 -0
  430. package/dist/features/environment/types.js +18 -0
  431. package/dist/features/environment/types.js.map +1 -0
  432. package/dist/features/feature-flags/create-feature-flag-provider.d.ts +21 -0
  433. package/dist/features/feature-flags/create-feature-flag-provider.d.ts.map +1 -0
  434. package/dist/features/feature-flags/create-feature-flag-provider.js +16 -0
  435. package/dist/features/feature-flags/create-feature-flag-provider.js.map +1 -0
  436. package/dist/features/feature-flags/define-feature-flag-partial.d.ts +20 -0
  437. package/dist/features/feature-flags/define-feature-flag-partial.d.ts.map +1 -0
  438. package/dist/features/feature-flags/define-feature-flag-partial.js +26 -0
  439. package/dist/features/feature-flags/define-feature-flag-partial.js.map +1 -0
  440. package/dist/features/feature-flags/feature-flag-of.d.ts +16 -0
  441. package/dist/features/feature-flags/feature-flag-of.d.ts.map +1 -0
  442. package/dist/features/feature-flags/feature-flag-of.js +16 -0
  443. package/dist/features/feature-flags/feature-flag-of.js.map +1 -0
  444. package/dist/features/feature-flags/feature-flag-service.d.ts +22 -0
  445. package/dist/features/feature-flags/feature-flag-service.d.ts.map +1 -0
  446. package/dist/features/feature-flags/feature-flag-service.js +112 -0
  447. package/dist/features/feature-flags/feature-flag-service.js.map +1 -0
  448. package/dist/features/feature-flags/index.d.ts +15 -0
  449. package/dist/features/feature-flags/index.d.ts.map +1 -0
  450. package/dist/features/feature-flags/index.js +12 -0
  451. package/dist/features/feature-flags/index.js.map +1 -0
  452. package/dist/features/feature-flags/types.d.ts +30 -0
  453. package/dist/features/feature-flags/types.d.ts.map +1 -0
  454. package/dist/features/feature-flags/types.js +8 -0
  455. package/dist/features/feature-flags/types.js.map +1 -0
  456. package/dist/features/index.d.ts +6 -0
  457. package/dist/features/index.d.ts.map +1 -0
  458. package/dist/features/index.js +7 -0
  459. package/dist/features/index.js.map +1 -0
  460. package/dist/features/lock/index.d.ts +4 -0
  461. package/dist/features/lock/index.d.ts.map +1 -0
  462. package/dist/features/lock/index.js +4 -0
  463. package/dist/features/lock/index.js.map +1 -0
  464. package/dist/features/lock/lock-service.d.ts +74 -0
  465. package/dist/features/lock/lock-service.d.ts.map +1 -0
  466. package/dist/features/lock/lock-service.js +210 -0
  467. package/dist/features/lock/lock-service.js.map +1 -0
  468. package/dist/features/lock/memory.d.ts +60 -0
  469. package/dist/features/lock/memory.d.ts.map +1 -0
  470. package/dist/features/lock/memory.js +194 -0
  471. package/dist/features/lock/memory.js.map +1 -0
  472. package/dist/features/lock/types.d.ts +151 -0
  473. package/dist/features/lock/types.d.ts.map +1 -0
  474. package/dist/features/lock/types.js +17 -0
  475. package/dist/features/lock/types.js.map +1 -0
  476. package/dist/features/memory/index.d.ts +18 -0
  477. package/dist/features/memory/index.d.ts.map +1 -0
  478. package/dist/features/memory/index.js +18 -0
  479. package/dist/features/memory/index.js.map +1 -0
  480. package/dist/features/memory/lock-feature.d.ts +21 -0
  481. package/dist/features/memory/lock-feature.d.ts.map +1 -0
  482. package/dist/features/memory/lock-feature.js +24 -0
  483. package/dist/features/memory/lock-feature.js.map +1 -0
  484. package/dist/features/secrets/create-secret-provider.d.ts +31 -0
  485. package/dist/features/secrets/create-secret-provider.d.ts.map +1 -0
  486. package/dist/features/secrets/create-secret-provider.js +26 -0
  487. package/dist/features/secrets/create-secret-provider.js.map +1 -0
  488. package/dist/features/secrets/define-secret-partial.d.ts +16 -0
  489. package/dist/features/secrets/define-secret-partial.d.ts.map +1 -0
  490. package/dist/features/secrets/define-secret-partial.js +26 -0
  491. package/dist/features/secrets/define-secret-partial.js.map +1 -0
  492. package/dist/features/secrets/index.d.ts +17 -0
  493. package/dist/features/secrets/index.d.ts.map +1 -0
  494. package/dist/features/secrets/index.js +14 -0
  495. package/dist/features/secrets/index.js.map +1 -0
  496. package/dist/features/secrets/secret-of.d.ts +19 -0
  497. package/dist/features/secrets/secret-of.d.ts.map +1 -0
  498. package/dist/features/secrets/secret-of.js +21 -0
  499. package/dist/features/secrets/secret-of.js.map +1 -0
  500. package/dist/features/secrets/secret-service.d.ts +21 -0
  501. package/dist/features/secrets/secret-service.d.ts.map +1 -0
  502. package/dist/features/secrets/secret-service.js +28 -0
  503. package/dist/features/secrets/secret-service.js.map +1 -0
  504. package/dist/features/secrets/types.d.ts +30 -0
  505. package/dist/features/secrets/types.d.ts.map +1 -0
  506. package/dist/features/secrets/types.js +8 -0
  507. package/dist/features/secrets/types.js.map +1 -0
  508. package/dist/features/vault/env-var-vault.d.ts +24 -0
  509. package/dist/features/vault/env-var-vault.d.ts.map +1 -0
  510. package/dist/features/vault/env-var-vault.js +43 -0
  511. package/dist/features/vault/env-var-vault.js.map +1 -0
  512. package/dist/features/vault/hardcoded-vault.d.ts +34 -0
  513. package/dist/features/vault/hardcoded-vault.d.ts.map +1 -0
  514. package/dist/features/vault/hardcoded-vault.js +46 -0
  515. package/dist/features/vault/hardcoded-vault.js.map +1 -0
  516. package/dist/features/vault/hashicorp-vault.d.ts +32 -0
  517. package/dist/features/vault/hashicorp-vault.d.ts.map +1 -0
  518. package/dist/features/vault/hashicorp-vault.js +69 -0
  519. package/dist/features/vault/hashicorp-vault.js.map +1 -0
  520. package/dist/features/vault/index.d.ts +13 -0
  521. package/dist/features/vault/index.d.ts.map +1 -0
  522. package/dist/features/vault/index.js +12 -0
  523. package/dist/features/vault/index.js.map +1 -0
  524. package/dist/features/vault/kubernetes-vault.d.ts +27 -0
  525. package/dist/features/vault/kubernetes-vault.d.ts.map +1 -0
  526. package/dist/features/vault/kubernetes-vault.js +51 -0
  527. package/dist/features/vault/kubernetes-vault.js.map +1 -0
  528. package/dist/features/vault/types.d.ts +41 -0
  529. package/dist/features/vault/types.d.ts.map +1 -0
  530. package/dist/features/vault/types.js +21 -0
  531. package/dist/features/vault/types.js.map +1 -0
  532. package/dist/index.d.ts +78 -0
  533. package/dist/index.d.ts.map +1 -0
  534. package/dist/index.js +48 -0
  535. package/dist/index.js.map +1 -0
  536. package/dist/justscale.d.ts +63 -0
  537. package/dist/justscale.d.ts.map +1 -0
  538. package/dist/justscale.js +501 -0
  539. package/dist/justscale.js.map +1 -0
  540. package/dist/kernel/adapter.d.ts +9 -0
  541. package/dist/kernel/adapter.d.ts.map +1 -0
  542. package/dist/kernel/adapter.js +2 -0
  543. package/dist/kernel/adapter.js.map +1 -0
  544. package/dist/kernel/kernel.d.ts +15 -0
  545. package/dist/kernel/kernel.d.ts.map +1 -0
  546. package/dist/kernel/kernel.js +134 -0
  547. package/dist/kernel/kernel.js.map +1 -0
  548. package/dist/models/access.d.ts +26 -0
  549. package/dist/models/access.d.ts.map +1 -0
  550. package/dist/models/access.js +126 -0
  551. package/dist/models/access.js.map +1 -0
  552. package/dist/models/apply-types-config.d.ts +52 -0
  553. package/dist/models/apply-types-config.d.ts.map +1 -0
  554. package/dist/models/apply-types-config.js +47 -0
  555. package/dist/models/apply-types-config.js.map +1 -0
  556. package/dist/models/define-model.d.ts +249 -0
  557. package/dist/models/define-model.d.ts.map +1 -0
  558. package/dist/models/define-model.js +388 -0
  559. package/dist/models/define-model.js.map +1 -0
  560. package/dist/models/field.d.ts +309 -0
  561. package/dist/models/field.d.ts.map +1 -0
  562. package/dist/models/field.js +312 -0
  563. package/dist/models/field.js.map +1 -0
  564. package/dist/models/in-memory/condition-evaluator.d.ts +53 -0
  565. package/dist/models/in-memory/condition-evaluator.d.ts.map +1 -0
  566. package/dist/models/in-memory/condition-evaluator.js +593 -0
  567. package/dist/models/in-memory/condition-evaluator.js.map +1 -0
  568. package/dist/models/in-memory/in-memory-model.d.ts +89 -0
  569. package/dist/models/in-memory/in-memory-model.d.ts.map +1 -0
  570. package/dist/models/in-memory/in-memory-model.js +101 -0
  571. package/dist/models/in-memory/in-memory-model.js.map +1 -0
  572. package/dist/models/in-memory/in-memory-repository.d.ts +208 -0
  573. package/dist/models/in-memory/in-memory-repository.d.ts.map +1 -0
  574. package/dist/models/in-memory/in-memory-repository.js +618 -0
  575. package/dist/models/in-memory/in-memory-repository.js.map +1 -0
  576. package/dist/models/in-memory/in-memory-scheduled-task.repository.d.ts +92 -0
  577. package/dist/models/in-memory/in-memory-scheduled-task.repository.d.ts.map +1 -0
  578. package/dist/models/in-memory/in-memory-scheduled-task.repository.js +395 -0
  579. package/dist/models/in-memory/in-memory-scheduled-task.repository.js.map +1 -0
  580. package/dist/models/in-memory/index.d.ts +35 -0
  581. package/dist/models/in-memory/index.d.ts.map +1 -0
  582. package/dist/models/in-memory/index.js +36 -0
  583. package/dist/models/in-memory/index.js.map +1 -0
  584. package/dist/models/index.d.ts +52 -0
  585. package/dist/models/index.d.ts.map +1 -0
  586. package/dist/models/index.js +86 -0
  587. package/dist/models/index.js.map +1 -0
  588. package/dist/models/model-name-registry.d.ts +16 -0
  589. package/dist/models/model-name-registry.d.ts.map +1 -0
  590. package/dist/models/model-name-registry.js +19 -0
  591. package/dist/models/model-name-registry.js.map +1 -0
  592. package/dist/models/model.d.ts +15 -0
  593. package/dist/models/model.d.ts.map +1 -0
  594. package/dist/models/model.js +114 -0
  595. package/dist/models/model.js.map +1 -0
  596. package/dist/models/model.repository.d.ts +318 -0
  597. package/dist/models/model.repository.d.ts.map +1 -0
  598. package/dist/models/model.repository.js +146 -0
  599. package/dist/models/model.repository.js.map +1 -0
  600. package/dist/models/observable.d.ts +15 -0
  601. package/dist/models/observable.d.ts.map +1 -0
  602. package/dist/models/observable.js +64 -0
  603. package/dist/models/observable.js.map +1 -0
  604. package/dist/models/proxy.d.ts +5 -0
  605. package/dist/models/proxy.d.ts.map +1 -0
  606. package/dist/models/proxy.js +407 -0
  607. package/dist/models/proxy.js.map +1 -0
  608. package/dist/models/query.d.ts +574 -0
  609. package/dist/models/query.d.ts.map +1 -0
  610. package/dist/models/query.js +701 -0
  611. package/dist/models/query.js.map +1 -0
  612. package/dist/models/reference/reference.d.ts +229 -0
  613. package/dist/models/reference/reference.d.ts.map +1 -0
  614. package/dist/models/reference/reference.js +331 -0
  615. package/dist/models/reference/reference.js.map +1 -0
  616. package/dist/models/reference/transient-ref.d.ts +123 -0
  617. package/dist/models/reference/transient-ref.d.ts.map +1 -0
  618. package/dist/models/reference/transient-ref.js +152 -0
  619. package/dist/models/reference/transient-ref.js.map +1 -0
  620. package/dist/models/repository.d.ts +53 -0
  621. package/dist/models/repository.d.ts.map +1 -0
  622. package/dist/models/repository.js +37 -0
  623. package/dist/models/repository.js.map +1 -0
  624. package/dist/models/scheduled-task/index.d.ts +13 -0
  625. package/dist/models/scheduled-task/index.d.ts.map +1 -0
  626. package/dist/models/scheduled-task/index.js +12 -0
  627. package/dist/models/scheduled-task/index.js.map +1 -0
  628. package/dist/models/scheduled-task/scheduled-task.d.ts +73 -0
  629. package/dist/models/scheduled-task/scheduled-task.d.ts.map +1 -0
  630. package/dist/models/scheduled-task/scheduled-task.js +95 -0
  631. package/dist/models/scheduled-task/scheduled-task.js.map +1 -0
  632. package/dist/models/scheduled-task/scheduled-task.repository.d.ts +150 -0
  633. package/dist/models/scheduled-task/scheduled-task.repository.d.ts.map +1 -0
  634. package/dist/models/scheduled-task/scheduled-task.repository.js +40 -0
  635. package/dist/models/scheduled-task/scheduled-task.repository.js.map +1 -0
  636. package/dist/models/stream.d.ts +139 -0
  637. package/dist/models/stream.d.ts.map +1 -0
  638. package/dist/models/stream.js +153 -0
  639. package/dist/models/stream.js.map +1 -0
  640. package/dist/models/symbols.d.ts +73 -0
  641. package/dist/models/symbols.d.ts.map +1 -0
  642. package/dist/models/symbols.js +97 -0
  643. package/dist/models/symbols.js.map +1 -0
  644. package/dist/models/types.d.ts +291 -0
  645. package/dist/models/types.d.ts.map +1 -0
  646. package/dist/models/types.js +50 -0
  647. package/dist/models/types.js.map +1 -0
  648. package/dist/models/watch.d.ts +27 -0
  649. package/dist/models/watch.d.ts.map +1 -0
  650. package/dist/models/watch.js +124 -0
  651. package/dist/models/watch.js.map +1 -0
  652. package/dist/models/zod-ref.d.ts +46 -0
  653. package/dist/models/zod-ref.d.ts.map +1 -0
  654. package/dist/models/zod-ref.js +31 -0
  655. package/dist/models/zod-ref.js.map +1 -0
  656. package/dist/process/builtin-serializers.d.ts +19 -0
  657. package/dist/process/builtin-serializers.d.ts.map +1 -0
  658. package/dist/process/builtin-serializers.js +213 -0
  659. package/dist/process/builtin-serializers.js.map +1 -0
  660. package/dist/process/cluster-plugin.d.ts +129 -0
  661. package/dist/process/cluster-plugin.d.ts.map +1 -0
  662. package/dist/process/cluster-plugin.js +175 -0
  663. package/dist/process/cluster-plugin.js.map +1 -0
  664. package/dist/process/createProcess.d.ts +67 -0
  665. package/dist/process/createProcess.d.ts.map +1 -0
  666. package/dist/process/createProcess.js +111 -0
  667. package/dist/process/createProcess.js.map +1 -0
  668. package/dist/process/define-signals.d.ts +113 -0
  669. package/dist/process/define-signals.d.ts.map +1 -0
  670. package/dist/process/define-signals.js +222 -0
  671. package/dist/process/define-signals.js.map +1 -0
  672. package/dist/process/delay-controller.d.ts +35 -0
  673. package/dist/process/delay-controller.d.ts.map +1 -0
  674. package/dist/process/delay-controller.js +55 -0
  675. package/dist/process/delay-controller.js.map +1 -0
  676. package/dist/process/index.d.ts +38 -0
  677. package/dist/process/index.d.ts.map +1 -0
  678. package/dist/process/index.js +47 -0
  679. package/dist/process/index.js.map +1 -0
  680. package/dist/process/primitives.d.ts +393 -0
  681. package/dist/process/primitives.d.ts.map +1 -0
  682. package/dist/process/primitives.js +325 -0
  683. package/dist/process/primitives.js.map +1 -0
  684. package/dist/process/serialization.d.ts +58 -0
  685. package/dist/process/serialization.d.ts.map +1 -0
  686. package/dist/process/serialization.js +220 -0
  687. package/dist/process/serialization.js.map +1 -0
  688. package/dist/process/stream-utils.d.ts +123 -0
  689. package/dist/process/stream-utils.d.ts.map +1 -0
  690. package/dist/process/stream-utils.js +247 -0
  691. package/dist/process/stream-utils.js.map +1 -0
  692. package/dist/process/testing/clock.d.ts +115 -0
  693. package/dist/process/testing/clock.d.ts.map +1 -0
  694. package/dist/process/testing/clock.js +166 -0
  695. package/dist/process/testing/clock.js.map +1 -0
  696. package/dist/process/testing/index.d.ts +9 -0
  697. package/dist/process/testing/index.d.ts.map +1 -0
  698. package/dist/process/testing/index.js +9 -0
  699. package/dist/process/testing/index.js.map +1 -0
  700. package/dist/process/testing.d.ts +50 -0
  701. package/dist/process/testing.d.ts.map +1 -0
  702. package/dist/process/testing.js +59 -0
  703. package/dist/process/testing.js.map +1 -0
  704. package/dist/process/types.d.ts +540 -0
  705. package/dist/process/types.d.ts.map +1 -0
  706. package/dist/process/types.js +21 -0
  707. package/dist/process/types.js.map +1 -0
  708. package/dist/queue/index.d.ts +2 -0
  709. package/dist/queue/index.d.ts.map +1 -0
  710. package/dist/queue/index.js +2 -0
  711. package/dist/queue/index.js.map +1 -0
  712. package/dist/queue/queue.d.ts +34 -0
  713. package/dist/queue/queue.d.ts.map +1 -0
  714. package/dist/queue/queue.js +108 -0
  715. package/dist/queue/queue.js.map +1 -0
  716. package/dist/runtime/process/compiled.d.ts +56 -0
  717. package/dist/runtime/process/compiled.d.ts.map +1 -0
  718. package/dist/runtime/process/compiled.js +221 -0
  719. package/dist/runtime/process/compiled.js.map +1 -0
  720. package/dist/runtime/process/executor.d.ts +279 -0
  721. package/dist/runtime/process/executor.d.ts.map +1 -0
  722. package/dist/runtime/process/executor.js +1941 -0
  723. package/dist/runtime/process/executor.js.map +1 -0
  724. package/dist/runtime/process/factory.d.ts +72 -0
  725. package/dist/runtime/process/factory.d.ts.map +1 -0
  726. package/dist/runtime/process/factory.js +78 -0
  727. package/dist/runtime/process/factory.js.map +1 -0
  728. package/dist/runtime/process/freeze.d.ts +5 -0
  729. package/dist/runtime/process/freeze.d.ts.map +1 -0
  730. package/dist/runtime/process/freeze.js +94 -0
  731. package/dist/runtime/process/freeze.js.map +1 -0
  732. package/dist/runtime/process/scheduled-task-timer.d.ts +52 -0
  733. package/dist/runtime/process/scheduled-task-timer.d.ts.map +1 -0
  734. package/dist/runtime/process/scheduled-task-timer.js +104 -0
  735. package/dist/runtime/process/scheduled-task-timer.js.map +1 -0
  736. package/dist/runtime/process/signal-bus.d.ts +186 -0
  737. package/dist/runtime/process/signal-bus.d.ts.map +1 -0
  738. package/dist/runtime/process/signal-bus.js +256 -0
  739. package/dist/runtime/process/signal-bus.js.map +1 -0
  740. package/dist/runtime/process/state-serializer.d.ts +30 -0
  741. package/dist/runtime/process/state-serializer.d.ts.map +1 -0
  742. package/dist/runtime/process/state-serializer.js +244 -0
  743. package/dist/runtime/process/state-serializer.js.map +1 -0
  744. package/dist/runtime/process/storage.d.ts +96 -0
  745. package/dist/runtime/process/storage.d.ts.map +1 -0
  746. package/dist/runtime/process/storage.js +165 -0
  747. package/dist/runtime/process/storage.js.map +1 -0
  748. package/dist/runtime/process/timer-scheduler.d.ts +115 -0
  749. package/dist/runtime/process/timer-scheduler.d.ts.map +1 -0
  750. package/dist/runtime/process/timer-scheduler.js +192 -0
  751. package/dist/runtime/process/timer-scheduler.js.map +1 -0
  752. package/dist/runtime/process/trace.d.ts +17 -0
  753. package/dist/runtime/process/trace.d.ts.map +1 -0
  754. package/dist/runtime/process/trace.js +26 -0
  755. package/dist/runtime/process/trace.js.map +1 -0
  756. package/dist/runtime/protobuf/encoding/index.d.ts +26 -0
  757. package/dist/runtime/protobuf/encoding/index.d.ts.map +1 -0
  758. package/dist/runtime/protobuf/encoding/index.js +30 -0
  759. package/dist/runtime/protobuf/encoding/index.js.map +1 -0
  760. package/dist/runtime/protobuf/encoding/reader.d.ts +182 -0
  761. package/dist/runtime/protobuf/encoding/reader.d.ts.map +1 -0
  762. package/dist/runtime/protobuf/encoding/reader.js +353 -0
  763. package/dist/runtime/protobuf/encoding/reader.js.map +1 -0
  764. package/dist/runtime/protobuf/encoding/varint.d.ts +67 -0
  765. package/dist/runtime/protobuf/encoding/varint.d.ts.map +1 -0
  766. package/dist/runtime/protobuf/encoding/varint.js +117 -0
  767. package/dist/runtime/protobuf/encoding/varint.js.map +1 -0
  768. package/dist/runtime/protobuf/encoding/wire-types.d.ts +62 -0
  769. package/dist/runtime/protobuf/encoding/wire-types.d.ts.map +1 -0
  770. package/dist/runtime/protobuf/encoding/wire-types.js +103 -0
  771. package/dist/runtime/protobuf/encoding/wire-types.js.map +1 -0
  772. package/dist/runtime/protobuf/encoding/writer.d.ts +147 -0
  773. package/dist/runtime/protobuf/encoding/writer.d.ts.map +1 -0
  774. package/dist/runtime/protobuf/encoding/writer.js +214 -0
  775. package/dist/runtime/protobuf/encoding/writer.js.map +1 -0
  776. package/dist/runtime/protobuf/index.d.ts +3 -0
  777. package/dist/runtime/protobuf/index.d.ts.map +1 -0
  778. package/dist/runtime/protobuf/index.js +3 -0
  779. package/dist/runtime/protobuf/index.js.map +1 -0
  780. package/dist/runtime/protobuf/serialized.d.ts +48 -0
  781. package/dist/runtime/protobuf/serialized.d.ts.map +1 -0
  782. package/dist/runtime/protobuf/serialized.js +517 -0
  783. package/dist/runtime/protobuf/serialized.js.map +1 -0
  784. package/package.json +209 -0
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Stream-Process Integration Utilities
3
+ *
4
+ * Shared utilities for stream signal naming conventions used by both
5
+ * the repository (signal emission) and executor (wildcard resolution).
6
+ *
7
+ * The signal name format is: `stream:{ModelName}:{entityId}:{fieldName}`
8
+ * The identity key format is: `{modelNameInCamelCase}Ref`
9
+ */
10
+ /**
11
+ * Convert a PascalCase model name to its corresponding identity key.
12
+ *
13
+ * The convention is: ModelName → modelNameRef
14
+ * This matches the `types: { Model }` process parameter convention.
15
+ *
16
+ * Handles edge cases:
17
+ * - `Order` → `orderRef`
18
+ * - `OrderItem` → `orderItemRef`
19
+ * - `ABC` → `abcRef` (all-caps acronym)
20
+ * - `ABCOrder` → `abcOrderRef` (acronym prefix)
21
+ * - `OrderABC` → `orderABCRef` (acronym suffix - preserves case)
22
+ * - `HTTPServer` → `httpServerRef`
23
+ * - `V2Order` → `v2OrderRef`
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * modelNameToIdentityKey('Order') // 'orderRef'
28
+ * modelNameToIdentityKey('OrderItem') // 'orderItemRef'
29
+ * modelNameToIdentityKey('ABC') // 'abcRef'
30
+ * modelNameToIdentityKey('HTTPServer') // 'httpServerRef'
31
+ * ```
32
+ */
33
+ export declare function modelNameToIdentityKey(modelName: string): string;
34
+ /**
35
+ * Convert PascalCase to camelCase with proper handling of:
36
+ * - Leading acronyms: `ABC` → `abc`, `ABCOrder` → `abcOrder`
37
+ * - Embedded acronyms: `HTTPServer` → `httpServer`
38
+ * - Numbers: `V2Order` → `v2Order`
39
+ * - Single letters: `A` → `a`
40
+ */
41
+ export declare function pascalToCamelCase(str: string): string;
42
+ /**
43
+ * Stream signal name format: `stream:{ModelName}:{entityId}:{fieldName}`
44
+ */
45
+ export interface StreamSignalParts {
46
+ prefix: 'stream';
47
+ modelName: string;
48
+ entityId: string | '*';
49
+ fieldName: string;
50
+ }
51
+ /**
52
+ * Parse a stream signal name into its components.
53
+ *
54
+ * @returns null if not a valid stream signal format
55
+ */
56
+ export declare function parseStreamSignal(signalName: string): StreamSignalParts | null;
57
+ /**
58
+ * Build a stream signal name from components.
59
+ */
60
+ export declare function buildStreamSignal(modelName: string, entityId: string | '*', fieldName: string): string;
61
+ /**
62
+ * Check if a signal name is a stream signal with a wildcard.
63
+ */
64
+ export declare function isWildcardStreamSignal(signalName: string): boolean;
65
+ /**
66
+ * Options for identity resolution.
67
+ */
68
+ export interface IdentityResolutionOptions {
69
+ /** Whether to use fallback strategies when primary key not found */
70
+ useFallback?: boolean;
71
+ /** Custom identity key to use instead of deriving from model name */
72
+ customIdentityKey?: string;
73
+ }
74
+ /**
75
+ * Result of identity resolution.
76
+ */
77
+ export interface IdentityResolutionResult {
78
+ /** Whether resolution was successful */
79
+ success: boolean;
80
+ /** The resolved entity ID (undefined if not found) */
81
+ entityId?: string;
82
+ /** The identity key that was used */
83
+ usedKey?: string;
84
+ /** Whether a fallback strategy was used */
85
+ usedFallback: boolean;
86
+ /** Error message if resolution failed */
87
+ error?: string;
88
+ }
89
+ /**
90
+ * Resolve the entity ID from a process identity map for a given model.
91
+ *
92
+ * Resolution strategy:
93
+ * 1. Try the conventional key: `{modelName}Id` (e.g., `orderId` for `Order`)
94
+ * 2. If not found and fallback enabled:
95
+ * a. Try any key ending in `Id`
96
+ * b. Try the key `id`
97
+ *
98
+ * @param modelName - The model name (e.g., 'Order')
99
+ * @param identity - The process identity map (e.g., { orderId: '123' })
100
+ * @param options - Resolution options
101
+ */
102
+ export declare function resolveEntityId(modelName: string, identity: Record<string, string>, options?: IdentityResolutionOptions): IdentityResolutionResult;
103
+ /**
104
+ * Resolve a wildcard stream signal to a concrete signal name.
105
+ *
106
+ * @param signalName - Signal with wildcard (e.g., 'stream:Order:*:statusUpdates')
107
+ * @param identity - Process identity map
108
+ * @param types - Optional types config from the process definition. When
109
+ * provided, the identity key is chosen by matching the signal's model
110
+ * name to an entry in `types` — so `types: { room: ChatRoom }` on a
111
+ * `stream:ChatRoom:*:broadcast` signal resolves via `identity.room`
112
+ * even though the key doesn't end in `Ref`/`Id`.
113
+ * @returns Resolved signal name or original if resolution fails
114
+ */
115
+ export declare function resolveStreamWildcard(signalName: string, identity: Record<string, string>, types?: Record<string, {
116
+ [key: symbol]: string;
117
+ } | {
118
+ name?: string;
119
+ }>): {
120
+ resolved: string;
121
+ result: IdentityResolutionResult;
122
+ };
123
+ //# sourceMappingURL=stream-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-utils.d.ts","sourceRoot":"","sources":["../../src/process/stream-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAOhE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAwCrD;AAcD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,QAAQ,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAY9E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,GAAG,EACtB,SAAS,EAAE,MAAM,GAChB,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAElE;AAMD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAA;IAChB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,YAAY,EAAE,OAAO,CAAA;IACrB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,OAAO,GAAE,yBAA8B,GACtC,wBAAwB,CA4E1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACpE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,wBAAwB,CAAA;CAAE,CA0CxD"}
@@ -0,0 +1,247 @@
1
+ /**
2
+ * Stream-Process Integration Utilities
3
+ *
4
+ * Shared utilities for stream signal naming conventions used by both
5
+ * the repository (signal emission) and executor (wildcard resolution).
6
+ *
7
+ * The signal name format is: `stream:{ModelName}:{entityId}:{fieldName}`
8
+ * The identity key format is: `{modelNameInCamelCase}Ref`
9
+ */
10
+ import { MODEL_NAME } from '../models/define-model.js';
11
+ // ============================================================================
12
+ // Identity Key Conversion
13
+ // ============================================================================
14
+ /**
15
+ * Convert a PascalCase model name to its corresponding identity key.
16
+ *
17
+ * The convention is: ModelName → modelNameRef
18
+ * This matches the `types: { Model }` process parameter convention.
19
+ *
20
+ * Handles edge cases:
21
+ * - `Order` → `orderRef`
22
+ * - `OrderItem` → `orderItemRef`
23
+ * - `ABC` → `abcRef` (all-caps acronym)
24
+ * - `ABCOrder` → `abcOrderRef` (acronym prefix)
25
+ * - `OrderABC` → `orderABCRef` (acronym suffix - preserves case)
26
+ * - `HTTPServer` → `httpServerRef`
27
+ * - `V2Order` → `v2OrderRef`
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * modelNameToIdentityKey('Order') // 'orderRef'
32
+ * modelNameToIdentityKey('OrderItem') // 'orderItemRef'
33
+ * modelNameToIdentityKey('ABC') // 'abcRef'
34
+ * modelNameToIdentityKey('HTTPServer') // 'httpServerRef'
35
+ * ```
36
+ */
37
+ export function modelNameToIdentityKey(modelName) {
38
+ if (!modelName || modelName.length === 0) {
39
+ return 'ref';
40
+ }
41
+ const camelCase = pascalToCamelCase(modelName);
42
+ return `${camelCase}Ref`;
43
+ }
44
+ /**
45
+ * Convert PascalCase to camelCase with proper handling of:
46
+ * - Leading acronyms: `ABC` → `abc`, `ABCOrder` → `abcOrder`
47
+ * - Embedded acronyms: `HTTPServer` → `httpServer`
48
+ * - Numbers: `V2Order` → `v2Order`
49
+ * - Single letters: `A` → `a`
50
+ */
51
+ export function pascalToCamelCase(str) {
52
+ if (!str || str.length === 0) {
53
+ return str;
54
+ }
55
+ if (str.length === 1) {
56
+ return str.toLowerCase();
57
+ }
58
+ let uppercaseEndIndex = 0;
59
+ for (let i = 0; i < str.length; i++) {
60
+ if (isUpperCase(str[i])) {
61
+ uppercaseEndIndex = i + 1;
62
+ }
63
+ else {
64
+ break;
65
+ }
66
+ }
67
+ if (uppercaseEndIndex === 0) {
68
+ return str;
69
+ }
70
+ if (uppercaseEndIndex === str.length) {
71
+ return str.toLowerCase();
72
+ }
73
+ if (uppercaseEndIndex === 1) {
74
+ return str[0].toLowerCase() + str.slice(1);
75
+ }
76
+ // If the char after the uppercase run is lowercase, the last uppercase belongs to the next word.
77
+ // "HTTPServer": uppercaseEndIndex=5 (past 'S'), acronym="http", rest="Server" -> "httpServer"
78
+ if (uppercaseEndIndex < str.length && isLowerCase(str[uppercaseEndIndex])) {
79
+ const acronymPart = str.slice(0, uppercaseEndIndex - 1).toLowerCase();
80
+ const rest = str.slice(uppercaseEndIndex - 1);
81
+ return acronymPart + rest;
82
+ }
83
+ return str.slice(0, uppercaseEndIndex).toLowerCase() + str.slice(uppercaseEndIndex);
84
+ }
85
+ function isUpperCase(char) {
86
+ return char >= 'A' && char <= 'Z';
87
+ }
88
+ function isLowerCase(char) {
89
+ return char >= 'a' && char <= 'z';
90
+ }
91
+ /**
92
+ * Parse a stream signal name into its components.
93
+ *
94
+ * @returns null if not a valid stream signal format
95
+ */
96
+ export function parseStreamSignal(signalName) {
97
+ const parts = signalName.split(':');
98
+ if (parts.length !== 4 || parts[0] !== 'stream') {
99
+ return null;
100
+ }
101
+ return {
102
+ prefix: 'stream',
103
+ modelName: parts[1],
104
+ entityId: parts[2],
105
+ fieldName: parts[3],
106
+ };
107
+ }
108
+ /**
109
+ * Build a stream signal name from components.
110
+ */
111
+ export function buildStreamSignal(modelName, entityId, fieldName) {
112
+ return `stream:${modelName}:${entityId}:${fieldName}`;
113
+ }
114
+ /**
115
+ * Check if a signal name is a stream signal with a wildcard.
116
+ */
117
+ export function isWildcardStreamSignal(signalName) {
118
+ return signalName.startsWith('stream:') && signalName.includes(':*:');
119
+ }
120
+ /**
121
+ * Resolve the entity ID from a process identity map for a given model.
122
+ *
123
+ * Resolution strategy:
124
+ * 1. Try the conventional key: `{modelName}Id` (e.g., `orderId` for `Order`)
125
+ * 2. If not found and fallback enabled:
126
+ * a. Try any key ending in `Id`
127
+ * b. Try the key `id`
128
+ *
129
+ * @param modelName - The model name (e.g., 'Order')
130
+ * @param identity - The process identity map (e.g., { orderId: '123' })
131
+ * @param options - Resolution options
132
+ */
133
+ export function resolveEntityId(modelName, identity, options = {}) {
134
+ const { useFallback = true, customIdentityKey } = options;
135
+ // Use custom key if provided
136
+ if (customIdentityKey) {
137
+ const value = identity[customIdentityKey];
138
+ if (value !== undefined) {
139
+ return {
140
+ success: true,
141
+ entityId: value,
142
+ usedKey: customIdentityKey,
143
+ usedFallback: false,
144
+ };
145
+ }
146
+ }
147
+ // Try conventional key with `Ref` suffix (e.g. `orderRef` for model `Order`)
148
+ const conventionalKey = modelNameToIdentityKey(modelName);
149
+ const conventionalValue = identity[conventionalKey];
150
+ if (conventionalValue !== undefined) {
151
+ return {
152
+ success: true,
153
+ entityId: conventionalValue,
154
+ usedKey: conventionalKey,
155
+ usedFallback: false,
156
+ };
157
+ }
158
+ // Try plain camelCase model name (e.g. `room` for model `Room`)
159
+ const plainKey = pascalToCamelCase(modelName);
160
+ const plainValue = identity[plainKey];
161
+ if (plainValue !== undefined) {
162
+ return {
163
+ success: true,
164
+ entityId: plainValue,
165
+ usedKey: plainKey,
166
+ usedFallback: false,
167
+ };
168
+ }
169
+ // Fallback strategies
170
+ if (useFallback) {
171
+ // Try any key ending in 'Ref' or 'Id'
172
+ for (const [key, value] of Object.entries(identity)) {
173
+ if ((key.endsWith('Ref') || key.endsWith('Id')) && value !== undefined) {
174
+ return {
175
+ success: true,
176
+ entityId: value,
177
+ usedKey: key,
178
+ usedFallback: true,
179
+ };
180
+ }
181
+ }
182
+ // Try 'ref' or 'id' key
183
+ for (const fallbackKey of ['ref', 'id']) {
184
+ if (identity[fallbackKey] !== undefined) {
185
+ return {
186
+ success: true,
187
+ entityId: identity[fallbackKey],
188
+ usedKey: fallbackKey,
189
+ usedFallback: true,
190
+ };
191
+ }
192
+ }
193
+ }
194
+ // Resolution failed
195
+ return {
196
+ success: false,
197
+ usedFallback: useFallback,
198
+ error: `Could not resolve entity ID for model "${modelName}". ` +
199
+ `Expected key "${conventionalKey}", "${plainKey}", or any "*Ref"/"*Id" key in identity: ${JSON.stringify(identity)}`,
200
+ };
201
+ }
202
+ /**
203
+ * Resolve a wildcard stream signal to a concrete signal name.
204
+ *
205
+ * @param signalName - Signal with wildcard (e.g., 'stream:Order:*:statusUpdates')
206
+ * @param identity - Process identity map
207
+ * @param types - Optional types config from the process definition. When
208
+ * provided, the identity key is chosen by matching the signal's model
209
+ * name to an entry in `types` — so `types: { room: ChatRoom }` on a
210
+ * `stream:ChatRoom:*:broadcast` signal resolves via `identity.room`
211
+ * even though the key doesn't end in `Ref`/`Id`.
212
+ * @returns Resolved signal name or original if resolution fails
213
+ */
214
+ export function resolveStreamWildcard(signalName, identity, types) {
215
+ const parsed = parseStreamSignal(signalName);
216
+ if (!parsed || parsed.entityId !== '*') {
217
+ // Not a wildcard signal, return as-is
218
+ return {
219
+ resolved: signalName,
220
+ result: { success: true, usedFallback: false },
221
+ };
222
+ }
223
+ // Derive customIdentityKey from the types config: find the entry whose
224
+ // model name matches the signal's model name. This lets path params with
225
+ // short names (`:room`) work when they're typed to a specific model class.
226
+ let customIdentityKey;
227
+ if (types) {
228
+ for (const [key, modelClass] of Object.entries(types)) {
229
+ const modelName = modelClass[MODEL_NAME]
230
+ ?? modelClass.name;
231
+ if (modelName === parsed.modelName) {
232
+ customIdentityKey = key;
233
+ break;
234
+ }
235
+ }
236
+ }
237
+ const resolution = resolveEntityId(parsed.modelName, identity, { customIdentityKey });
238
+ if (!resolution.success) {
239
+ return {
240
+ resolved: signalName, // Return unresolved
241
+ result: resolution,
242
+ };
243
+ }
244
+ const resolved = buildStreamSignal(parsed.modelName, resolution.entityId, parsed.fieldName);
245
+ return { resolved, result: resolution };
246
+ }
247
+ //# sourceMappingURL=stream-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-utils.js","sourceRoot":"","sources":["../../src/process/stream-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACtD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC/C,OAAO,GAAG,SAAS,KAAK,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,iBAAiB,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;QACrC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,iGAAiG;IACjG,8FAA8F;IAC9F,IAAI,iBAAiB,GAAG,GAAG,CAAC,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAC9C,OAAO,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;AACpC,CAAC;AAgBD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACnB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAClB,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;KACpB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,QAAsB,EACtB,SAAiB;IAEjB,OAAO,UAAU,SAAS,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,OAAO,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAgCD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC7B,SAAiB,EACjB,QAAgC,EAChC,UAAqC,EAAE;IAEvC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;IAE1D,6BAA6B;IAC7B,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,YAAY,EAAE,KAAK;aACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,MAAM,eAAe,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;IAEpD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,iBAAiB;YAC3B,OAAO,EAAE,eAAe;YACxB,YAAY,EAAE,KAAK;SACpB,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEtC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,KAAK;SACpB,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,IAAI,WAAW,EAAE,CAAC;QAChB,sCAAsC;QACtC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACvE,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,GAAG;oBACZ,YAAY,EAAE,IAAI;iBACnB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,KAAK,MAAM,WAAW,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;gBACxC,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC;oBAC/B,OAAO,EAAE,WAAW;oBACpB,YAAY,EAAE,IAAI;iBACnB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,OAAO;QACL,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,WAAW;QACzB,KAAK,EAAE,0CAA0C,SAAS,KAAK;YAC7D,iBAAiB,eAAe,OAAO,QAAQ,2CAA2C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;KACvH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAkB,EAClB,QAAgC,EAChC,KAAqE;IAErE,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QACvC,sCAAsC;QACtC,OAAO;YACL,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE;SAC/C,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,yEAAyE;IACzE,2EAA2E;IAC3E,IAAI,iBAAqC,CAAC;IAC1C,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,SAAS,GAAI,UAAuC,CAAC,UAAU,CAAC;mBAChE,UAAgC,CAAC,IAAI,CAAC;YAC5C,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnC,iBAAiB,GAAG,GAAG,CAAC;gBACxB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAEtF,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO;YACL,QAAQ,EAAE,UAAU,EAAE,oBAAoB;YAC1C,MAAM,EAAE,UAAU;SACnB,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAChC,MAAM,CAAC,SAAS,EAChB,UAAU,CAAC,QAAS,EACpB,MAAM,CAAC,SAAS,CACjB,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * @justscale/process - Test Clock
3
+ *
4
+ * Time travel utilities for testing timer-based process logic.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import { TestClock } from '@justscale/process/testing'
9
+ *
10
+ * const clock = new TestClock(timerScheduler)
11
+ *
12
+ * // Advance time by duration
13
+ * await clock.advance.minutes(5)
14
+ * await clock.advance.hours(1)
15
+ * await clock.advance.days(7)
16
+ *
17
+ * // Advance to specific time
18
+ * await clock.advanceTo(new Date('2025-01-01'))
19
+ *
20
+ * // Fire next timer immediately
21
+ * clock.fireNext()
22
+ *
23
+ * // Get pending timers
24
+ * console.log(clock.pendingTimers)
25
+ * ```
26
+ */
27
+ import type { InMemoryTimerScheduler, TimerFired, ScheduledTimer } from '../../runtime/process/timer-scheduler.js';
28
+ /**
29
+ * Test clock for controlling time in process tests.
30
+ *
31
+ * Wraps an InMemoryTimerScheduler to provide time travel capabilities.
32
+ */
33
+ export declare class TestClock {
34
+ private scheduler;
35
+ private _currentTime;
36
+ /**
37
+ * Duration-based time advancement methods.
38
+ */
39
+ readonly advance: {
40
+ /** Advance time by milliseconds */
41
+ ms: (ms: number) => Promise<TimerFired[]>;
42
+ /** Advance time by seconds */
43
+ seconds: (n: number) => Promise<TimerFired[]>;
44
+ /** Advance time by minutes */
45
+ minutes: (n: number) => Promise<TimerFired[]>;
46
+ /** Advance time by hours */
47
+ hours: (n: number) => Promise<TimerFired[]>;
48
+ /** Advance time by days */
49
+ days: (n: number) => Promise<TimerFired[]>;
50
+ };
51
+ constructor(scheduler: InMemoryTimerScheduler, startTime?: Date);
52
+ /**
53
+ * Get the current simulated time.
54
+ */
55
+ get now(): Date;
56
+ /**
57
+ * Get all pending timers.
58
+ */
59
+ get pendingTimers(): ScheduledTimer[];
60
+ /**
61
+ * Get the number of pending timers.
62
+ */
63
+ get pendingCount(): number;
64
+ /**
65
+ * Get the next timer to fire (if any).
66
+ */
67
+ get nextTimer(): ScheduledTimer | undefined;
68
+ /**
69
+ * Get time until the next timer fires.
70
+ */
71
+ get timeToNextTimer(): number | undefined;
72
+ /**
73
+ * Advance time by a specific amount (in milliseconds).
74
+ * Fires any timers that expire during the advancement.
75
+ */
76
+ advanceBy(ms: number): Promise<TimerFired[]>;
77
+ /**
78
+ * Advance time to a specific point.
79
+ * Fires any timers that expire up to that time.
80
+ */
81
+ advanceTo(time: Date): Promise<TimerFired[]>;
82
+ /**
83
+ * Fire the next pending timer immediately, regardless of its scheduled time.
84
+ * Useful for skipping directly to when a timer fires.
85
+ */
86
+ fireNext(): void;
87
+ /**
88
+ * Fire all pending timers immediately.
89
+ */
90
+ fireAll(): void;
91
+ /**
92
+ * Advance time to when the next timer fires.
93
+ * Returns the fired timer, or undefined if no timers are pending.
94
+ */
95
+ advanceToNextTimer(): Promise<TimerFired | undefined>;
96
+ /**
97
+ * Advance time to fire exactly n timers.
98
+ * Useful for stepping through timer-based workflows.
99
+ */
100
+ advanceToFireCount(count: number): Promise<TimerFired[]>;
101
+ /**
102
+ * Check if any timer will fire within the given duration.
103
+ */
104
+ hasTimerWithin(ms: number): boolean;
105
+ /**
106
+ * Reset the clock to a specific time without firing timers.
107
+ * Useful for test setup.
108
+ */
109
+ reset(time?: Date): void;
110
+ }
111
+ /**
112
+ * Create a test clock from a timer scheduler.
113
+ */
114
+ export declare function createTestClock(scheduler: InMemoryTimerScheduler, startTime?: Date): TestClock;
115
+ //# sourceMappingURL=clock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../../../src/process/testing/clock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAEnH;;;;GAIG;AACH,qBAAa,SAAS;IAmBR,OAAO,CAAC,SAAS;IAlB7B,OAAO,CAAC,YAAY,CAAO;IAE3B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE;QAChB,mCAAmC;QACnC,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;QACzC,8BAA8B;QAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;QAC7C,8BAA8B;QAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;QAC7C,4BAA4B;QAC5B,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;QAC3C,2BAA2B;QAC3B,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;KAC3C,CAAC;gBAEkB,SAAS,EAAE,sBAAsB,EAAE,SAAS,CAAC,EAAE,IAAI;IAavE;;OAEG;IACH,IAAI,GAAG,IAAI,IAAI,CAEd;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,cAAc,EAAE,CAEpC;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,cAAc,GAAG,SAAS,CAM1C;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAIxC;IAED;;;OAGG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAKlD;;;OAGG;IACG,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAQlD;;;OAGG;IACH,QAAQ,IAAI,IAAI;IAIhB;;OAEG;IACH,OAAO,IAAI,IAAI;IAMf;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAQ3D;;;OAGG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAS9D;;OAEG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAKnC;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI;CAGzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,sBAAsB,EACjC,SAAS,CAAC,EAAE,IAAI,GACf,SAAS,CAEX"}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * @justscale/process - Test Clock
3
+ *
4
+ * Time travel utilities for testing timer-based process logic.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import { TestClock } from '@justscale/process/testing'
9
+ *
10
+ * const clock = new TestClock(timerScheduler)
11
+ *
12
+ * // Advance time by duration
13
+ * await clock.advance.minutes(5)
14
+ * await clock.advance.hours(1)
15
+ * await clock.advance.days(7)
16
+ *
17
+ * // Advance to specific time
18
+ * await clock.advanceTo(new Date('2025-01-01'))
19
+ *
20
+ * // Fire next timer immediately
21
+ * clock.fireNext()
22
+ *
23
+ * // Get pending timers
24
+ * console.log(clock.pendingTimers)
25
+ * ```
26
+ */
27
+ /**
28
+ * Test clock for controlling time in process tests.
29
+ *
30
+ * Wraps an InMemoryTimerScheduler to provide time travel capabilities.
31
+ */
32
+ export class TestClock {
33
+ scheduler;
34
+ _currentTime;
35
+ /**
36
+ * Duration-based time advancement methods.
37
+ */
38
+ advance;
39
+ constructor(scheduler, startTime) {
40
+ this.scheduler = scheduler;
41
+ this._currentTime = startTime ?? new Date();
42
+ // Bind advance methods
43
+ this.advance = {
44
+ ms: (ms) => this.advanceBy(ms),
45
+ seconds: (n) => this.advanceBy(n * 1000),
46
+ minutes: (n) => this.advanceBy(n * 60 * 1000),
47
+ hours: (n) => this.advanceBy(n * 60 * 60 * 1000),
48
+ days: (n) => this.advanceBy(n * 24 * 60 * 60 * 1000),
49
+ };
50
+ }
51
+ /**
52
+ * Get the current simulated time.
53
+ */
54
+ get now() {
55
+ return this._currentTime;
56
+ }
57
+ /**
58
+ * Get all pending timers.
59
+ */
60
+ get pendingTimers() {
61
+ return this.scheduler.getTimers();
62
+ }
63
+ /**
64
+ * Get the number of pending timers.
65
+ */
66
+ get pendingCount() {
67
+ return this.scheduler.pendingCount;
68
+ }
69
+ /**
70
+ * Get the next timer to fire (if any).
71
+ */
72
+ get nextTimer() {
73
+ const timers = this.scheduler.getTimers();
74
+ if (timers.length === 0)
75
+ return undefined;
76
+ return timers.reduce((earliest, timer) => timer.expiresAt < earliest.expiresAt ? timer : earliest);
77
+ }
78
+ /**
79
+ * Get time until the next timer fires.
80
+ */
81
+ get timeToNextTimer() {
82
+ const next = this.nextTimer;
83
+ if (!next)
84
+ return undefined;
85
+ return Math.max(0, next.expiresAt.getTime() - this._currentTime.getTime());
86
+ }
87
+ /**
88
+ * Advance time by a specific amount (in milliseconds).
89
+ * Fires any timers that expire during the advancement.
90
+ */
91
+ async advanceBy(ms) {
92
+ const newTime = new Date(this._currentTime.getTime() + ms);
93
+ return this.advanceTo(newTime);
94
+ }
95
+ /**
96
+ * Advance time to a specific point.
97
+ * Fires any timers that expire up to that time.
98
+ */
99
+ async advanceTo(time) {
100
+ if (time < this._currentTime) {
101
+ throw new Error(`Cannot go back in time: ${time} < ${this._currentTime}`);
102
+ }
103
+ this._currentTime = time;
104
+ return this.scheduler.advanceTo(time);
105
+ }
106
+ /**
107
+ * Fire the next pending timer immediately, regardless of its scheduled time.
108
+ * Useful for skipping directly to when a timer fires.
109
+ */
110
+ fireNext() {
111
+ this.scheduler.fireNext();
112
+ }
113
+ /**
114
+ * Fire all pending timers immediately.
115
+ */
116
+ fireAll() {
117
+ while (this.scheduler.pendingCount > 0) {
118
+ this.scheduler.fireNext();
119
+ }
120
+ }
121
+ /**
122
+ * Advance time to when the next timer fires.
123
+ * Returns the fired timer, or undefined if no timers are pending.
124
+ */
125
+ async advanceToNextTimer() {
126
+ const next = this.nextTimer;
127
+ if (!next)
128
+ return undefined;
129
+ const fired = await this.advanceTo(next.expiresAt);
130
+ return fired[0];
131
+ }
132
+ /**
133
+ * Advance time to fire exactly n timers.
134
+ * Useful for stepping through timer-based workflows.
135
+ */
136
+ async advanceToFireCount(count) {
137
+ const fired = [];
138
+ for (let i = 0; i < count && this.pendingCount > 0; i++) {
139
+ const result = await this.advanceToNextTimer();
140
+ if (result)
141
+ fired.push(result);
142
+ }
143
+ return fired;
144
+ }
145
+ /**
146
+ * Check if any timer will fire within the given duration.
147
+ */
148
+ hasTimerWithin(ms) {
149
+ const threshold = new Date(this._currentTime.getTime() + ms);
150
+ return this.pendingTimers.some(t => t.expiresAt <= threshold);
151
+ }
152
+ /**
153
+ * Reset the clock to a specific time without firing timers.
154
+ * Useful for test setup.
155
+ */
156
+ reset(time) {
157
+ this._currentTime = time ?? new Date();
158
+ }
159
+ }
160
+ /**
161
+ * Create a test clock from a timer scheduler.
162
+ */
163
+ export function createTestClock(scheduler, startTime) {
164
+ return new TestClock(scheduler, startTime);
165
+ }
166
+ //# sourceMappingURL=clock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock.js","sourceRoot":"","sources":["../../../src/process/testing/clock.ts"],"names":[],"mappings":"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"}