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,21 +1,45 @@
1
1
  import { ClientRuntimeConfig } from "../types.cjs";
2
2
  import { QueryClient } from "@tanstack/react-query";
3
- import { AnyRouteMatch, AnyRouter, RouterHistory } from "@tanstack/react-router";
3
+ import { AnyRoute, AnyRouteMatch, AnyRouter, RouterHistory } from "@tanstack/react-router";
4
+ import { NavManifest } from "every-plugin/ui/manifest";
4
5
  //#region src/ui/types.d.ts
5
6
  interface RouterContext<TSession = unknown> {
6
7
  queryClient: QueryClient;
7
8
  runtimeConfig?: Partial<ClientRuntimeConfig>;
8
9
  session?: TSession;
9
10
  cspNonce?: string;
11
+ locale?: string;
12
+ /** nav manifest derived from composed routes' staticData.nav */
13
+ pluginNav?: NavManifest;
10
14
  }
11
15
  interface RouterContextWithApi<TApiClient = unknown, TSession = unknown> extends RouterContext<TSession> {
12
16
  apiClient?: TApiClient;
17
+ /** auth client — concrete apps narrow this to their bound AuthClient type. */
18
+ authClient?: unknown;
13
19
  }
14
20
  interface CreateRouterOptions<TApiClient = unknown, TSession = unknown> {
15
21
  history?: RouterHistory;
16
22
  context?: Partial<RouterContextWithApi<TApiClient, TSession>>;
17
23
  basepath?: string;
24
+ /** composed route tree — manifest construction passes it here; the bundled tree stays the core-only fallback. */
25
+ routeTree?: unknown;
18
26
  }
27
+ /**
28
+ * The app's authored router factory — the single router-policy seam, minting
29
+ * the hydrated client router AND each SSR request's router (parity). Apps
30
+ * type it against their concrete clients; the framework sees them opaquely
31
+ * (`any` at the boundary — the same contract shape the manifest option
32
+ * bundles use).
33
+ */
34
+ type AppRouterFactory = (opts: CreateRouterOptions<any, any> & {
35
+ context: RouterContextWithApi<any, any> & {
36
+ apiClient: any;
37
+ authClient: any;
38
+ };
39
+ }) => {
40
+ router: AnyRouter;
41
+ queryClient?: QueryClient;
42
+ };
19
43
  type HeadMeta = NonNullable<AnyRouteMatch["meta"]>[number];
20
44
  type HeadLink = NonNullable<AnyRouteMatch["links"]>[number];
21
45
  type HeadScript = NonNullable<AnyRouteMatch["headScripts"]>[number];
@@ -29,6 +53,12 @@ interface RenderOptions<TSession = unknown> {
29
53
  basepath?: string;
30
54
  session?: TSession;
31
55
  cspNonce?: string;
56
+ /** composed route tree — server composition only. */
57
+ routeTree?: AnyRoute;
58
+ /** nav manifest derived from composed routes — server composition only. */
59
+ pluginNav?: NavManifest;
60
+ /** correlation id from the host request — appears in SSR error logs. */
61
+ requestId?: string;
32
62
  }
