everything-dev 1.53.2 → 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
package/dist/publish.cjs CHANGED
@@ -1,28 +1,114 @@
1
1
  const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
2
+ const require_merge = require('./merge.cjs');
2
3
  const require_fastkv = require('./fastkv.cjs');
3
4
  const require_network = require('./network.cjs');
5
+ const require_version_manifest_resolve = require('./version-manifest-resolve.cjs');
4
6
  const require_config = require('./config.cjs');
7
+ const require_resolution_session = require('./resolution/session.cjs');
8
+ const require_fingerprint = require('./fingerprint.cjs');
9
+ const require_integrity = require('./integrity.cjs');
10
+ const require_timing = require('./cli/timing.cjs');
5
11
  const require_string = require('./utils/string.cjs');
6
12
  const require_theme = require('./utils/theme.cjs');
7
13
  const require_build = require('./build.cjs');
8
14
  const require_code_artifacts = require('./code-artifacts.cjs');
9
- const require_near_cli = require('./near-cli.cjs');
15
+ const require_auth_session = require('./auth-session.cjs');
16
+ const require_cdn_deploy = require('./cdn-deploy.cjs');
17
+ const require_delegate_signer = require('./delegate-signer.cjs');
18
+ const require_rollback = require('./rollback.cjs');
19
+ const require_deploy_diff = require('./deploy-diff.cjs');
20
+ const require_near_signer = require('./near-signer.cjs');
21
+ const require_platform_deploy = require('./platform-deploy.cjs');
22
+ const require_storage_upload = require('./storage-upload.cjs');
23
+ const require_version_manifest_deploy = require('./version-manifest-deploy.cjs');
10
24
  let node_fs = require("node:fs");
11
25
  let node_path = require("node:path");
12
- let effect = require("effect");
13
26
  let node_process = require("node:process");
14
27
  node_process = require_runtime.__toESM(node_process, 1);
28
+ let every_plugin_build_ui = require("every-plugin/build/ui");
15
29
 
16
30
  //#region src/publish.ts
17
31
  function sleep(ms) {
18
32
  return new Promise((resolve) => setTimeout(resolve, ms));
19
33
  }
