@mysten-incubation/devstack 0.1.0 → 0.2.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 (858) hide show
  1. package/README.md +7 -4
  2. package/dashboard-ui/assets/grpc-a4usE3Nk.js +3 -0
  3. package/dashboard-ui/assets/index-B82Bh84P.css +1 -0
  4. package/dashboard-ui/assets/index-CRYJ4pru.js +1277 -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 +202 -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 +1 -30
  29. package/dist/build-integrations/playwright/config.mjs +1 -27
  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 +84 -19
  58. package/dist/build-integrations/vite/index.mjs +203 -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 +16 -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 +1 -3
  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 +218 -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 +440 -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 -31
  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 +286 -58
  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 +106 -167
  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 +23 -44
  260. package/dist/plugins/dashboard/schema/root.mjs.map +1 -1
  261. package/dist/plugins/dashboard/schema/types.mjs +37 -91
  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 +38 -34
  276. package/dist/plugins/deepbook/index.mjs +133 -64
  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 +34 -83
  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 +8 -4
  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 +1 -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/graph-input-id.d.mts +1 -0
  576. package/dist/substrate/runtime/lifecycle/graph-input-id.mjs +133 -0
  577. package/dist/substrate/runtime/lifecycle/graph-input-id.mjs.map +1 -0
  578. package/dist/substrate/runtime/lifecycle/index.mjs +2 -2
  579. package/dist/substrate/runtime/lifecycle/plugin-registry.d.mts +1 -1
  580. package/dist/substrate/runtime/lifecycle/plugin-registry.mjs +22 -1
  581. package/dist/substrate/runtime/lifecycle/plugin-registry.mjs.map +1 -1
  582. package/dist/substrate/runtime/lifecycle/ready-gate.mjs +2 -15
  583. package/dist/substrate/runtime/lifecycle/ready-gate.mjs.map +1 -1
  584. package/dist/substrate/runtime/lifecycle/selective-restart.mjs +29 -25
  585. package/dist/substrate/runtime/lifecycle/selective-restart.mjs.map +1 -1
  586. package/dist/substrate/runtime/lifecycle/signals.mjs +1 -1
  587. package/dist/substrate/runtime/lifecycle/signals.mjs.map +1 -1
  588. package/dist/substrate/runtime/lifecycle/state-machine.mjs.map +1 -1
  589. package/dist/substrate/runtime/lifecycle/watch-attribution.d.mts +1 -1
  590. package/dist/substrate/runtime/lifecycle/watch-attribution.mjs +0 -1
  591. package/dist/substrate/runtime/lifecycle/watch-attribution.mjs.map +1 -1
  592. package/dist/substrate/runtime/managed-container.d.mts +5 -1
  593. package/dist/substrate/runtime/managed-container.mjs +8 -10
  594. package/dist/substrate/runtime/managed-container.mjs.map +1 -1
  595. package/dist/substrate/runtime/manifest/manifest.mjs +8 -30
  596. package/dist/substrate/runtime/manifest/manifest.mjs.map +1 -1
  597. package/dist/substrate/runtime/mode-errors.d.mts +1 -2
  598. package/dist/substrate/runtime/mode-errors.mjs.map +1 -1
  599. package/dist/substrate/runtime/observability/cascade-formatter.mjs +1 -11
  600. package/dist/substrate/runtime/observability/cascade-formatter.mjs.map +1 -1
  601. package/dist/substrate/runtime/observability/ignore-with-log.mjs.map +1 -1
  602. package/dist/substrate/runtime/observability/index.d.mts +1 -1
  603. package/dist/substrate/runtime/observability/index.mjs +4 -6
  604. package/dist/substrate/runtime/observability/log-attrs.mjs +46 -0
  605. package/dist/substrate/runtime/observability/log-attrs.mjs.map +1 -0
  606. package/dist/substrate/runtime/observability/log-store.mjs.map +1 -1
  607. package/dist/substrate/runtime/observability/logger.mjs +3 -3
  608. package/dist/substrate/runtime/observability/logger.mjs.map +1 -1
  609. package/dist/substrate/runtime/observability/output-truncate.mjs.map +1 -1
  610. package/dist/substrate/runtime/observability/pretty-error.mjs.map +1 -1
  611. package/dist/substrate/runtime/observability/process-lines.mjs.map +1 -1
  612. package/dist/substrate/runtime/observability/redaction.mjs.map +1 -1
  613. package/dist/substrate/runtime/observability/subprocess-capture.mjs +2 -2
  614. package/dist/substrate/runtime/observability/subprocess-capture.mjs.map +1 -1
  615. package/dist/substrate/runtime/passthrough-or-wrap.mjs.map +1 -1
  616. package/dist/substrate/runtime/paths.mjs +27 -9
  617. package/dist/substrate/runtime/paths.mjs.map +1 -1
  618. package/dist/substrate/runtime/phase-preserving-produce.mjs.map +1 -1
  619. package/dist/substrate/runtime/port-broker/service.mjs +10 -27
  620. package/dist/substrate/runtime/port-broker/service.mjs.map +1 -1
  621. package/dist/substrate/runtime/post-acquire-tasks.mjs.map +1 -1
  622. package/dist/substrate/runtime/probes.d.mts +2 -3
  623. package/dist/substrate/runtime/probes.mjs.map +1 -1
  624. package/dist/substrate/runtime/process-supervisor.mjs.map +1 -1
  625. package/dist/substrate/runtime/projection/operational-endpoints.mjs.map +1 -1
  626. package/dist/substrate/runtime/projection/state-ref.mjs.map +1 -1
  627. package/dist/substrate/runtime/projection/update.mjs +87 -11
  628. package/dist/substrate/runtime/projection/update.mjs.map +1 -1
  629. package/dist/substrate/runtime/random-suffix.mjs.map +1 -1
  630. package/dist/substrate/runtime/reconcile/fs-plan.mjs +146 -0
  631. package/dist/substrate/runtime/reconcile/fs-plan.mjs.map +1 -0
  632. package/dist/substrate/runtime/reconcile/graph.mjs +19 -0
  633. package/dist/substrate/runtime/reconcile/graph.mjs.map +1 -0
  634. package/dist/substrate/runtime/reconcile/index.mjs +5 -0
  635. package/dist/substrate/runtime/reconcile/label.mjs +41 -0
  636. package/dist/substrate/runtime/reconcile/label.mjs.map +1 -0
  637. package/dist/substrate/runtime/reconcile/spec.mjs +15 -0
  638. package/dist/substrate/runtime/reconcile/spec.mjs.map +1 -0
  639. package/dist/substrate/runtime/retry-policy.d.mts +2 -3
  640. package/dist/substrate/runtime/retry-policy.mjs.map +1 -1
  641. package/dist/substrate/runtime/routed-url.mjs.map +1 -1
  642. package/dist/substrate/runtime/runtime-decode.mjs.map +1 -1
  643. package/dist/substrate/runtime/scoped-http-server.mjs.map +1 -1
  644. package/dist/substrate/runtime/stage-and-swap/index.mjs +49 -12
  645. package/dist/substrate/runtime/stage-and-swap/index.mjs.map +1 -1
  646. package/dist/substrate/runtime/strategy-registry/chain-keyed-strategy-for.mjs.map +1 -1
  647. package/dist/substrate/runtime/strategy-registry/chain-probe-for.mjs.map +1 -1
  648. package/dist/substrate/runtime/strategy-registry/service.mjs +29 -17
  649. package/dist/substrate/runtime/strategy-registry/service.mjs.map +1 -1
  650. package/dist/substrate/runtime/subnet-broker.mjs.map +1 -1
  651. package/dist/substrate/runtime/supervisor/acquire-node.mjs +188 -56
  652. package/dist/substrate/runtime/supervisor/acquire-node.mjs.map +1 -1
  653. package/dist/substrate/runtime/supervisor/background-tasks.mjs +79 -65
  654. package/dist/substrate/runtime/supervisor/background-tasks.mjs.map +1 -1
  655. package/dist/substrate/runtime/supervisor/command-loop.mjs +82 -23
  656. package/dist/substrate/runtime/supervisor/command-loop.mjs.map +1 -1
  657. package/dist/substrate/runtime/supervisor/contribution-dispatcher.mjs +16 -0
  658. package/dist/substrate/runtime/supervisor/contribution-dispatcher.mjs.map +1 -0
  659. package/dist/substrate/runtime/supervisor/errors.mjs +11 -2
  660. package/dist/substrate/runtime/supervisor/errors.mjs.map +1 -1
  661. package/dist/substrate/runtime/supervisor/index.mjs +2 -0
  662. package/dist/substrate/runtime/supervisor/shutdown.mjs +6 -6
  663. package/dist/substrate/runtime/supervisor/shutdown.mjs.map +1 -1
  664. package/dist/substrate/runtime/supervisor/start-supervisor.mjs +60 -70
  665. package/dist/substrate/runtime/supervisor/start-supervisor.mjs.map +1 -1
  666. package/dist/substrate/runtime/supervisor/state.d.mts +1 -1
  667. package/dist/substrate/runtime/supervisor/state.mjs +1 -1
  668. package/dist/substrate/runtime/supervisor/state.mjs.map +1 -1
  669. package/dist/substrate/runtime/supervisor/teardown.mjs +10 -9
  670. package/dist/substrate/runtime/supervisor/teardown.mjs.map +1 -1
  671. package/dist/substrate/runtime/supervisor/wiring.mjs +6 -20
  672. package/dist/substrate/runtime/supervisor/wiring.mjs.map +1 -1
  673. package/dist/substrate/runtime/tar/reader.mjs +216 -0
  674. package/dist/substrate/runtime/tar/reader.mjs.map +1 -0
  675. package/dist/substrate/runtime/typed-env.mjs.map +1 -1
  676. package/dist/substrate/versioned-doc-schema.mjs.map +1 -1
  677. package/dist/substrate/versioned-doc-sync.mjs +5 -5
  678. package/dist/substrate/versioned-doc-sync.mjs.map +1 -1
  679. package/dist/surfaces/cli/command-tree.mjs +49 -7
  680. package/dist/surfaces/cli/command-tree.mjs.map +1 -1
  681. package/dist/surfaces/cli/commands/config.mjs +1 -1
  682. package/dist/surfaces/cli/commands/config.mjs.map +1 -1
  683. package/dist/surfaces/cli/commands/confirm-node.mjs.map +1 -1
  684. package/dist/surfaces/cli/commands/confirm.mjs.map +1 -1
  685. package/dist/surfaces/cli/commands/doctor.mjs +1 -1
  686. package/dist/surfaces/cli/commands/doctor.mjs.map +1 -1
  687. package/dist/surfaces/cli/commands/prune-picker-entry.mjs.map +1 -1
  688. package/dist/surfaces/cli/commands/prune-picker.mjs.map +1 -1
  689. package/dist/surfaces/cli/commands/prune.mjs +1 -1
  690. package/dist/surfaces/cli/commands/prune.mjs.map +1 -1
  691. package/dist/surfaces/cli/commands/snapshot.mjs +1 -1
  692. package/dist/surfaces/cli/commands/snapshot.mjs.map +1 -1
  693. package/dist/surfaces/cli/commands/status.mjs +1 -1
  694. package/dist/surfaces/cli/commands/status.mjs.map +1 -1
  695. package/dist/surfaces/cli/commands/supervisor-presence.mjs.map +1 -1
  696. package/dist/surfaces/cli/commands/wipe.mjs +3 -4
  697. package/dist/surfaces/cli/commands/wipe.mjs.map +1 -1
  698. package/dist/surfaces/cli/envelope.mjs.map +1 -1
  699. package/dist/surfaces/cli/errors.mjs.map +1 -1
  700. package/dist/surfaces/cli/flags.mjs.map +1 -1
  701. package/dist/surfaces/cli/index.mjs +45 -14
  702. package/dist/surfaces/cli/index.mjs.map +1 -1
  703. package/dist/surfaces/cli/output.mjs.map +1 -1
  704. package/dist/surfaces/cli/sysexits.mjs.map +1 -1
  705. package/dist/surfaces/tui/app.mjs +0 -21
  706. package/dist/surfaces/tui/app.mjs.map +1 -1
  707. package/dist/surfaces/tui/dashboard.mjs +0 -48
  708. package/dist/surfaces/tui/dashboard.mjs.map +1 -1
  709. package/dist/surfaces/tui/display-derivation.mjs +80 -16
  710. package/dist/surfaces/tui/display-derivation.mjs.map +1 -1
  711. package/dist/surfaces/tui/errors.mjs.map +1 -1
  712. package/dist/surfaces/tui/event-log.mjs +0 -9
  713. package/dist/surfaces/tui/event-log.mjs.map +1 -1
  714. package/dist/surfaces/tui/heartbeat.mjs.map +1 -1
  715. package/dist/surfaces/tui/index.mjs +2 -2
  716. package/dist/surfaces/tui/index.mjs.map +1 -1
  717. package/dist/surfaces/tui/input.mjs.map +1 -1
  718. package/dist/surfaces/tui/mode-detect.mjs.map +1 -1
  719. package/dist/surfaces/tui/mount-ink.mjs.map +1 -1
  720. package/dist/surfaces/tui/plain-renderer.mjs +26 -19
  721. package/dist/surfaces/tui/plain-renderer.mjs.map +1 -1
  722. package/dist/surfaces/tui/resource-table.mjs +8 -10
  723. package/dist/surfaces/tui/resource-table.mjs.map +1 -1
  724. package/images/postgres/Dockerfile +0 -1
  725. package/images/sui/Dockerfile +27 -54
  726. package/images/sui/entrypoint.sh +17 -179
  727. package/package.json +23 -15
  728. package/dashboard-ui/assets/index-Bmi1UtAg.js +0 -1356
  729. package/dashboard-ui/assets/index-D5EShVt4.js +0 -3
  730. package/dashboard-ui/assets/index-Deml9drg.css +0 -1
  731. package/dist/api/plugin-errors.d.mts +0 -7
  732. package/dist/api/plugin-errors.mjs +0 -10
  733. package/dist/api/plugin-errors.mjs.map +0 -1
  734. package/dist/cli/wirings/build-verb-layers.mjs +0 -42
  735. package/dist/cli/wirings/build-verb-layers.mjs.map +0 -1
  736. package/dist/contracts/capability-decl.d.mts +0 -40
  737. package/dist/orchestrators/built-in-plugin-layers.mjs +0 -54
  738. package/dist/orchestrators/built-in-plugin-layers.mjs.map +0 -1
  739. package/dist/orchestrators/run.mjs +0 -91
  740. package/dist/orchestrators/run.mjs.map +0 -1
  741. package/dist/orchestrators/runtime-composition.d.mts +0 -10
  742. package/dist/orchestrators/runtime-composition.mjs +0 -252
  743. package/dist/orchestrators/runtime-composition.mjs.map +0 -1
  744. package/dist/orchestrators/snapshot/capture-command.d.mts +0 -1
  745. package/dist/orchestrators/snapshot/capture-command.mjs +0 -25
  746. package/dist/orchestrators/snapshot/capture-command.mjs.map +0 -1
  747. package/dist/orchestrators/snapshot/pending-marker.mjs +0 -99
  748. package/dist/orchestrators/snapshot/pending-marker.mjs.map +0 -1
  749. package/dist/orchestrators/snapshot/recover-pending.mjs +0 -223
  750. package/dist/orchestrators/snapshot/recover-pending.mjs.map +0 -1
  751. package/dist/orchestrators/snapshot/state-document.d.mts +0 -1
  752. package/dist/orchestrators/snapshot/state-document.mjs +0 -58
  753. package/dist/orchestrators/snapshot/state-document.mjs.map +0 -1
  754. package/dist/plugins/account/spans.mjs +0 -16
  755. package/dist/plugins/account/spans.mjs.map +0 -1
  756. package/dist/plugins/account/variants/env.mjs +0 -24
  757. package/dist/plugins/account/variants/env.mjs.map +0 -1
  758. package/dist/plugins/account/variants/inline.mjs +0 -13
  759. package/dist/plugins/account/variants/inline.mjs.map +0 -1
  760. package/dist/plugins/account/variants/keystore.mjs +0 -91
  761. package/dist/plugins/account/variants/keystore.mjs.map +0 -1
  762. package/dist/plugins/action/spans.mjs +0 -11
  763. package/dist/plugins/action/spans.mjs.map +0 -1
  764. package/dist/plugins/coin/spans.mjs +0 -20
  765. package/dist/plugins/coin/spans.mjs.map +0 -1
  766. package/dist/plugins/deepbook/spans.mjs +0 -18
  767. package/dist/plugins/deepbook/spans.mjs.map +0 -1
  768. package/dist/plugins/faucet/spans.mjs +0 -12
  769. package/dist/plugins/faucet/spans.mjs.map +0 -1
  770. package/dist/plugins/package/spans.mjs +0 -14
  771. package/dist/plugins/package/spans.mjs.map +0 -1
  772. package/dist/plugins/postgres/codegen.mjs +0 -42
  773. package/dist/plugins/postgres/codegen.mjs.map +0 -1
  774. package/dist/plugins/postgres/connection.d.mts +0 -33
  775. package/dist/plugins/postgres/connection.mjs.map +0 -1
  776. package/dist/plugins/postgres/db-ensure.mjs.map +0 -1
  777. package/dist/plugins/postgres/errors.d.mts +0 -60
  778. package/dist/plugins/postgres/errors.mjs +0 -29
  779. package/dist/plugins/postgres/errors.mjs.map +0 -1
  780. package/dist/plugins/postgres/index.d.mts +0 -37
  781. package/dist/plugins/postgres/index.mjs +0 -68
  782. package/dist/plugins/postgres/index.mjs.map +0 -1
  783. package/dist/plugins/postgres/routable.mjs +0 -33
  784. package/dist/plugins/postgres/routable.mjs.map +0 -1
  785. package/dist/plugins/postgres/service.d.mts +0 -50
  786. package/dist/plugins/postgres/service.mjs +0 -179
  787. package/dist/plugins/postgres/service.mjs.map +0 -1
  788. package/dist/plugins/postgres/snapshot.mjs +0 -32
  789. package/dist/plugins/postgres/snapshot.mjs.map +0 -1
  790. package/dist/plugins/postgres/spans.mjs +0 -11
  791. package/dist/plugins/postgres/spans.mjs.map +0 -1
  792. package/dist/plugins/seal/spans.mjs +0 -18
  793. package/dist/plugins/seal/spans.mjs.map +0 -1
  794. package/dist/plugins/sui/spans.mjs +0 -17
  795. package/dist/plugins/sui/spans.mjs.map +0 -1
  796. package/dist/plugins/wallet/spans.mjs +0 -22
  797. package/dist/plugins/wallet/spans.mjs.map +0 -1
  798. package/dist/plugins/walrus/registry-publish.d.mts +0 -24
  799. package/dist/plugins/walrus/spans.mjs +0 -18
  800. package/dist/plugins/walrus/spans.mjs.map +0 -1
  801. package/dist/runtime/docker/logs.d.mts +0 -1
  802. package/dist/runtime/docker/logs.mjs +0 -34
  803. package/dist/runtime/docker/logs.mjs.map +0 -1
  804. package/dist/substrate/runtime/artifact-publisher/index.mjs +0 -86
  805. package/dist/substrate/runtime/artifact-publisher/index.mjs.map +0 -1
  806. package/dist/substrate/runtime/capability-sinks/index.d.mts +0 -1
  807. package/dist/substrate/runtime/capability-sinks/index.mjs +0 -3
  808. package/dist/substrate/runtime/capability-sinks/layer.d.mts +0 -1
  809. package/dist/substrate/runtime/capability-sinks/layer.mjs +0 -31
  810. package/dist/substrate/runtime/capability-sinks/layer.mjs.map +0 -1
  811. package/dist/substrate/runtime/capability-sinks/service.d.mts +0 -95
  812. package/dist/substrate/runtime/capability-sinks/service.mjs +0 -69
  813. package/dist/substrate/runtime/capability-sinks/service.mjs.map +0 -1
  814. package/dist/substrate/runtime/cross-process/lock.d.mts +0 -1
  815. package/dist/substrate/runtime/cross-process/lock.mjs +0 -23
  816. package/dist/substrate/runtime/cross-process/lock.mjs.map +0 -1
  817. package/dist/substrate/runtime/cross-process/snapshot-reservation.mjs +0 -113
  818. package/dist/substrate/runtime/cross-process/snapshot-reservation.mjs.map +0 -1
  819. package/dist/substrate/runtime/lifecycle/lifecycle-fact.mjs +0 -31
  820. package/dist/substrate/runtime/lifecycle/lifecycle-fact.mjs.map +0 -1
  821. package/dist/substrate/runtime/observability/formatter-registry.d.mts +0 -1
  822. package/dist/substrate/runtime/observability/formatter-registry.mjs +0 -48
  823. package/dist/substrate/runtime/observability/formatter-registry.mjs.map +0 -1
  824. package/dist/substrate/runtime/observability/span-store.d.mts +0 -1
  825. package/dist/substrate/runtime/observability/span-store.mjs +0 -110
  826. package/dist/substrate/runtime/observability/span-store.mjs.map +0 -1
  827. package/dist/substrate/runtime/observability/spans.d.mts +0 -1
  828. package/dist/substrate/runtime/observability/spans.mjs +0 -87
  829. package/dist/substrate/runtime/observability/spans.mjs.map +0 -1
  830. package/dist/substrate/runtime/projection/index.mjs +0 -4
  831. package/dist/substrate/runtime/projection/persisted.mjs +0 -213
  832. package/dist/substrate/runtime/projection/persisted.mjs.map +0 -1
  833. package/dist/substrate/runtime/scoped-multimap/service.mjs +0 -52
  834. package/dist/substrate/runtime/scoped-multimap/service.mjs.map +0 -1
  835. package/dist/substrate/runtime/scoped-ref-map/index.mjs +0 -2
  836. package/dist/substrate/runtime/scoped-ref-map/service.mjs +0 -83
  837. package/dist/substrate/runtime/scoped-ref-map/service.mjs.map +0 -1
  838. package/dist/substrate/runtime/state-store/index.mjs +0 -3
  839. package/dist/substrate/runtime/state-store/schema.d.mts +0 -1
  840. package/dist/substrate/runtime/state-store/schema.mjs +0 -41
  841. package/dist/substrate/runtime/state-store/schema.mjs.map +0 -1
  842. package/dist/substrate/runtime/state-store/service.d.mts +0 -1
  843. package/dist/substrate/runtime/state-store/service.mjs +0 -145
  844. package/dist/substrate/runtime/state-store/service.mjs.map +0 -1
  845. package/dist/substrate/runtime/sui-execute/index.mjs.map +0 -1
  846. package/dist/substrate/runtime/sui-execute/sign-and-dispatch.mjs.map +0 -1
  847. package/dist/substrate/runtime/sui-ledger/object-ref.mjs.map +0 -1
  848. package/dist/substrate/runtime/sui-move-build/index.mjs.map +0 -1
  849. package/dist/substrate/runtime/supervisor/dispatch-contributions.mjs +0 -151
  850. package/dist/substrate/runtime/supervisor/dispatch-contributions.mjs.map +0 -1
  851. package/dist/substrate/state-store.d.mts +0 -1
  852. /package/dist/orchestrators/{snapshot/pending-marker.d.mts → codegen/id-config.d.mts} +0 -0
  853. /package/dist/orchestrators/snapshot/{recover-pending.d.mts → interrupted-restore.d.mts} +0 -0
  854. /package/dist/{substrate/runtime/sui-execute → plugins/sui/exec}/sign-and-dispatch.d.mts +0 -0
  855. /package/dist/plugins/{postgres/snapshot.d.mts → sui/ledger/object-ref.d.mts} +0 -0
  856. /package/dist/{substrate/runtime/sui-move-build → plugins/sui/move}/index.d.mts +0 -0
  857. /package/dist/substrate/runtime/{state-store/index.d.mts → reconcile/graph.d.mts} +0 -0
  858. /package/dist/substrate/runtime/{cross-process/snapshot-reservation.d.mts → supervisor/contribution-dispatcher.d.mts} +0 -0