33
63
  interface RenderOptionsWithApi<TApiClient = unknown, TSession = unknown> extends RenderOptions<TSession> {
34
64
  apiClient: TApiClient;
@@ -48,5 +78,5 @@ interface RouterModule<TApiClient = unknown, TSession = unknown> {
48
78
  renderToStream: (request: Request, options: RenderOptionsWithApi<TApiClient, TSession>) => Promise<RenderResult>;
49
79
  }
50
80
  //#endregion
51
- export { CreateRouterOptions, HeadData, HeadLink, HeadMeta, HeadScript, RenderOptions, RenderOptionsWithApi, RenderResult, RouterContext, RouterContextWithApi, RouterModule };
81
+ export { AppRouterFactory, CreateRouterOptions, HeadData, HeadLink, HeadMeta, HeadScript, RenderOptions, RenderOptionsWithApi, RenderResult, RouterContext, RouterContextWithApi, RouterModule };
52
82
  //# sourceMappingURL=types.d.cts.map
@@ -1,21 +1,45 @@
1
1
  import { ClientRuntimeConfig } from "../types.mjs";
2
+ import { NavManifest } from "every-plugin/ui/manifest";
3
+ import { AnyRoute, AnyRouteMatch, AnyRouter, RouterHistory } from "@tanstack/react-router";
2
4
  import { QueryClient } from "@tanstack/react-query";
3
- import { AnyRouteMatch, AnyRouter, RouterHistory } from "@tanstack/react-router";
4
5
  //#region src/ui/types.d.ts
5
6
  interface RouterContext<TSession = unknown> {
6
7
  queryClient: QueryClient;
7
8
  runtimeConfig?: Partial<ClientRuntimeConfig>;
8
9
  session?: TSession;
9
10
  cspNonce?: string;
11
+ locale?: string;
12
+ /** nav manifest derived from composed routes' staticData.nav */
13
+ pluginNav?: NavManifest;
10
14
  }
11
15
  interface RouterContextWithApi<TApiClient = unknown, TSession = unknown> extends RouterContext<TSession> {
12
16
  apiClient?: TApiClient;
17
+ /** auth client — concrete apps narrow this to their bound AuthClient type. */
18
+ authClient?: unknown;
13
19
  }
14
20
  interface CreateRouterOptions<TApiClient = unknown, TSession = unknown> {
15
21
  history?: RouterHistory;
16
22
  context?: Partial<RouterContextWithApi<TApiClient, TSession>>;
17
23
  basepath?: string;
24
+ /** composed route tree — manifest construction passes it here; the bundled tree stays the core-only fallback. */
25
+ routeTree?: unknown;
18
26
  }
27
+ /**
28
+ * The app's authored router factory — the single router-policy seam, minting
29
+ * the hydrated client router AND each SSR request's router (parity). Apps
30
+ * type it against their concrete clients; the framework sees them opaquely
31
+ * (`any` at the boundary — the same contract shape the manifest option
32
+ * bundles use).
33
+ */
34
+ type AppRouterFactory = (opts: CreateRouterOptions<any, any> & {
35
+ context: RouterContextWithApi<any, any> & {
36
+ apiClient: any;
37
+ authClient: any;
38
+ };
39
+ }) => {
40
+ router: AnyRouter;
41
+ queryClient?: QueryClient;
42
+ };
19
43
  type HeadMeta = NonNullable<AnyRouteMatch["meta"]>[number];
20
44
  type HeadLink = NonNullable<AnyRouteMatch["links"]>[number];
21
45
  type HeadScript = NonNullable<AnyRouteMatch["headScripts"]>[number];
@@ -29,6 +53,12 @@ interface RenderOptions<TSession = unknown> {
29
53
  basepath?: string;
30
54
  session?: TSession;
31
55
  cspNonce?: string;
56
+ /** composed route tree — server composition only. */
57
+ routeTree?: AnyRoute;
58
+ /** nav manifest derived from composed routes — server composition only. */
59
+ pluginNav?: NavManifest;
60
+ /** correlation id from the host request — appears in SSR error logs. */
61
+ requestId?: string;
32
62
  }
33
63
  interface RenderOptionsWithApi<TApiClient = unknown, TSession = unknown> extends RenderOptions<TSession> {
34
64
  apiClient: TApiClient;
@@ -48,5 +78,5 @@ interface RouterModule<TApiClient = unknown, TSession = unknown> {
48
78
  renderToStream: (request: Request, options: RenderOptionsWithApi<TApiClient, TSession>) => Promise<RenderResult>;
49
79
  }
50
80
  //#endregion
51
- export { CreateRouterOptions, HeadData, HeadLink, HeadMeta, HeadScript, RenderOptions, RenderOptionsWithApi, RenderResult, RouterContext, RouterContextWithApi, RouterModule };
81
+ export { AppRouterFactory, CreateRouterOptions, HeadData, HeadLink, HeadMeta, HeadScript, RenderOptions, RenderOptionsWithApi, RenderResult, RouterContext, RouterContextWithApi, RouterModule };
52
82
  //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1,47 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ //#region src/ui/version-check.ts
3
+ /**
4
+ * The soft-refresh poller (atomic-deploys 10): a browser-side loop fetching
5
+ * the host's `/.well-known/version` and reporting when the served deploy
6
+ * fingerprint differs from the one this document was rendered from. No live
7
+ * container swap — the banner decides whether to reload (old bytes are
8
+ * retained, so a reload is always safe). Polling pauses while the document
9
+ * is hidden and reports at most once.
10
+ */
11
+ const DEFAULT_POLL_INTERVAL_MS = 6e4;
12
+ function startVersionWatch(input) {
13
+ const intervalMs = input.intervalMs ?? DEFAULT_POLL_INTERVAL_MS;
14
+ const fetchImpl = input.fetchImpl ?? globalThis.fetch;
15
+ const doc = input.documentRef ?? document;
16
+ const endpoint = input.endpoint ?? "/.well-known/version";
17
+ let reported = false;
18
+ let timer = null;
19
+ const poll = async () => {
20
+ if (reported) return;
21
+ try {
22
+ const response = await fetchImpl(endpoint, { headers: { accept: "application/json" } });
23
+ if (!response.ok) return;
24
+ const body = await response.json();
25
+ if (body.fingerprint && body.fingerprint !== input.currentFingerprint) {
26
+ reported = true;
27
+ input.onNewVersion();
28
+ }
29
+ } catch {}
30
+ };
31
+ const tick = () => {
32
+ if (doc.visibilityState !== "visible") return;
33
+ poll();
34
+ };
35
+ timer = setInterval(tick, intervalMs);
36
+ const onVisibility = () => tick();
37
+ doc.addEventListener("visibilitychange", onVisibility);
38
+ return { stop: () => {
39
+ if (timer) clearInterval(timer);
40
+ timer = null;
41
+ doc.removeEventListener("visibilitychange", onVisibility);
42
+ } };
43
+ }
44
+
45
+ //#endregion
46
+ exports.startVersionWatch = startVersionWatch;
47
+ //# sourceMappingURL=version-check.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-check.cjs","names":[],"sources":["../../src/ui/version-check.ts"],"sourcesContent":["/**\n * The soft-refresh poller (atomic-deploys 10): a browser-side loop fetching\n * the host's `/.well-known/version` and reporting when the served deploy\n * fingerprint differs from the one this document was rendered from. No live\n * container swap — the banner decides whether to reload (old bytes are\n * retained, so a reload is always safe). Polling pauses while the document\n * is hidden and reports at most once.\n */\n\nconst DEFAULT_POLL_INTERVAL_MS = 60_000;\n\nexport interface VersionWatchHandle {\n stop: () => void;\n}\n\nexport function startVersionWatch(input: {\n currentFingerprint: string;\n onNewVersion: () => void;\n intervalMs?: number;\n endpoint?: string;\n fetchImpl?: typeof fetch;\n documentRef?: Document;\n}): VersionWatchHandle {\n const intervalMs = input.intervalMs ?? DEFAULT_POLL_INTERVAL_MS;\n const fetchImpl = input.fetchImpl ?? globalThis.fetch;\n const doc = input.documentRef ?? document;\n const endpoint = input.endpoint ?? \"/.well-known/version\";\n\n let reported = false;\n let timer: ReturnType<typeof setInterval> | null = null;\n\n const poll = async () => {\n if (reported) return;\n try {\n const response = await fetchImpl(endpoint, { headers: { accept: \"application/json\" } });\n if (!response.ok) return;\n const body = (await response.json()) as { fingerprint?: string };\n if (body.fingerprint && body.fingerprint !== input.currentFingerprint) {\n reported = true;\n input.onNewVersion();\n }\n } catch {\n // unreachable origin — the next tick retries\n }\n };\n\n const tick = () => {\n if (doc.visibilityState !== \"visible\") return;\n void poll();\n };\n\n timer = setInterval(tick, intervalMs);\n const onVisibility = () => tick();\n doc.addEventListener(\"visibilitychange\", onVisibility);\n\n return {\n stop: () => {\n if (timer) clearInterval(timer);\n timer = null;\n doc.removeEventListener(\"visibilitychange\", onVisibility);\n },\n };\n}\n"],"mappings":";;;;;;;;;;AASA,MAAM,2BAA2B;AAMjC,SAAgB,kBAAkB,OAOX;CACrB,MAAM,aAAa,MAAM,cAAc;CACvC,MAAM,YAAY,MAAM,aAAa,WAAW;CAChD,MAAM,MAAM,MAAM,eAAe;CACjC,MAAM,WAAW,MAAM,YAAY;CAEnC,IAAI,WAAW;CACf,IAAI,QAA+C;CAEnD,MAAM,OAAO,YAAY;EACvB,IAAI,UAAU;EACd,IAAI;GACF,MAAM,WAAW,MAAM,UAAU,UAAU,EAAE,SAAS,EAAE,QAAQ,mBAAmB,EAAE,CAAC;GACtF,IAAI,CAAC,SAAS,IAAI;GAClB,MAAM,OAAQ,MAAM,SAAS,KAAK;GAClC,IAAI,KAAK,eAAe,KAAK,gBAAgB,MAAM,oBAAoB;IACrE,WAAW;IACX,MAAM,aAAa;GACrB;EACF,QAAQ,CAER;CACF;CAEA,MAAM,aAAa;EACjB,IAAI,IAAI,oBAAoB,WAAW;EACvC,AAAK,KAAK;CACZ;CAEA,QAAQ,YAAY,MAAM,UAAU;CACpC,MAAM,qBAAqB,KAAK;CAChC,IAAI,iBAAiB,oBAAoB,YAAY;CAErD,OAAO,EACL,YAAY;EACV,IAAI,OAAO,cAAc,KAAK;EAC9B,QAAQ;EACR,IAAI,oBAAoB,oBAAoB,YAAY;CAC1D,EACF;AACF"}
@@ -0,0 +1,23 @@
1
+ //#region src/ui/version-check.d.ts
2
+ /**
3
+ * The soft-refresh poller (atomic-deploys 10): a browser-side loop fetching
4
+ * the host's `/.well-known/version` and reporting when the served deploy
5
+ * fingerprint differs from the one this document was rendered from. No live
6
+ * container swap — the banner decides whether to reload (old bytes are
7
+ * retained, so a reload is always safe). Polling pauses while the document
8
+ * is hidden and reports at most once.
9
+ */
10
+ interface VersionWatchHandle {
11
+ stop: () => void;
12
+ }
13
+ declare function startVersionWatch(input: {
14
+ currentFingerprint: string;
15
+ onNewVersion: () => void;
16
+ intervalMs?: number;
17
+ endpoint?: string;
18
+ fetchImpl?: typeof fetch;
19
+ documentRef?: Document;
20
+ }): VersionWatchHandle;
21
+ //#endregion
22
+ export { VersionWatchHandle, startVersionWatch };
23
+ //# sourceMappingURL=version-check.d.cts.map
@@ -0,0 +1,23 @@
1
+ //#region src/ui/version-check.d.ts
2
+ /**
3
+ * The soft-refresh poller (atomic-deploys 10): a browser-side loop fetching
4
+ * the host's `/.well-known/version` and reporting when the served deploy
5
+ * fingerprint differs from the one this document was rendered from. No live
6
+ * container swap — the banner decides whether to reload (old bytes are
7
+ * retained, so a reload is always safe). Polling pauses while the document
8
+ * is hidden and reports at most once.
9
+ */
10
+ interface VersionWatchHandle {
11
+ stop: () => void;
12
+ }
13
+ declare function startVersionWatch(input: {
14
+ currentFingerprint: string;
15
+ onNewVersion: () => void;
16
+ intervalMs?: number;
17
+ endpoint?: string;
18
+ fetchImpl?: typeof fetch;
19
+ documentRef?: Document;
20
+ }): VersionWatchHandle;
21
+ //#endregion
22
+ export { VersionWatchHandle, startVersionWatch };
23
+ //# sourceMappingURL=version-check.d.mts.map
@@ -0,0 +1,46 @@
1
+ //#region src/ui/version-check.ts
2
+ /**
3
+ * The soft-refresh poller (atomic-deploys 10): a browser-side loop fetching
4
+ * the host's `/.well-known/version` and reporting when the served deploy
5
+ * fingerprint differs from the one this document was rendered from. No live
6
+ * container swap — the banner decides whether to reload (old bytes are
7
+ * retained, so a reload is always safe). Polling pauses while the document
8
+ * is hidden and reports at most once.
9
+ */
10
+ const DEFAULT_POLL_INTERVAL_MS = 6e4;
11
+ function startVersionWatch(input) {
12
+ const intervalMs = input.intervalMs ?? DEFAULT_POLL_INTERVAL_MS;
13
+ const fetchImpl = input.fetchImpl ?? globalThis.fetch;
14
+ const doc = input.documentRef ?? document;
15
+ const endpoint = input.endpoint ?? "/.well-known/version";
16
+ let reported = false;
17
+ let timer = null;
18
+ const poll = async () => {
19
+ if (reported) return;
20
+ try {
21
+ const response = await fetchImpl(endpoint, { headers: { accept: "application/json" } });
22
+ if (!response.ok) return;
23
+ const body = await response.json();
24
+ if (body.fingerprint && body.fingerprint !== input.currentFingerprint) {
25
+ reported = true;
26
+ input.onNewVersion();
27
+ }
28
+ } catch {}
29
+ };
30
+ const tick = () => {
31
+ if (doc.visibilityState !== "visible") return;
32
+ poll();
33
+ };
34
+ timer = setInterval(tick, intervalMs);
35
+ const onVisibility = () => tick();
36
+ doc.addEventListener("visibilitychange", onVisibility);
37
+ return { stop: () => {
38
+ if (timer) clearInterval(timer);
39
+ timer = null;
40
+ doc.removeEventListener("visibilitychange", onVisibility);
41
+ } };
42
+ }
43
+
44
+ //#endregion
45
+ export { startVersionWatch };
46
+ //# sourceMappingURL=version-check.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-check.mjs","names":[],"sources":["../../src/ui/version-check.ts"],"sourcesContent":["/**\n * The soft-refresh poller (atomic-deploys 10): a browser-side loop fetching\n * the host's `/.well-known/version` and reporting when the served deploy\n * fingerprint differs from the one this document was rendered from. No live\n * container swap — the banner decides whether to reload (old bytes are\n * retained, so a reload is always safe). Polling pauses while the document\n * is hidden and reports at most once.\n */\n\nconst DEFAULT_POLL_INTERVAL_MS = 60_000;\n\nexport interface VersionWatchHandle {\n stop: () => void;\n}\n\nexport function startVersionWatch(input: {\n currentFingerprint: string;\n onNewVersion: () => void;\n intervalMs?: number;\n endpoint?: string;\n fetchImpl?: typeof fetch;\n documentRef?: Document;\n}): VersionWatchHandle {\n const intervalMs = input.intervalMs ?? DEFAULT_POLL_INTERVAL_MS;\n const fetchImpl = input.fetchImpl ?? globalThis.fetch;\n const doc = input.documentRef ?? document;\n const endpoint = input.endpoint ?? \"/.well-known/version\";\n\n let reported = false;\n let timer: ReturnType<typeof setInterval> | null = null;\n\n const poll = async () => {\n if (reported) return;\n try {\n const response = await fetchImpl(endpoint, { headers: { accept: \"application/json\" } });\n if (!response.ok) return;\n const body = (await response.json()) as { fingerprint?: string };\n if (body.fingerprint && body.fingerprint !== input.currentFingerprint) {\n reported = true;\n input.onNewVersion();\n }\n } catch {\n // unreachable origin — the next tick retries\n }\n };\n\n const tick = () => {\n if (doc.visibilityState !== \"visible\") return;\n void poll();\n };\n\n timer = setInterval(tick, intervalMs);\n const onVisibility = () => tick();\n doc.addEventListener(\"visibilitychange\", onVisibility);\n\n return {\n stop: () => {\n if (timer) clearInterval(timer);\n timer = null;\n doc.removeEventListener(\"visibilitychange\", onVisibility);\n },\n };\n}\n"],"mappings":";;;;;;;;;AASA,MAAM,2BAA2B;AAMjC,SAAgB,kBAAkB,OAOX;CACrB,MAAM,aAAa,MAAM,cAAc;CACvC,MAAM,YAAY,MAAM,aAAa,WAAW;CAChD,MAAM,MAAM,MAAM,eAAe;CACjC,MAAM,WAAW,MAAM,YAAY;CAEnC,IAAI,WAAW;CACf,IAAI,QAA+C;CAEnD,MAAM,OAAO,YAAY;EACvB,IAAI,UAAU;EACd,IAAI;GACF,MAAM,WAAW,MAAM,UAAU,UAAU,EAAE,SAAS,EAAE,QAAQ,mBAAmB,EAAE,CAAC;GACtF,IAAI,CAAC,SAAS,IAAI;GAClB,MAAM,OAAQ,MAAM,SAAS,KAAK;GAClC,IAAI,KAAK,eAAe,KAAK,gBAAgB,MAAM,oBAAoB;IACrE,WAAW;IACX,MAAM,aAAa;GACrB;EACF,QAAQ,CAER;CACF;CAEA,MAAM,aAAa;EACjB,IAAI,IAAI,oBAAoB,WAAW;EACvC,AAAK,KAAK;CACZ;CAEA,QAAQ,YAAY,MAAM,UAAU;CACpC,MAAM,qBAAqB,KAAK;CAChC,IAAI,iBAAiB,oBAAoB,YAAY;CAErD,OAAO,EACL,YAAY;EACV,IAAI,OAAO,cAAc,KAAK;EAC9B,QAAQ;EACR,IAAI,oBAAoB,oBAAoB,YAAY;CAC1D,EACF;AACF"}
@@ -1,8 +1,8 @@
1
1
  const require_theme = require('./theme.cjs');
2
- let node_module = require("node:module");
2
+ let node_fs = require("node:fs");
3
3
 
4
4
  //#region src/utils/banner.ts
5
- const pkg = (0, node_module.createRequire)(require("url").pathToFileURL(__filename).href)("../../package.json");
5
+ const pkg = JSON.parse((0, node_fs.readFileSync)(new URL("../../package.json", require("url").pathToFileURL(__filename).href), "utf-8"));
6
6
  const ASCII_BOS = `
7
7
  ██████╗ ██████╗ ███████╗
8
8
  ██╔══██╗██╔═══██╗██╔════╝
@@ -1 +1 @@
1
- {"version":3,"file":"banner.cjs","names":["gradients","colors","divider"],"sources":["../../src/utils/banner.ts"],"sourcesContent":["import { createRequire } from \"node:module\";\nimport { colors, divider, gradients } from \"./theme\";\n\nconst require = createRequire(import.meta.url);\nconst pkg = require(\"../../package.json\") as { version: string };\n\nconst ASCII_BOS = `\n ██████╗ ██████╗ ███████╗\n ██╔══██╗██╔═══██╗██╔════╝\n ██████╔╝██║ ██║███████╗\n ██╔══██╗██║ ██║╚════██║\n ██████╔╝╚██████╔╝███████║\n ╚═════╝ ╚═════╝ ╚══════╝`;\n\nexport function printBanner(title = \"everything-dev\", version = pkg.version) {\n console.log(gradients.cyber(ASCII_BOS));\n console.log();\n console.log(colors.dim(` ${title} ${colors.cyan(`v${version}`)}`));\n console.log(colors.dim(` ${divider(30)}`));\n console.log();\n}\n"],"mappings":";;;;AAIA,MAAM,kFAAY,CAAC,CAAC,oBAAoB;AAExC,MAAM,YAAY;;;;;;;AAQlB,SAAgB,YAAY,QAAQ,kBAAkB,UAAU,IAAI,SAAS;CAC3E,QAAQ,IAAIA,wBAAU,MAAM,SAAS,CAAC;CACtC,QAAQ,IAAI;CACZ,QAAQ,IAAIC,qBAAO,IAAI,KAAK,MAAM,GAAGA,qBAAO,KAAK,IAAI,SAAS,GAAG,CAAC;CAClE,QAAQ,IAAIA,qBAAO,IAAI,KAAKC,sBAAQ,EAAE,GAAG,CAAC;CAC1C,QAAQ,IAAI;AACd"}
1
+ {"version":3,"file":"banner.cjs","names":["readFileSync","gradients","colors","divider"],"sources":["../../src/utils/banner.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { colors, divider, gradients } from \"./theme\";\n\nconst pkg = JSON.parse(readFileSync(new URL(\"../../package.json\", import.meta.url), \"utf-8\")) as {\n version: string;\n};\n\nconst ASCII_BOS = `\n ██████╗ ██████╗ ███████╗\n ██╔══██╗██╔═══██╗██╔════╝\n ██████╔╝██║ ██║███████╗\n ██╔══██╗██║ ██║╚════██║\n ██████╔╝╚██████╔╝███████║\n ╚═════╝ ╚═════╝ ╚══════╝`;\n\nexport function printBanner(title = \"everything-dev\", version = pkg.version) {\n console.log(gradients.cyber(ASCII_BOS));\n console.log();\n console.log(colors.dim(` ${title} ${colors.cyan(`v${version}`)}`));\n console.log(colors.dim(` ${divider(30)}`));\n console.log();\n}\n"],"mappings":";;;;AAGA,MAAM,MAAM,KAAK,UAAMA,sBAAa,IAAI,IAAI,mEAAqC,GAAG,OAAO,CAAC;AAI5F,MAAM,YAAY;;;;;;;AAQlB,SAAgB,YAAY,QAAQ,kBAAkB,UAAU,IAAI,SAAS;CAC3E,QAAQ,IAAIC,wBAAU,MAAM,SAAS,CAAC;CACtC,QAAQ,IAAI;CACZ,QAAQ,IAAIC,qBAAO,IAAI,KAAK,MAAM,GAAGA,qBAAO,KAAK,IAAI,SAAS,GAAG,CAAC;CAClE,QAAQ,IAAIA,qBAAO,IAAI,KAAKC,sBAAQ,EAAE,GAAG,CAAC;CAC1C,QAAQ,IAAI;AACd"}
@@ -1,8 +1,8 @@
1
1
  import { colors, divider, gradients } from "./theme.mjs";
2
- import { createRequire } from "node:module";
2
+ import { readFileSync } from "node:fs";
3
3
 
4
4
  //#region src/utils/banner.ts
5
- const pkg = createRequire(import.meta.url)("../../package.json");
5
+ const pkg = JSON.parse(readFileSync(new URL("../../package.json", import.meta.url), "utf-8"));
6
6
  const ASCII_BOS = `
7
7
  ██████╗ ██████╗ ███████╗
8
8
  ██╔══██╗██╔═══██╗██╔════╝
@@ -1 +1 @@
1
- {"version":3,"file":"banner.mjs","names":[],"sources":["../../src/utils/banner.ts"],"sourcesContent":["import { createRequire } from \"node:module\";\nimport { colors, divider, gradients } from \"./theme\";\n\nconst require = createRequire(import.meta.url);\nconst pkg = require(\"../../package.json\") as { version: string };\n\nconst ASCII_BOS = `\n ██████╗ ██████╗ ███████╗\n ██╔══██╗██╔═══██╗██╔════╝\n ██████╔╝██║ ██║███████╗\n ██╔══██╗██║ ██║╚════██║\n ██████╔╝╚██████╔╝███████║\n ╚═════╝ ╚═════╝ ╚══════╝`;\n\nexport function printBanner(title = \"everything-dev\", version = pkg.version) {\n console.log(gradients.cyber(ASCII_BOS));\n console.log();\n console.log(colors.dim(` ${title} ${colors.cyan(`v${version}`)}`));\n console.log(colors.dim(` ${divider(30)}`));\n console.log();\n}\n"],"mappings":";;;;AAIA,MAAM,MADU,cAAc,OAAO,KAAK,GACxB,CAAC,CAAC,oBAAoB;AAExC,MAAM,YAAY;;;;;;;AAQlB,SAAgB,YAAY,QAAQ,kBAAkB,UAAU,IAAI,SAAS;CAC3E,QAAQ,IAAI,UAAU,MAAM,SAAS,CAAC;CACtC,QAAQ,IAAI;CACZ,QAAQ,IAAI,OAAO,IAAI,KAAK,MAAM,GAAG,OAAO,KAAK,IAAI,SAAS,GAAG,CAAC;CAClE,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,GAAG,CAAC;CAC1C,QAAQ,IAAI;AACd"}
1
+ {"version":3,"file":"banner.mjs","names":[],"sources":["../../src/utils/banner.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { colors, divider, gradients } from \"./theme\";\n\nconst pkg = JSON.parse(readFileSync(new URL(\"../../package.json\", import.meta.url), \"utf-8\")) as {\n version: string;\n};\n\nconst ASCII_BOS = `\n ██████╗ ██████╗ ███████╗\n ██╔══██╗██╔═══██╗██╔════╝\n ██████╔╝██║ ██║███████╗\n ██╔══██╗██║ ██║╚════██║\n ██████╔╝╚██████╔╝███████║\n ╚═════╝ ╚═════╝ ╚══════╝`;\n\nexport function printBanner(title = \"everything-dev\", version = pkg.version) {\n console.log(gradients.cyber(ASCII_BOS));\n console.log();\n console.log(colors.dim(` ${title} ${colors.cyan(`v${version}`)}`));\n console.log(colors.dim(` ${divider(30)}`));\n console.log();\n}\n"],"mappings":";;;;AAGA,MAAM,MAAM,KAAK,MAAM,aAAa,IAAI,IAAI,sBAAsB,YAAY,GAAG,GAAG,OAAO,CAAC;AAI5F,MAAM,YAAY;;;;;;;AAQlB,SAAgB,YAAY,QAAQ,kBAAkB,UAAU,IAAI,SAAS;CAC3E,QAAQ,IAAI,UAAU,MAAM,SAAS,CAAC;CACtC,QAAQ,IAAI;CACZ,QAAQ,IAAI,OAAO,IAAI,KAAK,MAAM,GAAG,OAAO,KAAK,IAAI,SAAS,GAAG,CAAC;CAClE,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,GAAG,CAAC;CAC1C,QAAQ,IAAI;AACd"}
@@ -1,10 +1,10 @@
1
-
2
1
  //#region src/utils/linkify.ts
3
2
  const URL_REGEX = /https?:\/\/[^\s<>"{}|\\^`[\]]+/g;
4
3
  const OSC_START = "\x1B]8;;";
5
4
  const OSC_END = "\x07";
6
5
  const OSC_RESET = "\x1B]8;;\x07";
7
6
  const linkify = (text) => {
7
+ if (!process.stdout.isTTY) return text;
8
8
  return text.replace(URL_REGEX, (url) => {
9
9
  return `${OSC_START}${url}${OSC_END}${url}${OSC_RESET}`;
10
10
  });
@@ -1 +1 @@
1
- {"version":3,"file":"linkify.cjs","names":[],"sources":["../../src/utils/linkify.ts"],"sourcesContent":["const URL_REGEX = /https?:\\/\\/[^\\s<>\"{}|\\\\^`[\\]]+/g;\n\nconst OSC_START = \"\\x1b]8;;\";\nconst OSC_END = \"\\x07\";\nconst OSC_RESET = \"\\x1b]8;;\\x07\";\n\nexport const linkify = (text: string): string => {\n return text.replace(URL_REGEX, (url) => {\n return `${OSC_START}${url}${OSC_END}${url}${OSC_RESET}`;\n });\n};\n"],"mappings":";;AAAA,MAAM,YAAY;AAElB,MAAM,YAAY;AAClB,MAAM,UAAU;AAChB,MAAM,YAAY;AAElB,MAAa,WAAW,SAAyB;CAC/C,OAAO,KAAK,QAAQ,YAAY,QAAQ;EACtC,OAAO,GAAG,YAAY,MAAM,UAAU,MAAM;CAC9C,CAAC;AACH"}
1
+ {"version":3,"file":"linkify.cjs","names":[],"sources":["../../src/utils/linkify.ts"],"sourcesContent":["const URL_REGEX = /https?:\\/\\/[^\\s<>\"{}|\\\\^`[\\]]+/g;\n\nconst OSC_START = \"\\x1b]8;;\";\nconst OSC_END = \"\\x07\";\nconst OSC_RESET = \"\\x1b]8;;\\x07\";\n\nexport const linkify = (text: string): string => {\n if (!process.stdout.isTTY) return text;\n return text.replace(URL_REGEX, (url) => {\n return `${OSC_START}${url}${OSC_END}${url}${OSC_RESET}`;\n });\n};\n"],"mappings":";AAAA,MAAM,YAAY;AAElB,MAAM,YAAY;AAClB,MAAM,UAAU;AAChB,MAAM,YAAY;AAElB,MAAa,WAAW,SAAyB;CAC/C,IAAI,CAAC,QAAQ,OAAO,OAAO,OAAO;CAClC,OAAO,KAAK,QAAQ,YAAY,QAAQ;EACtC,OAAO,GAAG,YAAY,MAAM,UAAU,MAAM;CAC9C,CAAC;AACH"}
@@ -4,6 +4,7 @@ const OSC_START = "\x1B]8;;";
4
4
  const OSC_END = "\x07";
5
5
  const OSC_RESET = "\x1B]8;;\x07";
6
6
  const linkify = (text) => {
7
+ if (!process.stdout.isTTY) return text;
7
8
  return text.replace(URL_REGEX, (url) => {
8
9
  return `${OSC_START}${url}${OSC_END}${url}${OSC_RESET}`;
9
10
  });
@@ -1 +1 @@
1
- {"version":3,"file":"linkify.mjs","names":[],"sources":["../../src/utils/linkify.ts"],"sourcesContent":["const URL_REGEX = /https?:\\/\\/[^\\s<>\"{}|\\\\^`[\\]]+/g;\n\nconst OSC_START = \"\\x1b]8;;\";\nconst OSC_END = \"\\x07\";\nconst OSC_RESET = \"\\x1b]8;;\\x07\";\n\nexport const linkify = (text: string): string => {\n return text.replace(URL_REGEX, (url) => {\n return `${OSC_START}${url}${OSC_END}${url}${OSC_RESET}`;\n });\n};\n"],"mappings":";AAAA,MAAM,YAAY;AAElB,MAAM,YAAY;AAClB,MAAM,UAAU;AAChB,MAAM,YAAY;AAElB,MAAa,WAAW,SAAyB;CAC/C,OAAO,KAAK,QAAQ,YAAY,QAAQ;EACtC,OAAO,GAAG,YAAY,MAAM,UAAU,MAAM;CAC9C,CAAC;AACH"}
1
+ {"version":3,"file":"linkify.mjs","names":[],"sources":["../../src/utils/linkify.ts"],"sourcesContent":["const URL_REGEX = /https?:\\/\\/[^\\s<>\"{}|\\\\^`[\\]]+/g;\n\nconst OSC_START = \"\\x1b]8;;\";\nconst OSC_END = \"\\x07\";\nconst OSC_RESET = \"\\x1b]8;;\\x07\";\n\nexport const linkify = (text: string): string => {\n if (!process.stdout.isTTY) return text;\n return text.replace(URL_REGEX, (url) => {\n return `${OSC_START}${url}${OSC_END}${url}${OSC_RESET}`;\n });\n};\n"],"mappings":";AAAA,MAAM,YAAY;AAElB,MAAM,YAAY;AAClB,MAAM,UAAU;AAChB,MAAM,YAAY;AAElB,MAAa,WAAW,SAAyB;CAC/C,IAAI,CAAC,QAAQ,OAAO,OAAO,OAAO;CAClC,OAAO,KAAK,QAAQ,YAAY,QAAQ;EACtC,OAAO,GAAG,YAAY,MAAM,UAAU,MAAM;CAC9C,CAAC;AACH"}
@@ -23,21 +23,21 @@ async function run(cmd, args, options = {}) {
23
23
  options.onChunk("stderr", chunk);
24
24
  });
25
25
  }
26
- await proc;
26
+ const result = await proc;
27
+ const exitCode = result.exitCode ?? (result.failed ? 1 : 0);
27
28
  if (!options.capture) {
28
- const exitCode = proc.exitCode ?? 0;
29
29
  if (exitCode !== 0) throw new Error(`${cmd} ${args.join(" ")} failed with exit code ${exitCode}`);
30
30
  return;
31
31
  }
32
32
  if (options.onChunk) return {
33
33
  stdout: capturedStdout,
34
34
  stderr: capturedStderr,
35
- exitCode: proc.exitCode ?? 0
35
+ exitCode
36
36
  };
37
37
  return {
38
- stdout: typeof proc.stdout === "string" ? proc.stdout : "",
39
- stderr: typeof proc.stderr === "string" ? proc.stderr : "",
40
- exitCode: proc.exitCode ?? 0
38
+ stdout: typeof result.stdout === "string" ? result.stdout : "",
39
+ stderr: typeof result.stderr === "string" ? result.stderr : "",
40
+ exitCode
41
41
  };
42
42
  }
43
43
 
@@ -1 +1 @@
1
- {"version":3,"file":"run.cjs","names":[],"sources":["../../src/utils/run.ts"],"sourcesContent":["import { execa } from \"execa\";\n\ntype RunResult = { stdout: string; stderr: string; exitCode: number };\n\nexport async function run(\n cmd: string,\n args: string[],\n options: {\n cwd?: string;\n env?: Record<string, string>;\n capture?: boolean;\n onChunk?: (stream: \"stdout\" | \"stderr\", chunk: Buffer) => void;\n } = {},\n): Promise<RunResult | undefined> {\n const proc = execa(cmd, args, {\n cwd: options.cwd,\n env: options.env ? { ...(process.env as Record<string, string>), ...options.env } : process.env,\n stdio: options.capture ? \"pipe\" : \"inherit\",\n reject: false,\n });\n\n let capturedStdout = \"\";\n let capturedStderr = \"\";\n\n if (options.capture && options.onChunk) {\n proc.stdout?.on(\"data\", (chunk: Buffer) => {\n capturedStdout += chunk.toString(\"utf-8\");\n options.onChunk!(\"stdout\", chunk);\n });\n proc.stderr?.on(\"data\", (chunk: Buffer) => {\n capturedStderr += chunk.toString(\"utf-8\");\n options.onChunk!(\"stderr\", chunk);\n });\n }\n\n await proc;\n\n if (!options.capture) {\n const exitCode = proc.exitCode ?? 0;\n if (exitCode !== 0) {\n throw new Error(`${cmd} ${args.join(\" \")} failed with exit code ${exitCode}`);\n }\n return;\n }\n\n if (options.onChunk) {\n return {\n stdout: capturedStdout,\n stderr: capturedStderr,\n exitCode: proc.exitCode ?? 0,\n };\n }\n\n const result: RunResult = {\n stdout: typeof proc.stdout === \"string\" ? proc.stdout : \"\",\n stderr: typeof proc.stderr === \"string\" ? proc.stderr : \"\",\n exitCode: proc.exitCode ?? 0,\n };\n return result;\n}\n"],"mappings":";;;AAIA,eAAsB,IACpB,KACA,MACA,UAKI,CAAC,GAC2B;CAChC,MAAM,wBAAa,KAAK,MAAM;EAC5B,KAAK,QAAQ;EACb,KAAK,QAAQ,MAAM;GAAE,GAAI,QAAQ;GAAgC,GAAG,QAAQ;EAAI,IAAI,QAAQ;EAC5F,OAAO,QAAQ,UAAU,SAAS;EAClC,QAAQ;CACV,CAAC;CAED,IAAI,iBAAiB;CACrB,IAAI,iBAAiB;CAErB,IAAI,QAAQ,WAAW,QAAQ,SAAS;EACtC,KAAK,QAAQ,GAAG,SAAS,UAAkB;GACzC,kBAAkB,MAAM,SAAS,OAAO;GACxC,QAAQ,QAAS,UAAU,KAAK;EAClC,CAAC;EACD,KAAK,QAAQ,GAAG,SAAS,UAAkB;GACzC,kBAAkB,MAAM,SAAS,OAAO;GACxC,QAAQ,QAAS,UAAU,KAAK;EAClC,CAAC;CACH;CAEA,MAAM;CAEN,IAAI,CAAC,QAAQ,SAAS;EACpB,MAAM,WAAW,KAAK,YAAY;EAClC,IAAI,aAAa,GACf,MAAM,IAAI,MAAM,GAAG,IAAI,GAAG,KAAK,KAAK,GAAG,EAAE,yBAAyB,UAAU;EAE9E;CACF;CAEA,IAAI,QAAQ,SACV,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,UAAU,KAAK,YAAY;CAC7B;CAQF,OAAO;EAJL,QAAQ,OAAO,KAAK,WAAW,WAAW,KAAK,SAAS;EACxD,QAAQ,OAAO,KAAK,WAAW,WAAW,KAAK,SAAS;EACxD,UAAU,KAAK,YAAY;CAEjB;AACd"}
1
+ {"version":3,"file":"run.cjs","names":[],"sources":["../../src/utils/run.ts"],"sourcesContent":["import { execa } from \"execa\";\n\ntype RunResult = { stdout: string; stderr: string; exitCode: number };\n\nexport async function run(\n cmd: string,\n args: string[],\n options: {\n cwd?: string;\n env?: Record<string, string>;\n capture?: boolean;\n onChunk?: (stream: \"stdout\" | \"stderr\", chunk: Buffer) => void;\n } = {},\n): Promise<RunResult | undefined> {\n const proc = execa(cmd, args, {\n cwd: options.cwd,\n env: options.env ? { ...(process.env as Record<string, string>), ...options.env } : process.env,\n stdio: options.capture ? \"pipe\" : \"inherit\",\n reject: false,\n });\n\n let capturedStdout = \"\";\n let capturedStderr = \"\";\n\n if (options.capture && options.onChunk) {\n proc.stdout?.on(\"data\", (chunk: Buffer) => {\n capturedStdout += chunk.toString(\"utf-8\");\n options.onChunk!(\"stdout\", chunk);\n });\n proc.stderr?.on(\"data\", (chunk: Buffer) => {\n capturedStderr += chunk.toString(\"utf-8\");\n options.onChunk!(\"stderr\", chunk);\n });\n }\n\n // Read the settled result, not the promise object — under execa 9 the\n // promise's stdout/stderr are live streams, not the resolved strings.\n const result = await proc;\n const exitCode = result.exitCode ?? (result.failed ? 1 : 0);\n\n if (!options.capture) {\n if (exitCode !== 0) {\n throw new Error(`${cmd} ${args.join(\" \")} failed with exit code ${exitCode}`);\n }\n return;\n }\n\n if (options.onChunk) {\n return { stdout: capturedStdout, stderr: capturedStderr, exitCode };\n }\n\n return {\n stdout: typeof result.stdout === \"string\" ? result.stdout : \"\",\n stderr: typeof result.stderr === \"string\" ? result.stderr : \"\",\n exitCode,\n };\n}\n"],"mappings":";;;AAIA,eAAsB,IACpB,KACA,MACA,UAKI,CAAC,GAC2B;CAChC,MAAM,WAAO,aAAM,KAAK,MAAM;EAC5B,KAAK,QAAQ;EACb,KAAK,QAAQ,MAAM;GAAE,GAAI,QAAQ;GAAgC,GAAG,QAAQ;EAAI,IAAI,QAAQ;EAC5F,OAAO,QAAQ,UAAU,SAAS;EAClC,QAAQ;CACV,CAAC;CAED,IAAI,iBAAiB;CACrB,IAAI,iBAAiB;CAErB,IAAI,QAAQ,WAAW,QAAQ,SAAS;EACtC,KAAK,QAAQ,GAAG,SAAS,UAAkB;GACzC,kBAAkB,MAAM,SAAS,OAAO;GACxC,QAAQ,QAAS,UAAU,KAAK;EAClC,CAAC;EACD,KAAK,QAAQ,GAAG,SAAS,UAAkB;GACzC,kBAAkB,MAAM,SAAS,OAAO;GACxC,QAAQ,QAAS,UAAU,KAAK;EAClC,CAAC;CACH;CAIA,MAAM,SAAS,MAAM;CACrB,MAAM,WAAW,OAAO,aAAa,OAAO,SAAS,IAAI;CAEzD,IAAI,CAAC,QAAQ,SAAS;EACpB,IAAI,aAAa,GACf,MAAM,IAAI,MAAM,GAAG,IAAI,GAAG,KAAK,KAAK,GAAG,EAAE,yBAAyB,UAAU;EAE9E;CACF;CAEA,IAAI,QAAQ,SACV,OAAO;EAAE,QAAQ;EAAgB,QAAQ;EAAgB;CAAS;CAGpE,OAAO;EACL,QAAQ,OAAO,OAAO,WAAW,WAAW,OAAO,SAAS;EAC5D,QAAQ,OAAO,OAAO,WAAW,WAAW,OAAO,SAAS;EAC5D;CACF;AACF"}
@@ -23,21 +23,21 @@ async function run(cmd, args, options = {}) {
23
23
  options.onChunk("stderr", chunk);
24
24
  });
25
25
  }