20
- function extractPublishedUrl(output) {
21
- const deployMatch = output.match(/🚀.*Deployed:\s*(https?:\S+)/);
22
- if (deployMatch) return deployMatch[1];
23
- const match = output.match(/https?:\/\/[^\s"'<>]+/g);
24
- if (!match || match.length === 0) return null;
25
- return match[match.length - 1] ?? null;
34
+ async function pinWorkspaceVersionManifest(input) {
35
+ if (!input.report) return void 0;
36
+ const versionManifest = require_version_manifest_deploy.composeWorkspaceVersionManifest({
37
+ report: input.report,
38
+ ssrReport: input.ssrReport,
39
+ integrityMap: input.integrityMap,
40
+ ...input.files ? { files: input.files } : {}
41
+ });
42
+ if (!versionManifest) return void 0;
43
+ const manifestFile = `versions/${versionManifest.version}.json`;
44
+ const manifestUpload = await require_storage_upload.uploadBundle({
45
+ origin: input.origin,
46
+ apiKey: input.apiKey,
47
+ account: input.account,
48
+ gateway: input.gateway,
49
+ workspace: input.workspace,
50
+ files: [{
51
+ path: manifestFile,
52
+ bytes: new TextEncoder().encode(`${JSON.stringify(versionManifest, null, 2)}\n`)
53
+ }]
54
+ });
55
+ const manifestIntegrity = manifestUpload.integrity[manifestFile];
56
+ if (!manifestIntegrity) return void 0;
57
+ console.log(` ${require_theme.colors.dim(`${require_string.padRight("", 28)} version manifest ${manifestFile} (SRI pinned)`)}`);
58
+ return {
59
+ file: manifestFile,
60
+ integrity: manifestIntegrity,
61
+ storage: manifestUpload.storage
62
+ };
63
+ }
64
+ /**
65
+ * One workspace's upload leg with skip-unchanged diffing: resolve the previous
66
+ * manifest's `files` map, hash the local dist, upload only new/changed files,
67
+ * and return the merged per-file SRI map for the version manifest. Any failure
68
+ * to resolve the previous map degrades to a full upload.
69
+ */
70
+ async function diffUploadWorkspace(input) {
71
+ const localSri = require_deploy_diff.localSriMap(input.files);
72
+ let uploadFiles = input.files;
73
+ let prevFiles;
74
+ if (input.previousPin) try {
75
+ const resolved = await require_version_manifest_resolve.resolveSlotVersion({
76
+ base: input.base,
77
+ pin: input.previousPin
78
+ });
79
+ if (resolved.files) {
80
+ const diff = require_deploy_diff.diffWorkspaceFiles(input.files, localSri, resolved.files);
81
+ prevFiles = resolved.files;
82
+ uploadFiles = diff.upload;
83
+ if (diff.skipped > 0) console.log(` ${require_theme.colors.dim(`${require_string.padRight(input.workspace, 28)} ${diff.skipped} unchanged file(s) — skipping (manifest diff)`)}`);
84
+ }
85
+ } catch {
86
+ console.log(` ${require_theme.colors.dim(`${require_string.padRight(input.workspace, 28)} previous manifest unusable — uploading everything`)}`);
87
+ }
88
+ console.log(` ${require_string.padRight(input.workspace, 28)} uploading ${uploadFiles.length} of ${input.files.length} files (${formatBundleMb(uploadFiles)}) → ${input.base}`);
89
+ const result = uploadFiles.length > 0 ? await require_storage_upload.uploadWorkspaceDist({
90
+ origin: input.origin,
91
+ apiKey: input.apiKey,
92
+ account: input.account,
93
+ gateway: input.gateway,
94
+ workspace: input.workspace,
95
+ files: uploadFiles
96
+ }) : {
97
+ stored: 0,
98
+ totalBytes: 0,
99
+ integrity: {},
100
+ storage: void 0
101
+ };
102
+ return {
103
+ result,
104
+ fileIntegrity: require_deploy_diff.mergedFileIntegrity(input.files, result.integrity, prevFiles),
105
+ uploaded: result.stored,
106
+ skipped: input.files.length - uploadFiles.length,
107
+ total: input.files.length
108
+ };
109
+ }
110
+ function formatBundleMb(files) {
111
+ return `${(files.reduce((sum, file) => sum + file.bytes.byteLength, 0) / 1024 / 1024).toFixed(1)} MB`;
26
112
  }
27
113
  async function waitForPublishedConfig(opts) {
28
114
  const envTimeoutMs = Number(node_process.default.env.BOS_PUBLISH_CONFIRMATION_TIMEOUT_MS);
@@ -33,7 +119,7 @@ async function waitForPublishedConfig(opts) {
33
119
  let lastError;
34
120
  while (Date.now() - startedAt < timeoutMs) {
35
121
  try {
36
- const verifiedConfig = await require_fastkv.fetchBosConfigFromFastKv(`bos://${opts.account}/${opts.gateway}`);
122
+ const verifiedConfig = await require_fastkv.fetchBosConfigFromFastKv(`bos://${opts.account}/${opts.gateway}`, opts.registry);
37
123
  if (JSON.stringify(verifiedConfig) === JSON.stringify(opts.publishConfig)) return;
38
124
  } catch (error) {
39
125
  lastError = error;
@@ -43,45 +129,142 @@ async function waitForPublishedConfig(opts) {
43
129
  const reason = lastError instanceof Error ? ` Last error: ${lastError.message}` : "";
44
130
  throw new Error(`Timed out waiting for publish confirmation at bos://${opts.account}/${opts.gateway}.${reason}`);
45
131
  }
46
- async function publishToFastKv(input) {
47
- const { env, dryRun, configDir } = input;
48
- let bosConfig = input.bosConfig;
49
- const runtimeConfig = input.runtimeConfig;
50
- const isStaging = env === "staging";
51
- const account = bosConfig.account;
132
+ async function isConfigAlreadyPublished(opts) {
133
+ try {
134
+ const current = await require_fastkv.fetchBosConfigFromFastKv(`bos://${opts.account}/${opts.gateway}`, opts.registry);
135
+ return JSON.stringify(current) === JSON.stringify(opts.publishConfig);
136
+ } catch {
137
+ return false;
138
+ }
139
+ }
140
+ async function preflightPublish(input) {
141
+ const { configDir } = input;
142
+ const bosConfig = input.bosConfig;
143
+ const isStaging = input.env === "staging";
144
+ const account = isStaging ? bosConfig.staging?.account ?? bosConfig.account : bosConfig.account;
52
145
  const gateway = isStaging ? bosConfig.staging?.domain ?? bosConfig.domain : bosConfig.domain;
53
146
  if (!gateway) return {
54
- status: "error",
147
+ kind: "error",
55
148
  registryUrl: "",
56
- error: "bos.config.json must define domain to publish"
149
+ error: "authored config must define domain to publish"
57
150
  };
58
151
  const network = input.network ?? require_network.getNetworkIdForAccount(account);
59
- const registryUrl = require_fastkv.buildRegistryConfigUrlForNetwork(network, account, gateway);
60
- const targets = require_build.selectWorkspaceTargets(input.packages, bosConfig);
61
- let built;
62
- let skipped;
63
- let deployResults;
64
- if (dryRun) return {
65
- status: "dry-run",
152
+ const registryUrl = require_fastkv.buildRegistryConfigUrlForNetwork(network, account, gateway, input.registry);
153
+ const fail = (error) => ({
154
+ kind: "error",
66
155
  registryUrl,
67
- built,
68
- skipped
156
+ error
157
+ });
158
+ const publishAuth = bosConfig.publish?.auth;
159
+ if ((publishAuth === "session" || input.wallet) && !input.privateKey) {
160
+ const session = require_auth_session.readSessionHandle(configDir);
161
+ if (!session?.credential) return fail((input.wallet ? "--wallet requires" : "the authored config sets publish.auth = \"session\", but") + " no CLI session is stored in .bos/ for this project. Run bos login to create one.");
162
+ if (session.credential.accountId && session.credential.accountId !== account) return fail(`The CLI session was created for ${session.credential.accountId}, but the configured account is ${account}. Gasless wallet publish relays the FastKV write under the session's NEAR account. Run bos login again under the matching account.`);
163
+ }
164
+ if (publishAuth && !input.privateKey) {
165
+ if (publishAuth === "custody") return fail("the authored config sets publish.auth = \"custody\", but custody publish is not implemented yet (see NEARBuilders/everything-dev#291).");
166
+ }
167
+ if (input.dryRun) return {
168
+ kind: "dry-run",
169
+ registryUrl
170
+ };
171
+ const useWallet = input.wallet === true;
172
+ let strategy;
173
+ if (useWallet) console.log(` Signing via ${require_theme.colors.cyan("gasless NEP-366 delegate action (relayed by the platform relayer)")}`);
174
+ else try {
175
+ strategy = await require_near_signer.resolveSigningStrategy({
176
+ privateKey: input.privateKey,
177
+ account,
178
+ network
179
+ });
180
+ console.log(` Signing via ${require_theme.colors.cyan(require_near_signer.describeSigningStrategy(strategy))}`);
181
+ } catch (error) {
182
+ return fail(error instanceof Error ? error.message : "Unknown error");
183
+ }
184
+ const session = require_auth_session.readSessionHandle(configDir);
185
+ let cdnDeploy = {
186
+ cdnOrigin: void 0,
187
+ storageOrigin: "",
188
+ apiKey: void 0
69
189
  };
70
- const privateKey = input.privateKey || node_process.default.env.NEAR_PRIVATE_KEY || node_process.default.env.BOS_NEAR_PRIVATE_KEY;
71
- let signingMode;
190
+ if (input.build) {
191
+ cdnDeploy = require_cdn_deploy.resolveCdnDeployInputs({
192
+ env: node_process.default.env,
193
+ bosConfig,
194
+ session: session?.credential ?? null,
195
+ account,
196
+ gateway,
197
+ uploadsPlanned: input.build
198
+ });
199
+ if (cdnDeploy.error) return fail(cdnDeploy.error);
200
+ if (cdnDeploy.warning) console.log(require_theme.colors.yellow(` ! ${cdnDeploy.warning}`));
201
+ if (!cdnDeploy.cdnOrigin) return fail("CDN deploy resolved no bundle origin");
202
+ const probeError = await require_cdn_deploy.probeStorageOrigin(cdnDeploy.storageOrigin);
203
+ if (probeError) return fail(`The bundle upload origin ${cdnDeploy.storageOrigin} is not running the platform API — ${probeError}. Check BOS_STORAGE_ORIGIN / the bos login session, then re-run.`);
204
+ }
205
+ let publishedConfig = null;
206
+ let publishedConfigState = "missing";
72
207
  try {
73
- signingMode = require_near_cli.resolveNearSigningMode(privateKey);
208
+ publishedConfig = await require_fastkv.fetchBosConfigFromFastKv(registryUrl, input.registry);
209
+ publishedConfigState = "fetched";
74
210
  } catch (error) {
75
- return {
76
- status: "error",
77
- registryUrl,
78
- error: error instanceof Error ? error.message : "Unknown error"
79
- };
211
+ if ((error instanceof Error ? error.message : String(error)).startsWith("No config found")) console.log(require_theme.colors.dim(" Note: no published config found yet (first publish) — continuing"));
212
+ else {
213
+ publishedConfigState = "unreachable";
214
+ console.log(require_theme.colors.dim(" Note: registry read failed — continuing"));
215
+ }
80
216
  }
217
+ return {
218
+ kind: "ready",
219
+ plan: {
220
+ isStaging,
221
+ account,
222
+ gateway,
223
+ network,
224
+ registryUrl,
225
+ registryNamespace: require_fastkv.getRegistryNamespaceForNetwork(network, input.registry),
226
+ targets: require_build.selectWorkspaceTargets(input.packages, bosConfig),
227
+ useWallet,
228
+ strategy,
229
+ cdnOrigin: cdnDeploy.cdnOrigin,
230
+ storageOrigin: cdnDeploy.storageOrigin,
231
+ storageApiKey: cdnDeploy.apiKey,
232
+ publishedConfig,
233
+ publishedConfigState
234
+ }
235
+ };
236
+ }
237
+ /**
238
+ * The deploy-train publish core (ADR 0020, as amended): preflight
239
+ * (storage/CDN creds + signing) fails fast before the build, then build →
240
+ * upload → version-manifest pin → config write-back → FastKV publish +
241
+ * read-back. Scoped to one plugin via `packages`, a single-plugin redeploy
242
+ * ships real bytes to the storage origin — same as the full train, nothing
243
+ * image-native left.
244
+ */
245
+ async function publishToFastKv(input) {
246
+ const preflight = await preflightPublish(input);
247
+ if (preflight.kind === "error") return {
248
+ status: "error",
249
+ registryUrl: preflight.registryUrl,
250
+ error: preflight.error
251
+ };
252
+ if (preflight.kind === "dry-run") return {
253
+ status: "dry-run",
254
+ registryUrl: preflight.registryUrl
255
+ };
256
+ const plan = preflight.plan;
257
+ const { isStaging, account, gateway, network, registryUrl, registryNamespace, targets, useWallet, strategy } = plan;
258
+ const storageOrigin = plan.storageOrigin;
259
+ const storageApiKey = plan.storageApiKey;
260
+ const { configDir } = input;
261
+ let bosConfig = input.bosConfig;
262
+ const runtimeConfig = input.runtimeConfig;
263
+ let built;
264
+ let skipped;
265
+ let deployResults;
266
+ let refreshedRawConfig = null;
81
267
  if (input.build) {
82
- console.log(" Ensuring NEAR CLI...");
83
- await effect.Effect.runPromise(require_near_cli.ensureNearCli);
84
- console.log(" NEAR CLI ready");
85
268
  await require_code_artifacts.generateCodeArtifacts(configDir, bosConfig, {
86
269
  env: "production",
87
270
  runtimeConfig: runtimeConfig ?? void 0
@@ -123,71 +306,324 @@ async function publishToFastKv(input) {
123
306
  };
124
307
  }
125
308
  }
126
- const refreshed = await require_config.loadResolvedConfig({ cwd: configDir });
309
+ const refreshed = await require_resolution_session.openResolution({ cwd: configDir });
127
310
  if (!refreshed?.config) return {
128
311
  status: "error",
129
312
  registryUrl,
130
313
  built,
131
314
  skipped,
132
315
  deployResults,
133
- error: "Failed to reload bos.config.json after build"
316
+ error: "Failed to reload the config after build"
134
317
  };
135
318
  bosConfig = refreshed.config;
319
+ refreshedRawConfig = refreshed.rawConfig;
136
320
  }
137
- const rawConfigPath = (0, node_path.join)(configDir, "bos.config.json");
138
- const rawConfig = JSON.parse((0, node_fs.readFileSync)(rawConfigPath, "utf-8"));
139
- const publishPayload = isStaging ? {
140
- ...rawConfig,
321
+ const authoredPath = require_config.findConfigPath(configDir);
322
+ const tsForm = authoredPath !== null && require_config.isAppDescriptorPath(authoredPath);
323
+ let rawConfig;
324
+ if (refreshedRawConfig) rawConfig = refreshedRawConfig;
325
+ else {
326
+ const opened = await require_resolution_session.openResolution({ cwd: configDir });
327
+ if (!opened?.rawConfig) return {
328
+ status: "error",
329
+ registryUrl,
330
+ built,
331
+ skipped,
332
+ deployResults,
333
+ error: "Failed to load the authored config for publish"
334
+ };
335
+ rawConfig = opened.rawConfig;
336
+ }
337
+ if (tsForm && !input.build && plan.publishedConfigState === "unreachable") return {
338
+ status: "error",
339
+ registryUrl,
340
+ built,
341
+ skipped,
342
+ deployResults,
343
+ error: "Cannot read the currently published config from the registry — a config-only publish would overwrite live bundle URLs. Retry when the registry is reachable, or run a full deploy."
344
+ };
345
+ let publishPayload = tsForm && !input.build ? require_merge.mergeAuthoredOverPublished(plan.publishedConfig ?? {}, rawConfig) : rawConfig;
346
+ const urlOrigin = plan.cdnOrigin ?? `https://${gateway}`;
347
+ const deployTargets = (built ?? []).filter((key) => targets.includes(key));
348
+ const platformEntries = [];
349
+ const prevPins = input.fullUpload === true || node_process.default.env.BOS_FULL_UPLOAD === "1" ? {} : {
350
+ ...require_deploy_diff.pinsFromPublishedConfig(plan.publishedConfig ?? {}, account, gateway),
351
+ ...require_deploy_diff.pinsFromDeployState(configDir, account, gateway)
352
+ };
353
+ console.log();
354
+ console.log(` CDN deploy — uploading workspace dists to ${storageOrigin}...`);
355
+ for (const key of deployTargets) {
356
+ const ws = require_build.resolveWorkspaceTarget(key, bosConfig, runtimeConfig, configDir);
357
+ if (!ws) continue;
358
+ const distFiles = await require_storage_upload.collectDistFiles((0, node_path.join)(ws.path, "dist"));
359
+ const workspaceBase = `${urlOrigin}/bundles/${account}/${gateway}/${key}/`;
360
+ const startedAt = Date.now();
361
+ let outcome;
362
+ try {
363
+ outcome = await diffUploadWorkspace({
364
+ origin: storageOrigin,
365
+ apiKey: storageApiKey,
366
+ account,
367
+ gateway,
368
+ workspace: key,
369
+ files: distFiles,
370
+ base: workspaceBase,
371
+ previousPin: prevPins[key]
372
+ });
373
+ } catch (error) {
374
+ return {
375
+ status: "error",
376
+ registryUrl,
377
+ built,
378
+ skipped,
379
+ deployResults,
380
+ error: error instanceof Error ? error.message : `[publish] bundle upload for ${key} failed`
381
+ };
382
+ }
383
+ const report = require_version_manifest_deploy.readBuildReport((0, node_path.join)(ws.path, "dist"));
384
+ const ssrReport = require_version_manifest_deploy.readBuildReport((0, node_path.join)(ws.path, "dist", "ssr"));
385
+ const integrity = report ? outcome.fileIntegrity[report.entry] : void 0;
386
+ const ssrIntegrity = ssrReport?.entry ? outcome.fileIntegrity[`ssr/${ssrReport.entry}`] : void 0;
387
+ const manifestPointer = await pinWorkspaceVersionManifest({
388
+ origin: storageOrigin,
389
+ apiKey: storageApiKey,
390
+ account,
391
+ gateway,
392
+ workspace: key,
393
+ report,
394
+ ssrReport,
395
+ integrityMap: outcome.fileIntegrity,
396
+ files: outcome.fileIntegrity
397
+ });
398
+ if (!manifestPointer) return {
399
+ status: "error",
400
+ registryUrl,
401
+ built,
402
+ skipped,
403
+ deployResults,
404
+ error: `bundle upload for ${key}: version manifest missing — the dist predates hashed entry names (rebuild required; atomic-deploys hard break)`
405
+ };
406
+ if (outcome.result.storage === "memory" || manifestPointer.storage === "memory") return {
407
+ status: "error",
408
+ registryUrl,
409
+ built,
410
+ skipped,
411
+ deployResults,
412
+ error: "The receiving instance is serving bundle storage from memory (BOS_STORAGE_* R2 credentials are not configured there) — uploaded bytes would be lost on restart. Aborting before publish."
413
+ };
414
+ console.log(` ${require_theme.colors.green(require_theme.icons.ok)} ${require_string.padRight(key, 28)} → ${urlOrigin}/bundles/${account}/${gateway}/${key}/ (${outcome.uploaded} uploaded, ${outcome.skipped} skipped, ${require_timing.formatDuration(Date.now() - startedAt)})`);
415
+ platformEntries.push(...require_platform_deploy.platformUrlDeployEntries({
416
+ origin: urlOrigin,
417
+ account,
418
+ gateway,
419
+ key,
420
+ kind: ws.kind,
421
+ integrity,
422
+ ssrIntegrity,
423
+ pin: manifestPointer
424
+ }));
425
+ if ((0, every_plugin_build_ui.hasFolderFormUi)(ws.path)) {
426
+ const uiDistDir = (0, node_path.join)(ws.path, "ui", "dist");
427
+ const rawUi = ((ws.kind === "app" ? "app" : "plugins") === "app" ? rawConfig.app : rawConfig.plugins)?.[key]?.ui;
428
+ const uiName = require_config.resolveUiRuntimeName(rawUi, (0, node_path.join)(ws.path, "ui"), key);
429
+ let uiIntegrity;
430
+ let uiSsrIntegrity;
431
+ let uiManifestPointer;
432
+ if ((0, node_fs.existsSync)(uiDistDir)) {
433
+ const uiDistFiles = await require_storage_upload.collectDistFiles(uiDistDir);
434
+ const uiStartedAt = Date.now();
435
+ const uiOutcome = await diffUploadWorkspace({
436
+ origin: storageOrigin,
437
+ apiKey: storageApiKey,
438
+ account,
439
+ gateway,
440
+ workspace: `${key}-ui`,
441
+ files: uiDistFiles,
442
+ base: `${urlOrigin}/bundles/${account}/${gateway}/${key}-ui/`,
443
+ previousPin: prevPins[`${key}-ui`]
444
+ });
445
+ const uiReport = require_version_manifest_deploy.readBuildReport(uiDistDir);
446
+ const uiSsrReport = require_version_manifest_deploy.readBuildReport((0, node_path.join)(uiDistDir, "ssr"));
447
+ uiIntegrity = uiReport ? uiOutcome.fileIntegrity[uiReport.entry] : void 0;
448
+ uiSsrIntegrity = uiSsrReport?.entry ? uiOutcome.fileIntegrity[`ssr/${uiSsrReport.entry}`] : void 0;
449
+ uiManifestPointer = await pinWorkspaceVersionManifest({
450
+ origin: storageOrigin,
451
+ apiKey: storageApiKey,
452
+ account,
453
+ gateway,
454
+ workspace: `${key}-ui`,
455
+ report: uiReport,
456
+ ssrReport: uiSsrReport,
457
+ integrityMap: uiOutcome.fileIntegrity,
458
+ files: uiOutcome.fileIntegrity
459
+ });
460
+ if (!uiManifestPointer) return {
461
+ status: "error",
462
+ registryUrl,
463
+ built,
464
+ skipped,
465
+ deployResults,
466
+ error: `bundle upload for ${key}-ui: version manifest missing — the dist predates hashed entry names (rebuild required; atomic-deploys hard break)`
467
+ };
468
+ if (uiOutcome.result.storage === "memory" || uiManifestPointer.storage === "memory") return {
469
+ status: "error",
470
+ registryUrl,
471
+ built,
472
+ skipped,
473
+ deployResults,
474
+ error: "The receiving instance is serving bundle storage from memory (BOS_STORAGE_* R2 credentials are not configured there) — uploaded bytes would be lost on restart. Aborting before publish."
475
+ };
476
+ console.log(` ${require_theme.colors.green(require_theme.icons.ok)} ${require_string.padRight(`${key}-ui`, 28)} → ${urlOrigin}/bundles/${account}/${gateway}/${key}-ui/ (${uiOutcome.uploaded} uploaded, ${uiOutcome.skipped} skipped, ${require_timing.formatDuration(Date.now() - uiStartedAt)})`);
477
+ } else console.log(` ${require_theme.colors.green(require_theme.icons.ok)} ${require_string.padRight(`${key}-ui`, 28)} → ${urlOrigin}/bundles/${account}/${gateway}/${key}-ui/`);
478
+ platformEntries.push(...require_platform_deploy.pluginUiUrlDeployEntries({
479
+ origin: urlOrigin,
480
+ account,
481
+ gateway,
482
+ key,
483
+ kind: ws.kind,
484
+ integrity: uiIntegrity,
485
+ ssrIntegrity: uiSsrIntegrity,
486
+ name: uiName,
487
+ pin: uiManifestPointer
488
+ }));
489
+ }
490
+ }
491
+ if (platformEntries.length > 0) {
492
+ const merged = require_integrity.applyDeployResults(rawConfig, platformEntries);
493
+ if (!tsForm) try {
494
+ (0, node_fs.writeFileSync)((0, node_path.join)(configDir, "bos.config.json"), `${JSON.stringify(merged, null, 2)}\n`);
495
+ } catch (error) {
496
+ return {
497
+ status: "error",
498
+ registryUrl,
499
+ built,
500
+ skipped,
501
+ deployResults,
502
+ error: `Failed to write bundle URLs to bos.config.json: ${error instanceof Error ? error.message : error}`
503
+ };
504
+ }
505
+ publishPayload = merged;
506
+ }
507
+ if (isStaging) publishPayload = {
508
+ ...publishPayload,
141
509
  domain: gateway
142
- } : rawConfig;
143
- const registryEntries = { [`apps/${account}/${gateway}/bos.config.json`]: JSON.stringify(publishPayload) };
144
- const payload = JSON.stringify(registryEntries);
145
- const argsBase64 = Buffer.from(payload).toString("base64");
510
+ };
511
+ const pinVerification = await require_rollback.verifyRollbackSnapshot(publishPayload);
512
+ if (pinVerification.verifiable && !pinVerification.ok) {
513
+ const failures = pinVerification.slots.filter((check) => !check.ok).map((check) => ` ${check.slot}: ${check.reason}`).join("\n");
514
+ console.error(` ${require_theme.colors.error(require_theme.icons.err)} Publish blocked — a pinned slot's bytes do not serve at its production URL:\n${failures}`);
515
+ return {
516
+ status: "error",
517
+ registryUrl,
518
+ built,
519
+ skipped,
520
+ deployResults,
521
+ error: `Publish blocked — pinned slot bytes missing or SRI mismatched:\n${failures}`
522
+ };
523
+ }
524
+ const registryKey = `apps/${account}/${gateway}/bos.config.json`;
525
+ const publishedAt = (/* @__PURE__ */ new Date()).toISOString();
526
+ const fingerprint = require_fingerprint.pointerFingerprint(publishPayload);
527
+ const publishSlotPins = require_fingerprint.slotPins(publishPayload);
528
+ const registryEntries = { [registryKey]: JSON.stringify(publishPayload) };
529
+ const manifestKey = `apps/${account}/${gateway}/manifests/${publishedAt.replace(/[:.]/g, "-")}.json`;
530
+ registryEntries[manifestKey] = JSON.stringify({
531
+ account,
532
+ gateway,
533
+ network,
534
+ publishedAt,
535
+ registryUrl
536
+ });
146
537
  console.log();
147
538
  console.log(" Publishing to:");
148
539
  console.log(` ${require_theme.colors.cyan(registryUrl)}`);
540
+ console.log(` ${require_theme.colors.dim("Fingerprint:")} ${fingerprint}`);
541
+ for (const [slot, pin] of Object.entries(publishSlotPins)) {
542
+ console.log(` ${require_theme.colors.dim(`${slot}:`)}`);
543
+ console.log(` ${pin}`);
544
+ }
545
+ console.log(` ${require_theme.colors.dim(`+ per-deploy manifest ${manifestKey.split("/").pop()} (audit trail)`)}`);
546
+ const persistDeployState = () => {
547
+ try {
548
+ const pins = require_deploy_diff.pinsFromPublishedConfig(publishPayload, account, gateway);
549
+ if (Object.keys(pins).length > 0) require_deploy_diff.upsertDeployStatePins(configDir, account, gateway, pins);
550
+ } catch (error) {
551
+ console.log(require_theme.colors.dim(` Note: could not update .bos/deploy-state.json — ${error instanceof Error ? error.message : String(error)}`));
552
+ }
553
+ };
149
554
  try {
150
- let txHash;
555
+ if (await isConfigAlreadyPublished({
556
+ account,
557
+ gateway,
558
+ publishConfig: publishPayload,
559
+ registry: input.registry
560
+ })) {
561
+ console.log(" Already up to date — skipping transaction");
562
+ persistDeployState();
563
+ return {
564
+ status: "published",
565
+ registryUrl,
566
+ built,
567
+ skipped,
568
+ deployResults,
569
+ publishConfig: publishPayload
570
+ };
571
+ }
151
572
  console.log(` Submitting transaction on ${network}...`);
152
- try {
153
- const tx = await effect.Effect.runPromise(require_near_cli.executeTransaction({
573
+ let result;
574
+ if (useWallet) {
575
+ const credential = require_auth_session.readSessionHandle(configDir)?.credential;
576
+ if (!credential || credential.accountId !== account) return {
577
+ status: "error",
578
+ registryUrl,
579
+ error: `--wallet requires a CLI session under ${account}. Run bos login first.`
580
+ };
581
+ const record = await require_delegate_signer.ensureDelegateKey({
582
+ configDir,
583
+ account,
584
+ contract: registryNamespace,
585
+ network,
586
+ siteUrl: credential.siteUrl
587
+ });
588
+ result = await require_delegate_signer.submitRegistryWriteDelegated({
154
589
  account,
155
- contract: require_fastkv.getRegistryNamespaceForNetwork(network),
590
+ contract: registryNamespace,
591
+ network,
592
+ args: registryEntries,
593
+ delegatePrivateKey: record.privateKey,
594
+ relayEndpoint: `${credential.siteUrl}/api/auth/near/relay`,
595
+ apiKey: credential.apiKey
596
+ });
597
+ } else {
598
+ if (!strategy) return {
599
+ status: "error",
600
+ registryUrl,
601
+ error: "non-wallet publish requires a resolved signing strategy"
602
+ };
603
+ result = await require_near_signer.submitRegistryWrite({
604
+ account,
605
+ contract: registryNamespace,
156
606
  method: "__fastdata_kv",
157
- argsBase64,
607
+ args: registryEntries,
158
608
  network,
159
- privateKey: signingMode._tag === "privateKey" ? signingMode.privateKey : void 0,
160
- gas: "300Tgas",
161
- deposit: "0NEAR",
162
- verbose: input.verbose
163
- }, signingMode));
164
- txHash = tx.txHash;
165
- if (txHash && !tx.output?.includes("CodeDoesNotExist")) console.log(` Transaction submitted: ${require_theme.colors.dim(txHash)}`);
166
- } catch (error) {
167
- console.log(require_theme.colors.dim(" Transaction reported an error — verifying publish..."));
168
- try {
169
- await waitForPublishedConfig({
170
- account,
171
- gateway,
172
- publishConfig: publishPayload,
173
- timeoutMs: 3e4,
174
- intervalMs: 2e3
175
- });
176
- txHash = extractTransactionHash(error);
177
- } catch {
178
- throw error;
179
- }
609
+ privateKey: input.privateKey
610
+ }, strategy);
180
611
  }
612
+ if (result.txHash) console.log(` Transaction submitted: ${require_theme.colors.dim(result.txHash)}`);
181
613
  console.log(" Waiting for publish confirmation...");
182
614
  await waitForPublishedConfig({
183
615
  account,
184
616
  gateway,
185
- publishConfig: publishPayload
617
+ publishConfig: publishPayload,
618
+ registry: input.registry
186
619
  });
620
+ persistDeployState();
187
621
  return {
188
622
  status: "published",
189
623
  registryUrl,
190
- txHash,
624
+ txHash: result.txHash,
625
+ fingerprint,
626
+ slotPins: publishSlotPins,
191
627
  built,
192
628
  skipped,
193
629
  deployResults,
@@ -214,12 +650,10 @@ function formatNearError(error) {
214
650
  if (message.includes("timeout") || message.includes("Timeout")) return `Transaction timed out. Check NEAR network status.\n Original: ${message}`;
215
651
  return message;
216
652
  }
217
- function extractTransactionHash(error) {
218
- return (error instanceof Error ? error.message : String(error)).match(/Transaction ID:\s*([A-Za-z0-9]+)/i)?.[1];
219
- }
220
653
 
221
654
  //#endregion
222
- exports.extractPublishedUrl = extractPublishedUrl;
655
+ exports.isConfigAlreadyPublished = isConfigAlreadyPublished;
656
+ exports.preflightPublish = preflightPublish;
223
657
  exports.publishToFastKv = publishToFastKv;
224
658
  exports.waitForPublishedConfig = waitForPublishedConfig;
225
659
  //# sourceMappingURL=publish.cjs.map