everything-dev 1.53.1 → 2.0.0-rc.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 (713) hide show
  1. package/README.md +2 -11
  2. package/dist/_virtual/_rolldown/runtime.cjs +17 -2
  3. package/dist/_virtual/_rolldown/runtime.mjs +36 -0
  4. package/dist/api/auth-middleware.cjs +161 -0
  5. package/dist/api/auth-middleware.cjs.map +1 -0
  6. package/dist/api/auth-middleware.d.cts +69 -0
  7. package/dist/api/auth-middleware.d.mts +69 -0
  8. package/dist/api/auth-middleware.mjs +160 -0
  9. package/dist/api/auth-middleware.mjs.map +1 -0
  10. package/dist/api-contract.cjs +250 -62
  11. package/dist/api-contract.cjs.map +1 -1
  12. package/dist/api-contract.mjs +246 -65
  13. package/dist/api-contract.mjs.map +1 -1
  14. package/dist/app.cjs +99 -26
  15. package/dist/app.cjs.map +1 -1
  16. package/dist/app.d.cts +3 -0
  17. package/dist/app.d.mts +3 -0
  18. package/dist/app.mjs +100 -27
  19. package/dist/app.mjs.map +1 -1
  20. package/dist/auth-login.cjs +163 -0
  21. package/dist/auth-login.cjs.map +1 -0
  22. package/dist/auth-login.mjs +162 -0
  23. package/dist/auth-login.mjs.map +1 -0
  24. package/dist/auth-session.cjs +64 -0
  25. package/dist/auth-session.cjs.map +1 -0
  26. package/dist/auth-session.mjs +58 -0
  27. package/dist/auth-session.mjs.map +1 -0
  28. package/dist/auth-types-gen.cjs +0 -1
  29. package/dist/auth-types-gen.cjs.map +1 -1
  30. package/dist/build.cjs +37 -173
  31. package/dist/build.cjs.map +1 -1
  32. package/dist/build.mjs +37 -171
  33. package/dist/build.mjs.map +1 -1
  34. package/dist/bundle-cache.cjs +74 -0
  35. package/dist/bundle-cache.cjs.map +1 -0
  36. package/dist/bundle-cache.d.cts +27 -0
  37. package/dist/bundle-cache.d.mts +27 -0
  38. package/dist/bundle-cache.mjs +68 -0
  39. package/dist/bundle-cache.mjs.map +1 -0
  40. package/dist/bundle-fs-resolve.cjs +209 -0
  41. package/dist/bundle-fs-resolve.cjs.map +1 -0
  42. package/dist/bundle-fs-resolve.d.cts +76 -0
  43. package/dist/bundle-fs-resolve.d.mts +76 -0
  44. package/dist/bundle-fs-resolve.mjs +202 -0
  45. package/dist/bundle-fs-resolve.mjs.map +1 -0
  46. package/dist/cdn-deploy.cjs +126 -0
  47. package/dist/cdn-deploy.cjs.map +1 -0
  48. package/dist/cdn-deploy.mjs +124 -0
  49. package/dist/cdn-deploy.mjs.map +1 -0
  50. package/dist/cli/db-doctor.cjs +19 -19
  51. package/dist/cli/db-doctor.cjs.map +1 -1
  52. package/dist/cli/db-doctor.mjs +18 -18
  53. package/dist/cli/db-doctor.mjs.map +1 -1
  54. package/dist/cli/db-repair.cjs +9 -32
  55. package/dist/cli/db-repair.cjs.map +1 -1
  56. package/dist/cli/db-repair.mjs +9 -32
  57. package/dist/cli/db-repair.mjs.map +1 -1
  58. package/dist/cli/framework-version.cjs +7 -3
  59. package/dist/cli/framework-version.cjs.map +1 -1
  60. package/dist/cli/framework-version.mjs +7 -3
  61. package/dist/cli/framework-version.mjs.map +1 -1
  62. package/dist/cli/infra.cjs +159 -251
  63. package/dist/cli/infra.cjs.map +1 -1
  64. package/dist/cli/infra.mjs +154 -242
  65. package/dist/cli/infra.mjs.map +1 -1
  66. package/dist/cli/init.cjs +624 -196
  67. package/dist/cli/init.cjs.map +1 -1
  68. package/dist/cli/init.d.cts +61 -8
  69. package/dist/cli/init.d.mts +61 -8
  70. package/dist/cli/init.mjs +613 -194
  71. package/dist/cli/init.mjs.map +1 -1
  72. package/dist/cli/parse.cjs +8 -7
  73. package/dist/cli/parse.cjs.map +1 -1
  74. package/dist/cli/parse.mjs +9 -7
  75. package/dist/cli/parse.mjs.map +1 -1
  76. package/dist/cli/prompts.cjs +14 -1
  77. package/dist/cli/prompts.cjs.map +1 -1
  78. package/dist/cli/prompts.mjs +14 -1
  79. package/dist/cli/prompts.mjs.map +1 -1
  80. package/dist/cli/prune.cjs +220 -0
  81. package/dist/cli/prune.cjs.map +1 -0
  82. package/dist/cli/prune.mjs +220 -0
  83. package/dist/cli/prune.mjs.map +1 -0
  84. package/dist/cli/snapshot.cjs +2 -1
  85. package/dist/cli/snapshot.cjs.map +1 -1
  86. package/dist/cli/snapshot.mjs +2 -1
  87. package/dist/cli/snapshot.mjs.map +1 -1
  88. package/dist/cli/status.cjs +5 -4
  89. package/dist/cli/status.cjs.map +1 -1
  90. package/dist/cli/status.mjs +6 -5
  91. package/dist/cli/status.mjs.map +1 -1
  92. package/dist/cli/sync.cjs +156 -58
  93. package/dist/cli/sync.cjs.map +1 -1
  94. package/dist/cli/sync.mjs +158 -63
  95. package/dist/cli/sync.mjs.map +1 -1
  96. package/dist/cli/timing.cjs +0 -1
  97. package/dist/cli/timing.cjs.map +1 -1
  98. package/dist/cli/upgrade.cjs +95 -69
  99. package/dist/cli/upgrade.cjs.map +1 -1
  100. package/dist/cli/upgrade.mjs +97 -72
  101. package/dist/cli/upgrade.mjs.map +1 -1
  102. package/dist/cli/utils/helpers.cjs.map +1 -1
  103. package/dist/cli.cjs +320 -72
  104. package/dist/cli.cjs.map +1 -1
  105. package/dist/cli.mjs +316 -68
  106. package/dist/cli.mjs.map +1 -1
  107. package/dist/code-artifacts.cjs +76 -8
  108. package/dist/code-artifacts.cjs.map +1 -1
  109. package/dist/code-artifacts.mjs +76 -10
  110. package/dist/code-artifacts.mjs.map +1 -1
  111. package/dist/commands/build.cjs +65 -0
  112. package/dist/commands/build.cjs.map +1 -0
  113. package/dist/commands/build.mjs +65 -0
  114. package/dist/commands/build.mjs.map +1 -0
  115. package/dist/commands/config.cjs +77 -0
  116. package/dist/commands/config.cjs.map +1 -0
  117. package/dist/commands/config.d.cts +8 -0
  118. package/dist/commands/config.d.mts +8 -0
  119. package/dist/commands/config.mjs +74 -0
  120. package/dist/commands/config.mjs.map +1 -0
  121. package/dist/commands/db.cjs +107 -0
  122. package/dist/commands/db.cjs.map +1 -0
  123. package/dist/commands/db.mjs +107 -0
  124. package/dist/commands/db.mjs.map +1 -0
  125. package/dist/commands/deploy.cjs +336 -0
  126. package/dist/commands/deploy.cjs.map +1 -0
  127. package/dist/commands/deploy.mjs +334 -0
  128. package/dist/commands/deploy.mjs.map +1 -0
  129. package/dist/commands/dev.cjs +75 -0
  130. package/dist/commands/dev.cjs.map +1 -0
  131. package/dist/commands/dev.mjs +73 -0
  132. package/dist/commands/dev.mjs.map +1 -0
  133. package/dist/commands/init.cjs +234 -0
  134. package/dist/commands/init.cjs.map +1 -0
  135. package/dist/commands/init.mjs +231 -0
  136. package/dist/commands/init.mjs.map +1 -0
  137. package/dist/commands/keys.cjs +255 -0
  138. package/dist/commands/keys.cjs.map +1 -0
  139. package/dist/commands/keys.mjs +253 -0
  140. package/dist/commands/keys.mjs.map +1 -0
  141. package/dist/commands/ops.cjs +199 -0
  142. package/dist/commands/ops.cjs.map +1 -0
  143. package/dist/commands/ops.mjs +197 -0
  144. package/dist/commands/ops.mjs.map +1 -0
  145. package/dist/commands/plugins.cjs +211 -0
  146. package/dist/commands/plugins.cjs.map +1 -0
  147. package/dist/commands/plugins.mjs +211 -0
  148. package/dist/commands/plugins.mjs.map +1 -0
  149. package/dist/commands/shared.cjs +8 -0
  150. package/dist/commands/shared.cjs.map +1 -0
  151. package/dist/commands/shared.d.cts +6 -0
  152. package/dist/commands/shared.d.mts +6 -0
  153. package/dist/commands/shared.mjs +8 -0
  154. package/dist/commands/shared.mjs.map +1 -0
  155. package/dist/commands/upgrade.cjs +325 -0
  156. package/dist/commands/upgrade.cjs.map +1 -0
  157. package/dist/commands/upgrade.mjs +323 -0
  158. package/dist/commands/upgrade.mjs.map +1 -0
  159. package/dist/components/dev-render.cjs +340 -0
  160. package/dist/components/dev-render.cjs.map +1 -0
  161. package/dist/components/dev-render.mjs +332 -0
  162. package/dist/components/dev-render.mjs.map +1 -0
  163. package/dist/config.cjs +460 -221
  164. package/dist/config.cjs.map +1 -1
  165. package/dist/config.d.cts +491 -48
  166. package/dist/config.d.mts +491 -48
  167. package/dist/config.mjs +439 -212
  168. package/dist/config.mjs.map +1 -1
  169. package/dist/contract.cjs +327 -50
  170. package/dist/contract.cjs.map +1 -1
  171. package/dist/contract.d.cts +1951 -1062
  172. package/dist/contract.d.mts +1951 -1062
  173. package/dist/contract.meta.cjs +107 -12
  174. package/dist/contract.meta.cjs.map +1 -1
  175. package/dist/contract.meta.d.cts +166 -8
  176. package/dist/contract.meta.d.mts +166 -8
  177. package/dist/contract.meta.mjs +107 -11
  178. package/dist/contract.meta.mjs.map +1 -1
  179. package/dist/contract.mjs +580 -327
  180. package/dist/contract.mjs.map +1 -1
  181. package/dist/dag.cjs +5 -3
  182. package/dist/dag.cjs.map +1 -1
  183. package/dist/dag.mjs +6 -3
  184. package/dist/dag.mjs.map +1 -1
  185. package/dist/db/binding.cjs +80 -0
  186. package/dist/db/binding.cjs.map +1 -0
  187. package/dist/db/binding.d.cts +39 -0
  188. package/dist/db/binding.d.mts +39 -0
  189. package/dist/db/binding.mjs +78 -0
  190. package/dist/db/binding.mjs.map +1 -0
  191. package/dist/db/bindings.cjs +78 -0
  192. package/dist/db/bindings.cjs.map +1 -0
  193. package/dist/db/bindings.d.cts +34 -0
  194. package/dist/db/bindings.d.mts +34 -0
  195. package/dist/db/bindings.mjs +76 -0
  196. package/dist/db/bindings.mjs.map +1 -0
  197. package/dist/db/core.cjs +204 -0
  198. package/dist/db/core.cjs.map +1 -0
  199. package/dist/db/core.d.cts +69 -0
  200. package/dist/db/core.d.mts +69 -0
  201. package/dist/db/core.mjs +192 -0
  202. package/dist/db/core.mjs.map +1 -0
  203. package/dist/db/driver.cjs +167 -0
  204. package/dist/db/driver.cjs.map +1 -0
  205. package/dist/db/driver.d.cts +50 -0
  206. package/dist/db/driver.d.mts +50 -0
  207. package/dist/db/driver.mjs +165 -0
  208. package/dist/db/driver.mjs.map +1 -0
  209. package/dist/db/drizzle-kit.cjs +177 -0
  210. package/dist/db/drizzle-kit.cjs.map +1 -0
  211. package/dist/db/drizzle-kit.d.cts +25 -0
  212. package/dist/db/drizzle-kit.d.mts +25 -0
  213. package/dist/db/drizzle-kit.mjs +175 -0
  214. package/dist/db/drizzle-kit.mjs.map +1 -0
  215. package/dist/db/errors.cjs +27 -0
  216. package/dist/db/errors.cjs.map +1 -0
  217. package/dist/db/errors.d.cts +16 -0
  218. package/dist/db/errors.d.mts +16 -0
  219. package/dist/db/errors.mjs +26 -0
  220. package/dist/db/errors.mjs.map +1 -0
  221. package/dist/db/identity.cjs +55 -0
  222. package/dist/db/identity.cjs.map +1 -0
  223. package/dist/db/identity.d.cts +40 -0
  224. package/dist/db/identity.d.mts +40 -0
  225. package/dist/db/identity.mjs +53 -0
  226. package/dist/db/identity.mjs.map +1 -0
  227. package/dist/db/index.cjs +43 -0
  228. package/dist/db/index.d.cts +9 -0
  229. package/dist/db/index.d.mts +9 -0
  230. package/dist/db/index.mjs +10 -0
  231. package/dist/db/run-migrations.cjs +343 -0
  232. package/dist/db/run-migrations.cjs.map +1 -0
  233. package/dist/db/run-migrations.d.cts +87 -0
  234. package/dist/db/run-migrations.d.mts +87 -0
  235. package/dist/db/run-migrations.mjs +341 -0
  236. package/dist/db/run-migrations.mjs.map +1 -0
  237. package/dist/delegate-signer.cjs +85 -0
  238. package/dist/delegate-signer.cjs.map +1 -0
  239. package/dist/delegate-signer.mjs +84 -0
  240. package/dist/delegate-signer.mjs.map +1 -0
  241. package/dist/deploy-diff.cjs +119 -0
  242. package/dist/deploy-diff.cjs.map +1 -0
  243. package/dist/deploy-diff.mjs +109 -0
  244. package/dist/deploy-diff.mjs.map +1 -0
  245. package/dist/descriptor/constructors.cjs +49 -0
  246. package/dist/descriptor/constructors.cjs.map +1 -0
  247. package/dist/descriptor/constructors.d.cts +27 -0
  248. package/dist/descriptor/constructors.d.mts +27 -0
  249. package/dist/descriptor/constructors.mjs +45 -0
  250. package/dist/descriptor/constructors.mjs.map +1 -0
  251. package/dist/descriptor/index.cjs +24 -0
  252. package/dist/descriptor/index.d.cts +5 -0
  253. package/dist/descriptor/index.d.mts +5 -0
  254. package/dist/descriptor/index.mjs +6 -0
  255. package/dist/descriptor/resolve.cjs +258 -0
  256. package/dist/descriptor/resolve.cjs.map +1 -0
  257. package/dist/descriptor/resolve.d.cts +50 -0
  258. package/dist/descriptor/resolve.d.mts +50 -0
  259. package/dist/descriptor/resolve.mjs +252 -0
  260. package/dist/descriptor/resolve.mjs.map +1 -0
  261. package/dist/descriptor/schema.cjs +109 -0
  262. package/dist/descriptor/schema.cjs.map +1 -0
  263. package/dist/descriptor/schema.d.cts +217 -0
  264. package/dist/descriptor/schema.d.mts +217 -0
  265. package/dist/descriptor/schema.mjs +102 -0
  266. package/dist/descriptor/schema.mjs.map +1 -0
  267. package/dist/descriptor/serialize.cjs +45 -0
  268. package/dist/descriptor/serialize.cjs.map +1 -0
  269. package/dist/descriptor/serialize.d.cts +7 -0
  270. package/dist/descriptor/serialize.d.mts +7 -0
  271. package/dist/descriptor/serialize.mjs +45 -0
  272. package/dist/descriptor/serialize.mjs.map +1 -0
  273. package/dist/dev-log-pipeline.cjs +273 -0
  274. package/dist/dev-log-pipeline.cjs.map +1 -0
  275. package/dist/dev-log-pipeline.mjs +267 -0
  276. package/dist/dev-log-pipeline.mjs.map +1 -0
  277. package/dist/dev-logs.cjs +39 -8
  278. package/dist/dev-logs.cjs.map +1 -1
  279. package/dist/dev-logs.mjs +37 -9
  280. package/dist/dev-logs.mjs.map +1 -1
  281. package/dist/dev-program.cjs +405 -0
  282. package/dist/dev-program.cjs.map +1 -0
  283. package/dist/dev-program.d.cts +10 -0
  284. package/dist/dev-program.d.mts +10 -0
  285. package/dist/dev-program.mjs +395 -0
  286. package/dist/dev-program.mjs.map +1 -0
  287. package/dist/dev-session-data.d.cts +27 -0
  288. package/dist/dev-session-data.d.mts +27 -0
  289. package/dist/dev-session.cjs +178 -105
  290. package/dist/dev-session.cjs.map +1 -1
  291. package/dist/dev-session.mjs +180 -105
  292. package/dist/dev-session.mjs.map +1 -1
  293. package/dist/env/process-env.cjs +16 -0
  294. package/dist/env/process-env.cjs.map +1 -0
  295. package/dist/env/process-env.mjs +13 -0
  296. package/dist/env/process-env.mjs.map +1 -0
  297. package/dist/env/project-env.cjs +144 -0
  298. package/dist/env/project-env.cjs.map +1 -0
  299. package/dist/env/project-env.d.cts +1 -0
  300. package/dist/env/project-env.d.mts +1 -0
  301. package/dist/env/project-env.mjs +132 -0
  302. package/dist/env/project-env.mjs.map +1 -0
  303. package/dist/fastkv.cjs +59 -12
  304. package/dist/fastkv.cjs.map +1 -1
  305. package/dist/fastkv.d.cts +42 -6
  306. package/dist/fastkv.d.mts +42 -6
  307. package/dist/fastkv.mjs +58 -13
  308. package/dist/fastkv.mjs.map +1 -1
  309. package/dist/fingerprint.cjs +57 -0
  310. package/dist/fingerprint.cjs.map +1 -0
  311. package/dist/fingerprint.d.cts +14 -0
  312. package/dist/fingerprint.d.mts +14 -0
  313. package/dist/fingerprint.mjs +55 -0
  314. package/dist/fingerprint.mjs.map +1 -0
  315. package/dist/http-client.cjs +17 -17
  316. package/dist/http-client.cjs.map +1 -1
  317. package/dist/http-client.mjs +17 -17
  318. package/dist/http-client.mjs.map +1 -1
  319. package/dist/image-deploy.cjs +186 -0
  320. package/dist/image-deploy.cjs.map +1 -0
  321. package/dist/image-deploy.mjs +182 -0
  322. package/dist/image-deploy.mjs.map +1 -0
  323. package/dist/index.cjs +66 -18
  324. package/dist/index.d.cts +8 -7
  325. package/dist/index.d.mts +8 -7
  326. package/dist/index.mjs +6 -5
  327. package/dist/infra/docker.cjs +77 -0
  328. package/dist/infra/docker.cjs.map +1 -0
  329. package/dist/infra/docker.d.cts +10 -0
  330. package/dist/infra/docker.d.mts +10 -0
  331. package/dist/infra/docker.mjs +69 -0
  332. package/dist/infra/docker.mjs.map +1 -0
  333. package/dist/infra/materializer.cjs +74 -0
  334. package/dist/infra/materializer.cjs.map +1 -0
  335. package/dist/infra/materializer.mjs +70 -0
  336. package/dist/infra/materializer.mjs.map +1 -0
  337. package/dist/infra/planner.cjs +135 -103
  338. package/dist/infra/planner.cjs.map +1 -1
  339. package/dist/infra/planner.mjs +137 -104
  340. package/dist/infra/planner.mjs.map +1 -1
  341. package/dist/infra/port-ownership.cjs +57 -0
  342. package/dist/infra/port-ownership.cjs.map +1 -0
  343. package/dist/infra/port-ownership.mjs +57 -0
  344. package/dist/infra/port-ownership.mjs.map +1 -0
  345. package/dist/infra/preflight.cjs +45 -33
  346. package/dist/infra/preflight.cjs.map +1 -1
  347. package/dist/infra/preflight.d.cts +1 -0
  348. package/dist/infra/preflight.d.mts +1 -0
  349. package/dist/infra/preflight.mjs +46 -34
  350. package/dist/infra/preflight.mjs.map +1 -1
  351. package/dist/infra/types.cjs.map +1 -1
  352. package/dist/infra/types.d.cts +2 -0
  353. package/dist/infra/types.d.mts +2 -0
  354. package/dist/infra/types.mjs.map +1 -1
  355. package/dist/integrity.cjs +50 -61
  356. package/dist/integrity.cjs.map +1 -1
  357. package/dist/integrity.d.cts +16 -10
  358. package/dist/integrity.d.mts +16 -10
  359. package/dist/integrity.mjs +50 -59
  360. package/dist/integrity.mjs.map +1 -1
  361. package/dist/internal/manifest-normalizer.cjs +8 -2
  362. package/dist/internal/manifest-normalizer.cjs.map +1 -1
  363. package/dist/internal/manifest-normalizer.mjs +9 -3
  364. package/dist/internal/manifest-normalizer.mjs.map +1 -1
  365. package/dist/merge.cjs +19 -1
  366. package/dist/merge.cjs.map +1 -1
  367. package/dist/merge.d.cts +1 -1
  368. package/dist/merge.d.mts +1 -1
  369. package/dist/merge.mjs +19 -2
  370. package/dist/merge.mjs.map +1 -1
  371. package/dist/mf.cjs +190 -3
  372. package/dist/mf.cjs.map +1 -1
  373. package/dist/mf.d.cts +24 -2
  374. package/dist/mf.d.mts +24 -2
  375. package/dist/mf.mjs +189 -4
  376. package/dist/mf.mjs.map +1 -1
  377. package/dist/near-cli.cjs +59 -91
  378. package/dist/near-cli.cjs.map +1 -1
  379. package/dist/near-cli.mjs +58 -90
  380. package/dist/near-cli.mjs.map +1 -1
  381. package/dist/near-signer.cjs +73 -0
  382. package/dist/near-signer.cjs.map +1 -0
  383. package/dist/near-signer.mjs +70 -0
  384. package/dist/near-signer.mjs.map +1 -0
  385. package/dist/network.cjs +0 -1
  386. package/dist/network.cjs.map +1 -1
  387. package/dist/orchestrator.cjs +256 -87
  388. package/dist/orchestrator.cjs.map +1 -1
  389. package/dist/orchestrator.mjs +248 -87
  390. package/dist/orchestrator.mjs.map +1 -1
  391. package/dist/platform-deploy.cjs +81 -0
  392. package/dist/platform-deploy.cjs.map +1 -0
  393. package/dist/platform-deploy.mjs +80 -0
  394. package/dist/platform-deploy.mjs.map +1 -0
  395. package/dist/plugin.cjs +54 -1389
  396. package/dist/plugin.cjs.map +1 -1
  397. package/dist/plugin.d.cts +6 -896
  398. package/dist/plugin.d.mts +6 -896
  399. package/dist/plugin.mjs +53 -1387
  400. package/dist/plugin.mjs.map +1 -1
  401. package/dist/process-kill.cjs +44 -0
  402. package/dist/process-kill.cjs.map +1 -0
  403. package/dist/process-kill.mjs +43 -0
  404. package/dist/process-kill.mjs.map +1 -0
  405. package/dist/process-registry.cjs +64 -9
  406. package/dist/process-registry.cjs.map +1 -1
  407. package/dist/process-registry.mjs +61 -10
  408. package/dist/process-registry.mjs.map +1 -1
  409. package/dist/progress.cjs +45 -0
  410. package/dist/progress.cjs.map +1 -0
  411. package/dist/progress.d.cts +13 -0
  412. package/dist/progress.d.mts +13 -0
  413. package/dist/progress.mjs +42 -0
  414. package/dist/progress.mjs.map +1 -0
  415. package/dist/publish.cjs +513 -79
  416. package/dist/publish.cjs.map +1 -1
  417. package/dist/publish.mjs +515 -82
  418. package/dist/publish.mjs.map +1 -1
  419. package/dist/registry-use.cjs +41 -0
  420. package/dist/registry-use.cjs.map +1 -0
  421. package/dist/registry-use.mjs +40 -0
  422. package/dist/registry-use.mjs.map +1 -0
  423. package/dist/resolution/session.cjs +335 -0
  424. package/dist/resolution/session.cjs.map +1 -0
  425. package/dist/resolution/session.d.cts +105 -0
  426. package/dist/resolution/session.d.mts +105 -0
  427. package/dist/resolution/session.mjs +331 -0
  428. package/dist/resolution/session.mjs.map +1 -0
  429. package/dist/rollback.cjs +131 -0
  430. package/dist/rollback.cjs.map +1 -0
  431. package/dist/rollback.mjs +128 -0
  432. package/dist/rollback.mjs.map +1 -0
  433. package/dist/sdk.cjs +7 -7
  434. package/dist/sdk.d.cts +3 -3
  435. package/dist/sdk.d.mts +3 -3
  436. package/dist/sdk.mjs +2 -2
  437. package/dist/service-descriptor.cjs +67 -34
  438. package/dist/service-descriptor.cjs.map +1 -1
  439. package/dist/service-descriptor.d.cts +4 -1
  440. package/dist/service-descriptor.d.mts +3 -0
  441. package/dist/service-descriptor.mjs +63 -35
  442. package/dist/service-descriptor.mjs.map +1 -1
  443. package/dist/shared-deps.cjs +17 -16
  444. package/dist/shared-deps.cjs.map +1 -1
  445. package/dist/shared-deps.mjs +17 -16
  446. package/dist/shared-deps.mjs.map +1 -1
  447. package/dist/start-config-source.cjs +24 -0
  448. package/dist/start-config-source.cjs.map +1 -0
  449. package/dist/start-config-source.d.cts +29 -0
  450. package/dist/start-config-source.d.mts +29 -0
  451. package/dist/start-config-source.mjs +22 -0
  452. package/dist/start-config-source.mjs.map +1 -0
  453. package/dist/storage-upload.cjs +145 -0
  454. package/dist/storage-upload.cjs.map +1 -0
  455. package/dist/storage-upload.mjs +143 -0
  456. package/dist/storage-upload.mjs.map +1 -0
  457. package/dist/types.cjs +126 -20
  458. package/dist/types.cjs.map +1 -1
  459. package/dist/types.d.cts +867 -585
  460. package/dist/types.d.mts +867 -585
  461. package/dist/types.mjs +307 -208
  462. package/dist/types.mjs.map +1 -1
  463. package/dist/ui/api.cjs +105 -0
  464. package/dist/ui/api.cjs.map +1 -0
  465. package/dist/ui/api.d.cts +31 -0
  466. package/dist/ui/api.d.mts +31 -0
  467. package/dist/ui/api.mjs +99 -0
  468. package/dist/ui/api.mjs.map +1 -0
  469. package/dist/ui/auth-guards.cjs +50 -0
  470. package/dist/ui/auth-guards.cjs.map +1 -0
  471. package/dist/ui/auth-guards.d.cts +39 -0
  472. package/dist/ui/auth-guards.d.mts +39 -0
  473. package/dist/ui/auth-guards.mjs +48 -0
  474. package/dist/ui/auth-guards.mjs.map +1 -0
  475. package/dist/ui/auth.cjs +197 -0
  476. package/dist/ui/auth.cjs.map +1 -0
  477. package/dist/ui/auth.d.cts +56 -0
  478. package/dist/ui/auth.d.mts +56 -0
  479. package/dist/ui/auth.mjs +179 -0
  480. package/dist/ui/auth.mjs.map +1 -0
  481. package/dist/ui/entry.cjs +16 -0
  482. package/dist/ui/entry.cjs.map +1 -0
  483. package/dist/ui/entry.d.cts +12 -0
  484. package/dist/ui/entry.d.mts +12 -0
  485. package/dist/ui/entry.mjs +15 -0
  486. package/dist/ui/entry.mjs.map +1 -0
  487. package/dist/ui/head.cjs +14 -7
  488. package/dist/ui/head.cjs.map +1 -1
  489. package/dist/ui/head.mjs +15 -7
  490. package/dist/ui/head.mjs.map +1 -1
  491. package/dist/ui/hydrate.cjs +265 -0
  492. package/dist/ui/hydrate.cjs.map +1 -0
  493. package/dist/ui/hydrate.d.cts +48 -0
  494. package/dist/ui/hydrate.d.mts +48 -0
  495. package/dist/ui/hydrate.mjs +263 -0
  496. package/dist/ui/hydrate.mjs.map +1 -0
  497. package/dist/ui/i18n.cjs +153 -0
  498. package/dist/ui/i18n.cjs.map +1 -0
  499. package/dist/ui/i18n.d.cts +29 -0
  500. package/dist/ui/i18n.d.mts +29 -0
  501. package/dist/ui/i18n.mjs +140 -0
  502. package/dist/ui/i18n.mjs.map +1 -0
  503. package/dist/ui/index.cjs +19 -1
  504. package/dist/ui/index.d.cts +6 -3
  505. package/dist/ui/index.d.mts +6 -3
  506. package/dist/ui/index.mjs +5 -2
  507. package/dist/ui/locale.cjs +53 -0
  508. package/dist/ui/locale.cjs.map +1 -0
  509. package/dist/ui/locale.d.cts +18 -0
  510. package/dist/ui/locale.d.mts +18 -0
  511. package/dist/ui/locale.mjs +49 -0
  512. package/dist/ui/locale.mjs.map +1 -0
  513. package/dist/ui/manifest/index.cjs +25 -0
  514. package/dist/ui/manifest/index.cjs.map +1 -0
  515. package/dist/ui/manifest/index.d.cts +9 -0
  516. package/dist/ui/manifest/index.d.mts +9 -0
  517. package/dist/ui/manifest/index.mjs +13 -0
  518. package/dist/ui/manifest/index.mjs.map +1 -0
  519. package/dist/ui/manifest-generator.cjs +8 -0
  520. package/dist/ui/manifest-generator.d.cts +1 -0
  521. package/dist/ui/manifest-generator.d.mts +1 -0
  522. package/dist/ui/manifest-generator.mjs +3 -0
  523. package/dist/ui/message-catalogs.cjs +8 -0
  524. package/dist/ui/message-catalogs.cjs.map +1 -0
  525. package/dist/ui/message-catalogs.d.cts +5 -0
  526. package/dist/ui/message-catalogs.d.mts +5 -0
  527. package/dist/ui/message-catalogs.mjs +8 -0
  528. package/dist/ui/message-catalogs.mjs.map +1 -0
  529. package/dist/ui/metadata.cjs +0 -1
  530. package/dist/ui/metadata.cjs.map +1 -1
  531. package/dist/ui/metadata.d.cts +1 -1
  532. package/dist/ui/metadata.d.mts +1 -1
  533. package/dist/ui/plugin-path.cjs +37 -0
  534. package/dist/ui/plugin-path.cjs.map +1 -0
  535. package/dist/ui/plugin-path.d.cts +25 -0
  536. package/dist/ui/plugin-path.d.mts +25 -0
  537. package/dist/ui/plugin-path.mjs +35 -0
  538. package/dist/ui/plugin-path.mjs.map +1 -0
  539. package/dist/ui/router-client.cjs +61 -0
  540. package/dist/ui/router-client.cjs.map +1 -0
  541. package/dist/ui/router-client.d.cts +20 -0
  542. package/dist/ui/router-client.d.mts +20 -0
  543. package/dist/ui/router-client.mjs +60 -0
  544. package/dist/ui/router-client.mjs.map +1 -0
  545. package/dist/ui/router-defaults.cjs +48 -0
  546. package/dist/ui/router-defaults.cjs.map +1 -0
  547. package/dist/ui/router-defaults.d.cts +8 -0
  548. package/dist/ui/router-defaults.d.mts +8 -0
  549. package/dist/ui/router-defaults.mjs +45 -0
  550. package/dist/ui/router-defaults.mjs.map +1 -0
  551. package/dist/ui/router-error.cjs +70 -0
  552. package/dist/ui/router-error.cjs.map +1 -0
  553. package/dist/ui/router-error.d.cts +19 -0
  554. package/dist/ui/router-error.d.mts +19 -0
  555. package/dist/ui/router-error.mjs +69 -0
  556. package/dist/ui/router-error.mjs.map +1 -0
  557. package/dist/ui/router-server.cjs +153 -0
  558. package/dist/ui/router-server.cjs.map +1 -0
  559. package/dist/ui/router-server.d.cts +38 -0
  560. package/dist/ui/router-server.d.mts +38 -0
  561. package/dist/ui/router-server.mjs +152 -0
  562. package/dist/ui/router-server.mjs.map +1 -0
  563. package/dist/ui/router.cjs +4 -16
  564. package/dist/ui/router.cjs.map +1 -1
  565. package/dist/ui/router.mjs +4 -15
  566. package/dist/ui/router.mjs.map +1 -1
  567. package/dist/ui/runtime.cjs +5 -1
  568. package/dist/ui/runtime.cjs.map +1 -1
  569. package/dist/ui/runtime.d.cts +2 -1
  570. package/dist/ui/runtime.d.mts +2 -1
  571. package/dist/ui/runtime.mjs +5 -1
  572. package/dist/ui/runtime.mjs.map +1 -1
  573. package/dist/ui/slot.cjs +34 -0
  574. package/dist/ui/slot.cjs.map +1 -0
  575. package/dist/ui/slot.d.cts +43 -0
  576. package/dist/ui/slot.d.mts +43 -0
  577. package/dist/ui/slot.mjs +34 -0
  578. package/dist/ui/slot.mjs.map +1 -0
  579. package/dist/ui/tenant.cjs +300 -0
  580. package/dist/ui/tenant.cjs.map +1 -0
  581. package/dist/ui/tenant.d.cts +122 -0
  582. package/dist/ui/tenant.d.mts +122 -0
  583. package/dist/ui/tenant.mjs +279 -0
  584. package/dist/ui/tenant.mjs.map +1 -0
  585. package/dist/ui/types.d.cts +32 -2
  586. package/dist/ui/types.d.mts +32 -2
  587. package/dist/ui/version-check.cjs +47 -0
  588. package/dist/ui/version-check.cjs.map +1 -0
  589. package/dist/ui/version-check.d.cts +23 -0
  590. package/dist/ui/version-check.d.mts +23 -0
  591. package/dist/ui/version-check.mjs +46 -0
  592. package/dist/ui/version-check.mjs.map +1 -0
  593. package/dist/utils/banner.cjs +2 -2
  594. package/dist/utils/banner.cjs.map +1 -1
  595. package/dist/utils/banner.mjs +2 -2
  596. package/dist/utils/banner.mjs.map +1 -1
  597. package/dist/utils/linkify.cjs +1 -1
  598. package/dist/utils/linkify.cjs.map +1 -1
  599. package/dist/utils/linkify.mjs +1 -0
  600. package/dist/utils/linkify.mjs.map +1 -1
  601. package/dist/utils/run.cjs +6 -6
  602. package/dist/utils/run.cjs.map +1 -1
  603. package/dist/utils/run.mjs +6 -6
  604. package/dist/utils/run.mjs.map +1 -1
  605. package/dist/utils/save-config.cjs +12 -0
  606. package/dist/utils/save-config.cjs.map +1 -1
  607. package/dist/utils/save-config.mjs +12 -0
  608. package/dist/utils/save-config.mjs.map +1 -1
  609. package/dist/utils/snapshot-hash.cjs +10 -0
  610. package/dist/utils/snapshot-hash.cjs.map +1 -0
  611. package/dist/utils/snapshot-hash.mjs +10 -0
  612. package/dist/utils/snapshot-hash.mjs.map +1 -0
  613. package/dist/utils/string.cjs +0 -1
  614. package/dist/utils/string.cjs.map +1 -1
  615. package/dist/utils/theme.cjs +30 -12
  616. package/dist/utils/theme.cjs.map +1 -1
  617. package/dist/utils/theme.mjs +30 -11
  618. package/dist/utils/theme.mjs.map +1 -1
  619. package/dist/version-manifest-deploy.cjs +50 -0
  620. package/dist/version-manifest-deploy.cjs.map +1 -0
  621. package/dist/version-manifest-deploy.mjs +49 -0
  622. package/dist/version-manifest-deploy.mjs.map +1 -0
  623. package/dist/version-manifest-resolve.cjs +42 -0
  624. package/dist/version-manifest-resolve.cjs.map +1 -0
  625. package/dist/version-manifest-resolve.d.cts +38 -0
  626. package/dist/version-manifest-resolve.d.mts +38 -0
  627. package/dist/version-manifest-resolve.mjs +40 -0
  628. package/dist/version-manifest-resolve.mjs.map +1 -0
  629. package/dist/version-status.cjs +18 -0
  630. package/dist/version-status.cjs.map +1 -0
  631. package/dist/version-status.d.cts +22 -0
  632. package/dist/version-status.d.mts +22 -0
  633. package/dist/version-status.mjs +17 -0
  634. package/dist/version-status.mjs.map +1 -0
  635. package/dist/workspace-catalog.cjs +53 -0
  636. package/dist/workspace-catalog.cjs.map +1 -0
  637. package/dist/workspace-catalog.mjs +51 -0
  638. package/dist/workspace-catalog.mjs.map +1 -0
  639. package/dist/workspace.cjs +237 -0
  640. package/dist/workspace.cjs.map +1 -0
  641. package/dist/workspace.mjs +233 -0
  642. package/dist/workspace.mjs.map +1 -0
  643. package/package.json +179 -27
  644. package/skills/add-a-route/SKILL.md +132 -0
  645. package/skills/api-and-auth/SKILL.md +87 -21
  646. package/skills/api-and-auth/references/middleware.md +1 -1
  647. package/skills/cli-reference/SKILL.md +48 -21
  648. package/skills/code-style/SKILL.md +8 -0
  649. package/skills/dev-workflow/SKILL.md +50 -26
  650. package/skills/extends-config/SKILL.md +31 -19
  651. package/skills/init-upgrade/SKILL.md +29 -16
  652. package/skills/plugin-development/SKILL.md +46 -112
  653. package/skills/plugin-development/references/database.md +82 -0
  654. package/skills/plugin-development/references/request-context.md +67 -0
  655. package/skills/publish-sync/SKILL.md +99 -22
  656. package/skills/registry/SKILL.md +82 -0
  657. package/skills/super-app/SKILL.md +25 -15
  658. package/skills/talk-to-the-app/SKILL.md +138 -0
  659. package/skills/ui-integration/SKILL.md +93 -11
  660. package/dist/cli/db-studio.cjs +0 -131
  661. package/dist/cli/db-studio.cjs.map +0 -1
  662. package/dist/cli/db-studio.mjs +0 -127
  663. package/dist/cli/db-studio.mjs.map +0 -1
  664. package/dist/cli/init.d.cts.map +0 -1
  665. package/dist/cli/init.d.mts.map +0 -1
  666. package/dist/components/dev-view.cjs +0 -309
  667. package/dist/components/dev-view.cjs.map +0 -1
  668. package/dist/components/dev-view.mjs +0 -309
  669. package/dist/components/dev-view.mjs.map +0 -1
  670. package/dist/components/streaming-view.cjs +0 -134
  671. package/dist/components/streaming-view.cjs.map +0 -1
  672. package/dist/components/streaming-view.mjs +0 -132
  673. package/dist/components/streaming-view.mjs.map +0 -1
  674. package/dist/config.d.cts.map +0 -1
  675. package/dist/config.d.mts.map +0 -1
  676. package/dist/contract.d.cts.map +0 -1
  677. package/dist/contract.d.mts.map +0 -1
  678. package/dist/contract.meta.d.cts.map +0 -1
  679. package/dist/contract.meta.d.mts.map +0 -1
  680. package/dist/dag.d.cts.map +0 -1
  681. package/dist/dag.d.mts.map +0 -1
  682. package/dist/db.cjs +0 -81
  683. package/dist/db.cjs.map +0 -1
  684. package/dist/db.d.cts +0 -30
  685. package/dist/db.d.cts.map +0 -1
  686. package/dist/db.d.mts +0 -30
  687. package/dist/db.d.mts.map +0 -1
  688. package/dist/db.mjs +0 -75
  689. package/dist/db.mjs.map +0 -1
  690. package/dist/fastkv.d.cts.map +0 -1
  691. package/dist/fastkv.d.mts.map +0 -1
  692. package/dist/integrity.d.cts.map +0 -1
  693. package/dist/integrity.d.mts.map +0 -1
  694. package/dist/merge.d.cts.map +0 -1
  695. package/dist/merge.d.mts.map +0 -1
  696. package/dist/mf.d.cts.map +0 -1
  697. package/dist/mf.d.mts.map +0 -1
  698. package/dist/plugin.d.cts.map +0 -1
  699. package/dist/plugin.d.mts.map +0 -1
  700. package/dist/service-descriptor.d.cts.map +0 -1
  701. package/dist/service-descriptor.d.mts.map +0 -1
  702. package/dist/types.d.cts.map +0 -1
  703. package/dist/types.d.mts.map +0 -1
  704. package/dist/ui/head.d.cts.map +0 -1
  705. package/dist/ui/head.d.mts.map +0 -1
  706. package/dist/ui/metadata.d.cts.map +0 -1
  707. package/dist/ui/metadata.d.mts.map +0 -1
  708. package/dist/ui/router.d.cts.map +0 -1
  709. package/dist/ui/router.d.mts.map +0 -1
  710. package/dist/ui/runtime.d.cts.map +0 -1
  711. package/dist/ui/runtime.d.mts.map +0 -1
  712. package/dist/ui/types.d.cts.map +0 -1
  713. package/dist/ui/types.d.mts.map +0 -1