@@ -1,24 +1,25 @@
1
- import { CodegenableDecl } from "../../contracts/codegenable.mjs";
2
- import { ChainId } from "../../substrate/brand.mjs";
3
- import { RoutableDecl } from "../../contracts/routable.mjs";
4
- import { SnapshotableDecl } from "../../contracts/snapshotable.mjs";
5
- import { StrategyContributorDecl } from "../../contracts/strategy-contributor.mjs";
6
1
  import { Plugin } from "../../substrate/plugin.mjs";
2
+ import { DevstackNetworkModeRegistry, NetworkConfig, NetworkMode } from "./network-config.mjs";
7
3
  import { ImageRef } from "../../contracts/container-runtime.mjs";
8
- import { ModeNamespace } from "../../api/mode-narrowed-factory.mjs";
9
4
  import { ChainProbe, ChainProbeError, ChainProbeMode } from "../../contracts/chain-probe.mjs";
5
+ import { ModeNamespace } from "../../api/mode-narrowed-factory.mjs";
10
6
  import { SuiProbeKey, SuiSdkShim } from "./chain-probe.mjs";
11
- import { FaucetStrategy } from "../faucet/dispatcher.mjs";
12
7
  import { ForkUnsupportedError, SuiCliError, SuiConfigError, SuiError, SuiPluginError } from "./errors.mjs";