26
- await proc;
26
+ const result = await proc;
27
+ const exitCode = result.exitCode ?? (result.failed ? 1 : 0);
27
28
  if (!options.capture) {
28
- const exitCode = proc.exitCode ?? 0;
29
29
  if (exitCode !== 0) throw new Error(`${cmd} ${args.join(" ")} failed with exit code ${exitCode}`);
30
30
  return;
31
31
  }
32
32
  if (options.onChunk) return {
33
33
  stdout: capturedStdout,
34
34
  stderr: capturedStderr,
35
- exitCode: proc.exitCode ?? 0
35
+ exitCode
36
36
  };
37
37
  return {
38
- stdout: typeof proc.stdout === "string" ? proc.stdout : "",
39
- stderr: typeof proc.stderr === "string" ? proc.stderr : "",
40
- exitCode: proc.exitCode ?? 0
38
+ stdout: typeof result.stdout === "string" ? result.stdout : "",
39
+ stderr: typeof result.stderr === "string" ? result.stderr : "",
40
+ exitCode
41
41
  };
42
42
  }
43
43
 
@@ -1 +1 @@
1
- {"version":3,"file":"run.mjs","names":[],"sources":["../../src/utils/run.ts"],"sourcesContent":["import { execa } from \"execa\";\n\ntype RunResult = { stdout: string; stderr: string; exitCode: number };\n\nexport async function run(\n cmd: string,\n args: string[],\n options: {\n cwd?: string;\n env?: Record<string, string>;\n capture?: boolean;\n onChunk?: (stream: \"stdout\" | \"stderr\", chunk: Buffer) => void;\n } = {},\n): Promise<RunResult | undefined> {\n const proc = execa(cmd, args, {\n cwd: options.cwd,\n env: options.env ? { ...(process.env as Record<string, string>), ...options.env } : process.env,\n stdio: options.capture ? \"pipe\" : \"inherit\",\n reject: false,\n });\n\n let capturedStdout = \"\";\n let capturedStderr = \"\";\n\n if (options.capture && options.onChunk) {\n proc.stdout?.on(\"data\", (chunk: Buffer) => {\n capturedStdout += chunk.toString(\"utf-8\");\n options.onChunk!(\"stdout\", chunk);\n });\n proc.stderr?.on(\"data\", (chunk: Buffer) => {\n capturedStderr += chunk.toString(\"utf-8\");\n options.onChunk!(\"stderr\", chunk);\n });\n }\n\n await proc;\n\n if (!options.capture) {\n const exitCode = proc.exitCode ?? 0;\n if (exitCode !== 0) {\n throw new Error(`${cmd} ${args.join(\" \")} failed with exit code ${exitCode}`);\n }\n return;\n }\n\n if (options.onChunk) {\n return {\n stdout: capturedStdout,\n stderr: capturedStderr,\n exitCode: proc.exitCode ?? 0,\n };\n }\n\n const result: RunResult = {\n stdout: typeof proc.stdout === \"string\" ? proc.stdout : \"\",\n stderr: typeof proc.stderr === \"string\" ? proc.stderr : \"\",\n exitCode: proc.exitCode ?? 0,\n };\n return result;\n}\n"],"mappings":";;;AAIA,eAAsB,IACpB,KACA,MACA,UAKI,CAAC,GAC2B;CAChC,MAAM,OAAO,MAAM,KAAK,MAAM;EAC5B,KAAK,QAAQ;EACb,KAAK,QAAQ,MAAM;GAAE,GAAI,QAAQ;GAAgC,GAAG,QAAQ;EAAI,IAAI,QAAQ;EAC5F,OAAO,QAAQ,UAAU,SAAS;EAClC,QAAQ;CACV,CAAC;CAED,IAAI,iBAAiB;CACrB,IAAI,iBAAiB;CAErB,IAAI,QAAQ,WAAW,QAAQ,SAAS;EACtC,KAAK,QAAQ,GAAG,SAAS,UAAkB;GACzC,kBAAkB,MAAM,SAAS,OAAO;GACxC,QAAQ,QAAS,UAAU,KAAK;EAClC,CAAC;EACD,KAAK,QAAQ,GAAG,SAAS,UAAkB;GACzC,kBAAkB,MAAM,SAAS,OAAO;GACxC,QAAQ,QAAS,UAAU,KAAK;EAClC,CAAC;CACH;CAEA,MAAM;CAEN,IAAI,CAAC,QAAQ,SAAS;EACpB,MAAM,WAAW,KAAK,YAAY;EAClC,IAAI,aAAa,GACf,MAAM,IAAI,MAAM,GAAG,IAAI,GAAG,KAAK,KAAK,GAAG,EAAE,yBAAyB,UAAU;EAE9E;CACF;CAEA,IAAI,QAAQ,SACV,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,UAAU,KAAK,YAAY;CAC7B;CAQF,OAAO;EAJL,QAAQ,OAAO,KAAK,WAAW,WAAW,KAAK,SAAS;EACxD,QAAQ,OAAO,KAAK,WAAW,WAAW,KAAK,SAAS;EACxD,UAAU,KAAK,YAAY;CAEjB;AACd"}
1
+ {"version":3,"file":"run.mjs","names":[],"sources":["../../src/utils/run.ts"],"sourcesContent":["import { execa } from \"execa\";\n\ntype RunResult = { stdout: string; stderr: string; exitCode: number };\n\nexport async function run(\n cmd: string,\n args: string[],\n options: {\n cwd?: string;\n env?: Record<string, string>;\n capture?: boolean;\n onChunk?: (stream: \"stdout\" | \"stderr\", chunk: Buffer) => void;\n } = {},\n): Promise<RunResult | undefined> {\n const proc = execa(cmd, args, {\n cwd: options.cwd,\n env: options.env ? { ...(process.env as Record<string, string>), ...options.env } : process.env,\n stdio: options.capture ? \"pipe\" : \"inherit\",\n reject: false,\n });\n\n let capturedStdout = \"\";\n let capturedStderr = \"\";\n\n if (options.capture && options.onChunk) {\n proc.stdout?.on(\"data\", (chunk: Buffer) => {\n capturedStdout += chunk.toString(\"utf-8\");\n options.onChunk!(\"stdout\", chunk);\n });\n proc.stderr?.on(\"data\", (chunk: Buffer) => {\n capturedStderr += chunk.toString(\"utf-8\");\n options.onChunk!(\"stderr\", chunk);\n });\n }\n\n // Read the settled result, not the promise object — under execa 9 the\n // promise's stdout/stderr are live streams, not the resolved strings.\n const result = await proc;\n const exitCode = result.exitCode ?? (result.failed ? 1 : 0);\n\n if (!options.capture) {\n if (exitCode !== 0) {\n throw new Error(`${cmd} ${args.join(\" \")} failed with exit code ${exitCode}`);\n }\n return;\n }\n\n if (options.onChunk) {\n return { stdout: capturedStdout, stderr: capturedStderr, exitCode };\n }\n\n return {\n stdout: typeof result.stdout === \"string\" ? result.stdout : \"\",\n stderr: typeof result.stderr === \"string\" ? result.stderr : \"\",\n exitCode,\n };\n}\n"],"mappings":";;;AAIA,eAAsB,IACpB,KACA,MACA,UAKI,CAAC,GAC2B;CAChC,MAAM,OAAO,MAAM,KAAK,MAAM;EAC5B,KAAK,QAAQ;EACb,KAAK,QAAQ,MAAM;GAAE,GAAI,QAAQ;GAAgC,GAAG,QAAQ;EAAI,IAAI,QAAQ;EAC5F,OAAO,QAAQ,UAAU,SAAS;EAClC,QAAQ;CACV,CAAC;CAED,IAAI,iBAAiB;CACrB,IAAI,iBAAiB;CAErB,IAAI,QAAQ,WAAW,QAAQ,SAAS;EACtC,KAAK,QAAQ,GAAG,SAAS,UAAkB;GACzC,kBAAkB,MAAM,SAAS,OAAO;GACxC,QAAQ,QAAS,UAAU,KAAK;EAClC,CAAC;EACD,KAAK,QAAQ,GAAG,SAAS,UAAkB;GACzC,kBAAkB,MAAM,SAAS,OAAO;GACxC,QAAQ,QAAS,UAAU,KAAK;EAClC,CAAC;CACH;CAIA,MAAM,SAAS,MAAM;CACrB,MAAM,WAAW,OAAO,aAAa,OAAO,SAAS,IAAI;CAEzD,IAAI,CAAC,QAAQ,SAAS;EACpB,IAAI,aAAa,GACf,MAAM,IAAI,MAAM,GAAG,IAAI,GAAG,KAAK,KAAK,GAAG,EAAE,yBAAyB,UAAU;EAE9E;CACF;CAEA,IAAI,QAAQ,SACV,OAAO;EAAE,QAAQ;EAAgB,QAAQ;EAAgB;CAAS;CAGpE,OAAO;EACL,QAAQ,OAAO,OAAO,WAAW,WAAW,OAAO,SAAS;EAC5D,QAAQ,OAAO,OAAO,WAAW,WAAW,OAAO,SAAS;EAC5D;CACF;AACF"}
@@ -1,9 +1,21 @@
1
1
  const require_merge = require('../merge.cjs');
