@mysten-incubation/devstack 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (858) hide show
  1. package/README.md +6 -3
  2. package/dashboard-ui/assets/grpc-a4usE3Nk.js +3 -0
  3. package/dashboard-ui/assets/index-B82Bh84P.css +1 -0
  4. package/dashboard-ui/assets/index-CRYJ4pru.js +1277 -0
  5. package/dashboard-ui/index.html +2 -2
  6. package/dist/api/define-capabilities.d.mts +1 -20
  7. package/dist/api/define-capabilities.mjs +15 -22
  8. package/dist/api/define-capabilities.mjs.map +1 -1
  9. package/dist/api/define-devstack-with.d.mts +7 -1
  10. package/dist/api/define-devstack-with.mjs.map +1 -1
  11. package/dist/api/define-devstack.mjs.map +1 -1
  12. package/dist/api/define-plugin.d.mts +2 -1
  13. package/dist/api/inference-network.d.mts +31 -17
  14. package/dist/api/inference-network.mjs +40 -43
  15. package/dist/api/inference-network.mjs.map +1 -1
  16. package/dist/api/load-config.mjs +88 -0
  17. package/dist/api/load-config.mjs.map +1 -0
  18. package/dist/api/mode-narrowed-factory.d.mts +1 -1
  19. package/dist/api/mode-narrowed-factory.mjs.map +1 -1
  20. package/dist/api/run-stack-internal.mjs +202 -0
  21. package/dist/api/run-stack-internal.mjs.map +1 -0
  22. package/dist/api/run-stack.d.mts +82 -31
  23. package/dist/api/run-stack.mjs +22 -141
  24. package/dist/api/run-stack.mjs.map +1 -1
  25. package/dist/build-integrations/dapp-kit/index.d.mts +61 -0
  26. package/dist/build-integrations/dapp-kit/index.mjs +58 -0
  27. package/dist/build-integrations/dapp-kit/index.mjs.map +1 -0
  28. package/dist/build-integrations/playwright/config.d.mts +1 -30
  29. package/dist/build-integrations/playwright/config.mjs +1 -27
  30. package/dist/build-integrations/playwright/config.mjs.map +1 -1
  31. package/dist/build-integrations/playwright/errors.d.mts +4 -7
  32. package/dist/build-integrations/playwright/errors.mjs.map +1 -1
  33. package/dist/build-integrations/playwright/global-setup.d.mts +42 -71
  34. package/dist/build-integrations/playwright/global-setup.mjs +142 -218
  35. package/dist/build-integrations/playwright/global-setup.mjs.map +1 -1
  36. package/dist/build-integrations/playwright/index.d.mts +2 -2
  37. package/dist/build-integrations/playwright/index.mjs +2 -2
  38. package/dist/build-integrations/playwright/stack-context.d.mts +3 -1
  39. package/dist/build-integrations/playwright/stack-context.mjs +4 -2
  40. package/dist/build-integrations/playwright/stack-context.mjs.map +1 -1
  41. package/dist/build-integrations/playwright/wallet-context.mjs +44 -19
  42. package/dist/build-integrations/playwright/wallet-context.mjs.map +1 -1
  43. package/dist/build-integrations/runtime/cold-start-url.mjs.map +1 -1
  44. package/dist/build-integrations/runtime/conventional-routes.mjs.map +1 -1
  45. package/dist/build-integrations/runtime/dapp-kit-slot.mjs.map +1 -1
  46. package/dist/build-integrations/runtime/discover.d.mts +6 -4
  47. package/dist/build-integrations/runtime/discover.mjs +15 -4
  48. package/dist/build-integrations/runtime/discover.mjs.map +1 -1
  49. package/dist/build-integrations/runtime/endpoint-registry.mjs.map +1 -1
  50. package/dist/build-integrations/runtime/errors.mjs.map +1 -1
  51. package/dist/build-integrations/runtime/read-stack-context.mjs +3 -3
  52. package/dist/build-integrations/runtime/read-stack-context.mjs.map +1 -1
  53. package/dist/build-integrations/runtime/resolve-discovery-env.d.mts +23 -7
  54. package/dist/build-integrations/runtime/resolve-discovery-env.mjs +25 -12
  55. package/dist/build-integrations/runtime/resolve-discovery-env.mjs.map +1 -1
  56. package/dist/build-integrations/runtime/stack-context.d.mts +2 -2
  57. package/dist/build-integrations/vite/index.d.mts +84 -19
  58. package/dist/build-integrations/vite/index.mjs +203 -28
  59. package/dist/build-integrations/vite/index.mjs.map +1 -1
  60. package/dist/build-integrations/vitest/config.d.mts +20 -2
  61. package/dist/build-integrations/vitest/config.mjs +16 -4
  62. package/dist/build-integrations/vitest/config.mjs.map +1 -1
  63. package/dist/build-integrations/vitest/env.d.mts +18 -10
  64. package/dist/build-integrations/vitest/env.mjs +11 -10
  65. package/dist/build-integrations/vitest/env.mjs.map +1 -1
  66. package/dist/build-integrations/vitest/errors.d.mts +7 -11
  67. package/dist/build-integrations/vitest/errors.mjs +3 -4
  68. package/dist/build-integrations/vitest/errors.mjs.map +1 -1
  69. package/dist/build-integrations/vitest/global-setup.d.mts +35 -0
  70. package/dist/build-integrations/vitest/global-setup.mjs +156 -0
  71. package/dist/build-integrations/vitest/global-setup.mjs.map +1 -0
  72. package/dist/build-integrations/vitest/index.d.mts +3 -2
  73. package/dist/build-integrations/vitest/index.mjs +3 -2
  74. package/dist/build-integrations/vitest/setup.mjs +2 -2
  75. package/dist/build-integrations/vitest/setup.mjs.map +1 -1
  76. package/dist/build-integrations/vitest/stack-context.d.mts +5 -3
  77. package/dist/build-integrations/vitest/stack-context.mjs +3 -2
  78. package/dist/build-integrations/vitest/stack-context.mjs.map +1 -1
  79. package/dist/cli/bail.mjs.map +1 -1
  80. package/dist/cli/doctor-probes.mjs +1 -3
  81. package/dist/cli/doctor-probes.mjs.map +1 -1
  82. package/dist/cli/main.d.mts +23 -1
  83. package/dist/cli/main.mjs +63 -8
  84. package/dist/cli/main.mjs.map +1 -1
  85. package/dist/cli/prune-direct.mjs.map +1 -1
  86. package/dist/cli/snapshot-reader.mjs.map +1 -1
  87. package/dist/cli/up-lifecycle.mjs.map +1 -1
  88. package/dist/cli/wirings/apply.mjs +28 -21
  89. package/dist/cli/wirings/apply.mjs.map +1 -1
  90. package/dist/cli/wirings/codegen.mjs +108 -0
  91. package/dist/cli/wirings/codegen.mjs.map +1 -0
  92. package/dist/cli/wirings/config-loader.mjs +12 -62
  93. package/dist/cli/wirings/config-loader.mjs.map +1 -1
  94. package/dist/cli/wirings/dump-ids.mjs +86 -0
  95. package/dist/cli/wirings/dump-ids.mjs.map +1 -0
  96. package/dist/cli/wirings/engine-command.mjs +1 -1
  97. package/dist/cli/wirings/engine-command.mjs.map +1 -1
  98. package/dist/cli/wirings/identity.mjs +2 -2
  99. package/dist/cli/wirings/identity.mjs.map +1 -1
  100. package/dist/cli/wirings/provide-file-system.mjs.map +1 -1
  101. package/dist/cli/wirings/read-devstack-version.mjs +17 -0
  102. package/dist/cli/wirings/read-devstack-version.mjs.map +1 -0
  103. package/dist/cli/wirings/snapshot.mjs +27 -34
  104. package/dist/cli/wirings/snapshot.mjs.map +1 -1
  105. package/dist/cli/wirings/up-ipc.mjs +147 -0
  106. package/dist/cli/wirings/up-ipc.mjs.map +1 -0
  107. package/dist/cli/wirings/up.mjs +218 -198
  108. package/dist/cli/wirings/up.mjs.map +1 -1
  109. package/dist/cli/wirings/wipe.mjs +1 -1
  110. package/dist/cli/wirings/wipe.mjs.map +1 -1
  111. package/dist/contracts/chain-probe.d.mts +1 -1
  112. package/dist/contracts/chain-probe.mjs +1 -1
  113. package/dist/contracts/chain-probe.mjs.map +1 -1
  114. package/dist/contracts/codegenable.d.mts +60 -6
  115. package/dist/contracts/codegenable.mjs +28 -0
  116. package/dist/contracts/codegenable.mjs.map +1 -0
  117. package/dist/contracts/config-bindings.mjs +162 -0
  118. package/dist/contracts/config-bindings.mjs.map +1 -0
  119. package/dist/contracts/container-runtime.d.mts +23 -17
  120. package/dist/contracts/plugin-expander.mjs.map +1 -1
  121. package/dist/contracts/snapshotable.d.mts +5 -7
  122. package/dist/contracts/wallet-protocol.d.mts +2 -5
  123. package/dist/contracts/wallet-protocol.mjs +2 -5
  124. package/dist/contracts/wallet-protocol.mjs.map +1 -1
  125. package/dist/index.d.mts +21 -26
  126. package/dist/index.mjs +8 -9
  127. package/dist/orchestrators/boot.d.mts +28 -0
  128. package/dist/orchestrators/boot.mjs +440 -0
  129. package/dist/orchestrators/boot.mjs.map +1 -0
  130. package/dist/orchestrators/codegen/bindings.d.mts +13 -1
  131. package/dist/orchestrators/codegen/bindings.mjs +23 -9
  132. package/dist/orchestrators/codegen/bindings.mjs.map +1 -1
  133. package/dist/orchestrators/codegen/config-runtime.mjs +208 -0
  134. package/dist/orchestrators/codegen/config-runtime.mjs.map +1 -0
  135. package/dist/orchestrators/codegen/emit.mjs +1 -1
  136. package/dist/orchestrators/codegen/emit.mjs.map +1 -1
  137. package/dist/orchestrators/codegen/errors.mjs +21 -1
  138. package/dist/orchestrators/codegen/errors.mjs.map +1 -1
  139. package/dist/orchestrators/codegen/format.mjs +2 -0
  140. package/dist/orchestrators/codegen/format.mjs.map +1 -1
  141. package/dist/orchestrators/codegen/gitignore.mjs +30 -11
  142. package/dist/orchestrators/codegen/gitignore.mjs.map +1 -1
  143. package/dist/orchestrators/codegen/id-config.mjs +107 -0
  144. package/dist/orchestrators/codegen/id-config.mjs.map +1 -0
  145. package/dist/orchestrators/codegen/output-location.mjs +23 -32
  146. package/dist/orchestrators/codegen/output-location.mjs.map +1 -1
  147. package/dist/orchestrators/codegen/paths.mjs +8 -1
  148. package/dist/orchestrators/codegen/paths.mjs.map +1 -1
  149. package/dist/orchestrators/codegen/permissions.mjs.map +1 -1
  150. package/dist/orchestrators/codegen/service.mjs +286 -58
  151. package/dist/orchestrators/codegen/service.mjs.map +1 -1
  152. package/dist/orchestrators/layers.mjs +31 -0
  153. package/dist/orchestrators/layers.mjs.map +1 -0
  154. package/dist/orchestrators/lifecycle-prune/errors.mjs.map +1 -1
  155. package/dist/orchestrators/lifecycle-prune/index.mjs +8 -10
  156. package/dist/orchestrators/lifecycle-prune/index.mjs.map +1 -1
  157. package/dist/orchestrators/network-options.d.mts +52 -0
  158. package/dist/orchestrators/network-options.mjs +43 -0
  159. package/dist/orchestrators/network-options.mjs.map +1 -0
  160. package/dist/orchestrators/router/cleanup.mjs.map +1 -1
  161. package/dist/orchestrators/router/cors.mjs.map +1 -1
  162. package/dist/orchestrators/router/entrypoints.mjs.map +1 -1
  163. package/dist/orchestrators/router/errors.mjs.map +1 -1
  164. package/dist/orchestrators/router/file-provider.mjs.map +1 -1
  165. package/dist/orchestrators/router/hostname.mjs.map +1 -1
  166. package/dist/orchestrators/router/profile.mjs +1 -1
  167. package/dist/orchestrators/router/profile.mjs.map +1 -1
  168. package/dist/orchestrators/router/service.d.mts +2 -2
  169. package/dist/orchestrators/router/service.mjs +12 -27
  170. package/dist/orchestrators/router/service.mjs.map +1 -1
  171. package/dist/orchestrators/router/traefik-container.mjs +1 -1
  172. package/dist/orchestrators/router/traefik-container.mjs.map +1 -1
  173. package/dist/orchestrators/snapshot/capture.mjs +171 -195
  174. package/dist/orchestrators/snapshot/capture.mjs.map +1 -1
  175. package/dist/orchestrators/snapshot/descriptor.d.mts +1 -1
  176. package/dist/orchestrators/snapshot/descriptor.mjs +53 -11
  177. package/dist/orchestrators/snapshot/descriptor.mjs.map +1 -1
  178. package/dist/orchestrators/snapshot/identity-guard.mjs +3 -5
  179. package/dist/orchestrators/snapshot/identity-guard.mjs.map +1 -1
  180. package/dist/orchestrators/snapshot/image-bundle-tags.mjs +32 -101
  181. package/dist/orchestrators/snapshot/image-bundle-tags.mjs.map +1 -1
  182. package/dist/orchestrators/snapshot/index.mjs +1 -4
  183. package/dist/orchestrators/snapshot/integrity.mjs.map +1 -1
  184. package/dist/orchestrators/snapshot/interrupted-restore.mjs +116 -0
  185. package/dist/orchestrators/snapshot/interrupted-restore.mjs.map +1 -0
  186. package/dist/orchestrators/snapshot/phase-error.mjs.map +1 -1
  187. package/dist/orchestrators/snapshot/prune.mjs +40 -31
  188. package/dist/orchestrators/snapshot/prune.mjs.map +1 -1
  189. package/dist/orchestrators/snapshot/restore.mjs +221 -196
  190. package/dist/orchestrators/snapshot/restore.mjs.map +1 -1
  191. package/dist/orchestrators/snapshot/service.mjs +72 -62
  192. package/dist/orchestrators/snapshot/service.mjs.map +1 -1
  193. package/dist/orchestrators/snapshot/wipe.mjs +67 -56
  194. package/dist/orchestrators/snapshot/wipe.mjs.map +1 -1
  195. package/dist/plugins/account/codegen.mjs +3 -0
  196. package/dist/plugins/account/codegen.mjs.map +1 -1
  197. package/dist/plugins/account/errors.d.mts +2 -2
  198. package/dist/plugins/account/errors.mjs +1 -4
  199. package/dist/plugins/account/errors.mjs.map +1 -1
  200. package/dist/plugins/account/funding.mjs +3 -27
  201. package/dist/plugins/account/funding.mjs.map +1 -1
  202. package/dist/plugins/account/index.d.mts +3 -8
  203. package/dist/plugins/account/index.mjs +71 -35
  204. package/dist/plugins/account/index.mjs.map +1 -1
  205. package/dist/plugins/account/keypair.d.mts +8 -7
  206. package/dist/plugins/account/keypair.mjs +5 -18
  207. package/dist/plugins/account/keypair.mjs.map +1 -1
  208. package/dist/plugins/account/lease.mjs.map +1 -1
  209. package/dist/plugins/account/registry.d.mts +1 -46
  210. package/dist/plugins/account/registry.mjs.map +1 -1
  211. package/dist/plugins/account/service.d.mts +43 -34
  212. package/dist/plugins/account/service.mjs +9 -54
  213. package/dist/plugins/account/service.mjs.map +1 -1
  214. package/dist/plugins/account/snapshot.mjs.map +1 -1
  215. package/dist/plugins/account/variants/ephemeral.mjs.map +1 -1
  216. package/dist/plugins/account/variants/impersonate.mjs.map +1 -1
  217. package/dist/plugins/account/variants/signer.mjs.map +1 -1
  218. package/dist/plugins/action/discriminator.mjs.map +1 -1
  219. package/dist/plugins/action/errors.mjs +1 -4
  220. package/dist/plugins/action/errors.mjs.map +1 -1
  221. package/dist/plugins/action/execute.mjs +3 -4
  222. package/dist/plugins/action/execute.mjs.map +1 -1
  223. package/dist/plugins/action/index.d.mts +2 -2
  224. package/dist/plugins/action/index.mjs +7 -11
  225. package/dist/plugins/action/index.mjs.map +1 -1
  226. package/dist/plugins/action/service.d.mts +5 -7
  227. package/dist/plugins/action/service.mjs +2 -16
  228. package/dist/plugins/action/service.mjs.map +1 -1
  229. package/dist/plugins/coin/address-resolution.mjs.map +1 -1
  230. package/dist/plugins/coin/codegen.mjs +97 -16
  231. package/dist/plugins/coin/codegen.mjs.map +1 -1
  232. package/dist/plugins/coin/discovery.mjs.map +1 -1
  233. package/dist/plugins/coin/errors.mjs +1 -4
  234. package/dist/plugins/coin/errors.mjs.map +1 -1
  235. package/dist/plugins/coin/index.d.mts +4 -34
  236. package/dist/plugins/coin/index.mjs +47 -28
  237. package/dist/plugins/coin/index.mjs.map +1 -1
  238. package/dist/plugins/coin/metadata.d.mts +1 -0
  239. package/dist/plugins/coin/metadata.mjs +8 -9
  240. package/dist/plugins/coin/metadata.mjs.map +1 -1
  241. package/dist/plugins/coin/mint.mjs +7 -21
  242. package/dist/plugins/coin/mint.mjs.map +1 -1
  243. package/dist/plugins/coin/registry.mjs +33 -20
  244. package/dist/plugins/coin/registry.mjs.map +1 -1
  245. package/dist/plugins/coin/service.d.mts +1 -1
  246. package/dist/plugins/coin/service.mjs +1 -8
  247. package/dist/plugins/coin/service.mjs.map +1 -1
  248. package/dist/plugins/coin/snapshot.mjs.map +1 -1
  249. package/dist/plugins/coin/type-strings.mjs.map +1 -1
  250. package/dist/plugins/dashboard/domain.mjs +106 -167
  251. package/dist/plugins/dashboard/domain.mjs.map +1 -1
  252. package/dist/plugins/dashboard/index.mjs +13 -13
  253. package/dist/plugins/dashboard/index.mjs.map +1 -1
  254. package/dist/plugins/dashboard/origin-policy.mjs +3 -3
  255. package/dist/plugins/dashboard/origin-policy.mjs.map +1 -1
  256. package/dist/plugins/dashboard/routable.mjs.map +1 -1
  257. package/dist/plugins/dashboard/schema/builder.mjs.map +1 -1
  258. package/dist/plugins/dashboard/schema/enums.mjs.map +1 -1
  259. package/dist/plugins/dashboard/schema/root.mjs +23 -44
  260. package/dist/plugins/dashboard/schema/root.mjs.map +1 -1
  261. package/dist/plugins/dashboard/schema/types.mjs +37 -91
  262. package/dist/plugins/dashboard/schema/types.mjs.map +1 -1
  263. package/dist/plugins/dashboard/schema.mjs.map +1 -1
  264. package/dist/plugins/dashboard/server.mjs.map +1 -1
  265. package/dist/plugins/deepbook/codegen.d.mts +12 -11
  266. package/dist/plugins/deepbook/codegen.mjs +108 -11
  267. package/dist/plugins/deepbook/codegen.mjs.map +1 -1
  268. package/dist/plugins/deepbook/deploy.mjs +7 -14
  269. package/dist/plugins/deepbook/deploy.mjs.map +1 -1
  270. package/dist/plugins/deepbook/errors.mjs +4 -2
  271. package/dist/plugins/deepbook/errors.mjs.map +1 -1
  272. package/dist/plugins/deepbook/faucet-strategy.mjs +4 -10
  273. package/dist/plugins/deepbook/faucet-strategy.mjs.map +1 -1
  274. package/dist/plugins/deepbook/hash.mjs.map +1 -1
  275. package/dist/plugins/deepbook/index.d.mts +38 -34
  276. package/dist/plugins/deepbook/index.mjs +133 -64
  277. package/dist/plugins/deepbook/index.mjs.map +1 -1
  278. package/dist/plugins/deepbook/plugin-key.mjs.map +1 -1
  279. package/dist/plugins/deepbook/pyth/index.mjs +4 -8
  280. package/dist/plugins/deepbook/pyth/index.mjs.map +1 -1
  281. package/dist/plugins/deepbook/snapshot.mjs +0 -1
  282. package/dist/plugins/deepbook/snapshot.mjs.map +1 -1
  283. package/dist/plugins/deepbook/type-strings.mjs.map +1 -1
  284. package/dist/plugins/deepbook/types.d.mts +2 -1
  285. package/dist/plugins/deepbook/types.mjs.map +1 -1
  286. package/dist/plugins/faucet/dispatcher.d.mts +3 -3
  287. package/dist/plugins/faucet/dispatcher.mjs.map +1 -1
  288. package/dist/plugins/faucet/errors.mjs.map +1 -1
  289. package/dist/plugins/faucet/http.mjs +2 -10
  290. package/dist/plugins/faucet/http.mjs.map +1 -1
  291. package/dist/plugins/faucet/index.mjs +0 -1
  292. package/dist/plugins/faucet/index.mjs.map +1 -1
  293. package/dist/plugins/host-service/errors.d.mts +1 -3
  294. package/dist/plugins/host-service/errors.mjs +1 -2
  295. package/dist/plugins/host-service/errors.mjs.map +1 -1
  296. package/dist/plugins/host-service/index.d.mts +1 -2
  297. package/dist/plugins/host-service/index.mjs +11 -11
  298. package/dist/plugins/host-service/index.mjs.map +1 -1
  299. package/dist/plugins/host-service/routable.mjs.map +1 -1
  300. package/dist/plugins/host-service/service.mjs +13 -13
  301. package/dist/plugins/host-service/service.mjs.map +1 -1
  302. package/dist/plugins/internal/acquire-on-chain-artifact.mjs.map +1 -1
  303. package/dist/plugins/internal/codegen-helpers.mjs +2 -0
  304. package/dist/plugins/internal/codegen-helpers.mjs.map +1 -1
  305. package/dist/plugins/internal/funding-failure-error.mjs.map +1 -1
  306. package/dist/plugins/{postgres → internal/postgres-sidecar}/connection.mjs +1 -1
  307. package/dist/plugins/internal/postgres-sidecar/connection.mjs.map +1 -0
  308. package/dist/plugins/{postgres → internal/postgres-sidecar}/db-ensure.mjs +30 -16
  309. package/dist/plugins/internal/postgres-sidecar/db-ensure.mjs.map +1 -0
  310. package/dist/plugins/internal/postgres-sidecar/errors.mjs +21 -0
  311. package/dist/plugins/internal/postgres-sidecar/errors.mjs.map +1 -0
  312. package/dist/{substrate/runtime/scoped-multimap → plugins/internal/postgres-sidecar}/index.mjs +1 -0
  313. package/dist/plugins/internal/postgres-sidecar/service.mjs +121 -0
  314. package/dist/plugins/internal/postgres-sidecar/service.mjs.map +1 -0
  315. package/dist/plugins/package/build.mjs +2 -2
  316. package/dist/plugins/package/build.mjs.map +1 -1
  317. package/dist/plugins/package/codegen.d.mts +7 -14
  318. package/dist/plugins/package/codegen.mjs +187 -59
  319. package/dist/plugins/package/codegen.mjs.map +1 -1
  320. package/dist/plugins/package/dep-resolution.mjs +51 -3
  321. package/dist/plugins/package/dep-resolution.mjs.map +1 -1
  322. package/dist/plugins/package/errors.mjs +1 -4
  323. package/dist/plugins/package/errors.mjs.map +1 -1
  324. package/dist/plugins/package/git-source.d.mts +18 -0
  325. package/dist/plugins/package/git-source.mjs +119 -0
  326. package/dist/plugins/package/git-source.mjs.map +1 -0
  327. package/dist/plugins/package/index.d.mts +28 -19
  328. package/dist/plugins/package/index.mjs +107 -32
  329. package/dist/plugins/package/index.mjs.map +1 -1
  330. package/dist/plugins/package/mode-known.mjs +2 -2
  331. package/dist/plugins/package/mode-known.mjs.map +1 -1
  332. package/dist/plugins/package/mode-local.mjs +18 -35
  333. package/dist/plugins/package/mode-local.mjs.map +1 -1
  334. package/dist/plugins/package/publish-executor.mjs +13 -8
  335. package/dist/plugins/package/publish-executor.mjs.map +1 -1
  336. package/dist/plugins/package/publish-output.d.mts +1 -11
  337. package/dist/plugins/package/publish-output.mjs +1 -9
  338. package/dist/plugins/package/publish-output.mjs.map +1 -1
  339. package/dist/plugins/package/registry.d.mts +1 -1
  340. package/dist/plugins/package/registry.mjs +26 -14
  341. package/dist/plugins/package/registry.mjs.map +1 -1
  342. package/dist/plugins/package/service.mjs.map +1 -1
  343. package/dist/plugins/package/snapshot.mjs.map +1 -1
  344. package/dist/plugins/router-entrypoints.mjs +1 -3
  345. package/dist/plugins/router-entrypoints.mjs.map +1 -1
  346. package/dist/plugins/seal/bootstrap-assets/cargo-image.mjs +1 -2
  347. package/dist/plugins/seal/bootstrap-assets/cargo-image.mjs.map +1 -1
  348. package/dist/plugins/seal/bootstrap-assets/source-fetch.mjs +1 -6
  349. package/dist/plugins/seal/bootstrap-assets/source-fetch.mjs.map +1 -1
  350. package/dist/plugins/seal/codegen.d.mts +1 -5
  351. package/dist/plugins/seal/codegen.mjs +83 -12
  352. package/dist/plugins/seal/codegen.mjs.map +1 -1
  353. package/dist/plugins/seal/config-render.mjs +2 -6
  354. package/dist/plugins/seal/config-render.mjs.map +1 -1
  355. package/dist/plugins/seal/deploy.mjs +18 -29
  356. package/dist/plugins/seal/deploy.mjs.map +1 -1
  357. package/dist/plugins/seal/errors.d.mts +4 -5
  358. package/dist/plugins/seal/errors.mjs +1 -8
  359. package/dist/plugins/seal/errors.mjs.map +1 -1
  360. package/dist/plugins/seal/index.d.mts +7 -28
  361. package/dist/plugins/seal/index.mjs +69 -47
  362. package/dist/plugins/seal/index.mjs.map +1 -1
  363. package/dist/plugins/seal/key-manager.mjs.map +1 -1
  364. package/dist/plugins/seal/key-server.mjs +1 -6
  365. package/dist/plugins/seal/key-server.mjs.map +1 -1
  366. package/dist/plugins/seal/keygen.mjs +2 -3
  367. package/dist/plugins/seal/keygen.mjs.map +1 -1
  368. package/dist/plugins/seal/mode/fork-known.mjs.map +1 -1
  369. package/dist/plugins/seal/mode/live.mjs +1 -1
  370. package/dist/plugins/seal/mode/live.mjs.map +1 -1
  371. package/dist/plugins/seal/mode/local-keygen.mjs +4 -10
  372. package/dist/plugins/seal/mode/local-keygen.mjs.map +1 -1
  373. package/dist/plugins/seal/plugin-key.mjs.map +1 -1
  374. package/dist/plugins/seal/registry-publish.mjs.map +1 -1
  375. package/dist/plugins/seal/routable.mjs.map +1 -1
  376. package/dist/plugins/seal/service.mjs.map +1 -1
  377. package/dist/plugins/seal/snapshot.mjs +1 -2
  378. package/dist/plugins/seal/snapshot.mjs.map +1 -1
  379. package/dist/plugins/sui/auto-tick.mjs +5 -5
  380. package/dist/plugins/sui/auto-tick.mjs.map +1 -1
  381. package/dist/plugins/sui/chain-build-container.mjs +2 -2
  382. package/dist/plugins/sui/chain-build-container.mjs.map +1 -1
  383. package/dist/plugins/sui/chain-probe.mjs +4 -4
  384. package/dist/plugins/sui/chain-probe.mjs.map +1 -1
  385. package/dist/plugins/sui/codegen.d.mts +9 -7
  386. package/dist/plugins/sui/codegen.mjs +49 -46
  387. package/dist/plugins/sui/codegen.mjs.map +1 -1
  388. package/dist/plugins/sui/errors.d.mts +1 -1
  389. package/dist/plugins/sui/errors.mjs +1 -9
  390. package/dist/plugins/sui/errors.mjs.map +1 -1
  391. package/dist/{substrate/runtime/sui-execute → plugins/sui/exec}/index.d.mts +1 -1
  392. package/dist/{substrate/runtime/sui-execute → plugins/sui/exec}/index.mjs +3 -7
  393. package/dist/plugins/sui/exec/index.mjs.map +1 -0
  394. package/dist/{substrate/runtime/sui-execute → plugins/sui/exec}/sign-and-dispatch.mjs +1 -1
  395. package/dist/plugins/sui/exec/sign-and-dispatch.mjs.map +1 -0
  396. package/dist/plugins/sui/fork-faucet-strategy.mjs +2 -6
  397. package/dist/plugins/sui/fork-faucet-strategy.mjs.map +1 -1
  398. package/dist/plugins/sui/fork-orchestration.mjs +13 -23
  399. package/dist/plugins/sui/fork-orchestration.mjs.map +1 -1
  400. package/dist/plugins/sui/fork-transaction.mjs.map +1 -1
  401. package/dist/plugins/sui/index.d.mts +34 -83
  402. package/dist/plugins/sui/index.mjs +200 -68
  403. package/dist/plugins/sui/index.mjs.map +1 -1
  404. package/dist/{substrate/runtime/sui-ledger → plugins/sui/ledger}/object-ref.mjs +1 -1
  405. package/dist/plugins/sui/ledger/object-ref.mjs.map +1 -0
  406. package/dist/plugins/sui/local-faucet-strategy.mjs +1 -5
  407. package/dist/plugins/sui/local-faucet-strategy.mjs.map +1 -1
  408. package/dist/plugins/sui/log-attrs.mjs +11 -0
  409. package/dist/plugins/sui/log-attrs.mjs.map +1 -0
  410. package/dist/plugins/sui/mode/external.mjs +4 -12
  411. package/dist/plugins/sui/mode/external.mjs.map +1 -1
  412. package/dist/plugins/sui/mode/fork.mjs +19 -16
  413. package/dist/plugins/sui/mode/fork.mjs.map +1 -1
  414. package/dist/plugins/sui/mode/live.mjs +4 -17
  415. package/dist/plugins/sui/mode/live.mjs.map +1 -1
  416. package/dist/plugins/sui/mode/local.d.mts +1 -0
  417. package/dist/plugins/sui/mode/local.mjs +203 -61
  418. package/dist/plugins/sui/mode/local.mjs.map +1 -1
  419. package/dist/plugins/sui/mode/shared-boot.mjs +18 -23
  420. package/dist/plugins/sui/mode/shared-boot.mjs.map +1 -1
  421. package/dist/plugins/sui/mode/shared.d.mts +6 -7
  422. package/dist/plugins/sui/mode/shared.mjs.map +1 -1
  423. package/dist/plugins/sui/mode/spec.d.mts +23 -6
  424. package/dist/{substrate/runtime/sui-move-build → plugins/sui/move}/index.mjs +28 -30
  425. package/dist/plugins/sui/move/index.mjs.map +1 -0
  426. package/dist/plugins/sui/move-summary-runner.mjs +8 -4
  427. package/dist/plugins/sui/move-summary-runner.mjs.map +1 -1
  428. package/dist/{substrate/network.d.mts → plugins/sui/network-config.d.mts} +11 -10
  429. package/dist/plugins/sui/network-resolver.d.mts +6 -6
  430. package/dist/plugins/sui/routable.mjs.map +1 -1
  431. package/dist/plugins/sui/service.mjs +10 -6
  432. package/dist/plugins/sui/service.mjs.map +1 -1
  433. package/dist/plugins/sui/snapshot.mjs +10 -5
  434. package/dist/plugins/sui/snapshot.mjs.map +1 -1
  435. package/dist/plugins/wallet/codegen.d.mts +8 -6
  436. package/dist/plugins/wallet/codegen.mjs +4 -10
  437. package/dist/plugins/wallet/codegen.mjs.map +1 -1
  438. package/dist/plugins/wallet/errors.mjs +1 -4
  439. package/dist/plugins/wallet/errors.mjs.map +1 -1
  440. package/dist/plugins/wallet/index.d.mts +3 -6
  441. package/dist/plugins/wallet/index.mjs +16 -21
  442. package/dist/plugins/wallet/index.mjs.map +1 -1
  443. package/dist/plugins/wallet/origin-policy.mjs +3 -3
  444. package/dist/plugins/wallet/origin-policy.mjs.map +1 -1
  445. package/dist/plugins/wallet/pairing.mjs +6 -24
  446. package/dist/plugins/wallet/pairing.mjs.map +1 -1
  447. package/dist/plugins/wallet/protocol.mjs.map +1 -1
  448. package/dist/plugins/wallet/routable.mjs.map +1 -1
  449. package/dist/plugins/wallet/server.mjs +17 -24
  450. package/dist/plugins/wallet/server.mjs.map +1 -1
  451. package/dist/plugins/wallet/service.d.mts +2 -2
  452. package/dist/plugins/wallet/service.mjs +4 -15
  453. package/dist/plugins/wallet/service.mjs.map +1 -1
  454. package/dist/plugins/wallet/snapshot.mjs.map +1 -1
  455. package/dist/plugins/walrus/bootstrap-assets/cargo-image.mjs +1 -5
  456. package/dist/plugins/walrus/bootstrap-assets/cargo-image.mjs.map +1 -1
  457. package/dist/plugins/walrus/codegen.d.mts +2 -13
  458. package/dist/plugins/walrus/codegen.mjs +93 -28
  459. package/dist/plugins/walrus/codegen.mjs.map +1 -1
  460. package/dist/plugins/walrus/deploy-paths.mjs +2 -3
  461. package/dist/plugins/walrus/deploy-paths.mjs.map +1 -1
  462. package/dist/plugins/walrus/deploy.mjs +26 -19
  463. package/dist/plugins/walrus/deploy.mjs.map +1 -1
  464. package/dist/plugins/walrus/errors.mjs +1 -8
  465. package/dist/plugins/walrus/errors.mjs.map +1 -1
  466. package/dist/plugins/walrus/faucet-strategy.mjs +15 -1
  467. package/dist/plugins/walrus/faucet-strategy.mjs.map +1 -1
  468. package/dist/plugins/walrus/index.d.mts +13 -44
  469. package/dist/plugins/walrus/index.mjs +119 -122
  470. package/dist/plugins/walrus/index.mjs.map +1 -1
  471. package/dist/plugins/walrus/mode/known-deploy.mjs +6 -6
  472. package/dist/plugins/walrus/mode/known-deploy.mjs.map +1 -1
  473. package/dist/plugins/walrus/mode/local-cluster.d.mts +2 -2
  474. package/dist/plugins/walrus/mode/local-cluster.mjs +2 -10
  475. package/dist/plugins/walrus/mode/local-cluster.mjs.map +1 -1
  476. package/dist/plugins/walrus/plugin-key.mjs.map +1 -1
  477. package/dist/plugins/walrus/registry-publish.mjs.map +1 -1
  478. package/dist/plugins/walrus/routable.mjs.map +1 -1
  479. package/dist/plugins/walrus/service.mjs.map +1 -1
  480. package/dist/plugins/walrus/snapshot.mjs +3 -3
  481. package/dist/plugins/walrus/snapshot.mjs.map +1 -1
  482. package/dist/plugins/walrus/storage-nodes.mjs +53 -14
  483. package/dist/plugins/walrus/storage-nodes.mjs.map +1 -1
  484. package/dist/plugins/walrus/wal-swap.mjs +4 -8
  485. package/dist/plugins/walrus/wal-swap.mjs.map +1 -1
  486. package/dist/primitives/artifact-publisher.mjs.map +1 -1
  487. package/dist/primitives/cache.d.mts +1 -1
  488. package/dist/runtime/docker/client.mjs +47 -3
  489. package/dist/runtime/docker/client.mjs.map +1 -1
  490. package/dist/runtime/docker/container.mjs +37 -57
  491. package/dist/runtime/docker/container.mjs.map +1 -1
  492. package/dist/runtime/docker/errors.mjs.map +1 -1
  493. package/dist/runtime/docker/exec.mjs +2 -2
  494. package/dist/runtime/docker/exec.mjs.map +1 -1
  495. package/dist/runtime/docker/image.mjs +10 -11
  496. package/dist/runtime/docker/image.mjs.map +1 -1
  497. package/dist/runtime/docker/index.mjs +0 -1
  498. package/dist/runtime/docker/inspect-and-decode.mjs.map +1 -1
  499. package/dist/runtime/docker/inventory.mjs +9 -9
  500. package/dist/runtime/docker/inventory.mjs.map +1 -1
  501. package/dist/runtime/docker/labels.mjs +12 -1
  502. package/dist/runtime/docker/labels.mjs.map +1 -1
  503. package/dist/runtime/docker/network.mjs +6 -6
  504. package/dist/runtime/docker/network.mjs.map +1 -1
  505. package/dist/runtime/docker/render-run-args.mjs.map +1 -1
  506. package/dist/runtime/docker/service.mjs +31 -45
  507. package/dist/runtime/docker/service.mjs.map +1 -1
  508. package/dist/runtime/docker/sweep.mjs +14 -64
  509. package/dist/runtime/docker/sweep.mjs.map +1 -1
  510. package/dist/runtime/docker/volume.mjs +1 -1
  511. package/dist/runtime/docker/volume.mjs.map +1 -1
  512. package/dist/runtime/docker/wrap.mjs +14 -2
  513. package/dist/runtime/docker/wrap.mjs.map +1 -1
  514. package/dist/substrate/brand.d.mts +2 -5
  515. package/dist/substrate/brand.mjs +3 -2
  516. package/dist/substrate/brand.mjs.map +1 -1
  517. package/dist/substrate/cross-process.mjs +2 -16
  518. package/dist/substrate/cross-process.mjs.map +1 -1
  519. package/dist/substrate/event-time.mjs +0 -2
  520. package/dist/substrate/event-time.mjs.map +1 -1
  521. package/dist/substrate/events.d.mts +46 -16
  522. package/dist/substrate/identity.d.mts +11 -5
  523. package/dist/substrate/manifest.d.mts +33 -26
  524. package/dist/substrate/manifest.mjs +8 -3
  525. package/dist/substrate/manifest.mjs.map +1 -1
  526. package/dist/substrate/options.d.mts +33 -4
  527. package/dist/substrate/plugin-ctx.d.mts +70 -0
  528. package/dist/substrate/plugin-ctx.mjs +66 -0
  529. package/dist/substrate/plugin-ctx.mjs.map +1 -0
  530. package/dist/substrate/plugin.d.mts +46 -38
  531. package/dist/substrate/plugin.mjs +13 -9
  532. package/dist/substrate/plugin.mjs.map +1 -1
  533. package/dist/substrate/projection.d.mts +1 -1
  534. package/dist/substrate/runtime/atomic-write.mjs +3 -4
  535. package/dist/substrate/runtime/atomic-write.mjs.map +1 -1
  536. package/dist/substrate/runtime/cache/schema.mjs.map +1 -1
  537. package/dist/substrate/runtime/cache/service.mjs +50 -20
  538. package/dist/substrate/runtime/cache/service.mjs.map +1 -1
  539. package/dist/substrate/runtime/config-validation.mjs.map +1 -1
  540. package/dist/substrate/runtime/control-plane/domain.mjs +34 -12
  541. package/dist/substrate/runtime/control-plane/domain.mjs.map +1 -1
  542. package/dist/substrate/runtime/control-plane/service.mjs.map +1 -1
  543. package/dist/substrate/runtime/cross-process/command-channel/channel.mjs +14 -17
  544. package/dist/substrate/runtime/cross-process/command-channel/channel.mjs.map +1 -1
  545. package/dist/substrate/runtime/cross-process/command-channel/file-channel.mjs.map +1 -1
  546. package/dist/substrate/runtime/cross-process/command-channel/protocol.mjs.map +1 -1
  547. package/dist/substrate/runtime/cross-process/command-channel/runtime-control-lock.mjs.map +1 -1
  548. package/dist/substrate/runtime/cross-process/index.mjs +0 -2
  549. package/dist/substrate/runtime/cross-process/live-clock.mjs +1 -1
  550. package/dist/substrate/runtime/cross-process/live-clock.mjs.map +1 -1
  551. package/dist/substrate/runtime/cross-process/liveness.mjs +11 -18
  552. package/dist/substrate/runtime/cross-process/liveness.mjs.map +1 -1
  553. package/dist/substrate/runtime/cross-process/reclaim-stale-file.mjs +2 -2
  554. package/dist/substrate/runtime/cross-process/reclaim-stale-file.mjs.map +1 -1
  555. package/dist/substrate/runtime/cross-process/roster.mjs +17 -127
  556. package/dist/substrate/runtime/cross-process/roster.mjs.map +1 -1
  557. package/dist/substrate/runtime/cross-process/self-pid.mjs.map +1 -1
  558. package/dist/substrate/runtime/cross-process/stack-lock.mjs +29 -28
  559. package/dist/substrate/runtime/cross-process/stack-lock.mjs.map +1 -1
  560. package/dist/substrate/runtime/current-plugin.mjs.map +1 -1
  561. package/dist/substrate/runtime/errors.mjs +1 -13
  562. package/dist/substrate/runtime/errors.mjs.map +1 -1
  563. package/dist/substrate/runtime/format-unknown-error.mjs.map +1 -1
  564. package/dist/substrate/runtime/host-bind-mount-owner.mjs.map +1 -1
  565. package/dist/substrate/runtime/host-gateway.mjs.map +1 -1
  566. package/dist/substrate/runtime/host-tree-tar/index.mjs +15 -163
  567. package/dist/substrate/runtime/host-tree-tar/index.mjs.map +1 -1
  568. package/dist/substrate/runtime/http-probe.d.mts +1 -3
  569. package/dist/substrate/runtime/http-probe.mjs.map +1 -1
  570. package/dist/substrate/runtime/index.mjs +1 -6
  571. package/dist/substrate/runtime/lease-broker/service.mjs +5 -23
  572. package/dist/substrate/runtime/lease-broker/service.mjs.map +1 -1
  573. package/dist/substrate/runtime/lifecycle/dep-graph.mjs +3 -3
  574. package/dist/substrate/runtime/lifecycle/dep-graph.mjs.map +1 -1
  575. package/dist/substrate/runtime/lifecycle/graph-input-id.d.mts +1 -0
  576. package/dist/substrate/runtime/lifecycle/graph-input-id.mjs +133 -0
  577. package/dist/substrate/runtime/lifecycle/graph-input-id.mjs.map +1 -0
  578. package/dist/substrate/runtime/lifecycle/index.mjs +2 -2
  579. package/dist/substrate/runtime/lifecycle/plugin-registry.d.mts +1 -1
  580. package/dist/substrate/runtime/lifecycle/plugin-registry.mjs +22 -1
  581. package/dist/substrate/runtime/lifecycle/plugin-registry.mjs.map +1 -1
  582. package/dist/substrate/runtime/lifecycle/ready-gate.mjs +2 -15
  583. package/dist/substrate/runtime/lifecycle/ready-gate.mjs.map +1 -1
  584. package/dist/substrate/runtime/lifecycle/selective-restart.mjs +29 -25
  585. package/dist/substrate/runtime/lifecycle/selective-restart.mjs.map +1 -1
  586. package/dist/substrate/runtime/lifecycle/signals.mjs +1 -1
  587. package/dist/substrate/runtime/lifecycle/signals.mjs.map +1 -1
  588. package/dist/substrate/runtime/lifecycle/state-machine.mjs.map +1 -1
  589. package/dist/substrate/runtime/lifecycle/watch-attribution.d.mts +1 -1
  590. package/dist/substrate/runtime/lifecycle/watch-attribution.mjs +0 -1
  591. package/dist/substrate/runtime/lifecycle/watch-attribution.mjs.map +1 -1
  592. package/dist/substrate/runtime/managed-container.d.mts +5 -1
  593. package/dist/substrate/runtime/managed-container.mjs +8 -10
  594. package/dist/substrate/runtime/managed-container.mjs.map +1 -1
  595. package/dist/substrate/runtime/manifest/manifest.mjs +8 -30
  596. package/dist/substrate/runtime/manifest/manifest.mjs.map +1 -1
  597. package/dist/substrate/runtime/mode-errors.d.mts +1 -2
  598. package/dist/substrate/runtime/mode-errors.mjs.map +1 -1
  599. package/dist/substrate/runtime/observability/cascade-formatter.mjs +1 -11
  600. package/dist/substrate/runtime/observability/cascade-formatter.mjs.map +1 -1
  601. package/dist/substrate/runtime/observability/ignore-with-log.mjs.map +1 -1
  602. package/dist/substrate/runtime/observability/index.d.mts +1 -1
  603. package/dist/substrate/runtime/observability/index.mjs +4 -6
  604. package/dist/substrate/runtime/observability/log-attrs.mjs +46 -0
  605. package/dist/substrate/runtime/observability/log-attrs.mjs.map +1 -0
  606. package/dist/substrate/runtime/observability/log-store.mjs.map +1 -1
  607. package/dist/substrate/runtime/observability/logger.mjs +3 -3
  608. package/dist/substrate/runtime/observability/logger.mjs.map +1 -1
  609. package/dist/substrate/runtime/observability/output-truncate.mjs.map +1 -1
  610. package/dist/substrate/runtime/observability/pretty-error.mjs.map +1 -1
  611. package/dist/substrate/runtime/observability/process-lines.mjs.map +1 -1
  612. package/dist/substrate/runtime/observability/redaction.mjs.map +1 -1
  613. package/dist/substrate/runtime/observability/subprocess-capture.mjs +2 -2
  614. package/dist/substrate/runtime/observability/subprocess-capture.mjs.map +1 -1
  615. package/dist/substrate/runtime/passthrough-or-wrap.mjs.map +1 -1
  616. package/dist/substrate/runtime/paths.mjs +27 -9
  617. package/dist/substrate/runtime/paths.mjs.map +1 -1
  618. package/dist/substrate/runtime/phase-preserving-produce.mjs.map +1 -1
  619. package/dist/substrate/runtime/port-broker/service.mjs +10 -27
  620. package/dist/substrate/runtime/port-broker/service.mjs.map +1 -1
  621. package/dist/substrate/runtime/post-acquire-tasks.mjs.map +1 -1
  622. package/dist/substrate/runtime/probes.d.mts +2 -3
  623. package/dist/substrate/runtime/probes.mjs.map +1 -1
  624. package/dist/substrate/runtime/process-supervisor.mjs.map +1 -1
  625. package/dist/substrate/runtime/projection/operational-endpoints.mjs.map +1 -1
  626. package/dist/substrate/runtime/projection/state-ref.mjs.map +1 -1
  627. package/dist/substrate/runtime/projection/update.mjs +87 -11
  628. package/dist/substrate/runtime/projection/update.mjs.map +1 -1
  629. package/dist/substrate/runtime/random-suffix.mjs.map +1 -1
  630. package/dist/substrate/runtime/reconcile/fs-plan.mjs +146 -0
  631. package/dist/substrate/runtime/reconcile/fs-plan.mjs.map +1 -0
  632. package/dist/substrate/runtime/reconcile/graph.mjs +19 -0
  633. package/dist/substrate/runtime/reconcile/graph.mjs.map +1 -0
  634. package/dist/substrate/runtime/reconcile/index.mjs +5 -0
  635. package/dist/substrate/runtime/reconcile/label.mjs +41 -0
  636. package/dist/substrate/runtime/reconcile/label.mjs.map +1 -0
  637. package/dist/substrate/runtime/reconcile/spec.mjs +15 -0
  638. package/dist/substrate/runtime/reconcile/spec.mjs.map +1 -0
  639. package/dist/substrate/runtime/retry-policy.d.mts +2 -3
  640. package/dist/substrate/runtime/retry-policy.mjs.map +1 -1
  641. package/dist/substrate/runtime/routed-url.mjs.map +1 -1
  642. package/dist/substrate/runtime/runtime-decode.mjs.map +1 -1
  643. package/dist/substrate/runtime/scoped-http-server.mjs.map +1 -1
  644. package/dist/substrate/runtime/stage-and-swap/index.mjs +49 -12
  645. package/dist/substrate/runtime/stage-and-swap/index.mjs.map +1 -1
  646. package/dist/substrate/runtime/strategy-registry/chain-keyed-strategy-for.mjs.map +1 -1
  647. package/dist/substrate/runtime/strategy-registry/chain-probe-for.mjs.map +1 -1
  648. package/dist/substrate/runtime/strategy-registry/service.mjs +29 -17
  649. package/dist/substrate/runtime/strategy-registry/service.mjs.map +1 -1
  650. package/dist/substrate/runtime/subnet-broker.mjs.map +1 -1
  651. package/dist/substrate/runtime/supervisor/acquire-node.mjs +188 -56
  652. package/dist/substrate/runtime/supervisor/acquire-node.mjs.map +1 -1
  653. package/dist/substrate/runtime/supervisor/background-tasks.mjs +79 -65
  654. package/dist/substrate/runtime/supervisor/background-tasks.mjs.map +1 -1
  655. package/dist/substrate/runtime/supervisor/command-loop.mjs +82 -23
  656. package/dist/substrate/runtime/supervisor/command-loop.mjs.map +1 -1
  657. package/dist/substrate/runtime/supervisor/contribution-dispatcher.mjs +16 -0
  658. package/dist/substrate/runtime/supervisor/contribution-dispatcher.mjs.map +1 -0
  659. package/dist/substrate/runtime/supervisor/errors.mjs +11 -2
  660. package/dist/substrate/runtime/supervisor/errors.mjs.map +1 -1
  661. package/dist/substrate/runtime/supervisor/index.mjs +2 -0
  662. package/dist/substrate/runtime/supervisor/shutdown.mjs +6 -6
  663. package/dist/substrate/runtime/supervisor/shutdown.mjs.map +1 -1
  664. package/dist/substrate/runtime/supervisor/start-supervisor.mjs +60 -70
  665. package/dist/substrate/runtime/supervisor/start-supervisor.mjs.map +1 -1
  666. package/dist/substrate/runtime/supervisor/state.d.mts +1 -1
  667. package/dist/substrate/runtime/supervisor/state.mjs +1 -1
  668. package/dist/substrate/runtime/supervisor/state.mjs.map +1 -1
  669. package/dist/substrate/runtime/supervisor/teardown.mjs +10 -9
  670. package/dist/substrate/runtime/supervisor/teardown.mjs.map +1 -1
  671. package/dist/substrate/runtime/supervisor/wiring.mjs +6 -20
  672. package/dist/substrate/runtime/supervisor/wiring.mjs.map +1 -1
  673. package/dist/substrate/runtime/tar/reader.mjs +216 -0
  674. package/dist/substrate/runtime/tar/reader.mjs.map +1 -0
  675. package/dist/substrate/runtime/typed-env.mjs.map +1 -1
  676. package/dist/substrate/versioned-doc-schema.mjs.map +1 -1
  677. package/dist/substrate/versioned-doc-sync.mjs +5 -5
  678. package/dist/substrate/versioned-doc-sync.mjs.map +1 -1
  679. package/dist/surfaces/cli/command-tree.mjs +49 -7
  680. package/dist/surfaces/cli/command-tree.mjs.map +1 -1
  681. package/dist/surfaces/cli/commands/config.mjs +1 -1
  682. package/dist/surfaces/cli/commands/config.mjs.map +1 -1
  683. package/dist/surfaces/cli/commands/confirm-node.mjs.map +1 -1
  684. package/dist/surfaces/cli/commands/confirm.mjs.map +1 -1
  685. package/dist/surfaces/cli/commands/doctor.mjs +1 -1
  686. package/dist/surfaces/cli/commands/doctor.mjs.map +1 -1
  687. package/dist/surfaces/cli/commands/prune-picker-entry.mjs.map +1 -1
  688. package/dist/surfaces/cli/commands/prune-picker.mjs.map +1 -1
  689. package/dist/surfaces/cli/commands/prune.mjs +1 -1
  690. package/dist/surfaces/cli/commands/prune.mjs.map +1 -1
  691. package/dist/surfaces/cli/commands/snapshot.mjs +1 -1
  692. package/dist/surfaces/cli/commands/snapshot.mjs.map +1 -1
  693. package/dist/surfaces/cli/commands/status.mjs +1 -1
  694. package/dist/surfaces/cli/commands/status.mjs.map +1 -1
  695. package/dist/surfaces/cli/commands/supervisor-presence.mjs.map +1 -1
  696. package/dist/surfaces/cli/commands/wipe.mjs +3 -4
  697. package/dist/surfaces/cli/commands/wipe.mjs.map +1 -1
  698. package/dist/surfaces/cli/envelope.mjs.map +1 -1
  699. package/dist/surfaces/cli/errors.mjs.map +1 -1
  700. package/dist/surfaces/cli/flags.mjs.map +1 -1
  701. package/dist/surfaces/cli/index.mjs +45 -14
  702. package/dist/surfaces/cli/index.mjs.map +1 -1
  703. package/dist/surfaces/cli/output.mjs.map +1 -1
  704. package/dist/surfaces/cli/sysexits.mjs.map +1 -1
  705. package/dist/surfaces/tui/app.mjs +0 -21
  706. package/dist/surfaces/tui/app.mjs.map +1 -1
  707. package/dist/surfaces/tui/dashboard.mjs +0 -48
  708. package/dist/surfaces/tui/dashboard.mjs.map +1 -1
  709. package/dist/surfaces/tui/display-derivation.mjs +80 -16
  710. package/dist/surfaces/tui/display-derivation.mjs.map +1 -1
  711. package/dist/surfaces/tui/errors.mjs.map +1 -1
  712. package/dist/surfaces/tui/event-log.mjs +0 -9
  713. package/dist/surfaces/tui/event-log.mjs.map +1 -1
  714. package/dist/surfaces/tui/heartbeat.mjs.map +1 -1
  715. package/dist/surfaces/tui/index.mjs +2 -2
  716. package/dist/surfaces/tui/index.mjs.map +1 -1
  717. package/dist/surfaces/tui/input.mjs.map +1 -1
  718. package/dist/surfaces/tui/mode-detect.mjs.map +1 -1
  719. package/dist/surfaces/tui/mount-ink.mjs.map +1 -1
  720. package/dist/surfaces/tui/plain-renderer.mjs +26 -19
  721. package/dist/surfaces/tui/plain-renderer.mjs.map +1 -1
  722. package/dist/surfaces/tui/resource-table.mjs +8 -10
  723. package/dist/surfaces/tui/resource-table.mjs.map +1 -1
  724. package/images/postgres/Dockerfile +0 -1
  725. package/images/sui/Dockerfile +27 -54
  726. package/images/sui/entrypoint.sh +17 -179
  727. package/package.json +23 -15
  728. package/dashboard-ui/assets/index-Bmi1UtAg.js +0 -1356
  729. package/dashboard-ui/assets/index-D5EShVt4.js +0 -3
  730. package/dashboard-ui/assets/index-Deml9drg.css +0 -1
  731. package/dist/api/plugin-errors.d.mts +0 -7
  732. package/dist/api/plugin-errors.mjs +0 -10
  733. package/dist/api/plugin-errors.mjs.map +0 -1
  734. package/dist/cli/wirings/build-verb-layers.mjs +0 -42
  735. package/dist/cli/wirings/build-verb-layers.mjs.map +0 -1
  736. package/dist/contracts/capability-decl.d.mts +0 -40
  737. package/dist/orchestrators/built-in-plugin-layers.mjs +0 -54
  738. package/dist/orchestrators/built-in-plugin-layers.mjs.map +0 -1
  739. package/dist/orchestrators/run.mjs +0 -91
  740. package/dist/orchestrators/run.mjs.map +0 -1
  741. package/dist/orchestrators/runtime-composition.d.mts +0 -10
  742. package/dist/orchestrators/runtime-composition.mjs +0 -252
  743. package/dist/orchestrators/runtime-composition.mjs.map +0 -1
  744. package/dist/orchestrators/snapshot/capture-command.d.mts +0 -1
  745. package/dist/orchestrators/snapshot/capture-command.mjs +0 -25
  746. package/dist/orchestrators/snapshot/capture-command.mjs.map +0 -1
  747. package/dist/orchestrators/snapshot/pending-marker.mjs +0 -99
  748. package/dist/orchestrators/snapshot/pending-marker.mjs.map +0 -1
  749. package/dist/orchestrators/snapshot/recover-pending.mjs +0 -223
  750. package/dist/orchestrators/snapshot/recover-pending.mjs.map +0 -1
  751. package/dist/orchestrators/snapshot/state-document.d.mts +0 -1
  752. package/dist/orchestrators/snapshot/state-document.mjs +0 -58
  753. package/dist/orchestrators/snapshot/state-document.mjs.map +0 -1
  754. package/dist/plugins/account/spans.mjs +0 -16
  755. package/dist/plugins/account/spans.mjs.map +0 -1
  756. package/dist/plugins/account/variants/env.mjs +0 -24
  757. package/dist/plugins/account/variants/env.mjs.map +0 -1
  758. package/dist/plugins/account/variants/inline.mjs +0 -13
  759. package/dist/plugins/account/variants/inline.mjs.map +0 -1
  760. package/dist/plugins/account/variants/keystore.mjs +0 -91
  761. package/dist/plugins/account/variants/keystore.mjs.map +0 -1
  762. package/dist/plugins/action/spans.mjs +0 -11
  763. package/dist/plugins/action/spans.mjs.map +0 -1
  764. package/dist/plugins/coin/spans.mjs +0 -20
  765. package/dist/plugins/coin/spans.mjs.map +0 -1
  766. package/dist/plugins/deepbook/spans.mjs +0 -18
  767. package/dist/plugins/deepbook/spans.mjs.map +0 -1
  768. package/dist/plugins/faucet/spans.mjs +0 -12
  769. package/dist/plugins/faucet/spans.mjs.map +0 -1
  770. package/dist/plugins/package/spans.mjs +0 -14
  771. package/dist/plugins/package/spans.mjs.map +0 -1
  772. package/dist/plugins/postgres/codegen.mjs +0 -42
  773. package/dist/plugins/postgres/codegen.mjs.map +0 -1
  774. package/dist/plugins/postgres/connection.d.mts +0 -33
  775. package/dist/plugins/postgres/connection.mjs.map +0 -1
  776. package/dist/plugins/postgres/db-ensure.mjs.map +0 -1
  777. package/dist/plugins/postgres/errors.d.mts +0 -60
  778. package/dist/plugins/postgres/errors.mjs +0 -29
  779. package/dist/plugins/postgres/errors.mjs.map +0 -1
  780. package/dist/plugins/postgres/index.d.mts +0 -37
  781. package/dist/plugins/postgres/index.mjs +0 -68
  782. package/dist/plugins/postgres/index.mjs.map +0 -1
  783. package/dist/plugins/postgres/routable.mjs +0 -33
  784. package/dist/plugins/postgres/routable.mjs.map +0 -1
  785. package/dist/plugins/postgres/service.d.mts +0 -50
  786. package/dist/plugins/postgres/service.mjs +0 -179
  787. package/dist/plugins/postgres/service.mjs.map +0 -1
  788. package/dist/plugins/postgres/snapshot.mjs +0 -32
  789. package/dist/plugins/postgres/snapshot.mjs.map +0 -1
  790. package/dist/plugins/postgres/spans.mjs +0 -11
  791. package/dist/plugins/postgres/spans.mjs.map +0 -1
  792. package/dist/plugins/seal/spans.mjs +0 -18
  793. package/dist/plugins/seal/spans.mjs.map +0 -1
  794. package/dist/plugins/sui/spans.mjs +0 -17
  795. package/dist/plugins/sui/spans.mjs.map +0 -1
  796. package/dist/plugins/wallet/spans.mjs +0 -22
  797. package/dist/plugins/wallet/spans.mjs.map +0 -1
  798. package/dist/plugins/walrus/registry-publish.d.mts +0 -24
  799. package/dist/plugins/walrus/spans.mjs +0 -18
  800. package/dist/plugins/walrus/spans.mjs.map +0 -1
  801. package/dist/runtime/docker/logs.d.mts +0 -1
  802. package/dist/runtime/docker/logs.mjs +0 -34
  803. package/dist/runtime/docker/logs.mjs.map +0 -1
  804. package/dist/substrate/runtime/artifact-publisher/index.mjs +0 -86
  805. package/dist/substrate/runtime/artifact-publisher/index.mjs.map +0 -1
  806. package/dist/substrate/runtime/capability-sinks/index.d.mts +0 -1
  807. package/dist/substrate/runtime/capability-sinks/index.mjs +0 -3
  808. package/dist/substrate/runtime/capability-sinks/layer.d.mts +0 -1
  809. package/dist/substrate/runtime/capability-sinks/layer.mjs +0 -31
  810. package/dist/substrate/runtime/capability-sinks/layer.mjs.map +0 -1
  811. package/dist/substrate/runtime/capability-sinks/service.d.mts +0 -95
  812. package/dist/substrate/runtime/capability-sinks/service.mjs +0 -69
  813. package/dist/substrate/runtime/capability-sinks/service.mjs.map +0 -1
  814. package/dist/substrate/runtime/cross-process/lock.d.mts +0 -1
  815. package/dist/substrate/runtime/cross-process/lock.mjs +0 -23
  816. package/dist/substrate/runtime/cross-process/lock.mjs.map +0 -1
  817. package/dist/substrate/runtime/cross-process/snapshot-reservation.mjs +0 -113
  818. package/dist/substrate/runtime/cross-process/snapshot-reservation.mjs.map +0 -1
  819. package/dist/substrate/runtime/lifecycle/lifecycle-fact.mjs +0 -31
  820. package/dist/substrate/runtime/lifecycle/lifecycle-fact.mjs.map +0 -1
  821. package/dist/substrate/runtime/observability/formatter-registry.d.mts +0 -1
  822. package/dist/substrate/runtime/observability/formatter-registry.mjs +0 -48
  823. package/dist/substrate/runtime/observability/formatter-registry.mjs.map +0 -1
  824. package/dist/substrate/runtime/observability/span-store.d.mts +0 -1
  825. package/dist/substrate/runtime/observability/span-store.mjs +0 -110
  826. package/dist/substrate/runtime/observability/span-store.mjs.map +0 -1
  827. package/dist/substrate/runtime/observability/spans.d.mts +0 -1
  828. package/dist/substrate/runtime/observability/spans.mjs +0 -87
  829. package/dist/substrate/runtime/observability/spans.mjs.map +0 -1
  830. package/dist/substrate/runtime/projection/index.mjs +0 -4
  831. package/dist/substrate/runtime/projection/persisted.mjs +0 -213
  832. package/dist/substrate/runtime/projection/persisted.mjs.map +0 -1
  833. package/dist/substrate/runtime/scoped-multimap/service.mjs +0 -52
  834. package/dist/substrate/runtime/scoped-multimap/service.mjs.map +0 -1
  835. package/dist/substrate/runtime/scoped-ref-map/index.mjs +0 -2
  836. package/dist/substrate/runtime/scoped-ref-map/service.mjs +0 -83
  837. package/dist/substrate/runtime/scoped-ref-map/service.mjs.map +0 -1
  838. package/dist/substrate/runtime/state-store/index.mjs +0 -3
  839. package/dist/substrate/runtime/state-store/schema.d.mts +0 -1
  840. package/dist/substrate/runtime/state-store/schema.mjs +0 -41
  841. package/dist/substrate/runtime/state-store/schema.mjs.map +0 -1
  842. package/dist/substrate/runtime/state-store/service.d.mts +0 -1
  843. package/dist/substrate/runtime/state-store/service.mjs +0 -145
  844. package/dist/substrate/runtime/state-store/service.mjs.map +0 -1
  845. package/dist/substrate/runtime/sui-execute/index.mjs.map +0 -1
  846. package/dist/substrate/runtime/sui-execute/sign-and-dispatch.mjs.map +0 -1
  847. package/dist/substrate/runtime/sui-ledger/object-ref.mjs.map +0 -1
  848. package/dist/substrate/runtime/sui-move-build/index.mjs.map +0 -1
  849. package/dist/substrate/runtime/supervisor/dispatch-contributions.mjs +0 -151
  850. package/dist/substrate/runtime/supervisor/dispatch-contributions.mjs.map +0 -1
  851. package/dist/substrate/state-store.d.mts +0 -1
  852. /package/dist/orchestrators/{snapshot/pending-marker.d.mts → codegen/id-config.d.mts} +0 -0
  853. /package/dist/orchestrators/snapshot/{recover-pending.d.mts → interrupted-restore.d.mts} +0 -0
  854. /package/dist/{substrate/runtime/sui-execute → plugins/sui/exec}/sign-and-dispatch.d.mts +0 -0
  855. /package/dist/plugins/{postgres/snapshot.d.mts → sui/ledger/object-ref.d.mts} +0 -0
  856. /package/dist/{substrate/runtime/sui-move-build → plugins/sui/move}/index.d.mts +0 -0
  857. /package/dist/substrate/runtime/{state-store/index.d.mts → reconcile/graph.d.mts} +0 -0
  858. /package/dist/substrate/runtime/{cross-process/snapshot-reservation.d.mts → supervisor/contribution-dispatcher.d.mts} +0 -0
