@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,86 @@
1
+ /**
2
+ * @justscale/core/models
3
+ *
4
+ * Model definition and observable tracking for justscale.
5
+ *
6
+ * Provides:
7
+ * - defineModel() - Define typed models with field schemas
8
+ * - field - Field builders for model definitions
9
+ * - Reference/References - Promise-like references to other models
10
+ * - Persistent - Type helper for persisted models with storage fields
11
+ * - createObservable() - Creates standalone observable with dirty tracking
12
+ * - watch() - Watch for changes with callback or async iterator
13
+ */
14
+ // Symbols
15
+ export {
16
+ // Legacy observable symbols (kept for compatibility)
17
+ MODEL_INTERNALS, OBSERVABLE_META,
18
+ // Reference symbols (SET_RESOLVER exported from reference/reference.js)
19
+ REFERENCE, REFERENCES, REF_ID, REF_IDS, REF_VALUE, REF_VALUES, REF_RESOLVER,
20
+ // Transient reference symbols
21
+ TRANSIENT_REF, TRANSIENT_TARGET,
22
+ // Instance state symbols (runtime type safety)
23
+ PERSISTENT, ADAPTER_KEY, LOCK,
24
+ // Internal storage symbols
25
+ FIELD_STORAGE, MODEL_CONTEXT,
26
+ // ModelRepository token symbols
27
+ MODEL_REPO_MODEL, MODEL_REPO_BASE_TOKEN, CREATE_MODEL_REPO, MODEL_REPO_CONTRACT, ACCESS_RULES, } from './symbols.js';
28
+ export { filterByAccess, getAccessRules } from './access.js';
29
+ // Re-export REPO_TOKEN from repository for convenience
30
+ export { REPO_TOKEN } from './repository.js';
31
+ // Model definition symbols
32
+ export { MODEL_DEF, MODEL_FIELDS, MODEL_NAME, MODEL_DATA, MODEL_METHODS, MODEL_INJECT, MODEL_SERVICE } from './define-model.js';
33
+ // Type guards for runtime checks
34
+ export { isPersistent, isLocked, isTransient } from './types.js';
35
+ // ============================================================================
36
+ // Model Definition (defineModel)
37
+ // ============================================================================
38
+ // Define models with typed fields
39
+ export { BaseModel, defineModel, isModelClass, getModelFields, getModelName, registerModelForInjection, getModelsWithInject, } from './define-model.js';
40
+ export { registerModelByName, getModelByName, getModelNameRegistry, } from './model-name-registry.js';
41
+ export { applyTypesConfig, registerModelRefResolver } from './apply-types-config.js';
42
+ // Field builders
43
+ export { field, isFieldDef, FIELD_DEF, } from './field.js';
44
+ // Stream fields
45
+ export { STREAM, SET_STREAM_CHANNEL, SET_STREAM_SIGNAL_EMITTER, StreamImpl, isStream } from './stream.js';
46
+ // Reference system
47
+ export { Reference, References, isReference, isReferences, SET_RESOLVER, HYDRATE } from './reference/reference.js';
48
+ // Transient references (for unsaved entities)
49
+ export { TransientRef, isTransientRef } from './reference/transient-ref.js';
50
+ // Zod with z.ref() for Ref<T> validation
51
+ export { z, zRef } from './zod-ref.js';
52
+ // ============================================================================
53
+ // Observable & Model Instance (legacy)
54
+ // ============================================================================
55
+ // Model instance creation (internal - for defining models, use @justscale/live-model)
56
+ export { getModelInternals, isModel } from './model.js';
57
+ // Observable creation (from @justscale/observable)
58
+ export { createObservable, getObservableInternals, isObservable } from './observable.js';
59
+ // Proxy utilities (for advanced use/testing)
60
+ export { createTrackedProxy, getProxyMeta, isTrackedProxy } from './proxy.js';
61
+ // Watch functionality (from @justscale/observable)
62
+ export { watch, } from './watch.js';
63
+ // ============================================================================
64
+ // Query System
65
+ // ============================================================================
66
+ // Query helpers namespace
67
+ export { q, CONDITION, AGGREGATION, isCondition, isAggregation, createFieldExpr, refId } from './query.js';
68
+ // Field expression classes
69
+ export { StringFieldExpr, NumberFieldExpr, BigIntFieldExpr, DecimalFieldExpr, BooleanFieldExpr, TimestampFieldExpr, UuidFieldExpr, EnumFieldExpr, RefFieldExpr, RefsFieldExpr, ArrayFieldExpr, JsonFieldExpr, ObjectFieldExpr, } from './query.js';
70
+ // Order by helpers
71
+ export { ORDER_BY, isOrderByItem } from './query.js';
72
+ // Ref traversal (permission multi-hop)
73
+ export { isRefTraversal } from './query.js';
74
+ // ============================================================================
75
+ // ModelRepository
76
+ // ============================================================================
77
+ export { ModelRepository, isModelRepositoryToken } from './model.repository.js';
78
+ // ============================================================================
79
+ // In-Memory Adapter
80
+ // ============================================================================
81
+ export { InMemoryRepository, InMemoryScheduledTaskRepository, createInMemoryModel, createInMemoryRepository, } from './in-memory/index.js';
82
+ // ============================================================================
83
+ // Scheduled Tasks
84
+ // ============================================================================
85
+ export { ScheduledTask, ScheduledTaskStatus, ScheduledTaskRepository, } from './scheduled-task/index.js';
86
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Core model name registry.
3
+ *
4
+ * Maps model names to model classes. Used by the Reference deserializer
5
+ * to recreate typed refs via Model.ref(id) during process state restoration.
6
+ *
7
+ * Populated by adapters (createPgModel, createInMemoryModel) at registration time.
8
+ */
9
+ import type { Reference } from './reference/reference.js';
10
+ export interface RegisteredModel {
11
+ ref: (id: string) => Reference<unknown>;
12
+ }
13
+ export declare function registerModelByName(name: string, model: RegisteredModel): void;
14
+ export declare function getModelByName(name: string): RegisteredModel | undefined;
15
+ export declare function getModelNameRegistry(): ReadonlyMap<string, RegisteredModel>;
16
+ //# sourceMappingURL=model-name-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-name-registry.d.ts","sourceRoot":"","sources":["../../src/models/model-name-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC;CACzC;AAID,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAE9E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAExE;AAED,wBAAgB,oBAAoB,IAAI,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAE3E"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Core model name registry.
3
+ *
4
+ * Maps model names to model classes. Used by the Reference deserializer
5
+ * to recreate typed refs via Model.ref(id) during process state restoration.
6
+ *
7
+ * Populated by adapters (createPgModel, createInMemoryModel) at registration time.
8
+ */
9
+ const registry = new Map();
10
+ export function registerModelByName(name, model) {
11
+ registry.set(name, model);
12
+ }
13
+ export function getModelByName(name) {
14
+ return registry.get(name);
15
+ }
16
+ export function getModelNameRegistry() {
17
+ return registry;
18
+ }
19
+ //# sourceMappingURL=model-name-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-name-registry.js","sourceRoot":"","sources":["../../src/models/model-name-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;AAEpD,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,KAAsB;IACtE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { z } from 'zod';
2
+ import type { Model, ModelInternals } from './types.js';
3
+ /**
4
+ * Create a model instance with schema validation and dirty tracking.
5
+ */
6
+ export declare function createModelInstance<S extends z.ZodTypeAny>(schema: S, input?: z.input<S>): Model<z.output<S>>;
7
+ /**
8
+ * Helper to get model internals
9
+ */
10
+ export declare function getModelInternals<T>(model: Model<T>): ModelInternals<T>;
11
+ /**
12
+ * Type guard to check if a value is a model
13
+ */
14
+ export declare function isModel<T>(value: unknown): value is Model<T>;
15
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/models/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA0DxD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACxD,MAAM,EAAE,CAAC,EACT,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GACjB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAuDpB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAEvE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAE5D"}
@@ -0,0 +1,114 @@
1
+ import { createTrackedProxy } from './proxy.js';
2
+ import { MODEL_INTERNALS } from './symbols.js';
3
+ // Deep traverse to ensure all nested objects are proxied and parent refs registered
4
+ function deepTraverse(obj, visited = new WeakSet()) {
5
+ if (obj === null || typeof obj !== 'object')
6
+ return;
7
+ if (visited.has(obj))
8
+ return; // Prevent infinite loops on circular refs
9
+ visited.add(obj);
10
+ if (Array.isArray(obj)) {
11
+ for (let i = 0; i < obj.length; i++) {
12
+ deepTraverse(obj[i], visited);
13
+ }
14
+ }
15
+ else {
16
+ for (const key of Object.keys(obj)) {
17
+ deepTraverse(obj[key], visited);
18
+ }
19
+ }
20
+ }
21
+ // Safe deep clone that handles proxies (skips them as they can't be cloned)
22
+ function safeDeepClone(obj) {
23
+ try {
24
+ return structuredClone(obj);
25
+ }
26
+ catch {
27
+ // If structuredClone fails (e.g., proxies), do manual clone
28
+ return manualDeepClone(obj);
29
+ }
30
+ }
31
+ function manualDeepClone(obj, visited = new WeakMap()) {
32
+ if (obj === null || typeof obj !== 'object') {
33
+ return obj;
34
+ }
35
+ // Handle circular refs
36
+ if (visited.has(obj)) {
37
+ return visited.get(obj);
38
+ }
39
+ // For proxies, extract the underlying values
40
+ if (Array.isArray(obj)) {
41
+ const clone = [];
42
+ visited.set(obj, clone);
43
+ for (let i = 0; i < obj.length; i++) {
44
+ clone[i] = manualDeepClone(obj[i], visited);
45
+ }
46
+ return clone;
47
+ }
48
+ const clone = {};
49
+ visited.set(obj, clone);
50
+ for (const key of Object.keys(obj)) {
51
+ clone[key] = manualDeepClone(obj[key], visited);
52
+ }
53
+ return clone;
54
+ }
55
+ /**
56
+ * Create a model instance with schema validation and dirty tracking.
57
+ */
58
+ export function createModelInstance(schema, input) {
59
+ // Parse with defaults
60
+ const parsed = schema.parse(input ?? {});
61
+ const original = safeDeepClone(parsed);
62
+ const dirty = new Set();
63
+ // Create the root proxy
64
+ const proxy = createTrackedProxy(parsed, [], dirty);
65
+ // Traverse entire structure to ensure all proxies are created upfront
66
+ // This registers all parent refs for shared objects
67
+ deepTraverse(proxy);
68
+ const internals = {
69
+ schema,
70
+ dirty,
71
+ original,
72
+ markClean() {
73
+ dirty.clear();
74
+ },
75
+ isDirty() {
76
+ return dirty.size > 0;
77
+ },
78
+ getDirtyPaths() {
79
+ return [...dirty];
80
+ },
81
+ getDirtyData() {
82
+ const result = {};
83
+ for (const path of dirty) {
84
+ // Get top-level keys only for signal merging
85
+ const topKey = path.split('.')[0];
86
+ if (topKey && !(topKey in result)) {
87
+ result[topKey] = proxy[topKey];
88
+ }
89
+ }
90
+ return result;
91
+ },
92
+ };
93
+ // Attach internals directly to the underlying object (not via proxy)
94
+ Object.defineProperty(parsed, MODEL_INTERNALS, {
95
+ value: internals,
96
+ enumerable: false,
97
+ writable: false,
98
+ configurable: false,
99
+ });
100
+ return proxy;
101
+ }
102
+ /**
103
+ * Helper to get model internals
104
+ */
105
+ export function getModelInternals(model) {
106
+ return model[MODEL_INTERNALS];
107
+ }
108
+ /**
109
+ * Type guard to check if a value is a model
110
+ */
111
+ export function isModel(value) {
112
+ return value !== null && typeof value === 'object' && MODEL_INTERNALS in value;
113
+ }
114
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/models/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,318 @@
1
+ /**
2
+ * ModelRepository - Abstract Repository with Token System
3
+ *
4
+ * Base class for data access that works with the query system.
5
+ * Implementations (Postgres, SQLite, Memory) extend this.
6
+ *
7
+ * Key features:
8
+ * - ModelRepository<T> is the abstract contract for CRUD operations
9
+ * - ModelRepository.of(Model) creates a DI token for injection
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * // Get a token for dependency injection
14
+ * const userRepoToken = ModelRepository.of(User);
15
+ *
16
+ * // Domain service depends on the token
17
+ * const UserService = defineService({
18
+ * inject: { users: ModelRepository.of(User) },
19
+ * factory: ({ users }) => ({
20
+ * async findByEmail(email: string) {
21
+ * return users.findOne(User.fields.email.eq(email));
22
+ * },
23
+ * }),
24
+ * });
25
+ * ```
26
+ */
27
+ import type { Condition, FindOptions, Aggregation, OrderBy } from './query.js';
28
+ import type { Persistent, Locked, Ref, Transient, SystemFields, InsertData, UpdateData } from './types.js';
29
+ import type { LockOptions } from '../features/lock/types.js';
30
+ import type { DurableQueryIterable } from '../process/primitives.js';
31
+ import { BaseModel, type Model, type RepositoryContract } from './define-model.js';
32
+ import { Repository } from './repository.js';
33
+ import type { RepositoryToken } from './repository.js';
34
+ import { MODEL_REPO_MODEL, MODEL_REPO_CONTRACT } from './symbols.js';
35
+ type AnyModel = abstract new (...args: any[]) => BaseModel<any, any, any>;
36
+ export { MODEL_REPO_MODEL, MODEL_REPO_CONTRACT };
37
+ /**
38
+ * Extract repository contract from a model class.
39
+ */
40
+ export type ExtractContract<M> = M extends Model<any, any, infer C> ? C extends RepositoryContract<any> ? C : {} : {};
41
+ /**
42
+ * Extract the instance type from a model class.
43
+ * Since models are proper classes, we can use InstanceType directly.
44
+ */
45
+ export type ModelInstanceType<M> = M extends abstract new (...args: any[]) => infer T ? T : never;
46
+ /**
47
+ * A ModelRepository token for dependency injection.
48
+ *
49
+ * Extends the generic RepositoryToken from core with model-specific metadata.
50
+ * Created via ModelRepository.of(Model).
51
+ *
52
+ * If the model has a repository contract (via .withRepository()), the token
53
+ * type includes those methods in addition to the base ModelRepository methods.
54
+ */
55
+ export interface ModelRepositoryToken<T, C extends RepositoryContract<T> = {}> extends RepositoryToken<T, ModelRepository<T> & C> {
56
+ /** The model this token is for */
57
+ readonly [MODEL_REPO_MODEL]: Model<T>;
58
+ /** The contract type (type-level only) */
59
+ readonly [MODEL_REPO_CONTRACT]?: C;
60
+ }
61
+ export type { SystemFields, InsertData, UpdateData };
62
+ /**
63
+ * Abstract repository for model data access.
64
+ *
65
+ * Extends the generic Repository from core with model-specific operations
66
+ * like find, get, insert, update, delete, and query support.
67
+ *
68
+ * Implementations can be created for PostgreSQL, SQLite, in-memory, etc.
69
+ *
70
+ * @typeParam T - The entity type this repository manages
71
+ */
72
+ export declare abstract class ModelRepository<T> extends Repository<T> {
73
+ /**
74
+ * Find all entities matching the given options.
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * // Find all active users, ordered by creation date
79
+ * const users = await userRepo.find({
80
+ * where: User.fields.status.eq('active'),
81
+ * orderBy: [User.fields.createdAt.desc()],
82
+ * limit: 10,
83
+ * });
84
+ * ```
85
+ */
86
+ abstract find(options?: FindOptions<T>): Promise<Persistent<T>[]>;
87
+ /**
88
+ * Get an entity by its reference.
89
+ * This is the type-safe way to look up entities - you can't accidentally
90
+ * pass a User reference to a PostRepository.
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * const user = await users.get(User.ref`${userId}`) // Type-safe!
95
+ * ```
96
+ */
97
+ abstract get(ref: Ref<T>): Promise<Persistent<T> | undefined>;
98
+ /**
99
+ * Get multiple entities by their references.
100
+ * Batches into a single query where possible.
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * const users = await users.getMany([User.ref`1`, User.ref`2`])
105
+ * ```
106
+ */
107
+ abstract getMany(refs: Ref<T>[]): Promise<Persistent<T>[]>;
108
+ /**
109
+ * Find a single entity matching the condition.
110
+ * Returns undefined if not found.
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * const user = await userRepo.findOne(User.fields.email.eq('alice@example.com'));
115
+ * ```
116
+ */
117
+ abstract findOne(where: Condition): Promise<Persistent<T> | undefined>;
118
+ /**
119
+ * Count entities matching the given condition.
120
+ */
121
+ abstract count(where?: Condition): Promise<number>;
122
+ /**
123
+ * Check if any entity matches the condition.
124
+ */
125
+ exists(where: Condition): Promise<boolean>;
126
+ /**
127
+ * Run an aggregation query (sum, avg, min, max, count).
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * const totalViews = await postRepo.aggregate(
132
+ * q.sum('views'),
133
+ * Post.fields.published.eq(true),
134
+ * );
135
+ * ```
136
+ */
137
+ abstract aggregate(agg: Aggregation, where?: Condition): Promise<number | null>;
138
+ /**
139
+ * Insert a new entity.
140
+ *
141
+ * @example
142
+ * ```typescript
143
+ * const user = await userRepo.insert({
144
+ * email: 'alice@example.com',
145
+ * name: 'Alice',
146
+ * });
147
+ * // user is Persistent<User> with id, createdAt, etc.
148
+ * ```
149
+ */
150
+ abstract insert(data: InsertData<T>): Promise<Persistent<T>>;
151
+ /**
152
+ * Insert multiple entities.
153
+ */
154
+ abstract insertMany(data: InsertData<T>[]): Promise<Persistent<T>[]>;
155
+ /**
156
+ * Acquire an exclusive lock on an entity and re-read it from storage.
157
+ *
158
+ * Concurrent acquirers (in this process or across cluster instances
159
+ * when wired with PostgresLockProvider/RedisLockProvider) BLOCK until
160
+ * the holder releases. The lock is released on `Symbol.asyncDispose`
161
+ * (preferred — `await using`) or sync `Symbol.dispose` (fire-and-forget).
162
+ *
163
+ * Re-reads under the lock so callers see committed state. Returns null
164
+ * if the row was deleted before/during the acquire.
165
+ *
166
+ * Mutators (`update`, `delete`, `save(Locked<T>)`) require the
167
+ * `__active` flag to still be true; using a `Locked<T>` after its
168
+ * `using` block exited throws `LockReleasedError`.
169
+ *
170
+ * Same async context re-acquiring the same row throws
171
+ * `DoubleLockError` (when wrapped in `runWithLockTracking`) — this
172
+ * would deadlock otherwise.
173
+ *
174
+ * @returns Locked entity, or null if not found
175
+ *
176
+ * @example
177
+ * ```typescript
178
+ * await using user = await users.lock(params.user);
179
+ * if (!user) return res.status(404).json({ error: 'Not found' });
180
+ * await service.updateProfile(user, data);
181
+ * // mutex released, lock invalidated when scope exits
182
+ * ```
183
+ */
184
+ abstract lock(entity: Ref<T> | Promise<Persistent<T> | null | undefined>, options?: LockOptions): Promise<Locked<T> | null>;
185
+ /**
186
+ * Update a locked entity with partial data.
187
+ *
188
+ * Requires a lock - the lock IS your concurrency control.
189
+ */
190
+ abstract update(entity: Locked<T>, data: UpdateData<T>): Promise<Persistent<T>>;
191
+ /**
192
+ * Save an entity (insert or update).
193
+ *
194
+ * - New entity (`T` / `Transient<T>`) → insert
195
+ * - Locked entity (`Locked<T>`) → update
196
+ */
197
+ abstract save(entity: T | Transient<T>): Promise<Persistent<T>>;
198
+ abstract save(entity: Locked<T>): Promise<Persistent<T>>;
199
+ abstract save(entity: T | Transient<T> | Locked<T>): Promise<Persistent<T>>;
200
+ /**
201
+ * Delete a locked entity.
202
+ *
203
+ * Requires a lock to ensure no concurrent mutations during deletion.
204
+ *
205
+ * @returns true if deleted, false if not found
206
+ */
207
+ abstract delete(entity: Locked<T>): Promise<boolean>;
208
+ /**
209
+ * Delete entities matching a condition.
210
+ *
211
+ * @returns Number of deleted entities
212
+ */
213
+ abstract deleteWhere(where: Condition): Promise<number>;
214
+ /**
215
+ * Create a durable iterator for use in process for-of loops.
216
+ * Uses keyset pagination to support suspend/resume across process restarts.
217
+ *
218
+ * `orderBy` is required - durable iteration needs deterministic ordering
219
+ * for keyset pagination to work correctly.
220
+ *
221
+ * @example
222
+ * ```typescript
223
+ * for (const order of orders.iterate({
224
+ * where: Order.fields.status.eq('pending'),
225
+ * orderBy: { createdAt: 'asc' },
226
+ * })) {
227
+ * await signal(fulfillment.shipped)
228
+ * }
229
+ * ```
230
+ */
231
+ abstract iterate(options: FindOptions<T> & {
232
+ orderBy: OrderBy<T>;
233
+ }): DurableQueryIterable<Persistent<T>>;
234
+ /**
235
+ * Stream entities matching the condition.
236
+ * Yields one entity at a time for memory-efficient processing.
237
+ *
238
+ * @example
239
+ * ```typescript
240
+ * for await (const user of userRepo.stream({ where: status.eq('active') })) {
241
+ * await processUser(user);
242
+ * }
243
+ * ```
244
+ */
245
+ abstract stream(options?: FindOptions<T>): AsyncIterable<Persistent<T>>;
246
+ /**
247
+ * Stream entities in batches.
248
+ * More efficient than streaming one at a time for bulk operations.
249
+ *
250
+ * @example
251
+ * ```typescript
252
+ * for await (const batch of userRepo.streamBatches({ batchSize: 100 })) {
253
+ * await processBatch(batch);
254
+ * }
255
+ * ```
256
+ */
257
+ abstract streamBatches(options?: FindOptions<T> & {
258
+ batchSize?: number;
259
+ }): AsyncIterable<Persistent<T>[]>;
260
+ /**
261
+ * Observe changes to an entity.
262
+ *
263
+ * Returns an async iterable that yields whenever the entity is updated
264
+ * from any instance (including other nodes in the cluster).
265
+ *
266
+ * The entity object is mutated in-place via the identity map, so you
267
+ * can also just access the original reference after yielding.
268
+ *
269
+ * @example
270
+ * ```typescript
271
+ * const user = await userRepo.get(User.ref`123`);
272
+ *
273
+ * // Observe changes from anywhere
274
+ * for await (const _ of userRepo.observe(user)) {
275
+ * console.log('User updated:', user.name); // same object, mutated
276
+ * }
277
+ *
278
+ * // Also works with references
279
+ * for await (const author of userRepo.observe(post.author)) {
280
+ * console.log('Author updated:', author.name);
281
+ * }
282
+ * ```
283
+ */
284
+ abstract observe(entity: Ref<T>): AsyncIterable<Persistent<T>>;
285
+ /**
286
+ * Get a DI token for a model's repository.
287
+ *
288
+ * Tokens are memoized - same model always returns same token object.
289
+ * This enables object identity comparison for DI container lookups.
290
+ *
291
+ * If the model has a repository contract (via .withRepository()), the token
292
+ * type includes those custom methods.
293
+ *
294
+ * @example
295
+ * ```typescript
296
+ * const token = ModelRepository.of(User);
297
+ *
298
+ * // Same model = same token (object identity)
299
+ * ModelRepository.of(User) === ModelRepository.of(User) // true
300
+ *
301
+ * // Different models = different tokens
302
+ * ModelRepository.of(User) === ModelRepository.of(Post) // false
303
+ *
304
+ * // With custom contract
305
+ * const UserWithRepo = User.withRepository<{
306
+ * findByEmail(email: string): Promise<User | null>;
307
+ * }>();
308
+ * const token = ModelRepository.of(UserWithRepo);
309
+ * // token type includes findByEmail method
310
+ * ```
311
+ */
312
+ static of<M extends AnyModel>(model: M): ModelRepositoryToken<ModelInstanceType<M>, ExtractContract<M>>;
313
+ }
314
+ /**
315
+ * Check if a value is a ModelRepository token.
316
+ */
317
+ export declare function isModelRepositoryToken(value: unknown): value is ModelRepositoryToken<unknown>;
318
+ //# sourceMappingURL=model.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.repository.d.ts","sourceRoot":"","sources":["../../src/models/model.repository.ts"],"names":[],"mappings":"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"}