13
- import { ForkAdminSurface, SuiClient, WaitForTransactionsReady } from "./mode/shared.mjs";
8
+ import { FaucetStrategy } from "../faucet/dispatcher.mjs";
14
9
  import { SuiForkOptions, SuiLiveOptions, SuiLocalOptions, SuiLocalRpcOptions, SuiOptions, SuiPluginMode } from "./mode/spec.mjs";
15
10
  import { ResolvedSuiNetwork } from "./network-resolver.mjs";
16
- import { SuiNetworkBindings } from "./codegen.mjs";
11
+ import { ForkAdminSurface, SuiClient, WaitForTransactionsReady } from "./mode/shared.mjs";
12
+ import { SuiNetworkConfigEntry } from "./codegen.mjs";
13
+ import { ExecutedFailure, TransactionSignerScope } from "./exec/index.mjs";
14
+ import { Effect, Scope } from "effect";
17
15
  //#region src/plugins/sui/index.d.ts
18
16
  /** Local Sui shorthand. Network/env selection belongs to the CLI or
19
17
  * `defineDevstackWith(...)`; plain `sui()` always means an in-stack
20
- * local validator. */
21
- declare const sui: (opts?: SuiOptions) => Plugin<"sui", {
18
+ * local validator (GraphQL/indexer/Postgres on by default via a
19
+ * sui-owned sidecar). */
20
+ declare const sui: <const O extends SuiOptions = {
21
+ mode: "local";
22
+ }>(opts?: O) => Plugin<"sui", {
22
23
  mode: "local" | "live" | "fork" | "local-rpc";
23
24
  fundingFaucetStrategy: FaucetStrategy | null;
24
25
  sdk: SuiSdkShim;
@@ -31,21 +32,16 @@ declare const sui: (opts?: SuiOptions) => Plugin<"sui", {
31
32
  readonly faucetUrl: string | null;
32
33
  readonly graphqlUrl: string | null;
33
34
  };
34
- chain: ChainId;
35
+ chainId: string;
35
36
  waitForTransactionsReady: WaitForTransactionsReady;
36
37
  chainProbe: ChainProbe<SuiProbeKey>;
37
38
  fork: ForkAdminSurface | null;
38
39
  buildImage: ImageRef | null;
39
- }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
40
- kind: "strategy-contributor";
41
- capabilityKey: `faucet:request:${ChainId}`;
42
- strategy: FaucetStrategy;
43
- autoMounted: true;
44
- })[]]>;
40
+ }, readonly []>;
45
41
  /** Mode-narrowed factory namespace.
46
42
  *
47
43
  * Usage:
48
- * const network = { mode: 'local', chain: 'sui:localnet' } as const;
44
+ * const network = { mode: 'local' } as const;
49
45
  * suiFor(network).local({...}) // OK
50
46
  * suiFor(network).fork({...}) // type error: 'fork' not in 'local' branch
51
47
  *
@@ -54,7 +50,7 @@ declare const sui: (opts?: SuiOptions) => Plugin<"sui", {
54
50
  * `live`, `fork`. */