@@ -1,52 +1,69 @@
1
- const require_mf = require('./mf.cjs');
2
1
  const require_service_descriptor = require('./service-descriptor.cjs');
2
+ const require_dev_log_pipeline = require('./dev-log-pipeline.cjs');
3
+ const require_mf = require('./mf.cjs');
4
+ const require_project_env = require('./env/project-env.cjs');
3
5
  let effect = require("effect");
4
- let _effect_platform = require("@effect/platform");
6
+ let node_child_process = require("node:child_process");
7
+ let node_stream = require("node:stream");
5
8
 
6
9
  //#region src/orchestrator.ts
10
+ const warnOutsideEffect = (...args) => {
11
+ console.warn(...args);
12
+ };
13
+ const runFetch = (url, init) => fetch(url, init);
7
14
  process.on("unhandledRejection", (reason) => {
8
15
  console.error("[Orchestrator] Unhandled rejection:", reason);
9
16
  });
10
17
  process.on("uncaughtException", (err) => {
11
18
  console.error("[Orchestrator] Uncaught exception:", err);
12
19
  });
13
- const stripAnsi = (input) => {
14
- const ESC = String.fromCharCode(27);
15
- const BEL = String.fromCharCode(7);
16
- return input.replace(new RegExp(`${ESC}\\][^${BEL}]*${BEL}`, "g"), "").replace(new RegExp(`${ESC}\\[[0-?]*[ -/]*[@-~]`, "g"), "");
20
+ var OrchestratorError = class extends effect.Data.TaggedError("OrchestratorError") {
21
+ get message() {
22
+ return `${this.operation}: ${this.detail}`;
23
+ }
24
+ };
25
+ const omitUndefined = (value) => {
26
+ if (Array.isArray(value)) return value.map((item) => item === void 0 ? null : omitUndefined(item));
27
+ if (value !== null && typeof value === "object") return Object.fromEntries(Object.entries(value).filter(([, item]) => item !== void 0).map(([key, item]) => [key, omitUndefined(item)]));
28
+ return value;
17
29
  };
30
+ const encodeRuntimeConfig = (runtimeConfig) => effect.Schema.encodeUnknownEffect(effect.Schema.fromJsonString(effect.Schema.Json))(omitUndefined(runtimeConfig)).pipe(effect.Effect.mapError((cause) => new OrchestratorError({
31
+ operation: "serialize runtime config",
32
+ detail: cause.message,
33
+ cause
34
+ })));
18
35
  const probeHttpOk = (url, timeoutMs = 400) => effect.Effect.tryPromise({
19
36
  try: async () => {
20
- const controller = new AbortController();
21
- const timer = setTimeout(() => controller.abort(), timeoutMs);
22
37
  try {
23
- return (await fetch(url, { signal: controller.signal })).ok;
38
+ return (await runFetch(url, { signal: AbortSignal.timeout(timeoutMs) })).ok;
24
39
  } catch {
25
40
  return false;
26
- } finally {
27
- clearTimeout(timer);
28
41
  }
29
42
  },
30
43
  catch: () => false
31
44
  });
32
45
  const LOCAL_PROBE_DEADLINE_MS = 9e4;
33
46
  const LOCAL_PROBE_INTERVAL_MS = 200;
47
+ const cleanExitSignals = {
48
+ SIGTERM: true,
49
+ SIGINT: true
50
+ };
34
51
  const REMOTE_PROBE_TIMEOUT_MS = 5e3;
35
52
  const REMOTE_PROBE_DEADLINE_MS = 6e4;
36
53
  const REMOTE_PROBE_BACKOFF_INITIAL_MS = 1e3;
37
54
  const REMOTE_PROBE_BACKOFF_MAX_MS = 15e3;
38
55
  const detectStatus = (line, descriptor) => {
39
- const cleanLine = stripAnsi(line);
56
+ const cleanLine = require_dev_log_pipeline.stripAnsi(line);
40
57
  const errorPatterns = descriptor.errorPatterns ?? [];
41
58
  const readyPatterns = descriptor.readyPatterns ?? [];
42
- for (const pattern of errorPatterns) if (pattern.test(cleanLine)) return {
43
- status: "error",
44
- isError: true
45
- };
46
59
  for (const pattern of readyPatterns) if (pattern.test(cleanLine)) return {
47
60
  status: "ready",
48
61
  isError: false
49
62
  };
63
+ for (const pattern of errorPatterns) if (pattern.test(cleanLine)) return {
64
+ status: "error",
65
+ isError: true
66
+ };
50
67
  return null;
51
68
  };
52
69
  const patchConsole = (name, callbacks) => {
@@ -59,11 +76,19 @@ const patchConsole = (name, callbacks) => {
59
76
  if (arg instanceof Error) {
60
77
  const parts = [`${arg.name}: ${arg.message}`];
61
78
  if (arg.cause instanceof Error) parts.push(`(cause: ${arg.cause.name}: ${arg.cause.message})`);
62
- else if (arg.cause) parts.push(`(cause: ${String(arg.cause)})`);
79
+ else if (arg.cause) {
80
+ const cause = arg.cause;
81
+ parts.push(`(cause: ${cause instanceof Error ? cause.message : typeof cause === "string" ? cause : JSON.stringify(cause) ?? "[Unserializable cause]"})`);
82
+ }
63
83
  if (isError && arg.stack) parts.push(arg.stack);
64
84
  return parts.join("\n");
65
85
  }
66
- return typeof arg === "object" ? JSON.stringify(arg, null, 2) : String(arg);
86
+ if (arg === null) return "null";
87
+ if (typeof arg === "string") return arg;
88
+ if (typeof arg === "number" || typeof arg === "bigint" || typeof arg === "boolean") return `${arg}`;
89
+ if (typeof arg === "symbol") return arg.description ?? "";
90
+ if (typeof arg === "undefined") return "undefined";
91
+ return JSON.stringify(arg, null, 2) ?? "[Unserializable value]";
67
92
  }).join(" ");
68
93
  };
