@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 @@
1
+ {"version":3,"file":"define-model.js","sourceRoot":"","sources":["../../src/models/define-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,309 @@
1
+ /**
2
+ * Field Builders
3
+ *
4
+ * Type-safe field definitions for models.
5
+ * These define the domain schema, storage mapping is separate.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { defineModel, field } from '@justscale/core/models';
10
+ *
11
+ * class User extends defineModel({
12
+ * email: field.string().max(255).unique(),
13
+ * name: field.string(),
14
+ * balance: field.decimal(10, 2).default('0.00'),
15
+ * }) {}
16
+ * ```
17
+ */
18
+ import type { Reference, References } from './reference/reference.js';
19
+ import type { Stream } from './stream.js';
20
+ import { MODEL_DATA } from './define-model.js';
21
+ /**
22
+ * Extract the data type from a Model.
23
+ * Uses MODEL_DATA symbol on BaseModel for inference.
24
+ */
25
+ type ModelData<M> = M extends abstract new (...args: any[]) => {
26
+ readonly [MODEL_DATA]: infer T;
27
+ } ? T : never;
28
+ /** Symbol to mark a field definition */
29
+ export declare const FIELD_DEF: unique symbol;
30
+ /** All supported field types */
31
+ export type FieldType = 'string' | 'text' | 'int' | 'smallint' | 'bigint' | 'decimal' | 'float' | 'double' | 'boolean' | 'uuid' | 'timestamp' | 'date' | 'time' | 'duration' | 'json' | 'jsonb' | 'bytes' | 'array' | 'enum' | 'object' | 'ref' | 'refs' | 'createdAt' | 'updatedAt' | 'deletedAt' | 'stream' | 'version';
32
+ /** Base field definition */
33
+ export interface FieldDef<T = unknown> {
34
+ readonly [FIELD_DEF]: true;
35
+ readonly type: FieldType;
36
+ readonly tsType: T;
37
+ readonly optional: boolean;
38
+ readonly defaultValue?: T | (() => T);
39
+ /** Value for existing rows when adding column to existing table (migrations only) */
40
+ readonly backfillValue?: T;
41
+ readonly unique: boolean;
42
+ readonly indexed: boolean;
43
+ readonly primaryKey: boolean;
44
+ readonly maxLength?: number;
45
+ readonly fixedLength?: number;
46
+ readonly precision?: number;
47
+ readonly scale?: number;
48
+ readonly enumName?: string;
49
+ readonly enumValues?: readonly string[];
50
+ readonly arrayOf?: FieldDef;
51
+ readonly objectShape?: Record<string, FieldDef>;
52
+ readonly refTarget?: () => unknown;
53
+ readonly streamTarget?: () => unknown;
54
+ readonly streamProtected?: boolean;
55
+ }
56
+ /**
57
+ * Wrapper type marking a field as having a default value.
58
+ * InferModelType maps HasDefault<T> → T for the model data type,
59
+ * but InferDefaultKeys extracts which field names have defaults.
60
+ * InsertData uses this to make those fields optional.
61
+ */
62
+ export interface HasDefault<out T> {
63
+ /** @internal type-level only -- extracts the base type */
64
+ readonly __hasDefault: T;
65
+ }
66
+ /**
67
+ * Nominal type for decimal values. Stored as a string for precision, but
68
+ * branded so the query-expression type mapping can route decimal fields to
69
+ * `DecimalFieldExpr` instead of the generic `StringFieldExpr` - giving them
70
+ * the numeric comparators (`.gt / .gte / .lt / .lte / .between`) while keeping
71
+ * the runtime value a plain string. Input sites (`InsertData` / `UpdateData`
72
+ * / `DeepPartial`) strip the brand so user code can pass ordinary string
73
+ * literals like `'9.99'`.
74
+ */
75
+ declare const DECIMAL_BRAND: unique symbol;
76
+ export type Decimal = string & {
77
+ readonly [DECIMAL_BRAND]: 'decimal';
78
+ };
79
+ /**
80
+ * Strip internal brands from `T` so user-facing values (defaults, backfills,
81
+ * insert/update payloads) can be plain primitives.
82
+ * - Removes the `HasDefault<U>` wrapper.
83
+ * - Widens `Decimal` (branded string) back to `string`.
84
+ */
85
+ type Unbrand<T> = T extends HasDefault<infer U> ? Unbrand<U> : [T] extends [Decimal] ? string : T extends undefined ? T : T;
86
+ /** Base interface for all field builders */
87
+ interface FieldBuilderBase<T, Self> {
88
+ /** Make field optional (undefined when not set) */
89
+ optional(): FieldBuilder<T | undefined>;
90
+ /** Set default value - makes field optional on insert */
91
+ default(value: Unbrand<T> | (() => Unbrand<T>)): FieldBuilder<HasDefault<Unbrand<T>>>;
92
+ /**
93
+ * Set backfill value for existing rows when adding column via migration.
94
+ * Required for non-nullable fields without defaults on existing tables.
95
+ *
96
+ * Accepts the base type regardless of whether `.default()` has already been
97
+ * applied - chain order is commutative.
98
+ *
99
+ * @example
100
+ * ```typescript
101
+ * // In migration - existing users get 'Unknown' for name
102
+ * table.addColumn('name', field.string().backfill('Unknown'))
103
+ * ```
104
+ */
105
+ backfill(value: Unbrand<T>): Self;
106
+ /** Add unique constraint */
107
+ unique(): Self;
108
+ /** Add index */
109
+ index(): Self;
110
+ /** Mark as primary key */
111
+ primaryKey(): Self;
112
+ /** Get the field definition */
113
+ build(): FieldDef<T>;
114
+ }
115
+ /** Field builder with modifiers */
116
+ export interface FieldBuilder<T> extends FieldBuilderBase<T, FieldBuilder<T>> {
117
+ readonly _type: T;
118
+ }
119
+ /** String field builder with max/fixed */
120
+ export interface StringFieldBuilder<T extends string | undefined = string> extends FieldBuilderBase<T, StringFieldBuilder<T>> {
121
+ readonly _type: T;
122
+ /** Set maximum length (VARCHAR) */
123
+ max(length: number): StringFieldBuilder<T>;
124
+ /** Set fixed length (CHAR) */
125
+ fixed(length: number): StringFieldBuilder<T>;
126
+ /** Make field optional */
127
+ optional(): StringFieldBuilder<T | undefined>;
128
+ /** Set backfill value for migrations (base-typed; accepted pre- or post-`.default()`) */
129
+ backfill(value: Unbrand<T>): StringFieldBuilder<T>;
130
+ }
131
+ /** Decimal field builder */
132
+ export interface DecimalFieldBuilder<T extends Decimal | undefined = Decimal> extends FieldBuilderBase<T, DecimalFieldBuilder<T>> {
133
+ readonly _type: T;
134
+ /** Make field optional */
135
+ optional(): DecimalFieldBuilder<T | undefined>;
136
+ }
137
+ /** Array field builder */
138
+ export interface ArrayFieldBuilder<T> extends FieldBuilderBase<T[], ArrayFieldBuilder<T>> {
139
+ readonly _type: T[];
140
+ }
141
+ /** Object field builder */
142
+ export interface ObjectFieldBuilder<T extends Record<string, unknown>> extends FieldBuilderBase<T, ObjectFieldBuilder<T>> {
143
+ readonly _type: T;
144
+ }
145
+ /** Reference field builder */
146
+ export interface RefFieldBuilder<T> extends FieldBuilderBase<T, RefFieldBuilder<T>> {
147
+ readonly _type: T;
148
+ }
149
+ /** References field builder */
150
+ export interface RefsFieldBuilder<T> extends FieldBuilderBase<T[], RefsFieldBuilder<T>> {
151
+ readonly _type: T[];
152
+ }
153
+ /** Stream field builder - always has a default (created by adapter) */
154
+ export interface StreamFieldBuilder<T> extends FieldBuilderBase<HasDefault<Stream<T>>, StreamFieldBuilder<T>> {
155
+ readonly _type: HasDefault<Stream<T>>;
156
+ /**
157
+ * Mark stream as protected - requires Lock<T> to publish.
158
+ *
159
+ * @example
160
+ * ```typescript
161
+ * class Order extends defineModel({
162
+ * statusChanges: field.stream(StatusEvent).protected(),
163
+ * }) {}
164
+ *
165
+ * // Only locked entities can publish to protected streams
166
+ * using order = await lockService.acquire(orderRepo.get(ref))
167
+ * order.statusChanges.publish({ status: 'shipped' })
168
+ * ```
169
+ */
170
+ protected(): StreamFieldBuilder<T>;
171
+ /** @deprecated Stream fields cannot be optional - they are always created by the repository. */
172
+ optional(): never;
173
+ }
174
+ /**
175
+ * Field builder factory.
176
+ *
177
+ * @example
178
+ * ```typescript
179
+ * class User extends defineModel({
180
+ * email: field.string().max(255).unique(),
181
+ * age: field.int().optional(),
182
+ * balance: field.decimal(10, 2),
183
+ * active: field.boolean().default(true),
184
+ * }) {}
185
+ * ```
186
+ */
187
+ export declare const field: {
188
+ string: () => StringFieldBuilder;
189
+ text: () => FieldBuilder<string>;
190
+ int: () => FieldBuilder<number>;
191
+ smallint: () => FieldBuilder<number>;
192
+ bigint: () => FieldBuilder<bigint>;
193
+ decimal: (precision: number, scale: number) => DecimalFieldBuilder;
194
+ float: () => FieldBuilder<number>;
195
+ double: () => FieldBuilder<number>;
196
+ boolean: () => FieldBuilder<boolean>;
197
+ uuid: () => FieldBuilder<string>;
198
+ timestamp: () => FieldBuilder<Date>;
199
+ date: () => FieldBuilder<Date>;
200
+ time: () => FieldBuilder<string>;
201
+ duration: () => FieldBuilder<string>;
202
+ createdAt: () => FieldBuilder<HasDefault<Date>>;
203
+ updatedAt: () => FieldBuilder<HasDefault<Date>>;
204
+ deletedAt: () => FieldBuilder<Date | undefined>;
205
+ version: () => FieldBuilder<number>;
206
+ /**
207
+ * JSON field. The type parameter `T` is a **compile-time hint only** -
208
+ * no runtime validation is performed. Data read from the database is
209
+ * returned as-is (parsed JSON). If you need guarantees that the value
210
+ * conforms to `T`, validate it yourself after reading (e.g. with Zod).
211
+ *
212
+ * @example
213
+ * ```typescript
214
+ * interface Settings { theme: string; fontSize: number }
215
+ *
216
+ * class User extends defineModel({
217
+ * settings: field.json<Settings>(),
218
+ * }) {}
219
+ * ```
220
+ */
221
+ json: <T = unknown>() => FieldBuilder<T>;
222
+ /**
223
+ * JSONB field (binary JSON, Postgres). The type parameter `T` is a
224
+ * **compile-time hint only** - no runtime validation is performed.
225
+ * Data read from the database is returned as-is (parsed JSONB).
226
+ * If you need guarantees that the value conforms to `T`, validate it
227
+ * yourself after reading (e.g. with Zod).
228
+ *
229
+ * @example
230
+ * ```typescript
231
+ * interface Metadata { tags: string[]; score: number }
232
+ *
233
+ * class Post extends defineModel({
234
+ * metadata: field.jsonb<Metadata>(),
235
+ * }) {}
236
+ * ```
237
+ */
238
+ jsonb: <T = unknown>() => FieldBuilder<T>;
239
+ bytes: () => FieldBuilder<Uint8Array>;
240
+ array: <T>(elementType: FieldBuilder<T>) => FieldBuilder<T[]>;
241
+ enum: <const T extends readonly string[]>(name: string, values: T) => FieldBuilder<T[number]>;
242
+ object: <T extends Record<string, FieldBuilder<unknown>>>(shape: T) => FieldBuilder<{ [K in keyof T]: T[K]["_type"]; }>;
243
+ /**
244
+ * Reference to another model (many-to-one / one-to-one).
245
+ * Use a function for self-references to avoid hoisting issues.
246
+ *
247
+ * @example
248
+ * ```typescript
249
+ * const Post = defineModel('Post', {
250
+ * author: field.ref(User), // Reference<typeof User>
251
+ * parent: field.ref(() => Post), // Self-reference
252
+ * });
253
+ * ```
254
+ */
255
+ ref: <T extends abstract new (...args: never) => unknown>(target: T | (() => T)) => FieldBuilder<Reference<InstanceType<T>>>;
256
+ /**
257
+ * Reference to multiple models (many-to-many).
258
+ *
259
+ * @example
260
+ * ```typescript
261
+ * const Post = defineModel('Post', {
262
+ * tags: field.refs(Tag), // References<typeof Tag>
263
+ * });
264
+ * ```
265
+ */
266
+ refs: <T extends abstract new (...args: never) => unknown>(target: T | (() => T)) => FieldBuilder<References<InstanceType<T>>>;
267
+ /**
268
+ * Stream field for pub/sub messaging on a model.
269
+ * Use a function for self-references to avoid hoisting issues.
270
+ *
271
+ * Streams are AsyncIterable<T> for subscription and have publish() for broadcasting.
272
+ *
273
+ * @example
274
+ * ```typescript
275
+ * class Room extends defineModel({
276
+ * name: field.string(),
277
+ * messages: field.stream(ChatMessage),
278
+ * }) {}
279
+ *
280
+ * // Subscribe to messages
281
+ * for await (const msg of room.messages) {
282
+ * console.log(msg.text)
283
+ * }
284
+ *
285
+ * // Publish a message
286
+ * room.messages.publish({ user: userRef, text: 'hello' })
287
+ * ```
288
+ *
289
+ * @example Protected stream (requires Lock to publish)
290
+ * ```typescript
291
+ * class Order extends defineModel({
292
+ * statusChanges: field.stream(StatusEvent).protected(),
293
+ * }) {}
294
+ *
295
+ * // Protected streams require entity to be locked
296
+ * using order = await lockService.acquire(orderRepo.get(ref))
297
+ * order.statusChanges.publish({ status: 'shipped' })
298
+ * ```
299
+ */
300
+ stream: <T extends abstract new (...args: never) => unknown>(target: T | (() => T)) => StreamFieldBuilder<ModelData<T>>;
301
+ };
302
+ /** Extract TypeScript type from field builder */
303
+ export type InferField<F> = F extends FieldBuilder<infer T> ? T : never;
304
+ /** Extract TypeScript type from field definition */
305
+ export type InferFieldDef<F> = F extends FieldDef<infer T> ? T : never;
306
+ /** Check if value is a field definition */
307
+ export declare function isFieldDef(value: unknown): value is FieldDef;
308
+ export {};
309
+ //# sourceMappingURL=field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/models/field.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,312 @@
1
+ /**
2
+ * Field Builders
3
+ *
4
+ * Type-safe field definitions for models.
5
+ * These define the domain schema, storage mapping is separate.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { defineModel, field } from '@justscale/core/models';
10
+ *
11
+ * class User extends defineModel({
12
+ * email: field.string().max(255).unique(),
13
+ * name: field.string(),
14
+ * balance: field.decimal(10, 2).default('0.00'),
15
+ * }) {}
16
+ * ```
17
+ */
18
+ // ============================================================================
19
+ // Type Helpers
20
+ // ============================================================================
21
+ import { MODEL_DATA } from './define-model.js';
22
+ // ============================================================================
23
+ // Symbols
24
+ // ============================================================================
25
+ /** Symbol to mark a field definition */
26
+ export const FIELD_DEF = Symbol('models:fieldDef');
27
+ class FieldBuilderImpl {
28
+ _type;
29
+ def;
30
+ constructor(type, extra = {}) {
31
+ this.def = {
32
+ type,
33
+ optional: false,
34
+ unique: false,
35
+ indexed: false,
36
+ primaryKey: false,
37
+ ...extra,
38
+ };
39
+ }
40
+ optional() {
41
+ // Use `this.constructor` so subclasses (StringFieldBuilderImpl,
42
+ // DecimalFieldBuilderImpl, StreamFieldBuilderImpl, ...) get an instance
43
+ // of the correct subclass back - preserves subclass-specific methods
44
+ // like `.max()` / `.fixed()` / `.protected()` after `.optional()`.
45
+ const Ctor = this.constructor;
46
+ return new Ctor(this.def.type, {
47
+ ...this.def,
48
+ optional: true,
49
+ });
50
+ }
51
+ default(value) {
52
+ this.def.defaultValue = value;
53
+ return this;
54
+ }
55
+ backfill(value) {
56
+ this.def.backfillValue = value;
57
+ return this;
58
+ }
59
+ unique() {
60
+ this.def.unique = true;
61
+ return this;
62
+ }
63
+ index() {
64
+ this.def.indexed = true;
65
+ return this;
66
+ }
67
+ primaryKey() {
68
+ this.def.primaryKey = true;
69
+ return this;
70
+ }
71
+ build() {
72
+ return {
73
+ [FIELD_DEF]: true,
74
+ tsType: undefined,
75
+ ...this.def,
76
+ };
77
+ }
78
+ }
79
+ class StringFieldBuilderImpl extends FieldBuilderImpl {
80
+ max(length) {
81
+ this.def.maxLength = length;
82
+ return this;
83
+ }
84
+ fixed(length) {
85
+ this.def.fixedLength = length;
86
+ return this;
87
+ }
88
+ optional() {
89
+ return super.optional();
90
+ }
91
+ default(value) {
92
+ return super.default(value);
93
+ }
94
+ backfill(value) {
95
+ return super.backfill(value);
96
+ }
97
+ unique() {
98
+ return super.unique();
99
+ }
100
+ index() {
101
+ return super.index();
102
+ }
103
+ primaryKey() {
104
+ return super.primaryKey();
105
+ }
106
+ }
107
+ class DecimalFieldBuilderImpl extends FieldBuilderImpl {
108
+ optional() {
109
+ return super.optional();
110
+ }
111
+ }
112
+ class StreamFieldBuilderImpl extends FieldBuilderImpl {
113
+ protected() {
114
+ this.def.streamProtected = true;
115
+ return this;
116
+ }
117
+ optional() {
118
+ throw new Error('Stream fields cannot be optional - they are always created by the repository');
119
+ }
120
+ }
121
+ // ============================================================================
122
+ // Field Factory
123
+ // ============================================================================
124
+ /**
125
+ * Field builder factory.
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * class User extends defineModel({
130
+ * email: field.string().max(255).unique(),
131
+ * age: field.int().optional(),
132
+ * balance: field.decimal(10, 2),
133
+ * active: field.boolean().default(true),
134
+ * }) {}
135
+ * ```
136
+ */
137
+ export const field = {
138
+ // ─── STRINGS ───
139
+ string: () => new StringFieldBuilderImpl('string'),
140
+ text: () => new FieldBuilderImpl('text'),
141
+ // ─── NUMBERS ───
142
+ int: () => new FieldBuilderImpl('int'),
143
+ smallint: () => new FieldBuilderImpl('smallint'),
144
+ bigint: () => new FieldBuilderImpl('bigint'),
145
+ decimal: (precision, scale) => new DecimalFieldBuilderImpl('decimal', { precision, scale }),
146
+ float: () => new FieldBuilderImpl('float'),
147
+ double: () => new FieldBuilderImpl('double'),
148
+ // ─── BOOLEAN ───
149
+ boolean: () => new FieldBuilderImpl('boolean'),
150
+ // ─── UUID ───
151
+ uuid: () => new FieldBuilderImpl('uuid'),
152
+ // ─── DATE/TIME ───
153
+ timestamp: () => new FieldBuilderImpl('timestamp'),
154
+ date: () => new FieldBuilderImpl('date'),
155
+ time: () => new FieldBuilderImpl('time'),
156
+ duration: () => new FieldBuilderImpl('duration'),
157
+ // ─── SEMANTIC TIME FIELDS ───
158
+ createdAt: () => new FieldBuilderImpl('createdAt'),
159
+ updatedAt: () => new FieldBuilderImpl('updatedAt'),
160
+ deletedAt: () => new FieldBuilderImpl('deletedAt', { optional: true }),
161
+ // ─── VERSIONING ───
162
+ version: () => new FieldBuilderImpl('version', { defaultValue: 1 }),
163
+ // ─── JSON ───
164
+ /**
165
+ * JSON field. The type parameter `T` is a **compile-time hint only** -
166
+ * no runtime validation is performed. Data read from the database is
167
+ * returned as-is (parsed JSON). If you need guarantees that the value
168
+ * conforms to `T`, validate it yourself after reading (e.g. with Zod).
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * interface Settings { theme: string; fontSize: number }
173
+ *
174
+ * class User extends defineModel({
175
+ * settings: field.json<Settings>(),
176
+ * }) {}
177
+ * ```
178
+ */
179
+ json: () => new FieldBuilderImpl('json'),
180
+ /**
181
+ * JSONB field (binary JSON, Postgres). The type parameter `T` is a
182
+ * **compile-time hint only** - no runtime validation is performed.
183
+ * Data read from the database is returned as-is (parsed JSONB).
184
+ * If you need guarantees that the value conforms to `T`, validate it
185
+ * yourself after reading (e.g. with Zod).
186
+ *
187
+ * @example
188
+ * ```typescript
189
+ * interface Metadata { tags: string[]; score: number }
190
+ *
191
+ * class Post extends defineModel({
192
+ * metadata: field.jsonb<Metadata>(),
193
+ * }) {}
194
+ * ```
195
+ */
196
+ jsonb: () => new FieldBuilderImpl('jsonb'),
197
+ // ─── BINARY ───
198
+ bytes: () => new FieldBuilderImpl('bytes'),
199
+ // ─── ARRAYS ───
200
+ array: (elementType) => new FieldBuilderImpl('array', {
201
+ arrayOf: elementType.build(),
202
+ }),
203
+ // ─── ENUMS ───
204
+ enum: (name, values) => new FieldBuilderImpl('enum', {
205
+ enumName: name,
206
+ enumValues: values,
207
+ }),
208
+ // ─── NESTED OBJECTS ───
209
+ object: (shape) => {
210
+ const objectShape = {};
211
+ for (const [key, builder] of Object.entries(shape)) {
212
+ objectShape[key] = builder.build();
213
+ }
214
+ return new FieldBuilderImpl('object', {
215
+ objectShape,
216
+ });
217
+ },
218
+ // ─── REFERENCES ───
219
+ /**
220
+ * Reference to another model (many-to-one / one-to-one).
221
+ * Use a function for self-references to avoid hoisting issues.
222
+ *
223
+ * @example
224
+ * ```typescript
225
+ * const Post = defineModel('Post', {
226
+ * author: field.ref(User), // Reference<typeof User>
227
+ * parent: field.ref(() => Post), // Self-reference
228
+ * });
229
+ * ```
230
+ */
231
+ ref: (target) =>
232
+ // `Reference<InstanceType<T>>` - not `Reference<ModelData<T>>` - so
233
+ // awaiting yields `Persistent<User>` (nominal class type) rather
234
+ // than `Persistent<{ …expanded fields }>`. Keeps the class brand
235
+ // through the ref/persistent chain so error messages stay clean.
236
+ new FieldBuilderImpl('ref', {
237
+ refTarget: isLazyTarget(target) ? target : () => target,
238
+ }),
239
+ /**
240
+ * Reference to multiple models (many-to-many).
241
+ *
242
+ * @example
243
+ * ```typescript
244
+ * const Post = defineModel('Post', {
245
+ * tags: field.refs(Tag), // References<typeof Tag>
246
+ * });
247
+ * ```
248
+ */
249
+ refs: (target) => new FieldBuilderImpl('refs', {
250
+ refTarget: isLazyTarget(target) ? target : () => target,
251
+ }),
252
+ // ─── STREAMS ───
253
+ /**
254
+ * Stream field for pub/sub messaging on a model.
255
+ * Use a function for self-references to avoid hoisting issues.
256
+ *
257
+ * Streams are AsyncIterable<T> for subscription and have publish() for broadcasting.
258
+ *
259
+ * @example
260
+ * ```typescript
261
+ * class Room extends defineModel({
262
+ * name: field.string(),
263
+ * messages: field.stream(ChatMessage),
264
+ * }) {}
265
+ *
266
+ * // Subscribe to messages
267
+ * for await (const msg of room.messages) {
268
+ * console.log(msg.text)
269
+ * }
270
+ *
271
+ * // Publish a message
272
+ * room.messages.publish({ user: userRef, text: 'hello' })
273
+ * ```
274
+ *
275
+ * @example Protected stream (requires Lock to publish)
276
+ * ```typescript
277
+ * class Order extends defineModel({
278
+ * statusChanges: field.stream(StatusEvent).protected(),
279
+ * }) {}
280
+ *
281
+ * // Protected streams require entity to be locked
282
+ * using order = await lockService.acquire(orderRepo.get(ref))
283
+ * order.statusChanges.publish({ status: 'shipped' })
284
+ * ```
285
+ */
286
+ stream: (target) => new StreamFieldBuilderImpl('stream', {
287
+ streamTarget: isLazyTarget(target) ? target : () => target,
288
+ streamProtected: false,
289
+ }),
290
+ };
291
+ /**
292
+ * Check if target is a lazy callback (arrow function for self-reference)
293
+ * vs a ModelClass (which is also a function but shouldn't be called directly).
294
+ *
295
+ * ModelClasses have a prototype with constructor, plain arrow functions don't.
296
+ */
297
+ function isLazyTarget(target) {
298
+ if (typeof target !== 'function')
299
+ return false;
300
+ // ModelClass has a prototype object with a constructor
301
+ // Arrow functions () => Model have Object.prototype or no meaningful prototype
302
+ const proto = target.prototype;
303
+ return proto === undefined || proto === Object.prototype;
304
+ }
305
+ /** Check if value is a field definition */
306
+ export function isFieldDef(value) {
307
+ return (value !== null &&
308
+ typeof value === 'object' &&
309
+ FIELD_DEF in value &&
310
+ value[FIELD_DEF] === true);
311
+ }
312
+ //# sourceMappingURL=field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/models/field.ts"],"names":[],"mappings":"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"}