@mysten-incubation/devstack 0.1.1 → 0.3.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 (861) hide show
  1. package/README.md +6 -3
  2. package/dashboard-ui/assets/grpc-Clz0oOtc.js +3 -0
  3. package/dashboard-ui/assets/index-B82Bh84P.css +1 -0
  4. package/dashboard-ui/assets/index-Cmqv9kiU.js +1283 -0
  5. package/dashboard-ui/index.html +2 -2
  6. package/dist/api/define-capabilities.d.mts +1 -20
  7. package/dist/api/define-capabilities.mjs +15 -22
  8. package/dist/api/define-capabilities.mjs.map +1 -1
  9. package/dist/api/define-devstack-with.d.mts +7 -1
  10. package/dist/api/define-devstack-with.mjs.map +1 -1
  11. package/dist/api/define-devstack.mjs.map +1 -1
  12. package/dist/api/define-plugin.d.mts +2 -1
  13. package/dist/api/inference-network.d.mts +31 -17
  14. package/dist/api/inference-network.mjs +40 -43
  15. package/dist/api/inference-network.mjs.map +1 -1
  16. package/dist/api/load-config.mjs +88 -0
  17. package/dist/api/load-config.mjs.map +1 -0
  18. package/dist/api/mode-narrowed-factory.d.mts +1 -1
  19. package/dist/api/mode-narrowed-factory.mjs.map +1 -1
  20. package/dist/api/run-stack-internal.mjs +203 -0
  21. package/dist/api/run-stack-internal.mjs.map +1 -0
  22. package/dist/api/run-stack.d.mts +82 -31
  23. package/dist/api/run-stack.mjs +22 -141
  24. package/dist/api/run-stack.mjs.map +1 -1
  25. package/dist/build-integrations/dapp-kit/index.d.mts +61 -0
  26. package/dist/build-integrations/dapp-kit/index.mjs +58 -0
  27. package/dist/build-integrations/dapp-kit/index.mjs.map +1 -0
  28. package/dist/build-integrations/playwright/config.d.mts +3 -31
  29. package/dist/build-integrations/playwright/config.mjs +2 -28
  30. package/dist/build-integrations/playwright/config.mjs.map +1 -1
  31. package/dist/build-integrations/playwright/errors.d.mts +4 -7
  32. package/dist/build-integrations/playwright/errors.mjs.map +1 -1
  33. package/dist/build-integrations/playwright/global-setup.d.mts +42 -71
  34. package/dist/build-integrations/playwright/global-setup.mjs +142 -218
  35. package/dist/build-integrations/playwright/global-setup.mjs.map +1 -1
  36. package/dist/build-integrations/playwright/index.d.mts +2 -2
  37. package/dist/build-integrations/playwright/index.mjs +2 -2
  38. package/dist/build-integrations/playwright/stack-context.d.mts +3 -1
  39. package/dist/build-integrations/playwright/stack-context.mjs +4 -2
  40. package/dist/build-integrations/playwright/stack-context.mjs.map +1 -1
  41. package/dist/build-integrations/playwright/wallet-context.mjs +44 -19
  42. package/dist/build-integrations/playwright/wallet-context.mjs.map +1 -1
  43. package/dist/build-integrations/runtime/cold-start-url.mjs.map +1 -1
  44. package/dist/build-integrations/runtime/conventional-routes.mjs.map +1 -1
  45. package/dist/build-integrations/runtime/dapp-kit-slot.mjs.map +1 -1
  46. package/dist/build-integrations/runtime/discover.d.mts +6 -4
  47. package/dist/build-integrations/runtime/discover.mjs +15 -4
  48. package/dist/build-integrations/runtime/discover.mjs.map +1 -1
  49. package/dist/build-integrations/runtime/endpoint-registry.mjs.map +1 -1
  50. package/dist/build-integrations/runtime/errors.mjs.map +1 -1
  51. package/dist/build-integrations/runtime/read-stack-context.mjs +3 -3
  52. package/dist/build-integrations/runtime/read-stack-context.mjs.map +1 -1
  53. package/dist/build-integrations/runtime/resolve-discovery-env.d.mts +23 -7
  54. package/dist/build-integrations/runtime/resolve-discovery-env.mjs +25 -12
  55. package/dist/build-integrations/runtime/resolve-discovery-env.mjs.map +1 -1
  56. package/dist/build-integrations/runtime/stack-context.d.mts +2 -2
  57. package/dist/build-integrations/vite/index.d.mts +114 -19
  58. package/dist/build-integrations/vite/index.mjs +239 -28
  59. package/dist/build-integrations/vite/index.mjs.map +1 -1
  60. package/dist/build-integrations/vitest/config.d.mts +20 -2
  61. package/dist/build-integrations/vitest/config.mjs +15 -4
  62. package/dist/build-integrations/vitest/config.mjs.map +1 -1
  63. package/dist/build-integrations/vitest/env.d.mts +18 -10
  64. package/dist/build-integrations/vitest/env.mjs +11 -10
  65. package/dist/build-integrations/vitest/env.mjs.map +1 -1
  66. package/dist/build-integrations/vitest/errors.d.mts +7 -11
  67. package/dist/build-integrations/vitest/errors.mjs +3 -4
  68. package/dist/build-integrations/vitest/errors.mjs.map +1 -1
  69. package/dist/build-integrations/vitest/global-setup.d.mts +35 -0
  70. package/dist/build-integrations/vitest/global-setup.mjs +156 -0
  71. package/dist/build-integrations/vitest/global-setup.mjs.map +1 -0
  72. package/dist/build-integrations/vitest/index.d.mts +3 -2
  73. package/dist/build-integrations/vitest/index.mjs +3 -2
  74. package/dist/build-integrations/vitest/setup.mjs +2 -2
  75. package/dist/build-integrations/vitest/setup.mjs.map +1 -1
  76. package/dist/build-integrations/vitest/stack-context.d.mts +5 -3
  77. package/dist/build-integrations/vitest/stack-context.mjs +3 -2
  78. package/dist/build-integrations/vitest/stack-context.mjs.map +1 -1
  79. package/dist/cli/bail.mjs.map +1 -1
  80. package/dist/cli/doctor-probes.mjs +8 -5
  81. package/dist/cli/doctor-probes.mjs.map +1 -1
  82. package/dist/cli/main.d.mts +23 -1
  83. package/dist/cli/main.mjs +63 -8
  84. package/dist/cli/main.mjs.map +1 -1
  85. package/dist/cli/prune-direct.mjs.map +1 -1
  86. package/dist/cli/snapshot-reader.mjs.map +1 -1
  87. package/dist/cli/up-lifecycle.mjs.map +1 -1
  88. package/dist/cli/wirings/apply.mjs +28 -21
  89. package/dist/cli/wirings/apply.mjs.map +1 -1
  90. package/dist/cli/wirings/codegen.mjs +108 -0
  91. package/dist/cli/wirings/codegen.mjs.map +1 -0
  92. package/dist/cli/wirings/config-loader.mjs +12 -62
  93. package/dist/cli/wirings/config-loader.mjs.map +1 -1
  94. package/dist/cli/wirings/dump-ids.mjs +86 -0
  95. package/dist/cli/wirings/dump-ids.mjs.map +1 -0
  96. package/dist/cli/wirings/engine-command.mjs +1 -1
  97. package/dist/cli/wirings/engine-command.mjs.map +1 -1
  98. package/dist/cli/wirings/identity.mjs +2 -2
  99. package/dist/cli/wirings/identity.mjs.map +1 -1
  100. package/dist/cli/wirings/provide-file-system.mjs.map +1 -1
  101. package/dist/cli/wirings/read-devstack-version.mjs +17 -0
  102. package/dist/cli/wirings/read-devstack-version.mjs.map +1 -0
  103. package/dist/cli/wirings/snapshot.mjs +27 -34
  104. package/dist/cli/wirings/snapshot.mjs.map +1 -1
  105. package/dist/cli/wirings/up-ipc.mjs +147 -0
  106. package/dist/cli/wirings/up-ipc.mjs.map +1 -0
  107. package/dist/cli/wirings/up.mjs +225 -198
  108. package/dist/cli/wirings/up.mjs.map +1 -1
  109. package/dist/cli/wirings/wipe.mjs +1 -1
  110. package/dist/cli/wirings/wipe.mjs.map +1 -1
  111. package/dist/contracts/chain-probe.d.mts +1 -1
  112. package/dist/contracts/chain-probe.mjs +1 -1
  113. package/dist/contracts/chain-probe.mjs.map +1 -1
  114. package/dist/contracts/codegenable.d.mts +60 -6
  115. package/dist/contracts/codegenable.mjs +28 -0
  116. package/dist/contracts/codegenable.mjs.map +1 -0
  117. package/dist/contracts/config-bindings.mjs +162 -0
  118. package/dist/contracts/config-bindings.mjs.map +1 -0
  119. package/dist/contracts/container-runtime.d.mts +23 -17
  120. package/dist/contracts/plugin-expander.mjs.map +1 -1
  121. package/dist/contracts/snapshotable.d.mts +5 -7
  122. package/dist/contracts/wallet-protocol.d.mts +2 -5
  123. package/dist/contracts/wallet-protocol.mjs +2 -5
  124. package/dist/contracts/wallet-protocol.mjs.map +1 -1
  125. package/dist/index.d.mts +21 -26
  126. package/dist/index.mjs +8 -9
  127. package/dist/orchestrators/boot.d.mts +28 -0
  128. package/dist/orchestrators/boot.mjs +450 -0
  129. package/dist/orchestrators/boot.mjs.map +1 -0
  130. package/dist/orchestrators/codegen/bindings.d.mts +13 -1
  131. package/dist/orchestrators/codegen/bindings.mjs +23 -9
  132. package/dist/orchestrators/codegen/bindings.mjs.map +1 -1
  133. package/dist/orchestrators/codegen/config-runtime.mjs +208 -0
  134. package/dist/orchestrators/codegen/config-runtime.mjs.map +1 -0
  135. package/dist/orchestrators/codegen/emit.mjs +1 -1
  136. package/dist/orchestrators/codegen/emit.mjs.map +1 -1
  137. package/dist/orchestrators/codegen/errors.mjs +21 -1
  138. package/dist/orchestrators/codegen/errors.mjs.map +1 -1
  139. package/dist/orchestrators/codegen/format.mjs +2 -0
  140. package/dist/orchestrators/codegen/format.mjs.map +1 -1
  141. package/dist/orchestrators/codegen/gitignore.mjs +30 -11
  142. package/dist/orchestrators/codegen/gitignore.mjs.map +1 -1
  143. package/dist/orchestrators/codegen/id-config.mjs +107 -0
  144. package/dist/orchestrators/codegen/id-config.mjs.map +1 -0
  145. package/dist/orchestrators/codegen/output-location.mjs +23 -32
  146. package/dist/orchestrators/codegen/output-location.mjs.map +1 -1
  147. package/dist/orchestrators/codegen/paths.mjs +8 -1
  148. package/dist/orchestrators/codegen/paths.mjs.map +1 -1
  149. package/dist/orchestrators/codegen/permissions.mjs.map +1 -1
  150. package/dist/orchestrators/codegen/service.mjs +303 -60
  151. package/dist/orchestrators/codegen/service.mjs.map +1 -1
  152. package/dist/orchestrators/layers.mjs +31 -0
  153. package/dist/orchestrators/layers.mjs.map +1 -0
  154. package/dist/orchestrators/lifecycle-prune/errors.mjs.map +1 -1
  155. package/dist/orchestrators/lifecycle-prune/index.mjs +8 -10
  156. package/dist/orchestrators/lifecycle-prune/index.mjs.map +1 -1
  157. package/dist/orchestrators/network-options.d.mts +52 -0
  158. package/dist/orchestrators/network-options.mjs +43 -0
  159. package/dist/orchestrators/network-options.mjs.map +1 -0
  160. package/dist/orchestrators/router/cleanup.mjs.map +1 -1
  161. package/dist/orchestrators/router/cors.mjs.map +1 -1
  162. package/dist/orchestrators/router/entrypoints.mjs.map +1 -1
  163. package/dist/orchestrators/router/errors.mjs.map +1 -1
  164. package/dist/orchestrators/router/file-provider.mjs.map +1 -1
  165. package/dist/orchestrators/router/hostname.mjs.map +1 -1
  166. package/dist/orchestrators/router/profile.mjs +1 -1
  167. package/dist/orchestrators/router/profile.mjs.map +1 -1
  168. package/dist/orchestrators/router/service.d.mts +2 -2
  169. package/dist/orchestrators/router/service.mjs +12 -27
  170. package/dist/orchestrators/router/service.mjs.map +1 -1
  171. package/dist/orchestrators/router/traefik-container.mjs +1 -1
  172. package/dist/orchestrators/router/traefik-container.mjs.map +1 -1
  173. package/dist/orchestrators/snapshot/capture.mjs +171 -195
  174. package/dist/orchestrators/snapshot/capture.mjs.map +1 -1
  175. package/dist/orchestrators/snapshot/descriptor.d.mts +1 -1
  176. package/dist/orchestrators/snapshot/descriptor.mjs +53 -11
  177. package/dist/orchestrators/snapshot/descriptor.mjs.map +1 -1
  178. package/dist/orchestrators/snapshot/identity-guard.mjs +3 -5
  179. package/dist/orchestrators/snapshot/identity-guard.mjs.map +1 -1
  180. package/dist/orchestrators/snapshot/image-bundle-tags.mjs +32 -101
  181. package/dist/orchestrators/snapshot/image-bundle-tags.mjs.map +1 -1
  182. package/dist/orchestrators/snapshot/index.mjs +1 -4
  183. package/dist/orchestrators/snapshot/integrity.mjs.map +1 -1
  184. package/dist/orchestrators/snapshot/interrupted-restore.mjs +116 -0
  185. package/dist/orchestrators/snapshot/interrupted-restore.mjs.map +1 -0
  186. package/dist/orchestrators/snapshot/phase-error.mjs.map +1 -1
  187. package/dist/orchestrators/snapshot/prune.mjs +40 -31
  188. package/dist/orchestrators/snapshot/prune.mjs.map +1 -1
  189. package/dist/orchestrators/snapshot/restore.mjs +221 -196
  190. package/dist/orchestrators/snapshot/restore.mjs.map +1 -1
  191. package/dist/orchestrators/snapshot/service.mjs +72 -62
  192. package/dist/orchestrators/snapshot/service.mjs.map +1 -1
  193. package/dist/orchestrators/snapshot/wipe.mjs +67 -56
  194. package/dist/orchestrators/snapshot/wipe.mjs.map +1 -1
  195. package/dist/plugins/account/codegen.mjs +3 -0
  196. package/dist/plugins/account/codegen.mjs.map +1 -1
  197. package/dist/plugins/account/errors.d.mts +2 -2
  198. package/dist/plugins/account/errors.mjs +1 -4
  199. package/dist/plugins/account/errors.mjs.map +1 -1
  200. package/dist/plugins/account/funding.mjs +3 -27
  201. package/dist/plugins/account/funding.mjs.map +1 -1
  202. package/dist/plugins/account/index.d.mts +3 -8
  203. package/dist/plugins/account/index.mjs +71 -35
  204. package/dist/plugins/account/index.mjs.map +1 -1
  205. package/dist/plugins/account/keypair.d.mts +8 -7
  206. package/dist/plugins/account/keypair.mjs +5 -18
  207. package/dist/plugins/account/keypair.mjs.map +1 -1
  208. package/dist/plugins/account/lease.mjs.map +1 -1
  209. package/dist/plugins/account/registry.d.mts +1 -46
  210. package/dist/plugins/account/registry.mjs.map +1 -1
  211. package/dist/plugins/account/service.d.mts +43 -34
  212. package/dist/plugins/account/service.mjs +9 -54
  213. package/dist/plugins/account/service.mjs.map +1 -1
  214. package/dist/plugins/account/snapshot.mjs.map +1 -1
  215. package/dist/plugins/account/variants/ephemeral.mjs.map +1 -1
  216. package/dist/plugins/account/variants/impersonate.mjs.map +1 -1
  217. package/dist/plugins/account/variants/signer.mjs.map +1 -1
  218. package/dist/plugins/action/discriminator.mjs.map +1 -1
  219. package/dist/plugins/action/errors.mjs +1 -4
  220. package/dist/plugins/action/errors.mjs.map +1 -1
  221. package/dist/plugins/action/execute.mjs +3 -4
  222. package/dist/plugins/action/execute.mjs.map +1 -1
  223. package/dist/plugins/action/index.d.mts +2 -2
  224. package/dist/plugins/action/index.mjs +7 -11
  225. package/dist/plugins/action/index.mjs.map +1 -1
  226. package/dist/plugins/action/service.d.mts +5 -7
  227. package/dist/plugins/action/service.mjs +2 -16
  228. package/dist/plugins/action/service.mjs.map +1 -1
  229. package/dist/plugins/coin/address-resolution.mjs.map +1 -1
  230. package/dist/plugins/coin/codegen.mjs +97 -16
  231. package/dist/plugins/coin/codegen.mjs.map +1 -1
  232. package/dist/plugins/coin/discovery.mjs.map +1 -1
  233. package/dist/plugins/coin/errors.mjs +1 -4
  234. package/dist/plugins/coin/errors.mjs.map +1 -1
  235. package/dist/plugins/coin/index.d.mts +4 -34
  236. package/dist/plugins/coin/index.mjs +47 -28
  237. package/dist/plugins/coin/index.mjs.map +1 -1
  238. package/dist/plugins/coin/metadata.d.mts +1 -0
  239. package/dist/plugins/coin/metadata.mjs +8 -9
  240. package/dist/plugins/coin/metadata.mjs.map +1 -1
  241. package/dist/plugins/coin/mint.mjs +7 -21
  242. package/dist/plugins/coin/mint.mjs.map +1 -1
  243. package/dist/plugins/coin/registry.mjs +33 -20
  244. package/dist/plugins/coin/registry.mjs.map +1 -1
  245. package/dist/plugins/coin/service.d.mts +1 -1
  246. package/dist/plugins/coin/service.mjs +1 -8
  247. package/dist/plugins/coin/service.mjs.map +1 -1
  248. package/dist/plugins/coin/snapshot.mjs.map +1 -1
  249. package/dist/plugins/coin/type-strings.mjs.map +1 -1
  250. package/dist/plugins/dashboard/domain.mjs +124 -168
  251. package/dist/plugins/dashboard/domain.mjs.map +1 -1
  252. package/dist/plugins/dashboard/index.mjs +13 -13
  253. package/dist/plugins/dashboard/index.mjs.map +1 -1
  254. package/dist/plugins/dashboard/origin-policy.mjs +3 -3
  255. package/dist/plugins/dashboard/origin-policy.mjs.map +1 -1
  256. package/dist/plugins/dashboard/routable.mjs.map +1 -1
  257. package/dist/plugins/dashboard/schema/builder.mjs.map +1 -1
  258. package/dist/plugins/dashboard/schema/enums.mjs.map +1 -1
  259. package/dist/plugins/dashboard/schema/root.mjs +25 -46
  260. package/dist/plugins/dashboard/schema/root.mjs.map +1 -1
  261. package/dist/plugins/dashboard/schema/types.mjs +52 -93
  262. package/dist/plugins/dashboard/schema/types.mjs.map +1 -1
  263. package/dist/plugins/dashboard/schema.mjs.map +1 -1
  264. package/dist/plugins/dashboard/server.mjs.map +1 -1
  265. package/dist/plugins/deepbook/codegen.d.mts +12 -11
  266. package/dist/plugins/deepbook/codegen.mjs +108 -11
  267. package/dist/plugins/deepbook/codegen.mjs.map +1 -1
  268. package/dist/plugins/deepbook/deploy.mjs +7 -14
  269. package/dist/plugins/deepbook/deploy.mjs.map +1 -1
  270. package/dist/plugins/deepbook/errors.mjs +4 -2
  271. package/dist/plugins/deepbook/errors.mjs.map +1 -1
  272. package/dist/plugins/deepbook/faucet-strategy.mjs +4 -10
  273. package/dist/plugins/deepbook/faucet-strategy.mjs.map +1 -1
  274. package/dist/plugins/deepbook/hash.mjs.map +1 -1
  275. package/dist/plugins/deepbook/index.d.mts +45 -37
  276. package/dist/plugins/deepbook/index.mjs +136 -67
  277. package/dist/plugins/deepbook/index.mjs.map +1 -1
  278. package/dist/plugins/deepbook/plugin-key.mjs.map +1 -1
  279. package/dist/plugins/deepbook/pyth/index.mjs +4 -8
  280. package/dist/plugins/deepbook/pyth/index.mjs.map +1 -1
  281. package/dist/plugins/deepbook/snapshot.mjs +0 -1
  282. package/dist/plugins/deepbook/snapshot.mjs.map +1 -1
  283. package/dist/plugins/deepbook/type-strings.mjs.map +1 -1
  284. package/dist/plugins/deepbook/types.d.mts +2 -1
  285. package/dist/plugins/deepbook/types.mjs.map +1 -1
  286. package/dist/plugins/faucet/dispatcher.d.mts +3 -3
  287. package/dist/plugins/faucet/dispatcher.mjs.map +1 -1
  288. package/dist/plugins/faucet/errors.mjs.map +1 -1
  289. package/dist/plugins/faucet/http.mjs +2 -10
  290. package/dist/plugins/faucet/http.mjs.map +1 -1
  291. package/dist/plugins/faucet/index.mjs +0 -1
  292. package/dist/plugins/faucet/index.mjs.map +1 -1
  293. package/dist/plugins/host-service/errors.d.mts +1 -3
  294. package/dist/plugins/host-service/errors.mjs +1 -2
  295. package/dist/plugins/host-service/errors.mjs.map +1 -1
  296. package/dist/plugins/host-service/index.d.mts +1 -2
  297. package/dist/plugins/host-service/index.mjs +11 -11
  298. package/dist/plugins/host-service/index.mjs.map +1 -1
  299. package/dist/plugins/host-service/routable.mjs.map +1 -1
  300. package/dist/plugins/host-service/service.mjs +13 -13
  301. package/dist/plugins/host-service/service.mjs.map +1 -1
  302. package/dist/plugins/internal/acquire-on-chain-artifact.mjs.map +1 -1
  303. package/dist/plugins/internal/codegen-helpers.mjs +2 -0
  304. package/dist/plugins/internal/codegen-helpers.mjs.map +1 -1
  305. package/dist/plugins/internal/funding-failure-error.mjs.map +1 -1
  306. package/dist/plugins/{postgres → internal/postgres-sidecar}/connection.mjs +1 -1
  307. package/dist/plugins/internal/postgres-sidecar/connection.mjs.map +1 -0
  308. package/dist/plugins/{postgres → internal/postgres-sidecar}/db-ensure.mjs +30 -16
  309. package/dist/plugins/internal/postgres-sidecar/db-ensure.mjs.map +1 -0
  310. package/dist/plugins/internal/postgres-sidecar/errors.mjs +21 -0
  311. package/dist/plugins/internal/postgres-sidecar/errors.mjs.map +1 -0
  312. package/dist/{substrate/runtime/scoped-multimap → plugins/internal/postgres-sidecar}/index.mjs +1 -0
  313. package/dist/plugins/internal/postgres-sidecar/service.mjs +121 -0
  314. package/dist/plugins/internal/postgres-sidecar/service.mjs.map +1 -0
  315. package/dist/plugins/package/build.mjs +2 -2
  316. package/dist/plugins/package/build.mjs.map +1 -1
  317. package/dist/plugins/package/codegen.d.mts +7 -14
  318. package/dist/plugins/package/codegen.mjs +187 -59
  319. package/dist/plugins/package/codegen.mjs.map +1 -1
  320. package/dist/plugins/package/dep-resolution.mjs +51 -3
  321. package/dist/plugins/package/dep-resolution.mjs.map +1 -1
  322. package/dist/plugins/package/errors.mjs +1 -4
  323. package/dist/plugins/package/errors.mjs.map +1 -1
  324. package/dist/plugins/package/git-source.d.mts +18 -0
  325. package/dist/plugins/package/git-source.mjs +119 -0
  326. package/dist/plugins/package/git-source.mjs.map +1 -0
  327. package/dist/plugins/package/index.d.mts +28 -19
  328. package/dist/plugins/package/index.mjs +107 -32
  329. package/dist/plugins/package/index.mjs.map +1 -1
  330. package/dist/plugins/package/mode-known.mjs +2 -2
  331. package/dist/plugins/package/mode-known.mjs.map +1 -1
  332. package/dist/plugins/package/mode-local.mjs +18 -35
  333. package/dist/plugins/package/mode-local.mjs.map +1 -1
  334. package/dist/plugins/package/publish-executor.mjs +13 -8
  335. package/dist/plugins/package/publish-executor.mjs.map +1 -1
  336. package/dist/plugins/package/publish-output.d.mts +1 -11
  337. package/dist/plugins/package/publish-output.mjs +1 -9
  338. package/dist/plugins/package/publish-output.mjs.map +1 -1
  339. package/dist/plugins/package/registry.d.mts +1 -1
  340. package/dist/plugins/package/registry.mjs +26 -14
  341. package/dist/plugins/package/registry.mjs.map +1 -1
  342. package/dist/plugins/package/service.mjs.map +1 -1
  343. package/dist/plugins/package/snapshot.mjs.map +1 -1
  344. package/dist/plugins/router-entrypoints.mjs +1 -3
  345. package/dist/plugins/router-entrypoints.mjs.map +1 -1
  346. package/dist/plugins/seal/bootstrap-assets/cargo-image.mjs +1 -2
  347. package/dist/plugins/seal/bootstrap-assets/cargo-image.mjs.map +1 -1
  348. package/dist/plugins/seal/bootstrap-assets/source-fetch.mjs +1 -6
  349. package/dist/plugins/seal/bootstrap-assets/source-fetch.mjs.map +1 -1
  350. package/dist/plugins/seal/codegen.d.mts +1 -5
  351. package/dist/plugins/seal/codegen.mjs +83 -12
  352. package/dist/plugins/seal/codegen.mjs.map +1 -1
  353. package/dist/plugins/seal/config-render.mjs +2 -6
  354. package/dist/plugins/seal/config-render.mjs.map +1 -1
  355. package/dist/plugins/seal/deploy.mjs +18 -29
  356. package/dist/plugins/seal/deploy.mjs.map +1 -1
  357. package/dist/plugins/seal/errors.d.mts +4 -5
  358. package/dist/plugins/seal/errors.mjs +1 -8
  359. package/dist/plugins/seal/errors.mjs.map +1 -1
  360. package/dist/plugins/seal/index.d.mts +7 -28
  361. package/dist/plugins/seal/index.mjs +69 -47
  362. package/dist/plugins/seal/index.mjs.map +1 -1
  363. package/dist/plugins/seal/key-manager.mjs.map +1 -1
  364. package/dist/plugins/seal/key-server.mjs +1 -6
  365. package/dist/plugins/seal/key-server.mjs.map +1 -1
  366. package/dist/plugins/seal/keygen.mjs +2 -3
  367. package/dist/plugins/seal/keygen.mjs.map +1 -1
  368. package/dist/plugins/seal/mode/fork-known.mjs.map +1 -1
  369. package/dist/plugins/seal/mode/live.mjs +1 -1
  370. package/dist/plugins/seal/mode/live.mjs.map +1 -1
  371. package/dist/plugins/seal/mode/local-keygen.mjs +4 -10
  372. package/dist/plugins/seal/mode/local-keygen.mjs.map +1 -1
  373. package/dist/plugins/seal/plugin-key.mjs.map +1 -1
  374. package/dist/plugins/seal/registry-publish.mjs.map +1 -1
  375. package/dist/plugins/seal/routable.mjs.map +1 -1
  376. package/dist/plugins/seal/service.mjs.map +1 -1
  377. package/dist/plugins/seal/snapshot.mjs +1 -2
  378. package/dist/plugins/seal/snapshot.mjs.map +1 -1
  379. package/dist/plugins/sui/auto-tick.mjs +5 -5
  380. package/dist/plugins/sui/auto-tick.mjs.map +1 -1
  381. package/dist/plugins/sui/chain-build-container.mjs +2 -2
  382. package/dist/plugins/sui/chain-build-container.mjs.map +1 -1
  383. package/dist/plugins/sui/chain-probe.mjs +4 -4
  384. package/dist/plugins/sui/chain-probe.mjs.map +1 -1
  385. package/dist/plugins/sui/codegen.d.mts +9 -7
  386. package/dist/plugins/sui/codegen.mjs +49 -46
  387. package/dist/plugins/sui/codegen.mjs.map +1 -1
  388. package/dist/plugins/sui/errors.d.mts +1 -1
  389. package/dist/plugins/sui/errors.mjs +1 -9
  390. package/dist/plugins/sui/errors.mjs.map +1 -1
  391. package/dist/{substrate/runtime/sui-execute → plugins/sui/exec}/index.d.mts +1 -1
  392. package/dist/{substrate/runtime/sui-execute → plugins/sui/exec}/index.mjs +3 -7
  393. package/dist/plugins/sui/exec/index.mjs.map +1 -0
  394. package/dist/{substrate/runtime/sui-execute → plugins/sui/exec}/sign-and-dispatch.mjs +1 -1
  395. package/dist/plugins/sui/exec/sign-and-dispatch.mjs.map +1 -0
  396. package/dist/plugins/sui/fork-faucet-strategy.mjs +2 -6
  397. package/dist/plugins/sui/fork-faucet-strategy.mjs.map +1 -1
  398. package/dist/plugins/sui/fork-orchestration.mjs +13 -23
  399. package/dist/plugins/sui/fork-orchestration.mjs.map +1 -1
  400. package/dist/plugins/sui/fork-transaction.mjs.map +1 -1
  401. package/dist/plugins/sui/index.d.mts +44 -93
  402. package/dist/plugins/sui/index.mjs +200 -68
  403. package/dist/plugins/sui/index.mjs.map +1 -1
  404. package/dist/{substrate/runtime/sui-ledger → plugins/sui/ledger}/object-ref.mjs +1 -1
  405. package/dist/plugins/sui/ledger/object-ref.mjs.map +1 -0
  406. package/dist/plugins/sui/local-faucet-strategy.mjs +1 -5
  407. package/dist/plugins/sui/local-faucet-strategy.mjs.map +1 -1
  408. package/dist/plugins/sui/log-attrs.mjs +11 -0
  409. package/dist/plugins/sui/log-attrs.mjs.map +1 -0
  410. package/dist/plugins/sui/mode/external.mjs +4 -12
  411. package/dist/plugins/sui/mode/external.mjs.map +1 -1
  412. package/dist/plugins/sui/mode/fork.mjs +19 -16
  413. package/dist/plugins/sui/mode/fork.mjs.map +1 -1
  414. package/dist/plugins/sui/mode/live.mjs +4 -17
  415. package/dist/plugins/sui/mode/live.mjs.map +1 -1
  416. package/dist/plugins/sui/mode/local.d.mts +1 -0
  417. package/dist/plugins/sui/mode/local.mjs +203 -61
  418. package/dist/plugins/sui/mode/local.mjs.map +1 -1
  419. package/dist/plugins/sui/mode/shared-boot.mjs +18 -23
  420. package/dist/plugins/sui/mode/shared-boot.mjs.map +1 -1
  421. package/dist/plugins/sui/mode/shared.d.mts +6 -7
  422. package/dist/plugins/sui/mode/shared.mjs.map +1 -1
  423. package/dist/plugins/sui/mode/spec.d.mts +23 -6
  424. package/dist/{substrate/runtime/sui-move-build → plugins/sui/move}/index.mjs +28 -30
  425. package/dist/plugins/sui/move/index.mjs.map +1 -0
  426. package/dist/plugins/sui/move-summary-runner.mjs +37 -6
  427. package/dist/plugins/sui/move-summary-runner.mjs.map +1 -1
  428. package/dist/{substrate/network.d.mts → plugins/sui/network-config.d.mts} +11 -10
  429. package/dist/plugins/sui/network-resolver.d.mts +6 -6
  430. package/dist/plugins/sui/routable.mjs.map +1 -1
  431. package/dist/plugins/sui/service.mjs +10 -6
  432. package/dist/plugins/sui/service.mjs.map +1 -1
  433. package/dist/plugins/sui/snapshot.mjs +10 -5
  434. package/dist/plugins/sui/snapshot.mjs.map +1 -1
  435. package/dist/plugins/wallet/codegen.d.mts +8 -6
  436. package/dist/plugins/wallet/codegen.mjs +4 -10
  437. package/dist/plugins/wallet/codegen.mjs.map +1 -1
  438. package/dist/plugins/wallet/errors.mjs +1 -4
  439. package/dist/plugins/wallet/errors.mjs.map +1 -1
  440. package/dist/plugins/wallet/index.d.mts +3 -6
  441. package/dist/plugins/wallet/index.mjs +16 -21
  442. package/dist/plugins/wallet/index.mjs.map +1 -1
  443. package/dist/plugins/wallet/origin-policy.mjs +3 -3
  444. package/dist/plugins/wallet/origin-policy.mjs.map +1 -1
  445. package/dist/plugins/wallet/pairing.mjs +6 -24
  446. package/dist/plugins/wallet/pairing.mjs.map +1 -1
  447. package/dist/plugins/wallet/protocol.mjs.map +1 -1
  448. package/dist/plugins/wallet/routable.mjs.map +1 -1
  449. package/dist/plugins/wallet/server.mjs +17 -24
  450. package/dist/plugins/wallet/server.mjs.map +1 -1
  451. package/dist/plugins/wallet/service.d.mts +2 -2
  452. package/dist/plugins/wallet/service.mjs +4 -15
  453. package/dist/plugins/wallet/service.mjs.map +1 -1
  454. package/dist/plugins/wallet/snapshot.mjs.map +1 -1
  455. package/dist/plugins/walrus/bootstrap-assets/cargo-image.mjs +1 -5
  456. package/dist/plugins/walrus/bootstrap-assets/cargo-image.mjs.map +1 -1
  457. package/dist/plugins/walrus/codegen.d.mts +2 -13
  458. package/dist/plugins/walrus/codegen.mjs +93 -28
  459. package/dist/plugins/walrus/codegen.mjs.map +1 -1
  460. package/dist/plugins/walrus/deploy-paths.mjs +2 -3
  461. package/dist/plugins/walrus/deploy-paths.mjs.map +1 -1
  462. package/dist/plugins/walrus/deploy.mjs +26 -19
  463. package/dist/plugins/walrus/deploy.mjs.map +1 -1
  464. package/dist/plugins/walrus/errors.mjs +1 -8
  465. package/dist/plugins/walrus/errors.mjs.map +1 -1
  466. package/dist/plugins/walrus/faucet-strategy.mjs +15 -1
  467. package/dist/plugins/walrus/faucet-strategy.mjs.map +1 -1
  468. package/dist/plugins/walrus/index.d.mts +13 -44
  469. package/dist/plugins/walrus/index.mjs +119 -122
  470. package/dist/plugins/walrus/index.mjs.map +1 -1
  471. package/dist/plugins/walrus/mode/known-deploy.mjs +6 -6
  472. package/dist/plugins/walrus/mode/known-deploy.mjs.map +1 -1
  473. package/dist/plugins/walrus/mode/local-cluster.d.mts +2 -2
  474. package/dist/plugins/walrus/mode/local-cluster.mjs +2 -10
  475. package/dist/plugins/walrus/mode/local-cluster.mjs.map +1 -1
  476. package/dist/plugins/walrus/plugin-key.mjs.map +1 -1
  477. package/dist/plugins/walrus/registry-publish.mjs.map +1 -1
  478. package/dist/plugins/walrus/routable.mjs.map +1 -1
  479. package/dist/plugins/walrus/service.mjs.map +1 -1
  480. package/dist/plugins/walrus/snapshot.mjs +3 -3
  481. package/dist/plugins/walrus/snapshot.mjs.map +1 -1
  482. package/dist/plugins/walrus/storage-nodes.mjs +53 -14
  483. package/dist/plugins/walrus/storage-nodes.mjs.map +1 -1
  484. package/dist/plugins/walrus/wal-swap.mjs +4 -8
  485. package/dist/plugins/walrus/wal-swap.mjs.map +1 -1
  486. package/dist/primitives/artifact-publisher.mjs.map +1 -1
  487. package/dist/primitives/cache.d.mts +1 -1
  488. package/dist/runtime/docker/client.mjs +47 -3
  489. package/dist/runtime/docker/client.mjs.map +1 -1
  490. package/dist/runtime/docker/container.mjs +37 -57
  491. package/dist/runtime/docker/container.mjs.map +1 -1
  492. package/dist/runtime/docker/errors.mjs.map +1 -1
  493. package/dist/runtime/docker/exec.mjs +2 -2
  494. package/dist/runtime/docker/exec.mjs.map +1 -1
  495. package/dist/runtime/docker/image.mjs +10 -11
  496. package/dist/runtime/docker/image.mjs.map +1 -1
  497. package/dist/runtime/docker/index.mjs +0 -1
  498. package/dist/runtime/docker/inspect-and-decode.mjs.map +1 -1
  499. package/dist/runtime/docker/inventory.mjs +9 -9
  500. package/dist/runtime/docker/inventory.mjs.map +1 -1
  501. package/dist/runtime/docker/labels.mjs +12 -1
  502. package/dist/runtime/docker/labels.mjs.map +1 -1
  503. package/dist/runtime/docker/network.mjs +6 -6
  504. package/dist/runtime/docker/network.mjs.map +1 -1
  505. package/dist/runtime/docker/render-run-args.mjs.map +1 -1
  506. package/dist/runtime/docker/service.mjs +31 -45
  507. package/dist/runtime/docker/service.mjs.map +1 -1
  508. package/dist/runtime/docker/sweep.mjs +14 -64
  509. package/dist/runtime/docker/sweep.mjs.map +1 -1
  510. package/dist/runtime/docker/volume.mjs +1 -1
  511. package/dist/runtime/docker/volume.mjs.map +1 -1
  512. package/dist/runtime/docker/wrap.mjs +14 -2
  513. package/dist/runtime/docker/wrap.mjs.map +1 -1
  514. package/dist/substrate/brand.d.mts +2 -5
  515. package/dist/substrate/brand.mjs +3 -2
  516. package/dist/substrate/brand.mjs.map +1 -1
  517. package/dist/substrate/cross-process.mjs +2 -16
  518. package/dist/substrate/cross-process.mjs.map +1 -1
  519. package/dist/substrate/event-time.mjs +0 -2
  520. package/dist/substrate/event-time.mjs.map +1 -1
  521. package/dist/substrate/events.d.mts +46 -16
  522. package/dist/substrate/identity.d.mts +11 -5
  523. package/dist/substrate/manifest.d.mts +33 -26
  524. package/dist/substrate/manifest.mjs +8 -3
  525. package/dist/substrate/manifest.mjs.map +1 -1
  526. package/dist/substrate/options.d.mts +33 -4
  527. package/dist/substrate/plugin-ctx.d.mts +70 -0
  528. package/dist/substrate/plugin-ctx.mjs +66 -0
  529. package/dist/substrate/plugin-ctx.mjs.map +1 -0
  530. package/dist/substrate/plugin.d.mts +46 -38
  531. package/dist/substrate/plugin.mjs +13 -9
  532. package/dist/substrate/plugin.mjs.map +1 -1
  533. package/dist/substrate/projection.d.mts +1 -1
  534. package/dist/substrate/runtime/atomic-write.mjs +3 -4
  535. package/dist/substrate/runtime/atomic-write.mjs.map +1 -1
  536. package/dist/substrate/runtime/cache/schema.mjs.map +1 -1
  537. package/dist/substrate/runtime/cache/service.mjs +50 -20
  538. package/dist/substrate/runtime/cache/service.mjs.map +1 -1
  539. package/dist/substrate/runtime/config-validation.mjs.map +1 -1
  540. package/dist/substrate/runtime/control-plane/domain.mjs +34 -12
  541. package/dist/substrate/runtime/control-plane/domain.mjs.map +1 -1
  542. package/dist/substrate/runtime/control-plane/service.mjs.map +1 -1
  543. package/dist/substrate/runtime/cross-process/command-channel/channel.mjs +14 -17
  544. package/dist/substrate/runtime/cross-process/command-channel/channel.mjs.map +1 -1
  545. package/dist/substrate/runtime/cross-process/command-channel/file-channel.mjs.map +1 -1
  546. package/dist/substrate/runtime/cross-process/command-channel/protocol.mjs.map +1 -1
  547. package/dist/substrate/runtime/cross-process/command-channel/runtime-control-lock.mjs.map +1 -1
  548. package/dist/substrate/runtime/cross-process/index.mjs +0 -2
  549. package/dist/substrate/runtime/cross-process/live-clock.mjs +1 -1
  550. package/dist/substrate/runtime/cross-process/live-clock.mjs.map +1 -1
  551. package/dist/substrate/runtime/cross-process/liveness.mjs +11 -18
  552. package/dist/substrate/runtime/cross-process/liveness.mjs.map +1 -1
  553. package/dist/substrate/runtime/cross-process/reclaim-stale-file.mjs +2 -2
  554. package/dist/substrate/runtime/cross-process/reclaim-stale-file.mjs.map +1 -1
  555. package/dist/substrate/runtime/cross-process/roster.mjs +17 -127
  556. package/dist/substrate/runtime/cross-process/roster.mjs.map +1 -1
  557. package/dist/substrate/runtime/cross-process/self-pid.mjs.map +1 -1
  558. package/dist/substrate/runtime/cross-process/stack-lock.mjs +29 -28
  559. package/dist/substrate/runtime/cross-process/stack-lock.mjs.map +1 -1
  560. package/dist/substrate/runtime/current-plugin.mjs.map +1 -1
  561. package/dist/substrate/runtime/errors.mjs +1 -13
  562. package/dist/substrate/runtime/errors.mjs.map +1 -1
  563. package/dist/substrate/runtime/format-unknown-error.mjs.map +1 -1
  564. package/dist/substrate/runtime/host-bind-mount-owner.mjs.map +1 -1
  565. package/dist/substrate/runtime/host-gateway.mjs.map +1 -1
  566. package/dist/substrate/runtime/host-tree-tar/index.mjs +15 -163
  567. package/dist/substrate/runtime/host-tree-tar/index.mjs.map +1 -1
  568. package/dist/substrate/runtime/http-probe.d.mts +1 -3
  569. package/dist/substrate/runtime/http-probe.mjs.map +1 -1
  570. package/dist/substrate/runtime/index.mjs +2 -6
  571. package/dist/substrate/runtime/lease-broker/service.mjs +5 -23
  572. package/dist/substrate/runtime/lease-broker/service.mjs.map +1 -1
  573. package/dist/substrate/runtime/lifecycle/dep-graph.mjs +3 -3
  574. package/dist/substrate/runtime/lifecycle/dep-graph.mjs.map +1 -1
  575. package/dist/substrate/runtime/lifecycle/file-watcher.mjs +54 -0
  576. package/dist/substrate/runtime/lifecycle/file-watcher.mjs.map +1 -0
  577. package/dist/substrate/runtime/lifecycle/graph-input-id.d.mts +1 -0
  578. package/dist/substrate/runtime/lifecycle/graph-input-id.mjs +133 -0
  579. package/dist/substrate/runtime/lifecycle/graph-input-id.mjs.map +1 -0
  580. package/dist/substrate/runtime/lifecycle/index.mjs +3 -2
  581. package/dist/substrate/runtime/lifecycle/plugin-registry.d.mts +1 -1
  582. package/dist/substrate/runtime/lifecycle/plugin-registry.mjs +22 -1
  583. package/dist/substrate/runtime/lifecycle/plugin-registry.mjs.map +1 -1
  584. package/dist/substrate/runtime/lifecycle/ready-gate.mjs +2 -15
  585. package/dist/substrate/runtime/lifecycle/ready-gate.mjs.map +1 -1
  586. package/dist/substrate/runtime/lifecycle/selective-restart.mjs +29 -25
  587. package/dist/substrate/runtime/lifecycle/selective-restart.mjs.map +1 -1
  588. package/dist/substrate/runtime/lifecycle/signals.mjs +1 -1
  589. package/dist/substrate/runtime/lifecycle/signals.mjs.map +1 -1
  590. package/dist/substrate/runtime/lifecycle/state-machine.mjs.map +1 -1
  591. package/dist/substrate/runtime/lifecycle/watch-attribution.d.mts +1 -1
  592. package/dist/substrate/runtime/lifecycle/watch-attribution.mjs +76 -7
  593. package/dist/substrate/runtime/lifecycle/watch-attribution.mjs.map +1 -1
  594. package/dist/substrate/runtime/managed-container.d.mts +5 -1
  595. package/dist/substrate/runtime/managed-container.mjs +8 -10
  596. package/dist/substrate/runtime/managed-container.mjs.map +1 -1
  597. package/dist/substrate/runtime/manifest/manifest.mjs +8 -30
  598. package/dist/substrate/runtime/manifest/manifest.mjs.map +1 -1
  599. package/dist/substrate/runtime/mode-errors.d.mts +1 -2
  600. package/dist/substrate/runtime/mode-errors.mjs.map +1 -1
  601. package/dist/substrate/runtime/observability/cascade-formatter.mjs +1 -11
  602. package/dist/substrate/runtime/observability/cascade-formatter.mjs.map +1 -1
  603. package/dist/substrate/runtime/observability/ignore-with-log.mjs.map +1 -1
  604. package/dist/substrate/runtime/observability/index.d.mts +1 -1
  605. package/dist/substrate/runtime/observability/index.mjs +4 -6
  606. package/dist/substrate/runtime/observability/log-attrs.mjs +46 -0
  607. package/dist/substrate/runtime/observability/log-attrs.mjs.map +1 -0
  608. package/dist/substrate/runtime/observability/log-store.mjs.map +1 -1
  609. package/dist/substrate/runtime/observability/logger.mjs +3 -3
  610. package/dist/substrate/runtime/observability/logger.mjs.map +1 -1
  611. package/dist/substrate/runtime/observability/output-truncate.mjs.map +1 -1
  612. package/dist/substrate/runtime/observability/pretty-error.mjs.map +1 -1
  613. package/dist/substrate/runtime/observability/process-lines.mjs.map +1 -1
  614. package/dist/substrate/runtime/observability/redaction.mjs.map +1 -1
  615. package/dist/substrate/runtime/observability/subprocess-capture.mjs +2 -2
  616. package/dist/substrate/runtime/observability/subprocess-capture.mjs.map +1 -1
  617. package/dist/substrate/runtime/passthrough-or-wrap.mjs.map +1 -1
  618. package/dist/substrate/runtime/paths.mjs +27 -9
  619. package/dist/substrate/runtime/paths.mjs.map +1 -1
  620. package/dist/substrate/runtime/phase-preserving-produce.mjs.map +1 -1
  621. package/dist/substrate/runtime/port-broker/service.mjs +10 -27
  622. package/dist/substrate/runtime/port-broker/service.mjs.map +1 -1
  623. package/dist/substrate/runtime/post-acquire-tasks.mjs.map +1 -1
  624. package/dist/substrate/runtime/probes.d.mts +2 -3
  625. package/dist/substrate/runtime/probes.mjs.map +1 -1
  626. package/dist/substrate/runtime/process-supervisor.mjs.map +1 -1
  627. package/dist/substrate/runtime/projection/operational-endpoints.mjs.map +1 -1
  628. package/dist/substrate/runtime/projection/state-ref.mjs.map +1 -1
  629. package/dist/substrate/runtime/projection/update.mjs +87 -11
  630. package/dist/substrate/runtime/projection/update.mjs.map +1 -1
  631. package/dist/substrate/runtime/random-suffix.mjs.map +1 -1
  632. package/dist/substrate/runtime/reconcile/fs-plan.mjs +146 -0
  633. package/dist/substrate/runtime/reconcile/fs-plan.mjs.map +1 -0
  634. package/dist/substrate/runtime/reconcile/graph.mjs +19 -0
  635. package/dist/substrate/runtime/reconcile/graph.mjs.map +1 -0
  636. package/dist/substrate/runtime/reconcile/index.mjs +5 -0
  637. package/dist/substrate/runtime/reconcile/label.mjs +41 -0
  638. package/dist/substrate/runtime/reconcile/label.mjs.map +1 -0
  639. package/dist/substrate/runtime/reconcile/spec.mjs +15 -0
  640. package/dist/substrate/runtime/reconcile/spec.mjs.map +1 -0
  641. package/dist/substrate/runtime/retry-policy.d.mts +2 -3
  642. package/dist/substrate/runtime/retry-policy.mjs.map +1 -1
  643. package/dist/substrate/runtime/routed-url.mjs.map +1 -1
  644. package/dist/substrate/runtime/runtime-decode.mjs.map +1 -1
  645. package/dist/substrate/runtime/scoped-http-server.mjs.map +1 -1
  646. package/dist/substrate/runtime/stage-and-swap/index.mjs +49 -12
  647. package/dist/substrate/runtime/stage-and-swap/index.mjs.map +1 -1
  648. package/dist/substrate/runtime/strategy-registry/chain-keyed-strategy-for.mjs.map +1 -1
  649. package/dist/substrate/runtime/strategy-registry/chain-probe-for.mjs.map +1 -1
  650. package/dist/substrate/runtime/strategy-registry/service.mjs +29 -17
  651. package/dist/substrate/runtime/strategy-registry/service.mjs.map +1 -1
  652. package/dist/substrate/runtime/subnet-broker.mjs.map +1 -1
  653. package/dist/substrate/runtime/supervisor/acquire-node.mjs +188 -56
  654. package/dist/substrate/runtime/supervisor/acquire-node.mjs.map +1 -1
  655. package/dist/substrate/runtime/supervisor/background-tasks.mjs +79 -65
  656. package/dist/substrate/runtime/supervisor/background-tasks.mjs.map +1 -1
  657. package/dist/substrate/runtime/supervisor/command-loop.mjs +82 -23
  658. package/dist/substrate/runtime/supervisor/command-loop.mjs.map +1 -1
  659. package/dist/substrate/runtime/supervisor/contribution-dispatcher.d.mts +1 -0
  660. package/dist/substrate/runtime/supervisor/contribution-dispatcher.mjs +16 -0
  661. package/dist/substrate/runtime/supervisor/contribution-dispatcher.mjs.map +1 -0
  662. package/dist/substrate/runtime/supervisor/errors.mjs +11 -2
  663. package/dist/substrate/runtime/supervisor/errors.mjs.map +1 -1
  664. package/dist/substrate/runtime/supervisor/index.mjs +2 -0
  665. package/dist/substrate/runtime/supervisor/shutdown.mjs +6 -6
  666. package/dist/substrate/runtime/supervisor/shutdown.mjs.map +1 -1
  667. package/dist/substrate/runtime/supervisor/start-supervisor.mjs +61 -75
  668. package/dist/substrate/runtime/supervisor/start-supervisor.mjs.map +1 -1
  669. package/dist/substrate/runtime/supervisor/state.d.mts +1 -1
  670. package/dist/substrate/runtime/supervisor/state.mjs +1 -1
  671. package/dist/substrate/runtime/supervisor/state.mjs.map +1 -1
  672. package/dist/substrate/runtime/supervisor/teardown.mjs +10 -9
  673. package/dist/substrate/runtime/supervisor/teardown.mjs.map +1 -1
  674. package/dist/substrate/runtime/supervisor/wiring.mjs +6 -20
  675. package/dist/substrate/runtime/supervisor/wiring.mjs.map +1 -1
  676. package/dist/substrate/runtime/tar/reader.mjs +216 -0
  677. package/dist/substrate/runtime/tar/reader.mjs.map +1 -0
  678. package/dist/substrate/runtime/typed-env.mjs.map +1 -1
  679. package/dist/substrate/versioned-doc-schema.mjs.map +1 -1
  680. package/dist/substrate/versioned-doc-sync.mjs +5 -5
  681. package/dist/substrate/versioned-doc-sync.mjs.map +1 -1
  682. package/dist/surfaces/cli/command-tree.mjs +49 -7
  683. package/dist/surfaces/cli/command-tree.mjs.map +1 -1
  684. package/dist/surfaces/cli/commands/config.mjs +1 -1
  685. package/dist/surfaces/cli/commands/config.mjs.map +1 -1
  686. package/dist/surfaces/cli/commands/confirm-node.mjs.map +1 -1
  687. package/dist/surfaces/cli/commands/confirm.mjs.map +1 -1
  688. package/dist/surfaces/cli/commands/doctor.mjs +1 -1
  689. package/dist/surfaces/cli/commands/doctor.mjs.map +1 -1
  690. package/dist/surfaces/cli/commands/prune-picker-entry.mjs.map +1 -1
  691. package/dist/surfaces/cli/commands/prune-picker.mjs.map +1 -1
  692. package/dist/surfaces/cli/commands/prune.mjs +1 -1
  693. package/dist/surfaces/cli/commands/prune.mjs.map +1 -1
  694. package/dist/surfaces/cli/commands/snapshot.mjs +1 -1
  695. package/dist/surfaces/cli/commands/snapshot.mjs.map +1 -1
  696. package/dist/surfaces/cli/commands/status.mjs +1 -1
  697. package/dist/surfaces/cli/commands/status.mjs.map +1 -1
  698. package/dist/surfaces/cli/commands/supervisor-presence.mjs.map +1 -1
  699. package/dist/surfaces/cli/commands/wipe.mjs +3 -4
  700. package/dist/surfaces/cli/commands/wipe.mjs.map +1 -1
  701. package/dist/surfaces/cli/envelope.mjs.map +1 -1
  702. package/dist/surfaces/cli/errors.mjs.map +1 -1
  703. package/dist/surfaces/cli/flags.mjs.map +1 -1
  704. package/dist/surfaces/cli/index.mjs +45 -14
  705. package/dist/surfaces/cli/index.mjs.map +1 -1
  706. package/dist/surfaces/cli/output.mjs.map +1 -1
  707. package/dist/surfaces/cli/sysexits.mjs.map +1 -1
  708. package/dist/surfaces/tui/app.mjs +0 -21
  709. package/dist/surfaces/tui/app.mjs.map +1 -1
  710. package/dist/surfaces/tui/dashboard.mjs +0 -48
  711. package/dist/surfaces/tui/dashboard.mjs.map +1 -1
  712. package/dist/surfaces/tui/display-derivation.mjs +80 -16
  713. package/dist/surfaces/tui/display-derivation.mjs.map +1 -1
  714. package/dist/surfaces/tui/errors.mjs.map +1 -1
  715. package/dist/surfaces/tui/event-log.mjs +0 -9
  716. package/dist/surfaces/tui/event-log.mjs.map +1 -1
  717. package/dist/surfaces/tui/heartbeat.mjs.map +1 -1
  718. package/dist/surfaces/tui/index.mjs +2 -2
  719. package/dist/surfaces/tui/index.mjs.map +1 -1
  720. package/dist/surfaces/tui/input.mjs.map +1 -1
  721. package/dist/surfaces/tui/mode-detect.mjs.map +1 -1
  722. package/dist/surfaces/tui/mount-ink.mjs.map +1 -1
  723. package/dist/surfaces/tui/plain-renderer.mjs +26 -19
  724. package/dist/surfaces/tui/plain-renderer.mjs.map +1 -1
  725. package/dist/surfaces/tui/resource-table.mjs +8 -10
  726. package/dist/surfaces/tui/resource-table.mjs.map +1 -1
  727. package/images/postgres/Dockerfile +0 -1
  728. package/images/sui/Dockerfile +27 -54
  729. package/images/sui/entrypoint.sh +17 -179
  730. package/package.json +23 -15
  731. package/dashboard-ui/assets/index-Bmi1UtAg.js +0 -1356
  732. package/dashboard-ui/assets/index-D5EShVt4.js +0 -3
  733. package/dashboard-ui/assets/index-Deml9drg.css +0 -1
  734. package/dist/api/plugin-errors.d.mts +0 -7
  735. package/dist/api/plugin-errors.mjs +0 -10
  736. package/dist/api/plugin-errors.mjs.map +0 -1
  737. package/dist/cli/wirings/build-verb-layers.mjs +0 -42
  738. package/dist/cli/wirings/build-verb-layers.mjs.map +0 -1
  739. package/dist/contracts/capability-decl.d.mts +0 -40
  740. package/dist/orchestrators/built-in-plugin-layers.mjs +0 -54
  741. package/dist/orchestrators/built-in-plugin-layers.mjs.map +0 -1
  742. package/dist/orchestrators/run.mjs +0 -91
  743. package/dist/orchestrators/run.mjs.map +0 -1
  744. package/dist/orchestrators/runtime-composition.d.mts +0 -10
  745. package/dist/orchestrators/runtime-composition.mjs +0 -252
  746. package/dist/orchestrators/runtime-composition.mjs.map +0 -1
  747. package/dist/orchestrators/snapshot/capture-command.d.mts +0 -1
  748. package/dist/orchestrators/snapshot/capture-command.mjs +0 -25
  749. package/dist/orchestrators/snapshot/capture-command.mjs.map +0 -1
  750. package/dist/orchestrators/snapshot/pending-marker.mjs +0 -99
  751. package/dist/orchestrators/snapshot/pending-marker.mjs.map +0 -1
  752. package/dist/orchestrators/snapshot/recover-pending.mjs +0 -223
  753. package/dist/orchestrators/snapshot/recover-pending.mjs.map +0 -1
  754. package/dist/orchestrators/snapshot/state-document.d.mts +0 -1
  755. package/dist/orchestrators/snapshot/state-document.mjs +0 -58
  756. package/dist/orchestrators/snapshot/state-document.mjs.map +0 -1
  757. package/dist/plugins/account/spans.mjs +0 -16
  758. package/dist/plugins/account/spans.mjs.map +0 -1
  759. package/dist/plugins/account/variants/env.mjs +0 -24
  760. package/dist/plugins/account/variants/env.mjs.map +0 -1
  761. package/dist/plugins/account/variants/inline.mjs +0 -13
  762. package/dist/plugins/account/variants/inline.mjs.map +0 -1
  763. package/dist/plugins/account/variants/keystore.mjs +0 -91
  764. package/dist/plugins/account/variants/keystore.mjs.map +0 -1
  765. package/dist/plugins/action/spans.mjs +0 -11
  766. package/dist/plugins/action/spans.mjs.map +0 -1
  767. package/dist/plugins/coin/spans.mjs +0 -20
  768. package/dist/plugins/coin/spans.mjs.map +0 -1
  769. package/dist/plugins/deepbook/spans.mjs +0 -18
  770. package/dist/plugins/deepbook/spans.mjs.map +0 -1
  771. package/dist/plugins/faucet/spans.mjs +0 -12
  772. package/dist/plugins/faucet/spans.mjs.map +0 -1
  773. package/dist/plugins/package/spans.mjs +0 -14
  774. package/dist/plugins/package/spans.mjs.map +0 -1
  775. package/dist/plugins/postgres/codegen.mjs +0 -42
  776. package/dist/plugins/postgres/codegen.mjs.map +0 -1
  777. package/dist/plugins/postgres/connection.d.mts +0 -33
  778. package/dist/plugins/postgres/connection.mjs.map +0 -1
  779. package/dist/plugins/postgres/db-ensure.mjs.map +0 -1
  780. package/dist/plugins/postgres/errors.d.mts +0 -60
  781. package/dist/plugins/postgres/errors.mjs +0 -29
  782. package/dist/plugins/postgres/errors.mjs.map +0 -1
  783. package/dist/plugins/postgres/index.d.mts +0 -37
  784. package/dist/plugins/postgres/index.mjs +0 -68
  785. package/dist/plugins/postgres/index.mjs.map +0 -1
  786. package/dist/plugins/postgres/routable.mjs +0 -33
  787. package/dist/plugins/postgres/routable.mjs.map +0 -1
  788. package/dist/plugins/postgres/service.d.mts +0 -50
  789. package/dist/plugins/postgres/service.mjs +0 -179
  790. package/dist/plugins/postgres/service.mjs.map +0 -1
  791. package/dist/plugins/postgres/snapshot.mjs +0 -32
  792. package/dist/plugins/postgres/snapshot.mjs.map +0 -1
  793. package/dist/plugins/postgres/spans.mjs +0 -11
  794. package/dist/plugins/postgres/spans.mjs.map +0 -1
  795. package/dist/plugins/seal/spans.mjs +0 -18
  796. package/dist/plugins/seal/spans.mjs.map +0 -1
  797. package/dist/plugins/sui/spans.mjs +0 -17
  798. package/dist/plugins/sui/spans.mjs.map +0 -1
  799. package/dist/plugins/wallet/spans.mjs +0 -22
  800. package/dist/plugins/wallet/spans.mjs.map +0 -1
  801. package/dist/plugins/walrus/registry-publish.d.mts +0 -24
  802. package/dist/plugins/walrus/spans.mjs +0 -18
  803. package/dist/plugins/walrus/spans.mjs.map +0 -1
  804. package/dist/runtime/docker/logs.d.mts +0 -1
  805. package/dist/runtime/docker/logs.mjs +0 -34
  806. package/dist/runtime/docker/logs.mjs.map +0 -1
  807. package/dist/substrate/runtime/artifact-publisher/index.mjs +0 -86
  808. package/dist/substrate/runtime/artifact-publisher/index.mjs.map +0 -1
  809. package/dist/substrate/runtime/capability-sinks/index.d.mts +0 -1
  810. package/dist/substrate/runtime/capability-sinks/index.mjs +0 -3
  811. package/dist/substrate/runtime/capability-sinks/layer.d.mts +0 -1
  812. package/dist/substrate/runtime/capability-sinks/layer.mjs +0 -31
  813. package/dist/substrate/runtime/capability-sinks/layer.mjs.map +0 -1
  814. package/dist/substrate/runtime/capability-sinks/service.d.mts +0 -95
  815. package/dist/substrate/runtime/capability-sinks/service.mjs +0 -69
  816. package/dist/substrate/runtime/capability-sinks/service.mjs.map +0 -1
  817. package/dist/substrate/runtime/cross-process/lock.d.mts +0 -1
  818. package/dist/substrate/runtime/cross-process/lock.mjs +0 -23
  819. package/dist/substrate/runtime/cross-process/lock.mjs.map +0 -1
  820. package/dist/substrate/runtime/cross-process/snapshot-reservation.mjs +0 -113
  821. package/dist/substrate/runtime/cross-process/snapshot-reservation.mjs.map +0 -1
  822. package/dist/substrate/runtime/lifecycle/lifecycle-fact.mjs +0 -31
  823. package/dist/substrate/runtime/lifecycle/lifecycle-fact.mjs.map +0 -1
  824. package/dist/substrate/runtime/observability/formatter-registry.d.mts +0 -1
  825. package/dist/substrate/runtime/observability/formatter-registry.mjs +0 -48
  826. package/dist/substrate/runtime/observability/formatter-registry.mjs.map +0 -1
  827. package/dist/substrate/runtime/observability/span-store.d.mts +0 -1
  828. package/dist/substrate/runtime/observability/span-store.mjs +0 -110
  829. package/dist/substrate/runtime/observability/span-store.mjs.map +0 -1
  830. package/dist/substrate/runtime/observability/spans.d.mts +0 -1
  831. package/dist/substrate/runtime/observability/spans.mjs +0 -87
  832. package/dist/substrate/runtime/observability/spans.mjs.map +0 -1
  833. package/dist/substrate/runtime/projection/index.mjs +0 -4
  834. package/dist/substrate/runtime/projection/persisted.mjs +0 -213
  835. package/dist/substrate/runtime/projection/persisted.mjs.map +0 -1
  836. package/dist/substrate/runtime/scoped-multimap/service.mjs +0 -52
  837. package/dist/substrate/runtime/scoped-multimap/service.mjs.map +0 -1
  838. package/dist/substrate/runtime/scoped-ref-map/index.mjs +0 -2
  839. package/dist/substrate/runtime/scoped-ref-map/service.mjs +0 -83
  840. package/dist/substrate/runtime/scoped-ref-map/service.mjs.map +0 -1
  841. package/dist/substrate/runtime/state-store/index.mjs +0 -3
  842. package/dist/substrate/runtime/state-store/schema.d.mts +0 -1
  843. package/dist/substrate/runtime/state-store/schema.mjs +0 -41
  844. package/dist/substrate/runtime/state-store/schema.mjs.map +0 -1
  845. package/dist/substrate/runtime/state-store/service.d.mts +0 -1
  846. package/dist/substrate/runtime/state-store/service.mjs +0 -145
  847. package/dist/substrate/runtime/state-store/service.mjs.map +0 -1
  848. package/dist/substrate/runtime/sui-execute/index.mjs.map +0 -1
  849. package/dist/substrate/runtime/sui-execute/sign-and-dispatch.mjs.map +0 -1
  850. package/dist/substrate/runtime/sui-ledger/object-ref.mjs.map +0 -1
  851. package/dist/substrate/runtime/sui-move-build/index.mjs.map +0 -1
  852. package/dist/substrate/runtime/supervisor/dispatch-contributions.mjs +0 -151
  853. package/dist/substrate/runtime/supervisor/dispatch-contributions.mjs.map +0 -1
  854. package/dist/substrate/state-store.d.mts +0 -1
  855. /package/dist/orchestrators/{snapshot/pending-marker.d.mts → codegen/id-config.d.mts} +0 -0
  856. /package/dist/orchestrators/snapshot/{recover-pending.d.mts → interrupted-restore.d.mts} +0 -0
  857. /package/dist/{substrate/runtime/sui-execute → plugins/sui/exec}/sign-and-dispatch.d.mts +0 -0
  858. /package/dist/plugins/{postgres/snapshot.d.mts → sui/ledger/object-ref.d.mts} +0 -0
  859. /package/dist/{substrate/runtime/sui-move-build → plugins/sui/move}/index.d.mts +0 -0
  860. /package/dist/substrate/runtime/{cross-process/snapshot-reservation.d.mts → lifecycle/file-watcher.d.mts} +0 -0
  861. /package/dist/substrate/runtime/{state-store/index.d.mts → reconcile/graph.d.mts} +0 -0
