@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,97 @@
1
+ /**
2
+ * Symbols for internal metadata on models.
3
+ *
4
+ * Most use plain Symbol() to avoid cross-version collisions - each
5
+ * package version has its own symbols, so mismatched metadata shapes
6
+ * never cause silent data corruption. Cross-module symbols that must
7
+ * survive HMR use Symbol.for() instead.
8
+ */
9
+ // ============================================
10
+ // Observable & Model symbols (from @justscale/observable)
11
+ // ============================================
12
+ /** Symbol to access model internals (schema, dirty tracking, etc.) */
13
+ export const MODEL_INTERNALS = Symbol('model_internals');
14
+ /** Symbol to access observable internals (dirty tracking, etc.) */
15
+ export const OBSERVABLE_META = Symbol('observable_meta');
16
+ // ============================================
17
+ // Reference symbols (for Promise-like refs)
18
+ // ============================================
19
+ /** Symbol to mark an object as a Reference */
20
+ export const REFERENCE = Symbol('models:reference');
21
+ /** Symbol to mark an object as a References collection */
22
+ export const REFERENCES = Symbol('models:references');
23
+ /** Symbol for internal reference ID storage */
24
+ export const REF_ID = Symbol('models:ref:id');
25
+ /** Symbol for internal reference IDs storage (plural) */
26
+ export const REF_IDS = Symbol('models:refs:ids');
27
+ /** Symbol for cached resolved value */
28
+ export const REF_VALUE = Symbol('models:ref:value');
29
+ /** Symbol for cached resolved values (plural) */
30
+ export const REF_VALUES = Symbol('models:refs:values');
31
+ /** Symbol for resolver function */
32
+ export const REF_RESOLVER = Symbol('models:ref:resolver');
33
+ /** Symbol-keyed method to attach resolver (internal use) */
34
+ export const SET_RESOLVER = Symbol('models:ref:setResolver');
35
+ /** Symbol-keyed method to hydrate a reference with a pre-loaded value (internal use) */
36
+ export const HYDRATE = Symbol('models:ref:hydrate');
37
+ // ============================================
38
+ // Transient Reference symbols (for unsaved entities)
39
+ // ============================================
40
+ /** Symbol to mark an object as a TransientRef */
41
+ export const TRANSIENT_REF = Symbol('models:transientRef');
42
+ /** Symbol for internal transient target storage */
43
+ export const TRANSIENT_TARGET = Symbol('models:transientRef:target');
44
+ // ============================================
45
+ // Instance State symbols (for runtime type safety)
46
+ // ============================================
47
+ /** Symbol to mark an instance as persisted (stored by an adapter) */
48
+ export const PERSISTENT = Symbol('models:persistent');
49
+ /** Symbol for adapter-stored key on a persistent entity (non-enumerable) */
50
+ export const ADAPTER_KEY = Symbol('models:adapterKey');
51
+ /** Symbol to mark an instance as transient (not yet saved) */
52
+ export const TRANSIENT = Symbol('models:transient');
53
+ /** Symbol to mark an instance as locked (for safe mutations) */
54
+ export const LOCK = Symbol('models:lock');
55
+ // ============================================
56
+ // Internal Storage symbols (for field values on instances)
57
+ // ============================================
58
+ /** Symbol for internal field storage on model instances */
59
+ export const FIELD_STORAGE = Symbol('models:fieldStorage');
60
+ /** Symbol for model context (registry, resolvers, etc.) */
61
+ export const MODEL_CONTEXT = Symbol('models:modelContext');
62
+ /** Symbol for model methods (type-level only, for extraction by Persistent/Transient) */
63
+ export const MODEL_METHODS = Symbol('models:modelMethods');
64
+ // ============================================
65
+ // ModelRepository Token symbols (for DI)
66
+ // ============================================
67
+ /** Symbol to store the base model on a repository token */
68
+ export const MODEL_REPO_MODEL = Symbol('models:modelRepoModel');
69
+ /** Symbol for custom repository that links to base ModelRepository token */
70
+ export const MODEL_REPO_BASE_TOKEN = Symbol('models:modelRepoBaseToken');
71
+ /** Symbol for storage model factory (creates repository from deps) */
72
+ export const CREATE_MODEL_REPO = Symbol('models:createModelRepo');
73
+ /** Symbol to store custom repository contract type on a model */
74
+ export const MODEL_REPO_CONTRACT = Symbol('models:modelRepoContract');
75
+ // ============================================
76
+ // Access Control symbols
77
+ // ============================================
78
+ /** Symbol to store field-level access rules on a model class */
79
+ export const ACCESS_RULES = Symbol('models:accessRules');
80
+ /** Symbol to store the raw permission defs record on a model class (for access rule evaluation) */
81
+ export const PERMISSION_DEFS = Symbol('models:permissionDefs');
82
+ // ============================================
83
+ // Model DI Injection symbols
84
+ // ============================================
85
+ /**
86
+ * Symbol to store inject config on a model class.
87
+ * Contains the raw { key: ServiceToken } map from defineModel({ inject }).
88
+ * Symbol.for() for cross-module matching.
89
+ */
90
+ export const MODEL_INJECT = Symbol.for('@justscale/core/models:modelInject');
91
+ /**
92
+ * Symbol to store the resolved model service on a model class.
93
+ * The model service is Object.create(ModelClass.prototype) with resolved inject deps.
94
+ * Set during boot by Container.wireModelPrototypes().
95
+ */
96
+ export const MODEL_SERVICE = Symbol.for('@justscale/core/models:modelService');
97
+ //# sourceMappingURL=symbols.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/models/symbols.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,291 @@
1
+ import type { z } from 'zod';
2
+ import type { MODEL_INTERNALS, OBSERVABLE_META, MODEL_METHODS } from './symbols.js';
3
+ import { PERSISTENT, TRANSIENT, LOCK } from './symbols.js';
4
+ import { MODEL_DATA, MODEL_DEFAULTS } from './define-model.js';
5
+ import type { Lock, LockMetadata } from '../features/lock/types.js';
6
+ import type { Reference } from './reference/reference.js';
7
+ import type { Decimal } from './field.js';
8
+ /**
9
+ * Internal state for a model.
10
+ */
11
+ export interface ModelInternals<T, S extends z.ZodTypeAny = z.ZodTypeAny> {
12
+ schema: S;
13
+ dirty: Set<string>;
14
+ original: T;
15
+ markClean(): void;
16
+ isDirty(): boolean;
17
+ getDirtyPaths(): string[];
18
+ getDirtyData(): Partial<T>;
19
+ }
20
+ /**
21
+ * A model with attached internals for dirty tracking.
22
+ */
23
+ export type Model<T> = T & {
24
+ [MODEL_INTERNALS]: ModelInternals<T>;
25
+ };
26
+ /**
27
+ * Internal state for an observable.
28
+ */
29
+ export interface ObservableInternals {
30
+ dirty: Set<string>;
31
+ markClean(): void;
32
+ isDirty(): boolean;
33
+ getDirtyPaths(): string[];
34
+ }
35
+ /**
36
+ * An observable wrapper that tracks mutations.
37
+ */
38
+ export type Observable<T> = T & {
39
+ [OBSERVABLE_META]: ObservableInternals;
40
+ };
41
+ /**
42
+ * Reference to a parent proxy.
43
+ */
44
+ export interface ParentRef {
45
+ ref: WeakRef<ProxyMeta>;
46
+ key: string;
47
+ }
48
+ /**
49
+ * Internal metadata for tracked proxies.
50
+ */
51
+ export interface ProxyMeta {
52
+ path: string[];
53
+ dirtySets: Set<Set<string>>;
54
+ parents: Set<ParentRef>;
55
+ children: Map<string | symbol, ProxyMeta>;
56
+ target: object;
57
+ proxy: object;
58
+ }
59
+ /**
60
+ * Base entity type - anything with an id.
61
+ */
62
+ export interface Entity<TId = string> {
63
+ id: TId;
64
+ }
65
+ /**
66
+ * System fields added by the persistence layer.
67
+ *
68
+ * These are ADAPTER concerns - they do NOT appear on Persistent<T>.
69
+ * Adapters store these internally via non-enumerable symbols.
70
+ * Domain code never sees or accesses system fields directly.
71
+ *
72
+ * @deprecated Import from your adapter package instead (e.g. @justscale/postgres).
73
+ * Kept temporarily for migration - will be removed from core.
74
+ */
75
+ export interface SystemFields {
76
+ /** Unique identifier assigned by storage */
77
+ readonly id: string;
78
+ /** Creation timestamp */
79
+ readonly createdAt: Date;
80
+ /** Last update timestamp */
81
+ readonly updatedAt: Date;
82
+ /** Version for optimistic concurrency */
83
+ readonly version: number;
84
+ }
85
+ /**
86
+ * Keys of system fields (for type-level exclusion).
87
+ *
88
+ * @deprecated Adapter concern - will be removed from core.
89
+ */
90
+ export type SystemFieldKeys = keyof SystemFields;
91
+ /**
92
+ * Extract domain fields, excluding system fields and internal symbols.
93
+ *
94
+ * @deprecated No longer needed - Persistent<T> is already pure domain fields.
95
+ */
96
+ export type DomainFields<T> = Omit<T, SystemFieldKeys | typeof PERSISTENT | typeof LOCK>;
97
+ /**
98
+ * Resolve T to its model data type if T is a model class, otherwise use T directly.
99
+ */
100
+ type ResolveModelType<T> = T extends abstract new (...args: any[]) => {
101
+ readonly [MODEL_DATA]: infer D;
102
+ } ? D : T extends {
103
+ readonly [MODEL_DATA]: infer D;
104
+ } ? D : T;
105
+ /** Domain fields: the model's data type. No system fields to exclude anymore. */
106
+ type DomainOf<T> = ResolveModelType<T>;
107
+ /**
108
+ * Extract the set of field names that have defaults from a model class.
109
+ * Returns `never` if T is not a model class.
110
+ */
111
+ type ResolveDefaultKeys<T> = T extends abstract new (...args: any[]) => {
112
+ readonly [MODEL_DEFAULTS]: infer D;
113
+ } ? D extends string ? D : never : T extends {
114
+ readonly [MODEL_DEFAULTS]: infer D;
115
+ } ? D extends string ? D : never : never;
116
+ /** Keys of T whose type includes undefined */
117
+ type UndefinedKeys<T> = {
118
+ [K in keyof T]: undefined extends T[K] ? K : never;
119
+ }[keyof T];
120
+ /**
121
+ * Strip the internal `Decimal` brand recursively so callers can pass plain
122
+ * strings for nested-object decimal fields too. Leaves non-decimal types
123
+ * untouched.
124
+ */
125
+ type StripDecimal<V> = [
126
+ NonNullable<V>
127
+ ] extends [Decimal] ? string | (undefined extends V ? undefined : never) : V extends readonly (infer E)[] ? StripDecimal<E>[] : V extends Record<string, unknown> ? {
128
+ [K in keyof V]: StripDecimal<V[K]>;
129
+ } : V;
130
+ /** Widen Reference<X> fields to also accept Persistent<X> (i.e. Ref<X>) */
131
+ type AcceptRef<V> = [
132
+ NonNullable<V>
133
+ ] extends [Reference<infer X>] ? Reference<X> | Persistent<X> | Lock<Persistent<X>> | (undefined extends V ? undefined : never) : StripDecimal<V>;
134
+ /**
135
+ * Insert data type - domain fields only.
136
+ *
137
+ * Handles both model classes (`InsertData<typeof User>`) and plain types.
138
+ * Fields that are optional (undefined) or have defaults become optional keys.
139
+ * Reference fields accept Ref<T> (Reference, Persistent, or Lock).
140
+ */
141
+ export type InsertData<T> = {
142
+ -readonly [K in keyof DomainOf<T> as K extends (UndefinedKeys<DomainOf<T>> | ResolveDefaultKeys<T>) ? never : K]: AcceptRef<DomainOf<T>[K]>;
143
+ } & {
144
+ -readonly [K in keyof DomainOf<T> as K extends (UndefinedKeys<DomainOf<T>> | ResolveDefaultKeys<T>) ? K : never]?: AcceptRef<DomainOf<T>[K]>;
145
+ };
146
+ /**
147
+ * Update data type - partial domain fields.
148
+ *
149
+ * Handles both model classes (`UpdateData<typeof User>`) and plain types.
150
+ */
151
+ export type UpdateData<T> = {
152
+ -readonly [K in keyof DomainOf<T>]?: AcceptRef<DomainOf<T>[K]>;
153
+ };
154
+ /**
155
+ * Make all fields mutable.
156
+ * Used by Lock<T> to enable writes on locked entities.
157
+ */
158
+ export type Mutable<T> = {
159
+ -readonly [K in keyof T]: T[K];
160
+ };
161
+ /**
162
+ * @deprecated Use SystemFields instead. Alias for backwards compatibility.
163
+ */
164
+ export type StorageMeta = SystemFields;
165
+ /**
166
+ * Extract the instance type from a ModelClass or use T directly.
167
+ * This allows `Persistent<typeof User>` where User is the defineModel result.
168
+ *
169
+ * For model constructors, extracts the instance type (which includes methods).
170
+ * For plain types, uses the type directly.
171
+ */
172
+ export type ExtractModelType<T> = T extends abstract new (...args: any[]) => infer Instance ? Instance : T;
173
+ /**
174
+ * Extract the data type for Reference compatibility.
175
+ * Used by repository.get() to accept references created by Model.ref.
176
+ *
177
+ * Handles three cases:
178
+ * 1. Instance type with [MODEL_DATA] (User) - extract from the symbol
179
+ * 2. Constructor type (typeof User) - extract from constructor parameter
180
+ * 3. Plain type - use as-is
181
+ */
182
+ export type ReferenceData<T> = T extends {
183
+ readonly [MODEL_DATA]: infer D;
184
+ } ? D : T extends abstract new (data: infer D) => unknown ? D : T;
185
+ /**
186
+ * Simplify a type by forcing TypeScript to resolve all mapped types.
187
+ * This produces cleaner type emissions in .d.ts files.
188
+ *
189
+ * Instead of: `Persistent<InferModelType<{email: FieldBuilder<string>}>>`
190
+ * Produces: `{id: string; email: string; ...}`
191
+ */
192
+ export type Simplify<T> = {
193
+ [K in keyof T]: T[K];
194
+ } & {};
195
+ /**
196
+ * Extract methods from a ModelClass.
197
+ * Returns the properly typed methods (with `this` bound to model data) or empty object.
198
+ */
199
+ type ExtractModelMethods<T> = T extends {
200
+ readonly [MODEL_METHODS]?: infer M;
201
+ } ? M extends undefined ? {} : M : {};
202
+ /**
203
+ * A persisted model instance - pure domain data + methods.
204
+ *
205
+ * No system fields (id, createdAt, etc.) - those are adapter concerns,
206
+ * stored internally via non-enumerable symbols. Domain code never sees them.
207
+ *
208
+ * To reference a persistent entity, use `Model.ref(entity)` or pass
209
+ * the entity directly where a `Reference<T>` is expected.
210
+ */
211
+ export type Persistent<T> = ExtractModelType<T> & ExtractModelMethods<T> & Disposable & {
212
+ readonly [PERSISTENT]: true;
213
+ };
214
+ /**
215
+ * A transient (not yet persisted) model instance.
216
+ *
217
+ * Used for creating new models before they have storage metadata.
218
+ * Methods defined on the model are preserved on transient instances.
219
+ */
220
+ export type Transient<T> = ExtractModelType<T> & ExtractModelMethods<T> & {
221
+ readonly [TRANSIENT]: true;
222
+ };
223
+ /**
224
+ * Anything that refers to an entity of type T.
225
+ *
226
+ * Use `Ref<T>` in method signatures that accept "something pointing at a T":
227
+ * a Reference, a persistent entity, or a locked entity.
228
+ *
229
+ * @example
230
+ * ```typescript
231
+ * async transfer(from: Ref<Account>, to: Ref<Account>, amount: number) { ... }
232
+ * async update(ref: Ref<User>, data: UpdateData<User>) { ... }
233
+ * ```
234
+ */
235
+ export type Ref<T> = Reference<T> | Persistent<T> | Lock<Persistent<T>>;
236
+ /**
237
+ * Proves exclusive access to a persisted entity. Required for mutations.
238
+ *
239
+ * Use in service signatures to communicate "this method mutates":
240
+ * ```typescript
241
+ * async assignTicket(ticket: Locked<Ticket>, agent: Ref<Agent>) { ... }
242
+ * ```
243
+ *
244
+ * Acquire via repository:
245
+ * ```typescript
246
+ * using ticket = await tickets.lock(params.ticket);
247
+ * ```
248
+ */
249
+ export type Locked<T> = Lock<Persistent<T>>;
250
+ /**
251
+ * Disposable interface for resources that need cleanup.
252
+ */
253
+ export interface Disposable {
254
+ /** Dispose of the resource (release lock, cleanup, etc.) */
255
+ [Symbol.dispose](): void;
256
+ }
257
+ /**
258
+ * Check if an object is a persisted entity.
259
+ *
260
+ * @example
261
+ * ```typescript
262
+ * if (isPersistent(user)) {
263
+ * console.log(user.id); // TypeScript knows id exists
264
+ * }
265
+ * ```
266
+ */
267
+ export declare function isPersistent<T>(obj: unknown): obj is Persistent<T>;
268
+ /**
269
+ * Check if an object is a transient (not yet persisted) entity.
270
+ *
271
+ * @example
272
+ * ```typescript
273
+ * if (isTransient(user)) {
274
+ * console.log('User not yet saved');
275
+ * }
276
+ * ```
277
+ */
278
+ export declare function isTransient<T>(obj: unknown): obj is Transient<T>;
279
+ /**
280
+ * Check if an object is a locked entity.
281
+ *
282
+ * @example
283
+ * ```typescript
284
+ * if (isLocked(user)) {
285
+ * console.log(user.__lock.lockedAt); // Access lock metadata
286
+ * }
287
+ * ```
288
+ */
289
+ export declare function isLocked<T>(obj: unknown): obj is Lock<T>;
290
+ export type { Lock, LockMetadata };
291
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,aAAa,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAM1C;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU;IACtE,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnB,QAAQ,EAAE,CAAC,CAAC;IACZ,SAAS,IAAI,IAAI,CAAC;IAClB,OAAO,IAAI,OAAO,CAAC;IACnB,aAAa,IAAI,MAAM,EAAE,CAAC;IAC1B,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG;IACzB,CAAC,eAAe,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;CACtC,CAAC;AAMF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnB,SAAS,IAAI,IAAI,CAAC;IAClB,OAAO,IAAI,OAAO,CAAC;IACnB,aAAa,IAAI,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG;IAC9B,CAAC,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACxC,CAAC;AAMF;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACxB,QAAQ,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAMD;;GAEG;AACH,MAAM,WAAW,MAAM,CAAC,GAAG,GAAG,MAAM;IAClC,EAAE,EAAE,GAAG,CAAC;CACT;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,4BAA4B;IAC5B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,UAAU,GAAG,OAAO,IAAI,CAAC,CAAC;AAEzF;;GAEG;AACH,KAAK,gBAAgB,CAAC,CAAC,IACrB,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK;IAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GACzE,CAAC,GACD,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAC1C,CAAC,GACD,CAAC,CAAC;AAEV,iFAAiF;AACjF,KAAK,QAAQ,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEvC;;;GAGG;AACH,KAAK,kBAAkB,CAAC,CAAC,IACvB,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK;IAAE,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAC7E,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,KAAK,GAC5B,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAC9C,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,KAAK,GAC5B,KAAK,CAAC;AAEd,8CAA8C;AAC9C,KAAK,aAAa,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACnD,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;;;GAIG;AACH,KAAK,YAAY,CAAC,CAAC,IACjB;IAAC,WAAW,CAAC,CAAC,CAAC;CAAC,SAAS,CAAC,OAAO,CAAC,GAC9B,MAAM,GAAG,CAAC,SAAS,SAAS,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC,GAClD,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,GACjB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACtC,CAAC,CAAC;AAEZ,2EAA2E;AAC3E,KAAK,SAAS,CAAC,CAAC,IACd;IAAC,WAAW,CAAC,CAAC,CAAC;CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GACzC,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC,GAC9F,YAAY,CAAC,CAAC,CAAC,CAAC;AAEtB;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAE1B,CAAC,UAAU,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,IACjC,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GACvE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7B,GAAG;IAEF,CAAC,UAAU,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,IACjC,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CACzE,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,CAAC,UAAU,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/D,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAE5B,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,QAAQ,GACrD,QAAQ,GACR,CAAC,CAAC;AAER;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GACxC,CAAC,GACD,CAAC,SAAS,QAAQ,MAAM,IAAI,EAAE,MAAM,CAAC,KAAK,OAAO,GAC/C,CAAC,GACD,CAAC,CAAC;AAEV;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAC;AAExD;;;GAGG;AACH,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAC1E,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,CAAC,GAC5B,EAAE,CAAC;AAEP;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG;IACtF,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;CAC7B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG;IACxE,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;CAC5B,CAAC;AAMF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAExE;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAM5C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,4DAA4D;IAC5D,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;CAC1B;AASD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAElE;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,CAEhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAOxD;AAGD,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { PERSISTENT, TRANSIENT } from './symbols.js';
2
+ import { MODEL_DATA, MODEL_DEFAULTS } from './define-model.js'; // MODEL_DEFAULTS for InsertData
3
+ // Lock<T> and LockMetadata are defined in features/lock/types.ts
4
+ // Import from '@justscale/core' to use them
5
+ // ============================================
6
+ // Type Guards
7
+ // ============================================
8
+ /**
9
+ * Check if an object is a persisted entity.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * if (isPersistent(user)) {
14
+ * console.log(user.id); // TypeScript knows id exists
15
+ * }
16
+ * ```
17
+ */
18
+ export function isPersistent(obj) {
19
+ return obj !== null && typeof obj === 'object' && PERSISTENT in obj;
20
+ }
21
+ /**
22
+ * Check if an object is a transient (not yet persisted) entity.
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * if (isTransient(user)) {
27
+ * console.log('User not yet saved');
28
+ * }
29
+ * ```
30
+ */
31
+ export function isTransient(obj) {
32
+ return obj !== null && typeof obj === 'object' && TRANSIENT in obj;
33
+ }
34
+ /**
35
+ * Check if an object is a locked entity.
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * if (isLocked(user)) {
40
+ * console.log(user.__lock.lockedAt); // Access lock metadata
41
+ * }
42
+ * ```
43
+ */
44
+ export function isLocked(obj) {
45
+ return (obj !== null &&
46
+ typeof obj === 'object' &&
47
+ '__lock' in obj &&
48
+ Symbol.dispose in obj);
49
+ }
50
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAQ,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC,CAAC,gCAAgC;AAoUhG,iEAAiE;AACjE,4CAA4C;AAE5C,+CAA+C;AAC/C,cAAc;AACd,+CAA+C;AAE/C;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAI,GAAY;IAC1C,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,UAAU,IAAI,GAAG,CAAC;AACtE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAI,GAAY;IACzC,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG,CAAC;AACrE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAI,GAAY;IACtC,OAAO,CACL,GAAG,KAAK,IAAI;QACZ,OAAO,GAAG,KAAK,QAAQ;QACvB,QAAQ,IAAI,GAAG;QACf,MAAM,CAAC,OAAO,IAAI,GAAG,CACtB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { Model, Observable } from './types.js';
2
+ /**
3
+ * Internal: notify all watchers for a dirty set
4
+ */
5
+ export declare function notifyWatchers(dirtySet: Set<string>): void;
6
+ export interface WatchHandle {
7
+ unsubscribe: () => void;
8
+ }
9
+ export interface WatchAsyncIteratorOptions {
10
+ /**
11
+ * If true, coalesce multiple changes into one if consumer is slow.
12
+ * Default: true
13
+ */
14
+ coalesce?: boolean;
15
+ }
16
+ export type Watcher = AsyncGenerator<string[], void, unknown> & Disposable & AsyncDisposable & {
17
+ unsubscribe: () => void;
18
+ };
19
+ /**
20
+ * Watch an observable or model for changes.
21
+ *
22
+ * With callback: invokes callback with dirty paths on each change, returns { unsubscribe }
23
+ * Without callback: returns async generator that yields dirty paths, with unsubscribe() method
24
+ */
25
+ export declare function watch<T extends object>(target: Observable<T> | Model<T>, callback: (paths: string[]) => void): WatchHandle;
26
+ export declare function watch<T extends object>(target: Observable<T> | Model<T>, options?: WatchAsyncIteratorOptions): Watcher;
27
+ //# sourceMappingURL=watch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/models/watch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAOpD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAQ1D;AAgCD,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAC3D,UAAU,GACV,eAAe,GAAG;IAChB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEJ;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,GAClC,WAAW,CAAC;AACf,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAChC,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC"}
@@ -0,0 +1,124 @@
1
+ import { MODEL_INTERNALS, OBSERVABLE_META } from './symbols.js';
2
+ // Registry: dirty set -> Set of callbacks
3
+ const watcherRegistry = new WeakMap();
4
+ /**
5
+ * Internal: notify all watchers for a dirty set
6
+ */
7
+ export function notifyWatchers(dirtySet) {
8
+ const watchers = watcherRegistry.get(dirtySet);
9
+ if (!watchers || watchers.size === 0)
10
+ return;
11
+ const paths = [...dirtySet];
12
+ for (const callback of watchers) {
13
+ callback(paths);
14
+ }
15
+ }
16
+ /**
17
+ * Internal: register a watcher for a dirty set
18
+ */
19
+ function registerWatcher(dirtySet, callback) {
20
+ let watchers = watcherRegistry.get(dirtySet);
21
+ if (!watchers) {
22
+ watchers = new Set();
23
+ watcherRegistry.set(dirtySet, watchers);
24
+ }
25
+ watchers.add(callback);
26
+ // Return unsubscribe function
27
+ return () => {
28
+ watchers?.delete(callback);
29
+ };
30
+ }
31
+ /**
32
+ * Get the dirty set from an observable or model
33
+ */
34
+ function getDirtySet(target) {
35
+ if (OBSERVABLE_META in target) {
36
+ return target[OBSERVABLE_META].dirty;
37
+ }
38
+ if (MODEL_INTERNALS in target) {
39
+ return target[MODEL_INTERNALS].dirty;
40
+ }
41
+ throw new Error('Target is not an observable or model');
42
+ }
43
+ export function watch(target, callbackOrOptions) {
44
+ // Callback mode
45
+ if (typeof callbackOrOptions === 'function') {
46
+ const dirtySet = getDirtySet(target);
47
+ const unsubscribe = registerWatcher(dirtySet, callbackOrOptions);
48
+ return { unsubscribe };
49
+ }
50
+ // Async generator mode
51
+ const options = callbackOrOptions ?? {};
52
+ const { coalesce = true } = options;
53
+ const dirtySet = getDirtySet(target);
54
+ let pendingResolve = null;
55
+ let pendingPaths = null;
56
+ let stopped = false;
57
+ let unsubscribeFn = null;
58
+ const callback = (paths) => {
59
+ if (stopped)
60
+ return;
61
+ if (pendingResolve) {
62
+ // Consumer is waiting, resolve immediately
63
+ pendingResolve({ value: paths, done: false });
64
+ pendingResolve = null;
65
+ }
66
+ else if (coalesce) {
67
+ // Not waiting, coalesce - just keep latest
68
+ pendingPaths = paths;
69
+ }
70
+ else {
71
+ pendingPaths = paths;
72
+ }
73
+ };
74
+ unsubscribeFn = registerWatcher(dirtySet, callback);
75
+ const doUnsubscribe = () => {
76
+ stopped = true;
77
+ if (unsubscribeFn) {
78
+ unsubscribeFn();
79
+ unsubscribeFn = null;
80
+ }
81
+ if (pendingResolve) {
82
+ pendingResolve({ value: undefined, done: true });
83
+ pendingResolve = null;
84
+ }
85
+ };
86
+ const watcher = {
87
+ async next() {
88
+ if (stopped) {
89
+ return { value: undefined, done: true };
90
+ }
91
+ // If we have pending paths from while consumer was busy, return them
92
+ if (pendingPaths !== null) {
93
+ const paths = pendingPaths;
94
+ pendingPaths = null;
95
+ return { value: paths, done: false };
96
+ }
97
+ // Wait for next change
98
+ return new Promise((resolve) => {
99
+ pendingResolve = resolve;
100
+ });
101
+ },
102
+ async return() {
103
+ doUnsubscribe();
104
+ return { value: undefined, done: true };
105
+ },
106
+ async throw(error) {
107
+ doUnsubscribe();
108
+ throw error;
109
+ },
110
+ unsubscribe: doUnsubscribe,
111
+ [Symbol.asyncIterator]() {
112
+ return this;
113
+ },
114
+ [Symbol.dispose]() {
115
+ doUnsubscribe();
116
+ },
117
+ [Symbol.asyncDispose]() {
118
+ doUnsubscribe();
119
+ return Promise.resolve();
120
+ },
121
+ };
122
+ return watcher;
123
+ }
124
+ //# sourceMappingURL=watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/models/watch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Extends Zod with z.ref() for type-safe Ref<T> validation.
3
+ *
4
+ * Usage:
5
+ * ```typescript
6
+ * import { z } from '@justscale/core/models'
7
+ *
8
+ * const EventSchema = z.object({
9
+ * user: z.ref(User),
10
+ * })
11
+ * ```
12
+ */
13
+ import { z as _z } from 'zod';
14
+ import { type Ref } from './types.js';
15
+ declare function ref<T>(_model: {
16
+ new (...args: any[]): T;
17
+ ref(id: string): unknown;
18
+ }): _z.ZodType<Ref<T>>;
19
+ /**
20
+ * Extended Zod with z.ref() for JustScale Ref<T> validation.
21
+ * Drop-in replacement for `import { z } from 'zod'`.
22
+ */
23
+ export declare const z: typeof _z & {
24
+ ref: typeof ref;
25
+ };
26
+ /** Standalone export for direct usage */
27
+ export { ref as zRef };
28
+ /**
29
+ * Module augmentation - makes z.ref() visible in TypeScript
30
+ * even when importing from 'zod' directly. At runtime, only
31
+ * the z exported from '@justscale/core/models' has .ref().
32
+ */
33
+ declare module 'zod' {
34
+ namespace z {
35
+ /**
36
+ * Create a Zod schema that validates a Ref<T>.
37
+ * Accepts Reference<T>, Persistent<T>, or Lock<Persistent<T>>.
38
+ *
39
+ * Note: import z from '@justscale/core/models' for runtime support.
40
+ */
41
+ function ref<T>(_model: {
42
+ new (...args: any[]): T;
43
+ }): _z.ZodType<Ref<T>>;
44
+ }
45
+ }
46
+ //# sourceMappingURL=zod-ref.d.ts.map