@mysten-incubation/devstack 0.0.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 (833) hide show
  1. package/LICENSE +189 -0
  2. package/README.md +94 -0
  3. package/dist/_virtual/_rolldown/runtime.mjs +13 -0
  4. package/dist/api/define-capabilities.d.mts +25 -0
  5. package/dist/api/define-capabilities.mjs +19 -0
  6. package/dist/api/define-capabilities.mjs.map +1 -0
  7. package/dist/api/define-devstack-with.d.mts +41 -0
  8. package/dist/api/define-devstack-with.mjs +24 -0
  9. package/dist/api/define-devstack-with.mjs.map +1 -0
  10. package/dist/api/define-devstack.d.mts +62 -0
  11. package/dist/api/define-devstack.mjs +108 -0
  12. package/dist/api/define-devstack.mjs.map +1 -0
  13. package/dist/api/define-plugin.d.mts +1 -0
  14. package/dist/api/inference-network.mjs +122 -0
  15. package/dist/api/inference-network.mjs.map +1 -0
  16. package/dist/api/mode-narrowed-factory.d.mts +26 -0
  17. package/dist/api/mode-narrowed-factory.mjs +8 -0
  18. package/dist/api/mode-narrowed-factory.mjs.map +1 -0
  19. package/dist/api/plugin-errors.mjs +10 -0
  20. package/dist/api/plugin-errors.mjs.map +1 -0
  21. package/dist/api/run-stack.d.mts +82 -0
  22. package/dist/api/run-stack.mjs +127 -0
  23. package/dist/api/run-stack.mjs.map +1 -0
  24. package/dist/build-integrations/playwright/config.d.mts +92 -0
  25. package/dist/build-integrations/playwright/config.mjs +71 -0
  26. package/dist/build-integrations/playwright/config.mjs.map +1 -0
  27. package/dist/build-integrations/playwright/errors.d.mts +82 -0
  28. package/dist/build-integrations/playwright/errors.mjs +43 -0
  29. package/dist/build-integrations/playwright/errors.mjs.map +1 -0
  30. package/dist/build-integrations/playwright/global-setup.d.mts +64 -0
  31. package/dist/build-integrations/playwright/global-setup.mjs +44 -0
  32. package/dist/build-integrations/playwright/global-setup.mjs.map +1 -0
  33. package/dist/build-integrations/playwright/index.d.mts +6 -0
  34. package/dist/build-integrations/playwright/index.mjs +6 -0
  35. package/dist/build-integrations/playwright/stack-context.d.mts +95 -0
  36. package/dist/build-integrations/playwright/stack-context.mjs +277 -0
  37. package/dist/build-integrations/playwright/stack-context.mjs.map +1 -0
  38. package/dist/build-integrations/playwright/wallet-context.d.mts +87 -0
  39. package/dist/build-integrations/playwright/wallet-context.mjs +148 -0
  40. package/dist/build-integrations/playwright/wallet-context.mjs.map +1 -0
  41. package/dist/build-integrations/runtime/cold-start-url.d.mts +67 -0
  42. package/dist/build-integrations/runtime/cold-start-url.mjs +56 -0
  43. package/dist/build-integrations/runtime/cold-start-url.mjs.map +1 -0
  44. package/dist/build-integrations/runtime/dapp-kit-slot.mjs +10 -0
  45. package/dist/build-integrations/runtime/dapp-kit-slot.mjs.map +1 -0
  46. package/dist/build-integrations/runtime/discover.d.mts +78 -0
  47. package/dist/build-integrations/runtime/discover.mjs +124 -0
  48. package/dist/build-integrations/runtime/discover.mjs.map +1 -0
  49. package/dist/build-integrations/runtime/endpoint-registry.d.mts +26 -0
  50. package/dist/build-integrations/runtime/endpoint-registry.mjs +41 -0
  51. package/dist/build-integrations/runtime/endpoint-registry.mjs.map +1 -0
  52. package/dist/build-integrations/runtime/errors.d.mts +64 -0
  53. package/dist/build-integrations/runtime/errors.mjs +51 -0
  54. package/dist/build-integrations/runtime/errors.mjs.map +1 -0
  55. package/dist/build-integrations/runtime/index.d.mts +7 -0
  56. package/dist/build-integrations/runtime/index.mjs +6 -0
  57. package/dist/build-integrations/runtime/read-stack-context.d.mts +38 -0
  58. package/dist/build-integrations/runtime/read-stack-context.mjs +130 -0
  59. package/dist/build-integrations/runtime/read-stack-context.mjs.map +1 -0
  60. package/dist/build-integrations/runtime/stack-context.d.mts +53 -0
  61. package/dist/build-integrations/vitest/config.d.mts +62 -0
  62. package/dist/build-integrations/vitest/config.mjs +80 -0
  63. package/dist/build-integrations/vitest/config.mjs.map +1 -0
  64. package/dist/build-integrations/vitest/env.d.mts +48 -0
  65. package/dist/build-integrations/vitest/env.mjs +50 -0
  66. package/dist/build-integrations/vitest/env.mjs.map +1 -0
  67. package/dist/build-integrations/vitest/errors.d.mts +44 -0
  68. package/dist/build-integrations/vitest/errors.mjs +18 -0
  69. package/dist/build-integrations/vitest/errors.mjs.map +1 -0
  70. package/dist/build-integrations/vitest/index.d.mts +6 -0
  71. package/dist/build-integrations/vitest/index.mjs +6 -0
  72. package/dist/build-integrations/vitest/setup.d.mts +53 -0
  73. package/dist/build-integrations/vitest/setup.mjs +56 -0
  74. package/dist/build-integrations/vitest/setup.mjs.map +1 -0
  75. package/dist/build-integrations/vitest/stack-context.d.mts +58 -0
  76. package/dist/build-integrations/vitest/stack-context.mjs +67 -0
  77. package/dist/build-integrations/vitest/stack-context.mjs.map +1 -0
  78. package/dist/cli/main.d.mts +5 -0
  79. package/dist/cli/main.mjs +586 -0
  80. package/dist/cli/main.mjs.map +1 -0
  81. package/dist/cli/prune-direct.mjs +216 -0
  82. package/dist/cli/prune-direct.mjs.map +1 -0
  83. package/dist/cli/snapshot-reader.mjs +73 -0
  84. package/dist/cli/snapshot-reader.mjs.map +1 -0
  85. package/dist/cli/up-lifecycle.mjs +28 -0
  86. package/dist/cli/up-lifecycle.mjs.map +1 -0
  87. package/dist/contracts/capability-decl.d.mts +42 -0
  88. package/dist/contracts/chain-probe.d.mts +26 -0
  89. package/dist/contracts/chain-probe.mjs +8 -0
  90. package/dist/contracts/chain-probe.mjs.map +1 -0
  91. package/dist/contracts/codegenable.d.mts +43 -0
  92. package/dist/contracts/container-runtime.d.mts +245 -0
  93. package/dist/contracts/liveness-classifier.d.mts +19 -0
  94. package/dist/contracts/network-resolver.d.mts +15 -0
  95. package/dist/contracts/network-resolver.mjs +7 -0
  96. package/dist/contracts/network-resolver.mjs.map +1 -0
  97. package/dist/contracts/projection.d.mts +15 -0
  98. package/dist/contracts/routable.d.mts +53 -0
  99. package/dist/contracts/snapshotable.d.mts +39 -0
  100. package/dist/contracts/strategy-contributor.d.mts +26 -0
  101. package/dist/index.d.mts +89 -0
  102. package/dist/index.mjs +37 -0
  103. package/dist/orchestrators/codegen/bindings.d.mts +2 -0
  104. package/dist/orchestrators/codegen/bindings.mjs +340 -0
  105. package/dist/orchestrators/codegen/bindings.mjs.map +1 -0
  106. package/dist/orchestrators/codegen/emit.mjs +56 -0
  107. package/dist/orchestrators/codegen/emit.mjs.map +1 -0
  108. package/dist/orchestrators/codegen/errors.d.mts +1 -0
  109. package/dist/orchestrators/codegen/errors.mjs +66 -0
  110. package/dist/orchestrators/codegen/errors.mjs.map +1 -0
  111. package/dist/orchestrators/codegen/extras.mjs +16 -0
  112. package/dist/orchestrators/codegen/extras.mjs.map +1 -0
  113. package/dist/orchestrators/codegen/format.mjs +109 -0
  114. package/dist/orchestrators/codegen/format.mjs.map +1 -0
  115. package/dist/orchestrators/codegen/gitignore.mjs +67 -0
  116. package/dist/orchestrators/codegen/gitignore.mjs.map +1 -0
  117. package/dist/orchestrators/codegen/paths.d.mts +1 -0
  118. package/dist/orchestrators/codegen/paths.mjs +33 -0
  119. package/dist/orchestrators/codegen/paths.mjs.map +1 -0
  120. package/dist/orchestrators/codegen/permissions.mjs +6 -0
  121. package/dist/orchestrators/codegen/permissions.mjs.map +1 -0
  122. package/dist/orchestrators/codegen/service.d.mts +1 -0
  123. package/dist/orchestrators/codegen/service.mjs +276 -0
  124. package/dist/orchestrators/codegen/service.mjs.map +1 -0
  125. package/dist/orchestrators/router/cleanup.mjs +58 -0
  126. package/dist/orchestrators/router/cleanup.mjs.map +1 -0
  127. package/dist/orchestrators/router/cors.mjs +31 -0
  128. package/dist/orchestrators/router/cors.mjs.map +1 -0
  129. package/dist/orchestrators/router/entrypoints.d.mts +1 -0
  130. package/dist/orchestrators/router/entrypoints.mjs +80 -0
  131. package/dist/orchestrators/router/entrypoints.mjs.map +1 -0
  132. package/dist/orchestrators/router/errors.d.mts +1 -0
  133. package/dist/orchestrators/router/errors.mjs +103 -0
  134. package/dist/orchestrators/router/errors.mjs.map +1 -0
  135. package/dist/orchestrators/router/file-provider.d.mts +1 -0
  136. package/dist/orchestrators/router/file-provider.mjs +320 -0
  137. package/dist/orchestrators/router/file-provider.mjs.map +1 -0
  138. package/dist/orchestrators/router/hostname.d.mts +1 -0
  139. package/dist/orchestrators/router/hostname.mjs +107 -0
  140. package/dist/orchestrators/router/hostname.mjs.map +1 -0
  141. package/dist/orchestrators/router/index.d.mts +1 -0
  142. package/dist/orchestrators/router/profile.d.mts +1 -0
  143. package/dist/orchestrators/router/profile.mjs +109 -0
  144. package/dist/orchestrators/router/profile.mjs.map +1 -0
  145. package/dist/orchestrators/router/service.d.mts +3 -0
  146. package/dist/orchestrators/router/service.mjs +421 -0
  147. package/dist/orchestrators/router/service.mjs.map +1 -0
  148. package/dist/orchestrators/router/traefik-container.d.mts +1 -0
  149. package/dist/orchestrators/router/traefik-container.mjs +229 -0
  150. package/dist/orchestrators/router/traefik-container.mjs.map +1 -0
  151. package/dist/orchestrators/runtime-composition.d.mts +10 -0
  152. package/dist/orchestrators/runtime-composition.mjs +168 -0
  153. package/dist/orchestrators/runtime-composition.mjs.map +1 -0
  154. package/dist/orchestrators/snapshot/capture.d.mts +1 -0
  155. package/dist/orchestrators/snapshot/capture.mjs +350 -0
  156. package/dist/orchestrators/snapshot/capture.mjs.map +1 -0
  157. package/dist/orchestrators/snapshot/descriptor.d.mts +1 -0
  158. package/dist/orchestrators/snapshot/descriptor.mjs +109 -0
  159. package/dist/orchestrators/snapshot/descriptor.mjs.map +1 -0
  160. package/dist/orchestrators/snapshot/identity-guard.d.mts +1 -0
  161. package/dist/orchestrators/snapshot/identity-guard.mjs +132 -0
  162. package/dist/orchestrators/snapshot/identity-guard.mjs.map +1 -0
  163. package/dist/orchestrators/snapshot/image-bundle-tags.mjs +207 -0
  164. package/dist/orchestrators/snapshot/image-bundle-tags.mjs.map +1 -0
  165. package/dist/orchestrators/snapshot/index.d.mts +1 -0
  166. package/dist/orchestrators/snapshot/integrity.d.mts +1 -0
  167. package/dist/orchestrators/snapshot/integrity.mjs +74 -0
  168. package/dist/orchestrators/snapshot/integrity.mjs.map +1 -0
  169. package/dist/orchestrators/snapshot/prune.d.mts +1 -0
  170. package/dist/orchestrators/snapshot/prune.mjs +110 -0
  171. package/dist/orchestrators/snapshot/prune.mjs.map +1 -0
  172. package/dist/orchestrators/snapshot/restore.d.mts +1 -0
  173. package/dist/orchestrators/snapshot/restore.mjs +404 -0
  174. package/dist/orchestrators/snapshot/restore.mjs.map +1 -0
  175. package/dist/orchestrators/snapshot/service.d.mts +1 -0
  176. package/dist/orchestrators/snapshot/service.mjs +296 -0
  177. package/dist/orchestrators/snapshot/service.mjs.map +1 -0
  178. package/dist/orchestrators/snapshot/state-document.mjs +18 -0
  179. package/dist/orchestrators/snapshot/state-document.mjs.map +1 -0
  180. package/dist/orchestrators/snapshot/wipe.d.mts +1 -0
  181. package/dist/orchestrators/snapshot/wipe.mjs +59 -0
  182. package/dist/orchestrators/snapshot/wipe.mjs.map +1 -0
  183. package/dist/plugins/account/codegen.d.mts +12 -0
  184. package/dist/plugins/account/codegen.mjs +22 -0
  185. package/dist/plugins/account/codegen.mjs.map +1 -0
  186. package/dist/plugins/account/errors.d.mts +44 -0
  187. package/dist/plugins/account/errors.mjs +16 -0
  188. package/dist/plugins/account/errors.mjs.map +1 -0
  189. package/dist/plugins/account/funding.d.mts +94 -0
  190. package/dist/plugins/account/funding.mjs +199 -0
  191. package/dist/plugins/account/funding.mjs.map +1 -0
  192. package/dist/plugins/account/index.d.mts +54 -0
  193. package/dist/plugins/account/index.mjs +151 -0
  194. package/dist/plugins/account/index.mjs.map +1 -0
  195. package/dist/plugins/account/keypair.d.mts +32 -0
  196. package/dist/plugins/account/keypair.mjs +99 -0
  197. package/dist/plugins/account/keypair.mjs.map +1 -0
  198. package/dist/plugins/account/lease.mjs +21 -0
  199. package/dist/plugins/account/lease.mjs.map +1 -0
  200. package/dist/plugins/account/registry.d.mts +33 -0
  201. package/dist/plugins/account/registry.mjs +36 -0
  202. package/dist/plugins/account/registry.mjs.map +1 -0
  203. package/dist/plugins/account/service.d.mts +104 -0
  204. package/dist/plugins/account/service.mjs +405 -0
  205. package/dist/plugins/account/service.mjs.map +1 -0
  206. package/dist/plugins/account/snapshot.mjs +33 -0
  207. package/dist/plugins/account/snapshot.mjs.map +1 -0
  208. package/dist/plugins/account/variants/env.mjs +24 -0
  209. package/dist/plugins/account/variants/env.mjs.map +1 -0
  210. package/dist/plugins/account/variants/ephemeral.mjs +72 -0
  211. package/dist/plugins/account/variants/ephemeral.mjs.map +1 -0
  212. package/dist/plugins/account/variants/impersonate.d.mts +16 -0
  213. package/dist/plugins/account/variants/impersonate.mjs +48 -0
  214. package/dist/plugins/account/variants/impersonate.mjs.map +1 -0
  215. package/dist/plugins/account/variants/inline.mjs +13 -0
  216. package/dist/plugins/account/variants/inline.mjs.map +1 -0
  217. package/dist/plugins/account/variants/keystore.mjs +93 -0
  218. package/dist/plugins/account/variants/keystore.mjs.map +1 -0
  219. package/dist/plugins/account/variants/signer.mjs +31 -0
  220. package/dist/plugins/account/variants/signer.mjs.map +1 -0
  221. package/dist/plugins/action/build-context.d.mts +41 -0
  222. package/dist/plugins/action/discriminator.d.mts +20 -0
  223. package/dist/plugins/action/discriminator.mjs +13 -0
  224. package/dist/plugins/action/discriminator.mjs.map +1 -0
  225. package/dist/plugins/action/errors.d.mts +31 -0
  226. package/dist/plugins/action/errors.mjs +13 -0
  227. package/dist/plugins/action/errors.mjs.map +1 -0
  228. package/dist/plugins/action/execute.d.mts +2 -0
  229. package/dist/plugins/action/execute.mjs +145 -0
  230. package/dist/plugins/action/execute.mjs.map +1 -0
  231. package/dist/plugins/action/index.d.mts +56 -0
  232. package/dist/plugins/action/index.mjs +82 -0
  233. package/dist/plugins/action/index.mjs.map +1 -0
  234. package/dist/plugins/action/service.d.mts +26 -0
  235. package/dist/plugins/action/service.mjs +84 -0
  236. package/dist/plugins/action/service.mjs.map +1 -0
  237. package/dist/plugins/coin/address-resolution.d.mts +34 -0
  238. package/dist/plugins/coin/address-resolution.mjs +80 -0
  239. package/dist/plugins/coin/address-resolution.mjs.map +1 -0
  240. package/dist/plugins/coin/codegen.d.mts +16 -0
  241. package/dist/plugins/coin/codegen.mjs +21 -0
  242. package/dist/plugins/coin/codegen.mjs.map +1 -0
  243. package/dist/plugins/coin/discovery.d.mts +26 -0
  244. package/dist/plugins/coin/discovery.mjs +112 -0
  245. package/dist/plugins/coin/discovery.mjs.map +1 -0
  246. package/dist/plugins/coin/errors.d.mts +48 -0
  247. package/dist/plugins/coin/errors.mjs +13 -0
  248. package/dist/plugins/coin/errors.mjs.map +1 -0
  249. package/dist/plugins/coin/index.d.mts +95 -0
  250. package/dist/plugins/coin/index.mjs +172 -0
  251. package/dist/plugins/coin/index.mjs.map +1 -0
  252. package/dist/plugins/coin/metadata.d.mts +15 -0
  253. package/dist/plugins/coin/metadata.mjs +99 -0
  254. package/dist/plugins/coin/metadata.mjs.map +1 -0
  255. package/dist/plugins/coin/mint.d.mts +34 -0
  256. package/dist/plugins/coin/mint.mjs +164 -0
  257. package/dist/plugins/coin/mint.mjs.map +1 -0
  258. package/dist/plugins/coin/registry.d.mts +1 -0
  259. package/dist/plugins/coin/registry.mjs +37 -0
  260. package/dist/plugins/coin/registry.mjs.map +1 -0
  261. package/dist/plugins/coin/service.d.mts +47 -0
  262. package/dist/plugins/coin/service.mjs +51 -0
  263. package/dist/plugins/coin/service.mjs.map +1 -0
  264. package/dist/plugins/coin/snapshot.mjs +19 -0
  265. package/dist/plugins/coin/snapshot.mjs.map +1 -0
  266. package/dist/plugins/coin/type-strings.mjs +49 -0
  267. package/dist/plugins/coin/type-strings.mjs.map +1 -0
  268. package/dist/plugins/deepbook/codegen.d.mts +39 -0
  269. package/dist/plugins/deepbook/codegen.mjs +15 -0
  270. package/dist/plugins/deepbook/codegen.mjs.map +1 -0
  271. package/dist/plugins/deepbook/deploy.mjs +437 -0
  272. package/dist/plugins/deepbook/deploy.mjs.map +1 -0
  273. package/dist/plugins/deepbook/errors.d.mts +29 -0
  274. package/dist/plugins/deepbook/errors.mjs +26 -0
  275. package/dist/plugins/deepbook/errors.mjs.map +1 -0
  276. package/dist/plugins/deepbook/faucet-strategy.d.mts +8 -0
  277. package/dist/plugins/deepbook/faucet-strategy.mjs +81 -0
  278. package/dist/plugins/deepbook/faucet-strategy.mjs.map +1 -0
  279. package/dist/plugins/deepbook/index.d.mts +171 -0
  280. package/dist/plugins/deepbook/index.mjs +359 -0
  281. package/dist/plugins/deepbook/index.mjs.map +1 -0
  282. package/dist/plugins/deepbook/plugin-key.mjs +7 -0
  283. package/dist/plugins/deepbook/plugin-key.mjs.map +1 -0
  284. package/dist/plugins/deepbook/pyth/index.mjs +226 -0
  285. package/dist/plugins/deepbook/pyth/index.mjs.map +1 -0
  286. package/dist/plugins/deepbook/routable.mjs +21 -0
  287. package/dist/plugins/deepbook/routable.mjs.map +1 -0
  288. package/dist/plugins/deepbook/snapshot.mjs +49 -0
  289. package/dist/plugins/deepbook/snapshot.mjs.map +1 -0
  290. package/dist/plugins/deepbook/types.d.mts +125 -0
  291. package/dist/plugins/deepbook/types.mjs +12 -0
  292. package/dist/plugins/deepbook/types.mjs.map +1 -0
  293. package/dist/plugins/faucet/dispatcher.d.mts +9 -0
  294. package/dist/plugins/faucet/dispatcher.mjs +13 -0
  295. package/dist/plugins/faucet/dispatcher.mjs.map +1 -0
  296. package/dist/plugins/faucet/errors.d.mts +86 -0
  297. package/dist/plugins/faucet/errors.mjs +19 -0
  298. package/dist/plugins/faucet/errors.mjs.map +1 -0
  299. package/dist/plugins/faucet/http.mjs +127 -0
  300. package/dist/plugins/faucet/http.mjs.map +1 -0
  301. package/dist/plugins/faucet/index.d.mts +43 -0
  302. package/dist/plugins/faucet/index.mjs +42 -0
  303. package/dist/plugins/faucet/index.mjs.map +1 -0
  304. package/dist/plugins/faucet/service.d.mts +20 -0
  305. package/dist/plugins/faucet/strategies/sui-local.d.mts +23 -0
  306. package/dist/plugins/faucet/strategies/sui-local.mjs +29 -0
  307. package/dist/plugins/faucet/strategies/sui-local.mjs.map +1 -0
  308. package/dist/plugins/host-service/errors.d.mts +27 -0
  309. package/dist/plugins/host-service/errors.mjs +14 -0
  310. package/dist/plugins/host-service/errors.mjs.map +1 -0
  311. package/dist/plugins/host-service/index.d.mts +10 -0
  312. package/dist/plugins/host-service/index.mjs +48 -0
  313. package/dist/plugins/host-service/index.mjs.map +1 -0
  314. package/dist/plugins/host-service/routable.mjs +24 -0
  315. package/dist/plugins/host-service/routable.mjs.map +1 -0
  316. package/dist/plugins/host-service/service.d.mts +49 -0
  317. package/dist/plugins/host-service/service.mjs +375 -0
  318. package/dist/plugins/host-service/service.mjs.map +1 -0
  319. package/dist/plugins/package/build.d.mts +1 -0
  320. package/dist/plugins/package/build.mjs +24 -0
  321. package/dist/plugins/package/build.mjs.map +1 -0
  322. package/dist/plugins/package/codegen.d.mts +19 -0
  323. package/dist/plugins/package/codegen.mjs +41 -0
  324. package/dist/plugins/package/codegen.mjs.map +1 -0
  325. package/dist/plugins/package/dep-resolution.mjs +10 -0
  326. package/dist/plugins/package/dep-resolution.mjs.map +1 -0
  327. package/dist/plugins/package/errors.d.mts +34 -0
  328. package/dist/plugins/package/errors.mjs +13 -0
  329. package/dist/plugins/package/errors.mjs.map +1 -0
  330. package/dist/plugins/package/index.d.mts +109 -0
  331. package/dist/plugins/package/index.mjs +207 -0
  332. package/dist/plugins/package/index.mjs.map +1 -0
  333. package/dist/plugins/package/mode-known.mjs +41 -0
  334. package/dist/plugins/package/mode-known.mjs.map +1 -0
  335. package/dist/plugins/package/mode-local.d.mts +1 -0
  336. package/dist/plugins/package/mode-local.mjs +183 -0
  337. package/dist/plugins/package/mode-local.mjs.map +1 -0
  338. package/dist/plugins/package/publish-executor.mjs +202 -0
  339. package/dist/plugins/package/publish-executor.mjs.map +1 -0
  340. package/dist/plugins/package/publish-output.d.mts +28 -0
  341. package/dist/plugins/package/publish-output.mjs +45 -0
  342. package/dist/plugins/package/publish-output.mjs.map +1 -0
  343. package/dist/plugins/package/registry.d.mts +25 -0
  344. package/dist/plugins/package/registry.mjs +30 -0
  345. package/dist/plugins/package/registry.mjs.map +1 -0
  346. package/dist/plugins/package/service.mjs +20 -0
  347. package/dist/plugins/package/service.mjs.map +1 -0
  348. package/dist/plugins/package/snapshot.mjs +25 -0
  349. package/dist/plugins/package/snapshot.mjs.map +1 -0
  350. package/dist/plugins/postgres/codegen.mjs +42 -0
  351. package/dist/plugins/postgres/codegen.mjs.map +1 -0
  352. package/dist/plugins/postgres/connection.d.mts +33 -0
  353. package/dist/plugins/postgres/connection.mjs +19 -0
  354. package/dist/plugins/postgres/connection.mjs.map +1 -0
  355. package/dist/plugins/postgres/db-ensure.mjs +100 -0
  356. package/dist/plugins/postgres/db-ensure.mjs.map +1 -0
  357. package/dist/plugins/postgres/errors.d.mts +55 -0
  358. package/dist/plugins/postgres/errors.mjs +29 -0
  359. package/dist/plugins/postgres/errors.mjs.map +1 -0
  360. package/dist/plugins/postgres/index.d.mts +37 -0
  361. package/dist/plugins/postgres/index.mjs +75 -0
  362. package/dist/plugins/postgres/index.mjs.map +1 -0
  363. package/dist/plugins/postgres/routable.mjs +33 -0
  364. package/dist/plugins/postgres/routable.mjs.map +1 -0
  365. package/dist/plugins/postgres/service.d.mts +50 -0
  366. package/dist/plugins/postgres/service.mjs +145 -0
  367. package/dist/plugins/postgres/service.mjs.map +1 -0
  368. package/dist/plugins/postgres/snapshot.d.mts +1 -0
  369. package/dist/plugins/postgres/snapshot.mjs +32 -0
  370. package/dist/plugins/postgres/snapshot.mjs.map +1 -0
  371. package/dist/plugins/router-entrypoints.mjs +21 -0
  372. package/dist/plugins/router-entrypoints.mjs.map +1 -0
  373. package/dist/plugins/seal/bootstrap-assets/cargo-image.mjs +59 -0
  374. package/dist/plugins/seal/bootstrap-assets/cargo-image.mjs.map +1 -0
  375. package/dist/plugins/seal/bootstrap-assets/source-fetch.mjs +132 -0
  376. package/dist/plugins/seal/bootstrap-assets/source-fetch.mjs.map +1 -0
  377. package/dist/plugins/seal/codegen.d.mts +19 -0
  378. package/dist/plugins/seal/codegen.mjs +16 -0
  379. package/dist/plugins/seal/codegen.mjs.map +1 -0
  380. package/dist/plugins/seal/config-render.mjs +82 -0
  381. package/dist/plugins/seal/config-render.mjs.map +1 -0
  382. package/dist/plugins/seal/deploy.mjs +198 -0
  383. package/dist/plugins/seal/deploy.mjs.map +1 -0
  384. package/dist/plugins/seal/errors.d.mts +52 -0
  385. package/dist/plugins/seal/errors.mjs +19 -0
  386. package/dist/plugins/seal/errors.mjs.map +1 -0
  387. package/dist/plugins/seal/index.d.mts +161 -0
  388. package/dist/plugins/seal/index.mjs +235 -0
  389. package/dist/plugins/seal/index.mjs.map +1 -0
  390. package/dist/plugins/seal/key-manager.d.mts +22 -0
  391. package/dist/plugins/seal/key-manager.mjs +22 -0
  392. package/dist/plugins/seal/key-manager.mjs.map +1 -0
  393. package/dist/plugins/seal/key-server.mjs +175 -0
  394. package/dist/plugins/seal/key-server.mjs.map +1 -0
  395. package/dist/plugins/seal/keygen.mjs +96 -0
  396. package/dist/plugins/seal/keygen.mjs.map +1 -0
  397. package/dist/plugins/seal/mode/fork-known.d.mts +8 -0
  398. package/dist/plugins/seal/mode/fork-known.mjs +23 -0
  399. package/dist/plugins/seal/mode/fork-known.mjs.map +1 -0
  400. package/dist/plugins/seal/mode/live.d.mts +18 -0
  401. package/dist/plugins/seal/mode/live.mjs +64 -0
  402. package/dist/plugins/seal/mode/live.mjs.map +1 -0
  403. package/dist/plugins/seal/mode/local-keygen.mjs +180 -0
  404. package/dist/plugins/seal/mode/local-keygen.mjs.map +1 -0
  405. package/dist/plugins/seal/plugin-key.mjs +7 -0
  406. package/dist/plugins/seal/plugin-key.mjs.map +1 -0
  407. package/dist/plugins/seal/registry-publish.d.mts +43 -0
  408. package/dist/plugins/seal/registry-publish.mjs +9 -0
  409. package/dist/plugins/seal/registry-publish.mjs.map +1 -0
  410. package/dist/plugins/seal/routable.mjs +57 -0
  411. package/dist/plugins/seal/routable.mjs.map +1 -0
  412. package/dist/plugins/seal/service.mjs +17 -0
  413. package/dist/plugins/seal/service.mjs.map +1 -0
  414. package/dist/plugins/seal/snapshot.mjs +51 -0
  415. package/dist/plugins/seal/snapshot.mjs.map +1 -0
  416. package/dist/plugins/sui/auto-tick.mjs +45 -0
  417. package/dist/plugins/sui/auto-tick.mjs.map +1 -0
  418. package/dist/plugins/sui/chain-build-container.d.mts +1 -0
  419. package/dist/plugins/sui/chain-probe.d.mts +85 -0
  420. package/dist/plugins/sui/chain-probe.mjs +104 -0
  421. package/dist/plugins/sui/chain-probe.mjs.map +1 -0
  422. package/dist/plugins/sui/codegen.d.mts +14 -0
  423. package/dist/plugins/sui/codegen.mjs +26 -0
  424. package/dist/plugins/sui/codegen.mjs.map +1 -0
  425. package/dist/plugins/sui/errors.d.mts +74 -0
  426. package/dist/plugins/sui/errors.mjs +28 -0
  427. package/dist/plugins/sui/errors.mjs.map +1 -0
  428. package/dist/plugins/sui/fork-orchestration.mjs +24 -0
  429. package/dist/plugins/sui/fork-orchestration.mjs.map +1 -0
  430. package/dist/plugins/sui/fork-transaction.mjs +96 -0
  431. package/dist/plugins/sui/fork-transaction.mjs.map +1 -0
  432. package/dist/plugins/sui/index.d.mts +318 -0
  433. package/dist/plugins/sui/index.mjs +182 -0
  434. package/dist/plugins/sui/index.mjs.map +1 -0
  435. package/dist/plugins/sui/mode/external.mjs +60 -0
  436. package/dist/plugins/sui/mode/external.mjs.map +1 -0
  437. package/dist/plugins/sui/mode/fork.mjs +283 -0
  438. package/dist/plugins/sui/mode/fork.mjs.map +1 -0
  439. package/dist/plugins/sui/mode/live.mjs +103 -0
  440. package/dist/plugins/sui/mode/live.mjs.map +1 -0
  441. package/dist/plugins/sui/mode/local.mjs +293 -0
  442. package/dist/plugins/sui/mode/local.mjs.map +1 -0
  443. package/dist/plugins/sui/mode/shared-boot.mjs +254 -0
  444. package/dist/plugins/sui/mode/shared-boot.mjs.map +1 -0
  445. package/dist/plugins/sui/mode/shared.d.mts +103 -0
  446. package/dist/plugins/sui/mode/shared.mjs +12 -0
  447. package/dist/plugins/sui/mode/shared.mjs.map +1 -0
  448. package/dist/plugins/sui/mode/spec.d.mts +94 -0
  449. package/dist/plugins/sui/network-resolver.d.mts +23 -0
  450. package/dist/plugins/sui/routable.mjs +88 -0
  451. package/dist/plugins/sui/routable.mjs.map +1 -0
  452. package/dist/plugins/sui/seed-objects.d.mts +18 -0
  453. package/dist/plugins/sui/seed-objects.mjs +25 -0
  454. package/dist/plugins/sui/seed-objects.mjs.map +1 -0
  455. package/dist/plugins/sui/service.mjs +38 -0
  456. package/dist/plugins/sui/service.mjs.map +1 -0
  457. package/dist/plugins/sui/snapshot.mjs +53 -0
  458. package/dist/plugins/sui/snapshot.mjs.map +1 -0
  459. package/dist/plugins/wallet/codegen.d.mts +33 -0
  460. package/dist/plugins/wallet/codegen.mjs +34 -0
  461. package/dist/plugins/wallet/codegen.mjs.map +1 -0
  462. package/dist/plugins/wallet/errors.d.mts +66 -0
  463. package/dist/plugins/wallet/errors.mjs +16 -0
  464. package/dist/plugins/wallet/errors.mjs.map +1 -0
  465. package/dist/plugins/wallet/index.d.mts +63 -0
  466. package/dist/plugins/wallet/index.mjs +126 -0
  467. package/dist/plugins/wallet/index.mjs.map +1 -0
  468. package/dist/plugins/wallet/origin-policy.d.mts +1 -0
  469. package/dist/plugins/wallet/origin-policy.mjs +65 -0
  470. package/dist/plugins/wallet/origin-policy.mjs.map +1 -0
  471. package/dist/plugins/wallet/pairing.d.mts +11 -0
  472. package/dist/plugins/wallet/pairing.mjs +125 -0
  473. package/dist/plugins/wallet/pairing.mjs.map +1 -0
  474. package/dist/plugins/wallet/protocol.d.mts +1 -0
  475. package/dist/plugins/wallet/protocol.mjs +96 -0
  476. package/dist/plugins/wallet/protocol.mjs.map +1 -0
  477. package/dist/plugins/wallet/routable.mjs +32 -0
  478. package/dist/plugins/wallet/routable.mjs.map +1 -0
  479. package/dist/plugins/wallet/server.d.mts +12 -0
  480. package/dist/plugins/wallet/server.mjs +317 -0
  481. package/dist/plugins/wallet/server.mjs.map +1 -0
  482. package/dist/plugins/wallet/service.d.mts +68 -0
  483. package/dist/plugins/wallet/service.mjs +97 -0
  484. package/dist/plugins/wallet/service.mjs.map +1 -0
  485. package/dist/plugins/wallet/snapshot.d.mts +1 -0
  486. package/dist/plugins/wallet/snapshot.mjs +14 -0
  487. package/dist/plugins/wallet/snapshot.mjs.map +1 -0
  488. package/dist/plugins/walrus/bootstrap-assets/cargo-image.mjs +42 -0
  489. package/dist/plugins/walrus/bootstrap-assets/cargo-image.mjs.map +1 -0
  490. package/dist/plugins/walrus/codegen.d.mts +38 -0
  491. package/dist/plugins/walrus/codegen.mjs +34 -0
  492. package/dist/plugins/walrus/codegen.mjs.map +1 -0
  493. package/dist/plugins/walrus/deploy-paths.mjs +14 -0
  494. package/dist/plugins/walrus/deploy-paths.mjs.map +1 -0
  495. package/dist/plugins/walrus/deploy.d.mts +1 -0
  496. package/dist/plugins/walrus/deploy.mjs +224 -0
  497. package/dist/plugins/walrus/deploy.mjs.map +1 -0
  498. package/dist/plugins/walrus/errors.d.mts +38 -0
  499. package/dist/plugins/walrus/errors.mjs +26 -0
  500. package/dist/plugins/walrus/errors.mjs.map +1 -0
  501. package/dist/plugins/walrus/faucet-strategy.d.mts +12 -0
  502. package/dist/plugins/walrus/faucet-strategy.mjs +62 -0
  503. package/dist/plugins/walrus/faucet-strategy.mjs.map +1 -0
  504. package/dist/plugins/walrus/index.d.mts +177 -0
  505. package/dist/plugins/walrus/index.mjs +284 -0
  506. package/dist/plugins/walrus/index.mjs.map +1 -0
  507. package/dist/plugins/walrus/mode/known-deploy.d.mts +25 -0
  508. package/dist/plugins/walrus/mode/known-deploy.mjs +71 -0
  509. package/dist/plugins/walrus/mode/known-deploy.mjs.map +1 -0
  510. package/dist/plugins/walrus/mode/local-cluster.d.mts +34 -0
  511. package/dist/plugins/walrus/mode/local-cluster.mjs +153 -0
  512. package/dist/plugins/walrus/mode/local-cluster.mjs.map +1 -0
  513. package/dist/plugins/walrus/plugin-key.mjs +7 -0
  514. package/dist/plugins/walrus/plugin-key.mjs.map +1 -0
  515. package/dist/plugins/walrus/registry-publish.d.mts +24 -0
  516. package/dist/plugins/walrus/registry-publish.mjs +7 -0
  517. package/dist/plugins/walrus/registry-publish.mjs.map +1 -0
  518. package/dist/plugins/walrus/routable.mjs +99 -0
  519. package/dist/plugins/walrus/routable.mjs.map +1 -0
  520. package/dist/plugins/walrus/service.mjs +20 -0
  521. package/dist/plugins/walrus/service.mjs.map +1 -0
  522. package/dist/plugins/walrus/snapshot.mjs +53 -0
  523. package/dist/plugins/walrus/snapshot.mjs.map +1 -0
  524. package/dist/plugins/walrus/storage-nodes.d.mts +15 -0
  525. package/dist/plugins/walrus/storage-nodes.mjs +154 -0
  526. package/dist/plugins/walrus/storage-nodes.mjs.map +1 -0
  527. package/dist/plugins/walrus/wal-swap.d.mts +2 -0
  528. package/dist/plugins/walrus/wal-swap.mjs +58 -0
  529. package/dist/plugins/walrus/wal-swap.mjs.map +1 -0
  530. package/dist/primitives/artifact-publisher.d.mts +12 -0
  531. package/dist/primitives/cache.d.mts +1 -0
  532. package/dist/runtime/built-in-plugin-layers.mjs +49 -0
  533. package/dist/runtime/built-in-plugin-layers.mjs.map +1 -0
  534. package/dist/runtime/docker/client.d.mts +2 -0
  535. package/dist/runtime/docker/client.mjs +54 -0
  536. package/dist/runtime/docker/client.mjs.map +1 -0
  537. package/dist/runtime/docker/container.d.mts +1 -0
  538. package/dist/runtime/docker/container.mjs +562 -0
  539. package/dist/runtime/docker/container.mjs.map +1 -0
  540. package/dist/runtime/docker/errors.d.mts +1 -0
  541. package/dist/runtime/docker/errors.mjs +187 -0
  542. package/dist/runtime/docker/errors.mjs.map +1 -0
  543. package/dist/runtime/docker/exec.d.mts +1 -0
  544. package/dist/runtime/docker/exec.mjs +63 -0
  545. package/dist/runtime/docker/exec.mjs.map +1 -0
  546. package/dist/runtime/docker/image.d.mts +1 -0
  547. package/dist/runtime/docker/image.mjs +278 -0
  548. package/dist/runtime/docker/image.mjs.map +1 -0
  549. package/dist/runtime/docker/index.d.mts +1 -0
  550. package/dist/runtime/docker/inventory.d.mts +1 -0
  551. package/dist/runtime/docker/inventory.mjs +167 -0
  552. package/dist/runtime/docker/inventory.mjs.map +1 -0
  553. package/dist/runtime/docker/labels.d.mts +1 -0
  554. package/dist/runtime/docker/labels.mjs +97 -0
  555. package/dist/runtime/docker/labels.mjs.map +1 -0
  556. package/dist/runtime/docker/logs.d.mts +1 -0
  557. package/dist/runtime/docker/logs.mjs +34 -0
  558. package/dist/runtime/docker/logs.mjs.map +1 -0
  559. package/dist/runtime/docker/network.d.mts +1 -0
  560. package/dist/runtime/docker/network.mjs +168 -0
  561. package/dist/runtime/docker/network.mjs.map +1 -0
  562. package/dist/runtime/docker/service.d.mts +9 -0
  563. package/dist/runtime/docker/service.mjs +266 -0
  564. package/dist/runtime/docker/service.mjs.map +1 -0
  565. package/dist/runtime/docker/sweep.d.mts +1 -0
  566. package/dist/runtime/docker/sweep.mjs +220 -0
  567. package/dist/runtime/docker/sweep.mjs.map +1 -0
  568. package/dist/runtime/docker/volume.d.mts +1 -0
  569. package/dist/runtime/docker/volume.mjs +24 -0
  570. package/dist/runtime/docker/volume.mjs.map +1 -0
  571. package/dist/runtime/docker/wrap.d.mts +1 -0
  572. package/dist/runtime/docker/wrap.mjs +131 -0
  573. package/dist/runtime/docker/wrap.mjs.map +1 -0
  574. package/dist/substrate/brand.d.mts +24 -0
  575. package/dist/substrate/brand.mjs +14 -0
  576. package/dist/substrate/brand.mjs.map +1 -0
  577. package/dist/substrate/cross-process.d.mts +1 -0
  578. package/dist/substrate/cross-process.mjs +28 -0
  579. package/dist/substrate/cross-process.mjs.map +1 -0
  580. package/dist/substrate/events.d.mts +117 -0
  581. package/dist/substrate/identity.d.mts +13 -0
  582. package/dist/substrate/lifecycle.d.mts +12 -0
  583. package/dist/substrate/manifest.d.mts +39 -0
  584. package/dist/substrate/manifest.mjs +33 -0
  585. package/dist/substrate/manifest.mjs.map +1 -0
  586. package/dist/substrate/network.d.mts +34 -0
  587. package/dist/substrate/options.d.mts +23 -0
  588. package/dist/substrate/plugin.d.mts +101 -0
  589. package/dist/substrate/plugin.mjs +61 -0
  590. package/dist/substrate/plugin.mjs.map +1 -0
  591. package/dist/substrate/projection.d.mts +100 -0
  592. package/dist/substrate/runtime/artifact-publisher/index.mjs +76 -0
  593. package/dist/substrate/runtime/artifact-publisher/index.mjs.map +1 -0
  594. package/dist/substrate/runtime/atomic-write.mjs +106 -0
  595. package/dist/substrate/runtime/atomic-write.mjs.map +1 -0
  596. package/dist/substrate/runtime/cache/index.d.mts +1 -0
  597. package/dist/substrate/runtime/cache/schema.d.mts +1 -0
  598. package/dist/substrate/runtime/cache/schema.mjs +22 -0
  599. package/dist/substrate/runtime/cache/schema.mjs.map +1 -0
  600. package/dist/substrate/runtime/cache/service.d.mts +1 -0
  601. package/dist/substrate/runtime/cache/service.mjs +89 -0
  602. package/dist/substrate/runtime/cache/service.mjs.map +1 -0
  603. package/dist/substrate/runtime/capability-sinks/index.d.mts +1 -0
  604. package/dist/substrate/runtime/capability-sinks/layer.d.mts +1 -0
  605. package/dist/substrate/runtime/capability-sinks/layer.mjs +31 -0
  606. package/dist/substrate/runtime/capability-sinks/layer.mjs.map +1 -0
  607. package/dist/substrate/runtime/capability-sinks/service.d.mts +36 -0
  608. package/dist/substrate/runtime/capability-sinks/service.mjs +74 -0
  609. package/dist/substrate/runtime/capability-sinks/service.mjs.map +1 -0
  610. package/dist/substrate/runtime/config-validation.d.mts +38 -0
  611. package/dist/substrate/runtime/config-validation.mjs +137 -0
  612. package/dist/substrate/runtime/config-validation.mjs.map +1 -0
  613. package/dist/substrate/runtime/context-helpers.mjs +32 -0
  614. package/dist/substrate/runtime/context-helpers.mjs.map +1 -0
  615. package/dist/substrate/runtime/cross-process/command-channel/channel.mjs +128 -0
  616. package/dist/substrate/runtime/cross-process/command-channel/channel.mjs.map +1 -0
  617. package/dist/substrate/runtime/cross-process/command-channel/file-channel.mjs +136 -0
  618. package/dist/substrate/runtime/cross-process/command-channel/file-channel.mjs.map +1 -0
  619. package/dist/substrate/runtime/cross-process/command-channel/protocol.mjs +49 -0
  620. package/dist/substrate/runtime/cross-process/command-channel/protocol.mjs.map +1 -0
  621. package/dist/substrate/runtime/cross-process/command-channel/runtime-control-lock.mjs +9 -0
  622. package/dist/substrate/runtime/cross-process/command-channel/runtime-control-lock.mjs.map +1 -0
  623. package/dist/substrate/runtime/cross-process/liveness.mjs +119 -0
  624. package/dist/substrate/runtime/cross-process/liveness.mjs.map +1 -0
  625. package/dist/substrate/runtime/cross-process/roster.mjs +275 -0
  626. package/dist/substrate/runtime/cross-process/roster.mjs.map +1 -0
  627. package/dist/substrate/runtime/cross-process/snapshot-reservation.d.mts +1 -0
  628. package/dist/substrate/runtime/cross-process/snapshot-reservation.mjs +117 -0
  629. package/dist/substrate/runtime/cross-process/snapshot-reservation.mjs.map +1 -0
  630. package/dist/substrate/runtime/cross-process/stack-lock.d.mts +1 -0
  631. package/dist/substrate/runtime/cross-process/stack-lock.mjs +142 -0
  632. package/dist/substrate/runtime/cross-process/stack-lock.mjs.map +1 -0
  633. package/dist/substrate/runtime/current-plugin.mjs +15 -0
  634. package/dist/substrate/runtime/current-plugin.mjs.map +1 -0
  635. package/dist/substrate/runtime/errors.d.mts +1 -0
  636. package/dist/substrate/runtime/errors.mjs +76 -0
  637. package/dist/substrate/runtime/errors.mjs.map +1 -0
  638. package/dist/substrate/runtime/host-tree-tar/index.mjs +364 -0
  639. package/dist/substrate/runtime/host-tree-tar/index.mjs.map +1 -0
  640. package/dist/substrate/runtime/http-probe.d.mts +35 -0
  641. package/dist/substrate/runtime/http-probe.mjs +65 -0
  642. package/dist/substrate/runtime/http-probe.mjs.map +1 -0
  643. package/dist/substrate/runtime/lease-broker/index.d.mts +1 -0
  644. package/dist/substrate/runtime/lease-broker/service.d.mts +64 -0
  645. package/dist/substrate/runtime/lease-broker/service.mjs +155 -0
  646. package/dist/substrate/runtime/lease-broker/service.mjs.map +1 -0
  647. package/dist/substrate/runtime/lifecycle/dep-graph.d.mts +1 -0
  648. package/dist/substrate/runtime/lifecycle/dep-graph.mjs +138 -0
  649. package/dist/substrate/runtime/lifecycle/dep-graph.mjs.map +1 -0
  650. package/dist/substrate/runtime/lifecycle/index.d.mts +1 -0
  651. package/dist/substrate/runtime/lifecycle/lifecycle-fact.mjs +31 -0
  652. package/dist/substrate/runtime/lifecycle/lifecycle-fact.mjs.map +1 -0
  653. package/dist/substrate/runtime/lifecycle/plugin-registry.d.mts +1 -0
  654. package/dist/substrate/runtime/lifecycle/plugin-registry.mjs +133 -0
  655. package/dist/substrate/runtime/lifecycle/plugin-registry.mjs.map +1 -0
  656. package/dist/substrate/runtime/lifecycle/ready-gate.d.mts +1 -0
  657. package/dist/substrate/runtime/lifecycle/ready-gate.mjs +34 -0
  658. package/dist/substrate/runtime/lifecycle/ready-gate.mjs.map +1 -0
  659. package/dist/substrate/runtime/lifecycle/selective-restart.d.mts +1 -0
  660. package/dist/substrate/runtime/lifecycle/selective-restart.mjs +43 -0
  661. package/dist/substrate/runtime/lifecycle/selective-restart.mjs.map +1 -0
  662. package/dist/substrate/runtime/lifecycle/signals.d.mts +1 -0
  663. package/dist/substrate/runtime/lifecycle/signals.mjs +64 -0
  664. package/dist/substrate/runtime/lifecycle/signals.mjs.map +1 -0
  665. package/dist/substrate/runtime/lifecycle/state-machine.d.mts +1 -0
  666. package/dist/substrate/runtime/lifecycle/state-machine.mjs +38 -0
  667. package/dist/substrate/runtime/lifecycle/state-machine.mjs.map +1 -0
  668. package/dist/substrate/runtime/lifecycle/watch-attribution.d.mts +1 -0
  669. package/dist/substrate/runtime/lifecycle/watch-attribution.mjs +27 -0
  670. package/dist/substrate/runtime/lifecycle/watch-attribution.mjs.map +1 -0
  671. package/dist/substrate/runtime/managed-container.d.mts +30 -0
  672. package/dist/substrate/runtime/managed-container.mjs +32 -0
  673. package/dist/substrate/runtime/managed-container.mjs.map +1 -0
  674. package/dist/substrate/runtime/manifest/manifest.mjs +73 -0
  675. package/dist/substrate/runtime/manifest/manifest.mjs.map +1 -0
  676. package/dist/substrate/runtime/mode-errors.d.mts +36 -0
  677. package/dist/substrate/runtime/observability/cascade-formatter.d.mts +1 -0
  678. package/dist/substrate/runtime/observability/cascade-formatter.mjs +135 -0
  679. package/dist/substrate/runtime/observability/cascade-formatter.mjs.map +1 -0
  680. package/dist/substrate/runtime/observability/formatter-registry.d.mts +1 -0
  681. package/dist/substrate/runtime/observability/formatter-registry.mjs +65 -0
  682. package/dist/substrate/runtime/observability/formatter-registry.mjs.map +1 -0
  683. package/dist/substrate/runtime/observability/index.d.mts +3 -0
  684. package/dist/substrate/runtime/observability/logger.d.mts +58 -0
  685. package/dist/substrate/runtime/observability/logger.mjs +89 -0
  686. package/dist/substrate/runtime/observability/logger.mjs.map +1 -0
  687. package/dist/substrate/runtime/observability/pretty-error.d.mts +1 -0
  688. package/dist/substrate/runtime/observability/pretty-error.mjs +119 -0
  689. package/dist/substrate/runtime/observability/pretty-error.mjs.map +1 -0
  690. package/dist/substrate/runtime/observability/process-lines.d.mts +31 -0
  691. package/dist/substrate/runtime/observability/process-lines.mjs +40 -0
  692. package/dist/substrate/runtime/observability/process-lines.mjs.map +1 -0
  693. package/dist/substrate/runtime/observability/redaction.d.mts +28 -0
  694. package/dist/substrate/runtime/observability/redaction.mjs +45 -0
  695. package/dist/substrate/runtime/observability/redaction.mjs.map +1 -0
  696. package/dist/substrate/runtime/observability/spans.d.mts +1 -0
  697. package/dist/substrate/runtime/observability/spans.mjs +87 -0
  698. package/dist/substrate/runtime/observability/spans.mjs.map +1 -0
  699. package/dist/substrate/runtime/observability/subprocess-capture.d.mts +2 -0
  700. package/dist/substrate/runtime/observability/subprocess-capture.mjs +82 -0
  701. package/dist/substrate/runtime/observability/subprocess-capture.mjs.map +1 -0
  702. package/dist/substrate/runtime/paths.d.mts +17 -0
  703. package/dist/substrate/runtime/paths.mjs +61 -0
  704. package/dist/substrate/runtime/paths.mjs.map +1 -0
  705. package/dist/substrate/runtime/port-broker/index.d.mts +1 -0
  706. package/dist/substrate/runtime/port-broker/service.d.mts +1 -0
  707. package/dist/substrate/runtime/port-broker/service.mjs +319 -0
  708. package/dist/substrate/runtime/port-broker/service.mjs.map +1 -0
  709. package/dist/substrate/runtime/post-acquire-tasks.d.mts +1 -0
  710. package/dist/substrate/runtime/post-acquire-tasks.mjs +34 -0
  711. package/dist/substrate/runtime/post-acquire-tasks.mjs.map +1 -0
  712. package/dist/substrate/runtime/probes.d.mts +51 -0
  713. package/dist/substrate/runtime/probes.mjs +84 -0
  714. package/dist/substrate/runtime/probes.mjs.map +1 -0
  715. package/dist/substrate/runtime/process-supervisor.d.mts +57 -0
  716. package/dist/substrate/runtime/process-supervisor.mjs +73 -0
  717. package/dist/substrate/runtime/process-supervisor.mjs.map +1 -0
  718. package/dist/substrate/runtime/projection/operational-endpoints.mjs +44 -0
  719. package/dist/substrate/runtime/projection/operational-endpoints.mjs.map +1 -0
  720. package/dist/substrate/runtime/projection/persisted.mjs +195 -0
  721. package/dist/substrate/runtime/projection/persisted.mjs.map +1 -0
  722. package/dist/substrate/runtime/projection/state-ref.mjs +48 -0
  723. package/dist/substrate/runtime/projection/state-ref.mjs.map +1 -0
  724. package/dist/substrate/runtime/projection/update.mjs +200 -0
  725. package/dist/substrate/runtime/projection/update.mjs.map +1 -0
  726. package/dist/substrate/runtime/retry-policy.d.mts +18 -0
  727. package/dist/substrate/runtime/retry-policy.mjs +16 -0
  728. package/dist/substrate/runtime/retry-policy.mjs.map +1 -0
  729. package/dist/substrate/runtime/run.mjs +86 -0
  730. package/dist/substrate/runtime/run.mjs.map +1 -0
  731. package/dist/substrate/runtime/runtime-decode.d.mts +32 -0
  732. package/dist/substrate/runtime/runtime-decode.mjs +53 -0
  733. package/dist/substrate/runtime/runtime-decode.mjs.map +1 -0
  734. package/dist/substrate/runtime/scoped-http-server.mjs +36 -0
  735. package/dist/substrate/runtime/scoped-http-server.mjs.map +1 -0
  736. package/dist/substrate/runtime/scoped-ref-map/service.mjs +83 -0
  737. package/dist/substrate/runtime/scoped-ref-map/service.mjs.map +1 -0
  738. package/dist/substrate/runtime/stage-and-swap/index.d.mts +1 -0
  739. package/dist/substrate/runtime/stage-and-swap/index.mjs +131 -0
  740. package/dist/substrate/runtime/stage-and-swap/index.mjs.map +1 -0
  741. package/dist/substrate/runtime/state-store/schema.mjs +36 -0
  742. package/dist/substrate/runtime/state-store/schema.mjs.map +1 -0
  743. package/dist/substrate/runtime/strategy-registry/chain-probe-for.d.mts +1 -0
  744. package/dist/substrate/runtime/strategy-registry/chain-probe-for.mjs +22 -0
  745. package/dist/substrate/runtime/strategy-registry/chain-probe-for.mjs.map +1 -0
  746. package/dist/substrate/runtime/strategy-registry/faucet-capability-for.d.mts +1 -0
  747. package/dist/substrate/runtime/strategy-registry/faucet-capability-for.mjs +30 -0
  748. package/dist/substrate/runtime/strategy-registry/faucet-capability-for.mjs.map +1 -0
  749. package/dist/substrate/runtime/strategy-registry/index.d.mts +1 -0
  750. package/dist/substrate/runtime/strategy-registry/service.d.mts +1 -0
  751. package/dist/substrate/runtime/strategy-registry/service.mjs +67 -0
  752. package/dist/substrate/runtime/strategy-registry/service.mjs.map +1 -0
  753. package/dist/substrate/runtime/sui-execute/index.d.mts +11 -0
  754. package/dist/substrate/runtime/sui-execute/index.mjs +144 -0
  755. package/dist/substrate/runtime/sui-execute/index.mjs.map +1 -0
  756. package/dist/substrate/runtime/sui-move-build/index.d.mts +1 -0
  757. package/dist/substrate/runtime/sui-move-build/index.mjs +283 -0
  758. package/dist/substrate/runtime/sui-move-build/index.mjs.map +1 -0
  759. package/dist/substrate/runtime/supervisor.d.mts +1 -0
  760. package/dist/substrate/runtime/supervisor.mjs +831 -0
  761. package/dist/substrate/runtime/supervisor.mjs.map +1 -0
  762. package/dist/surfaces/cli/command-tree.mjs +276 -0
  763. package/dist/surfaces/cli/command-tree.mjs.map +1 -0
  764. package/dist/surfaces/cli/commands/config.mjs +31 -0
  765. package/dist/surfaces/cli/commands/config.mjs.map +1 -0
  766. package/dist/surfaces/cli/commands/confirm-node.mjs +26 -0
  767. package/dist/surfaces/cli/commands/confirm-node.mjs.map +1 -0
  768. package/dist/surfaces/cli/commands/confirm.mjs +26 -0
  769. package/dist/surfaces/cli/commands/confirm.mjs.map +1 -0
  770. package/dist/surfaces/cli/commands/doctor-probes.mjs +452 -0
  771. package/dist/surfaces/cli/commands/doctor-probes.mjs.map +1 -0
  772. package/dist/surfaces/cli/commands/doctor.mjs +38 -0
  773. package/dist/surfaces/cli/commands/doctor.mjs.map +1 -0
  774. package/dist/surfaces/cli/commands/prune-picker.mjs +347 -0
  775. package/dist/surfaces/cli/commands/prune-picker.mjs.map +1 -0
  776. package/dist/surfaces/cli/commands/prune.mjs +178 -0
  777. package/dist/surfaces/cli/commands/prune.mjs.map +1 -0
  778. package/dist/surfaces/cli/commands/snapshot.mjs +141 -0
  779. package/dist/surfaces/cli/commands/snapshot.mjs.map +1 -0
  780. package/dist/surfaces/cli/commands/status.mjs +95 -0
  781. package/dist/surfaces/cli/commands/status.mjs.map +1 -0
  782. package/dist/surfaces/cli/commands/supervisor-presence.mjs +33 -0
  783. package/dist/surfaces/cli/commands/supervisor-presence.mjs.map +1 -0
  784. package/dist/surfaces/cli/commands/wipe.mjs +28 -0
  785. package/dist/surfaces/cli/commands/wipe.mjs.map +1 -0
  786. package/dist/surfaces/cli/envelope.mjs +43 -0
  787. package/dist/surfaces/cli/envelope.mjs.map +1 -0
  788. package/dist/surfaces/cli/errors.mjs +110 -0
  789. package/dist/surfaces/cli/errors.mjs.map +1 -0
  790. package/dist/surfaces/cli/flags.mjs +56 -0
  791. package/dist/surfaces/cli/flags.mjs.map +1 -0
  792. package/dist/surfaces/cli/index.mjs +418 -0
  793. package/dist/surfaces/cli/index.mjs.map +1 -0
  794. package/dist/surfaces/cli/output.mjs +115 -0
  795. package/dist/surfaces/cli/output.mjs.map +1 -0
  796. package/dist/surfaces/cli/sysexits.mjs +139 -0
  797. package/dist/surfaces/cli/sysexits.mjs.map +1 -0
  798. package/dist/surfaces/tui/app.mjs +104 -0
  799. package/dist/surfaces/tui/app.mjs.map +1 -0
  800. package/dist/surfaces/tui/dashboard.mjs +261 -0
  801. package/dist/surfaces/tui/dashboard.mjs.map +1 -0
  802. package/dist/surfaces/tui/display-derivation.mjs +395 -0
  803. package/dist/surfaces/tui/display-derivation.mjs.map +1 -0
  804. package/dist/surfaces/tui/errors.mjs +11 -0
  805. package/dist/surfaces/tui/errors.mjs.map +1 -0
  806. package/dist/surfaces/tui/event-log.mjs +155 -0
  807. package/dist/surfaces/tui/event-log.mjs.map +1 -0
  808. package/dist/surfaces/tui/heartbeat.mjs +33 -0
  809. package/dist/surfaces/tui/heartbeat.mjs.map +1 -0
  810. package/dist/surfaces/tui/index.mjs +50 -0
  811. package/dist/surfaces/tui/index.mjs.map +1 -0
  812. package/dist/surfaces/tui/input.mjs +104 -0
  813. package/dist/surfaces/tui/input.mjs.map +1 -0
  814. package/dist/surfaces/tui/mode-detect.mjs +32 -0
  815. package/dist/surfaces/tui/mode-detect.mjs.map +1 -0
  816. package/dist/surfaces/tui/mount-ink.mjs +31 -0
  817. package/dist/surfaces/tui/mount-ink.mjs.map +1 -0
  818. package/dist/surfaces/tui/plain-renderer.mjs +170 -0
  819. package/dist/surfaces/tui/plain-renderer.mjs.map +1 -0
  820. package/dist/surfaces/tui/resource-table.mjs +507 -0
  821. package/dist/surfaces/tui/resource-table.mjs.map +1 -0
  822. package/images/_shared/signal-forward.sh +77 -0
  823. package/images/postgres/Dockerfile +32 -0
  824. package/images/seal/Dockerfile +68 -0
  825. package/images/seal/entrypoint.sh +65 -0
  826. package/images/sui/Dockerfile +73 -0
  827. package/images/sui/entrypoint.sh +244 -0
  828. package/images/sui-fork/Dockerfile +53 -0
  829. package/images/sui-fork/entrypoint.sh +51 -0
  830. package/images/walrus/Dockerfile +122 -0
  831. package/images/walrus/deploy-walrus.sh +305 -0
  832. package/images/walrus/run-walrus.sh +53 -0
  833. package/package.json +94 -0