@@ -1,23 +1,45 @@
1
1
  import { acquireStackLock } from "../../substrate/runtime/cross-process/stack-lock.mjs";
2
2
  import { mintRandomSuffix } from "../../substrate/runtime/random-suffix.mjs";
3
3
  import { StageAndSwapError, stageAndSwap } from "../../substrate/runtime/stage-and-swap/index.mjs";
4
- import { CodegenEmitFailed, CodegenEmitterCollision, CodegenPathConflict, CodegenWriteFailed } from "./errors.mjs";
4
+ import { CodegenAggregateConflict, CodegenEmitFailed, CodegenEmitterCollision, CodegenPathConflict, CodegenWriteFailed } from "./errors.mjs";
5
5
  import { emitOne } from "./emit.mjs";
6
6
  import { dirModeFor, modeFor } from "./permissions.mjs";
7
- import { MoveCodegenService, MoveSummaryRunnerService, emitBindings } from "./bindings.mjs";
7
+ import { MoveCodegenService, MoveSummaryRunnerService, emitBindings, isPackageBindings } from "./bindings.mjs";
8
8
  import { CodegenPathsService } from "./paths.mjs";
9
+ import { isRawExpr } from "../../contracts/codegenable.mjs";
10
+ import { CONFIG_RUNTIME_OUTPUT_PATH, CONFIG_RUNTIME_SOURCE } from "./config-runtime.mjs";
9
11
  import { renderFile } from "./format.mjs";