55
51
  declare const suiFor: ModeNamespace<{
56
52
  local: {
57
- local: (opts?: Omit<SuiLocalOptions, "mode">) => Plugin<"sui", {
53
+ local: <const O extends Omit<SuiLocalOptions, "mode">>(opts?: O) => Plugin<"sui", {
58
54
  mode: "local" | "live" | "fork" | "local-rpc";
59
55
  fundingFaucetStrategy: FaucetStrategy | null;
60
56
  sdk: SuiSdkShim;
@@ -67,17 +63,12 @@ declare const suiFor: ModeNamespace<{
67
63
  readonly faucetUrl: string | null;
68
64
  readonly graphqlUrl: string | null;
69
65
  };
70
- chain: ChainId;
66
+ chainId: string;
71
67
  waitForTransactionsReady: WaitForTransactionsReady;
72
68
  chainProbe: ChainProbe<SuiProbeKey>;
73
69
  fork: ForkAdminSurface | null;
74
70
  buildImage: ImageRef | null;
75
- }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
76
- kind: "strategy-contributor";
77
- capabilityKey: `faucet:request:${ChainId}`;
78
- strategy: FaucetStrategy;
79
- autoMounted: true;
80
- })[]]>;
71
+ }, readonly []>;
81
72
  localRpc: (opts: Omit<SuiLocalRpcOptions, "mode">) => Plugin<"sui", {
82
73
  mode: "local" | "live" | "fork" | "local-rpc";
83
74
  fundingFaucetStrategy: FaucetStrategy | null;
@@ -91,17 +82,12 @@ declare const suiFor: ModeNamespace<{
91
82
  readonly faucetUrl: string | null;
92
83
  readonly graphqlUrl: string | null;
93
84
  };
94
- chain: ChainId;
85
+ chainId: string;
95
86
  waitForTransactionsReady: WaitForTransactionsReady;
96
87
  chainProbe: ChainProbe<SuiProbeKey>;
97
88
  fork: ForkAdminSurface | null;
98
89
  buildImage: ImageRef | null;
99
- }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
100
- kind: "strategy-contributor";
101
- capabilityKey: `faucet:request:${ChainId}`;
102
- strategy: FaucetStrategy;
103
- autoMounted: true;
104
- })[]]>;
90
+ }, readonly []>;
105
91
  };