2
+ const require_config = require('../config.cjs');
3
+ const require_serialize = require('../descriptor/serialize.cjs');
2
4
  let node_fs = require("node:fs");
3
5
  let node_path = require("node:path");
4
6
 
5
7
  //#region src/utils/save-config.ts
8
+ /**
9
+ * Persists config changes onto the project's authored surface: the authored
10
+ * `bos.app.ts` descriptor when present (the serializer drops pipeline state —
11
+ * production URLs and integrity), else the legacy `bos.config.json` as-is.
12
+ */
6
13
  async function saveBosConfig(configDir, config) {
14
+ const entryPath = require_config.localConfigEntryPath(configDir);
15
+ if (entryPath?.endsWith(".app.ts")) {
16
+ (0, node_fs.writeFileSync)(entryPath, require_serialize.serializeAppDescriptorSource(config));
17
+ return;
18
+ }
7
19
  const filePath = (0, node_path.join)(configDir, "bos.config.json");
8
20
  const ordered = require_merge.rebuildOrderedConfig(config);
9
21
  const next = `${JSON.stringify(ordered, null, 2)}\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"save-config.cjs","names":["rebuildOrderedConfig"],"sources":["../../src/utils/save-config.ts"],"sourcesContent":["import { readFileSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { rebuildOrderedConfig } from \"../merge\";\nimport type { BosConfig } from \"../types\";\n\nexport async function saveBosConfig(\n configDir: string,\n config: BosConfig | Record<string, unknown>,\n): Promise<void> {\n const filePath = join(configDir, \"bos.config.json\");\n const ordered = rebuildOrderedConfig(config as Record<string, unknown>);\n const next = `${JSON.stringify(ordered, null, 2)}\\n`;\n try {\n if (readFileSync(filePath, \"utf8\") === next) return;\n } catch {\n // file does not exist yet\n }\n\n writeFileSync(filePath, next);\n}\n"],"mappings":";;;;;AAKA,eAAsB,cACpB,WACA,QACe;CACf,MAAM,+BAAgB,WAAW,iBAAiB;CAClD,MAAM,UAAUA,mCAAqB,MAAiC;CACtE,MAAM,OAAO,GAAG,KAAK,UAAU,SAAS,MAAM,CAAC,EAAE;CACjD,IAAI;EACF,8BAAiB,UAAU,MAAM,MAAM,MAAM;CAC/C,QAAQ,CAER;CAEA,2BAAc,UAAU,IAAI;AAC9B"}
1
+ {"version":3,"file":"save-config.cjs","names":["localConfigEntryPath","serializeAppDescriptorSource","join","rebuildOrderedConfig","readFileSync"],"sources":["../../src/utils/save-config.ts"],"sourcesContent":["import { readFileSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { localConfigEntryPath } from \"../config\";\nimport { serializeAppDescriptorSource } from \"../descriptor/serialize\";\nimport { rebuildOrderedConfig } from \"../merge\";\nimport type { BosConfig, BosConfigInput } from \"../types\";\n\n/**\n * Persists config changes onto the project's authored surface: the authored\n * `bos.app.ts` descriptor when present (the serializer drops pipeline state —\n * production URLs and integrity), else the legacy `bos.config.json` as-is.\n */\nexport async function saveBosConfig(\n configDir: string,\n config: BosConfig | BosConfigInput | Record<string, unknown>,\n): Promise<void> {\n const entryPath = localConfigEntryPath(configDir);\n if (entryPath?.endsWith(\".app.ts\")) {\n writeFileSync(entryPath, serializeAppDescriptorSource(config as BosConfigInput));\n return;\n }\n\n const filePath = join(configDir, \"bos.config.json\");\n const ordered = rebuildOrderedConfig(config as Record<string, unknown>);\n const next = `${JSON.stringify(ordered, null, 2)}\\n`;\n try {\n if (readFileSync(filePath, \"utf8\") === next) return;\n } catch {\n // file does not exist yet\n }\n\n writeFileSync(filePath, next);\n}\n"],"mappings":";;;;;;;;;;;;AAYA,eAAsB,cACpB,WACA,QACe;CACf,MAAM,YAAYA,oCAAqB,SAAS;CAChD,IAAI,WAAW,SAAS,SAAS,GAAG;EAClC,2BAAc,WAAWC,+CAA6B,MAAwB,CAAC;EAC/E;CACF;CAEA,MAAM,eAAWC,gBAAK,WAAW,iBAAiB;CAClD,MAAM,UAAUC,mCAAqB,MAAiC;CACtE,MAAM,OAAO,GAAG,KAAK,UAAU,SAAS,MAAM,CAAC,EAAE;CACjD,IAAI;EACF,QAAIC,sBAAa,UAAU,MAAM,MAAM,MAAM;CAC/C,QAAQ,CAER;CAEA,2BAAc,UAAU,IAAI;AAC9B"}
@@ -1,9 +1,21 @@
1
1
  import { rebuildOrderedConfig } from "../merge.mjs";
2
+ import { localConfigEntryPath } from "../config.mjs";
3
+ import { serializeAppDescriptorSource } from "../descriptor/serialize.mjs";
2
4
  import { readFileSync, writeFileSync } from "node:fs";
3
5
  import { join } from "node:path";
4
6
 
5
7
  //#region src/utils/save-config.ts
8
+ /**
9
+ * Persists config changes onto the project's authored surface: the authored
10
+ * `bos.app.ts` descriptor when present (the serializer drops pipeline state —
11
+ * production URLs and integrity), else the legacy `bos.config.json` as-is.
12
+ */
6
13
  async function saveBosConfig(configDir, config) {
14
+ const entryPath = localConfigEntryPath(configDir);
15
+ if (entryPath?.endsWith(".app.ts")) {
16
+ writeFileSync(entryPath, serializeAppDescriptorSource(config));
17
+ return;
18
+ }
7
19
  const filePath = join(configDir, "bos.config.json");
8
20
  const ordered = rebuildOrderedConfig(config);
9
21
  const next = `${JSON.stringify(ordered, null, 2)}\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"save-config.mjs","names":[],"sources":["../../src/utils/save-config.ts"],"sourcesContent":["import { readFileSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { rebuildOrderedConfig } from \"../merge\";\nimport type { BosConfig } from \"../types\";\n\nexport async function saveBosConfig(\n configDir: string,\n config: BosConfig | Record<string, unknown>,\n): Promise<void> {\n const filePath = join(configDir, \"bos.config.json\");\n const ordered = rebuildOrderedConfig(config as Record<string, unknown>);\n const next = `${JSON.stringify(ordered, null, 2)}\\n`;\n try {\n if (readFileSync(filePath, \"utf8\") === next) return;\n } catch {\n // file does not exist yet\n }\n\n writeFileSync(filePath, next);\n}\n"],"mappings":";;;;;AAKA,eAAsB,cACpB,WACA,QACe;CACf,MAAM,WAAW,KAAK,WAAW,iBAAiB;CAClD,MAAM,UAAU,qBAAqB,MAAiC;CACtE,MAAM,OAAO,GAAG,KAAK,UAAU,SAAS,MAAM,CAAC,EAAE;CACjD,IAAI;EACF,IAAI,aAAa,UAAU,MAAM,MAAM,MAAM;CAC/C,QAAQ,CAER;CAEA,cAAc,UAAU,IAAI;AAC9B"}