@@ -1,3 +0,0 @@
1
- import{M as o,B as A,J as Qe,V as q,T as ke,a as et,b as W,c as tt,O as Pe,l as Ue,t as Me,m as nt,d as st,e as M,f as rt,A as at,C as ot,g as it,n as Ge,h as B,i as K,S as fe,j as ct,s as ut,F as ne,k as Y,o as me,p as pt,q as _e,r as dt,u as J,v as lt,w as be,x as mt,y as b,z as gt,D as X,E as H,G as se,U as F,H as Tt,I as ht,K as Ee,L as z,P as kt,N as vt,Q as yt,R as ft,W as _t,X as bt,Y as Et}from"./index-Bmi1UtAg.js";let ee=(function(e){return e[e.ED25519=0]="ED25519",e[e.SECP256K1=1]="SECP256K1",e[e.SECP256R1=2]="SECP256R1",e[e.MULTISIG=3]="MULTISIG",e[e.BLS12381=4]="BLS12381",e[e.ZKLOGIN=5]="ZKLOGIN",e[e.PASSKEY=6]="PASSKEY",e})({});var wt=class extends o{constructor(){super("sui.rpc.v2.UserSignature",[{no:1,name:"bcs",kind:"message",T:()=>A},{no:2,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",ee]},{no:3,name:"simple",kind:"message",oneof:"signature",T:()=>ve},{no:4,name:"multisig",kind:"message",oneof:"signature",T:()=>Ct},{no:5,name:"zklogin",kind:"message",oneof:"signature",T:()=>$e},{no:6,name:"passkey",kind:"message",oneof:"signature",T:()=>qe}])}};const te=new wt;var St=class extends o{constructor(){super("sui.rpc.v2.SimpleSignature",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",ee]},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"public_key",kind:"scalar",opt:!0,T:12}])}};const ve=new St;var Nt=class extends o{constructor(){super("sui.rpc.v2.ZkLoginPublicIdentifier",[{no:1,name:"iss",kind:"scalar",opt:!0,T:9},{no:2,name:"address_seed",kind:"scalar",opt:!0,T:9}])}};const Be=new Nt;var Ot=class extends o{constructor(){super("sui.rpc.v2.MultisigMemberPublicKey",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",ee]},{no:2,name:"public_key",kind:"scalar",opt:!0,T:12},{no:3,name:"zklogin",kind:"message",T:()=>Be}])}};const Rt=new Ot;var Lt=class extends o{constructor(){super("sui.rpc.v2.MultisigMember",[{no:1,name:"public_key",kind:"message",T:()=>Rt},{no:2,name:"weight",kind:"scalar",opt:!0,T:13}])}};const xt=new Lt;var At=class extends o{constructor(){super("sui.rpc.v2.MultisigCommittee",[{no:1,name:"members",kind:"message",repeat:2,T:()=>xt},{no:2,name:"threshold",kind:"scalar",opt:!0,T:13}])}};const It=new At;var Dt=class extends o{constructor(){super("sui.rpc.v2.MultisigAggregatedSignature",[{no:1,name:"signatures",kind:"message",repeat:2,T:()=>Pt},{no:2,name:"bitmap",kind:"scalar",opt:!0,T:13},{no:3,name:"legacy_bitmap",kind:"scalar",opt:!0,T:12},{no:4,name:"committee",kind:"message",T:()=>It}])}};const Ct=new Dt;var jt=class extends o{constructor(){super("sui.rpc.v2.MultisigMemberSignature",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",ee]},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"zklogin",kind:"message",T:()=>$e},{no:4,name:"passkey",kind:"message",T:()=>qe}])}};const Pt=new jt;var Ut=class extends o{constructor(){super("sui.rpc.v2.ZkLoginAuthenticator",[{no:1,name:"inputs",kind:"message",T:()=>Gt},{no:2,name:"max_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"signature",kind:"message",T:()=>ve},{no:4,name:"public_identifier",kind:"message",T:()=>Be},{no:5,name:"jwk_id",kind:"message",T:()=>Qe}])}};const $e=new Ut;var Mt=class extends o{constructor(){super("sui.rpc.v2.ZkLoginInputs",[{no:1,name:"proof_points",kind:"message",T:()=>$t},{no:2,name:"iss_base64_details",kind:"message",T:()=>Vt},{no:3,name:"header_base64",kind:"scalar",opt:!0,T:9},{no:4,name:"address_seed",kind:"scalar",opt:!0,T:9}])}};const Gt=new Mt;var Bt=class extends o{constructor(){super("sui.rpc.v2.ZkLoginProof",[{no:1,name:"a",kind:"message",T:()=>we},{no:2,name:"b",kind:"message",T:()=>Wt},{no:3,name:"c",kind:"message",T:()=>we}])}};const $t=new Bt;var qt=class extends o{constructor(){super("sui.rpc.v2.ZkLoginClaim",[{no:1,name:"value",kind:"scalar",opt:!0,T:9},{no:2,name:"index_mod_4",kind:"scalar",opt:!0,T:13}])}};const Vt=new qt;var Ft=class extends o{constructor(){super("sui.rpc.v2.CircomG1",[{no:1,name:"e0",kind:"scalar",opt:!0,T:9},{no:2,name:"e1",kind:"scalar",opt:!0,T:9},{no:3,name:"e2",kind:"scalar",opt:!0,T:9}])}};const we=new Ft;var Kt=class extends o{constructor(){super("sui.rpc.v2.CircomG2",[{no:1,name:"e00",kind:"scalar",opt:!0,T:9},{no:2,name:"e01",kind:"scalar",opt:!0,T:9},{no:3,name:"e10",kind:"scalar",opt:!0,T:9},{no:4,name:"e11",kind:"scalar",opt:!0,T:9},{no:5,name:"e20",kind:"scalar",opt:!0,T:9},{no:6,name:"e21",kind:"scalar",opt:!0,T:9}])}};const Wt=new Kt;var Jt=class extends o{constructor(){super("sui.rpc.v2.PasskeyAuthenticator",[{no:1,name:"authenticator_data",kind:"scalar",opt:!0,T:12},{no:2,name:"client_data_json",kind:"scalar",opt:!0,T:9},{no:3,name:"signature",kind:"message",T:()=>ve}])}};const qe=new Jt;var Ht=class extends o{constructor(){super("sui.rpc.v2.ValidatorCommittee",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"members",kind:"message",repeat:2,T:()=>Ve}])}};const zt=new Ht;var Zt=class extends o{constructor(){super("sui.rpc.v2.ValidatorCommitteeMember",[{no:1,name:"public_key",kind:"scalar",opt:!0,T:12},{no:2,name:"weight",kind:"scalar",opt:!0,T:4,L:0}])}};const Ve=new Zt;var Yt=class extends o{constructor(){super("sui.rpc.v2.ValidatorAggregatedSignature",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"bitmap",kind:"scalar",opt:!0,T:12}])}};const Xt=new Yt;var Qt=class extends o{constructor(){super("sui.rpc.v2.TransactionEvents",[{no:1,name:"bcs",kind:"message",T:()=>A},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"events",kind:"message",repeat:2,T:()=>nn}])}};const en=new Qt;var tn=class extends o{constructor(){super("sui.rpc.v2.Event",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"module",kind:"scalar",opt:!0,T:9},{no:3,name:"sender",kind:"scalar",opt:!0,T:9},{no:4,name:"event_type",kind:"scalar",opt:!0,T:9},{no:5,name:"contents",kind:"message",T:()=>A},{no:6,name:"json",kind:"message",T:()=>q}])}};const nn=new tn;var sn=class extends o{constructor(){super("sui.rpc.v2.ExecutedTransaction",[{no:1,name:"digest",kind:"scalar",opt:!0,T:9},{no:2,name:"transaction",kind:"message",T:()=>ke},{no:3,name:"signatures",kind:"message",repeat:2,T:()=>te},{no:4,name:"effects",kind:"message",T:()=>et},{no:5,name:"events",kind:"message",T:()=>en},{no:6,name:"checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"timestamp",kind:"message",T:()=>W},{no:8,name:"balance_changes",kind:"message",repeat:2,T:()=>tt},{no:9,name:"objects",kind:"message",T:()=>Pe}])}};const Z=new sn;var rn=class extends o{constructor(){super("google.protobuf.FieldMask",[{no:1,name:"paths",kind:"scalar",repeat:2,T:9}])}internalJsonWrite(e,t){const n=/[A-Z]|(_([.0-9_]|$))/g;return e.paths.map(s=>{if(n.test(s))throw new Error('Unable to encode FieldMask to JSON. lowerCamelCase of path name "'+s+'" is irreversible.');return Ue(s)}).join(",")}internalJsonRead(e,t,n){if(typeof e!="string")throw new Error("Unable to parse FieldMask from JSON "+Me(e)+". Expected string.");if(n||(n=this.create()),e==="")return n;let s=r=>{if(r.includes("_"))throw new Error("Unable to parse FieldMask from JSON. Path names must be lowerCamelCase.");return r.replace(/[A-Z]/g,a=>"_"+a.toLowerCase())};return n.paths=e.split(",").map(s),n}};const R=new rn;function an(e,t){var n,s,r;let a=e;return a.service=t,a.localName=(n=a.localName)!==null&&n!==void 0?n:Ue(a.name),a.serverStreaming=!!a.serverStreaming,a.clientStreaming=!!a.clientStreaming,a.options=(s=a.options)!==null&&s!==void 0?s:{},a.idempotency=(r=a.idempotency)!==null&&r!==void 0?r:void 0,a}class D{constructor(t,n,s){this.typeName=t,this.methods=n.map(r=>an(r,this)),this.options=s??{}}}class h extends Error{constructor(t,n="UNKNOWN",s){super(t),this.name="RpcError",Object.setPrototypeOf(this,new.target.prototype),this.code=n,this.meta=s??{}}toString(){const t=[this.name+": "+this.message];this.code&&(t.push(""),t.push("Code: "+this.code)),this.serviceName&&this.methodName&&t.push("Method: "+this.serviceName+"/"+this.methodName);let n=Object.entries(this.meta);if(n.length){t.push(""),t.push("Meta:");for(let[s,r]of n)t.push(` ${s}: ${r}`)}return t.join(`
2
- `)}}function on(e,t){if(!t)return e;let n={};Q(e,n),Q(t,n);for(let s of Object.keys(t)){let r=t[s];switch(s){case"jsonOptions":n.jsonOptions=st(e.jsonOptions,n.jsonOptions);break;case"binaryOptions":n.binaryOptions=nt(e.binaryOptions,n.binaryOptions);break;case"meta":n.meta={},Q(e.meta,n.meta),Q(t.meta,n.meta);break;case"interceptors":n.interceptors=e.interceptors?e.interceptors.concat(r):r.concat();break}}return n}function Q(e,t){if(!e)return;let n=t;for(let[s,r]of Object.entries(e))r instanceof Date?n[s]=new Date(r.getTime()):Array.isArray(r)?n[s]=r.concat():n[s]=r}var E;(function(e){e[e.PENDING=0]="PENDING",e[e.REJECTED=1]="REJECTED",e[e.RESOLVED=2]="RESOLVED"})(E||(E={}));class I{constructor(t=!0){this._state=E.PENDING,this._promise=new Promise((n,s)=>{this._resolve=n,this._reject=s}),t&&this._promise.catch(n=>{})}get state(){return this._state}get promise(){return this._promise}resolve(t){if(this.state!==E.PENDING)throw new Error(`cannot resolve ${E[this.state].toLowerCase()}`);this._resolve(t),this._state=E.RESOLVED}reject(t){if(this.state!==E.PENDING)throw new Error(`cannot reject ${E[this.state].toLowerCase()}`);this._reject(t),this._state=E.REJECTED}resolvePending(t){this._state===E.PENDING&&this.resolve(t)}rejectPending(t){this._state===E.PENDING&&this.reject(t)}}class cn{constructor(){this._lis={nxt:[],msg:[],err:[],cmp:[]},this._closed=!1,this._itState={q:[]}}onNext(t){return this.addLis(t,this._lis.nxt)}onMessage(t){return this.addLis(t,this._lis.msg)}onError(t){return this.addLis(t,this._lis.err)}onComplete(t){return this.addLis(t,this._lis.cmp)}addLis(t,n){return n.push(t),()=>{let s=n.indexOf(t);s>=0&&n.splice(s,1)}}clearLis(){for(let t of Object.values(this._lis))t.splice(0,t.length)}get closed(){return this._closed!==!1}notifyNext(t,n,s){M((t?1:0)+(n?1:0)+(s?1:0)<=1,"only one emission at a time"),t&&this.notifyMessage(t),n&&this.notifyError(n),s&&this.notifyComplete()}notifyMessage(t){M(!this.closed,"stream is closed"),this.pushIt({value:t,done:!1}),this._lis.msg.forEach(n=>n(t)),this._lis.nxt.forEach(n=>n(t,void 0,!1))}notifyError(t){M(!this.closed,"stream is closed"),this._closed=t,this.pushIt(t),this._lis.err.forEach(n=>n(t)),this._lis.nxt.forEach(n=>n(void 0,t,!1)),this.clearLis()}notifyComplete(){M(!this.closed,"stream is closed"),this._closed=!0,this.pushIt({value:null,done:!0}),this._lis.cmp.forEach(t=>t()),this._lis.nxt.forEach(t=>t(void 0,void 0,!0)),this.clearLis()}[Symbol.asyncIterator](){return this._closed===!0?this.pushIt({value:null,done:!0}):this._closed!==!1&&this.pushIt(this._closed),{next:()=>{let t=this._itState;M(t,"bad state"),M(!t.p,"iterator contract broken");let n=t.q.shift();return n?"value"in n?Promise.resolve(n):Promise.reject(n):(t.p=new I,t.p.promise)}}}pushIt(t){let n=this._itState;if(n.p){const s=n.p;M(s.state==E.PENDING,"iterator contract broken"),"value"in t?s.resolve(t):s.reject(t),delete n.p}else n.q.push(t)}}var un=function(e,t,n,s){function r(a){return a instanceof n?a:new n(function(i){i(a)})}return new(n||(n=Promise))(function(a,i){function d(l){try{u(s.next(l))}catch(m){i(m)}}function p(l){try{u(s.throw(l))}catch(m){i(m)}}function u(l){l.done?a(l.value):r(l.value).then(d,p)}u((s=s.apply(e,t||[])).next())})};class pn{constructor(t,n,s,r,a,i,d){this.method=t,this.requestHeaders=n,this.request=s,this.headers=r,this.response=a,this.status=i,this.trailers=d}then(t,n){return this.promiseFinished().then(s=>t?Promise.resolve(t(s)):s,s=>n?Promise.resolve(n(s)):Promise.reject(s))}promiseFinished(){return un(this,void 0,void 0,function*(){let[t,n,s,r]=yield Promise.all([this.headers,this.response,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:t,response:n,status:s,trailers:r}})}}var dn=function(e,t,n,s){function r(a){return a instanceof n?a:new n(function(i){i(a)})}return new(n||(n=Promise))(function(a,i){function d(l){try{u(s.next(l))}catch(m){i(m)}}function p(l){try{u(s.throw(l))}catch(m){i(m)}}function u(l){l.done?a(l.value):r(l.value).then(d,p)}u((s=s.apply(e,t||[])).next())})};class ln{constructor(t,n,s,r,a,i,d){this.method=t,this.requestHeaders=n,this.request=s,this.headers=r,this.responses=a,this.status=i,this.trailers=d}then(t,n){return this.promiseFinished().then(s=>t?Promise.resolve(t(s)):s,s=>n?Promise.resolve(n(s)):Promise.reject(s))}promiseFinished(){return dn(this,void 0,void 0,function*(){let[t,n,s]=yield Promise.all([this.headers,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:t,status:n,trailers:s}})}}function k(e,t,n,s,r){var a,i,d,p;if(e=="unary"){let u=(l,m,f)=>t.unary(l,m,f);for(const l of((a=s.interceptors)!==null&&a!==void 0?a:[]).filter(m=>m.interceptUnary).reverse()){const m=u;u=(f,S,C)=>l.interceptUnary(m,f,S,C)}return u(n,r,s)}if(e=="serverStreaming"){let u=(l,m,f)=>t.serverStreaming(l,m,f);for(const l of((i=s.interceptors)!==null&&i!==void 0?i:[]).filter(m=>m.interceptServerStreaming).reverse()){const m=u;u=(f,S,C)=>l.interceptServerStreaming(m,f,S,C)}return u(n,r,s)}if(e=="clientStreaming"){let u=(l,m)=>t.clientStreaming(l,m);for(const l of((d=s.interceptors)!==null&&d!==void 0?d:[]).filter(m=>m.interceptClientStreaming).reverse()){const m=u;u=(f,S)=>l.interceptClientStreaming(m,f,S)}return u(n,s)}if(e=="duplex"){let u=(l,m)=>t.duplex(l,m);for(const l of((p=s.interceptors)!==null&&p!==void 0?p:[]).filter(m=>m.interceptDuplex).reverse()){const m=u;u=(f,S)=>l.interceptDuplex(m,f,S)}return u(n,s)}rt(e)}let ge=(function(e){return e[e.ENABLED=0]="ENABLED",e[e.DISABLED=1]="DISABLED",e})({});var mn=class extends o{constructor(){super("sui.rpc.v2.ExecuteTransactionRequest",[{no:1,name:"transaction",kind:"message",T:()=>ke},{no:2,name:"signatures",kind:"message",repeat:2,T:()=>te},{no:3,name:"read_mask",kind:"message",T:()=>R}])}};const gn=new mn;var Tn=class extends o{constructor(){super("sui.rpc.v2.ExecuteTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>Z}])}};const hn=new Tn;var kn=class extends o{constructor(){super("sui.rpc.v2.SimulateTransactionRequest",[{no:1,name:"transaction",kind:"message",T:()=>ke},{no:2,name:"read_mask",kind:"message",T:()=>R},{no:3,name:"checks",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SimulateTransactionRequest.TransactionChecks",ge]},{no:4,name:"do_gas_selection",kind:"scalar",opt:!0,T:8}])}};const vn=new kn;var yn=class extends o{constructor(){super("sui.rpc.v2.SimulateTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>Z},{no:2,name:"command_outputs",kind:"message",repeat:2,T:()=>bn},{no:3,name:"suggested_gas_price",kind:"scalar",opt:!0,T:4,L:0}])}};const fn=new yn;var _n=class extends o{constructor(){super("sui.rpc.v2.CommandResult",[{no:1,name:"return_values",kind:"message",repeat:2,T:()=>Se},{no:2,name:"mutated_by_ref",kind:"message",repeat:2,T:()=>Se}])}};const bn=new _n;var En=class extends o{constructor(){super("sui.rpc.v2.CommandOutput",[{no:1,name:"argument",kind:"message",T:()=>at},{no:2,name:"value",kind:"message",T:()=>A},{no:3,name:"json",kind:"message",T:()=>q}])}};const Se=new En,re=new D("sui.rpc.v2.TransactionExecutionService",[{name:"ExecuteTransaction",options:{},I:gn,O:hn},{name:"SimulateTransaction",options:{},I:vn,O:fn}]);var wn=class extends ot{#e;constructor({client:e,...t}){super(t),this.#e=e}async getObjects(e){const t=it(e.objectIds,50),n=[],s=["owner","object_type","digest","version","object_id"];e.include?.content&&s.push("contents"),e.include?.previousTransaction&&s.push("previous_transaction"),e.include?.objectBcs&&s.push("bcs"),e.include?.json&&s.push("json"),e.include?.display&&s.push("display");for(const r of t){const a=await this.#e.ledgerService.batchGetObjects({requests:r.map(i=>({objectId:i})),readMask:{paths:s}});n.push(...a.response.objects.map(i=>{if(i.result.oneofKind==="error")return new Error(i.result.error.message);if(i.result.oneofKind!=="object")return new Error("Unexpected result type");const d=i.result.object.contents?.value??void 0,p=i.result.object.bcs?.value??void 0,u=i.result.object.objectType,l=u&&u.includes("::")?Ge(u):u??"",m=e.include?.json?i.result.object.json?q.toJson(i.result.object.json):null:void 0,f=Ne(e.include?.display,i.result.object.display);return{objectId:i.result.object.objectId,version:i.result.object.version?.toString(),digest:i.result.object.digest,content:d,owner:$(i.result.object.owner),type:l,previousTransaction:i.result.object.previousTransaction??void 0,objectBcs:p,json:m,display:f}}))}return{objects:n}}async listOwnedObjects(e){const t=["owner","object_type","digest","version","object_id"];e.include?.content&&t.push("contents"),e.include?.previousTransaction&&t.push("previous_transaction"),e.include?.objectBcs&&t.push("bcs"),e.include?.json&&t.push("json"),e.include?.display&&t.push("display");const n=await this.#e.stateService.listOwnedObjects({owner:e.owner,objectType:e.type?(await this.mvr.resolveType({type:e.type})).type:void 0,pageToken:e.cursor?B(e.cursor):void 0,pageSize:e.limit,readMask:{paths:t}});return{objects:n.response.objects.map(s=>({objectId:s.objectId,version:s.version?.toString(),digest:s.digest,content:s.contents?.value,owner:$(s.owner),type:s.objectType,previousTransaction:s.previousTransaction??void 0,objectBcs:s.bcs?.value,json:e.include?.json?s.json?q.toJson(s.json):null:void 0,display:Ne(e.include?.display,s.display)})),cursor:n.response.nextPageToken?K(n.response.nextPageToken):null,hasNextPage:n.response.nextPageToken!==void 0}}async listCoins(e){const t=["owner","object_type","digest","version","object_id","balance"],n=e.coinType??fe,s=await this.#e.stateService.listOwnedObjects({owner:e.owner,objectType:`0x2::coin::Coin<${(await this.mvr.resolveType({type:n})).type}>`,pageToken:e.cursor?B(e.cursor):void 0,readMask:{paths:t}});return{objects:s.response.objects.map(r=>({objectId:r.objectId,version:r.version?.toString(),digest:r.digest,owner:$(r.owner),type:r.objectType,balance:r.balance?.toString()})),cursor:s.response.nextPageToken?K(s.response.nextPageToken):null,hasNextPage:s.response.nextPageToken!==void 0}}async getBalance(e){const t=e.coinType??fe,n=await this.#e.stateService.getBalance({owner:e.owner,coinType:(await this.mvr.resolveType({type:t})).type});return{balance:{balance:n.response.balance?.balance?.toString()??"0",coinType:n.response.balance?.coinType??t,coinBalance:n.response.balance?.coinBalance?.toString()??"0",addressBalance:n.response.balance?.addressBalance?.toString()??"0"}}}async getCoinMetadata(e){const t=(await this.mvr.resolveType({type:e.coinType})).type;let n;try{({response:n}=await this.#e.stateService.getCoinInfo({coinType:t}))}catch{return{coinMetadata:null}}return n.metadata?{coinMetadata:{id:n.metadata.id??null,decimals:n.metadata.decimals??0,name:n.metadata.name??"",symbol:n.metadata.symbol??"",description:n.metadata.description??"",iconUrl:n.metadata.iconUrl??null}}:{coinMetadata:null}}async listBalances(e){const t=await this.#e.stateService.listBalances({owner:e.owner,pageToken:e.cursor?B(e.cursor):void 0,pageSize:e.limit});return{hasNextPage:!!t.response.nextPageToken,cursor:t.response.nextPageToken?K(t.response.nextPageToken):null,balances:t.response.balances.map(n=>({balance:n.balance?.toString()??"0",coinType:n.coinType,coinBalance:n.coinBalance?.toString()??"0",addressBalance:n.addressBalance?.toString()??"0"}))}}async getTransaction(e){const t=["digest","transaction.digest","signatures","effects.status"];e.include?.transaction&&t.push("transaction.sender","transaction.gas_payment","transaction.expiration","transaction.kind"),e.include?.bcs&&t.push("transaction.bcs"),e.include?.balanceChanges&&t.push("balance_changes"),e.include?.effects&&t.push("effects"),e.include?.events&&t.push("events"),e.include?.objectTypes&&(t.push("effects.changed_objects.object_type"),t.push("effects.changed_objects.object_id"));const{response:n}=await this.#e.ledgerService.getTransaction({digest:e.digest,readMask:{paths:t}});if(!n.transaction)throw new Error(`Transaction ${e.digest} not found`);return ae(n.transaction,e.include)}async executeTransaction(e){const t=["digest","transaction.digest","signatures","effects.status"];e.include?.transaction&&t.push("transaction.sender","transaction.gas_payment","transaction.expiration","transaction.kind"),e.include?.bcs&&t.push("transaction.bcs"),e.include?.balanceChanges&&t.push("balance_changes"),e.include?.effects&&t.push("effects"),e.include?.events&&t.push("events"),e.include?.objectTypes&&(t.push("effects.changed_objects.object_type"),t.push("effects.changed_objects.object_id"));const{response:n}=await this.#e.transactionExecutionService.executeTransaction({transaction:{bcs:{value:e.transaction}},signatures:e.signatures.map(s=>({bcs:{value:B(s)},signature:{oneofKind:void 0}})),readMask:{paths:t}});return ae(n.transaction,e.include)}async simulateTransaction(e){const t=["transaction.digest","transaction.transaction.digest","transaction.signatures","transaction.effects.status"];e.include?.transaction&&t.push("transaction.transaction.sender","transaction.transaction.gas_payment","transaction.transaction.expiration","transaction.transaction.kind"),e.include?.bcs&&t.push("transaction.transaction.bcs"),e.include?.balanceChanges&&t.push("transaction.balance_changes"),e.include?.effects&&t.push("transaction.effects"),e.include?.events&&t.push("transaction.events"),e.include?.objectTypes&&(t.push("transaction.effects.changed_objects.object_type"),t.push("transaction.effects.changed_objects.object_id")),e.include?.commandResults&&t.push("command_outputs"),e.transaction instanceof Uint8Array||await e.transaction.prepareForSerialization({client:this});const{response:n}=await this.#e.transactionExecutionService.simulateTransaction({transaction:e.transaction instanceof Uint8Array?{bcs:{value:e.transaction}}:ct(e.transaction),readMask:{paths:t},doGasSelection:!1,checks:e.checksEnabled===!1?ge.DISABLED:ge.ENABLED}),s=ae(n.transaction,e.include),r=e.include?.commandResults&&n.commandOutputs?n.commandOutputs.map(a=>({returnValues:(a.returnValues??[]).map(i=>({bcs:i.value?.value??null})),mutatedReferences:(a.mutatedByRef??[]).map(i=>({bcs:i.value?.value??null}))})):void 0;return s.$kind==="Transaction"?{$kind:"Transaction",Transaction:s.Transaction,commandResults:r}:{$kind:"FailedTransaction",FailedTransaction:s.FailedTransaction,commandResults:r}}async getReferenceGasPrice(){return{referenceGasPrice:(await this.#e.ledgerService.getEpoch({readMask:{paths:["reference_gas_price"]}})).response.epoch?.referenceGasPrice?.toString()??""}}async getProtocolConfig(){const e=(await this.#e.ledgerService.getEpoch({readMask:{paths:["protocol_config"]}})).response.epoch?.protocolConfig;if(!e)throw new Error("Protocol config not found in response");const t={...e.featureFlags},n={};if(e.attributes)for(const[s,r]of Object.entries(e.attributes))n[s]=r??null;return{protocolConfig:{protocolVersion:e.protocolVersion?.toString()??null,featureFlags:t,attributes:n}}}async getCurrentSystemState(){const e=(await this.#e.ledgerService.getEpoch({readMask:{paths:["system_state.version","system_state.epoch","system_state.protocol_version","system_state.reference_gas_price","system_state.epoch_start_timestamp_ms","system_state.safe_mode","system_state.safe_mode_storage_rewards","system_state.safe_mode_computation_rewards","system_state.safe_mode_storage_rebates","system_state.safe_mode_non_refundable_storage_fee","system_state.parameters","system_state.storage_fund","system_state.stake_subsidy"]}})).response.epoch,t=e?.systemState;if(!t)throw new Error("System state not found in response");const n=e?.start?.seconds?Number(e.start.seconds)*1e3+Math.floor((e.start.nanos||0)/1e6):t.epochStartTimestampMs?Number(t.epochStartTimestampMs):null;return{systemState:{systemStateVersion:t.version?.toString()??null,epoch:t.epoch?.toString()??null,protocolVersion:t.protocolVersion?.toString()??null,referenceGasPrice:t.referenceGasPrice?.toString()??null,epochStartTimestampMs:n.toString(),safeMode:t.safeMode??!1,safeModeStorageRewards:t.safeModeStorageRewards?.toString()??null,safeModeComputationRewards:t.safeModeComputationRewards?.toString()??null,safeModeStorageRebates:t.safeModeStorageRebates?.toString()??null,safeModeNonRefundableStorageFee:t.safeModeNonRefundableStorageFee?.toString()??null,parameters:{epochDurationMs:t.parameters?.epochDurationMs?.toString()??null,stakeSubsidyStartEpoch:t.parameters?.stakeSubsidyStartEpoch?.toString()??null,maxValidatorCount:t.parameters?.maxValidatorCount?.toString()??null,minValidatorJoiningStake:t.parameters?.minValidatorJoiningStake?.toString()??null,validatorLowStakeThreshold:t.parameters?.validatorLowStakeThreshold?.toString()??null,validatorLowStakeGracePeriod:t.parameters?.validatorLowStakeGracePeriod?.toString()??null},storageFund:{totalObjectStorageRebates:t.storageFund?.totalObjectStorageRebates?.toString()??null,nonRefundableBalance:t.storageFund?.nonRefundableBalance?.toString()??null},stakeSubsidy:{balance:t.stakeSubsidy?.balance?.toString()??null,distributionCounter:t.stakeSubsidy?.distributionCounter?.toString()??null,currentDistributionAmount:t.stakeSubsidy?.currentDistributionAmount?.toString()??null,stakeSubsidyPeriodLength:t.stakeSubsidy?.stakeSubsidyPeriodLength?.toString()??null,stakeSubsidyDecreaseRate:t.stakeSubsidy?.stakeSubsidyDecreaseRate??null}}}}async listDynamicFields(e){return this.#e.listDynamicFields(e)}async verifyZkLoginSignature(e){const t=B(e.bytes),n=e.intentScope==="PersonalMessage"?ut.byteVector().serialize(t).toBytes():t,{response:s}=await this.#e.signatureVerificationService.verifySignature({message:{name:e.intentScope,value:n},signature:{bcs:{value:B(e.signature)},signature:{oneofKind:void 0}},address:e.address,jwks:[]});return{success:s.isValid??!1,errors:s.reason?[s.reason]:[]}}async defaultNameServiceName(e){return{data:{name:(await this.#e.nameService.reverseLookupName({address:e.address})).response.record?.name??null}}}async getMoveFunction(e){const t=(await this.mvr.resolvePackage({package:e.packageId})).package,{response:n}=await this.#e.movePackageService.getFunction({packageId:t,moduleName:e.moduleName,name:e.name});let s="unknown";switch(n.function?.visibility){case ne.PUBLIC:s="public";break;case ne.PRIVATE:s="private";break;case ne.FRIEND:s="friend";break}return{function:{packageId:me(t),moduleName:e.moduleName,name:n.function?.name,visibility:s,isEntry:n.function?.isEntry??!1,typeParameters:n.function?.typeParameters?.map(({constraints:r})=>({isPhantom:!1,constraints:r.map(a=>{switch(a){case Y.COPY:return"copy";case Y.DROP:return"drop";case Y.STORE:return"store";case Y.KEY:return"key";default:return"unknown"}})??[]}))??[],parameters:n.function?.parameters?.map(r=>xe(r))??[],returns:n.function?.returns?.map(r=>xe(r))??[]}}}async getChainIdentifier(e){return this.cache.read(["chainIdentifier"],async()=>{const{response:t}=await this.#e.ledgerService.getServiceInfo({});if(!t.chainId)throw new Error("Chain identifier not found in service info");return{chainIdentifier:t.chainId}})}resolveTransactionPlugin(){const e=this.#e;return async function(n,s,r){const a=n.snapshot();a.sender||(a.sender="0x0000000000000000000000000000000000000000000000000000000000000000");const i=pt(a);let d;try{d=(await e.transactionExecutionService.simulateTransaction({transaction:i,doGasSelection:!s.onlyTransactionKind&&(a.gasData.budget==null||a.gasData.payment==null),readMask:{paths:["transaction.transaction.sender","transaction.transaction.gas_payment","transaction.transaction.expiration","transaction.transaction.kind","transaction.effects.status"]}})).response}catch(p){throw p instanceof Error&&p.message?new _e(decodeURIComponent(p.message),{cause:p}):p}if(!s.onlyTransactionKind&&d.transaction?.effects?.status&&!d.transaction.effects.status.success){const p=d.transaction.effects.status.error?ye(d.transaction.effects.status.error):void 0;throw new _e(`Transaction resolution failed: ${p?.message??"Transaction failed"}`,{executionError:p})}if(!d.transaction?.transaction)throw new Error("simulateTransaction did not return resolved transaction data");return dt(n,d.transaction.transaction,s),await r()}}};function Ne(e,t){if(e)return t===void 0?null:{output:t.output!==void 0?q.toJson(t.output):null,errors:t.errors!==void 0?q.toJson(t.errors):null}}function $(e){if(!e)return null;if(e.kind===J.IMMUTABLE)return{$kind:"Immutable",Immutable:!0};if(e.kind===J.ADDRESS)return{AddressOwner:e.address,$kind:"AddressOwner"};if(e.kind===J.OBJECT)return{$kind:"ObjectOwner",ObjectOwner:e.address};if(e.kind===J.SHARED)return{$kind:"Shared",Shared:{initialSharedVersion:e.version?.toString()}};if(e.kind===J.CONSENSUS_ADDRESS)return{$kind:"ConsensusAddressOwner",ConsensusAddressOwner:{startVersion:e.version?.toString(),owner:e.address}};throw new Error(`Unknown owner kind ${JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)}`)}function ye(e){const t=e.description??"Unknown error",n=e.command!=null?Number(e.command):void 0,s=e.errorDetails;switch(s?.oneofKind){case"abort":{const r=s.abort,a=r.cleverError;return{$kind:"MoveAbort",message:mt({command:n,location:r.location,abortCode:String(r.abortCode??0n),cleverError:a?{lineNumber:a.lineNumber!=null?Number(a.lineNumber):void 0,constantName:a.constantName,value:a.value?.oneofKind==="rendered"?a.value.rendered:void 0}:void 0}),command:n,MoveAbort:Sn(r)}}case"sizeError":return{$kind:"SizeError",message:t,command:n,SizeError:{name:G(e.kind),size:Number(s.sizeError.size??0n),maxSize:Number(s.sizeError.maxSize??0n)}};case"commandArgumentError":return{$kind:"CommandArgumentError",message:t,command:n,CommandArgumentError:{argument:s.commandArgumentError.argument??0,name:G(s.commandArgumentError.kind)}};case"typeArgumentError":return{$kind:"TypeArgumentError",message:t,command:n,TypeArgumentError:{typeArgument:s.typeArgumentError.typeArgument??0,name:G(s.typeArgumentError.kind)}};case"packageUpgradeError":return{$kind:"PackageUpgradeError",message:t,command:n,PackageUpgradeError:{name:G(s.packageUpgradeError.kind),packageId:s.packageUpgradeError.packageId,digest:s.packageUpgradeError.digest}};case"indexError":return{$kind:"IndexError",message:t,command:n,IndexError:{index:s.indexError.index,subresult:s.indexError.subresult}};case"coinDenyListError":return{$kind:"CoinDenyListError",message:t,command:n,CoinDenyListError:{name:G(e.kind),coinType:s.coinDenyListError.coinType,address:s.coinDenyListError.address}};case"congestedObjects":return{$kind:"CongestedObjects",message:t,command:n,CongestedObjects:{name:G(e.kind),objects:s.congestedObjects.objects}};case"objectId":return{$kind:"ObjectIdError",message:t,command:n,ObjectIdError:{name:G(e.kind),objectId:s.objectId}};default:return{$kind:"Unknown",message:t,command:n,Unknown:null}}}function Sn(e){return{abortCode:String(e.abortCode??0n),location:{...e.location},cleverError:e.cleverError?{errorCode:e.cleverError.errorCode!=null?Number(e.cleverError.errorCode):void 0,lineNumber:e.cleverError.lineNumber!=null?Number(e.cleverError.lineNumber):void 0,constantName:e.cleverError.constantName,constantType:e.cleverError.constantType,value:e.cleverError.value?.oneofKind==="rendered"?e.cleverError.value.rendered:e.cleverError.value?.oneofKind==="raw"?K(e.cleverError.value.raw):void 0}:void 0}}function G(e){if(e==null)return"Unknown";const t=gt[e];return!t||t.endsWith("_UNKNOWN")?"Unknown":t.split("_").map(n=>n.charAt(0)+n.slice(1).toLowerCase()).join("")}function Oe(e){if(e==null)return null;switch(e){case X.CREATED:return"Created";case X.DELETED:return"Deleted";case X.NONE:case X.ID_OPERATION_UNKNOWN:return"None";default:return"Unknown"}}function Re(e){if(e==null)return null;switch(e){case se.EXISTS:return"Exists";case se.DOES_NOT_EXIST:return"DoesNotExist";case se.UNKNOWN:return"Unknown";default:return"Unknown"}}function Le(e){if(e==null)return null;switch(e){case H.OBJECT_WRITE:return"ObjectWrite";case H.PACKAGE_WRITE:return"PackageWrite";case H.DOES_NOT_EXIST:return"DoesNotExist";case H.ACCUMULATOR_WRITE:return"AccumulatorWriteV1";case H.UNKNOWN:return"Unknown";default:return"Unknown"}}function Nn(e){if(e==null)return null;switch(e){case F.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN:return"Unknown";case F.READ_ONLY_ROOT:return"ReadOnlyRoot";case F.MUTATE_CONSENSUS_STREAM_ENDED:return"MutateConsensusStreamEnded";case F.READ_CONSENSUS_STREAM_ENDED:return"ReadConsensusStreamEnded";case F.CANCELED:return"Cancelled";case F.PER_EPOCH_CONFIG:return"PerEpochConfig";default:return"Unknown"}}function On({effects:e}){if(!e)return null;const t=e.changedObjects.map(n=>({objectId:n.objectId,inputState:Re(n.inputState),inputVersion:n.inputVersion?.toString()??null,inputDigest:n.inputDigest??null,inputOwner:$(n.inputOwner),outputState:Le(n.outputState),outputVersion:n.outputVersion?.toString()??null,outputDigest:n.outputDigest??null,outputOwner:$(n.outputOwner),idOperation:Oe(n.idOperation)}));return{bcs:e.bcs?.value,version:2,status:e.status?.success?{success:!0,error:null}:{success:!1,error:ye(e.status.error)},gasUsed:{computationCost:e.gasUsed?.computationCost?.toString(),storageCost:e.gasUsed?.storageCost?.toString(),storageRebate:e.gasUsed?.storageRebate?.toString(),nonRefundableStorageFee:e.gasUsed?.nonRefundableStorageFee?.toString()},transactionDigest:e.transactionDigest,gasObject:{objectId:e.gasObject?.objectId,inputState:Re(e.gasObject?.inputState),inputVersion:e.gasObject?.inputVersion?.toString()??null,inputDigest:e.gasObject?.inputDigest??null,inputOwner:$(e.gasObject?.inputOwner),outputState:Le(e.gasObject?.outputState),outputVersion:e.gasObject?.outputVersion?.toString()??null,outputDigest:e.gasObject?.outputDigest??null,outputOwner:$(e.gasObject?.outputOwner),idOperation:Oe(e.gasObject?.idOperation)},eventsDigest:e.eventsDigest??null,dependencies:e.dependencies,lamportVersion:e.lamportVersion?.toString()??null,changedObjects:t,unchangedConsensusObjects:e.unchangedConsensusObjects.map(n=>({kind:Nn(n.kind),objectId:n.objectId,version:n.version?.toString()??null,digest:n.digest??null})),auxiliaryDataDigest:e.auxiliaryDataDigest??null}}function ae(e,t){const n={};t?.objectTypes&&e.effects?.changedObjects?.forEach(p=>{p.objectId&&p.objectType&&(n[p.objectId]=p.objectType)});let s;if(t?.transaction){const p=e.transaction;if(!p)throw new Error("Transaction data is required but missing from gRPC response");const u=lt(p);s={gasData:u.gasData,sender:u.sender,expiration:u.expiration,commands:u.commands,inputs:u.inputs,version:u.version}}const r=t?.bcs?e.transaction?.bcs?.value:void 0,a=t?.effects?On({effects:e.effects}):void 0,i=e.effects?.status?.success?{success:!0,error:null}:{success:!1,error:e.effects?.status?.error?ye(e.effects.status.error):{$kind:"Unknown",message:"Transaction failed",Unknown:null}},d={digest:e.digest,epoch:e.effects?.epoch?.toString()??null,status:i,effects:a,objectTypes:t?.objectTypes?n:void 0,transaction:s,bcs:r,signatures:e.signatures?.map(p=>K(p.bcs?.value))??[],balanceChanges:t?.balanceChanges?e.balanceChanges?.map(p=>({coinType:p.coinType,address:p.address,amount:p.amount}))??[]:void 0,events:t?.events?e.events?.events.map(p=>({packageId:me(p.packageId),module:p.module,sender:me(p.sender),eventType:p.eventType,bcs:p.contents?.value??new Uint8Array,json:p.json?q.toJson(p.json):null}))??[]:void 0};return i.success?{$kind:"Transaction",Transaction:d}:{$kind:"FailedTransaction",FailedTransaction:d}}function xe(e){let t=null;return e.reference===be.IMMUTABLE?t="immutable":e.reference===be.MUTABLE&&(t="mutable"),{reference:t,body:Te(e.body)}}function Te(e){switch(e.type){case b.TYPE_UNKNOWN:return{$kind:"unknown"};case b.ADDRESS:return{$kind:"address"};case b.BOOL:return{$kind:"bool"};case b.U8:return{$kind:"u8"};case b.U16:return{$kind:"u16"};case b.U32:return{$kind:"u32"};case b.U64:return{$kind:"u64"};case b.U128:return{$kind:"u128"};case b.U256:return{$kind:"u256"};case b.VECTOR:return{$kind:"vector",vector:Te(e.typeParameterInstantiation[0])};case b.DATATYPE:return{$kind:"datatype",datatype:{typeName:e.typeName,typeParameters:e.typeParameterInstantiation.map(t=>Te(t))}};case b.TYPE_PARAMETER:return{$kind:"typeParameter",index:e.typeParameter};default:return{$kind:"unknown"}}}var Rn=class{constructor(e){this._transport=e,this.typeName=re.typeName,this.methods=re.methods,this.options=re.options}executeTransaction(e,t){const n=this.methods[0],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}simulateTransaction(e,t){const n=this.methods[1],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}},Ln=class extends o{constructor(){super("sui.rpc.v2.ProtocolConfig",[{no:1,name:"protocol_version",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"feature_flags",kind:"map",K:9,V:{kind:"scalar",T:8}},{no:3,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}}])}};const xn=new Ln;var An=class extends o{constructor(){super("sui.rpc.v2.SystemState",[{no:1,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"protocol_version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"validators",kind:"message",T:()=>Vn},{no:5,name:"storage_fund",kind:"message",T:()=>$n},{no:6,name:"parameters",kind:"message",T:()=>Pn},{no:7,name:"reference_gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:8,name:"validator_report_records",kind:"message",repeat:2,T:()=>Cn},{no:9,name:"stake_subsidy",kind:"message",T:()=>Gn},{no:10,name:"safe_mode",kind:"scalar",opt:!0,T:8},{no:11,name:"safe_mode_storage_rewards",kind:"scalar",opt:!0,T:4,L:0},{no:12,name:"safe_mode_computation_rewards",kind:"scalar",opt:!0,T:4,L:0},{no:13,name:"safe_mode_storage_rebates",kind:"scalar",opt:!0,T:4,L:0},{no:14,name:"safe_mode_non_refundable_storage_fee",kind:"scalar",opt:!0,T:4,L:0},{no:15,name:"epoch_start_timestamp_ms",kind:"scalar",opt:!0,T:4,L:0},{no:16,name:"extra_fields",kind:"message",T:()=>w}])}};const In=new An;var Dn=class extends o{constructor(){super("sui.rpc.v2.ValidatorReportRecord",[{no:1,name:"reported",kind:"scalar",opt:!0,T:9},{no:2,name:"reporters",kind:"scalar",repeat:2,T:9}])}};const Cn=new Dn;var jn=class extends o{constructor(){super("sui.rpc.v2.SystemParameters",[{no:1,name:"epoch_duration_ms",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"stake_subsidy_start_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"min_validator_count",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"max_validator_count",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"min_validator_joining_stake",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"validator_low_stake_threshold",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"validator_very_low_stake_threshold",kind:"scalar",opt:!0,T:4,L:0},{no:8,name:"validator_low_stake_grace_period",kind:"scalar",opt:!0,T:4,L:0},{no:9,name:"extra_fields",kind:"message",T:()=>w}])}};const Pn=new jn;var Un=class extends o{constructor(){super("sui.rpc.v2.MoveTable",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"size",kind:"scalar",opt:!0,T:4,L:0}])}};const w=new Un;var Mn=class extends o{constructor(){super("sui.rpc.v2.StakeSubsidy",[{no:1,name:"balance",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"distribution_counter",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"current_distribution_amount",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"stake_subsidy_period_length",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"stake_subsidy_decrease_rate",kind:"scalar",opt:!0,T:13},{no:6,name:"extra_fields",kind:"message",T:()=>w}])}};const Gn=new Mn;var Bn=class extends o{constructor(){super("sui.rpc.v2.StorageFund",[{no:1,name:"total_object_storage_rebates",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"non_refundable_balance",kind:"scalar",opt:!0,T:4,L:0}])}};const $n=new Bn;var qn=class extends o{constructor(){super("sui.rpc.v2.ValidatorSet",[{no:1,name:"total_stake",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"active_validators",kind:"message",repeat:2,T:()=>Kn},{no:3,name:"pending_active_validators",kind:"message",T:()=>w},{no:4,name:"pending_removals",kind:"scalar",repeat:1,T:4,L:0},{no:5,name:"staking_pool_mappings",kind:"message",T:()=>w},{no:6,name:"inactive_validators",kind:"message",T:()=>w},{no:7,name:"validator_candidates",kind:"message",T:()=>w},{no:8,name:"at_risk_validators",kind:"map",K:9,V:{kind:"scalar",T:4,L:0}},{no:9,name:"extra_fields",kind:"message",T:()=>w}])}};const Vn=new qn;var Fn=class extends o{constructor(){super("sui.rpc.v2.Validator",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"address",kind:"scalar",opt:!0,T:9},{no:3,name:"description",kind:"scalar",opt:!0,T:9},{no:4,name:"image_url",kind:"scalar",opt:!0,T:9},{no:5,name:"project_url",kind:"scalar",opt:!0,T:9},{no:7,name:"protocol_public_key",kind:"scalar",opt:!0,T:12},{no:8,name:"proof_of_possession",kind:"scalar",opt:!0,T:12},{no:10,name:"network_public_key",kind:"scalar",opt:!0,T:12},{no:12,name:"worker_public_key",kind:"scalar",opt:!0,T:12},{no:13,name:"network_address",kind:"scalar",opt:!0,T:9},{no:14,name:"p2p_address",kind:"scalar",jsonName:"p2pAddress",opt:!0,T:9},{no:15,name:"primary_address",kind:"scalar",opt:!0,T:9},{no:16,name:"worker_address",kind:"scalar",opt:!0,T:9},{no:18,name:"next_epoch_protocol_public_key",kind:"scalar",opt:!0,T:12},{no:19,name:"next_epoch_proof_of_possession",kind:"scalar",opt:!0,T:12},{no:21,name:"next_epoch_network_public_key",kind:"scalar",opt:!0,T:12},{no:23,name:"next_epoch_worker_public_key",kind:"scalar",opt:!0,T:12},{no:24,name:"next_epoch_network_address",kind:"scalar",opt:!0,T:9},{no:25,name:"next_epoch_p2p_address",kind:"scalar",jsonName:"nextEpochP2pAddress",opt:!0,T:9},{no:26,name:"next_epoch_primary_address",kind:"scalar",opt:!0,T:9},{no:27,name:"next_epoch_worker_address",kind:"scalar",opt:!0,T:9},{no:28,name:"metadata_extra_fields",kind:"message",T:()=>w},{no:29,name:"voting_power",kind:"scalar",opt:!0,T:4,L:0},{no:30,name:"operation_cap_id",kind:"scalar",opt:!0,T:9},{no:31,name:"gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:32,name:"staking_pool",kind:"message",T:()=>Jn},{no:33,name:"commission_rate",kind:"scalar",opt:!0,T:4,L:0},{no:34,name:"next_epoch_stake",kind:"scalar",opt:!0,T:4,L:0},{no:35,name:"next_epoch_gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:36,name:"next_epoch_commission_rate",kind:"scalar",opt:!0,T:4,L:0},{no:37,name:"extra_fields",kind:"message",T:()=>w}])}};const Kn=new Fn;var Wn=class extends o{constructor(){super("sui.rpc.v2.StakingPool",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"activation_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"deactivation_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"sui_balance",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"rewards_pool",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"pool_token_balance",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"exchange_rates",kind:"message",T:()=>w},{no:8,name:"pending_stake",kind:"scalar",opt:!0,T:4,L:0},{no:9,name:"pending_total_sui_withdraw",kind:"scalar",opt:!0,T:4,L:0},{no:10,name:"pending_pool_token_withdraw",kind:"scalar",opt:!0,T:4,L:0},{no:11,name:"extra_fields",kind:"message",T:()=>w}])}};const Jn=new Wn;var Hn=class extends o{constructor(){super("sui.rpc.v2.Epoch",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"committee",kind:"message",T:()=>zt},{no:3,name:"system_state",kind:"message",T:()=>In},{no:4,name:"first_checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"last_checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"start",kind:"message",T:()=>W},{no:7,name:"end",kind:"message",T:()=>W},{no:8,name:"reference_gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:9,name:"protocol_config",kind:"message",T:()=>xn}])}};const zn=new Hn;var Zn=class extends o{constructor(){super("sui.rpc.v2.CheckpointContents",[{no:1,name:"bcs",kind:"message",T:()=>A},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:5},{no:4,name:"transactions",kind:"message",repeat:2,T:()=>Qn}])}};const Yn=new Zn;var Xn=class extends o{constructor(){super("sui.rpc.v2.CheckpointedTransactionInfo",[{no:1,name:"transaction",kind:"scalar",opt:!0,T:9},{no:2,name:"effects",kind:"scalar",opt:!0,T:9},{no:3,name:"signatures",kind:"message",repeat:2,T:()=>te},{no:4,name:"address_aliases_versions",kind:"message",repeat:2,T:()=>ts}])}};const Qn=new Xn;var es=class extends o{constructor(){super("sui.rpc.v2.AddressAliasesVersion",[{no:1,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}};const ts=new es;let ns=(function(e){return e[e.CHECKPOINT_COMMITMENT_KIND_UNKNOWN=0]="CHECKPOINT_COMMITMENT_KIND_UNKNOWN",e[e.ECMH_LIVE_OBJECT_SET=1]="ECMH_LIVE_OBJECT_SET",e[e.CHECKPOINT_ARTIFACTS=2]="CHECKPOINT_ARTIFACTS",e})({});var ss=class extends o{constructor(){super("sui.rpc.v2.CheckpointSummary",[{no:1,name:"bcs",kind:"message",T:()=>A},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"sequence_number",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"total_network_transactions",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"content_digest",kind:"scalar",opt:!0,T:9},{no:7,name:"previous_digest",kind:"scalar",opt:!0,T:9},{no:8,name:"epoch_rolling_gas_cost_summary",kind:"message",T:()=>Tt},{no:9,name:"timestamp",kind:"message",T:()=>W},{no:10,name:"commitments",kind:"message",repeat:2,T:()=>Fe},{no:11,name:"end_of_epoch_data",kind:"message",T:()=>os},{no:12,name:"version_specific_data",kind:"scalar",opt:!0,T:12}])}};const rs=new ss;var as=class extends o{constructor(){super("sui.rpc.v2.EndOfEpochData",[{no:1,name:"next_epoch_committee",kind:"message",repeat:2,T:()=>Ve},{no:2,name:"next_epoch_protocol_version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"epoch_commitments",kind:"message",repeat:2,T:()=>Fe}])}};const os=new as;var is=class extends o{constructor(){super("sui.rpc.v2.CheckpointCommitment",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CheckpointCommitment.CheckpointCommitmentKind",ns]},{no:2,name:"digest",kind:"scalar",opt:!0,T:9}])}};const Fe=new is;var cs=class extends o{constructor(){super("sui.rpc.v2.Checkpoint",[{no:1,name:"sequence_number",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"summary",kind:"message",T:()=>rs},{no:4,name:"signature",kind:"message",T:()=>Xt},{no:5,name:"contents",kind:"message",T:()=>Yn},{no:6,name:"transactions",kind:"message",repeat:2,T:()=>Z},{no:7,name:"objects",kind:"message",T:()=>Pe}])}};const Ke=new cs;var us=class extends o{constructor(){super("google.protobuf.Any",[{no:1,name:"type_url",kind:"scalar",T:9},{no:2,name:"value",kind:"scalar",T:12}])}pack(e,t){return{typeUrl:this.typeNameToUrl(t.typeName),value:t.toBinary(e)}}unpack(e,t,n){if(!this.contains(e,t))throw new Error("Cannot unpack google.protobuf.Any with typeUrl '"+e.typeUrl+"' as "+t.typeName+".");return t.fromBinary(e.value,n)}contains(e,t){return e.typeUrl.length?(typeof t=="string"?t:t.typeName)===this.typeUrlToName(e.typeUrl):!1}internalJsonWrite(e,t){if(e.typeUrl==="")return{};let n=this.typeUrlToName(e.typeUrl),s=ht(t),r=s.typeRegistry?.find(d=>d.typeName===n);if(!r)throw new globalThis.Error("Unable to convert google.protobuf.Any with typeUrl '"+e.typeUrl+"' to JSON. The specified type "+n+" is not available in the type registry.");let a=r.fromBinary(e.value,{readUnknownField:!1}),i=r.internalJsonWrite(a,s);return(n.startsWith("google.protobuf.")||!Ee(i))&&(i={value:i}),i["@type"]=e.typeUrl,i}internalJsonRead(e,t,n){if(!Ee(e))throw new globalThis.Error("Unable to parse google.protobuf.Any from JSON "+Me(e)+".");if(typeof e["@type"]!="string"||e["@type"]=="")return this.create();let s=this.typeUrlToName(e["@type"]),r=t?.typeRegistry?.find(i=>i.typeName==s);if(!r)throw new globalThis.Error("Unable to parse google.protobuf.Any from JSON. The specified type "+s+" is not available in the type registry.");let a;if(s.startsWith("google.protobuf.")&&e.hasOwnProperty("value"))a=r.fromJson(e.value,t);else{let i=Object.assign({},e);delete i["@type"],a=r.fromJson(i,t)}return n===void 0&&(n=this.create()),n.typeUrl=e["@type"],n.value=r.toBinary(a),n}typeNameToUrl(e){if(!e.length)throw new Error("invalid type name: "+e);return"type.googleapis.com/"+e}typeUrlToName(e){if(!e.length)throw new Error("invalid type url: "+e);let t=e.lastIndexOf("/"),n=t>0?e.substring(t+1):e;if(!n.length)throw new Error("invalid type url: "+e);return n}};const ps=new us;var ds=class extends o{constructor(){super("google.rpc.Status",[{no:1,name:"code",kind:"scalar",T:5},{no:2,name:"message",kind:"scalar",T:9},{no:3,name:"details",kind:"message",repeat:2,T:()=>ps}])}};const We=new ds;var ls=class extends o{constructor(){super("sui.rpc.v2.GetServiceInfoRequest",[])}};const ms=new ls;var gs=class extends o{constructor(){super("sui.rpc.v2.GetServiceInfoResponse",[{no:1,name:"chain_id",kind:"scalar",opt:!0,T:9},{no:2,name:"chain",kind:"scalar",opt:!0,T:9},{no:3,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"checkpoint_height",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"timestamp",kind:"message",T:()=>W},{no:6,name:"lowest_available_checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"lowest_available_checkpoint_objects",kind:"scalar",opt:!0,T:4,L:0},{no:8,name:"server",kind:"scalar",opt:!0,T:9}])}};const Ts=new gs;var hs=class extends o{constructor(){super("sui.rpc.v2.GetObjectRequest",[{no:1,name:"object_id",kind:"scalar",opt:!0,T:9},{no:2,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"read_mask",kind:"message",T:()=>R}])}};const Je=new hs;var ks=class extends o{constructor(){super("sui.rpc.v2.GetObjectResponse",[{no:1,name:"object",kind:"message",T:()=>z}])}};const vs=new ks;var ys=class extends o{constructor(){super("sui.rpc.v2.BatchGetObjectsRequest",[{no:1,name:"requests",kind:"message",repeat:2,T:()=>Je},{no:2,name:"read_mask",kind:"message",T:()=>R}])}};const fs=new ys;var _s=class extends o{constructor(){super("sui.rpc.v2.BatchGetObjectsResponse",[{no:1,name:"objects",kind:"message",repeat:2,T:()=>ws}])}};const bs=new _s;var Es=class extends o{constructor(){super("sui.rpc.v2.GetObjectResult",[{no:1,name:"object",kind:"message",oneof:"result",T:()=>z},{no:2,name:"error",kind:"message",oneof:"result",T:()=>We}])}};const ws=new Es;var Ss=class extends o{constructor(){super("sui.rpc.v2.GetTransactionRequest",[{no:1,name:"digest",kind:"scalar",opt:!0,T:9},{no:2,name:"read_mask",kind:"message",T:()=>R}])}};const Ns=new Ss;var Os=class extends o{constructor(){super("sui.rpc.v2.GetTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>Z}])}};const Rs=new Os;var Ls=class extends o{constructor(){super("sui.rpc.v2.BatchGetTransactionsRequest",[{no:1,name:"digests",kind:"scalar",repeat:2,T:9},{no:2,name:"read_mask",kind:"message",T:()=>R}])}};const xs=new Ls;var As=class extends o{constructor(){super("sui.rpc.v2.BatchGetTransactionsResponse",[{no:1,name:"transactions",kind:"message",repeat:2,T:()=>Cs}])}};const Is=new As;var Ds=class extends o{constructor(){super("sui.rpc.v2.GetTransactionResult",[{no:1,name:"transaction",kind:"message",oneof:"result",T:()=>Z},{no:2,name:"error",kind:"message",oneof:"result",T:()=>We}])}};const Cs=new Ds;var js=class extends o{constructor(){super("sui.rpc.v2.GetCheckpointRequest",[{no:1,name:"sequence_number",kind:"scalar",oneof:"checkpointId",T:4,L:0},{no:2,name:"digest",kind:"scalar",oneof:"checkpointId",T:9},{no:3,name:"read_mask",kind:"message",T:()=>R}])}};const Ps=new js;var Us=class extends o{constructor(){super("sui.rpc.v2.GetCheckpointResponse",[{no:1,name:"checkpoint",kind:"message",T:()=>Ke}])}};const Ms=new Us;var Gs=class extends o{constructor(){super("sui.rpc.v2.GetEpochRequest",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"read_mask",kind:"message",T:()=>R}])}};const Bs=new Gs;var $s=class extends o{constructor(){super("sui.rpc.v2.GetEpochResponse",[{no:1,name:"epoch",kind:"message",T:()=>zn}])}};const qs=new $s,oe=new D("sui.rpc.v2.LedgerService",[{name:"GetServiceInfo",options:{},I:ms,O:Ts},{name:"GetObject",options:{},I:Je,O:vs},{name:"BatchGetObjects",options:{},I:fs,O:bs},{name:"GetTransaction",options:{},I:Ns,O:Rs},{name:"BatchGetTransactions",options:{},I:xs,O:Is},{name:"GetCheckpoint",options:{},I:Ps,O:Ms},{name:"GetEpoch",options:{},I:Bs,O:qs}]);var Vs=class{constructor(e){this._transport=e,this.typeName=oe.typeName,this.methods=oe.methods,this.options=oe.options}getServiceInfo(e,t){const n=this.methods[0],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}getObject(e,t){const n=this.methods[1],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}batchGetObjects(e,t){const n=this.methods[2],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}getTransaction(e,t){const n=this.methods[3],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}batchGetTransactions(e,t){const n=this.methods[4],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}getCheckpoint(e,t){const n=this.methods[5],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}getEpoch(e,t){const n=this.methods[6],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}},Fs=class extends o{constructor(){super("sui.rpc.v2.GetPackageRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9}])}};const Ks=new Fs;var Ws=class extends o{constructor(){super("sui.rpc.v2.GetPackageResponse",[{no:1,name:"package",kind:"message",T:()=>kt}])}};const Js=new Ws;var Hs=class extends o{constructor(){super("sui.rpc.v2.GetDatatypeRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"module_name",kind:"scalar",opt:!0,T:9},{no:3,name:"name",kind:"scalar",opt:!0,T:9}])}};const zs=new Hs;var Zs=class extends o{constructor(){super("sui.rpc.v2.GetDatatypeResponse",[{no:1,name:"datatype",kind:"message",T:()=>vt}])}};const Ys=new Zs;var Xs=class extends o{constructor(){super("sui.rpc.v2.GetFunctionRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"module_name",kind:"scalar",opt:!0,T:9},{no:3,name:"name",kind:"scalar",opt:!0,T:9}])}};const Qs=new Xs;var er=class extends o{constructor(){super("sui.rpc.v2.GetFunctionResponse",[{no:1,name:"function",kind:"message",T:()=>yt}])}};const tr=new er;var nr=class extends o{constructor(){super("sui.rpc.v2.ListPackageVersionsRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12}])}};const sr=new nr;var rr=class extends o{constructor(){super("sui.rpc.v2.ListPackageVersionsResponse",[{no:1,name:"versions",kind:"message",repeat:2,T:()=>ir},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}};const ar=new rr;var or=class extends o{constructor(){super("sui.rpc.v2.PackageVersion",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}};const ir=new or,ie=new D("sui.rpc.v2.MovePackageService",[{name:"GetPackage",options:{},I:Ks,O:Js},{name:"GetDatatype",options:{},I:zs,O:Ys},{name:"GetFunction",options:{},I:Qs,O:tr},{name:"ListPackageVersions",options:{},I:sr,O:ar}]);var cr=class{constructor(e){this._transport=e,this.typeName=ie.typeName,this.methods=ie.methods,this.options=ie.options}getPackage(e,t){const n=this.methods[0],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}getDatatype(e,t){const n=this.methods[1],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}getFunction(e,t){const n=this.methods[2],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}listPackageVersions(e,t){const n=this.methods[3],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}},ur=class extends o{constructor(){super("sui.rpc.v2.VerifySignatureRequest",[{no:1,name:"message",kind:"message",T:()=>A},{no:2,name:"signature",kind:"message",T:()=>te},{no:3,name:"address",kind:"scalar",opt:!0,T:9},{no:4,name:"jwks",kind:"message",repeat:2,T:()=>ft}])}};const pr=new ur;var dr=class extends o{constructor(){super("sui.rpc.v2.VerifySignatureResponse",[{no:1,name:"is_valid",kind:"scalar",opt:!0,T:8},{no:2,name:"reason",kind:"scalar",opt:!0,T:9}])}};const lr=new dr,ce=new D("sui.rpc.v2.SignatureVerificationService",[{name:"VerifySignature",options:{},I:pr,O:lr}]);var mr=class{constructor(e){this._transport=e,this.typeName=ce.typeName,this.methods=ce.methods,this.options=ce.options}verifySignature(e,t){const n=this.methods[0],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}};let gr=(function(e){return e[e.METADATA_CAP_STATE_UNKNOWN=0]="METADATA_CAP_STATE_UNKNOWN",e[e.CLAIMED=1]="CLAIMED",e[e.UNCLAIMED=2]="UNCLAIMED",e[e.DELETED=3]="DELETED",e})({}),Tr=(function(e){return e[e.SUPPLY_STATE_UNKNOWN=0]="SUPPLY_STATE_UNKNOWN",e[e.FIXED=1]="FIXED",e[e.BURN_ONLY=2]="BURN_ONLY",e})({}),hr=(function(e){return e[e.COIN_REGULATED_STATE_UNKNOWN=0]="COIN_REGULATED_STATE_UNKNOWN",e[e.REGULATED=1]="REGULATED",e[e.UNREGULATED=2]="UNREGULATED",e})({}),He=(function(e){return e[e.DYNAMIC_FIELD_KIND_UNKNOWN=0]="DYNAMIC_FIELD_KIND_UNKNOWN",e[e.FIELD=1]="FIELD",e[e.OBJECT=2]="OBJECT",e})({});var kr=class extends o{constructor(){super("sui.rpc.v2.GetCoinInfoRequest",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9}])}};const vr=new kr;var yr=class extends o{constructor(){super("sui.rpc.v2.GetCoinInfoResponse",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:2,name:"metadata",kind:"message",T:()=>br},{no:3,name:"treasury",kind:"message",T:()=>wr},{no:4,name:"regulated_metadata",kind:"message",T:()=>Nr}])}};const fr=new yr;var _r=class extends o{constructor(){super("sui.rpc.v2.CoinMetadata",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"decimals",kind:"scalar",opt:!0,T:13},{no:3,name:"name",kind:"scalar",opt:!0,T:9},{no:4,name:"symbol",kind:"scalar",opt:!0,T:9},{no:5,name:"description",kind:"scalar",opt:!0,T:9},{no:6,name:"icon_url",kind:"scalar",opt:!0,T:9},{no:7,name:"metadata_cap_id",kind:"scalar",opt:!0,T:9},{no:8,name:"metadata_cap_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CoinMetadata.MetadataCapState",gr]}])}};const br=new _r;var Er=class extends o{constructor(){super("sui.rpc.v2.CoinTreasury",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"total_supply",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"supply_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CoinTreasury.SupplyState",Tr]}])}};const wr=new Er;var Sr=class extends o{constructor(){super("sui.rpc.v2.RegulatedCoinMetadata",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"coin_metadata_object",kind:"scalar",opt:!0,T:9},{no:3,name:"deny_cap_object",kind:"scalar",opt:!0,T:9},{no:4,name:"allow_global_pause",kind:"scalar",opt:!0,T:8},{no:5,name:"variant",kind:"scalar",opt:!0,T:13},{no:6,name:"coin_regulated_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.RegulatedCoinMetadata.CoinRegulatedState",hr]}])}};const Nr=new Sr;var Or=class extends o{constructor(){super("sui.rpc.v2.GetBalanceRequest",[{no:1,name:"owner",kind:"scalar",opt:!0,T:9},{no:2,name:"coin_type",kind:"scalar",opt:!0,T:9}])}};const Rr=new Or;var Lr=class extends o{constructor(){super("sui.rpc.v2.GetBalanceResponse",[{no:1,name:"balance",kind:"message",T:()=>ze}])}};const xr=new Lr;var Ar=class extends o{constructor(){super("sui.rpc.v2.ListBalancesRequest",[{no:1,name:"owner",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12}])}};const Ir=new Ar;var Dr=class extends o{constructor(){super("sui.rpc.v2.ListBalancesResponse",[{no:1,name:"balances",kind:"message",repeat:2,T:()=>ze},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}};const Cr=new Dr;var jr=class extends o{constructor(){super("sui.rpc.v2.Balance",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:3,name:"balance",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"address_balance",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"coin_balance",kind:"scalar",opt:!0,T:4,L:0}])}};const ze=new jr;var Pr=class extends o{constructor(){super("sui.rpc.v2.ListDynamicFieldsRequest",[{no:1,name:"parent",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12},{no:4,name:"read_mask",kind:"message",T:()=>R}])}};const Ur=new Pr;var Mr=class extends o{constructor(){super("sui.rpc.v2.ListDynamicFieldsResponse",[{no:1,name:"dynamic_fields",kind:"message",repeat:2,T:()=>$r},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}};const Gr=new Mr;var Br=class extends o{constructor(){super("sui.rpc.v2.DynamicField",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.DynamicField.DynamicFieldKind",He]},{no:2,name:"parent",kind:"scalar",opt:!0,T:9},{no:3,name:"field_id",kind:"scalar",opt:!0,T:9},{no:4,name:"field_object",kind:"message",T:()=>z},{no:5,name:"name",kind:"message",T:()=>A},{no:6,name:"value",kind:"message",T:()=>A},{no:7,name:"value_type",kind:"scalar",opt:!0,T:9},{no:8,name:"child_id",kind:"scalar",opt:!0,T:9},{no:9,name:"child_object",kind:"message",T:()=>z}])}};const $r=new Br;var qr=class extends o{constructor(){super("sui.rpc.v2.ListOwnedObjectsRequest",[{no:1,name:"owner",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12},{no:4,name:"read_mask",kind:"message",T:()=>R},{no:5,name:"object_type",kind:"scalar",opt:!0,T:9}])}};const Vr=new qr;var Fr=class extends o{constructor(){super("sui.rpc.v2.ListOwnedObjectsResponse",[{no:1,name:"objects",kind:"message",repeat:2,T:()=>z},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}};const Kr=new Fr,ue=new D("sui.rpc.v2.StateService",[{name:"ListDynamicFields",options:{},I:Ur,O:Gr},{name:"ListOwnedObjects",options:{},I:Vr,O:Kr},{name:"GetCoinInfo",options:{},I:vr,O:fr},{name:"GetBalance",options:{},I:Rr,O:xr},{name:"ListBalances",options:{},I:Ir,O:Cr}]);var Wr=class{constructor(e){this._transport=e,this.typeName=ue.typeName,this.methods=ue.methods,this.options=ue.options}listDynamicFields(e,t){const n=this.methods[0],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}listOwnedObjects(e,t){const n=this.methods[1],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}getCoinInfo(e,t){const n=this.methods[2],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}getBalance(e,t){const n=this.methods[3],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}listBalances(e,t){const n=this.methods[4],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}},Jr=class extends o{constructor(){super("sui.rpc.v2.SubscribeCheckpointsRequest",[{no:1,name:"read_mask",kind:"message",T:()=>R}])}};const Hr=new Jr;var zr=class extends o{constructor(){super("sui.rpc.v2.SubscribeCheckpointsResponse",[{no:1,name:"cursor",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"checkpoint",kind:"message",T:()=>Ke}])}};const Zr=new zr,pe=new D("sui.rpc.v2.SubscriptionService",[{name:"SubscribeCheckpoints",serverStreaming:!0,options:{},I:Hr,O:Zr}]);var Yr=class{constructor(e){this._transport=e,this.typeName=pe.typeName,this.methods=pe.methods,this.options=pe.options}subscribeCheckpoints(e,t){const n=this.methods[0],s=this._transport.mergeOptions(t);return k("serverStreaming",this._transport,n,s,e)}},Xr=class extends o{constructor(){super("sui.rpc.v2.LookupNameRequest",[{no:1,name:"name",kind:"scalar",opt:!0,T:9}])}};const Qr=new Xr;var ea=class extends o{constructor(){super("sui.rpc.v2.LookupNameResponse",[{no:1,name:"record",kind:"message",T:()=>Ze}])}};const ta=new ea;var na=class extends o{constructor(){super("sui.rpc.v2.ReverseLookupNameRequest",[{no:1,name:"address",kind:"scalar",opt:!0,T:9}])}};const sa=new na;var ra=class extends o{constructor(){super("sui.rpc.v2.ReverseLookupNameResponse",[{no:1,name:"record",kind:"message",T:()=>Ze}])}};const aa=new ra;var oa=class extends o{constructor(){super("sui.rpc.v2.NameRecord",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"name",kind:"scalar",opt:!0,T:9},{no:3,name:"registration_nft_id",kind:"scalar",opt:!0,T:9},{no:4,name:"expiration_timestamp",kind:"message",T:()=>W},{no:5,name:"target_address",kind:"scalar",opt:!0,T:9},{no:6,name:"data",kind:"map",K:9,V:{kind:"scalar",T:9}}])}};const Ze=new oa,de=new D("sui.rpc.v2.NameService",[{name:"LookupName",options:{},I:Qr,O:ta},{name:"ReverseLookupName",options:{},I:sa,O:aa}]);var ia=class{constructor(e){this._transport=e,this.typeName=de.typeName,this.methods=de.methods,this.options=de.options}lookupName(e,t){const n=this.methods[0],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}reverseLookupName(e,t){const n=this.methods[1],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}},ca=class extends o{constructor(){super("sui.forking.v1alpha.AdvanceClockRequest",[{no:1,name:"duration_ms",kind:"scalar",opt:!0,T:4,L:0}])}};const ua=new ca;var pa=class extends o{constructor(){super("sui.forking.v1alpha.AdvanceClockResponse",[{no:1,name:"timestamp_ms",kind:"scalar",T:4,L:0},{no:2,name:"tx_digest",kind:"scalar",T:9}])}};const da=new pa;var la=class extends o{constructor(){super("sui.forking.v1alpha.AdvanceCheckpointRequest",[])}};const ma=new la;var ga=class extends o{constructor(){super("sui.forking.v1alpha.AdvanceCheckpointResponse",[{no:1,name:"checkpoint_sequence_number",kind:"scalar",T:4,L:0},{no:2,name:"timestamp_ms",kind:"scalar",T:4,L:0}])}};const Ta=new ga;var ha=class extends o{constructor(){super("sui.forking.v1alpha.GetStatusRequest",[])}};const ka=new ha;var va=class extends o{constructor(){super("sui.forking.v1alpha.GetStatusResponse",[{no:1,name:"epoch",kind:"scalar",T:4,L:0},{no:2,name:"checkpoint_sequence_number",kind:"scalar",T:4,L:0},{no:3,name:"timestamp_ms",kind:"scalar",T:4,L:0},{no:4,name:"forked_at_checkpoint",kind:"scalar",T:4,L:0}])}};const ya=new va,le=new D("sui.forking.v1alpha.ForkingService",[{name:"AdvanceClock",options:{},I:ua,O:da},{name:"AdvanceCheckpoint",options:{},I:ma,O:Ta},{name:"GetStatus",options:{},I:ka,O:ya}]);var fa=class{constructor(e){this._transport=e,this.typeName=le.typeName,this.methods=le.methods,this.options=le.options}advanceClock(e,t){const n=this.methods[0],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}advanceCheckpoint(e,t){const n=this.methods[1],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}getStatus(e,t){const n=this.methods[2],s=this._transport.mergeOptions(t);return k("unary",this._transport,n,s,e)}},c;(function(e){e[e.OK=0]="OK",e[e.CANCELLED=1]="CANCELLED",e[e.UNKNOWN=2]="UNKNOWN",e[e.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",e[e.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",e[e.NOT_FOUND=5]="NOT_FOUND",e[e.ALREADY_EXISTS=6]="ALREADY_EXISTS",e[e.PERMISSION_DENIED=7]="PERMISSION_DENIED",e[e.UNAUTHENTICATED=16]="UNAUTHENTICATED",e[e.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",e[e.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",e[e.ABORTED=10]="ABORTED",e[e.OUT_OF_RANGE=11]="OUT_OF_RANGE",e[e.UNIMPLEMENTED=12]="UNIMPLEMENTED",e[e.INTERNAL=13]="INTERNAL",e[e.UNAVAILABLE=14]="UNAVAILABLE",e[e.DATA_LOSS=15]="DATA_LOSS"})(c||(c={}));var _a=function(e,t,n,s){function r(a){return a instanceof n?a:new n(function(i){i(a)})}return new(n||(n=Promise))(function(a,i){function d(l){try{u(s.next(l))}catch(m){i(m)}}function p(l){try{u(s.throw(l))}catch(m){i(m)}}function u(l){l.done?a(l.value):r(l.value).then(d,p)}u((s=s.apply(e,t||[])).next())})};function Ae(e,t,n,s,r){if(s)for(let[a,i]of Object.entries(s))if(typeof i=="string")e.append(a,i);else for(let d of i)e.append(a,d);if(e.set("Content-Type",t==="text"?"application/grpc-web-text":"application/grpc-web+proto"),t=="text"&&e.set("Accept","application/grpc-web-text"),e.set("X-Grpc-Web","1"),typeof n=="number"){if(n<=0)throw new h(`timeout ${n} ms exceeded`,c[c.DEADLINE_EXCEEDED]);e.set("grpc-timeout",`${n}m`)}else if(n){const a=n.getTime(),i=Date.now();if(a<=i)throw new h(`deadline ${n} exceeded`,c[c.DEADLINE_EXCEEDED]);e.set("grpc-timeout",`${a-i}m`)}return e}function Ie(e,t){let n=new Uint8Array(5+e.length);n[0]=O.DATA;for(let s=e.length,r=4;r>0;r--)n[r]=s%256,s>>>=8;return n.set(e,5),t==="binary"?n:_t(n)}function he(e,t,n){if(arguments.length===1){let p=e,u;try{u=p.type}catch{}switch(u){case"error":case"opaque":case"opaqueredirect":throw new h(`fetch response type ${p.type}`,c[c.UNKNOWN])}return he(Sa(p.headers),p.status,p.statusText)}let s=e,r=t>=200&&t<300,a=Xe(s),[i,d]=Ye(s);return(i===void 0||i===c.OK)&&!r&&(i=Na(t),d=n),[i,d,a]}function De(e){let t=wa(e),[n,s]=Ye(t),r=Xe(t);return[n??c.OK,s,r]}var O;(function(e){e[e.DATA=0]="DATA",e[e.TRAILER=128]="TRAILER"})(O||(O={}));function Ce(e,t,n){return _a(this,void 0,void 0,function*(){let s,r="",a=new Uint8Array(0),i=Ea(t);if(ba(e)){let d=e.getReader();s={next:()=>d.read()}}else s=e[Symbol.asyncIterator]();for(;;){let d=yield s.next();if(d.value!==void 0){if(i==="text"){for(let u=0;u<d.value.length;u++)r+=String.fromCharCode(d.value[u]);let p=r.length-r.length%4;if(p===0)continue;a=je(a,bt(r.substring(0,p))),r=r.substring(p)}else a=je(a,d.value);for(;a.length>=5&&a[0]===O.DATA;){let p=0;for(let u=1;u<5;u++)p=(p<<8)+a[u];if(a.length-5>=p)n(O.DATA,a.subarray(5,5+p)),a=a.subarray(5+p);else break}}if(d.done){if(a.length===0)break;if(a[0]!==O.TRAILER||a.length<5)throw new h("premature EOF",c[c.DATA_LOSS]);n(O.TRAILER,a.subarray(5));break}}})}const ba=e=>typeof e.getReader=="function";function je(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function Ea(e){switch(e){case"application/grpc-web-text":case"application/grpc-web-text+proto":return"text";case"application/grpc-web":case"application/grpc-web+proto":return"binary";case void 0:case null:throw new h("missing response content type",c[c.INTERNAL]);default:throw new h("unexpected response content type: "+e,c[c.INTERNAL])}}function Ye(e){let t,n,s=e["grpc-message"];if(s!==void 0){if(Array.isArray(s))return[c.INTERNAL,"invalid grpc-web message"];n=s}let r=e["grpc-status"];if(r!==void 0){if(Array.isArray(r))return[c.INTERNAL,"invalid grpc-web status"];if(t=parseInt(r,10),c[t]===void 0)return[c.INTERNAL,"invalid grpc-web status"]}return[t,n]}function Xe(e){let t={};for(let[n,s]of Object.entries(e))switch(n){case"grpc-message":case"grpc-status":case"content-type":break;default:t[n]=s}return t}function wa(e){let t={};for(let n of String.fromCharCode.apply(String,e).trim().split(`\r
3
- `)){if(n=="")continue;let[s,...r]=n.split(":");const a=r.join(":").trim();s=s.trim();let i=t[s];typeof i=="string"?t[s]=[i,a]:Array.isArray(i)?i.push(a):t[s]=a}return t}function Sa(e){let t={};return e.forEach((n,s)=>{let r=t[s];typeof r=="string"?t[s]=[r,n]:Array.isArray(r)?r.push(n):t[s]=n}),t}function Na(e){switch(e){case 200:return c.OK;case 400:return c.INVALID_ARGUMENT;case 401:return c.UNAUTHENTICATED;case 403:return c.PERMISSION_DENIED;case 404:return c.NOT_FOUND;case 409:return c.ABORTED;case 412:return c.FAILED_PRECONDITION;case 429:return c.RESOURCE_EXHAUSTED;case 499:return c.CANCELLED;case 500:return c.UNKNOWN;case 501:return c.UNIMPLEMENTED;case 503:return c.UNAVAILABLE;case 504:return c.DEADLINE_EXCEEDED;default:return c.UNKNOWN}}class Oa{constructor(t){this.defaultOptions=t}mergeOptions(t){return on(this.defaultOptions,t)}makeUrl(t,n){let s=n.baseUrl;return s.endsWith("/")&&(s=s.substring(0,s.length-1)),`${s}/${t.service.typeName}/${t.name}`}clientStreaming(t){const n=new h("Client streaming is not supported by grpc-web",c[c.UNIMPLEMENTED]);throw n.methodName=t.name,n.serviceName=t.service.typeName,n}duplex(t){const n=new h("Duplex streaming is not supported by grpc-web",c[c.UNIMPLEMENTED]);throw n.methodName=t.name,n.serviceName=t.service.typeName,n}serverStreaming(t,n,s){var r,a,i,d,p;let u=s,l=(r=u.format)!==null&&r!==void 0?r:"text",m=(a=u.fetch)!==null&&a!==void 0?a:globalThis.fetch,f=(i=u.fetchInit)!==null&&i!==void 0?i:{},S=this.makeUrl(t,u),C=t.I.toBinary(n,u.binaryOptions),j=new I,N=new cn,V=!0,y,P=new I,L,U=new I;return m(S,Object.assign(Object.assign({},f),{method:"POST",headers:Ae(new globalThis.Headers,l,u.timeout,u.meta),body:Ie(C,l),signal:(d=s.abort)!==null&&d!==void 0?d:null})).then(T=>{let[g,v,_]=he(T);if(j.resolve(_),g!=null&&g!==c.OK)throw new h(v??c[g],c[g],_);return g!=null&&(y={code:c[g],detail:v??c[g]}),T}).then(T=>{if(!T.body)throw new h("missing response body",c[c.INTERNAL]);return Ce(T.body,T.headers.get("content-type"),(g,v)=>{switch(g){case O.DATA:N.notifyMessage(t.O.fromBinary(v,u.binaryOptions)),V=!1;break;case O.TRAILER:let _,x;[_,x,L]=De(v),y={code:c[_],detail:x??c[_]};break}})}).then(()=>{if(!L&&!V)throw new h("missing trailers",c[c.DATA_LOSS]);if(!y)throw new h("missing status",c[c.INTERNAL]);if(y.code!=="OK")throw new h(y.detail,y.code,L);N.notifyComplete(),P.resolve(y),U.resolve(L||{})}).catch(T=>{let g;T instanceof h?g=T:T instanceof Error&&T.name==="AbortError"?g=new h(T.message,c[c.CANCELLED]):g=new h(T instanceof Error?T.message:""+T,c[c.INTERNAL]),g.methodName=t.name,g.serviceName=t.service.typeName,j.rejectPending(g),N.notifyError(g),P.rejectPending(g),U.rejectPending(g)}),new ln(t,(p=u.meta)!==null&&p!==void 0?p:{},n,j.promise,N,P.promise,U.promise)}unary(t,n,s){var r,a,i,d,p;let u=s,l=(r=u.format)!==null&&r!==void 0?r:"text",m=(a=u.fetch)!==null&&a!==void 0?a:globalThis.fetch,f=(i=u.fetchInit)!==null&&i!==void 0?i:{},S=this.makeUrl(t,u),C=t.I.toBinary(n,u.binaryOptions),j=new I,N,V=new I,y,P=new I,L,U=new I;return m(S,Object.assign(Object.assign({},f),{method:"POST",headers:Ae(new globalThis.Headers,l,u.timeout,u.meta),body:Ie(C,l),signal:(d=s.abort)!==null&&d!==void 0?d:null})).then(T=>{let[g,v,_]=he(T);if(j.resolve(_),g!=null&&g!==c.OK)throw new h(v??c[g],c[g],_);return g!=null&&(y={code:c[g],detail:v??c[g]}),T}).then(T=>{if(!T.body)throw new h("missing response body",c[c.INTERNAL]);return Ce(T.body,T.headers.get("content-type"),(g,v)=>{switch(g){case O.DATA:if(N)throw new h("unary call received 2nd message",c[c.DATA_LOSS]);N=t.O.fromBinary(v,u.binaryOptions);break;case O.TRAILER:let _,x;[_,x,L]=De(v),y={code:c[_],detail:x??c[_]};break}})}).then(()=>{if(!L&&N)throw new h("missing trailers",c[c.DATA_LOSS]);if(!y)throw new h("missing status",c[c.INTERNAL]);if(!N&&y.code==="OK")throw new h("expected error status",c[c.DATA_LOSS]);if(!N)throw new h(y.detail,y.code,L);if(V.resolve(N),y.code!=="OK")throw new h(y.detail,y.code,L);P.resolve(y),U.resolve(L||{})}).catch(T=>{let g;T instanceof h?g=T:T instanceof Error&&T.name==="AbortError"?g=new h(T.message,c[c.CANCELLED]):g=new h(T instanceof Error?T.message:""+T,c[c.INTERNAL]),g.methodName=t.name,g.serviceName=t.service.typeName,j.rejectPending(g),V.rejectPending(g),P.rejectPending(g),U.rejectPending(g)}),new pn(t,(p=u.meta)!==null&&p!==void 0?p:{},n,j.promise,V.promise,P.promise,U.promise)}}const Ra=Symbol.for("@mysten/SuiGrpcClient");var xa=class extends Et{get mvr(){return this.core.mvr}get[Ra](){return!0}constructor(e){super({network:e.network});const t=e.transport??new Oa({baseUrl:e.baseUrl,fetchInit:e.fetchInit});this.transactionExecutionService=new Rn(t),this.ledgerService=new Vs(t),this.stateService=new Wr(t),this.subscriptionService=new Yr(t),this.movePackageService=new cr(t),this.signatureVerificationService=new mr(t),this.nameService=new ia(t),this.forkingService=new fa(t),this.core=new wn({client:this,base:this,network:e.network,mvr:e.mvr})}getObjects(e){return this.core.getObjects(e)}getObject(e){return this.core.getObject(e)}listCoins(e){return this.core.listCoins(e)}listOwnedObjects(e){return this.core.listOwnedObjects(e)}getBalance(e){return this.core.getBalance(e)}listBalances(e){return this.core.listBalances(e)}getCoinMetadata(e){return this.core.getCoinMetadata(e)}getTransaction(e){return this.core.getTransaction(e)}executeTransaction(e){return this.core.executeTransaction(e)}signAndExecuteTransaction(e){return this.core.signAndExecuteTransaction(e)}waitForTransaction(e){return this.core.waitForTransaction(e)}simulateTransaction(e){return this.core.simulateTransaction(e)}getReferenceGasPrice(){return this.core.getReferenceGasPrice()}async listDynamicFields(e){const t=e.include?.value??!1,n=["field_id","name","value_type","kind","child_id"];t&&n.push("value");const s=await this.stateService.listDynamicFields({parent:e.parentId,pageToken:e.cursor?B(e.cursor):void 0,pageSize:e.limit,readMask:{paths:n}});return{dynamicFields:s.response.dynamicFields.map(r=>{const a=r.kind===He.OBJECT,i=a?`0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${r.name?.name}>,0x2::object::ID>`:`0x2::dynamic_field::Field<${r.name?.name},${r.valueType}>`;return{$kind:a?"DynamicObject":"DynamicField",fieldId:r.fieldId,name:{type:r.name?.name,bcs:r.name?.value},valueType:r.valueType,type:Ge(i),childId:r.childId,value:t?{type:r.valueType,bcs:r.value?.value??new Uint8Array}:void 0}}),cursor:s.response.nextPageToken?K(s.response.nextPageToken):null,hasNextPage:s.response.nextPageToken!==void 0}}getDynamicField(e){return this.core.getDynamicField(e)}getMoveFunction(e){return this.core.getMoveFunction(e)}resolveTransactionPlugin(){return this.core.resolveTransactionPlugin()}verifyZkLoginSignature(e){return this.core.verifyZkLoginSignature(e)}defaultNameServiceName(e){return this.core.defaultNameServiceName(e)}};export{wn as GrpcCoreClient,Oa as GrpcWebFetchTransport,xa as SuiGrpcClient};
@@ -1 +0,0 @@
1
- @font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--font-weight-medium:500;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--bg-base:#07080b;--bg-canvas:#0a0c11;--bg-panel:#0f1219;--bg-elev:#161a24;--bg-elev-2:#1d2230;--bg-hover:#ffffff0a;--bg-active:#ffffff12;--line:#ffffff12;--line-strong:#ffffff21;--line-faint:#ffffff0a;--tx-hi:#e8ebf2;--tx-mid:#9aa4b6;--tx-lo:#616b7d;--tx-dim:#424b5b;--accent:#34d8c4;--accent-ink:#04201c;--accent-soft:color-mix(in oklab, var(--accent) 14%, transparent);--accent-line:color-mix(in oklab, var(--accent) 38%, transparent);--accent-glow:color-mix(in oklab, var(--accent) 30%, transparent);--c-green:#45d483;--c-yellow:#f6c454;--c-red:#fb6f84;--c-cyan:#46baf5;--c-magenta:#df7aef;--c-blue:#8893f6;--c-white:#c6cfde;--viz-1:#34d8c4;--viz-2:#6fa8ff;--viz-3:#c08cff;--viz-4:#f6a94b;--viz-5:#4ade80;--viz-6:#f472b6;--viz-grid:#ffffff0f;--glow-green:color-mix(in oklab, var(--c-green) 55%, transparent);--glow-yellow:color-mix(in oklab, var(--c-yellow) 55%, transparent);--glow-red:color-mix(in oklab, var(--c-red) 55%, transparent);--glow-cyan:color-mix(in oklab, var(--c-cyan) 55%, transparent);--r-xs:4px;--r-sm:6px;--r-md:9px;--r-lg:13px;--r-xl:18px;--sh-1:0 1px 2px #0006;--sh-2:0 6px 22px -8px #000000a6;--sh-3:0 24px 64px -16px #000000bf;--sh-pop:0 18px 50px -12px #000c, 0 0 0 1px var(--line-strong);--d:1;--row-h:calc(34px * var(--d));--pad-cell:calc(9px * var(--d)) calc(13px * var(--d));--gap:calc(14px * var(--d));--pad-panel:calc(18px * var(--d));--font-ui:"Geist Variable", ui-sans-serif, system-ui, sans-serif;--nav-w:232px;--nav-w-collapsed:60px;--header-h:56px;--drawer-h:280px;color-scheme:dark}[data-theme=light]{--bg-base:#eef0f4;--bg-canvas:#f5f6f9;--bg-panel:#fff;--bg-elev:#fff;--bg-elev-2:#f3f5f9;--bg-hover:#0a0e1809;--bg-active:#0a0e180f;--line:#0c12201a;--line-strong:#0c12202b;--line-faint:#0c12200e;--tx-hi:#11151d;--tx-mid:#515b6c;--tx-lo:#7c8595;--tx-dim:#aab2c0;--accent-ink:#fff;--c-green:#18a05a;--c-yellow:#b3791a;--c-red:#d83a52;--c-cyan:#1583cf;--c-magenta:#b13fc9;--c-blue:#4a57d6;--c-white:#4a5466;--viz-1:#11998e;--viz-2:#2f6fe0;--viz-3:#8b46d4;--viz-4:#c77a18;--viz-5:#1f9d57;--viz-6:#d3447f;--viz-grid:#0c122012;--sh-1:0 1px 2px #0f172a14;--sh-2:0 6px 22px -10px #0f172a33;--sh-3:0 24px 64px -18px #0f172a47;--sh-pop:0 18px 50px -14px #0f172a4d, 0 0 0 1px var(--line-strong);color-scheme:light}html,body{height:100%;margin:0}body{background:var(--bg-base);color:var(--tx-hi);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"ss01","cv01";font-size:14px;line-height:1.45;overflow:hidden}#root{height:100%}::selection{background:var(--accent-soft);color:var(--tx-hi)}h1,h2,h3,h4{letter-spacing:-.012em;margin:0;font-weight:560}button{cursor:pointer;font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:padding-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--tx-dim);background-clip:padding-box}::-webkit-scrollbar-track{background:0 0}}@layer components{.atmos{z-index:0;pointer-events:none;background:radial-gradient(900px 600px at 78% -8%,var(--accent-soft),transparent 60%),linear-gradient(var(--line-faint) 1px,transparent 1px) 0 0 / 100% 34px,linear-gradient(90deg,var(--line-faint) 1px,transparent 1px) 0 0 / 34px 100%;opacity:.6;position:fixed;inset:0;-webkit-mask-image:radial-gradient(120% 100% at 50% 0,#000 38%,#0000 92%);mask-image:radial-gradient(120% 100% at 50% 0,#000 38%,#0000 92%)}.panel{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1)}.panel-pad{padding:var(--pad-panel)}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--tx-lo);font-size:10.5px;font-weight:600}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot-green{background:var(--c-green);box-shadow:0 0 8px var(--glow-green)}.dot-yellow{background:var(--c-yellow);box-shadow:0 0 8px var(--glow-yellow)}.dot-red{background:var(--c-red);box-shadow:0 0 8px var(--glow-red)}.dot-cyan{background:var(--c-cyan);box-shadow:0 0 8px var(--glow-cyan)}.dot-magenta{background:var(--c-magenta)}.dot-blue{background:var(--c-blue)}.dot-white{background:var(--c-white)}.dot-dim{background:var(--tx-dim)}.dot-pulse{animation:1.4s ease-in-out infinite pulse-dot}.badge{border:1px solid var(--line-strong);height:22px;color:var(--tx-mid);background:var(--bg-elev);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 9px;font-size:11.5px;font-weight:540;line-height:1;display:inline-flex}.badge .dot{width:7px;height:7px}.chip{border-radius:var(--r-sm);height:24px;font-family:var(--font-mono);background:var(--bg-elev);border:1px solid var(--line);color:var(--tx-mid);cursor:pointer;align-items:center;gap:7px;max-width:100%;padding:0 8px;font-size:12px;transition:all .12s;display:inline-flex}.chip:hover{border-color:var(--accent-line);color:var(--tx-hi);background:var(--bg-elev-2)}.chip .copy-ic{opacity:0;transition:all .12s}.chip:hover .copy-ic{opacity:.7}.btn{border-radius:var(--r-sm);white-space:nowrap;border:1px solid var(--line-strong);background:var(--bg-elev);height:32px;color:var(--tx-hi);justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:530;transition:all .12s;display:inline-flex}.btn:hover{background:var(--bg-elev-2);border-color:var(--tx-dim)}.btn:active{transform:translateY(.5px)}.btn-sm{height:27px;padding:0 10px;font-size:12px}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}.btn-primary:hover{background:color-mix(in oklab,var(--accent) 88%,white)}.btn-danger{color:var(--c-red);border-color:color-mix(in oklab,var(--c-red) 35%,var(--line-strong))}.btn-danger:hover{background:color-mix(in oklab,var(--c-red) 12%,transparent);border-color:var(--c-red)}.btn-ghost{color:var(--tx-mid);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-hover);color:var(--tx-hi)}.btn[disabled]{opacity:.4;pointer-events:none}.btn .ic{width:15px;height:15px}.iconbtn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--tx-mid);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:all .12s;display:inline-flex}.iconbtn:hover{background:var(--bg-hover);color:var(--tx-hi)}.iconbtn .ic{width:16px;height:16px}.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl thead th{z-index:1;text-align:left;padding:var(--pad-cell);letter-spacing:.08em;text-transform:uppercase;color:var(--tx-lo);background:var(--bg-panel);border-bottom:1px solid var(--line);white-space:nowrap;cursor:default;font-size:10.5px;font-weight:600;position:sticky;top:0}.tbl tbody td{padding:var(--pad-cell);border-bottom:1px solid var(--line-faint);vertical-align:middle}.tbl tbody tr{transition:background .1s}.tbl tbody tr:hover{background:var(--bg-hover)}.tbl tbody tr.clickable{cursor:pointer}.tbl tbody tr:last-child td{border-bottom:none}kbd{font-family:var(--font-mono);background:var(--bg-elev-2);border:1px solid var(--line-strong);color:var(--tx-mid);border-bottom-width:2px;border-radius:5px;padding:2px 6px;font-size:11px;line-height:1}.meter{background:var(--bg-elev-2);border-radius:999px;height:5px;overflow:hidden}.meter>span{background:var(--accent);border-radius:999px;height:100%;display:block}.live-sweep{background-image:linear-gradient(90deg,transparent,var(--accent-soft),transparent);background-repeat:no-repeat;background-size:60% 100%;animation:2.6s linear infinite sweep}.fade-up{opacity:1;animation:.34s cubic-bezier(.2,.7,.3,1) both fadeUp}.overlay{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#04060a9e;place-items:center;padding:24px;animation:.16s both fadeIn;display:grid;position:fixed;inset:0}.overlay-right{justify-content:flex-end;place-items:stretch stretch;padding:0}.sheet{background:var(--bg-panel);border-left:1px solid var(--line-strong);width:440px;max-width:92vw;height:100%;box-shadow:var(--sh-3);flex-direction:column;display:flex}.fade-right{animation:.24s cubic-bezier(.2,.7,.3,1) both slideRight}.logbox{background:var(--bg-base);border:1px solid var(--line);border-radius:var(--r-md);max-height:220px;padding:10px 12px;line-height:1.65;overflow-y:auto}.logbox-full{background:var(--bg-base);border-radius:var(--r-lg);padding:8px 14px;line-height:1.7}.logline{align-items:baseline;gap:12px;padding:1.5px 0;display:flex}.logline:hover{background:var(--bg-hover)}.segmented{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--r-md);gap:2px;padding:3px;display:inline-flex}.seg{border-radius:var(--r-sm);height:26px;color:var(--tx-mid);background:0 0;border:none;padding:0 14px;font-size:12.5px;font-weight:530;transition:all .12s}.seg:hover{color:var(--tx-hi)}.seg-on{background:var(--bg-elev-2);color:var(--tx-hi);box-shadow:var(--sh-1)}.field{border-radius:var(--r-sm);background:var(--bg-base);border:1px solid var(--line-strong);height:36px;color:var(--tx-hi);font-size:13px;font-family:var(--font-ui);outline:none;padding:0 12px;transition:all .12s}.field:focus{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}select.field{cursor:pointer}.activity-row{gap:10px;padding:7px 18px;transition:background .1s}.activity-row:hover{background:var(--bg-hover)}.palette{align-self:flex-start;width:600px;max-width:92vw;margin-top:12vh;animation:.18s both popIn}.palette-input{width:100%;height:52px;color:var(--tx-hi);font-size:16px;font-family:var(--font-ui);background:0 0;border:none;outline:none;padding:0 18px}.palette-item{cursor:pointer;border-radius:var(--r-sm);align-items:center;gap:11px;padding:9px 16px;display:flex}.palette-item.on{background:var(--accent-soft)}.palette-item.on .pi-arrow{opacity:1}.toast-wrap{z-index:200;flex-direction:column;gap:9px;display:flex;position:fixed;top:16px;right:16px}.toast{border-radius:var(--r-md);background:var(--bg-elev);border:1px solid var(--line-strong);min-width:250px;max-width:360px;box-shadow:var(--sh-2);align-items:center;gap:10px;padding:11px 14px;animation:.24s cubic-bezier(.2,.7,.3,1) both toastIn;display:flex}.nav-item{height:37px;color:var(--tx-mid);cursor:pointer;white-space:nowrap;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:11px;width:100%;padding:0 11px;font-size:13.5px;font-weight:500;transition:all .14s;display:flex;position:relative}.nav-item .ic{color:var(--tx-lo);flex:none;transition:all .14s}.nav-item:hover{background:var(--bg-hover);color:var(--tx-hi)}.nav-item:hover .ic{color:var(--tx-mid)}.nav-item.on{background:var(--accent-soft);color:var(--tx-hi);font-weight:560}.nav-item.on .ic{color:var(--accent)}.nav-item.on:before{content:"";background:var(--accent);width:3px;box-shadow:0 0 10px var(--accent-glow);border-radius:0 3px 3px 0;position:absolute;top:9px;bottom:9px;left:-12px}.nav-badge{margin-left:auto}.row{align-items:center;display:flex}.col{flex-direction:column;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1}.scroll-y{overflow-y:auto}.trunc{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-feature-settings:"zero" 1}.skel{background:linear-gradient(90deg,var(--bg-elev) 25%,var(--bg-elev-2) 50%,var(--bg-elev) 75%);background-size:200% 100%;animation:1.4s ease-in-out infinite skelSweep}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.z-30{z-index:30}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.mt-\[2px\]{margin-top:2px}.mt-\[5px\]{margin-top:5px}.mb-\[18px\]{margin-bottom:18px}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.h-\[30px\]{height:30px}.max-h-\[320px\]{max-height:320px}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[30px\]{min-width:30px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-\[5px\]{gap:5px}.gap-\[7px\]{gap:7px}.gap-\[8px\]{gap:8px}.gap-\[11px\]{gap:11px}.gap-\[14px\]{gap:14px}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[6px\]{border-radius:6px}.rounded-\[9px\]{border-radius:9px}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.bg-transparent{background-color:#0000}.p-\[6px\]{padding:6px}.px-\[6px\]{padding-inline:6px}.px-\[8px\]{padding-inline:8px}.px-\[14px\]{padding-inline:14px}.py-\[6px\]{padding-block:6px}.py-\[8px\]{padding-block:8px}.py-\[10px\]{padding-block:10px}.py-\[11px\]{padding-block:11px}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.whitespace-pre{white-space:pre}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}.\[\&\>\*\+\*\]\:border-t>*+*{border-top-style:var(--tw-border-style);border-top-width:1px}}@theme{--font-sans: "Geist Variable", ui-sans-serif, system-ui, sans-serif; --font-mono: "Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}@keyframes sweep{0%{background-position:-120% 0}to{background-position:220% 0}}@keyframes fadeUp{0%{transform:translateY(7px)}to{transform:none}}@keyframes popIn{0%{opacity:0;transform:scale(.97)translateY(8px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideRight{0%{opacity:.4;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes toastIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}@keyframes skelSweep{0%{background-position:200% 0}to{background-position:-200% 0}}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
@@ -1,7 +0,0 @@
1
- import { PluginErrorContribution } from "../substrate/plugin.mjs";
2
-
3
- //#region src/api/plugin-errors.d.ts
4
- declare const pluginErrorContributions: <Tags extends ReadonlyArray<string>>(errorTags: Tags, formatter?: PluginErrorContribution["formatter"]) => readonly [PluginErrorContribution];
5
- //#endregion
6
- export { pluginErrorContributions };
7
- //# sourceMappingURL=plugin-errors.d.mts.map
@@ -1,10 +0,0 @@
1
- //#region src/api/plugin-errors.ts
2
- const pluginErrorContributions = (errorTags, formatter) => [{
3
- _tag: "PluginErrorContribution",
4
- errorTags,
5
- ...formatter === void 0 ? {} : { formatter }
6
- }];
7
- //#endregion
8
- export { pluginErrorContributions };
9
-
10
- //# sourceMappingURL=plugin-errors.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-errors.mjs","names":[],"sources":["../../src/api/plugin-errors.ts"],"sourcesContent":["import type { PluginErrorContribution } from '../substrate/plugin.ts';\n\nexport const pluginErrorContributions = <Tags extends ReadonlyArray<string>>(\n\terrorTags: Tags,\n\tformatter?: PluginErrorContribution['formatter'],\n): readonly [PluginErrorContribution] => [\n\t{\n\t\t_tag: 'PluginErrorContribution',\n\t\terrorTags,\n\t\t...(formatter === undefined ? {} : { formatter }),\n\t},\n];\n"],"mappings":";AAEA,MAAa,4BACZ,WACA,cACwC,CACxC;CACC,MAAM;CACN;CACA,GAAI,cAAc,KAAA,IAAY,EAAE,GAAG,EAAE,WAAW;CAChD,CACD"}
@@ -1,42 +0,0 @@
1
- import { buildSubstrateLayers } from "../../orchestrators/run.mjs";
2
- import { layerProductionOrchestrators } from "../../orchestrators/runtime-composition.mjs";
3
- import { resolveCodegenOutput } from "../../orchestrators/codegen/output-location.mjs";
4
- import { Layer } from "effect";
5
- //#region src/cli/wirings/build-verb-layers.ts
6
- /** Compose substrate + orchestrator Layers for a verb that knows its
7
- * stack-config (i.e. has a `loaded` config and can pass codegen
8
- * options). Use `buildDirectSnapshotLayers` when the verb does NOT
9
- * load a config (e.g. restore/delete/wipe).
10
- *
11
- * Resolves the per-stack codegen output location HERE — the one boot
12
- * seam where both the primary stack (`stack.options.stackName`) and the
13
- * EFFECTIVE stack (`String(identity.stack)`, already run through the
14
- * explicit-`--stack` > `config.stackName` > inferred precedence ladder
15
- * by `resolvedIdentityForStack`/`identityValueFor` upstream) are in
16
- * scope. The primary run emits into `src/generated/`; a secondary run
17
- * (concurrent `--stack e2e`/etc.) emits into
18
- * `.devstack/stacks/<stack>/generated/` so the two never clobber. The
19
- * resolved literal `outputDir`/`stackSubdir` flow into
20
- * `layerProductionOrchestrators` unchanged — `paths.ts` keeps consuming
21
- * a literal, minimal blast radius. */
22
- const buildVerbLayers = (params) => {
23
- const codegenOutput = resolveCodegenOutput({
24
- appRoot: params.appRoot,
25
- effectiveStack: String(params.identity.stack),
26
- primaryStack: params.stack.options.stackName,
27
- explicitOutputDir: params.stack.options.codegen?.outputDir,
28
- explicitStackSubdir: params.stack.options.codegen?.stackSubdir ?? null
29
- });
30
- return layerProductionOrchestrators({ codegen: {
31
- appRoot: params.appRoot,
32
- outputDir: codegenOutput.outputDir,
33
- stackSubdir: codegenOutput.stackSubdir
34
- } }).pipe(Layer.provideMerge(buildSubstrateLayers(params.identity, params.runtimeRoot)));
35
- };
36
- /** Substrate + (default-codegen) orchestrator Layers for verbs that
37
- * don't load a config. */
38
- const buildDirectSnapshotLayers = (params) => layerProductionOrchestrators().pipe(Layer.provideMerge(buildSubstrateLayers(params.identity, params.runtimeRoot)));
39
- //#endregion
40
- export { buildDirectSnapshotLayers, buildVerbLayers };
41
-
42
- //# sourceMappingURL=build-verb-layers.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-verb-layers.mjs","names":[],"sources":["../../../src/cli/wirings/build-verb-layers.ts"],"sourcesContent":["// Shared substrate + orchestrator Layer composition for verb wirings.\n//\n// The CLI verbs that boot a substrate (`up`, `apply --direct`, snapshot\n// capture --direct) all build the same composition:\n// - `layerProductionOrchestrators({ codegen })` on top of\n// - `buildSubstrateLayers(identity, runtimeRoot)`.\n//\n// Extracted here so each wiring file references one helper instead of\n// rebuilding the composition inline (formerly ~5 sites in `main.ts`).\n\nimport { Layer } from 'effect';\n\nimport type { Identity } from '../../substrate/identity.ts';\nimport { buildSubstrateLayers } from '../../orchestrators/run.ts';\nimport { layerProductionOrchestrators } from '../../orchestrators/runtime-composition.ts';\nimport { resolveCodegenOutput } from '../../orchestrators/codegen/output-location.ts';\nimport type { SupervisedStack } from '../../substrate/runtime/index.ts';\n\n/** Compose substrate + orchestrator Layers for a verb that knows its\n * stack-config (i.e. has a `loaded` config and can pass codegen\n * options). Use `buildDirectSnapshotLayers` when the verb does NOT\n * load a config (e.g. restore/delete/wipe).\n *\n * Resolves the per-stack codegen output location HERE — the one boot\n * seam where both the primary stack (`stack.options.stackName`) and the\n * EFFECTIVE stack (`String(identity.stack)`, already run through the\n * explicit-`--stack` > `config.stackName` > inferred precedence ladder\n * by `resolvedIdentityForStack`/`identityValueFor` upstream) are in\n * scope. The primary run emits into `src/generated/`; a secondary run\n * (concurrent `--stack e2e`/etc.) emits into\n * `.devstack/stacks/<stack>/generated/` so the two never clobber. The\n * resolved literal `outputDir`/`stackSubdir` flow into\n * `layerProductionOrchestrators` unchanged — `paths.ts` keeps consuming\n * a literal, minimal blast radius. */\nexport const buildVerbLayers = (params: {\n\treadonly identity: Identity;\n\treadonly stack: SupervisedStack;\n\treadonly appRoot: string;\n\treadonly runtimeRoot: string;\n}) => {\n\tconst codegenOutput = resolveCodegenOutput({\n\t\tappRoot: params.appRoot,\n\t\teffectiveStack: String(params.identity.stack),\n\t\tprimaryStack: params.stack.options.stackName,\n\t\texplicitOutputDir: params.stack.options.codegen?.outputDir,\n\t\texplicitStackSubdir: params.stack.options.codegen?.stackSubdir ?? null,\n\t});\n\treturn layerProductionOrchestrators({\n\t\tcodegen: {\n\t\t\tappRoot: params.appRoot,\n\t\t\toutputDir: codegenOutput.outputDir,\n\t\t\tstackSubdir: codegenOutput.stackSubdir,\n\t\t},\n\t}).pipe(Layer.provideMerge(buildSubstrateLayers(params.identity, params.runtimeRoot)));\n};\n\n/** Substrate + (default-codegen) orchestrator Layers for verbs that\n * don't load a config. */\nexport const buildDirectSnapshotLayers = (params: {\n\treadonly identity: Identity;\n\treadonly runtimeRoot: string;\n}) =>\n\tlayerProductionOrchestrators().pipe(\n\t\tLayer.provideMerge(buildSubstrateLayers(params.identity, params.runtimeRoot)),\n\t);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkCA,MAAa,mBAAmB,WAK1B;CACL,MAAM,gBAAgB,qBAAqB;EAC1C,SAAS,OAAO;EAChB,gBAAgB,OAAO,OAAO,SAAS,MAAM;EAC7C,cAAc,OAAO,MAAM,QAAQ;EACnC,mBAAmB,OAAO,MAAM,QAAQ,SAAS;EACjD,qBAAqB,OAAO,MAAM,QAAQ,SAAS,eAAe;EAClE,CAAC;AACF,QAAO,6BAA6B,EACnC,SAAS;EACR,SAAS,OAAO;EAChB,WAAW,cAAc;EACzB,aAAa,cAAc;EAC3B,EACD,CAAC,CAAC,KAAK,MAAM,aAAa,qBAAqB,OAAO,UAAU,OAAO,YAAY,CAAC,CAAC;;;;AAKvF,MAAa,6BAA6B,WAIzC,8BAA8B,CAAC,KAC9B,MAAM,aAAa,qBAAqB,OAAO,UAAU,OAAO,YAAY,CAAC,CAC7E"}
@@ -1,40 +0,0 @@
1
- import { CodegenableDecl } from "./codegenable.mjs";
2
- import { ProjectionDecl } from "./projection.mjs";
3
- import { RoutableDecl } from "./routable.mjs";
4
- import { SnapshotableDecl } from "./snapshotable.mjs";
5
- import { StrategyContributorDecl } from "./strategy-contributor.mjs";
6
-
7
- //#region src/contracts/capability-decl.d.ts
8
- /**
9
- * Capability kind registry. Module augmentation extends this interface:
10
- *
11
- * declare module '@mysten-incubation/devstack' {
12
- * interface DevstackCapabilityRegistry {
13
- * readonly 'health-check': { readonly url: string };
14
- * }
15
- * }
16
- */
17
- interface DevstackCapabilityRegistry {
18
- readonly snapshotable: Omit<SnapshotableDecl, 'kind'>;
19
- readonly routable: Omit<RoutableDecl, 'kind'>;
20
- readonly codegenable: Omit<CodegenableDecl<string>, 'kind'>;
21
- readonly projection: Omit<ProjectionDecl, 'kind'>;
22
- readonly 'strategy-contributor': Omit<StrategyContributorDecl<string, unknown>, 'kind'>;
23
- }
24
- type CapabilityKind = keyof DevstackCapabilityRegistry & string;
25
- type RegisteredCapabilityDecl<Kind extends CapabilityKind = CapabilityKind> = { readonly [K in Kind]: Readonly<{
26
- readonly kind: K;
27
- } & DevstackCapabilityRegistry[K]> }[Kind];
28
- type ExtensionCapabilityDecl<Kind extends string = string, Payload extends object = object> = Readonly<{
29
- readonly kind: Kind;
30
- } & Payload>;
31
- type CapabilityDecl<Kind extends string = string> = string extends Kind ? RegisteredCapabilityDecl | ExtensionCapabilityDecl : Kind extends CapabilityKind ? RegisteredCapabilityDecl<Kind> : ExtensionCapabilityDecl<Kind>;
32
- type CapabilityPayloadFor<Kind extends string> = Kind extends CapabilityKind ? DevstackCapabilityRegistry[Kind] & {
33
- readonly kind?: never;
34
- } : object & {
35
- readonly kind?: never;
36
- };
37
- type ExactCapabilityPayload<Kind extends string, Data extends object> = Kind extends CapabilityKind ? Record<Exclude<keyof Data, keyof CapabilityPayloadFor<Kind>>, never> : unknown;
38
- //#endregion
39
- export { CapabilityDecl, CapabilityKind, CapabilityPayloadFor, DevstackCapabilityRegistry, ExactCapabilityPayload };
40
- //# sourceMappingURL=capability-decl.d.mts.map
@@ -1,54 +0,0 @@
1
- import { CapabilitySinksService } from "../substrate/runtime/capability-sinks/service.mjs";
2
- import { layerCapabilitySinksDefault } from "../substrate/runtime/capability-sinks/layer.mjs";
3
- import "../substrate/runtime/capability-sinks/index.mjs";
4
- import { SnapshotOrchestratorService } from "./snapshot/service.mjs";
5
- import "./snapshot/index.mjs";
6
- import { discoverCoinsFromPublish } from "../plugins/coin/discovery.mjs";
7
- import { CoinRegistryService, layerCoinRegistry } from "../plugins/coin/registry.mjs";
8
- import { LOCAL_PACKAGE_PUBLISHED_KIND } from "../plugins/package/publish-output.mjs";
9
- import { PackageRegistryService, layerPackageRegistry } from "../plugins/package/registry.mjs";
10
- import { Context, Effect, FileSystem, Layer } from "effect";
11
- //#region src/orchestrators/built-in-plugin-layers.ts
12
- const layerBuiltInPluginServices = Layer.mergeAll(layerCoinRegistry, layerPackageRegistry);
13
- const publishResultSink = (coinRegistry) => ({
14
- kind: LOCAL_PACKAGE_PUBLISHED_KIND,
15
- accept: (decl) => Effect.gen(function* () {
16
- for (const discovered of discoverCoinsFromPublish(decl.output)) {
17
- const record = {
18
- key: (discovered.symbol ?? discovered.witness).toLowerCase(),
19
- type: discovered.fullCoinType,
20
- witness: discovered.witness,
21
- moduleName: discovered.moduleName,
22
- decimals: discovered.decimals ?? 0,
23
- ...discovered.symbol === void 0 ? {} : { symbol: discovered.symbol },
24
- ...discovered.displayName === void 0 ? {} : { displayName: discovered.displayName },
25
- ...discovered.iconUrl === void 0 ? {} : { iconUrl: discovered.iconUrl },
26
- ...!discovered.publisherOwnsCap || discovered.treasuryCapId === void 0 ? {} : { treasuryCapId: discovered.treasuryCapId },
27
- ...discovered.metadataId === void 0 ? {} : { metadataId: discovered.metadataId },
28
- packageId: decl.packageId,
29
- publishingPackageName: decl.packageName
30
- };
31
- yield* coinRegistry.register(record);
32
- }
33
- })
34
- });
35
- const layerBuiltInCapabilitySinks = (orchestrator) => {
36
- return Layer.effectDiscard(Effect.gen(function* () {
37
- const sinks = yield* CapabilitySinksService;
38
- const coinRegistry = yield* CoinRegistryService;
39
- yield* sinks.registerSink(publishResultSink(coinRegistry));
40
- })).pipe(Layer.provideMerge(layerCapabilitySinksDefault(orchestrator)));
41
- };
42
- const layerBuiltInPluginRuntime = (orchestrator) => layerBuiltInCapabilitySinks(orchestrator).pipe(Layer.provideMerge(layerBuiltInPluginServices));
43
- const extendBuiltInPluginContext = (ctx) => Effect.gen(function* () {
44
- const coinRegistry = yield* CoinRegistryService;
45
- const packageRegistry = yield* PackageRegistryService;
46
- const capabilitySinks = yield* CapabilitySinksService;
47
- const snapshotOrchestrator = yield* SnapshotOrchestratorService;
48
- const fileSystem = yield* FileSystem.FileSystem;
49
- return ctx.pipe(Context.add(CoinRegistryService, coinRegistry), Context.add(PackageRegistryService, packageRegistry), Context.add(CapabilitySinksService, capabilitySinks), Context.add(SnapshotOrchestratorService, snapshotOrchestrator), Context.add(FileSystem.FileSystem, fileSystem));
50
- });
51
- //#endregion
52
- export { extendBuiltInPluginContext, layerBuiltInPluginRuntime };
53
-
54
- //# sourceMappingURL=built-in-plugin-layers.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"built-in-plugin-layers.mjs","names":[],"sources":["../../src/orchestrators/built-in-plugin-layers.ts"],"sourcesContent":["// Built-in plugin runtime composition.\n//\n// Orchestrator-layer composition (L3): depends on L2 plugin internals\n// (coin/package registries, publish discovery), so it cannot live at L1 runtime.\n// Moved from src/runtime/ to src/orchestrators/ to honor the ARCHITECTURE.md\n// L1-never-imports-from-L2 boundary.\n\nimport { Context, Effect, FileSystem, Layer } from 'effect';\n\nimport { SnapshotOrchestratorService } from './snapshot/index.ts';\nimport { discoverCoinsFromPublish } from '../plugins/coin/discovery.ts';\nimport {\n\tCoinRegistryService,\n\tlayerCoinRegistry,\n\ttype CoinRecord,\n} from '../plugins/coin/registry.ts';\nimport {\n\tLOCAL_PACKAGE_PUBLISHED_KIND,\n\ttype LocalPackagePublishedDecl,\n} from '../plugins/package/publish-output.ts';\nimport { PackageRegistryService, layerPackageRegistry } from '../plugins/package/registry.ts';\nimport {\n\tCapabilitySinksService,\n\tlayerCapabilitySinksDefault,\n\ttype CapabilitySink,\n\ttype OrchestratorSinks,\n} from '../substrate/runtime/capability-sinks/index.ts';\n\nexport const layerBuiltInPluginServices: Layer.Layer<CoinRegistryService | PackageRegistryService> =\n\tLayer.mergeAll(layerCoinRegistry, layerPackageRegistry);\n\nconst publishResultSink = (\n\tcoinRegistry: typeof CoinRegistryService.Service,\n): CapabilitySink<typeof LOCAL_PACKAGE_PUBLISHED_KIND, LocalPackagePublishedDecl> => ({\n\tkind: LOCAL_PACKAGE_PUBLISHED_KIND,\n\taccept: (decl) =>\n\t\tEffect.gen(function* () {\n\t\t\tfor (const discovered of discoverCoinsFromPublish(decl.output)) {\n\t\t\t\tconst record: CoinRecord = {\n\t\t\t\t\tkey: (discovered.symbol ?? discovered.witness).toLowerCase(),\n\t\t\t\t\ttype: discovered.fullCoinType,\n\t\t\t\t\twitness: discovered.witness,\n\t\t\t\t\tmoduleName: discovered.moduleName,\n\t\t\t\t\tdecimals: discovered.decimals ?? 0,\n\t\t\t\t\t...(discovered.symbol === undefined ? {} : { symbol: discovered.symbol }),\n\t\t\t\t\t...(discovered.displayName === undefined ? {} : { displayName: discovered.displayName }),\n\t\t\t\t\t...(discovered.iconUrl === undefined ? {} : { iconUrl: discovered.iconUrl }),\n\t\t\t\t\t...(!discovered.publisherOwnsCap || discovered.treasuryCapId === undefined\n\t\t\t\t\t\t? {}\n\t\t\t\t\t\t: { treasuryCapId: discovered.treasuryCapId }),\n\t\t\t\t\t...(discovered.metadataId === undefined ? {} : { metadataId: discovered.metadataId }),\n\t\t\t\t\tpackageId: decl.packageId,\n\t\t\t\t\tpublishingPackageName: decl.packageName,\n\t\t\t\t};\n\t\t\t\tyield* coinRegistry.register(record);\n\t\t\t}\n\t\t}),\n});\n\nexport const layerBuiltInCapabilitySinks = (\n\torchestrator: OrchestratorSinks,\n): Layer.Layer<CapabilitySinksService, never, CoinRegistryService | PackageRegistryService> => {\n\tconst registerBuiltInPluginSinks = Layer.effectDiscard(\n\t\tEffect.gen(function* () {\n\t\t\tconst sinks = yield* CapabilitySinksService;\n\t\t\tconst coinRegistry = yield* CoinRegistryService;\n\t\t\tyield* sinks.registerSink(publishResultSink(coinRegistry));\n\t\t}),\n\t);\n\treturn registerBuiltInPluginSinks.pipe(\n\t\tLayer.provideMerge(layerCapabilitySinksDefault(orchestrator)),\n\t);\n};\n\nexport const layerBuiltInPluginRuntime = (\n\torchestrator: OrchestratorSinks,\n): Layer.Layer<CoinRegistryService | PackageRegistryService | CapabilitySinksService> =>\n\tlayerBuiltInCapabilitySinks(orchestrator).pipe(Layer.provideMerge(layerBuiltInPluginServices));\n\nexport const extendBuiltInPluginContext = (\n\tctx: Context.Context<never>,\n): Effect.Effect<\n\tContext.Context<never>,\n\tnever,\n\t| CoinRegistryService\n\t| PackageRegistryService\n\t| CapabilitySinksService\n\t| SnapshotOrchestratorService\n\t| FileSystem.FileSystem\n> =>\n\tEffect.gen(function* () {\n\t\tconst coinRegistry = yield* CoinRegistryService;\n\t\tconst packageRegistry = yield* PackageRegistryService;\n\t\tconst capabilitySinks = yield* CapabilitySinksService;\n\t\t// Thread the snapshot orchestrator + filesystem into the plugin\n\t\t// runtime context so the supervisor can populate the control-plane\n\t\t// `domain` surface (snapshot list/restore/delete, which never\n\t\t// round-trip through the void `publishCommand`). The\n\t\t// `ContainerRuntimeService` the domain also needs is already in the\n\t\t// base substrate plugin context.\n\t\tconst snapshotOrchestrator = yield* SnapshotOrchestratorService;\n\t\tconst fileSystem = yield* FileSystem.FileSystem;\n\t\treturn ctx.pipe(\n\t\t\tContext.add(CoinRegistryService, coinRegistry),\n\t\t\tContext.add(PackageRegistryService, packageRegistry),\n\t\t\tContext.add(CapabilitySinksService, capabilitySinks),\n\t\t\tContext.add(SnapshotOrchestratorService, snapshotOrchestrator),\n\t\t\tContext.add(FileSystem.FileSystem, fileSystem),\n\t\t) as Context.Context<never>;\n\t});\n"],"mappings":";;;;;;;;;;;AA4BA,MAAa,6BACZ,MAAM,SAAS,mBAAmB,qBAAqB;AAExD,MAAM,qBACL,kBACqF;CACrF,MAAM;CACN,SAAS,SACR,OAAO,IAAI,aAAa;AACvB,OAAK,MAAM,cAAc,yBAAyB,KAAK,OAAO,EAAE;GAC/D,MAAM,SAAqB;IAC1B,MAAM,WAAW,UAAU,WAAW,SAAS,aAAa;IAC5D,MAAM,WAAW;IACjB,SAAS,WAAW;IACpB,YAAY,WAAW;IACvB,UAAU,WAAW,YAAY;IACjC,GAAI,WAAW,WAAW,KAAA,IAAY,EAAE,GAAG,EAAE,QAAQ,WAAW,QAAQ;IACxE,GAAI,WAAW,gBAAgB,KAAA,IAAY,EAAE,GAAG,EAAE,aAAa,WAAW,aAAa;IACvF,GAAI,WAAW,YAAY,KAAA,IAAY,EAAE,GAAG,EAAE,SAAS,WAAW,SAAS;IAC3E,GAAI,CAAC,WAAW,oBAAoB,WAAW,kBAAkB,KAAA,IAC9D,EAAE,GACF,EAAE,eAAe,WAAW,eAAe;IAC9C,GAAI,WAAW,eAAe,KAAA,IAAY,EAAE,GAAG,EAAE,YAAY,WAAW,YAAY;IACpF,WAAW,KAAK;IAChB,uBAAuB,KAAK;IAC5B;AACD,UAAO,aAAa,SAAS,OAAO;;GAEpC;CACH;AAED,MAAa,+BACZ,iBAC8F;AAQ9F,QAPmC,MAAM,cACxC,OAAO,IAAI,aAAa;EACvB,MAAM,QAAQ,OAAO;EACrB,MAAM,eAAe,OAAO;AAC5B,SAAO,MAAM,aAAa,kBAAkB,aAAa,CAAC;GACzD,CAE8B,CAAC,KACjC,MAAM,aAAa,4BAA4B,aAAa,CAAC,CAC7D;;AAGF,MAAa,6BACZ,iBAEA,4BAA4B,aAAa,CAAC,KAAK,MAAM,aAAa,2BAA2B,CAAC;AAE/F,MAAa,8BACZ,QAUA,OAAO,IAAI,aAAa;CACvB,MAAM,eAAe,OAAO;CAC5B,MAAM,kBAAkB,OAAO;CAC/B,MAAM,kBAAkB,OAAO;CAO/B,MAAM,uBAAuB,OAAO;CACpC,MAAM,aAAa,OAAO,WAAW;AACrC,QAAO,IAAI,KACV,QAAQ,IAAI,qBAAqB,aAAa,EAC9C,QAAQ,IAAI,wBAAwB,gBAAgB,EACpD,QAAQ,IAAI,wBAAwB,gBAAgB,EACpD,QAAQ,IAAI,6BAA6B,qBAAqB,EAC9D,QAAQ,IAAI,WAAW,YAAY,WAAW,CAC9C;EACA"}
@@ -1,91 +0,0 @@
1
- import { IdentityContext, RuntimeRoot, StackPathsService, layerIdentity, layerRuntimeRoot, layerStackPaths } from "../substrate/runtime/paths.mjs";
2
- import { Logger as Logger$1, layerLogger } from "../substrate/runtime/observability/logger.mjs";
3
- import "../substrate/runtime/observability/index.mjs";
4
- import { CacheService, layerCache } from "../substrate/runtime/cache/service.mjs";
5
- import "../substrate/runtime/cache/index.mjs";
6
- import { DockerSpawner, layerDockerHostDefault } from "../runtime/docker/client.mjs";
7
- import { ContainerRuntimeService, layerContainerRuntimeDocker, layerDockerCycleInitial } from "../runtime/docker/service.mjs";
8
- import "../runtime/docker/index.mjs";
9
- import { awaitAll } from "../substrate/runtime/lifecycle/ready-gate.mjs";
10
- import "../substrate/runtime/lifecycle/index.mjs";
11
- import { StrategyRegistryService, layerStrategyRegistry } from "../substrate/runtime/strategy-registry/service.mjs";
12
- import { PostAcquireTasksService, layerPostAcquireTasks } from "../substrate/runtime/post-acquire-tasks.mjs";
13
- import { startSupervisor } from "../substrate/runtime/supervisor/start-supervisor.mjs";
14
- import "../substrate/runtime/supervisor/index.mjs";
15
- import { LeaseBrokerService, layerLeaseBroker } from "../substrate/runtime/lease-broker/service.mjs";
16
- import "../substrate/runtime/lease-broker/index.mjs";
17
- import { ArtifactPublisherService, layerArtifactPublisher } from "../substrate/runtime/artifact-publisher/index.mjs";
18
- import { PortBrokerService, layerPortBroker } from "../substrate/runtime/port-broker/service.mjs";
19
- import "../substrate/runtime/port-broker/index.mjs";
20
- import "../substrate/runtime/strategy-registry/index.mjs";
21
- import "../substrate/runtime/projection/index.mjs";
22
- import { Context, Effect, Layer } from "effect";
23
- import * as NodeFileSystem from "@effect/platform-node/NodeFileSystem";
24
- import * as NodePath from "@effect/platform-node/NodePath";
25
- import * as NodeChildProcessSpawner from "@effect/platform-node/NodeChildProcessSpawner";
26
- import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
27
- //#region src/orchestrators/run.ts
28
- /** Substrate Layer stack for a single supervised run. Composes every L0
29
- * service the supervisor yields from its R-channel, plus the L1 Docker
30
- * `ContainerRuntime`. Built-in plugin services are layered outside
31
- * substrate and added through `extendContext`. */
32
- const buildSubstrateLayers = (identity, runtimeRoot) => {
33
- const layerDockerSpawnerFromNode = Layer.effect(DockerSpawner, Effect.gen(function* () {
34
- return yield* ChildProcessSpawner;
35
- }));
36
- const platformBase = Layer.mergeAll(layerIdentity(identity), layerRuntimeRoot(runtimeRoot), NodePath.layer, NodeFileSystem.layer, layerDockerHostDefault, layerDockerCycleInitial, layerStrategyRegistry);
37
- const childProcessSpawnerWired = NodeChildProcessSpawner.layer.pipe(Layer.provideMerge(platformBase));
38
- const withStackPaths = layerStackPaths.pipe(Layer.provideMerge(childProcessSpawnerWired));
39
- const withCache = layerCache.pipe(Layer.provideMerge(withStackPaths));
40
- const withArtifactPublisher = layerArtifactPublisher.pipe(Layer.provideMerge(withCache));
41
- const withPortBroker = layerPortBroker.pipe(Layer.provideMerge(withArtifactPublisher));
42
- const withLeaseBroker = layerLeaseBroker.pipe(Layer.provideMerge(withPortBroker));
43
- const withSpawnerAdapter = layerDockerSpawnerFromNode.pipe(Layer.provideMerge(withLeaseBroker));
44
- const withContainerRuntime = layerContainerRuntimeDocker.pipe(Layer.provideMerge(withSpawnerAdapter));
45
- const withPostAcquireTasks = layerPostAcquireTasks.pipe(Layer.provideMerge(withContainerRuntime));
46
- return layerLogger.pipe(Layer.provideMerge(withPostAcquireTasks));
47
- };
48
- /** Build the opaque `Context.Context<never>` the supervisor hands to
49
- * every plugin's `acquire` body. Yields every substrate service the
50
- * Docker-backed substrate layer stack provides; downstream callers
51
- * may extend the context (e.g. layering a Logger or a
52
- * `CapabilitySinksService`) before passing it to `supervise()`. */
53
- const buildPluginContext = () => Effect.gen(function* () {
54
- const identityCtx = yield* IdentityContext;
55
- const runtimeRootResolved = yield* RuntimeRoot;
56
- const stackPaths = yield* StackPathsService;
57
- const cache = yield* CacheService;
58
- const registry = yield* StrategyRegistryService;
59
- const containerRuntime = yield* ContainerRuntimeService;
60
- const publisher = yield* ArtifactPublisherService;
61
- const portBroker = yield* PortBrokerService;
62
- const leaseBroker = yield* LeaseBrokerService;
63
- const postAcquireTasks = yield* PostAcquireTasksService;
64
- const logger = yield* Logger$1;
65
- return Context.empty().pipe(Context.add(IdentityContext, identityCtx), Context.add(RuntimeRoot, runtimeRootResolved), Context.add(StackPathsService, stackPaths), Context.add(CacheService, cache), Context.add(StrategyRegistryService, registry), Context.add(ContainerRuntimeService, containerRuntime), Context.add(ArtifactPublisherService, publisher), Context.add(PortBrokerService, portBroker), Context.add(LeaseBrokerService, leaseBroker), Context.add(PostAcquireTasksService, postAcquireTasks), Context.add(Logger$1, logger));
66
- });
67
- /** Effect that boots the supervisor for `stack` and blocks on the
68
- * supervisor's shutdown latch. Returns the final `SubscribableState`
69
- * snapshot so callers (CLI, library handle) can inspect post-shutdown
70
- * state. */
71
- const superviseStackEffect = (stack, identity, state, opts = {}) => Effect.gen(function* () {
72
- return yield* Effect.scoped(Effect.gen(function* () {
73
- const baseContext = yield* buildPluginContext();
74
- const startup = yield* startSupervisor(stack, identity, state, opts.extendContext === void 0 ? baseContext : yield* opts.extendContext(baseContext), opts.orchestratorSinks ?? [], opts.commandHandler, opts.postAcquireHook, { commandLoop: opts.lifetime !== "one-shot" });
75
- const { handle } = startup;
76
- if (opts.beforeInitialAcquire !== void 0) yield* opts.beforeInitialAcquire(handle);
77
- if (opts.lifetime === "one-shot") {
78
- yield* startup.runInitialAcquire;
79
- yield* awaitAll(startup.handle.registry, [...startup.handle.graph.nodes.keys()]);
80
- if (opts.withinScope !== void 0) yield* opts.withinScope(handle);
81
- return;
82
- }
83
- if ((yield* Effect.raceFirst(startup.runInitialAcquire.pipe(Effect.as("booted")), handle.awaitShutdown.pipe(Effect.as("shutdown")))) === "shutdown") return;
84
- if (opts.withinScope !== void 0) yield* opts.withinScope(handle);
85
- yield* handle.awaitShutdown;
86
- }));
87
- });
88
- //#endregion
89
- export { buildSubstrateLayers, superviseStackEffect };
90
-
91
- //# sourceMappingURL=run.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.mjs","names":["Logger"],"sources":["../../src/orchestrators/run.ts"],"sourcesContent":["// Default-stack Layer composition + supervise() entrypoint.\n//\n// Single seam consumed by both the CLI bin entry (`cli/main.ts`) and the\n// library-facing programmatic surface (`api/run-stack.ts`). Composes the\n// substrate Layer stack (L0) + the Docker `ContainerRuntime` adapter\n// (L1), yields the substrate services into a `Context.Context<never>`\n// pluginContext, builds the projection ref, and runs `supervise()`\n// inside a scope.\n//\n// The CLI augments the supervised body with cross-process command\n// channel forwarding; the library surface passes a no-op augmentation\n// and exposes the handle's events / state / awaitShutdown directly.\n//\n// Architecture: this is L3 (orchestrator-level). Layer composition that\n// assembles L0+L1 stacks belongs at L3/L4 — it can't live in `substrate/`\n// because it imports a concrete L1 adapter (Docker) by definition. See\n// ARCHITECTURE.md § \"Layer composition belongs at L3/L4, not L0\".\n\nimport { Context, Effect, Layer, Logger as EffectLogger, Scope, SubscriptionRef } from 'effect';\nimport * as NodeFileSystem from '@effect/platform-node/NodeFileSystem';\nimport * as NodePath from '@effect/platform-node/NodePath';\nimport * as NodeChildProcessSpawner from '@effect/platform-node/NodeChildProcessSpawner';\nimport { ChildProcessSpawner } from 'effect/unstable/process/ChildProcessSpawner';\n\nimport type { Identity } from '../substrate/identity.ts';\nimport { CacheService, layerCache } from '../substrate/runtime/cache/index.ts';\nimport { LeaseBrokerService, layerLeaseBroker } from '../substrate/runtime/lease-broker/index.ts';\nimport {\n\tArtifactPublisherService,\n\tlayerArtifactPublisher,\n} from '../substrate/runtime/artifact-publisher/index.ts';\nimport {\n\tIdentityContext,\n\tRuntimeRoot,\n\tStackPathsService,\n\tlayerIdentity,\n\tlayerRuntimeRoot,\n\tlayerStackPaths,\n} from '../substrate/runtime/paths.ts';\nimport { PortBrokerService, layerPortBroker } from '../substrate/runtime/port-broker/index.ts';\nimport {\n\tStrategyRegistryService,\n\tlayerStrategyRegistry,\n} from '../substrate/runtime/strategy-registry/index.ts';\nimport {\n\tContainerRuntimeService,\n\tDockerSpawner,\n\tlayerContainerRuntimeDocker,\n\tlayerDockerCycleInitial,\n\tlayerDockerHostDefault,\n} from '../runtime/docker/index.ts';\nimport { awaitAll } from '../substrate/runtime/lifecycle/index.ts';\nimport { makeProjectionRef } from '../substrate/runtime/projection/index.ts';\nimport { Logger, layerLogger } from '../substrate/runtime/observability/index.ts';\nimport {\n\tPostAcquireTasksService,\n\tlayerPostAcquireTasks,\n} from '../substrate/runtime/post-acquire-tasks.ts';\nimport {\n\tstartSupervisor,\n\ttype OrchestratorSinks,\n\ttype SupervisedStack,\n\ttype SupervisorCommandHandler,\n\ttype SupervisorHandle,\n\ttype SupervisorPostAcquireHook,\n} from '../substrate/runtime/supervisor/index.ts';\n\n/** Substrate Layer stack for a single supervised run. Composes every L0\n * service the supervisor yields from its R-channel, plus the L1 Docker\n * `ContainerRuntime`. Built-in plugin services are layered outside\n * substrate and added through `extendContext`. */\nexport const buildSubstrateLayers = (identity: Identity, runtimeRoot: string) => {\n\t// DockerSpawner adapts platform-node's ChildProcessSpawner tag onto\n\t// the docker subsystem's local DockerSpawner tag (same shape; the\n\t// indirection only lets tests inject a stub).\n\tconst layerDockerSpawnerFromNode: Layer.Layer<DockerSpawner, never, ChildProcessSpawner> =\n\t\tLayer.effect(\n\t\t\tDockerSpawner,\n\t\t\tEffect.gen(function* () {\n\t\t\t\treturn yield* ChildProcessSpawner;\n\t\t\t}),\n\t\t);\n\n\tconst platformBase = Layer.mergeAll(\n\t\tlayerIdentity(identity),\n\t\tlayerRuntimeRoot(runtimeRoot),\n\t\tNodePath.layer,\n\t\tNodeFileSystem.layer,\n\t\tlayerDockerHostDefault,\n\t\tlayerDockerCycleInitial,\n\t\tlayerStrategyRegistry,\n\t);\n\n\tconst childProcessSpawnerWired = NodeChildProcessSpawner.layer.pipe(\n\t\tLayer.provideMerge(platformBase),\n\t);\n\tconst withStackPaths = layerStackPaths.pipe(Layer.provideMerge(childProcessSpawnerWired));\n\tconst withCache = layerCache.pipe(Layer.provideMerge(withStackPaths));\n\tconst withArtifactPublisher = layerArtifactPublisher.pipe(Layer.provideMerge(withCache));\n\tconst withPortBroker = layerPortBroker.pipe(Layer.provideMerge(withArtifactPublisher));\n\tconst withLeaseBroker = layerLeaseBroker.pipe(Layer.provideMerge(withPortBroker));\n\tconst withSpawnerAdapter = layerDockerSpawnerFromNode.pipe(Layer.provideMerge(withLeaseBroker));\n\tconst withContainerRuntime = layerContainerRuntimeDocker.pipe(\n\t\tLayer.provideMerge(withSpawnerAdapter),\n\t);\n\tconst withPostAcquireTasks = layerPostAcquireTasks.pipe(Layer.provideMerge(withContainerRuntime));\n\treturn layerLogger.pipe(Layer.provideMerge(withPostAcquireTasks));\n};\n\n/** Build the opaque `Context.Context<never>` the supervisor hands to\n * every plugin's `acquire` body. Yields every substrate service the\n * Docker-backed substrate layer stack provides; downstream callers\n * may extend the context (e.g. layering a Logger or a\n * `CapabilitySinksService`) before passing it to `supervise()`. */\nconst buildPluginContext = (): Effect.Effect<\n\tContext.Context<never>,\n\tnever,\n\t| IdentityContext\n\t| RuntimeRoot\n\t| StackPathsService\n\t| CacheService\n\t| StrategyRegistryService\n\t| ContainerRuntimeService\n\t| ArtifactPublisherService\n\t| PortBrokerService\n\t| LeaseBrokerService\n\t| PostAcquireTasksService\n\t| Logger\n> =>\n\tEffect.gen(function* () {\n\t\tconst identityCtx = yield* IdentityContext;\n\t\tconst runtimeRootResolved = yield* RuntimeRoot;\n\t\tconst stackPaths = yield* StackPathsService;\n\t\tconst cache = yield* CacheService;\n\t\tconst registry = yield* StrategyRegistryService;\n\t\tconst containerRuntime = yield* ContainerRuntimeService;\n\t\tconst publisher = yield* ArtifactPublisherService;\n\t\tconst portBroker = yield* PortBrokerService;\n\t\tconst leaseBroker = yield* LeaseBrokerService;\n\t\tconst postAcquireTasks = yield* PostAcquireTasksService;\n\t\tconst logger = yield* Logger;\n\n\t\treturn Context.empty().pipe(\n\t\t\tContext.add(IdentityContext, identityCtx),\n\t\t\tContext.add(RuntimeRoot, runtimeRootResolved),\n\t\t\tContext.add(StackPathsService, stackPaths),\n\t\t\tContext.add(CacheService, cache),\n\t\t\tContext.add(StrategyRegistryService, registry),\n\t\t\tContext.add(ContainerRuntimeService, containerRuntime),\n\t\t\tContext.add(ArtifactPublisherService, publisher),\n\t\t\tContext.add(PortBrokerService, portBroker),\n\t\t\tContext.add(LeaseBrokerService, leaseBroker),\n\t\t\tContext.add(PostAcquireTasksService, postAcquireTasks),\n\t\t\tContext.add(Logger, logger),\n\t\t) as Context.Context<never>;\n\t});\n\n/** Options accepted by the supervised-run entrypoint. `lifetime`\n * selects long-running supervision versus a one-shot acquire/codegen\n * cycle. The `beforeInitialAcquire` hook runs inside the supervised\n * scope before the first acquire starts; live renderers use it to\n * subscribe to startup projection changes. The `withinScope` hook\n * runs after the first acquire completes.\n *\n * Generic `R` widens the hook R-channel so callers can yield\n * substrate services (e.g. `StackPathsService`) that are in scope at\n * the supervisor-boot site. */\nexport interface SuperviseStackOptions<R = Scope.Scope, ExtendR = never, HookE = never> {\n\treadonly lifetime?: 'long-running' | 'one-shot';\n\treadonly beforeInitialAcquire?: (handle: SupervisorHandle) => Effect.Effect<void, HookE, R>;\n\treadonly withinScope?: (handle: SupervisorHandle) => Effect.Effect<void, HookE, R>;\n\treadonly commandHandler?: SupervisorCommandHandler;\n\treadonly orchestratorSinks?: OrchestratorSinks;\n\treadonly postAcquireHook?: SupervisorPostAcquireHook;\n\t/** Caller-supplied extension layered into `pluginContext` after the\n\t * default substrate context is built. Used by plugin-author Layer\n\t * composition (ARCHITECTURE.md § Plugin-author extension) and by\n\t * the CLI when it wants to inject a custom Logger / CapabilitySinks\n\t * override. */\n\treadonly extendContext?: (\n\t\tctx: Context.Context<never>,\n\t) => Effect.Effect<Context.Context<never>, never, ExtendR>;\n}\n\n/** Effect that boots the supervisor for `stack` and blocks on the\n * supervisor's shutdown latch. Returns the final `SubscribableState`\n * snapshot so callers (CLI, library handle) can inspect post-shutdown\n * state. */\nexport const superviseStackEffect = <R = Scope.Scope, ExtendR = never, HookE = never>(\n\tstack: SupervisedStack,\n\tidentity: Identity,\n\tstate: SubscriptionRef.SubscriptionRef<import('../substrate/projection.ts').SubscribableState>,\n\topts: SuperviseStackOptions<R, ExtendR, HookE> = {},\n) =>\n\tEffect.gen(function* () {\n\t\treturn yield* Effect.scoped(\n\t\t\tEffect.gen(function* () {\n\t\t\t\tconst baseContext = yield* buildPluginContext();\n\t\t\t\tconst pluginContext =\n\t\t\t\t\topts.extendContext === undefined ? baseContext : yield* opts.extendContext(baseContext);\n\n\t\t\t\tconst startup = yield* startSupervisor(\n\t\t\t\t\tstack,\n\t\t\t\t\tidentity,\n\t\t\t\t\tstate,\n\t\t\t\t\tpluginContext,\n\t\t\t\t\topts.orchestratorSinks ?? [],\n\t\t\t\t\topts.commandHandler,\n\t\t\t\t\topts.postAcquireHook,\n\t\t\t\t\t{ commandLoop: opts.lifetime !== 'one-shot' },\n\t\t\t\t);\n\t\t\t\tconst { handle } = startup;\n\t\t\t\tif (opts.beforeInitialAcquire !== undefined) {\n\t\t\t\t\tyield* opts.beforeInitialAcquire(handle);\n\t\t\t\t}\n\t\t\t\tif (opts.lifetime === 'one-shot') {\n\t\t\t\t\tyield* startup.runInitialAcquire;\n\t\t\t\t\tyield* awaitAll(startup.handle.registry, [...startup.handle.graph.nodes.keys()]);\n\t\t\t\t\tif (opts.withinScope !== undefined) {\n\t\t\t\t\t\tyield* opts.withinScope(handle);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst outcome = yield* Effect.raceFirst(\n\t\t\t\t\tstartup.runInitialAcquire.pipe(Effect.as('booted' as const)),\n\t\t\t\t\thandle.awaitShutdown.pipe(Effect.as('shutdown' as const)),\n\t\t\t\t);\n\t\t\t\tif (outcome === 'shutdown') {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (opts.withinScope !== undefined) {\n\t\t\t\t\tyield* opts.withinScope(handle);\n\t\t\t\t}\n\t\t\t\tyield* handle.awaitShutdown;\n\t\t\t}),\n\t\t);\n\t});\n\n/** End-to-end run: builds the substrate Layer stack, provides it to\n * `superviseStackEffect`, applies a quiet Logger by default unless the\n * caller passes one in `opts.loggerLayer`. The returned Effect has\n * type `Effect<void, ..., never>` — all requirements are discharged\n * by the layer stack composed here.\n *\n * Callers that need to capture intermediate state (errors, terminal\n * snapshot, etc.) supply `opts.withinScope` and read off the\n * supervisor handle directly. */\nexport interface RunStackEffectOptions<\n\tR = Scope.Scope,\n\tExtendR = never,\n\tHookE = never,\n> extends SuperviseStackOptions<R, ExtendR, HookE> {\n\treadonly runtimeRoot: string;\n\treadonly loggerLayer?: Layer.Layer<never>;\n}\n\nexport const runStackEffect = <R = Scope.Scope, ExtendR = never, HookE = never>(\n\tstack: SupervisedStack,\n\tidentity: Identity,\n\topts: RunStackEffectOptions<R, ExtendR, HookE>,\n) => {\n\tconst substrate = buildSubstrateLayers(identity, opts.runtimeRoot);\n\tconst program = Effect.gen(function* () {\n\t\tconst state = yield* makeProjectionRef();\n\t\tyield* superviseStackEffect(stack, identity, state, opts);\n\t});\n\n\treturn program.pipe(\n\t\tEffect.provide(substrate),\n\t\tEffect.provide(opts.loggerLayer ?? EffectLogger.layer([])),\n\t);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEA,MAAa,wBAAwB,UAAoB,gBAAwB;CAIhF,MAAM,6BACL,MAAM,OACL,eACA,OAAO,IAAI,aAAa;AACvB,SAAO,OAAO;GACb,CACF;CAEF,MAAM,eAAe,MAAM,SAC1B,cAAc,SAAS,EACvB,iBAAiB,YAAY,EAC7B,SAAS,OACT,eAAe,OACf,wBACA,yBACA,sBACA;CAED,MAAM,2BAA2B,wBAAwB,MAAM,KAC9D,MAAM,aAAa,aAAa,CAChC;CACD,MAAM,iBAAiB,gBAAgB,KAAK,MAAM,aAAa,yBAAyB,CAAC;CACzF,MAAM,YAAY,WAAW,KAAK,MAAM,aAAa,eAAe,CAAC;CACrE,MAAM,wBAAwB,uBAAuB,KAAK,MAAM,aAAa,UAAU,CAAC;CACxF,MAAM,iBAAiB,gBAAgB,KAAK,MAAM,aAAa,sBAAsB,CAAC;CACtF,MAAM,kBAAkB,iBAAiB,KAAK,MAAM,aAAa,eAAe,CAAC;CACjF,MAAM,qBAAqB,2BAA2B,KAAK,MAAM,aAAa,gBAAgB,CAAC;CAC/F,MAAM,uBAAuB,4BAA4B,KACxD,MAAM,aAAa,mBAAmB,CACtC;CACD,MAAM,uBAAuB,sBAAsB,KAAK,MAAM,aAAa,qBAAqB,CAAC;AACjG,QAAO,YAAY,KAAK,MAAM,aAAa,qBAAqB,CAAC;;;;;;;AAQlE,MAAM,2BAeL,OAAO,IAAI,aAAa;CACvB,MAAM,cAAc,OAAO;CAC3B,MAAM,sBAAsB,OAAO;CACnC,MAAM,aAAa,OAAO;CAC1B,MAAM,QAAQ,OAAO;CACrB,MAAM,WAAW,OAAO;CACxB,MAAM,mBAAmB,OAAO;CAChC,MAAM,YAAY,OAAO;CACzB,MAAM,aAAa,OAAO;CAC1B,MAAM,cAAc,OAAO;CAC3B,MAAM,mBAAmB,OAAO;CAChC,MAAM,SAAS,OAAOA;AAEtB,QAAO,QAAQ,OAAO,CAAC,KACtB,QAAQ,IAAI,iBAAiB,YAAY,EACzC,QAAQ,IAAI,aAAa,oBAAoB,EAC7C,QAAQ,IAAI,mBAAmB,WAAW,EAC1C,QAAQ,IAAI,cAAc,MAAM,EAChC,QAAQ,IAAI,yBAAyB,SAAS,EAC9C,QAAQ,IAAI,yBAAyB,iBAAiB,EACtD,QAAQ,IAAI,0BAA0B,UAAU,EAChD,QAAQ,IAAI,mBAAmB,WAAW,EAC1C,QAAQ,IAAI,oBAAoB,YAAY,EAC5C,QAAQ,IAAI,yBAAyB,iBAAiB,EACtD,QAAQ,IAAIA,UAAQ,OAAO,CAC3B;EACA;;;;;AAiCH,MAAa,wBACZ,OACA,UACA,OACA,OAAiD,EAAE,KAEnD,OAAO,IAAI,aAAa;AACvB,QAAO,OAAO,OAAO,OACpB,OAAO,IAAI,aAAa;EACvB,MAAM,cAAc,OAAO,oBAAoB;EAI/C,MAAM,UAAU,OAAO,gBACtB,OACA,UACA,OALA,KAAK,kBAAkB,KAAA,IAAY,cAAc,OAAO,KAAK,cAAc,YAAY,EAOvF,KAAK,qBAAqB,EAAE,EAC5B,KAAK,gBACL,KAAK,iBACL,EAAE,aAAa,KAAK,aAAa,YAAY,CAC7C;EACD,MAAM,EAAE,WAAW;AACnB,MAAI,KAAK,yBAAyB,KAAA,EACjC,QAAO,KAAK,qBAAqB,OAAO;AAEzC,MAAI,KAAK,aAAa,YAAY;AACjC,UAAO,QAAQ;AACf,UAAO,SAAS,QAAQ,OAAO,UAAU,CAAC,GAAG,QAAQ,OAAO,MAAM,MAAM,MAAM,CAAC,CAAC;AAChF,OAAI,KAAK,gBAAgB,KAAA,EACxB,QAAO,KAAK,YAAY,OAAO;AAEhC;;AAMD,OAAI,OAJmB,OAAO,UAC7B,QAAQ,kBAAkB,KAAK,OAAO,GAAG,SAAkB,CAAC,EAC5D,OAAO,cAAc,KAAK,OAAO,GAAG,WAAoB,CAAC,CACzD,MACe,WACf;AAED,MAAI,KAAK,gBAAgB,KAAA,EACxB,QAAO,KAAK,YAAY,OAAO;AAEhC,SAAO,OAAO;GACb,CACF;EACA"}