106
92
  live: {
107
93
  testnet: (opts?: Omit<SuiLiveOptions, "mode" | "network">) => Plugin<"sui", {
@@ -117,17 +103,12 @@ declare const suiFor: ModeNamespace<{
117
103
  readonly faucetUrl: string | null;
118
104
  readonly graphqlUrl: string | null;
119
105
  };
120
- chain: ChainId;
106
+ chainId: string;
121
107
  waitForTransactionsReady: WaitForTransactionsReady;
122
108
  chainProbe: ChainProbe<SuiProbeKey>;
123
109
  fork: ForkAdminSurface | null;
124
110
  buildImage: ImageRef | null;
125
- }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
126
- kind: "strategy-contributor";
127
- capabilityKey: `faucet:request:${ChainId}`;
128
- strategy: FaucetStrategy;
129
- autoMounted: true;
130
- })[]]>;
111
+ }, readonly []>;
131
112
  mainnet: (opts?: Omit<SuiLiveOptions, "mode" | "network">) => Plugin<"sui", {
132
113
  mode: "local" | "live" | "fork" | "local-rpc";
133
114
  fundingFaucetStrategy: FaucetStrategy | null;
@@ -141,17 +122,12 @@ declare const suiFor: ModeNamespace<{
141
122
  readonly faucetUrl: string | null;
142
123
  readonly graphqlUrl: string | null;
143
124
  };
144
- chain: ChainId;
125
+ chainId: string;
145
126
  waitForTransactionsReady: WaitForTransactionsReady;
146
127
  chainProbe: ChainProbe<SuiProbeKey>;
147
128
  fork: ForkAdminSurface | null;
148
129
  buildImage: ImageRef | null;
149
- }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
150
- kind: "strategy-contributor";
151
- capabilityKey: `faucet:request:${ChainId}`;
152
- strategy: FaucetStrategy;
153
- autoMounted: true;
154
- })[]]>;
130
+ }, readonly []>;
155
131
  devnet: (opts?: Omit<SuiLiveOptions, "mode" | "network">) => Plugin<"sui", {
156
132
  mode: "local" | "live" | "fork" | "local-rpc";
157
133
  fundingFaucetStrategy: FaucetStrategy | null;
@@ -165,17 +141,12 @@ declare const suiFor: ModeNamespace<{
165
141
  readonly faucetUrl: string | null;
166
142
  readonly graphqlUrl: string | null;
167
143
  };
168
- chain: ChainId;
144
+ chainId: string;
169
145
  waitForTransactionsReady: WaitForTransactionsReady;
170
146
  chainProbe: ChainProbe<SuiProbeKey>;
171
147
  fork: ForkAdminSurface | null;
172
148
  buildImage: ImageRef | null;
173
- }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
174
- kind: "strategy-contributor";
175
- capabilityKey: `faucet:request:${ChainId}`;
176
- strategy: FaucetStrategy;
177
- autoMounted: true;
178
- })[]]>;
149
+ }, readonly []>;
179
150
  custom: (opts: Omit<SuiLiveOptions, "mode" | "network">) => Plugin<"sui", {
180
151
  mode: "local" | "live" | "fork" | "local-rpc";
181
152
  fundingFaucetStrategy: FaucetStrategy | null;
@@ -189,17 +160,12 @@ declare const suiFor: ModeNamespace<{
189
160
  readonly faucetUrl: string | null;
190
161
  readonly graphqlUrl: string | null;
191
162
  };
192
- chain: ChainId;
163
+ chainId: string;
193
164
  waitForTransactionsReady: WaitForTransactionsReady;
194
165
  chainProbe: ChainProbe<SuiProbeKey>;
195
166
  fork: ForkAdminSurface | null;
196
167
  buildImage: ImageRef | null;
197
- }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
198
- kind: "strategy-contributor";
199
- capabilityKey: `faucet:request:${ChainId}`;
200
- strategy: FaucetStrategy;
201
- autoMounted: true;
202
- })[]]>;
168
+ }, readonly []>;
203
169
  };