69
94
  console.log = (...args) => {
@@ -85,21 +110,44 @@ const patchConsole = (name, callbacks) => {
85
110
  console.info = originalInfo;
86
111
  };
87
112
  };
113
+ var HostRemoteUrlMissing = class extends effect.Data.TaggedError("HostRemoteUrlMissing") {
114
+ get message() {
115
+ return "remoteUrl not provided on host descriptor";
116
+ }
117
+ };
118
+ var HostModuleInvalid = class extends effect.Data.TaggedError("HostModuleInvalid") {
119
+ get message() {
120
+ return "Host module does not export runServer function";
121
+ }
122
+ };
123
+ var LocalPathMissing = class extends effect.Data.TaggedError("LocalPathMissing") {
124
+ get message() {
125
+ return `No localPath for local service: ${this.key}`;
126
+ }
127
+ };
88
128
  const spawnRemoteHost = (descriptor, callbacks) => effect.Effect.gen(function* () {
89
129
  const runtimeConfig = yield* require_service_descriptor.DevRuntimeConfig;
90
130
  const remoteUrl = descriptor.remoteUrl;
91
- if (!remoteUrl) return yield* effect.Effect.fail(/* @__PURE__ */ new Error("remoteUrl not provided on host descriptor"));
131
+ if (!remoteUrl) return yield* new HostRemoteUrlMissing();
92
132
  callbacks.onStatus(descriptor.key, "starting");
93
133
  callbacks.onLog(descriptor.key, `Remote: ${remoteUrl}`);
94
134
  const restoreConsole = patchConsole(descriptor.key, callbacks);
95
135
  callbacks.onLog(descriptor.key, "Loading Module Federation runtime...");
96
136
  const mfRuntime = yield* effect.Effect.tryPromise({
97
137
  try: () => import("@module-federation/enhanced/runtime"),
98
- catch: (e) => /* @__PURE__ */ new Error(`Failed to load MF runtime: ${e}`)
138
+ catch: (cause) => new OrchestratorError({
139
+ operation: "load module federation runtime",
140
+ detail: cause instanceof Error ? cause.message : String(cause),
141
+ cause
142
+ })
99
143
  });
100
144
  const mfCore = yield* effect.Effect.tryPromise({
101
145
  try: () => import("@module-federation/runtime-core"),
102
- catch: (e) => /* @__PURE__ */ new Error(`Failed to load MF core: ${e}`)
146
+ catch: (cause) => new OrchestratorError({
147
+ operation: "load module federation core",
148
+ detail: cause instanceof Error ? cause.message : String(cause),
149
+ cause
150
+ })
103
151
  });
104
152
  let mf = mfRuntime.getInstance();
105
153
  if (!mf) {
@@ -116,19 +164,17 @@ const spawnRemoteHost = (descriptor, callbacks) => effect.Effect.gen(function* (
116
164
  const entryUrl = yield* effect.Effect.tryPromise({
117
165
  try: async () => {
118
166
  try {
119
- const controller = new AbortController();
120
- const timer = setTimeout(() => controller.abort(), 1e4);
121
167
  let res;
122
168
  try {
123
- res = await fetch(manifestUrl, { signal: controller.signal });
124
- } finally {
125
- clearTimeout(timer);
169
+ res = await runFetch(manifestUrl, { signal: AbortSignal.timeout(1e4) });
170
+ } catch {
171
+ throw new Error("manifest fetch failed");
126
172
  }
127
173
  if (!res.ok) return remoteEntryUrl;
128
174
  const json = await res.json();
129
175
  if (json && typeof json === "object" && "metaData" in json && "exposes" in json && "shared" in json) return manifestUrl;
130
176
  } catch (e) {
131
- console.warn(`[Orchestrator] Failed to fetch or parse manifest from ${manifestUrl}, falling back to remoteEntryUrl: ${e}`);
177
+ warnOutsideEffect(`[Orchestrator] Failed to fetch or parse manifest from ${manifestUrl}, falling back to remoteEntryUrl: ${String(e)}`);
132
178
  }
133
179
  return remoteEntryUrl;
134
180
  },
@@ -141,9 +187,13 @@ const spawnRemoteHost = (descriptor, callbacks) => effect.Effect.gen(function* (
141
187
  callbacks.onLog(descriptor.key, `Loading host from ${entryUrl}...`);
142
188
  const hostModule = yield* effect.Effect.tryPromise({
143
189
  try: () => mf.loadRemote("host/Server"),
144
- catch: (e) => /* @__PURE__ */ new Error(`Failed to load host module: ${e}`)
190
+ catch: (cause) => new OrchestratorError({
191
+ operation: "load host module",
192
+ detail: cause instanceof Error ? cause.message : String(cause),
193
+ cause
194
+ })
145
195
  });
146
- if (!hostModule?.runServer) return yield* effect.Effect.fail(/* @__PURE__ */ new Error("Host module does not export runServer function"));
196
+ if (!hostModule?.runServer) return yield* new HostModuleInvalid();
147
197
  callbacks.onLog(descriptor.key, "Starting server...");
148
198
  const hostPort = runtimeConfig.host?.port;
149
199
  const hostEnv = hostPort ? { PORT: String(hostPort) } : void 0;
@@ -154,12 +204,16 @@ const spawnRemoteHost = (descriptor, callbacks) => effect.Effect.gen(function* (
154
204
  });
155
205
  yield* effect.Effect.tryPromise({
156
206
  try: () => serverHandle.ready,
157
- catch: (e) => /* @__PURE__ */ new Error(`Server failed to start: ${e}`)
207
+ catch: (cause) => new OrchestratorError({
208
+ operation: "start server",
209
+ detail: cause instanceof Error ? cause.message : String(cause),
210
+ cause
211
+ })
158
212
  });
159
213
  callbacks.onStatus(descriptor.key, "ready");
160
214
  return {
161
215
  name: descriptor.key,
162
- pid: process.pid,
216
+ pid: void 0,
163
217
  kill: effect.Effect.gen(function* () {
164
218
  callbacks.onLog(descriptor.key, "Shutting down remote host...");
165
219
  restoreConsole();
@@ -168,29 +222,99 @@ const spawnRemoteHost = (descriptor, callbacks) => effect.Effect.gen(function* (
168
222
  catch: () => {}
169
223
  }).pipe(effect.Effect.ignore);
170
224
  }),
171
- waitForReady: effect.Effect.succeed(void 0),
225
+ waitForReady: effect.Effect.void,
172
226
  waitForExit: effect.Effect.never
173
227
  };
174
228
  });
229
+ /**
230
+ * Spawn env precedence, three tiers: values explicitly exported by the
231
+ * caller (shell / CI / regression harness — captured by the bootstrap
232
+ * program into the `ShellEnv` service before any `.env` loading) outrank the
233
+ * generated infra env, which outranks `.env`-file values inherited through
234
+ * `processEnv`. The service's resolved port is always authoritative.
235
+ */
236
+ function composeSpawnEnv(processEnv, generatedEnv, port, shellEnv = {}) {
237
+ return {
238
+ ...processEnv,
239
+ ...mergeGeneratedOverFileEnv(generatedEnv, processEnv, shellEnv),
240
+ FORCE_COLOR: "1",
241
+ ...port > 0 ? { PORT: String(port) } : {}
242
+ };
243
+ }
244
+ /**
245
+ * Overlay the generated infra env (ports drift, so stale `.env` values must
246
+ * lose) while keeping every explicitly exported key from `shellEnv` intact.
247
+ * Keys absent from both are untouched.
248
+ *
249
+ * Exception (ADR 0012 / plan 038): the origin keys BASE_URL and CORS_ORIGIN
250
+ * are always generated-owned — a wrapper that sourced a stale `.env` must not
251
+ * win over the resolved host port, in the child env or on disk.
252
+ */
253
+ const GENERATED_OWNED_KEYS = /* @__PURE__ */ new Set(["BASE_URL", "CORS_ORIGIN"]);
254
+ function mergeGeneratedOverFileEnv(generatedEnv, processEnv, shellEnv = {}) {
255
+ const result = { ...processEnv };
256
+ for (const [key, value] of Object.entries(generatedEnv)) if (!GENERATED_OWNED_KEYS.has(key) && key in shellEnv) result[key] = shellEnv[key];
257
+ else result[key] = value;
258
+ return result;
259
+ }
175
260
  const spawnDevProcess = (descriptor, callbacks) => effect.Effect.gen(function* () {
176
261
  const runtimeConfig = yield* require_service_descriptor.DevRuntimeConfig;
177
- if (!descriptor.localPath) return yield* effect.Effect.fail(/* @__PURE__ */ new Error(`No localPath for local service: ${descriptor.key}`));
262
+ if (!descriptor.localPath) return yield* new LocalPathMissing({ key: descriptor.key });
178
263
  const fullCwd = descriptor.localPath;
179
- const command = descriptor.command ?? "bun";
264
+ const command = descriptor.command ?? "pnpm";
180
265
  const args = descriptor.args ?? ["run", "dev"];
181
266
  const port = descriptor.port ?? descriptor.defaultPort;
182
267
  const name = descriptor.key;
183
268
  const readyDeferred = yield* effect.Deferred.make();
184
269
  const statusRef = yield* effect.Ref.make("starting");
185
270
  callbacks.onStatus(name, "starting");
186
- const envVars = {
187
- ...process.env,
188
- FORCE_COLOR: "1",
189
- ...port > 0 ? { PORT: String(port) } : {}
271
+ const generatedEnv = yield* require_service_descriptor.DevGeneratedEnv;
272
+ const shellTier = yield* require_project_env.ShellEnv;
273
+ const envVars = composeSpawnEnv(process.env, {
274
+ ...generatedEnv,
275
+ ...descriptor.env
276
+ }, port, shellTier);
277
+ envVars.BOS_RUNTIME_CONFIG = yield* encodeRuntimeConfig(runtimeConfig);
278
+ const cmd = (0, node_child_process.spawn)(command, args, {
279
+ cwd: fullCwd,
280
+ env: envVars,
281
+ stdio: [
282
+ "ignore",
283
+ "pipe",
284
+ "pipe"
285
+ ],
286
+ detached: true
287
+ });
288
+ let lastExit = null;
289
+ const exitCode = effect.Effect.callback((resume) => {
290
+ const onExit = (code, signal) => {
291
+ lastExit = {
292
+ code,
293
+ signal
294
+ };
295
+ resume(effect.Effect.succeed(code ?? (signal ? 1 : 0)));
296
+ };
297
+ const onError = (err) => {
298
+ callbacks.onLog(name, `Spawn failed: ${err.message}`, true);
299
+ callbacks.onStatus(name, "error", `spawn failed: ${err.message}`);
300
+ resume(effect.Effect.fail(new OrchestratorError({
301
+ operation: "spawn process",
302
+ detail: err.message,
303
+ cause: err
304
+ })));
305
+ };
306
+ cmd.once("exit", onExit);
307
+ cmd.once("error", onError);
308
+ return effect.Effect.sync(() => {
309
+ cmd.off("exit", onExit);
310
+ cmd.off("error", onError);
311
+ });
312
+ });
313
+ const describeExit = (exitCodeValue) => {
314
+ if (lastExit?.code === null && lastExit.signal) return `signal: ${lastExit.signal}`;
315
+ return `exit code: ${exitCodeValue}`;
190
316
  };
191
- envVars.BOS_RUNTIME_CONFIG = JSON.stringify(runtimeConfig);
192
- const cmd = _effect_platform.Command.make(command, ...args).pipe(_effect_platform.Command.workingDirectory(fullCwd), _effect_platform.Command.env(envVars));
193
- const proc = yield* _effect_platform.Command.start(cmd);
317
+ const isCleanSignalExit = () => lastExit?.code === null && lastExit.signal != null && lastExit.signal in cleanExitSignals;
194
318
  const markReady = effect.Effect.gen(function* () {
195
319
  const currentStatus = yield* effect.Ref.get(statusRef);
196
320
  if (currentStatus === "ready" || currentStatus === "error") return;
@@ -203,67 +327,96 @@ const spawnDevProcess = (descriptor, callbacks) => effect.Effect.gen(function* (
203
327
  if (currentStatus === "ready" || currentStatus === "error") return;
204
328
  yield* effect.Ref.set(statusRef, "error");
205
329
  callbacks.onStatus(name, "error");
206
- yield* effect.Deferred.fail(readyDeferred, new Error(message)).pipe(effect.Effect.ignore);
330
+ yield* effect.Deferred.fail(readyDeferred, new OrchestratorError({
331
+ operation: "wait for process readiness",
332
+ detail: message
333
+ })).pipe(effect.Effect.ignore);
207
334
  });
208
335
  yield* effect.Effect.forkScoped(effect.Effect.gen(function* () {
209
- const deadline = Date.now() + LOCAL_PROBE_DEADLINE_MS;
210
- if (port > 0) {
211
- const readinessPath = descriptor.readinessPath;
212
- const url = `http://127.0.0.1:${port}${readinessPath}`;
213
- while (Date.now() < deadline) {
214
- const status = yield* effect.Ref.get(statusRef);
215
- if (status === "ready" || status === "error") return;
216
- if (yield* probeHttpOk(url)) {
217
- yield* markReady;
218
- return;
219
- }
220
- yield* effect.Effect.sleep(`${LOCAL_PROBE_INTERVAL_MS} millis`);
221
- }
222
- } else while (Date.now() < deadline) {
336
+ const readinessPath = descriptor.readinessPath;
337
+ const url = `http://127.0.0.1:${port}${readinessPath}`;
338
+ const readinessCheck = effect.Effect.gen(function* () {
223
339
  const status = yield* effect.Ref.get(statusRef);
224
- if (status === "ready" || status === "error") return;
225
- yield* effect.Effect.sleep("500 millis");
226
- }
340
+ if (status === "ready" || status === "error") return true;
341
+ if (port <= 0) return false;
342
+ const ok = yield* probeHttpOk(url);
343
+ if (ok) yield* markReady;
344
+ return ok;
345
+ });
346
+ if (yield* effect.Effect.repeat(readinessCheck, {
347
+ schedule: effect.Schedule.spaced(`${port > 0 ? LOCAL_PROBE_INTERVAL_MS : 500} millis`),
348
+ until: (done) => done
349
+ }).pipe(effect.Effect.timeout(`${LOCAL_PROBE_DEADLINE_MS} millis`), effect.Effect.catchTag("TimeoutError", () => effect.Effect.succeed(false)))) return;
227
350
  const status = yield* effect.Ref.get(statusRef);
228
351
  if (status !== "ready" && status !== "error") {
229
352
  callbacks.onLog(name, "Probe deadline exceeded after 90s", true);
230
353
  yield* markError(`Probe deadline exceeded: ${name}`);
231
354
  }
232
355
  }));
233
- const pid = Number(proc.pid);
356
+ const pid = cmd.pid ?? void 0;
234
357
  yield* effect.Effect.forkScoped(effect.Effect.gen(function* () {
235
- const exitCode = yield* proc.exitCode;
358
+ const exitCodeValue = yield* exitCode;
236
359
  const currentStatus = yield* effect.Ref.get(statusRef);
237
- if (currentStatus === "ready" || currentStatus === "error") return;
238
- callbacks.onLog(name, `Process exited before ready (exit code: ${exitCode})`, true);
360
+ if (currentStatus === "ready" || currentStatus === "error") {
361
+ if (currentStatus === "ready") {
362
+ const detail = describeExit(exitCodeValue);
363
+ callbacks.onLog(name, `Process exited after ready (${detail})`, !isCleanSignalExit());
364
+ if (!isCleanSignalExit()) callbacks.onStatus(name, "error", `exited after ready (${detail})`);
365
+ yield* markError(`Process exited after ready: ${name}`);
366
+ }
367
+ return;
368
+ }
369
+ callbacks.onLog(name, `Process exited before ready (${describeExit(exitCodeValue)})`, !isCleanSignalExit());
239
370
  yield* markError(`Process exited before ready: ${name}`);
240
371
  }));
241
372
  const handleLine = (line, isStderr) => effect.Effect.gen(function* () {
242
373
  if (!line.trim()) return;
243
- const cleanLine = stripAnsi(line);
244
- const looksLikeError = isStderr && /^(error|fail|fatal|exception|unhandled|reject)/i.test(cleanLine) && !/^\$/.test(cleanLine);
374
+ const cleanLine = require_dev_log_pipeline.stripAnsi(line);
375
+ const looksLikeError = isStderr && /^(error|fail|fatal|exception|unhandled|reject)/i.test(cleanLine) && !cleanLine.startsWith("$");
245
376
  callbacks.onLog(name, line, looksLikeError);
246
377
  const currentStatus = yield* effect.Ref.get(statusRef);
247
- if (currentStatus === "ready" || currentStatus === "error") return;
378
+ if (currentStatus === "ready") return;
248
379
  const detected = detectStatus(line, descriptor);
249
- if (detected) if (detected.status === "ready") yield* markReady;
250
- else yield* markError(`Process failed: ${name}`);
380
+ if (detected) {
381
+ if (detected.status === "ready") yield* markReady;
382
+ else if (currentStatus !== "error") yield* markError(`Process failed: ${name}`);
383
+ }
251
384
  });
252
- yield* effect.Effect.forkScoped(effect.Stream.runForEach((line) => handleLine(line, false))(effect.Stream.splitLines(effect.Stream.decodeText(proc.stdout, "utf-8"))));
253
- yield* effect.Effect.forkScoped(effect.Stream.runForEach((line) => handleLine(line, true))(effect.Stream.splitLines(effect.Stream.decodeText(proc.stderr, "utf-8"))));
385
+ const stdoutStream = cmd.stdout ? node_stream.Readable.toWeb(cmd.stdout) : null;
386
+ const stderrStream = cmd.stderr ? node_stream.Readable.toWeb(cmd.stderr) : null;
387
+ if (stdoutStream) yield* effect.Effect.forkScoped(effect.Stream.runForEach((line) => handleLine(line, false))(effect.Stream.splitLines(effect.Stream.decodeText(effect.Stream.fromReadableStream({
388
+ evaluate: () => stdoutStream,
389
+ onError: (cause) => new OrchestratorError({
390
+ operation: "read process stdout",
391
+ detail: String(cause),
392
+ cause
393
+ })
394
+ })))));
395
+ if (stderrStream) yield* effect.Effect.forkScoped(effect.Stream.runForEach((line) => handleLine(line, true))(effect.Stream.splitLines(effect.Stream.decodeText(effect.Stream.fromReadableStream({
396
+ evaluate: () => stderrStream,
397
+ onError: (cause) => new OrchestratorError({
398
+ operation: "read process stderr",
399
+ detail: String(cause),
400
+ cause
401
+ })
402
+ })))));
254
403
  return {
255
404
  name,
256
405
  pid,
257
406
  kill: effect.Effect.gen(function* () {
258
- const result = yield* proc.kill("SIGTERM").pipe(effect.Effect.timeout("3 seconds"), effect.Effect.option);
259
- if (effect.Option.isNone(result)) {
260
- const pid = Number(proc.pid);
261
- yield* effect.Effect.try(() => process.kill(-pid, "SIGKILL")).pipe(effect.Effect.ignore);
407
+ const groupPid = pid;
408
+ const groupSignal = (signal) => effect.Effect.try(() => {
409
+ if (groupPid !== void 0) process.kill(-groupPid, signal);
410
+ }).pipe(effect.Effect.ignore);
411
+ yield* groupSignal("SIGTERM");
412
+ const exited = yield* exitCode.pipe(effect.Effect.timeout("3 seconds"), effect.Effect.option);
413
+ if (effect.Option.isNone(exited)) {
414
+ yield* groupSignal("SIGKILL");
262
415
  yield* effect.Effect.sleep("250 millis");
263
416
  }
264
417
  }).pipe(effect.Effect.ignore),
265
418
  waitForReady: effect.Deferred.await(readyDeferred),
266
- waitForExit: proc.exitCode
419
+ waitForExit: exitCode
267
420
  };
268
421
  });
269
422
  const spawnRemoteProbe = (pkg, descriptor, callbacks) => effect.Effect.gen(function* () {
@@ -281,7 +434,10 @@ const spawnRemoteProbe = (pkg, descriptor, callbacks) => effect.Effect.gen(funct
281
434
  const currentStatus = yield* effect.Ref.get(statusRef);
282
435
  if (currentStatus === "ready" || currentStatus === "error") return;
283
436
  yield* effect.Ref.set(statusRef, "error");
284
- yield* effect.Deferred.fail(readyDeferred, /* @__PURE__ */ new Error(`Remote ${pkg} unreachable`)).pipe(effect.Effect.ignore);
437
+ yield* effect.Deferred.fail(readyDeferred, new OrchestratorError({
438
+ operation: "probe remote process",
439
+ detail: `Remote ${pkg} unreachable`
440
+ })).pipe(effect.Effect.ignore);
285
441
  callbacks.onStatus(pkg, "error", "unreachable");
286
442
  });
287
443
  const baseUrl = descriptor.url.replace(/\/$/, "");
@@ -289,22 +445,23 @@ const spawnRemoteProbe = (pkg, descriptor, callbacks) => effect.Effect.gen(funct
289
445
  const entryUrl = `${baseUrl}${descriptor.readinessPath}`;
290
446
  const probeUrl = descriptor.readinessPath === "/health" ? `${baseUrl}/health` : manifestUrl;
291
447
  yield* effect.Effect.forkScoped(effect.Effect.gen(function* () {
292
- const deadline = Date.now() + REMOTE_PROBE_DEADLINE_MS;
293
- let delay = REMOTE_PROBE_BACKOFF_INITIAL_MS;
294
- while (Date.now() < deadline) {
448
+ const readinessCheck = effect.Effect.gen(function* () {
295
449
  const status = yield* effect.Ref.get(statusRef);
296
- if (status === "ready" || status === "error") return;
450
+ if (status === "ready" || status === "error") return true;
297
451
  if (yield* probeHttpOk(probeUrl, REMOTE_PROBE_TIMEOUT_MS)) {
298
452
  yield* markReady;
299
- return;
453
+ return true;
300
454
  }
301
455
  if (yield* probeHttpOk(entryUrl, REMOTE_PROBE_TIMEOUT_MS)) {
302
456
  yield* markReady;
303
- return;
457
+ return true;
304
458
  }
305
- yield* effect.Effect.sleep(`${delay} millis`);
306
- delay = Math.min(Math.round(delay * 1.5), REMOTE_PROBE_BACKOFF_MAX_MS);
307
- }
459
+ return false;
460
+ });
461
+ if (yield* effect.Effect.repeat(readinessCheck, {
462
+ schedule: effect.Schedule.min([effect.Schedule.exponential(`${REMOTE_PROBE_BACKOFF_INITIAL_MS} millis`, 1.5), effect.Schedule.spaced(`${REMOTE_PROBE_BACKOFF_MAX_MS} millis`)]),
463
+ until: (done) => done
464
+ }).pipe(effect.Effect.timeout(`${REMOTE_PROBE_DEADLINE_MS} millis`), effect.Effect.catchTag("TimeoutError", () => effect.Effect.succeed(false)))) return;
308
465
  if ((yield* effect.Ref.get(statusRef)) !== "ready") yield* markError;
309
466
  }));
310
467
  return {
@@ -312,7 +469,10 @@ const spawnRemoteProbe = (pkg, descriptor, callbacks) => effect.Effect.gen(funct
312
469
  pid: void 0,
313
470
  kill: effect.Effect.gen(function* () {
314
471
  yield* effect.Ref.set(statusRef, "error");
315
- yield* effect.Deferred.fail(readyDeferred, /* @__PURE__ */ new Error("Killed")).pipe(effect.Effect.ignore);
472
+ yield* effect.Deferred.fail(readyDeferred, new OrchestratorError({
473
+ operation: "stop remote process",
474
+ detail: "Killed"
475
+ })).pipe(effect.Effect.ignore);
316
476
  }),
317
477
  waitForReady: effect.Deferred.await(readyDeferred),
318
478
  waitForExit: effect.Effect.never
@@ -345,12 +505,21 @@ function getProcessStates(packages, services, portOverride) {
345
505
  name: pkg,
346
506
  status: "pending",
347
507
  port: portOverride && pkg === "host" ? portOverride : descriptor?.port ?? descriptor?.defaultPort ?? 0,
348
- source: descriptor?.source
508
+ source: descriptor?.source,
509
+ uiPort: descriptor?.uiPort
349
510
  };
350
511
  });
351
512
  }
352
513
 
353
514
  //#endregion
515
+ exports.HostModuleInvalid = HostModuleInvalid;
516
+ exports.HostRemoteUrlMissing = HostRemoteUrlMissing;
517
+ exports.LocalPathMissing = LocalPathMissing;
518
+ exports.OrchestratorError = OrchestratorError;
519
+ exports.composeSpawnEnv = composeSpawnEnv;
520
+ exports.detectStatus = detectStatus;
521
+ exports.encodeRuntimeConfig = encodeRuntimeConfig;
354
522
  exports.getProcessStates = getProcessStates;
355
523
  exports.makeDevProcess = makeDevProcess;
524
+ exports.mergeGeneratedOverFileEnv = mergeGeneratedOverFileEnv;
356
525
  //# sourceMappingURL=orchestrator.cjs.map