10
12
  import { writeGitignore } from "./gitignore.mjs";
13
+ import { UNRESOLVED_ID } from "./id-config.mjs";
11
14
  import { Context, Effect, Layer, Order, Ref } from "effect";
12
15
  import { dirname } from "node:path";
13
16
  //#region src/orchestrators/codegen/service.ts
14
- const buildParentModeResolver = (paths, decls) => Effect.gen(function* () {
17
+ /** Resolve a decl/aggregate's absolute output path against the tree
18
+ * selected by its `outputLocation`. `'generated-extras'` routes
19
+ * through `paths.resolveExtras` (the gitignored dev tree); everything
20
+ * else through `paths.resolve` (the staging-and-swapped runtime tree). */
21
+ const resolveAt = (paths, location, outputPath) => location === "generated-extras" ? paths.resolveExtras(outputPath) : paths.resolve(outputPath);
22
+ const declLocation = (decl) => decl.outputLocation ?? "generated";
23
+ /** A decl belongs to the `emitExtras` flush IFF it writes ONLY into the
24
+ * dev-only `generated-extras` tree. INVARIANT: `emitExtras` must NEVER
25
+ * touch the committed `src/generated` tree (it runs without stage-and-swap),
26
+ * so a decl that would emit any file into `generated` is excluded.
27
+ *
28
+ * - `aggregateOnly` decls write only their aggregate file: include iff the
29
+ * aggregate's location is `generated-extras` (e.g. each account folding
30
+ * into the gitignored `accounts.ts`).
31
+ * - standalone decls write a per-decl file (and possibly an aggregate):
32
+ * include iff that standalone file lands in `generated-extras` (e.g. the
33
+ * wallet's `dev-wallet.ts`). A standalone-in-`generated` decl is excluded
34
+ * even if its aggregate targets `generated-extras`. */
35
+ const isExtrasDecl = (decl) => decl.aggregateOnly === true ? (decl.aggregate?.outputLocation ?? "generated") === "generated-extras" : declLocation(decl) === "generated-extras";
36
+ const buildParentModeResolver = (paths, entries) => Effect.gen(function* () {
15
37
  const byParent = /* @__PURE__ */ new Map();
16
- for (const decl of decls) {
17
- const parent = dirname(yield* paths.resolve(decl.outputPath));
38
+ for (const entry of entries) {
39
+ const parent = dirname(yield* resolveAt(paths, entry.location, entry.outputPath));
18
40
  const current = byParent.get(parent);
19
- if (current === void 0) byParent.set(parent, [decl]);
20
- else current.push(decl);
41
+ if (current === void 0) byParent.set(parent, [{ sensitive: entry.sensitive }]);
42
+ else current.push({ sensitive: entry.sensitive });
21
43
  }
22
44
  const modes = /* @__PURE__ */ new Map();
23
45
  for (const [parent, parentDecls] of byParent) modes.set(parent, dirModeFor(parentDecls));
@@ -62,11 +84,7 @@ const runEmitCycleLocked = (input) => Effect.gen(function* () {
62
84
  cause: e
63
85
  });
64
86
  return e;
65
- }), Effect.withSpan("codegen.runEmitCycle", { attributes: {
66
- "codegen.contributions": input.contributions.length,
67
- "codegen.cycleId": cycleId,
68
- "codegen.stagingDir": stagingPaths.outputDir
69
- } }));
87
+ }));
70
88
  });