204
170
  fork: {
205
171
  mainnet: (opts?: Omit<SuiForkOptions, "mode" | "upstream">) => Plugin<"sui", {
@@ -215,17 +181,12 @@ declare const suiFor: ModeNamespace<{
215
181
  readonly faucetUrl: string | null;
216
182
  readonly graphqlUrl: string | null;
217
183
  };
218
- chain: ChainId;
184
+ chainId: string;
219
185
  waitForTransactionsReady: WaitForTransactionsReady;
220
186
  chainProbe: ChainProbe<SuiProbeKey>;
221
187
  fork: ForkAdminSurface | null;
222
188
  buildImage: ImageRef | null;
223
- }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
224
- kind: "strategy-contributor";
225
- capabilityKey: `faucet:request:${ChainId}`;
226
- strategy: FaucetStrategy;
227
- autoMounted: true;
228
- })[]]>;
189
+ }, readonly []>;
229
190
  testnet: (opts?: Omit<SuiForkOptions, "mode" | "upstream">) => Plugin<"sui", {
230
191
  mode: "local" | "live" | "fork" | "local-rpc";
231
192
  fundingFaucetStrategy: FaucetStrategy | null;
@@ -239,17 +200,12 @@ declare const suiFor: ModeNamespace<{
239
200
  readonly faucetUrl: string | null;
240
201
  readonly graphqlUrl: string | null;
241
202
  };
242
- chain: ChainId;
203
+ chainId: string;
243
204
  waitForTransactionsReady: WaitForTransactionsReady;
244
205
  chainProbe: ChainProbe<SuiProbeKey>;
245
206
  fork: ForkAdminSurface | null;
246
207
  buildImage: ImageRef | null;
247
- }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
248
- kind: "strategy-contributor";
249
- capabilityKey: `faucet:request:${ChainId}`;
250
- strategy: FaucetStrategy;
251
- autoMounted: true;
252
- })[]]>;
208
+ }, readonly []>;
253
209
  devnet: (opts?: Omit<SuiForkOptions, "mode" | "upstream">) => Plugin<"sui", {
254
210
  mode: "local" | "live" | "fork" | "local-rpc";
255
211
  fundingFaucetStrategy: FaucetStrategy | null;
@@ -263,17 +219,12 @@ declare const suiFor: ModeNamespace<{
263
219
  readonly faucetUrl: string | null;
264
220
  readonly graphqlUrl: string | null;
265
221
  };
266
- chain: ChainId;
222
+ chainId: string;
267
223
  waitForTransactionsReady: WaitForTransactionsReady;
268
224
  chainProbe: ChainProbe<SuiProbeKey>;
269
225
  fork: ForkAdminSurface | null;
270
226
  buildImage: ImageRef | null;
271
- }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
272
- kind: "strategy-contributor";
273
- capabilityKey: `faucet:request:${ChainId}`;
274
- strategy: FaucetStrategy;
275
- autoMounted: true;
276
- })[]]>;
227
+ }, readonly []>;
277
228
  };
278
229
  }>;
279
230
  //#endregion
@@ -1,19 +1,27 @@
1
- import { definePlugin, resource } from "../../substrate/plugin.mjs";
1
+ import { definePlugin, resource, staticInputIdentity } from "../../substrate/plugin.mjs";
2
2
  import "../../api/define-plugin.mjs";
3
3
  import { IdentityContext, StackPathsService } from "../../substrate/runtime/paths.mjs";
4
4
  import { ContainerRuntimeService } from "../../runtime/docker/service.mjs";
5
+ import { PluginContext, emitContributions } from "../../substrate/plugin-ctx.mjs";
5
6
  import { LeaseBrokerService } from "../../substrate/runtime/lease-broker/service.mjs";
6
7
  import "../../substrate/runtime/lease-broker/index.mjs";
7
8
  import { PortBrokerService } from "../../substrate/runtime/port-broker/service.mjs";
8
9
  import "../../substrate/runtime/port-broker/index.mjs";
9
10
  import { chainProbeCapabilityKey } from "../../contracts/chain-probe.mjs";
11
+ import "./move/index.mjs";
10
12
  import { makeSuiForkRoutables, makeSuiLocalRoutables } from "./routable.mjs";
11
- import { pluginErrorContributions } from "../../api/plugin-errors.mjs";
13
+ import { sanitizeAlias } from "../../substrate/runtime/managed-container.mjs";
14
+ import { resolveNetworkOptions } from "../../orchestrators/network-options.mjs";
12
15
  import { defineModeNamespace } from "../../api/mode-narrowed-factory.mjs";
13
- import { makeCodegenable } from "./codegen.mjs";
16
+ import { credentialedUrl, withDatabase } from "../internal/postgres-sidecar/connection.mjs";
17
+ import { bootPostgresSidecar } from "../internal/postgres-sidecar/service.mjs";
18
+ import "../internal/postgres-sidecar/index.mjs";
19
+ import { makeCodegenable, makeStaticCodegen } from "./codegen.mjs";
20
+ import { suiPluginError } from "./errors.mjs";
21
+ import "./log-attrs.mjs";
22
+ import { SUI_INDEXER_DB_ROLE, resolveImage } from "./mode/local.mjs";
14
23
  import { makeSnapshotable } from "./snapshot.mjs";
15
- import { SUI_ERROR_TAGS } from "./errors.mjs";
16
- import "./spans.mjs";
24
+ import "./exec/index.mjs";
17
25
  import "./fork-orchestration.mjs";
18
26
  import { selectSufficientForkCoin } from "./fork-transaction.mjs";
19
27
  import { FORK_FAUCET_WHALE_MIN_COIN_MIST, resolveForkWhale } from "./mode/fork.mjs";
@@ -23,11 +31,12 @@ import "../faucet/index.mjs";
23
31
  import { suiLocalStrategy } from "./local-faucet-strategy.mjs";
24
32
  import { suiForkFaucetStrategy } from "./fork-faucet-strategy.mjs";
25
33
  import "./chain-build-container.mjs";
34
+ import "./exec/sign-and-dispatch.mjs";
35
+ import "./ledger/object-ref.mjs";
26
36
  import { Effect } from "effect";
27
37
  //#region src/plugins/sui/index.ts
28
38
  /** The Sui plugin's resource identity. The id is `'sui'` (singular). */
29
39
  const suiResource = resource("sui");
30
- const suiErrorContributions = pluginErrorContributions(SUI_ERROR_TAGS);
31
40
  /** Build the funds-ready faucet strategy for the resolved network, or
32
41
  * `null` when the network has none. Local/live wrap the HTTP faucet;
33
42
  * fork mode impersonates a whale (resolved + validated here). */
@@ -38,8 +47,8 @@ const resolveFundingFaucetStrategy = (opts, client, broker) => {
38
47
  faucetUrl: client.fundingFaucetUrl,
39
48
  serialization: {
40
49
  broker,
41
- key: `sui-faucet:${client.chain}`,
42
- owner: `sui-faucet:${client.chain}`
50
+ key: `sui-faucet:${client.chainId}`,
51
+ owner: `sui-faucet:${client.chainId}`
43
52
  }
44
53
  }));
45
54
  };
@@ -60,88 +69,211 @@ const resolveForkFaucetStrategy = (opts, client, broker) => Effect.gen(function*
60
69
  perRequestCapMist: resolved.perRequestCapMist,
61
70
  serialization: {
62
71
  broker,
63
- key: `sui-fork-faucet:${client.chain}`,
64
- owner: `sui-fork-faucet:${client.chain}`
72
+ key: `sui-fork-faucet:${client.chainId}`,
73
+ owner: `sui-fork-faucet:${client.chainId}`
65
74
  }
66
75
  });
67
76
  return yield* selectSufficientForkCoin(client.sdk.core, resolved.whale, FORK_FAUCET_WHALE_MIN_COIN_MIST).pipe(Effect.as(strategy), Effect.catchTag("SuiPluginError", (cause) => resolved.explicit ? Effect.fail(cause) : Effect.logWarning(`sui fork mode: default faucet whale ${resolved.whale} is unusable (${cause.message}); disabling the fork faucet. Set faucet.whale to override.`).pipe(Effect.as(null))));
68
77
  });