@@ -0,0 +1,96 @@
1
+ import { suiPluginError } from "./errors.mjs";
2
+ import { Effect } from "effect";
3
+ import { normalizeSuiAddress } from "@mysten/sui/utils";
4
+ import { Inputs, TransactionDataBuilder } from "@mysten/sui/transactions";
5
+ //#region src/plugins/sui/fork-transaction.ts
6
+ const FORK_IMPERSONATION_GAS_BUDGET = 1000000000n;
7
+ const FORK_IMPERSONATION_GAS_PRICE = 1000n;
8
+ const prepareForkImpersonationTransaction = (tx, sender, gasPayment) => {
9
+ tx.setSender(sender);
10
+ tx.setGasBudget(FORK_IMPERSONATION_GAS_BUDGET);
11
+ tx.setGasPrice(FORK_IMPERSONATION_GAS_PRICE);
12
+ tx.setGasOwner(sender);
13
+ tx.setGasPayment([...gasPayment]);
14
+ if (tx.getData().expiration == null) tx.setExpiration({ None: true });
15
+ };
16
+ const buildForkImpersonationTransactionBytes = (tx, sender, client) => Effect.tryPromise({
17
+ try: async () => {
18
+ prepareForkImpersonationTransaction(tx, sender, await selectForkImpersonationGasPayment(client, sender));
19
+ await tx.prepareForSerialization({});
20
+ const data = tx.getData();
21
+ data.inputs = await Promise.all(data.inputs.map((input) => resolveForkInput(input, client)));
22
+ return TransactionDataBuilder.restore(data).build();
23
+ },
24
+ catch: (cause) => suiPluginError("fork-impersonate", `sui fork mode: failed to build fork impersonation transaction for ${sender}: ${stringifyCause(cause)}`, cause)
25
+ });
26
+ const resolveForkInput = async (input, client) => {
27
+ if (input.UnresolvedObject === void 0) return input;
28
+ const unresolved = input.UnresolvedObject;
29
+ if (unresolved.initialSharedVersion != null) return Inputs.SharedObjectRef({
30
+ objectId: unresolved.objectId,
31
+ initialSharedVersion: unresolved.initialSharedVersion,
32
+ mutable: unresolved.mutable ?? true
33
+ });
34
+ if (unresolved.version != null && unresolved.digest != null) return Inputs.ObjectRef({
35
+ objectId: unresolved.objectId,
36
+ version: unresolved.version,
37
+ digest: unresolved.digest
38
+ });
39
+ const object = objectFromGetObjectResponse(await client.getObject({ objectId: unresolved.objectId }));
40
+ const owner = object.owner;
41
+ if (owner?.$kind === "Shared" && owner.Shared !== void 0) return Inputs.SharedObjectRef({
42
+ objectId: object.objectId,
43
+ initialSharedVersion: owner.Shared.initialSharedVersion,
44
+ mutable: unresolved.mutable ?? true
45
+ });
46
+ return Inputs.ObjectRef({
47
+ objectId: object.objectId,
48
+ version: object.version,
49
+ digest: object.digest
50
+ });
51
+ };
52
+ const objectFromGetObjectResponse = (response) => {
53
+ const object = response.object;
54
+ if (typeof object !== "object" || object === null) throw new Error(`getObject returned no object: ${JSON.stringify(response)}`);
55
+ const candidate = object;
56
+ if (typeof candidate.objectId !== "string" || typeof candidate.version !== "string" || typeof candidate.digest !== "string") throw new Error(`getObject returned incomplete object ref: ${JSON.stringify(response)}`);
57
+ return {
58
+ objectId: candidate.objectId,
59
+ version: candidate.version,
60
+ digest: candidate.digest,
61
+ owner: candidate.owner
62
+ };
63
+ };
64
+ const selectForkImpersonationGasPayment = async (client, sender) => {
65
+ const coin = (await client.listCoins({
66
+ owner: sender,
67
+ limit: 1
68
+ })).objects[0];
69
+ if (coin === void 0) throw new Error(`no SUI gas coins found for ${sender}`);
70
+ return [{
71
+ objectId: coin.objectId,
72
+ version: String(coin.version),
73
+ digest: coin.digest
74
+ }];
75
+ };
76
+ const verifyForkImpersonationSender = (sender, txBytes) => Effect.try({
77
+ try: () => {
78
+ const actual = TransactionDataBuilder.fromBytes(txBytes).snapshot().sender;
79
+ if (actual == null) throw new Error("transaction has no sender");
80
+ if (normalizeSuiAddress(actual) !== normalizeSuiAddress(sender)) throw new Error(`transaction sender ${actual} does not match impersonated sender ${sender}`);
81
+ },
82
+ catch: (cause) => suiPluginError("fork-impersonate", `sui fork mode: refused impersonation transaction: ${stringifyCause(cause)}`, cause)
83
+ });
84
+ const stringifyCause = (cause) => {
85
+ if (cause instanceof Error) return cause.message;
86
+ if (typeof cause === "string") return cause;
87
+ try {
88
+ return JSON.stringify(cause);
89
+ } catch {
90
+ return String(cause);
91
+ }
92
+ };
93
+ //#endregion
94
+ export { buildForkImpersonationTransactionBytes, verifyForkImpersonationSender };
95
+
96
+ //# sourceMappingURL=fork-transaction.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fork-transaction.mjs","names":[],"sources":["../../../src/plugins/sui/fork-transaction.ts"],"sourcesContent":["import { Effect } from 'effect';\n\nimport {\n\tInputs,\n\tTransaction,\n\tTransactionDataBuilder,\n\ttype CallArg,\n} from '@mysten/sui/transactions';\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\n\nimport { suiPluginError, type SuiPluginError } from './errors.ts';\n\nexport const FORK_IMPERSONATION_GAS_BUDGET = 1_000_000_000n;\nexport const FORK_IMPERSONATION_GAS_PRICE = 1_000n;\n\ninterface ForkImpersonationGasClient {\n\treadonly getObject: (input: { readonly objectId: string }) => Promise<unknown>;\n\treadonly listCoins: (input: {\n\t\treadonly owner: string;\n\t\treadonly coinType?: string;\n\t\treadonly limit?: number;\n\t}) => Promise<{\n\t\treadonly objects: ReadonlyArray<{\n\t\t\treadonly objectId: string;\n\t\t\treadonly version: string | number | bigint;\n\t\t\treadonly digest: string;\n\t\t\treadonly balance?: string | number | bigint;\n\t\t}>;\n\t}>;\n}\n\nexport const prepareForkImpersonationTransaction = (\n\ttx: Transaction,\n\tsender: string,\n\tgasPayment: ReadonlyArray<{\n\t\treadonly objectId: string;\n\t\treadonly version: string;\n\t\treadonly digest: string;\n\t}>,\n): void => {\n\ttx.setSender(sender);\n\n\ttx.setGasBudget(FORK_IMPERSONATION_GAS_BUDGET);\n\ttx.setGasPrice(FORK_IMPERSONATION_GAS_PRICE);\n\ttx.setGasOwner(sender);\n\ttx.setGasPayment([...gasPayment]);\n\n\tconst data = tx.getData();\n\tif (data.expiration == null) tx.setExpiration({ None: true });\n};\n\nexport const buildForkImpersonationTransactionBytes = (\n\ttx: Transaction,\n\tsender: string,\n\tclient: ForkImpersonationGasClient,\n): Effect.Effect<Uint8Array, SuiPluginError> =>\n\tEffect.tryPromise({\n\t\ttry: async () => {\n\t\t\tconst gasPayment = await selectForkImpersonationGasPayment(client, sender);\n\t\t\tprepareForkImpersonationTransaction(tx, sender, gasPayment);\n\t\t\tawait tx.prepareForSerialization({});\n\t\t\tconst data = tx.getData();\n\t\t\tdata.inputs = await Promise.all(data.inputs.map((input) => resolveForkInput(input, client)));\n\t\t\treturn TransactionDataBuilder.restore(data).build();\n\t\t},\n\t\tcatch: (cause) =>\n\t\t\tsuiPluginError(\n\t\t\t\t'fork-impersonate',\n\t\t\t\t`sui fork mode: failed to build fork impersonation transaction for ${sender}: ${stringifyCause(cause)}`,\n\t\t\t\tcause,\n\t\t\t),\n\t});\n\nconst resolveForkInput = async (\n\tinput: CallArg,\n\tclient: ForkImpersonationGasClient,\n): Promise<CallArg> => {\n\tif (input.UnresolvedObject === undefined) return input;\n\tconst unresolved = input.UnresolvedObject;\n\tif (unresolved.initialSharedVersion != null) {\n\t\treturn Inputs.SharedObjectRef({\n\t\t\tobjectId: unresolved.objectId,\n\t\t\tinitialSharedVersion: unresolved.initialSharedVersion,\n\t\t\tmutable: unresolved.mutable ?? true,\n\t\t});\n\t}\n\tif (unresolved.version != null && unresolved.digest != null) {\n\t\treturn Inputs.ObjectRef({\n\t\t\tobjectId: unresolved.objectId,\n\t\t\tversion: unresolved.version,\n\t\t\tdigest: unresolved.digest,\n\t\t});\n\t}\n\n\tconst object = objectFromGetObjectResponse(\n\t\tawait client.getObject({ objectId: unresolved.objectId }),\n\t);\n\tconst owner = object.owner;\n\tif (owner?.$kind === 'Shared' && owner.Shared !== undefined) {\n\t\treturn Inputs.SharedObjectRef({\n\t\t\tobjectId: object.objectId,\n\t\t\tinitialSharedVersion: owner.Shared.initialSharedVersion,\n\t\t\tmutable: unresolved.mutable ?? true,\n\t\t});\n\t}\n\treturn Inputs.ObjectRef({\n\t\tobjectId: object.objectId,\n\t\tversion: object.version,\n\t\tdigest: object.digest,\n\t});\n};\n\nconst objectFromGetObjectResponse = (\n\tresponse: unknown,\n): {\n\treadonly objectId: string;\n\treadonly version: string;\n\treadonly digest: string;\n\treadonly owner?: {\n\t\treadonly $kind?: string;\n\t\treadonly Shared?: { readonly initialSharedVersion: string };\n\t};\n} => {\n\tconst object = (response as { readonly object?: unknown }).object;\n\tif (typeof object !== 'object' || object === null) {\n\t\tthrow new Error(`getObject returned no object: ${JSON.stringify(response)}`);\n\t}\n\tconst candidate = object as {\n\t\treadonly objectId?: unknown;\n\t\treadonly version?: unknown;\n\t\treadonly digest?: unknown;\n\t\treadonly owner?: {\n\t\t\treadonly $kind?: string;\n\t\t\treadonly Shared?: { readonly initialSharedVersion: string };\n\t\t};\n\t};\n\tif (\n\t\ttypeof candidate.objectId !== 'string' ||\n\t\ttypeof candidate.version !== 'string' ||\n\t\ttypeof candidate.digest !== 'string'\n\t) {\n\t\tthrow new Error(`getObject returned incomplete object ref: ${JSON.stringify(response)}`);\n\t}\n\treturn {\n\t\tobjectId: candidate.objectId,\n\t\tversion: candidate.version,\n\t\tdigest: candidate.digest,\n\t\towner: candidate.owner,\n\t};\n};\n\nconst selectForkImpersonationGasPayment = async (\n\tclient: ForkImpersonationGasClient,\n\tsender: string,\n): Promise<\n\tReadonlyArray<{ readonly objectId: string; readonly version: string; readonly digest: string }>\n> => {\n\tconst response = await client.listCoins({ owner: sender, limit: 1 });\n\tconst coin = response.objects[0];\n\tif (coin === undefined) {\n\t\tthrow new Error(`no SUI gas coins found for ${sender}`);\n\t}\n\treturn [\n\t\t{\n\t\t\tobjectId: coin.objectId,\n\t\t\tversion: String(coin.version),\n\t\t\tdigest: coin.digest,\n\t\t},\n\t];\n};\n\nexport const verifyForkImpersonationSender = (\n\tsender: string,\n\ttxBytes: Uint8Array,\n): Effect.Effect<void, SuiPluginError> =>\n\tEffect.try({\n\t\ttry: () => {\n\t\t\tconst actual = TransactionDataBuilder.fromBytes(txBytes).snapshot().sender;\n\t\t\tif (actual == null) {\n\t\t\t\tthrow new Error('transaction has no sender');\n\t\t\t}\n\t\t\tif (normalizeSuiAddress(actual) !== normalizeSuiAddress(sender)) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`transaction sender ${actual} does not match impersonated sender ${sender}`,\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tcatch: (cause) =>\n\t\t\tsuiPluginError(\n\t\t\t\t'fork-impersonate',\n\t\t\t\t`sui fork mode: refused impersonation transaction: ${stringifyCause(cause)}`,\n\t\t\t\tcause,\n\t\t\t),\n\t});\n\nconst stringifyCause = (cause: unknown): string => {\n\tif (cause instanceof Error) return cause.message;\n\tif (typeof cause === 'string') return cause;\n\ttry {\n\t\treturn JSON.stringify(cause);\n\t} catch {\n\t\treturn String(cause);\n\t}\n};\n"],"mappings":"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"}
@@ -0,0 +1,318 @@
1
+ import { ChainId } from "../../substrate/brand.mjs";
2
+ import { CodegenableDecl } from "../../contracts/codegenable.mjs";
3
+ import { RoutableDecl } from "../../contracts/routable.mjs";
4
+ import { SnapshotableDecl } from "../../contracts/snapshotable.mjs";
5
+ import { StrategyContributorDecl } from "../../contracts/strategy-contributor.mjs";
6
+ import { Plugin } from "../../substrate/plugin.mjs";
7
+ import { ImageRef } from "../../contracts/container-runtime.mjs";
8
+ import { ModeNamespace } from "../../api/mode-narrowed-factory.mjs";
9
+ import { ChainProbe, ChainProbeError, ChainProbeMode } from "../../contracts/chain-probe.mjs";
10
+ import { SuiProbeKey, SuiSdkShim } from "./chain-probe.mjs";
11
+ import { LeaseBroker } from "../../substrate/runtime/lease-broker/service.mjs";
12
+ import { FaucetStrategy } from "../faucet/strategies/sui-local.mjs";
13
+ import { SeedObjectsAccumulator } from "./seed-objects.mjs";
14
+ import { ForkUnsupportedError, SeedManifestMismatchError, SuiCliError, SuiConfigError, SuiError, SuiFundsReadyError, SuiPluginError } from "./errors.mjs";
15
+ import { ForkAdminSurface, SuiClient, WaitForTransactionsReady } from "./mode/shared.mjs";
16
+ import { SuiForkOptions, SuiLiveOptions, SuiLocalOptions, SuiLocalRpcOptions, SuiOptions, SuiPluginMode } from "./mode/spec.mjs";
17
+ import { FundsReadyError, FundsReadyStrategy } from "../../contracts/network-resolver.mjs";
18
+ import { ResolvedSuiNetwork } from "./network-resolver.mjs";
19
+ import { SuiNetworkBindings } from "./codegen.mjs";
20
+ import { Effect } from "effect";
21
+
22
+ //#region src/plugins/sui/index.d.ts
23
+ declare const fundingFaucetLeaseBrokerSymbol: unique symbol;
24
+ /** The Sui plugin's resource identity. The id is `'sui'` (singular). */
25
+ /** Local Sui shorthand. Network/env selection belongs to the CLI or
26
+ * `defineDevstackWith(...)`; plain `sui()` always means an in-stack
27
+ * local validator. */
28
+ declare const sui: (opts?: SuiOptions) => Plugin<"sui", {
29
+ mode: "local" | "local-rpc" | "live" | "fork";
30
+ seedObjects: SeedObjectsAccumulator;
31
+ [fundingFaucetLeaseBrokerSymbol]: LeaseBroker;
32
+ sdk: SuiSdkShim;
33
+ rpcUrl: string;
34
+ faucetUrl: string | null;
35
+ fundingFaucetUrl: string | null;
36
+ graphqlUrl: string | null;
37
+ hostGateway: {
38
+ readonly rpcUrl: string;
39
+ readonly faucetUrl: string | null;
40
+ readonly graphqlUrl: string | null;
41
+ };
42
+ chain: ChainId;
43
+ waitForTransactionsReady: WaitForTransactionsReady;
44
+ chainProbe: ChainProbe<SuiProbeKey>;
45
+ fork: ForkAdminSurface | null;
46
+ buildImage: ImageRef | null;
47
+ }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
48
+ kind: "strategy-contributor";
49
+ capabilityKey: `faucet:request:${ChainId}`;
50
+ strategy: FaucetStrategy;
51
+ autoMounted: true;
52
+ } | StrategyContributorDecl<"gate:funds-ready", {
53
+ readonly waitFundsReady: Effect.Effect<void, SuiPluginError>;
54
+ }> | StrategyContributorDecl<"sui:seed-objects", SeedObjectsAccumulator>)[]]>;
55
+ /** Mode-narrowed factory namespace.
56
+ *
57
+ * Usage:
58
+ * const network = { mode: 'local', chain: 'sui:localnet' } as const;
59
+ * suiFor(network).local({...}) // OK
60
+ * suiFor(network).fork({...}) // type error: 'fork' not in 'local' branch
61
+ *
62
+ * The namespace MIRRORS the four mode option records: `local`,
63
+ * `localRpc` (mapped onto the substrate `'local'` branch),
64
+ * `live`, `fork`. */
65
+ declare const suiFor: ModeNamespace<{
66
+ local: {
67
+ local: (opts?: Omit<SuiLocalOptions, "mode">) => Plugin<"sui", {
68
+ mode: "local" | "local-rpc" | "live" | "fork";
69
+ seedObjects: SeedObjectsAccumulator;
70
+ [fundingFaucetLeaseBrokerSymbol]: LeaseBroker;
71
+ sdk: SuiSdkShim;
72
+ rpcUrl: string;
73
+ faucetUrl: string | null;
74
+ fundingFaucetUrl: string | null;
75
+ graphqlUrl: string | null;
76
+ hostGateway: {
77
+ readonly rpcUrl: string;
78
+ readonly faucetUrl: string | null;
79
+ readonly graphqlUrl: string | null;
80
+ };
81
+ chain: ChainId;
82
+ waitForTransactionsReady: WaitForTransactionsReady;
83
+ chainProbe: ChainProbe<SuiProbeKey>;
84
+ fork: ForkAdminSurface | null;
85
+ buildImage: ImageRef | null;
86
+ }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
87
+ kind: "strategy-contributor";
88
+ capabilityKey: `faucet:request:${ChainId}`;
89
+ strategy: FaucetStrategy;
90
+ autoMounted: true;
91
+ } | StrategyContributorDecl<"gate:funds-ready", {
92
+ readonly waitFundsReady: Effect.Effect<void, SuiPluginError>;
93
+ }> | StrategyContributorDecl<"sui:seed-objects", SeedObjectsAccumulator>)[]]>;
94
+ localRpc: (opts: Omit<SuiLocalRpcOptions, "mode">) => Plugin<"sui", {
95
+ mode: "local" | "local-rpc" | "live" | "fork";
96
+ seedObjects: SeedObjectsAccumulator;
97
+ [fundingFaucetLeaseBrokerSymbol]: LeaseBroker;
98
+ sdk: SuiSdkShim;
99
+ rpcUrl: string;
100
+ faucetUrl: string | null;
101
+ fundingFaucetUrl: string | null;
102
+ graphqlUrl: string | null;
103
+ hostGateway: {
104
+ readonly rpcUrl: string;
105
+ readonly faucetUrl: string | null;
106
+ readonly graphqlUrl: string | null;
107
+ };
108
+ chain: ChainId;
109
+ waitForTransactionsReady: WaitForTransactionsReady;
110
+ chainProbe: ChainProbe<SuiProbeKey>;
111
+ fork: ForkAdminSurface | null;
112
+ buildImage: ImageRef | null;
113
+ }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
114
+ kind: "strategy-contributor";
115
+ capabilityKey: `faucet:request:${ChainId}`;
116
+ strategy: FaucetStrategy;
117
+ autoMounted: true;
118
+ } | StrategyContributorDecl<"gate:funds-ready", {
119
+ readonly waitFundsReady: Effect.Effect<void, SuiPluginError>;
120
+ }> | StrategyContributorDecl<"sui:seed-objects", SeedObjectsAccumulator>)[]]>;
121
+ };
122
+ live: {
123
+ testnet: (opts?: Omit<SuiLiveOptions, "mode" | "network">) => Plugin<"sui", {
124
+ mode: "local" | "local-rpc" | "live" | "fork";
125
+ seedObjects: SeedObjectsAccumulator;
126
+ [fundingFaucetLeaseBrokerSymbol]: LeaseBroker;
127
+ sdk: SuiSdkShim;
128
+ rpcUrl: string;
129
+ faucetUrl: string | null;
130
+ fundingFaucetUrl: string | null;
131
+ graphqlUrl: string | null;
132
+ hostGateway: {
133
+ readonly rpcUrl: string;
134
+ readonly faucetUrl: string | null;
135
+ readonly graphqlUrl: string | null;
136
+ };
137
+ chain: ChainId;
138
+ waitForTransactionsReady: WaitForTransactionsReady;
139
+ chainProbe: ChainProbe<SuiProbeKey>;
140
+ fork: ForkAdminSurface | null;
141
+ buildImage: ImageRef | null;
142
+ }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
143
+ kind: "strategy-contributor";
144
+ capabilityKey: `faucet:request:${ChainId}`;
145
+ strategy: FaucetStrategy;
146
+ autoMounted: true;
147
+ } | StrategyContributorDecl<"gate:funds-ready", {
148
+ readonly waitFundsReady: Effect.Effect<void, SuiPluginError>;
149
+ }> | StrategyContributorDecl<"sui:seed-objects", SeedObjectsAccumulator>)[]]>;
150
+ mainnet: (opts?: Omit<SuiLiveOptions, "mode" | "network">) => Plugin<"sui", {
151
+ mode: "local" | "local-rpc" | "live" | "fork";
152
+ seedObjects: SeedObjectsAccumulator;
153
+ [fundingFaucetLeaseBrokerSymbol]: LeaseBroker;
154
+ sdk: SuiSdkShim;
155
+ rpcUrl: string;
156
+ faucetUrl: string | null;
157
+ fundingFaucetUrl: string | null;
158
+ graphqlUrl: string | null;
159
+ hostGateway: {
160
+ readonly rpcUrl: string;
161
+ readonly faucetUrl: string | null;
162
+ readonly graphqlUrl: string | null;
163
+ };
164
+ chain: ChainId;
165
+ waitForTransactionsReady: WaitForTransactionsReady;
166
+ chainProbe: ChainProbe<SuiProbeKey>;
167
+ fork: ForkAdminSurface | null;
168
+ buildImage: ImageRef | null;
169
+ }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
170
+ kind: "strategy-contributor";
171
+ capabilityKey: `faucet:request:${ChainId}`;
172
+ strategy: FaucetStrategy;
173
+ autoMounted: true;
174
+ } | StrategyContributorDecl<"gate:funds-ready", {
175
+ readonly waitFundsReady: Effect.Effect<void, SuiPluginError>;
176
+ }> | StrategyContributorDecl<"sui:seed-objects", SeedObjectsAccumulator>)[]]>;
177
+ devnet: (opts?: Omit<SuiLiveOptions, "mode" | "network">) => Plugin<"sui", {
178
+ mode: "local" | "local-rpc" | "live" | "fork";
179
+ seedObjects: SeedObjectsAccumulator;
180
+ [fundingFaucetLeaseBrokerSymbol]: LeaseBroker;
181
+ sdk: SuiSdkShim;
182
+ rpcUrl: string;
183
+ faucetUrl: string | null;
184
+ fundingFaucetUrl: string | null;
185
+ graphqlUrl: string | null;
186
+ hostGateway: {
187
+ readonly rpcUrl: string;
188
+ readonly faucetUrl: string | null;
189
+ readonly graphqlUrl: string | null;
190
+ };
191
+ chain: ChainId;
192
+ waitForTransactionsReady: WaitForTransactionsReady;
193
+ chainProbe: ChainProbe<SuiProbeKey>;
194
+ fork: ForkAdminSurface | null;
195
+ buildImage: ImageRef | null;
196
+ }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
197
+ kind: "strategy-contributor";
198
+ capabilityKey: `faucet:request:${ChainId}`;
199
+ strategy: FaucetStrategy;
200
+ autoMounted: true;
201
+ } | StrategyContributorDecl<"gate:funds-ready", {
202
+ readonly waitFundsReady: Effect.Effect<void, SuiPluginError>;
203
+ }> | StrategyContributorDecl<"sui:seed-objects", SeedObjectsAccumulator>)[]]>;
204
+ custom: (opts: Omit<SuiLiveOptions, "mode" | "network">) => Plugin<"sui", {
205
+ mode: "local" | "local-rpc" | "live" | "fork";
206
+ seedObjects: SeedObjectsAccumulator;
207
+ [fundingFaucetLeaseBrokerSymbol]: LeaseBroker;
208
+ sdk: SuiSdkShim;
209
+ rpcUrl: string;
210
+ faucetUrl: string | null;
211
+ fundingFaucetUrl: string | null;
212
+ graphqlUrl: string | null;
213
+ hostGateway: {
214
+ readonly rpcUrl: string;
215
+ readonly faucetUrl: string | null;
216
+ readonly graphqlUrl: string | null;
217
+ };
218
+ chain: ChainId;
219
+ waitForTransactionsReady: WaitForTransactionsReady;
220
+ chainProbe: ChainProbe<SuiProbeKey>;
221
+ fork: ForkAdminSurface | null;
222
+ 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
+ } | StrategyContributorDecl<"gate:funds-ready", {
229
+ readonly waitFundsReady: Effect.Effect<void, SuiPluginError>;
230
+ }> | StrategyContributorDecl<"sui:seed-objects", SeedObjectsAccumulator>)[]]>;
231
+ };
232
+ fork: {
233
+ mainnet: (opts?: Omit<SuiForkOptions, "mode" | "upstream">) => Plugin<"sui", {
234
+ mode: "local" | "local-rpc" | "live" | "fork";
235
+ seedObjects: SeedObjectsAccumulator;
236
+ [fundingFaucetLeaseBrokerSymbol]: LeaseBroker;
237
+ sdk: SuiSdkShim;
238
+ rpcUrl: string;
239
+ faucetUrl: string | null;
240
+ fundingFaucetUrl: string | null;
241
+ graphqlUrl: string | null;
242
+ hostGateway: {
243
+ readonly rpcUrl: string;
244
+ readonly faucetUrl: string | null;
245
+ readonly graphqlUrl: string | null;
246
+ };
247
+ chain: ChainId;
248
+ waitForTransactionsReady: WaitForTransactionsReady;
249
+ chainProbe: ChainProbe<SuiProbeKey>;
250
+ fork: ForkAdminSurface | null;
251
+ buildImage: ImageRef | null;
252
+ }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
253
+ kind: "strategy-contributor";
254
+ capabilityKey: `faucet:request:${ChainId}`;
255
+ strategy: FaucetStrategy;
256
+ autoMounted: true;
257
+ } | StrategyContributorDecl<"gate:funds-ready", {
258
+ readonly waitFundsReady: Effect.Effect<void, SuiPluginError>;
259
+ }> | StrategyContributorDecl<"sui:seed-objects", SeedObjectsAccumulator>)[]]>;
260
+ testnet: (opts?: Omit<SuiForkOptions, "mode" | "upstream">) => Plugin<"sui", {
261
+ mode: "local" | "local-rpc" | "live" | "fork";
262
+ seedObjects: SeedObjectsAccumulator;
263
+ [fundingFaucetLeaseBrokerSymbol]: LeaseBroker;
264
+ sdk: SuiSdkShim;
265
+ rpcUrl: string;
266
+ faucetUrl: string | null;
267
+ fundingFaucetUrl: string | null;
268
+ graphqlUrl: string | null;
269
+ hostGateway: {
270
+ readonly rpcUrl: string;
271
+ readonly faucetUrl: string | null;
272
+ readonly graphqlUrl: string | null;
273
+ };
274
+ chain: ChainId;
275
+ waitForTransactionsReady: WaitForTransactionsReady;
276
+ chainProbe: ChainProbe<SuiProbeKey>;
277
+ fork: ForkAdminSurface | null;
278
+ buildImage: ImageRef | null;
279
+ }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
280
+ kind: "strategy-contributor";
281
+ capabilityKey: `faucet:request:${ChainId}`;
282
+ strategy: FaucetStrategy;
283
+ autoMounted: true;
284
+ } | StrategyContributorDecl<"gate:funds-ready", {
285
+ readonly waitFundsReady: Effect.Effect<void, SuiPluginError>;
286
+ }> | StrategyContributorDecl<"sui:seed-objects", SeedObjectsAccumulator>)[]]>;
287
+ devnet: (opts?: Omit<SuiForkOptions, "mode" | "upstream">) => Plugin<"sui", {
288
+ mode: "local" | "local-rpc" | "live" | "fork";
289
+ seedObjects: SeedObjectsAccumulator;
290
+ [fundingFaucetLeaseBrokerSymbol]: LeaseBroker;
291
+ sdk: SuiSdkShim;
292
+ rpcUrl: string;
293
+ faucetUrl: string | null;
294
+ fundingFaucetUrl: string | null;
295
+ graphqlUrl: string | null;
296
+ hostGateway: {
297
+ readonly rpcUrl: string;
298
+ readonly faucetUrl: string | null;
299
+ readonly graphqlUrl: string | null;
300
+ };
301
+ chain: ChainId;
302
+ waitForTransactionsReady: WaitForTransactionsReady;
303
+ chainProbe: ChainProbe<SuiProbeKey>;
304
+ fork: ForkAdminSurface | null;
305
+ buildImage: ImageRef | null;
306
+ }, readonly [], readonly [SnapshotableDecl, CodegenableDecl<"sui-network">, StrategyContributorDecl<`chain-probe:${string}`, ChainProbe<SuiProbeKey>>, ...(RoutableDecl | {
307
+ kind: "strategy-contributor";
308
+ capabilityKey: `faucet:request:${ChainId}`;
309
+ strategy: FaucetStrategy;
310
+ autoMounted: true;
311
+ } | StrategyContributorDecl<"gate:funds-ready", {
312
+ readonly waitFundsReady: Effect.Effect<void, SuiPluginError>;
313
+ }> | StrategyContributorDecl<"sui:seed-objects", SeedObjectsAccumulator>)[]]>;
314
+ };
315
+ }>;
316
+ //#endregion
317
+ export { sui, suiFor };
318
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1,182 @@
1
+ import { definePlugin, resource } from "../../substrate/plugin.mjs";
2
+ import { pluginErrorContributions } from "../../api/plugin-errors.mjs";
3
+ import { IdentityContext, StackPathsService } from "../../substrate/runtime/paths.mjs";
4
+ import { PortBrokerService } from "../../substrate/runtime/port-broker/service.mjs";
5
+ import { defineModeNamespace } from "../../api/mode-narrowed-factory.mjs";
6
+ import { FUNDS_READY_GATE_KEY } from "../../contracts/network-resolver.mjs";
7
+ import { chainProbeCapabilityKey } from "../../contracts/chain-probe.mjs";
8
+ import { ContainerRuntimeService } from "../../runtime/docker/service.mjs";
9
+ import { LeaseBrokerService } from "../../substrate/runtime/lease-broker/service.mjs";
10
+ import { makeCodegenable } from "./codegen.mjs";
11
+ import { makeSnapshotable } from "./snapshot.mjs";
12
+ import { SEED_OBJECTS_CAPABILITY_KEY, makeSeedObjectsAccumulator } from "./seed-objects.mjs";
13
+ import { SUI_ERROR_TAGS } from "./errors.mjs";
14
+ import { makeSuiForkRoutables, makeSuiLocalRoutables } from "./routable.mjs";
15
+ import "./fork-orchestration.mjs";
16
+ import { bootSuiService } from "./service.mjs";
17
+ import { faucetCapabilityKey } from "../faucet/dispatcher.mjs";
18
+ import { suiLocalStrategy } from "../faucet/strategies/sui-local.mjs";
19
+ import { Effect } from "effect";
20
+ //#region src/plugins/sui/index.ts
21
+ const fundingFaucetLeaseBrokerSymbol = Symbol("@mysten-incubation/devstack/sui/fundingFaucetLeaseBroker");
22
+ /** The Sui plugin's resource identity. The id is `'sui'` (singular). */
23
+ const suiResource = resource("sui");
24
+ const suiErrorContributions = pluginErrorContributions(SUI_ERROR_TAGS);
25
+ const buildPlugin = (opts) => {
26
+ return definePlugin({
27
+ id: suiResource.id,
28
+ role: "service",
29
+ start: () => Effect.gen(function* () {
30
+ const runtime = yield* ContainerRuntimeService;
31
+ const identity = yield* IdentityContext;
32
+ const paths = yield* StackPathsService;
33
+ const portBroker = yield* PortBrokerService;
34
+ const fundingFaucetLeaseBroker = yield* LeaseBrokerService;
35
+ const { client } = yield* bootSuiService(runtime, identity, portBroker, paths, opts);
36
+ const seedObjects = yield* makeSeedObjectsAccumulator();
37
+ return {
38
+ ...client,
39
+ mode: opts.mode,
40
+ seedObjects,
41
+ [fundingFaucetLeaseBrokerSymbol]: fundingFaucetLeaseBroker
42
+ };
43
+ }),
44
+ capabilities: ({ value, runtime }) => makePluginCapabilities(opts, value, runtime),
45
+ errorContributions: suiErrorContributions
46
+ });
47
+ };
48
+ /** Construct the capability tuple POST-acquire. Receives the resolved
49
+ * `SuiClient` + acquire context so decls can stamp REAL chain ids /
50
+ * rpc URLs into their fields instead of factory-time placeholders.
51
+ *
52
+ * StrategyContributor declarations here carry real post-acquire
53
+ * strategy values. The generic strategy sink registers them on the
54
+ * scope-local `StrategyRegistry`. */
55
+ const makePluginCapabilities = (opts, resolved, acquireCtx) => {
56
+ const realChain = resolved.chain;
57
+ const resolvedRuntime = resolved;
58
+ const snap = makeSnapshotable(opts.mode, acquireCtx.identity.app, acquireCtx.identity.stack, realChain);
59
+ const codegen = makeCodegenable({
60
+ mode: opts.mode,
61
+ chain: realChain,
62
+ rpc: resolved.rpcUrl,
63
+ source: "default",
64
+ ...resolved.faucetUrl !== null ? { faucet: resolved.faucetUrl } : {},
65
+ ...resolved.graphqlUrl !== null ? { graphql: resolved.graphqlUrl } : {}
66
+ });
67
+ const chainProbeContribution = {
68
+ kind: "strategy-contributor",
69
+ capabilityKey: chainProbeCapabilityKey(realChain),
70
+ strategy: resolved.chainProbe,
71
+ autoMounted: true
72
+ };
73
+ const fundsReadyContribution = {
74
+ kind: "strategy-contributor",
75
+ capabilityKey: FUNDS_READY_GATE_KEY,
76
+ strategy: { waitFundsReady: resolved.waitForTransactionsReady.wait },
77
+ autoMounted: true
78
+ };
79
+ const seedObjectsContribution = {
80
+ kind: "strategy-contributor",
81
+ capabilityKey: SEED_OBJECTS_CAPABILITY_KEY,
82
+ strategy: resolved.seedObjects,
83
+ autoMounted: true
84
+ };
85
+ const faucetContribution = resolved.fundingFaucetUrl === null ? [] : [{
86
+ kind: "strategy-contributor",
87
+ capabilityKey: faucetCapabilityKey(realChain),
88
+ strategy: suiLocalStrategy({
89
+ faucetUrl: resolved.fundingFaucetUrl,
90
+ serialization: {
91
+ broker: resolvedRuntime[fundingFaucetLeaseBrokerSymbol],
92
+ key: `sui-faucet:${realChain}`,
93
+ owner: `sui-faucet:${realChain}`
94
+ }
95
+ }),
96
+ autoMounted: true
97
+ }];
98
+ const localRoutables = opts.mode === "local" ? makeSuiLocalRoutables({
99
+ containerName: `devstack-${acquireCtx.identity.app}-${acquireCtx.identity.stack}-sui-validator`,
100
+ includeGraphql: true
101
+ }) : [];
102
+ const forkRoutables = opts.mode === "fork" ? makeSuiForkRoutables({ containerName: `devstack-${acquireCtx.identity.app}-${acquireCtx.identity.stack}-sui-fork` }) : [];
103
+ return [
104
+ snap,
105
+ codegen,
106
+ chainProbeContribution,
107
+ ...faucetContribution,
108
+ fundsReadyContribution,
109
+ seedObjectsContribution,
110
+ ...localRoutables,
111
+ ...forkRoutables
112
+ ];
113
+ };
114
+ /** Local Sui shorthand. Network/env selection belongs to the CLI or
115
+ * `defineDevstackWith(...)`; plain `sui()` always means an in-stack
116
+ * local validator. */
117
+ const sui = (opts = { mode: "local" }) => buildPlugin(opts);
118
+ /** Mode-narrowed factory namespace.
119
+ *
120
+ * Usage:
121
+ * const network = { mode: 'local', chain: 'sui:localnet' } as const;
122
+ * suiFor(network).local({...}) // OK
123
+ * suiFor(network).fork({...}) // type error: 'fork' not in 'local' branch
124
+ *
125
+ * The namespace MIRRORS the four mode option records: `local`,
126
+ * `localRpc` (mapped onto the substrate `'local'` branch),
127
+ * `live`, `fork`. */
128
+ const suiFor = defineModeNamespace({
129
+ local: {
130
+ local: (opts = {}) => buildPlugin({
131
+ mode: "local",
132
+ ...opts
133
+ }),
134
+ localRpc: (opts) => buildPlugin({
135
+ mode: "local-rpc",
136
+ ...opts
137
+ })
138
+ },
139
+ live: {
140
+ testnet: (opts = {}) => buildPlugin({
141
+ mode: "live",
142
+ network: "testnet",
143
+ ...opts
144
+ }),
145
+ mainnet: (opts = {}) => buildPlugin({
146
+ mode: "live",
147
+ network: "mainnet",
148
+ ...opts
149
+ }),
150
+ devnet: (opts = {}) => buildPlugin({
151
+ mode: "live",
152
+ network: "devnet",
153
+ ...opts
154
+ }),
155
+ custom: (opts) => buildPlugin({
156
+ mode: "live",
157
+ network: "custom",
158
+ ...opts
159
+ })
160
+ },
161
+ fork: {
162
+ mainnet: (opts = {}) => buildPlugin({
163
+ mode: "fork",
164
+ upstream: "mainnet",
165
+ ...opts
166
+ }),
167
+ testnet: (opts = {}) => buildPlugin({
168
+ mode: "fork",
169
+ upstream: "testnet",
170
+ ...opts
171
+ }),
172
+ devnet: (opts = {}) => buildPlugin({
173
+ mode: "fork",
174
+ upstream: "devnet",
175
+ ...opts
176
+ })
177
+ }
178
+ });
179
+ //#endregion
180
+ export { sui, suiFor, suiResource };
181
+
182
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/plugins/sui/index.ts"],"sourcesContent":["// Sui plugin — barrel + factories.\n//\n// Architecture: Sui is the most-depended-on plugin in the stack.\n// Every consumer (Account/Coin/Wallet/Faucet/Package; Walrus/Seal/\n// Deepbook fork variants) reads its resolved `SuiClient` via the\n// `suiResource`. The factory at this file folds the four modes behind:\n//\n// - `sui(opts?)` — local shorthand. Defaults to an in-stack\n// local validator; pass a typed `opts`\n// record to select a different mode.\n// - `suiFor(network)` — mode-narrowed factory namespace (per\n// architecture Tension 11). Returns\n// `{ local: …, live: …, fork: … }`\n// narrowed to the network's mode.\n//\n// The plugin emits FIVE capability decls:\n//\n// 1. `chain-probe:<chainId>` strategy contributor — the\n// schema-validated read surface (`makeSuiChainProbe`).\n// 2. `gate:funds-ready` strategy contributor — the funds-\n// transferable gate. No-op on faucet-less networks.\n// 3. `sui:seed-objects` strategy contributor — the per-instance\n// seed-objects accumulator (fork mode only; emits an empty\n// accumulator on other modes for shape uniformity).\n// 4. Snapshotable — mode-aware container + bind-mount capture.\n// 5. Codegenable — `sui-network` bindings (chain id, rpc, etc.).\n//\n// Routable contributions are MODE-DEPENDENT (local + fork yes;\n// local-rpc + live no — the caller fronts their own RPC). They land\n// in the per-mode builder under `mode/*.ts`; this barrel composes\n// them into the plugin capability array.\n\nimport { Effect } from 'effect';\n\nimport { defineModeNamespace } from '../../api/mode-narrowed-factory.ts';\nimport { definePlugin, resource } from '../../api/define-plugin.ts';\nimport { pluginErrorContributions } from '../../api/plugin-errors.ts';\nimport type { ChainProbe } from '../../contracts/chain-probe.ts';\nimport type { CodegenableDecl } from '../../contracts/codegenable.ts';\nimport type { SnapshotableDecl } from '../../contracts/snapshotable.ts';\nimport type { StrategyContributorDecl } from '../../contracts/strategy-contributor.ts';\nimport { FUNDS_READY_GATE_KEY } from '../../contracts/network-resolver.ts';\nimport type { AcquireContext } from '../../substrate/plugin.ts';\n\nimport { chainProbeCapabilityKey } from '../../contracts/chain-probe.ts';\nimport { ContainerRuntimeService } from '../../runtime/docker/service.ts';\nimport { IdentityContext, StackPathsService } from '../../substrate/runtime/paths.ts';\nimport {\n\tLeaseBrokerService,\n\ttype LeaseBroker,\n} from '../../substrate/runtime/lease-broker/index.ts';\nimport { PortBrokerService } from '../../substrate/runtime/port-broker/index.ts';\nimport { makeCodegenable } from './codegen.ts';\nimport type { SuiProbeKey } from './chain-probe.ts';\nimport { makeSnapshotable } from './snapshot.ts';\nimport {\n\tmakeSeedObjectsAccumulator,\n\tSEED_OBJECTS_CAPABILITY_KEY,\n\ttype SeedObjectsAccumulator,\n} from './seed-objects.ts';\nimport { bootSuiService } from './service.ts';\nimport { SUI_ERROR_TAGS, type SuiPluginError } from './errors.ts';\nimport { makeSuiForkRoutables, makeSuiLocalRoutables } from './routable.ts';\nimport { faucetCapabilityKey } from '../faucet/dispatcher.ts';\nimport { suiLocalStrategy } from '../faucet/strategies/sui-local.ts';\nimport type { SuiClient } from './mode/shared.ts';\nimport type {\n\tSuiForkOptions,\n\tSuiLiveOptions,\n\tSuiLocalRpcOptions,\n\tSuiLocalOptions,\n\tSuiOptions,\n} from './mode/spec.ts';\n\n// ---------------------------------------------------------------------------\n// Resource identity\n// ---------------------------------------------------------------------------\n\ntype SuiResolved = SuiClient & {\n\treadonly mode: SuiOptions['mode'];\n\treadonly seedObjects: SeedObjectsAccumulator;\n};\n\nconst fundingFaucetLeaseBrokerSymbol: unique symbol = Symbol(\n\t'@mysten-incubation/devstack/sui/fundingFaucetLeaseBroker',\n);\n\ntype SuiResolvedRuntime = SuiResolved & {\n\treadonly [fundingFaucetLeaseBrokerSymbol]: LeaseBroker;\n};\n\n/** The Sui plugin's resource identity. The id is `'sui'` (singular). */\nexport const suiResource = resource<'sui', SuiResolved>('sui');\nconst suiErrorContributions = pluginErrorContributions(SUI_ERROR_TAGS);\n\n// ---------------------------------------------------------------------------\n// Plugin construction (internal — used by sui() + suiFor())\n// ---------------------------------------------------------------------------\n\nconst buildPlugin = (opts: SuiOptions) => {\n\treturn definePlugin({\n\t\tid: suiResource.id,\n\t\trole: 'service',\n\t\tstart: () =>\n\t\t\tEffect.gen(function* () {\n\t\t\t\t// The substrate threads `ContainerRuntime` + `IdentityContext`\n\t\t\t\t// via the plugin runtime context; the supervisor provides\n\t\t\t\t// these before this body runs.\n\t\t\t\tconst runtime = yield* ContainerRuntimeService;\n\t\t\t\tconst identity = yield* IdentityContext;\n\t\t\t\tconst paths = yield* StackPathsService;\n\t\t\t\tconst portBroker = yield* PortBrokerService;\n\t\t\t\tconst fundingFaucetLeaseBroker = yield* LeaseBrokerService;\n\t\t\t\tconst { client } = yield* bootSuiService(runtime, identity, portBroker, paths, opts);\n\n\t\t\t\tconst seedObjects = yield* makeSeedObjectsAccumulator();\n\t\t\t\treturn {\n\t\t\t\t\t...client,\n\t\t\t\t\tmode: opts.mode,\n\t\t\t\t\tseedObjects,\n\t\t\t\t\t[fundingFaucetLeaseBrokerSymbol]: fundingFaucetLeaseBroker,\n\t\t\t\t} satisfies SuiResolvedRuntime;\n\t\t\t}),\n\t\tcapabilities: ({ value, runtime }) => makePluginCapabilities(opts, value, runtime),\n\t\terrorContributions: suiErrorContributions,\n\t});\n};\n\n/** Construct the capability tuple POST-acquire. Receives the resolved\n * `SuiClient` + acquire context so decls can stamp REAL chain ids /\n * rpc URLs into their fields instead of factory-time placeholders.\n *\n * StrategyContributor declarations here carry real post-acquire\n * strategy values. The generic strategy sink registers them on the\n * scope-local `StrategyRegistry`. */\nconst makePluginCapabilities = (\n\topts: SuiOptions,\n\tresolved: SuiResolved,\n\tacquireCtx: AcquireContext,\n) => {\n\tconst realChain = resolved.chain;\n\tconst resolvedRuntime = resolved as SuiResolvedRuntime;\n\tconst snap: SnapshotableDecl = makeSnapshotable(\n\t\topts.mode,\n\t\tacquireCtx.identity.app,\n\t\tacquireCtx.identity.stack,\n\t\trealChain,\n\t);\n\tconst codegen: CodegenableDecl<'sui-network'> = makeCodegenable({\n\t\tmode: opts.mode,\n\t\tchain: realChain,\n\t\trpc: resolved.rpcUrl,\n\t\tsource: 'default',\n\t\t...(resolved.faucetUrl !== null ? { faucet: resolved.faucetUrl } : {}),\n\t\t...(resolved.graphqlUrl !== null ? { graphql: resolved.graphqlUrl } : {}),\n\t});\n\n\tconst chainProbeContribution: StrategyContributorDecl<\n\t\t`chain-probe:${string}`,\n\t\tChainProbe<SuiProbeKey>\n\t> = {\n\t\tkind: 'strategy-contributor',\n\t\tcapabilityKey: chainProbeCapabilityKey(realChain),\n\t\tstrategy: resolved.chainProbe,\n\t\tautoMounted: true,\n\t};\n\n\tconst fundsReadyContribution: StrategyContributorDecl<\n\t\ttypeof FUNDS_READY_GATE_KEY,\n\t\t{\n\t\t\treadonly waitFundsReady: Effect.Effect<void, SuiPluginError>;\n\t\t}\n\t> = {\n\t\tkind: 'strategy-contributor',\n\t\tcapabilityKey: FUNDS_READY_GATE_KEY,\n\t\tstrategy: { waitFundsReady: resolved.waitForTransactionsReady.wait },\n\t\tautoMounted: true,\n\t};\n\n\tconst seedObjectsContribution: StrategyContributorDecl<\n\t\ttypeof SEED_OBJECTS_CAPABILITY_KEY,\n\t\tSeedObjectsAccumulator\n\t> = {\n\t\tkind: 'strategy-contributor',\n\t\tcapabilityKey: SEED_OBJECTS_CAPABILITY_KEY,\n\t\tstrategy: resolved.seedObjects,\n\t\tautoMounted: true,\n\t};\n\n\tconst faucetContribution =\n\t\tresolved.fundingFaucetUrl === null\n\t\t\t? []\n\t\t\t: [\n\t\t\t\t\t{\n\t\t\t\t\t\tkind: 'strategy-contributor',\n\t\t\t\t\t\tcapabilityKey: faucetCapabilityKey(realChain),\n\t\t\t\t\t\tstrategy: suiLocalStrategy({\n\t\t\t\t\t\t\tfaucetUrl: resolved.fundingFaucetUrl,\n\t\t\t\t\t\t\tserialization: {\n\t\t\t\t\t\t\t\tbroker: resolvedRuntime[fundingFaucetLeaseBrokerSymbol],\n\t\t\t\t\t\t\t\tkey: `sui-faucet:${realChain}`,\n\t\t\t\t\t\t\t\towner: `sui-faucet:${realChain}`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tautoMounted: true,\n\t\t\t\t\t} satisfies StrategyContributorDecl<\n\t\t\t\t\t\t`faucet:request:${string}`,\n\t\t\t\t\t\tReturnType<typeof suiLocalStrategy>\n\t\t\t\t\t>,\n\t\t\t\t];\n\n\tconst localRoutables =\n\t\topts.mode === 'local'\n\t\t\t? makeSuiLocalRoutables({\n\t\t\t\t\tcontainerName: `devstack-${acquireCtx.identity.app}-${acquireCtx.identity.stack}-sui-validator`,\n\t\t\t\t\tincludeGraphql: true,\n\t\t\t\t})\n\t\t\t: [];\n\tconst forkRoutables =\n\t\topts.mode === 'fork'\n\t\t\t? makeSuiForkRoutables({\n\t\t\t\t\tcontainerName: `devstack-${acquireCtx.identity.app}-${acquireCtx.identity.stack}-sui-fork`,\n\t\t\t\t})\n\t\t\t: [];\n\n\treturn [\n\t\tsnap,\n\t\tcodegen,\n\t\tchainProbeContribution,\n\t\t...faucetContribution,\n\t\tfundsReadyContribution,\n\t\tseedObjectsContribution,\n\t\t...localRoutables,\n\t\t...forkRoutables,\n\t] as const;\n};\n\n// ---------------------------------------------------------------------------\n// User-facing factories\n// ---------------------------------------------------------------------------\n\n/** Local Sui shorthand. Network/env selection belongs to the CLI or\n * `defineDevstackWith(...)`; plain `sui()` always means an in-stack\n * local validator. */\nexport const sui = (opts: SuiOptions = { mode: 'local' }) => buildPlugin(opts);\n\n/** Mode-narrowed factory namespace.\n *\n * Usage:\n * const network = { mode: 'local', chain: 'sui:localnet' } as const;\n * suiFor(network).local({...}) // OK\n * suiFor(network).fork({...}) // type error: 'fork' not in 'local' branch\n *\n * The namespace MIRRORS the four mode option records: `local`,\n * `localRpc` (mapped onto the substrate `'local'` branch),\n * `live`, `fork`. */\nexport const suiFor = defineModeNamespace({\n\tlocal: {\n\t\tlocal: (opts: Omit<SuiLocalOptions, 'mode'> = {}) => buildPlugin({ mode: 'local', ...opts }),\n\t\tlocalRpc: (opts: Omit<SuiLocalRpcOptions, 'mode'>) =>\n\t\t\tbuildPlugin({ mode: 'local-rpc', ...opts }),\n\t},\n\tlive: {\n\t\ttestnet: (opts: Omit<SuiLiveOptions, 'mode' | 'network'> = {}) =>\n\t\t\tbuildPlugin({ mode: 'live', network: 'testnet', ...opts }),\n\t\tmainnet: (opts: Omit<SuiLiveOptions, 'mode' | 'network'> = {}) =>\n\t\t\tbuildPlugin({ mode: 'live', network: 'mainnet', ...opts }),\n\t\tdevnet: (opts: Omit<SuiLiveOptions, 'mode' | 'network'> = {}) =>\n\t\t\tbuildPlugin({ mode: 'live', network: 'devnet', ...opts }),\n\t\tcustom: (opts: Omit<SuiLiveOptions, 'mode' | 'network'>) =>\n\t\t\tbuildPlugin({ mode: 'live', network: 'custom', ...opts }),\n\t},\n\tfork: {\n\t\tmainnet: (opts: Omit<SuiForkOptions, 'mode' | 'upstream'> = {}) =>\n\t\t\tbuildPlugin({ mode: 'fork', upstream: 'mainnet', ...opts }),\n\t\ttestnet: (opts: Omit<SuiForkOptions, 'mode' | 'upstream'> = {}) =>\n\t\t\tbuildPlugin({ mode: 'fork', upstream: 'testnet', ...opts }),\n\t\tdevnet: (opts: Omit<SuiForkOptions, 'mode' | 'upstream'> = {}) =>\n\t\t\tbuildPlugin({ mode: 'fork', upstream: 'devnet', ...opts }),\n\t},\n});\n\n// ---------------------------------------------------------------------------\n// Re-exports for advanced callers (Account/Coin/Wallet/etc.) and for\n// the sibling plugins (Walrus/Seal/Deepbook fork variants).\n// ---------------------------------------------------------------------------\n\nexport type { SuiClient, ForkAdminSurface, WaitForTransactionsReady } from './mode/shared.ts';\nexport type { ResolvedSuiNetwork } from './network-resolver.ts';\nexport type {\n\tSuiOptions,\n\tSuiLocalOptions,\n\tSuiLocalRpcOptions,\n\tSuiLiveOptions,\n\tSuiForkOptions,\n\tSuiPluginMode,\n} from './mode/spec.ts';\nexport type { SuiNetworkBindings } from './codegen.ts';\nexport type {\n\tSuiError,\n\tSuiPluginError,\n\tSuiCliError,\n\tSuiConfigError,\n\tForkUnsupportedError,\n\tSeedManifestMismatchError,\n\tSuiFundsReadyError,\n} from './errors.ts';\nexport { SUI_ERROR_TAGS } from './errors.ts';\n\n// Cross-plugin seams (consumed by Walrus/Seal/Deepbook fork variants\n// and by Account/Coin/Wallet/Package).\nexport {\n\tchainProbeCapabilityKey,\n\ttype ChainProbe,\n\ttype ChainProbeError,\n\ttype ChainProbeMode,\n} from '../../contracts/chain-probe.ts';\nexport {\n\tFUNDS_READY_GATE_KEY,\n\ttype FundsReadyStrategy,\n\ttype FundsReadyError,\n} from '../../contracts/network-resolver.ts';\nexport { SEED_OBJECTS_CAPABILITY_KEY, type SeedObjectsAccumulator } from './seed-objects.ts';\nexport {\n\tFORK_UNSUPPORTED_SURFACES,\n\twrapWithForkGuard,\n\ttype ForkMeta,\n\ttype ForkLockHolder,\n} from './fork-orchestration.ts';\nexport type { SuiProbeKey } from './chain-probe.ts';\n"],"mappings":"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"}