1
+ {"version":3,"file":"save-config.mjs","names":[],"sources":["../../src/utils/save-config.ts"],"sourcesContent":["import { readFileSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { localConfigEntryPath } from \"../config\";\nimport { serializeAppDescriptorSource } from \"../descriptor/serialize\";\nimport { rebuildOrderedConfig } from \"../merge\";\nimport type { BosConfig, BosConfigInput } from \"../types\";\n\n/**\n * Persists config changes onto the project's authored surface: the authored\n * `bos.app.ts` descriptor when present (the serializer drops pipeline state —\n * production URLs and integrity), else the legacy `bos.config.json` as-is.\n */\nexport async function saveBosConfig(\n configDir: string,\n config: BosConfig | BosConfigInput | Record<string, unknown>,\n): Promise<void> {\n const entryPath = localConfigEntryPath(configDir);\n if (entryPath?.endsWith(\".app.ts\")) {\n writeFileSync(entryPath, serializeAppDescriptorSource(config as BosConfigInput));\n return;\n }\n\n const filePath = join(configDir, \"bos.config.json\");\n const ordered = rebuildOrderedConfig(config as Record<string, unknown>);\n const next = `${JSON.stringify(ordered, null, 2)}\\n`;\n try {\n if (readFileSync(filePath, \"utf8\") === next) return;\n } catch {\n // file does not exist yet\n }\n\n writeFileSync(filePath, next);\n}\n"],"mappings":";;;;;;;;;;;;AAYA,eAAsB,cACpB,WACA,QACe;CACf,MAAM,YAAY,qBAAqB,SAAS;CAChD,IAAI,WAAW,SAAS,SAAS,GAAG;EAClC,cAAc,WAAW,6BAA6B,MAAwB,CAAC;EAC/E;CACF;CAEA,MAAM,WAAW,KAAK,WAAW,iBAAiB;CAClD,MAAM,UAAU,qBAAqB,MAAiC;CACtE,MAAM,OAAO,GAAG,KAAK,UAAU,SAAS,MAAM,CAAC,EAAE;CACjD,IAAI;EACF,IAAI,aAAa,UAAU,MAAM,MAAM,MAAM;CAC/C,QAAQ,CAER;CAEA,cAAc,UAAU,IAAI;AAC9B"}
@@ -0,0 +1,10 @@
1
+ let node_crypto = require("node:crypto");
2
+
3
+ //#region src/utils/snapshot-hash.ts
4
+ function computeSnapshotHash(content) {
5
+ return (0, node_crypto.createHash)("sha256").update(content).digest("hex").substring(0, 16);
6
+ }
7
+
8
+ //#endregion
9
+ exports.computeSnapshotHash = computeSnapshotHash;
10
+ //# sourceMappingURL=snapshot-hash.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-hash.cjs","names":["createHash"],"sources":["../../src/utils/snapshot-hash.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\n\nexport function computeSnapshotHash(content: string | Uint8Array): string {\n return createHash(\"sha256\").update(content).digest(\"hex\").substring(0, 16);\n}\n"],"mappings":";;;AAEA,SAAgB,oBAAoB,SAAsC;CACxE,WAAOA,wBAAW,QAAQ,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,UAAU,GAAG,EAAE;AAC3E"}
@@ -0,0 +1,10 @@
1
+ import { createHash } from "node:crypto";
2
+
3
+ //#region src/utils/snapshot-hash.ts
4
+ function computeSnapshotHash(content) {
5
+ return createHash("sha256").update(content).digest("hex").substring(0, 16);
6
+ }
7
+
8
+ //#endregion
9
+ export { computeSnapshotHash };
10
+ //# sourceMappingURL=snapshot-hash.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-hash.mjs","names":[],"sources":["../../src/utils/snapshot-hash.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\n\nexport function computeSnapshotHash(content: string | Uint8Array): string {\n return createHash(\"sha256\").update(content).digest(\"hex\").substring(0, 16);\n}\n"],"mappings":";;;AAEA,SAAgB,oBAAoB,SAAsC;CACxE,OAAO,WAAW,QAAQ,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,UAAU,GAAG,EAAE;AAC3E"}
@@ -1,4 +1,3 @@
1
-
2
1
  //#region src/utils/string.ts
3
2
  function padRight(str, len) {
4
3
  return str.length >= len ? str : str + " ".repeat(len - str.length);
@@ -1 +1 @@
1
- {"version":3,"file":"string.cjs","names":[],"sources":["../../src/utils/string.ts"],"sourcesContent":["export function padRight(str: string, len: number): string {\n return str.length >= len ? str : str + \" \".repeat(len - str.length);\n}\n"],"mappings":";;AAAA,SAAgB,SAAS,KAAa,KAAqB;CACzD,OAAO,IAAI,UAAU,MAAM,MAAM,MAAM,IAAI,OAAO,MAAM,IAAI,MAAM;AACpE"}
1
+ {"version":3,"file":"string.cjs","names":[],"sources":["../../src/utils/string.ts"],"sourcesContent":["export function padRight(str: string, len: number): string {\n return str.length >= len ? str : str + \" \".repeat(len - str.length);\n}\n"],"mappings":";AAAA,SAAgB,SAAS,KAAa,KAAqB;CACzD,OAAO,IAAI,UAAU,MAAM,MAAM,MAAM,IAAI,OAAO,MAAM,IAAI,MAAM;AACpE"}