@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,150 @@
1
+ /**
2
+ * ScheduledTaskRepository
3
+ *
4
+ * Abstract repository for scheduled tasks. Extends ModelRepository with
5
+ * scheduling-specific methods.
6
+ *
7
+ * Implementations (PostgreSQL, Redis, in-memory) provide:
8
+ * - Durable storage of scheduled tasks
9
+ * - Exactly-once pickup semantics via locking
10
+ * - Subscription for task delivery via async iteration
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // Schedule a task
15
+ * const task = await scheduler.schedule({
16
+ * dueAt: new Date(Date.now() + 60_000),
17
+ * namespace: 'process',
18
+ * type: 'delay',
19
+ * payload: { processId: 'abc' },
20
+ * })
21
+ *
22
+ * // Cancel if needed
23
+ * await scheduler.cancel(task.id)
24
+ *
25
+ * // Subscribe and process tasks
26
+ * for await (const task of scheduler.subscribe('process.delay')) {
27
+ * await handleTask(task)
28
+ * }
29
+ * ```
30
+ */
31
+ import { ModelRepository } from '../model.repository.js';
32
+ import type { Persistent } from '../types.js';
33
+ import { ScheduledTask } from './scheduled-task.js';
34
+ /**
35
+ * Options for scheduling a task.
36
+ */
37
+ export interface ScheduleOptions<TPayload = unknown> {
38
+ /** When the task should be executed */
39
+ dueAt: Date;
40
+ /** Task namespace (e.g., 'process', 'email') */
41
+ namespace: string;
42
+ /** Task type within namespace (e.g., 'delay', 'reminder') */
43
+ type: string;
44
+ /** Task payload data */
45
+ payload: TPayload;
46
+ }
47
+ /**
48
+ * Abstract repository for scheduled tasks.
49
+ *
50
+ * Extends ModelRepository<ScheduledTask> with scheduling-specific operations.
51
+ * Implementations handle the actual storage and delivery mechanism.
52
+ */
53
+ export declare abstract class ScheduledTaskRepository extends ModelRepository<ScheduledTask> {
54
+ /**
55
+ * Schedule a new task.
56
+ *
57
+ * Creates a task that will be delivered to subscribers of the qualified name
58
+ * (namespace.type) when the dueAt time is reached.
59
+ *
60
+ * @param options - Task scheduling options
61
+ * @returns The created task with ID and metadata
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * const task = await scheduler.schedule({
66
+ * dueAt: new Date(Date.now() + hours(24).ms),
67
+ * namespace: 'process',
68
+ * type: 'delay',
69
+ * payload: { processId: '123', instanceId: 'abc' },
70
+ * })
71
+ * ```
72
+ */
73
+ abstract schedule<TPayload = unknown>(options: ScheduleOptions<TPayload>): Promise<Persistent<ScheduledTask>>;
74
+ /**
75
+ * Cancel a scheduled task.
76
+ *
77
+ * Can only cancel tasks that are still pending (not yet picked up).
78
+ *
79
+ * @param taskId - The task ID to cancel
80
+ * @returns true if cancelled, false if not found or already processing
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * const cancelled = await scheduler.cancel(task.id)
85
+ * if (!cancelled) {
86
+ * console.log('Task already started or not found')
87
+ * }
88
+ * ```
89
+ */
90
+ abstract cancel(taskId: string): Promise<boolean>;
91
+ /**
92
+ * Subscribe to tasks by qualified name.
93
+ *
94
+ * Returns an async iterable that yields tasks as they become due.
95
+ * Each task is yielded to exactly one subscriber (exactly-once delivery).
96
+ *
97
+ * The implementation handles:
98
+ * - Polling or push-based delivery (implementation-specific)
99
+ * - Locking to ensure exactly-once pickup
100
+ * - Marking tasks as completed after successful processing
101
+ *
102
+ * To stop subscribing, break out of the loop or use AbortController.
103
+ *
104
+ * @param qualifiedName - The namespace.type to subscribe to (e.g., 'process.delay')
105
+ * @param options - Optional subscription options
106
+ * @returns Async iterable of tasks
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * // Basic subscription
111
+ * for await (const task of scheduler.subscribe('process.delay')) {
112
+ * await resumeProcess(task.payload as ProcessPayload)
113
+ * // Task is automatically marked completed after successful handling
114
+ * }
115
+ *
116
+ * // With abort controller for graceful shutdown
117
+ * const controller = new AbortController()
118
+ * process.on('SIGTERM', () => controller.abort())
119
+ *
120
+ * for await (const task of scheduler.subscribe('process.delay', {
121
+ * signal: controller.signal,
122
+ * })) {
123
+ * await handleTask(task)
124
+ * }
125
+ * ```
126
+ */
127
+ abstract subscribe(qualifiedName: string, options?: SubscribeOptions): AsyncIterable<Persistent<ScheduledTask>>;
128
+ }
129
+ /**
130
+ * Options for subscribing to tasks.
131
+ */
132
+ export interface SubscribeOptions {
133
+ /** AbortSignal for graceful shutdown */
134
+ signal?: AbortSignal;
135
+ /** Polling interval in ms (for polling-based implementations) */
136
+ pollInterval?: number;
137
+ /**
138
+ * Reset tasks stuck in Processing status longer than this many ms back
139
+ * to Pending so they can be re-delivered. Guards against worker crashes
140
+ * that leave rows claimed but never completed. Defaults to 10 minutes;
141
+ * pass a number to override or `false` to disable auto-recovery.
142
+ */
143
+ stuckAfterMs?: number | false;
144
+ /**
145
+ * How often to check for stuck tasks (ms). Defaults to 60_000 (once per
146
+ * minute); ignored when `stuckAfterMs: false`.
147
+ */
148
+ stuckCheckEveryMs?: number;
149
+ }
150
+ //# sourceMappingURL=scheduled-task.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduled-task.repository.d.ts","sourceRoot":"","sources":["../../../src/models/scheduled-task/scheduled-task.repository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,QAAQ,GAAG,OAAO;IACjD,uCAAuC;IACvC,KAAK,EAAE,IAAI,CAAA;IACX,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAA;IACjB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;IACZ,wBAAwB;IACxB,OAAO,EAAE,QAAQ,CAAA;CAClB;AAED;;;;;GAKG;AACH,8BAAsB,uBAAwB,SAAQ,eAAe,CAAC,aAAa,CAAC;IAClF;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,QAAQ,CAAC,QAAQ,GAAG,OAAO,EAClC,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,GACjC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAErC;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,QAAQ,CAAC,SAAS,CAChB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACzB,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAC7B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * ScheduledTaskRepository
3
+ *
4
+ * Abstract repository for scheduled tasks. Extends ModelRepository with
5
+ * scheduling-specific methods.
6
+ *
7
+ * Implementations (PostgreSQL, Redis, in-memory) provide:
8
+ * - Durable storage of scheduled tasks
9
+ * - Exactly-once pickup semantics via locking
10
+ * - Subscription for task delivery via async iteration
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // Schedule a task
15
+ * const task = await scheduler.schedule({
16
+ * dueAt: new Date(Date.now() + 60_000),
17
+ * namespace: 'process',
18
+ * type: 'delay',
19
+ * payload: { processId: 'abc' },
20
+ * })
21
+ *
22
+ * // Cancel if needed
23
+ * await scheduler.cancel(task.id)
24
+ *
25
+ * // Subscribe and process tasks
26
+ * for await (const task of scheduler.subscribe('process.delay')) {
27
+ * await handleTask(task)
28
+ * }
29
+ * ```
30
+ */
31
+ import { ModelRepository } from '../model.repository.js';
32
+ /**
33
+ * Abstract repository for scheduled tasks.
34
+ *
35
+ * Extends ModelRepository<ScheduledTask> with scheduling-specific operations.
36
+ * Implementations handle the actual storage and delivery mechanism.
37
+ */
38
+ export class ScheduledTaskRepository extends ModelRepository {
39
+ }
40
+ //# sourceMappingURL=scheduled-task.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduled-task.repository.js","sourceRoot":"","sources":["../../../src/models/scheduled-task/scheduled-task.repository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAkBzD;;;;;GAKG;AACH,MAAM,OAAgB,uBAAwB,SAAQ,eAA8B;CAkFnF"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Stream Field Implementation
3
+ *
4
+ * Provides pub/sub streams as first-class model fields.
5
+ * Streams are AsyncIterable<T> for subscription and have a publish() method.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const Room = defineModel('Room', {
10
+ * name: field.string(),
11
+ * messages: field.stream(ChatMessage),
12
+ * })
13
+ *
14
+ * // Subscribe
15
+ * for await (const msg of room.messages) {
16
+ * console.log(msg.text)
17
+ * }
18
+ *
19
+ * // Publish
20
+ * room.messages.publish({ user: userRef, text: 'hello' })
21
+ * ```
22
+ */
23
+ import type { ChannelSubscription } from '../features/channel/types.js';
24
+ /** Symbol to mark an object as a Stream */
25
+ export declare const STREAM: unique symbol;
26
+ /** Symbol-keyed method to attach channel (internal use by repository) */
27
+ export declare const SET_STREAM_CHANNEL: unique symbol;
28
+ /** Symbol-keyed method to attach signal emitter for process wakeup */
29
+ export declare const SET_STREAM_SIGNAL_EMITTER: unique symbol;
30
+ /**
31
+ * A stream field that provides pub/sub messaging on a model.
32
+ *
33
+ * Implements AsyncIterable<T> for subscription via `for await...of`.
34
+ * Provides publish() method for broadcasting messages.
35
+ * Implements Disposable for cleanup via `using` syntax.
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * // Subscribe to messages
40
+ * for await (const msg of room.messages) {
41
+ * console.log(msg.text)
42
+ * }
43
+ *
44
+ * // Publish a message
45
+ * room.messages.publish({ user: userRef, text: 'hello' })
46
+ *
47
+ * // Manual cleanup (or use `using` on entity)
48
+ * room.messages.disconnect()
49
+ * ```
50
+ */
51
+ export interface Stream<T> extends AsyncIterable<T>, Disposable {
52
+ readonly [STREAM]: true;
53
+ /**
54
+ * Async iterator - enables `for await (const msg of stream) { ... }`
55
+ * Delegates to underlying channel's async iterator.
56
+ */
57
+ [Symbol.asyncIterator](): AsyncIterator<T>;
58
+ /**
59
+ * Publish a message to all subscribers.
60
+ *
61
+ * For protected streams, requires the entity to be locked.
62
+ *
63
+ * @throws Error if stream is not connected (entity not from repository)
64
+ * @throws Error if stream is protected and entity is not locked
65
+ */
66
+ publish(message: T): void;
67
+ /** Check if stream has active channel connection */
68
+ readonly isConnected: boolean;
69
+ /**
70
+ * Disconnect from the channel and clean up resources.
71
+ * Safe to call multiple times.
72
+ */
73
+ disconnect(): void;
74
+ }
75
+ /**
76
+ * Stream implementation that wraps a channel subscription.
77
+ * Created by repository during entity hydration.
78
+ */
79
+ export declare class StreamImpl<T> implements Stream<T> {
80
+ readonly [STREAM]: true;
81
+ private channel;
82
+ private publishFn;
83
+ private readonly protectedMode;
84
+ private lockChecker;
85
+ /** Signal emitter for waking up processes waiting on stream() */
86
+ private signalEmitter;
87
+ /** Channel key for signal emission (tableName:entityId:fieldName) */
88
+ private channelKey;
89
+ constructor(isProtected: boolean);
90
+ /**
91
+ * Attach the channel subscription and publish function.
92
+ * Called by repository during entity hydration.
93
+ *
94
+ * @internal
95
+ */
96
+ [SET_STREAM_CHANNEL](channel: ChannelSubscription<T>, publish: (msg: T) => void, lockChecker?: () => boolean): void;
97
+ /**
98
+ * Attach a signal emitter for process wakeup.
99
+ * When publish() is called, this emitter is invoked to wake up any
100
+ * processes that are suspended on stream(r, entity.field).
101
+ *
102
+ * Called by repository during entity hydration when SignalBus is available.
103
+ *
104
+ * @internal
105
+ */
106
+ [SET_STREAM_SIGNAL_EMITTER](channelKey: string, emitter: (channelKey: string, message: T) => void): void;
107
+ /**
108
+ * Async generator that delegates to the channel's async iterator.
109
+ * Uses `yield*` to forward all messages from the underlying channel.
110
+ */
111
+ [Symbol.asyncIterator](): AsyncIterator<T>;
112
+ publish(message: T): void;
113
+ get isConnected(): boolean;
114
+ /**
115
+ * Disconnect from the channel and clean up resources.
116
+ * Unsubscribes from the underlying channel subscription.
117
+ * Safe to call multiple times.
118
+ */
119
+ disconnect(): void;
120
+ /**
121
+ * Disposable implementation for `using` syntax.
122
+ * Automatically cleans up when the stream goes out of scope.
123
+ */
124
+ [Symbol.dispose](): void;
125
+ }
126
+ /**
127
+ * Check if a value is a Stream.
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * if (isStream(value)) {
132
+ * for await (const msg of value) {
133
+ * console.log(msg)
134
+ * }
135
+ * }
136
+ * ```
137
+ */
138
+ export declare function isStream(value: unknown): value is Stream<unknown>;
139
+ //# sourceMappingURL=stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/models/stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAMxE,2CAA2C;AAC3C,eAAO,MAAM,MAAM,eAA0B,CAAC;AAE9C,yEAAyE;AACzE,eAAO,MAAM,kBAAkB,eAAqC,CAAC;AAErE,sEAAsE;AACtE,eAAO,MAAM,yBAAyB,eAA2C,CAAC;AAMlF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU;IAC7D,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAA;IAEvB;;;OAGG;IACH,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA;IAE1C;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAA;IAEzB,oDAAoD;IACpD,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAE7B;;;OAGG;IACH,UAAU,IAAI,IAAI,CAAA;CACnB;AAMD;;;GAGG;AACH,qBAAa,UAAU,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAG,IAAI,CAAU;IAElC,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,WAAW,CAAgC;IAEnD,iEAAiE;IACjE,OAAO,CAAC,aAAa,CAA2D;IAChF,qEAAqE;IACrE,OAAO,CAAC,UAAU,CAAuB;gBAE7B,WAAW,EAAE,OAAO;IAIhC;;;;;OAKG;IACH,CAAC,kBAAkB,CAAC,CAClB,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAC/B,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EACzB,WAAW,CAAC,EAAE,MAAM,OAAO,GAC1B,IAAI;IAMP;;;;;;;;OAQG;IACH,CAAC,yBAAyB,CAAC,CACzB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,IAAI,GAChD,IAAI;IAKP;;;OAGG;IACI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;IASjD,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI;IAuBzB,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;;OAIG;IACH,UAAU,IAAI,IAAI;IAWlB;;;OAGG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;CAGzB;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,CAEjE"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Stream Field Implementation
3
+ *
4
+ * Provides pub/sub streams as first-class model fields.
5
+ * Streams are AsyncIterable<T> for subscription and have a publish() method.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const Room = defineModel('Room', {
10
+ * name: field.string(),
11
+ * messages: field.stream(ChatMessage),
12
+ * })
13
+ *
14
+ * // Subscribe
15
+ * for await (const msg of room.messages) {
16
+ * console.log(msg.text)
17
+ * }
18
+ *
19
+ * // Publish
20
+ * room.messages.publish({ user: userRef, text: 'hello' })
21
+ * ```
22
+ */
23
+ // ============================================================================
24
+ // Symbols
25
+ // ============================================================================
26
+ /** Symbol to mark an object as a Stream */
27
+ export const STREAM = Symbol('models:stream');
28
+ /** Symbol-keyed method to attach channel (internal use by repository) */
29
+ export const SET_STREAM_CHANNEL = Symbol('models:stream:setChannel');
30
+ /** Symbol-keyed method to attach signal emitter for process wakeup */
31
+ export const SET_STREAM_SIGNAL_EMITTER = Symbol('models:stream:setSignalEmitter');
32
+ // ============================================================================
33
+ // Stream Implementation
34
+ // ============================================================================
35
+ /**
36
+ * Stream implementation that wraps a channel subscription.
37
+ * Created by repository during entity hydration.
38
+ */
39
+ export class StreamImpl {
40
+ [STREAM] = true;
41
+ channel = null;
42
+ publishFn = null;
43
+ protectedMode;
44
+ lockChecker = null;
45
+ /** Signal emitter for waking up processes waiting on stream() */
46
+ signalEmitter = null;
47
+ /** Channel key for signal emission (tableName:entityId:fieldName) */
48
+ channelKey = null;
49
+ constructor(isProtected) {
50
+ this.protectedMode = isProtected;
51
+ }
52
+ /**
53
+ * Attach the channel subscription and publish function.
54
+ * Called by repository during entity hydration.
55
+ *
56
+ * @internal
57
+ */
58
+ [SET_STREAM_CHANNEL](channel, publish, lockChecker) {
59
+ this.channel = channel;
60
+ this.publishFn = publish;
61
+ this.lockChecker = lockChecker ?? null;
62
+ }
63
+ /**
64
+ * Attach a signal emitter for process wakeup.
65
+ * When publish() is called, this emitter is invoked to wake up any
66
+ * processes that are suspended on stream(r, entity.field).
67
+ *
68
+ * Called by repository during entity hydration when SignalBus is available.
69
+ *
70
+ * @internal
71
+ */
72
+ [SET_STREAM_SIGNAL_EMITTER](channelKey, emitter) {
73
+ this.channelKey = channelKey;
74
+ this.signalEmitter = emitter;
75
+ }
76
+ /**
77
+ * Async generator that delegates to the channel's async iterator.
78
+ * Uses `yield*` to forward all messages from the underlying channel.
79
+ */
80
+ async *[Symbol.asyncIterator]() {
81
+ if (!this.channel) {
82
+ throw new Error('Stream not connected. Ensure entity is loaded via repository.');
83
+ }
84
+ // Delegate to channel's async iterator
85
+ // Channel's [Symbol.asyncIterator] yields messages as they arrive.
86
+ yield* this.channel;
87
+ }
88
+ publish(message) {
89
+ if (!this.publishFn) {
90
+ throw new Error('Stream not connected. Ensure entity is loaded via repository.');
91
+ }
92
+ if (this.protectedMode && this.lockChecker && !this.lockChecker()) {
93
+ throw new Error('Protected stream requires Lock<T> to publish.');
94
+ }
95
+ // Publish to local subscribers (channel)
96
+ this.publishFn(message);
97
+ // Emit signal for process wakeup (if configured)
98
+ // This wakes up any processes waiting on stream(r, entity.field)
99
+ if (this.signalEmitter && this.channelKey) {
100
+ try {
101
+ this.signalEmitter(this.channelKey, message);
102
+ }
103
+ catch (err) {
104
+ // Don't let signal emission failure break the publish
105
+ console.error('[Stream] Signal emission failed:', err);
106
+ }
107
+ }
108
+ }
109
+ get isConnected() {
110
+ return this.channel !== null && this.publishFn !== null;
111
+ }
112
+ /**
113
+ * Disconnect from the channel and clean up resources.
114
+ * Unsubscribes from the underlying channel subscription.
115
+ * Safe to call multiple times.
116
+ */
117
+ disconnect() {
118
+ if (this.channel) {
119
+ this.channel.unsubscribe();
120
+ this.channel = null;
121
+ }
122
+ this.publishFn = null;
123
+ this.lockChecker = null;
124
+ this.signalEmitter = null;
125
+ this.channelKey = null;
126
+ }
127
+ /**
128
+ * Disposable implementation for `using` syntax.
129
+ * Automatically cleans up when the stream goes out of scope.
130
+ */
131
+ [Symbol.dispose]() {
132
+ this.disconnect();
133
+ }
134
+ }
135
+ // ============================================================================
136
+ // Type Guards
137
+ // ============================================================================
138
+ /**
139
+ * Check if a value is a Stream.
140
+ *
141
+ * @example
142
+ * ```typescript
143
+ * if (isStream(value)) {
144
+ * for await (const msg of value) {
145
+ * console.log(msg)
146
+ * }
147
+ * }
148
+ * ```
149
+ */
150
+ export function isStream(value) {
151
+ return typeof value === 'object' && value !== null && STREAM in value;
152
+ }
153
+ //# sourceMappingURL=stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/models/stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,2CAA2C;AAC3C,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAE9C,yEAAyE;AACzE,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAErE,sEAAsE;AACtE,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,gCAAgC,CAAC,CAAC;AAwDlF,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,OAAO,UAAU;IACZ,CAAC,MAAM,CAAC,GAAG,IAAa,CAAC;IAE1B,OAAO,GAAkC,IAAI,CAAC;IAC9C,SAAS,GAA8B,IAAI,CAAC;IACnC,aAAa,CAAU;IAChC,WAAW,GAA2B,IAAI,CAAC;IAEnD,iEAAiE;IACzD,aAAa,GAAsD,IAAI,CAAC;IAChF,qEAAqE;IAC7D,UAAU,GAAkB,IAAI,CAAC;IAEzC,YAAY,WAAoB;QAC9B,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,CAAC,kBAAkB,CAAC,CAClB,OAA+B,EAC/B,OAAyB,EACzB,WAA2B;QAE3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC;IACzC,CAAC;IAED;;;;;;;;OAQG;IACH,CAAC,yBAAyB,CAAC,CACzB,UAAkB,EAClB,OAAiD;QAEjD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QACD,uCAAuC;QACvC,mEAAmE;QACnE,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,OAAU;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAExB,iDAAiD;QACjD,iEAAiE;QACjE,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,sDAAsD;gBACtD,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;CACF;AAED,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC;AACxE,CAAC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Symbols for internal metadata on models.
3
+ *
4
+ * Most use plain Symbol() to avoid cross-version collisions - each
5
+ * package version has its own symbols, so mismatched metadata shapes
6
+ * never cause silent data corruption. Cross-module symbols that must
7
+ * survive HMR use Symbol.for() instead.
8
+ */
9
+ /** Symbol to access model internals (schema, dirty tracking, etc.) */
10
+ export declare const MODEL_INTERNALS: unique symbol;
11
+ /** Symbol to access observable internals (dirty tracking, etc.) */
12
+ export declare const OBSERVABLE_META: unique symbol;
13
+ /** Symbol to mark an object as a Reference */
14
+ export declare const REFERENCE: unique symbol;
15
+ /** Symbol to mark an object as a References collection */
16
+ export declare const REFERENCES: unique symbol;
17
+ /** Symbol for internal reference ID storage */
18
+ export declare const REF_ID: unique symbol;
19
+ /** Symbol for internal reference IDs storage (plural) */
20
+ export declare const REF_IDS: unique symbol;
21
+ /** Symbol for cached resolved value */
22
+ export declare const REF_VALUE: unique symbol;
23
+ /** Symbol for cached resolved values (plural) */
24
+ export declare const REF_VALUES: unique symbol;
25
+ /** Symbol for resolver function */
26
+ export declare const REF_RESOLVER: unique symbol;
27
+ /** Symbol-keyed method to attach resolver (internal use) */
28
+ export declare const SET_RESOLVER: unique symbol;
29
+ /** Symbol-keyed method to hydrate a reference with a pre-loaded value (internal use) */
30
+ export declare const HYDRATE: unique symbol;
31
+ /** Symbol to mark an object as a TransientRef */
32
+ export declare const TRANSIENT_REF: unique symbol;
33
+ /** Symbol for internal transient target storage */
34
+ export declare const TRANSIENT_TARGET: unique symbol;
35
+ /** Symbol to mark an instance as persisted (stored by an adapter) */
36
+ export declare const PERSISTENT: unique symbol;
37
+ /** Symbol for adapter-stored key on a persistent entity (non-enumerable) */
38
+ export declare const ADAPTER_KEY: unique symbol;
39
+ /** Symbol to mark an instance as transient (not yet saved) */
40
+ export declare const TRANSIENT: unique symbol;
41
+ /** Symbol to mark an instance as locked (for safe mutations) */
42
+ export declare const LOCK: unique symbol;
43
+ /** Symbol for internal field storage on model instances */
44
+ export declare const FIELD_STORAGE: unique symbol;
45
+ /** Symbol for model context (registry, resolvers, etc.) */
46
+ export declare const MODEL_CONTEXT: unique symbol;
47
+ /** Symbol for model methods (type-level only, for extraction by Persistent/Transient) */
48
+ export declare const MODEL_METHODS: unique symbol;
49
+ /** Symbol to store the base model on a repository token */
50
+ export declare const MODEL_REPO_MODEL: unique symbol;
51
+ /** Symbol for custom repository that links to base ModelRepository token */
52
+ export declare const MODEL_REPO_BASE_TOKEN: unique symbol;
53
+ /** Symbol for storage model factory (creates repository from deps) */
54
+ export declare const CREATE_MODEL_REPO: unique symbol;
55
+ /** Symbol to store custom repository contract type on a model */
56
+ export declare const MODEL_REPO_CONTRACT: unique symbol;
57
+ /** Symbol to store field-level access rules on a model class */
58
+ export declare const ACCESS_RULES: unique symbol;
59
+ /** Symbol to store the raw permission defs record on a model class (for access rule evaluation) */
60
+ export declare const PERMISSION_DEFS: unique symbol;
61
+ /**
62
+ * Symbol to store inject config on a model class.
63
+ * Contains the raw { key: ServiceToken } map from defineModel({ inject }).
64
+ * Symbol.for() for cross-module matching.
65
+ */
66
+ export declare const MODEL_INJECT: unique symbol;
67
+ /**
68
+ * Symbol to store the resolved model service on a model class.
69
+ * The model service is Object.create(ModelClass.prototype) with resolved inject deps.
70
+ * Set during boot by Container.wireModelPrototypes().
71
+ */
72
+ export declare const MODEL_SERVICE: unique symbol;
73
+ //# sourceMappingURL=symbols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/models/symbols.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,sEAAsE;AACtE,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD,mEAAmE;AACnE,eAAO,MAAM,eAAe,eAA4B,CAAC;AAMzD,8CAA8C;AAC9C,eAAO,MAAM,SAAS,eAA6B,CAAC;AAEpD,0DAA0D;AAC1D,eAAO,MAAM,UAAU,eAA8B,CAAC;AAEtD,+CAA+C;AAC/C,eAAO,MAAM,MAAM,eAA0B,CAAC;AAE9C,yDAAyD;AACzD,eAAO,MAAM,OAAO,eAA4B,CAAC;AAEjD,uCAAuC;AACvC,eAAO,MAAM,SAAS,eAA6B,CAAC;AAEpD,iDAAiD;AACjD,eAAO,MAAM,UAAU,eAA+B,CAAC;AAEvD,mCAAmC;AACnC,eAAO,MAAM,YAAY,eAAgC,CAAC;AAE1D,4DAA4D;AAC5D,eAAO,MAAM,YAAY,eAAmC,CAAC;AAE7D,wFAAwF;AACxF,eAAO,MAAM,OAAO,eAA+B,CAAC;AAMpD,iDAAiD;AACjD,eAAO,MAAM,aAAa,eAAgC,CAAC;AAE3D,mDAAmD;AACnD,eAAO,MAAM,gBAAgB,eAAuC,CAAC;AAMrE,qEAAqE;AACrE,eAAO,MAAM,UAAU,eAA8B,CAAC;AAEtD,4EAA4E;AAC5E,eAAO,MAAM,WAAW,eAA8B,CAAC;AAEvD,8DAA8D;AAC9D,eAAO,MAAM,SAAS,eAA6B,CAAC;AAEpD,gEAAgE;AAChE,eAAO,MAAM,IAAI,eAAwB,CAAC;AAM1C,2DAA2D;AAC3D,eAAO,MAAM,aAAa,eAAgC,CAAC;AAE3D,2DAA2D;AAC3D,eAAO,MAAM,aAAa,eAAgC,CAAC;AAE3D,yFAAyF;AACzF,eAAO,MAAM,aAAa,eAAgC,CAAC;AAM3D,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB,eAAkC,CAAC;AAEhE,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,eAAsC,CAAC;AAEzE,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,eAAmC,CAAC;AAElE,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,eAAqC,CAAC;AAMtE,gEAAgE;AAChE,eAAO,MAAM,YAAY,eAA+B,CAAC;AAEzD,mGAAmG;AACnG,eAAO,MAAM,eAAe,eAAkC,CAAC;AAM/D;;;;GAIG;AACH,eAAO,MAAM,YAAY,eAAmD,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,aAAa,eAAoD,CAAC"}