71
89
  /**
72
90
  * Project a staging-rooted `RunEmitCycleResult` back into the user-
@@ -95,14 +113,20 @@ const rewriteResultPaths = (result, stagingDir, outputDir) => {
95
113
  * this function so callers know the contribution set is well-formed.
96
114
  */
97
115
  const runEmitCycleInner = (input, paths) => Effect.gen(function* () {
116
+ yield* Effect.logInfo(`codegen: emitting projection (trackTree=${input.trackTree === true}).`);
98
117
  const fileEmitters = [...input.contributions];
99
118
  const filesWritten = [];
100
119
  const filesUnchanged = [];
101
120
  const filesChmod = [];
102
121
  const aggregates = /* @__PURE__ */ new Map();
122
+ const aggregateMeta = /* @__PURE__ */ new Map();
103
123
  const packageContribs = [];
104
124
  const sortedDecls = [...fileEmitters].sort(Order.mapInput(Order.String, (d) => d.outputPath));
105
- const parentModeFor = yield* buildParentModeResolver(paths, fileEmitters);
125
+ const parentModeFor = yield* buildParentModeResolver(paths, fileEmitters.filter((d) => d.aggregateOnly !== true).map((d) => ({
126
+ outputPath: d.outputPath,
127
+ location: declLocation(d),
128
+ sensitive: d.sensitive === true
129
+ })));
106
130
  for (const decl of sortedDecls) {
107
131
  const emission = yield* runEmitter(decl);
108
132
  const exported = emission.exports;
@@ -110,11 +134,36 @@ const runEmitCycleInner = (input, paths) => Effect.gen(function* () {
110
134
  const projected = decl.aggregate.project(exported);
111
135
  if (projected !== null) {
112
136
  const bucket = aggregates.get(decl.aggregate.bucket) ?? {};
113
- Object.assign(bucket, projected);
137
+ deepMerge(bucket, projected);
114
138
  aggregates.set(decl.aggregate.bucket, bucket);
139
+ const declLoc = decl.aggregate.outputLocation ?? "generated";
140
+ const declSensitive = decl.aggregate.sensitive === true;
141
+ const established = aggregateMeta.get(decl.aggregate.bucket);
142
+ if (established === void 0) aggregateMeta.set(decl.aggregate.bucket, {
143
+ location: declLoc,
144
+ sensitive: declSensitive,
145
+ establishedBy: decl.emitterName
146
+ });
147
+ else {
148
+ if (established.location !== declLoc) return yield* Effect.fail(new CodegenAggregateConflict({
149
+ bucket: decl.aggregate.bucket,
150
+ field: "outputLocation",
151
+ established: established.location,
152
+ conflicting: declLoc,
153
+ emitters: [established.establishedBy, decl.emitterName]
154
+ }));
155
+ if (established.sensitive !== declSensitive) return yield* Effect.fail(new CodegenAggregateConflict({
156
+ bucket: decl.aggregate.bucket,
157
+ field: "sensitive",
158
+ established: String(established.sensitive),
159
+ conflicting: String(declSensitive),
160
+ emitters: [established.establishedBy, decl.emitterName]
161
+ }));
162
+ }
115
163
  }
116
164
  }
117
165
  for (const value of Object.values(exported)) if (isPackageBindings(value)) packageContribs.push(value);
166
+ if (decl.aggregateOnly === true) continue;
118
167
  const rendered = renderFile({
119
168
  emitterName: decl.emitterName,
120
169
  outputPath: decl.outputPath,
@@ -123,7 +172,7 @@ const runEmitCycleInner = (input, paths) => Effect.gen(function* () {
123
172
  imports: emission.imports
124
173
  });
125
174
  if (!rendered.ok) return yield* Effect.fail(rendered.error);
126
- const abs = yield* paths.resolve(decl.outputPath);
175
+ const abs = yield* resolveAt(paths, declLocation(decl), decl.outputPath);
127
176
  switch ((yield* emitOne({
128
177
  path: abs,
129
178
  content: rendered.text,
@@ -141,18 +190,42 @@ const runEmitCycleInner = (input, paths) => Effect.gen(function* () {
141
190
  break;
142
191
  }
143
192
  }
144
- for (const aggregate of buildAggregateFiles(aggregates)) {
193
+ const aggregateFiles = buildAggregateFiles(aggregates, aggregateMeta);
194
+ let needsConfigRuntime = false;
195
+ for (const aggregate of aggregateFiles) {
196
+ const resolvers = resolversUsedBy(aggregate.exports);
197
+ if (resolvers.length > 0) needsConfigRuntime = true;
145
198
  const rendered = renderFile({
146
199
  emitterName: aggregate.emitterName,
147
200
  outputPath: aggregate.outputPath,
148
- sensitive: false,
149
- exports: aggregate.exports
201
+ sensitive: aggregate.sensitive,
202
+ exports: aggregate.exports,
203
+ ...resolvers.length > 0 ? { imports: [`import { ${resolvers.join(", ")} } from './config-runtime.js';`] } : {}
150
204
  });
151
205
  if (!rendered.ok) return yield* Effect.fail(rendered.error);
152
- const abs = yield* paths.resolve(aggregate.outputPath);
206
+ const abs = yield* resolveAt(paths, aggregate.location, aggregate.outputPath);
153
207
  switch ((yield* emitOne({
154
208
  path: abs,
155
209
  content: rendered.text,
210
+ mode: aggregate.sensitive ? 384 : 420,
211
+ parentMode: parentModeFor(abs)
212
+ })).outcome) {
213
+ case "wrote":
214
+ filesWritten.push(abs);
215
+ break;
216
+ case "unchanged":
217
+ filesUnchanged.push(abs);
218
+ break;
219
+ case "chmod-only":
220
+ filesChmod.push(abs);
221
+ break;
222
+ }
223
+ }
224
+ if (needsConfigRuntime) {
225
+ const abs = yield* paths.resolve(CONFIG_RUNTIME_OUTPUT_PATH);
226
+ switch ((yield* emitOne({
227
+ path: abs,
228
+ content: CONFIG_RUNTIME_SOURCE,
156
229
  mode: 420,
157
230
  parentMode: parentModeFor(abs)
158
231
  })).outcome) {
@@ -174,12 +247,15 @@ const runEmitCycleInner = (input, paths) => Effect.gen(function* () {
174
247
  importExtension: input.bindingsImportExtension
175
248
  });
176
249
  else yield* Effect.logInfo("codegen: no package contributions; skipping Move-to-TS bindings step.");
177
- const sensitivePaths = fileEmitters.filter((d) => d.sensitive === true).map((d) => d.outputPath);
178
- yield* writeGitignore({
179
- path: paths.gitignoreFile,
180
- sensitivePaths,
181
- parentMode: parentModeFor(paths.gitignoreFile)
182
- });
250
+ if (fileEmitters.some((d) => d.aggregateOnly !== true && declLocation(d) === "generated") || aggregateFiles.some((a) => a.location === "generated")) {
251
+ const sensitivePaths = [...fileEmitters.filter((d) => d.sensitive === true && d.aggregateOnly !== true && declLocation(d) === "generated").map((d) => d.outputPath), ...aggregateFiles.filter((a) => a.sensitive && a.location === "generated").map((a) => a.outputPath)];
252
+ yield* writeGitignore({
253
+ path: paths.gitignoreFile,
254
+ sensitivePaths,
255
+ parentMode: parentModeFor(paths.gitignoreFile),
256
+ trackTree: input.trackTree === true
257
+ });
258
+ }
183
259
  return {
184
260
  filesWritten,
185
261
  filesUnchanged,
@@ -188,6 +264,8 @@ const runEmitCycleInner = (input, paths) => Effect.gen(function* () {
188
264
  };
189
265
  });
190
266
  const runEmitter = (decl) => Effect.gen(function* () {
267
+ const kind = decl.aggregate?.kind;
268
+ if (kind !== void 0) yield* Effect.annotateCurrentSpan("codegen.kind", kind);
191
269
  const exports = {};
192
270
  const imports = [];
193
271
  const done = { _tag: "CodegenEmitDone" };
@@ -208,7 +286,7 @@ const runEmitter = (decl) => Effect.gen(function* () {
208
286
  exports,
209
287
  imports
210
288
  };
211
- });
289
+ }).pipe(Effect.withSpan("codegen.emit", { attributes: { "codegen.emitter": decl.emitterName } }));
212
290
  /**
213
291
  * Uniqueness check: emitter name (literal) must be unique unless
214
292
  * the decl opts into repetition via `allowEmitterNameRepetition`
@@ -220,17 +298,20 @@ const validateUniqueness = (decls) => Effect.gen(function* () {
220
298
  const byPath = /* @__PURE__ */ new Map();
221
299
  const byName = /* @__PURE__ */ new Map();
222
300
  for (const d of decls) {
223
- const ps = byPath.get(d.outputPath) ?? [];
224
- ps.push(d.emitterName);
225
- byPath.set(d.outputPath, ps);
301
+ if (d.aggregateOnly !== true) {
302
+ const pathKey = `${declLocation(d)} ${d.outputPath}`;
303
+ const ps = byPath.get(pathKey) ?? [];
304
+ ps.push(d.emitterName);
305
+ byPath.set(pathKey, ps);
306
+ }
226
307
  if (d.allowEmitterNameRepetition === true) continue;
227
308
  const ns = byName.get(d.emitterName) ?? [];
228
309
  ns.push(d.outputPath);
229
310
  byName.set(d.emitterName, ns);
230
311
  }
231
- for (const [path, emitters] of byPath) if (emitters.length > 1) return yield* Effect.fail(new CodegenPathConflict({
312
+ for (const [pathKey, emitters] of byPath) if (emitters.length > 1) return yield* Effect.fail(new CodegenPathConflict({
232
313
  kind: "duplicate",
233
- outputPath: path,
314
+ outputPath: pathKey.slice(pathKey.indexOf(" ") + 1),
234
315
  emitters
235
316
  }));
236
317
  for (const [name, outputPaths] of byName) if (outputPaths.length > 1) return yield* Effect.fail(new CodegenEmitterCollision({
@@ -245,50 +326,166 @@ const validateUniqueness = (decls) => Effect.gen(function* () {
245
326
  * it does not enumerate or recognize plugin identities here.
246
327
  */
247
328
  const validateAggregatePathAvailability = (decls) => Effect.gen(function* () {
248
- const aggregatePaths = /* @__PURE__ */ new Set();
249
- for (const decl of decls) if (decl.aggregate !== void 0) aggregatePaths.add(decl.aggregate.bucket);
250
- for (const path of aggregatePaths) {
251
- const colliding = decls.filter((decl) => decl.outputPath === path);
329
+ const aggregatePaths = /* @__PURE__ */ new Map();
330
+ for (const decl of decls) if (decl.aggregate !== void 0) {
331
+ const location = decl.aggregate.outputLocation ?? "generated";
332
+ aggregatePaths.set(`${location} ${decl.aggregate.bucket}`, decl.aggregate.bucket);
333
+ }
334
+ for (const [key, bucket] of aggregatePaths) {
335
+ const location = key.slice(0, key.indexOf(" "));
336
+ const colliding = decls.filter((decl) => decl.aggregateOnly !== true && declLocation(decl) === location && decl.outputPath === bucket);
252
337
  if (colliding.length > 0) return yield* Effect.fail(new CodegenPathConflict({
253
338
  kind: "duplicate",
254
- outputPath: path,
255
- emitters: [...colliding.map((decl) => decl.emitterName), `aggregate/${path}`]
339
+ outputPath: bucket,
340
+ emitters: [...colliding.map((decl) => decl.emitterName), `aggregate/${bucket}`]
256
341
  }));
257
342
  }
258
343
  });
259
344
  /**
345
+ * Recursively merge `source` into `target`. Distinct buckets are
346
+ * shallow records keyed by name, but a single bucket (e.g. `config.ts`)
347
+ * accumulates contributions from MANY plugins into nested sub-records
348
+ * (`networks.localnet` from sui, `packages.<name>` / `objects.<name>`
349
+ * from each package). A shallow `Object.assign` would have the last
350
+ * package's `{packages:{...}}` clobber the prior ones. Deep-merge so
351
+ * sibling keys at every level coexist.
352
+ *
353
+ * Arrays and non-plain values overwrite (no element-wise merge — a
354
+ * plugin that re-emits a bucket key owns its full value). Only plain
355
+ * objects recurse.
356
+ */
357
+ const isPlainObject = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
358
+ const deepMerge = (target, source) => {
359
+ for (const [key, value] of Object.entries(source)) {
360
+ const existing = target[key];
361
+ if (isPlainObject(existing) && isPlainObject(value)) deepMerge(existing, value);
362
+ else target[key] = isPlainObject(value) || Array.isArray(value) ? structuredClone(value) : value;
363
+ }
364
+ };
365
+ /**
260
366
  * Synthesize one `AggregateFile` per non-empty bucket. The exports
261
367
  * map is keyed by the bucket's stem (e.g. `accounts.ts` → `accounts`)
262
368
  * so the rendered file exports `export const <stem> = { ... }`. The
263
369
  * orchestrator picks the export key from the bucket filename; the
264
370
  * stem itself is not a plugin identifier — it is the filename
265
- * without the `.ts` extension, derived mechanically.
371
+ * without the `.ts` extension, derived mechanically. The bucket's
372
+ * `location`/`sensitive` (from the first contributing decl) drive
373
+ * which tree the file lands in and its mode.
266
374
  */
267
- const buildAggregateFiles = (buckets) => {
375
+ const buildAggregateFiles = (buckets, meta) => {
268
376
  const files = [];
269
377
  const sortedEntries = [...buckets.entries()].sort(([a], [b]) => a.localeCompare(b));
270
378
  for (const [bucket, contents] of sortedEntries) {
271
379
  if (Object.keys(contents).length === 0) continue;
272
380
  const stem = bucketStem(bucket);
381
+ const bucketMeta = meta.get(bucket) ?? {
382
+ location: "generated",
383
+ sensitive: false,
384
+ establishedBy: `aggregate/${stem}`
385
+ };
273
386
  files.push({
274
387
  emitterName: `aggregate/${stem}`,
275
388
  outputPath: bucket,
276
- exports: { [stem]: contents }
389
+ exports: { [stem]: contents },
390
+ location: bucketMeta.location,
391
+ sensitive: bucketMeta.sensitive
277
392
  });
278
393
  }
279
394
  return files;
280
395
  };
281
396
  const bucketStem = (bucket) => bucket.replace(/\.ts$/, "").replace(/^.*\//, "");
397
+ /** The config-runtime resolver names a committed `config.ts` aggregate may
398
+ * reference as raw expressions. Each is imported from `./config-runtime.js`
399
+ * only when the aggregate actually calls it (oxlint flags unused imports). */
400
+ const CONFIG_RUNTIME_RESOLVERS = [
401
+ "resolveId",
402
+ "resolveNetwork",
403
+ "resolveNetworks",
404
+ "resolveValue"
405
+ ];
406
+ /** Recursively collect which `config-runtime.ts` resolvers an exports map
407
+ * references via raw expressions — i.e. the committed `config.ts` needs each
408
+ * imported + the fixed `config-runtime.ts` emitted alongside it. */
409
+ const collectResolversInValue = (value, found) => {
410
+ if (isRawExpr(value)) {
411
+ for (const name of CONFIG_RUNTIME_RESOLVERS) if (value.expr.includes(`${name}(`)) found.add(name);
412
+ return;
413
+ }
414
+ if (Array.isArray(value)) {
415
+ for (const v of value) collectResolversInValue(v, found);
416
+ return;
417
+ }
418
+ if (isPlainObject(value)) for (const v of Object.values(value)) collectResolversInValue(v, found);
419
+ };
420
+ /** The ordered set of config-runtime resolvers an aggregate's exports use
421
+ * (empty when none — the aggregate needs no resolver import). */
422
+ const resolversUsedBy = (exports) => {
423
+ const found = /* @__PURE__ */ new Set();
424
+ for (const v of Object.values(exports)) collectResolversInValue(v, found);
425
+ return CONFIG_RUNTIME_RESOLVERS.filter((name) => found.has(name));
426
+ };
427
+ var CodegenOrchestratorService = class extends Context.Service()("@devstack/orchestrators/Codegen") {};
282
428
  /**
283
- * Consumer-side shape guard: does this aggregated value look like a
284
- * Move-bindings contribution that `emitBindings` knows how to
285
- * consume? This is structural validation of the orchestrator's own
286
- * input contract, NOT a plugin-name match. Any plugin whose
287
- * `aggregate.project` returns objects with this shape will be
288
- * forwarded to the Move bindings emitter.
429
+ * Slice the deep-merged `config.ts` aggregate bucket into the loadable
430
+ * `IdConfig` interchange shape. The bucket is the live codegen
431
+ * accumulation (sui `networks`, per-package `packages`/`objects`/
432
+ * `mvrOverrides`, account `accounts`); this picks the id-bearing fields
433
+ * the Vite plugin injects. Reads are defensive any missing slice
434
+ * collapses to an empty record so a partial stack still writes a valid
435
+ * (if sparse) id-config.
289
436
  */
290
- const isPackageBindings = (v) => typeof v === "object" && v !== null && "name" in v && "packageId" in v && "mvrPlaceholder" in v && "sourcePath" in v;
291
- var CodegenOrchestratorService = class extends Context.Service()("@devstack/orchestrators/Codegen") {};
437
+ const idConfigFromBucket = (bucket, network, values) => {
438
+ const asRecord = (v) => isPlainObject(v) ? v : {};
439
+ const asString = (v) => typeof v === "string" ? v : void 0;
440
+ const networks = {};
441
+ for (const [name, raw] of Object.entries(asRecord(bucket["networks"]))) {
442
+ const entry = asRecord(raw);
443
+ const rpc = asString(entry["rpc"]);
444
+ if (rpc === void 0) continue;
445
+ networks[name] = {
446
+ rpc,
447
+ ...asString(entry["chainId"]) !== void 0 ? { chainId: asString(entry["chainId"]) } : {},
448
+ ...entry["faucet"] !== void 0 ? { faucet: asString(entry["faucet"]) ?? null } : {},
449
+ ...entry["graphql"] !== void 0 ? { graphql: asString(entry["graphql"]) ?? null } : {}
450
+ };
451
+ }
452
+ const packages = {};
453
+ for (const [name, raw] of Object.entries(asRecord(bucket["packages"]))) {
454
+ const entry = asRecord(raw);
455
+ const rawId = asString(entry["packageId"]);
456
+ const id = rawId === void 0 || rawId === "" ? UNRESOLVED_ID : rawId;
457
+ const objectsRaw = asRecord(entry["objects"]);
458
+ const objects = {};
459
+ for (const [k, v] of Object.entries(objectsRaw)) {
460
+ const s = asString(v);
461
+ if (s !== void 0) objects[k] = s;
462
+ }
463
+ packages[name] = {
464
+ id,
465
+ ...Object.keys(objects).length > 0 ? { objects } : {}
466
+ };
467
+ }
468
+ const accounts = {};
469
+ for (const [name, v] of Object.entries(asRecord(bucket["accounts"]))) {
470
+ const address = asString(v) ?? asString(asRecord(v)["address"]);
471
+ if (address !== void 0) accounts[name] = address;
472
+ }
473
+ const mvrOverrides = {};
474
+ for (const [mvr, v] of Object.entries(asRecord(bucket["mvrOverrides"]))) {
475
+ const s = asString(v);
476
+ if (s !== void 0) mvrOverrides[mvr] = s;
477
+ }
478
+ const networkKeys = Object.keys(networks);
479
+ const bucketNetwork = asString(bucket["network"]);
480
+ return {
481
+ network: bucketNetwork !== void 0 && networkKeys.includes(bucketNetwork) ? bucketNetwork : networkKeys.includes(network) ? network : networkKeys.length === 1 ? networkKeys[0] : bucketNetwork ?? network,
482
+ networks,
483
+ packages,
484
+ accounts,
485
+ mvrOverrides,
486
+ ...Object.keys(values).length > 0 ? { values } : {}
487
+ };
488
+ };
292
489
  /** Layer-wired codegen orchestrator. No upstream requirements at boot
293
490
  * time — the per-cycle effect carries the `FileSystem` + Move-codegen
294
491
  * service requirements through to the caller. */
@@ -304,25 +501,71 @@ const layerCodegenOrchestrator = Layer.effect(CodegenOrchestratorService, Effect
304
501
  };
305
502
  yield* Ref.update(contributionsRef, (xs) => [...xs, entry]);
306
503
  yield* Effect.addFinalizer(() => Ref.update(contributionsRef, (xs) => xs.filter((e) => e.seq !== seq)));
307
- yield* Effect.annotateCurrentSpan({
308
- "codegen.contribution.plugin": pluginKey,
309
- "codegen.contribution.emitter": decl.emitterName,
310
- "codegen.contribution.outputPath": decl.outputPath
311
- });
312
- }).pipe(Effect.withSpan("orchestrator.codegen.registerContribution"));
313
- const runCycle = (args) => Effect.gen(function* () {
504
+ });
505
+ const assembleIdConfig = (network) => Effect.gen(function* () {
314
506
  const registered = (yield* Ref.get(contributionsRef)).map((e) => e.decl);
507
+ const bucket = {};
508
+ const accounts = {};
509
+ const values = {};
510
+ for (const decl of registered) {
511
+ if (decl.aggregate === void 0) continue;
512
+ if (decl.aggregate.idConfigValues !== void 0) deepMerge(values, decl.aggregate.idConfigValues);
513
+ if (decl.aggregate.bucket === "config.ts") {
514
+ const emission = yield* runEmitter(decl);
515
+ const projected = decl.aggregate.project(emission.exports);
516
+ if (projected !== null) deepMerge(bucket, projected);
517
+ } else if (decl.aggregate.bucket === "accounts.ts") {
518
+ const emission = yield* runEmitter(decl);
519
+ const projected = decl.aggregate.project(emission.exports);
520
+ if (projected !== null) deepMerge(accounts, projected);
521
+ }
522
+ }
523
+ bucket["accounts"] = accounts;
524
+ return idConfigFromBucket(bucket, network, values);
525
+ });
526
+ const emitExtras = () => Effect.gen(function* () {
527
+ const extras = (yield* Ref.get(contributionsRef)).map((e) => e.decl).filter(isExtrasDecl);
528
+ if (extras.length === 0) return {
529
+ filesWritten: [],
530
+ filesUnchanged: [],
531
+ filesChmod: [],
532
+ bindings: null
533
+ };
534
+ yield* validateUniqueness(extras);
535
+ yield* validateAggregatePathAvailability(extras);
536
+ const paths = yield* CodegenPathsService;
537
+ return yield* Effect.scoped(Effect.gen(function* () {
538
+ yield* acquireStackLock(paths.codegenLockFile, CODEGEN_CYCLE_LOCK_TIMEOUT_MS).pipe(Effect.mapError((cause) => new CodegenWriteFailed({
539
+ outputPath: paths.codegenLockFile,
540
+ stage: "write",
541
+ cause
542
+ })));
543
+ return yield* runEmitCycleInner({
544
+ contributions: extras,
545
+ trackTree: false
546
+ }, paths);
547
+ }));
548
+ });
549
+ const emitBindings = (contributions) => Effect.gen(function* () {
550
+ if (contributions.length === 0) return {
551
+ filesWritten: [],
552
+ filesUnchanged: [],
553
+ filesChmod: [],
554
+ bindings: null
555
+ };
315
556
  return yield* runEmitCycle({
316
- contributions: args?.extraContributions ? [...registered, ...args.extraContributions] : registered,
317
- bindingsImportExtension: args?.bindingsImportExtension
557
+ contributions,
558
+ trackTree: true
318
559
  });
319
- }).pipe(Effect.withSpan("orchestrator.codegen.runCycle"));
560
+ });
320
561
  return CodegenOrchestratorService.of({
321
562
  registerContribution,
322
- runCycle
563
+ assembleIdConfig,
564
+ emitExtras,
565
+ emitBindings
323
566
  });
324
567
  }));
325
568
  //#endregion
326
- export { CodegenOrchestratorService, layerCodegenOrchestrator };
569
+ export { CodegenOrchestratorService, layerCodegenOrchestrator, runEmitCycle };
327
570
 
328
571
  //# sourceMappingURL=service.mjs.map