69
- const buildPlugin = (opts) => {
70
- return definePlugin({
71
- id: suiResource.id,
72
- role: "service",
73
- section: "service",
74
- start: () => Effect.gen(function* () {
75
- const runtime = yield* ContainerRuntimeService;
76
- const identity = yield* IdentityContext;
77
- const paths = yield* StackPathsService;
78
- const portBroker = yield* PortBrokerService;
79
- const fundingFaucetLeaseBroker = yield* LeaseBrokerService;
80
- const { client } = yield* bootSuiService(runtime, identity, portBroker, paths, opts);
81
- const fundingFaucetStrategy = yield* resolveFundingFaucetStrategy(opts, client, fundingFaucetLeaseBroker);
82
- return {
83
- ...client,
84
- mode: opts.mode,
85
- fundingFaucetStrategy
86
- };
87
- }),
88
- capabilities: ({ value, runtime }) => makePluginCapabilities(opts, value, runtime),
89
- errorContributions: suiErrorContributions
90
- });
78
+ /** Default name for sui's GraphQL-indexer database. */
79
+ const DEFAULT_INDEXER_DATABASE = "sui_indexer";
80
+ /** In-network DNS alias siblings dial the indexer-db sidecar by. */
81
+ const SUI_INDEXER_DB_ALIAS = "sui-indexer-db";
82
+ const suiInputIdentity = (opts) => {
83
+ const { readyTimeout: _readyTimeout, ...authored } = opts;
84
+ if (authored.mode !== "local") return {
85
+ plugin: "sui",
86
+ ...authored
87
+ };
88
+ return {
89
+ plugin: "sui",
90
+ ...authored,
91
+ indexer: authored.indexer !== false,
92
+ indexerDb: authored.indexerDb === void 0 ? void 0 : {
93
+ ...authored.indexerDb,
94
+ database: authored.indexerDb.database ?? DEFAULT_INDEXER_DATABASE
95
+ }
96
+ };
91
97
  };
92
- /** Construct the capability tuple POST-acquire. Receives the resolved
93
- * `SuiClient` + acquire context so decls can stamp REAL chain ids /
94
- * rpc URLs into their fields instead of factory-time placeholders.
98
+ /** Compose the indexer-db sidecar's stable `configHash` from validator
99
+ * inputs known before local mode starts. A validator image change recreates
100
+ * the validator, so the sidecar's mount-less PGDATA must reset with it.
95
101
  *
96
- * StrategyContributor declarations here carry real post-acquire
97
- * strategy values. The generic strategy sink registers them on the
98
- * scope-local `StrategyRegistry`. */
99
- const makePluginCapabilities = (opts, resolved, acquireCtx) => {
100
- const realChain = resolved.chain;
101
- const resolvedRuntime = resolved;
102
- const snap = makeSnapshotable(opts.mode, acquireCtx.identity.app, acquireCtx.identity.stack, realChain);
103
- const codegen = makeCodegenable({
104
- mode: opts.mode,
105
- chain: realChain,
106
- rpc: resolved.rpcUrl,
107
- source: "default",
108
- ...resolved.faucetUrl !== null ? { faucet: resolved.faucetUrl } : {},
109
- ...resolved.graphqlUrl !== null ? { graphql: resolved.graphqlUrl } : {}
102
+ * Validator data-layer resets that are not config values (absent validator
103
+ * or last exit `137`) are handled by `validatorNeedsIndexerReset`, which
104
+ * removes the sidecar before this hash is applied. */
105
+ const composeIndexerConfigHash = (imageRef) => ["indexer-db", `validator-img=${imageRef}`].join("|");
106
+ /** Append a database segment to a BYO DSN only when it has no path (so a
107
+ * caller-supplied `.../mydb` is respected). Rebuilds via the URL object
108
+ * so the db slots into `pathname` BEFORE `?search` — a naive string
109
+ * append on a `host:5432?sslmode=require` DSN (path-less but with a
110
+ * query) would wrongly yield `...?sslmode=require/sui_indexer`. The
111
+ * catch fallback (non-URL-parseable DSN) splits the query off first. */
112
+ const appendDatabaseIfMissing = (url, database) => {
113
+ try {
114
+ const parsed = new URL(url);
115
+ if (parsed.pathname !== "" && parsed.pathname !== "/") return url;
116
+ parsed.pathname = `/${database}`;
117
+ return parsed.toString();
118
+ } catch {
119
+ const queryAt = url.indexOf("?");
120
+ const base = queryAt === -1 ? url : url.slice(0, queryAt);
121
+ const query = queryAt === -1 ? "" : url.slice(queryAt);
122
+ const afterScheme = base.replace(/^postgres(ql)?:\/\//, "");
123
+ if (/\/[^/]+$/.test(afterScheme)) return url;
124
+ return `${base.replace(/\/$/, "")}/${encodeURIComponent(database)}${query}`;
125
+ }
126
+ };
127
+ /** Whether the Sui-owned indexer DB must be deleted before boot.
128
+ *
129
+ * The validator's chain identity lives in its writable layer. If the
130
+ * validator container is absent, the next boot creates a new layer and a
131
+ * new chain. If it last exited `137`, the runtime's `on-failure` policy
132
+ * also recreates it. Both cases make any existing indexer DB stale. */
133
+ const validatorNeedsIndexerReset = (runtime, identity) => runtime.inspectByLabels({
134
+ app: identity.app,
135
+ stack: identity.stack,
136
+ plugin: "sui",
137
+ role: "validator"
138
+ }).pipe(Effect.map((handles) => {
139
+ const validator = handles[0];
140
+ return validator === void 0 || validator.lastExitCode === 137;
141
+ }));
142
+ /** Provision the GraphQL-indexer DB wiring for local mode.
143
+ *
144
+ * Default: sui OWNS a postgres sidecar (labelled under sui) — boot it on
145
+ * a per-stack network and compose the DSN from its in-network alias (NOT
146
+ * the per-stack container DNS host, which isn't parallel-stack-portable).
147
+ * The sidecar resets on the same validator inputs that can make its rows
148
+ * stale: absent/exited-`137` validator state removes the sidecar before
149
+ * boot, and validator image identity is folded into its `configHash`.
150
+ *
151
+ * `validatorImage` is the SAME `ImageRef` the barrel hands `bootLocalMode`
152
+ * for the validator container, so the image the sidecar hashed and the image
153
+ * the validator runs cannot drift.
154
+ *
155
+ * BYO: when `indexerDb` is set, no sidecar — pass the caller's DSN +
156
+ * network straight through (appending the default db iff the DSN has no
157
+ * path). The caller owns that DB's lifecycle. */
158
+ const provisionLocalIndexer = (runtime, identity, opts, validatorImage) => {
159
+ const database = opts.indexerDb?.database ?? DEFAULT_INDEXER_DATABASE;
160
+ if (opts.indexerDb !== void 0) return Effect.succeed({
161
+ url: appendDatabaseIfMissing(opts.indexerDb.url, database),
162
+ network: opts.indexerDb.network
110
163
  });
111
- const chainProbeContribution = {
112
- kind: "strategy-contributor",
113
- capabilityKey: chainProbeCapabilityKey(realChain),
114
- strategy: resolved.chainProbe,
115
- autoMounted: true
164
+ const network = sanitizeAlias(`devstack-${identity.app}-${identity.stack}-sui-indexer`);
165
+ return Effect.gen(function* () {
166
+ if (yield* validatorNeedsIndexerReset(runtime, identity)) yield* runtime.removeManagedContainers({
167
+ app: identity.app,
168
+ stack: identity.stack,
169
+ plugin: "sui",
170
+ role: SUI_INDEXER_DB_ROLE
171
+ });
172
+ const { handle } = yield* bootPostgresSidecar(runtime, identity, {
173
+ network,
174
+ alias: SUI_INDEXER_DB_ALIAS,
175
+ role: SUI_INDEXER_DB_ROLE,
176
+ database,
177
+ configHash: composeIndexerConfigHash(validatorImage.tag ?? validatorImage.digest)
178
+ });
179
+ return {
180
+ url: withDatabase(credentialedUrl({
181
+ user: handle.user,
182
+ password: handle.password,
183
+ host: handle.networkAlias,
184
+ port: handle.port
185
+ }), database),
186
+ network: handle.containerNetwork
187
+ };
188
+ }).pipe(Effect.mapError((cause) => suiPluginError("container-start", `sui local mode: failed to provision the GraphQL indexer postgres sidecar (${cause._tag})`, cause)));
189
+ };
190
+ /** Shared boot + inline contribution emission, parameterised by the
191
+ * resolved external-indexer wiring (`undefined` = no GraphQL, the
192
+ * zero-config / non-local case) and, for local mode, the validator image
193
+ * the barrel pre-resolved (so the sidecar's `configHash` and the validator
194
+ * container share one `ImageRef`; `undefined` on the no-sidecar paths,
195
+ * where `bootLocalMode` resolves it inline). */
196
+ const bootAndEmit = (opts, indexer, prebuiltImage) => Effect.gen(function* () {
197
+ const ctx = yield* PluginContext;
198
+ const runtime = yield* ContainerRuntimeService;
199
+ const identity = yield* IdentityContext;
200
+ const paths = yield* StackPathsService;
201
+ const portBroker = yield* PortBrokerService;
202
+ const fundingFaucetLeaseBroker = yield* LeaseBrokerService;
203
+ const { client } = yield* bootSuiService(runtime, identity, portBroker, paths, opts, indexer, prebuiltImage);
204
+ const fundingFaucetStrategy = yield* resolveFundingFaucetStrategy(opts, client, fundingFaucetLeaseBroker);
205
+ const value = {
206
+ ...client,
207
+ mode: opts.mode,
208
+ fundingFaucetStrategy
116
209
  };
117
- const faucetContribution = resolvedRuntime.fundingFaucetStrategy === null ? [] : [{
210
+ const realChainId = value.chainId;
211
+ const faucetContribution = !resolveNetworkOptions(identity.network).faucet || value.fundingFaucetStrategy === null ? [] : [{
118
212
  kind: "strategy-contributor",
119
- capabilityKey: faucetCapabilityKey(realChain),
120
- strategy: resolvedRuntime.fundingFaucetStrategy,
213
+ capabilityKey: faucetCapabilityKey(realChainId),
214
+ strategy: value.fundingFaucetStrategy,
121
215
  autoMounted: true
122
216
  }];
123
217
  const localRoutables = opts.mode === "local" ? makeSuiLocalRoutables({
124
- containerName: `devstack-${acquireCtx.identity.app}-${acquireCtx.identity.stack}-sui-validator`,
125
- includeGraphql: true
218
+ containerName: `devstack-${identity.app}-${identity.stack}-sui-validator`,
219
+ includeGraphql: indexer !== void 0
126
220
  }) : [];
127
- const forkRoutables = opts.mode === "fork" ? makeSuiForkRoutables({ containerName: `devstack-${acquireCtx.identity.app}-${acquireCtx.identity.stack}-sui-fork` }) : [];
128
- return [
129
- snap,
130
- codegen,
131
- chainProbeContribution,
221
+ const forkRoutables = opts.mode === "fork" ? makeSuiForkRoutables({ containerName: `devstack-${identity.app}-${identity.stack}-sui-fork` }) : [];
222
+ emitContributions(ctx, [
223
+ makeSnapshotable(opts.mode, identity.app, identity.stack, realChainId, indexer !== void 0),
224
+ makeCodegenable({
225
+ mode: opts.mode,
226
+ chainId: realChainId,
227
+ rpc: value.rpcUrl,
228
+ source: "default",
229
+ ...value.faucetUrl !== null ? { faucet: value.faucetUrl } : {},
230
+ ...value.graphqlUrl !== null ? { graphql: value.graphqlUrl } : {}
231
+ }),
232
+ {
233
+ kind: "strategy-contributor",
234
+ capabilityKey: chainProbeCapabilityKey(realChainId),
235
+ strategy: value.chainProbe,
236
+ autoMounted: true
237
+ },
132
238
  ...faucetContribution,
133
239
  ...localRoutables,
134
240
  ...forkRoutables
135
- ];
136
- };
241
+ ]);
242
+ return value;
243
+ });
244
+ /** The single sui plugin builder. No sibling `dependsOn`: in local mode
245
+ * with the indexer on (the default), `start` provisions the GraphQL
246
+ * indexer DB itself — a sui-owned postgres sidecar — inside the boot
247
+ * scope BEFORE the boot-time validator (so the validator can join its
248
+ * network), then boots + emits. Resolution order:
249
+ * - `indexerDb` present → BYO DB (no sidecar)
250
+ * - `indexer === false` → opt out (RPC + faucet only, GraphQL off)
251
+ * - else (local default) → sui-owned sidecar
252
+ * Non-local modes never touch the indexer (GraphQL off). */
253
+ const buildSuiPlugin = (opts) => definePlugin({
254
+ id: suiResource.id,
255
+ role: "service",
256
+ section: "service",
257
+ inputIdentity: staticInputIdentity(suiInputIdentity(opts)),
258
+ staticCodegen: makeStaticCodegen(),
259
+ start: () => Effect.gen(function* () {
260
+ if (opts.mode !== "local" || opts.indexerDb === void 0 && opts.indexer === false) return yield* bootAndEmit(opts, void 0);
261
+ const runtime = yield* ContainerRuntimeService;
262
+ const identity = yield* IdentityContext;
263
+ const validatorImage = yield* resolveImage(runtime, identity, opts);
264
+ return yield* bootAndEmit(opts, yield* provisionLocalIndexer(runtime, identity, opts, validatorImage), validatorImage);
265
+ })
266
+ });
267
+ const buildPlugin = (opts) => buildSuiPlugin(opts);
137
268
  /** Local Sui shorthand. Network/env selection belongs to the CLI or
138
269
  * `defineDevstackWith(...)`; plain `sui()` always means an in-stack
139
- * local validator. */
270
+ * local validator (GraphQL/indexer/Postgres on by default via a
271
+ * sui-owned sidecar). */
140
272
  const sui = (opts = { mode: "local" }) => buildPlugin(opts);
141
273
  /** Mode-narrowed factory namespace.
142
274
  *
143
275
  * Usage:
144
- * const network = { mode: 'local', chain: 'sui:localnet' } as const;
276
+ * const network = { mode: 'local' } as const;
145
277
  * suiFor(network).local({...}) // OK
146
278
  * suiFor(network).fork({...}) // type error: 'fork' not in 'local' branch
147
279
  *