@fased/fased 0.1.62 → 0.1.64

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 (341) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +38 -30
  3. package/config/dependency-ownership.json +1 -1
  4. package/config/signer-policies/README.md +49 -0
  5. package/config/signer-policies/agent.json.template +32 -0
  6. package/config/signer-policies/mining.json.template +69 -0
  7. package/config/signer-policies/network.json.template +5 -0
  8. package/config/signer-policies/vault.json.template +70 -0
  9. package/config/signer-protocol-v2.json +76 -0
  10. package/config/typescript-noemit-baseline.json +680 -0
  11. package/dist/agents/auth-profiles/store.js +267 -31
  12. package/dist/agents/bash-tools.exec.js +10 -4
  13. package/dist/agents/current-model-catalog.js +3 -3
  14. package/dist/agents/memory-search.js +7 -1
  15. package/dist/agents/model-catalog-access.js +1 -2
  16. package/dist/agents/model-catalog-snapshot.js +1 -1
  17. package/dist/agents/model-catalog-source.js +1 -1
  18. package/dist/agents/model-metadata.js +1 -1
  19. package/dist/agents/model-selection.js +2 -28
  20. package/dist/agents/models-config.providers.js +6 -6
  21. package/dist/agents/pi-embedded-runner/compact.js +15 -7
  22. package/dist/agents/pi-embedded-runner/model.js +1 -1
  23. package/dist/agents/pi-embedded-runner/run/attempt.js +24 -13
  24. package/dist/agents/pi-embedded-runner/run.js +2 -0
  25. package/dist/agents/pi-embedded-runner/tool-split.js +40 -2
  26. package/dist/agents/pi-tool-definition-adapter.js +16 -1
  27. package/dist/agents/pi-tools.js +2 -1
  28. package/dist/agents/sandbox/config.js +1 -1
  29. package/dist/agents/sandbox/context.js +27 -2
  30. package/dist/agents/skills/env-overrides.js +38 -28
  31. package/dist/agents/skills/trust.js +93 -0
  32. package/dist/agents/skills/workspace.js +128 -0
  33. package/dist/agents/skills-clawhub.js +36 -11
  34. package/dist/agents/skills-marketplace-scan.js +49 -0
  35. package/dist/agents/tools/marketplace-offer-draft-tool.js +1 -1
  36. package/dist/agents/tools/mining-tool.js +1 -1
  37. package/dist/agents/tools/session-status-tool.js +1 -1
  38. package/dist/agents/tools/wallet-action-tool.js +172 -36
  39. package/dist/agents/tools/wallet-skill-policy.js +65 -23
  40. package/dist/agents/tools/wallet-tool.js +7 -11
  41. package/dist/auto-reply/reply/directive-handling.fast-lane.js +2 -1
  42. package/dist/auto-reply/reply/directive-handling.impl.js +2 -1
  43. package/dist/auto-reply/reply/directive-handling.model.js +2 -1
  44. package/dist/auto-reply/reply/directive-handling.persist.js +2 -2
  45. package/dist/auto-reply/reply/get-reply-directives-apply.js +2 -0
  46. package/dist/auto-reply/reply/get-reply-inline-actions.js +25 -1
  47. package/dist/auto-reply/reply/model-selection.js +7 -4
  48. package/dist/auto-reply/reply/session-reset-model.js +4 -4
  49. package/dist/brand.js +1 -1
  50. package/dist/build-info.json +3 -3
  51. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  52. package/dist/channel-web.js +2 -2
  53. package/dist/cli/gateway-cli/run.js +8 -0
  54. package/dist/cli/program/command-registry.js +1 -1
  55. package/dist/cli/program/register.onboard.js +2 -3
  56. package/dist/cli/program/register.wallet.js +16 -123
  57. package/dist/cli/providers-cli.js +1 -1
  58. package/dist/cli/sat-cli.js +129 -2
  59. package/dist/cli/update-cli/update-command.js +260 -11
  60. package/dist/commands/auth-choice.apply.api-providers.js +3 -3
  61. package/dist/commands/doctor-config-flow.js +1 -1
  62. package/dist/commands/doctor-legacy-config.js +2 -13
  63. package/dist/commands/model-picker.js +6 -6
  64. package/dist/commands/models/auth.js +1 -1
  65. package/dist/commands/onboard-auth.config-gateways.js +1 -1
  66. package/dist/commands/onboard-auth.credentials.js +32 -8
  67. package/dist/commands/onboard-non-interactive/local/wallet-config.js +28 -27
  68. package/dist/commands/onboard-non-interactive/local.js +5 -1
  69. package/dist/commands/wallet.js +568 -1911
  70. package/dist/config/config.js +2 -2
  71. package/dist/config/io.js +64 -2
  72. package/dist/config/schema.help.js +8 -7
  73. package/dist/config/schema.labels.js +5 -4
  74. package/dist/config/zod-schema.agent-runtime.js +1 -0
  75. package/dist/config/zod-schema.js +5 -0
  76. package/dist/control-ui/assets/{app-DLil9VO1.js → app-bR-fO5ty.js} +1511 -1555
  77. package/dist/control-ui/assets/{config-CU5Zi8Dh.js → config-LeImukCW.js} +10 -10
  78. package/dist/control-ui/assets/{federation-D10Q4eP_.js → federation-DgA9e-Pn.js} +364 -422
  79. package/dist/control-ui/assets/{index-DdE_NIXo.js → index-ckCxHwjy.js} +3 -3
  80. package/dist/control-ui/assets/{mining-BdhMn18r.js → mining-BgHFh0ei.js} +134 -114
  81. package/dist/control-ui/assets/mining-commit-DFpB_4JN.js +2 -0
  82. package/dist/control-ui/assets/{open-external-url-DwSiwMPl.js → open-external-url-ulF1B-sA.js} +3 -3
  83. package/dist/control-ui/assets/{providers-QMn4w2_f.js → providers-CIx9fxc6.js} +2 -2
  84. package/dist/control-ui/assets/{wallet-C2g294QT.js → wallet-DvStR_AT.js} +259 -377
  85. package/dist/control-ui/index.html +1 -1
  86. package/dist/control-ui/version.json +1 -1
  87. package/dist/daemon/systemd-system.js +56 -50
  88. package/dist/extensions/sat-mining/src/protocol-contract.js +43 -3
  89. package/dist/extensions/sat-mining/src/rpc-read.js +235 -67
  90. package/dist/extensions/sat-mining/src/sat-bond-layout.js +5 -2
  91. package/dist/extensions/sat-mining/src/signer-codec-manifest.js +406 -0
  92. package/dist/extensions/sat-mining/src/solana-submit.js +1038 -397
  93. package/dist/extensions/sat-mining/src/submission-ledger.js +349 -0
  94. package/dist/federation/auto-connect.js +98 -8
  95. package/dist/federation/marketplace-capability-adapter.js +33 -7
  96. package/dist/federation/marketplace-delivery-outbox.js +196 -0
  97. package/dist/federation/marketplace-delivery.js +351 -215
  98. package/dist/federation/marketplace-direct-payment.js +272 -141
  99. package/dist/federation/marketplace-escrow.js +607 -249
  100. package/dist/federation/marketplace-settlement-ledger.js +352 -0
  101. package/dist/federation/offers.js +9 -7
  102. package/dist/federation/peer-auth-v2.js +529 -0
  103. package/dist/gateway/a2a-http.js +425 -96
  104. package/dist/gateway/a2a-settlement.js +259 -153
  105. package/dist/gateway/a2a-task-store.js +524 -0
  106. package/dist/gateway/auth.js +38 -2
  107. package/dist/gateway/config-reload.js +46 -33
  108. package/dist/gateway/durable-capacity.js +31 -0
  109. package/dist/gateway/federation-http.js +540 -135
  110. package/dist/gateway/federation-marketplace-run-store.js +397 -0
  111. package/dist/gateway/federation-marketplace.js +535 -230
  112. package/dist/gateway/mutating-admin-rpc-rate-limit.js +5 -0
  113. package/dist/gateway/security-path.js +1 -1
  114. package/dist/gateway/server-http.js +1084 -1205
  115. package/dist/gateway/server-methods/models.js +1 -1
  116. package/dist/gateway/server-methods/secrets.js +40 -0
  117. package/dist/gateway/server-methods.js +1 -2
  118. package/dist/gateway/server-reload-handlers.js +196 -66
  119. package/dist/gateway/server-runtime-config.js +1 -1
  120. package/dist/gateway/server-secrets-runtime.js +288 -0
  121. package/dist/gateway/server.impl.js +73 -42
  122. package/dist/gateway/sessions-patch.js +3 -5
  123. package/dist/index.js +4 -2
  124. package/dist/infra/fasedhub.js +64 -1
  125. package/dist/infra/local-source-paired-update.js +538 -0
  126. package/dist/infra/restart.js +41 -10
  127. package/dist/infra/update-runner.js +96 -0
  128. package/dist/light-update-status.js +11 -11
  129. package/dist/memory/backend-config.js +2 -1
  130. package/dist/memory/session-files.js +16 -2
  131. package/dist/plugin-sdk/{accounts-DxblobYM.js → accounts-Brn3-uWN.js} +1 -1
  132. package/dist/plugin-sdk/{actions-D4UNimWa.js → actions-DRu135h0.js} +2 -2
  133. package/dist/plugin-sdk/{active-listener-CFuy106s.js → active-listener-B_NMtgPL.js} +1 -1
  134. package/dist/plugin-sdk/{audio-preflight-Bwi2Oq03.js → audio-preflight-BYxAt775.js} +27 -27
  135. package/dist/plugin-sdk/{audit-Cs0K7LBp.js → audit-C5d2z5U1.js} +1 -1
  136. package/dist/plugin-sdk/{channel-access-D5aHoTY8.js → channel-access-CcFRdRPO.js} +1 -1
  137. package/dist/plugin-sdk/{channel-access-configure-Dvch9mMQ.js → channel-access-configure-DaI5wevh.js} +1 -1
  138. package/dist/plugin-sdk/channel-plugin-common.d.ts +3 -3
  139. package/dist/plugin-sdk/channel-plugin-common.js +4 -4
  140. package/dist/plugin-sdk/{chunk-B0FUGc5A.js → chunk-CyoyqpbG.js} +1 -1
  141. package/dist/plugin-sdk/{chunk-items-DzT4L4Ty.js → chunk-items-DIRHG2gJ.js} +1 -1
  142. package/dist/plugin-sdk/command-status.d.ts +2 -2
  143. package/dist/plugin-sdk/command-status.js +27 -27
  144. package/dist/plugin-sdk/{commands-registry-DmDRhRAU.js → commands-registry-BfqdEWdF.js} +2 -2
  145. package/dist/plugin-sdk/{common-CfUOowOp.js → common-HCcXU-NR.js} +1 -1
  146. package/dist/plugin-sdk/{config-mxULv0fQ.js → config-DlWVeLFB.js} +7113 -6877
  147. package/dist/plugin-sdk/{config-schema-BrkmtFxB.js → config-schema-BOT7kHb6.js} +6779 -3696
  148. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  149. package/dist/plugin-sdk/discord.d.ts +6 -6
  150. package/dist/plugin-sdk/discord.js +19 -19
  151. package/dist/plugin-sdk/file-lock.js +35 -4
  152. package/dist/plugin-sdk/{filesystem-manager-ZoHU8oA7.js → filesystem-manager-DoI8IBNF.js} +1 -1
  153. package/dist/plugin-sdk/{group-mentions-BHRff6j8.d.ts → group-mentions-q3hUTCt7.d.ts} +1 -1
  154. package/dist/plugin-sdk/{handle-action-DbVCF9HZ.js → handle-action-hvwapMKg.js} +13 -13
  155. package/dist/plugin-sdk/{helpers-BXbdgs5H.js → helpers-DMBU4oTo.js} +1 -1
  156. package/dist/plugin-sdk/{image-ops-D7jPxaph.js → image-ops-DQi0n_Tt.js} +1 -1
  157. package/dist/plugin-sdk/index.d.ts +21 -39
  158. package/dist/plugin-sdk/index.js +29 -29
  159. package/dist/plugin-sdk/{login-BRxww6nv.js → login-Ca583Okc.js} +3 -3
  160. package/dist/plugin-sdk/{login-qr-DJXsk9XH.js → login-qr-CGciBSNP.js} +3 -3
  161. package/dist/plugin-sdk/{manager-Y2S_5IlI.js → manager-BegWxNYX.js} +4 -4
  162. package/dist/plugin-sdk/{markdown-tables-DHLFQqaF.js → markdown-tables-DCOXEUfZ.js} +1 -1
  163. package/dist/plugin-sdk/{media-Czo4carg.js → media-CAdQF5TG.js} +47 -47
  164. package/dist/plugin-sdk/{memory-search-DTjIMw8J.js → memory-search-CrFPOeTH.js} +4 -1
  165. package/dist/plugin-sdk/{monitor-M_ta2lMc.js → monitor-BCFDaqJ-.js} +31 -31
  166. package/dist/plugin-sdk/{monitor-wYVncM9w.js → monitor-BgbjRiPM.js} +32 -32
  167. package/dist/plugin-sdk/{openresponses-http-B2GmeSt4.js → openresponses-http-DFf87SMM.js} +27 -27
  168. package/dist/plugin-sdk/{optional-runtime-dependency-DdMbxS24.js → optional-runtime-dependency-0dznm3ZO.js} +1 -1
  169. package/dist/plugin-sdk/{outbound-Db8mRN6P.js → outbound-BgVDdHxx.js} +6 -6
  170. package/dist/plugin-sdk/{outbound-attachment-BqFjcypb.js → outbound-attachment-QqTnIhZL.js} +2 -2
  171. package/dist/plugin-sdk/{pairing-message-B3bHYGaw.d.ts → pairing-message-CS-9BHug.d.ts} +2 -2
  172. package/dist/plugin-sdk/{pairing-message-B3GC_7CD.js → pairing-message-D0CoLHRJ.js} +1 -1
  173. package/dist/plugin-sdk/{pairing-store-CQikgIbw.js → pairing-store-BChahgI2.js} +2 -2
  174. package/dist/plugin-sdk/{pi-model-discovery-CY3m5zJP.js → pi-model-discovery-BX_JLcEJ.js} +1 -1
  175. package/dist/plugin-sdk/{pi-model-discovery-runtime-DSh1T2pn.js → pi-model-discovery-runtime-DxTMz_XF.js} +2 -2
  176. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +2 -2
  177. package/dist/plugin-sdk/{pw-ai-AFUqn-tQ.js → pw-ai-natjh3rm.js} +3 -3
  178. package/dist/plugin-sdk/{qmd-manager-DSyx77KY.js → qmd-manager-CgRaTxUq.js} +1 -1
  179. package/dist/plugin-sdk/{query-expansion-CAI2kKLQ.js → query-expansion-BG3FgzF7.js} +14 -3
  180. package/dist/plugin-sdk/{replies-Fzh9PhXl.js → replies-ChYo5ZQM.js} +2 -2
  181. package/dist/plugin-sdk/{resolve-outbound-target-KpF3co6T.js → resolve-outbound-target-D-KGgHJZ.js} +1 -1
  182. package/dist/plugin-sdk/{resolve-route-CDl74O19.js → resolve-route-C8tvQm8Z.js} +1 -1
  183. package/dist/plugin-sdk/{retry-policy-D4uiqUOG.js → retry-policy-C6SjKjQA.js} +1 -1
  184. package/dist/plugin-sdk/{runtime-Bb6KRnCC.js → runtime-2B9_WKoI.js} +8 -3
  185. package/dist/plugin-sdk/{runtime-dependency-DLDmB94f.js → runtime-dependency-DczkvPxn.js} +2 -2
  186. package/dist/plugin-sdk/sat-runtime.d.ts +549 -309
  187. package/dist/plugin-sdk/sat-runtime.js +29 -29
  188. package/dist/plugin-sdk/{send-C4k4JuJN.js → send-B6KkGKZD.js} +6 -6
  189. package/dist/plugin-sdk/{send-D-uDKGIq.js → send-CFzGKJXo.js} +6 -6
  190. package/dist/plugin-sdk/{send-Du8ykP1k.js → send-DCO441U7.js} +8 -8
  191. package/dist/plugin-sdk/{send-5nFktR1n.js → send-gDoGA-7e.js} +5 -5
  192. package/dist/plugin-sdk/{send-Bfzf11VY.js → send-q9HXrSwK.js} +7 -7
  193. package/dist/plugin-sdk/{session-CS-Td9EM.js → session-DHD4ZKyG.js} +2 -2
  194. package/dist/plugin-sdk/{skill-commands-CFAlXWHk.js → skill-commands-FKEPLS7T.js} +201 -26
  195. package/dist/plugin-sdk/{slack-CxE1mfzj.js → slack-BUTt8cxK.js} +39 -39
  196. package/dist/plugin-sdk/{slack-actions-BcMkNv1Z.js → slack-actions-DhbMcp8M.js} +11 -11
  197. package/dist/plugin-sdk/slack.d.ts +6 -6
  198. package/dist/plugin-sdk/slack.js +9 -9
  199. package/dist/plugin-sdk/{sticker-cache-CGzGWu00.js → sticker-cache-D0wHVqjt.js} +3 -3
  200. package/dist/plugin-sdk/{tables-bFXyRpkx.js → tables-B3jr0Pvq.js} +1 -1
  201. package/dist/plugin-sdk/{targets-DH7a9lKB.js → targets-CtSbTxYX.js} +1 -1
  202. package/dist/plugin-sdk/{telegram-actions-DaEcYQ8r.js → telegram-actions-CC_qN4v0.js} +30 -30
  203. package/dist/plugin-sdk/telegram.d.ts +6 -6
  204. package/dist/plugin-sdk/telegram.js +8 -8
  205. package/dist/plugin-sdk/{thread-bindings.lifecycle-CgOvvdw8.js → thread-bindings.lifecycle-QbkNl-m6.js} +3 -3
  206. package/dist/plugin-sdk/{thread-bindings.state-CQpk44Hq.js → thread-bindings.state-D9hg_M1c.js} +2 -2
  207. package/dist/plugin-sdk/tmp-fased-dir-xOTGlzBE.d.ts +486 -0
  208. package/dist/plugin-sdk/{types-vcJrC_uv.d.ts → types-C3avNytw.d.ts} +3 -4
  209. package/dist/plugin-sdk/{types-DyhXnYUr.d.ts → types-D0kDG8l0.d.ts} +3 -2
  210. package/dist/plugin-sdk/{types-DFAW-n1J.d.ts → types-DWfbSAaM.d.ts} +2 -2
  211. package/dist/plugin-sdk/{types.plugin-_fbu40Re.d.ts → types.plugin-BcSBq42x.d.ts} +8 -3
  212. package/dist/plugin-sdk/{web-CInY-lCv.js → web-BXsJ1vqe.js} +32 -32
  213. package/dist/plugin-sdk/{whatsapp-actions-BtSc2CBv.js → whatsapp-actions-Bj_rOncr.js} +13 -13
  214. package/dist/plugin-sdk/{whatsapp-heartbeat-Bg9TuYzl.js → whatsapp-heartbeat-B1WHkJIg.js} +2 -2
  215. package/dist/plugin-sdk/whatsapp.d.ts +13 -13
  216. package/dist/plugin-sdk/whatsapp.js +12 -12
  217. package/dist/plugin-sdk/{wsl-C4DGFkOd.js → wsl-J-HscWxS.js} +3 -3
  218. package/dist/plugin-sdk/{zod-schema.providers-core-BEbNizPe.d.ts → zod-schema.providers-core-CIzCjXH9.d.ts} +61 -61
  219. package/dist/providers/refresh.js +1 -1
  220. package/dist/providers/registry.js +1 -1
  221. package/dist/secrets/apply.js +1 -1
  222. package/dist/secrets/runtime.js +1 -1
  223. package/dist/wallet/external-submission-ledger.js +376 -0
  224. package/dist/wallet/legacy-embedded-keystore.js +40 -0
  225. package/dist/wallet/local-socket-signer-archive.js +30 -0
  226. package/dist/wallet/local-socket-signer-lifecycle.js +97 -0
  227. package/dist/wallet/local-socket-signer-policy.js +166 -0
  228. package/dist/wallet/local-socket-signer-protocol.js +561 -118
  229. package/dist/wallet/native-signer-wallet-id.js +25 -0
  230. package/dist/wallet/providers/alchemy-adapter.js +3 -0
  231. package/dist/wallet/providers/local-socket-signer-adapter.js +380 -105
  232. package/dist/wallet/providers/turnkey-adapter.js +292 -34
  233. package/dist/wallet/providers/wallet-standard-adapter.js +100 -0
  234. package/dist/wallet/signer-network-admin.js +184 -0
  235. package/dist/wallet/signer-protocol-v2.generated.js +90 -0
  236. package/dist/wallet/solana-bond-signing.js +157 -69
  237. package/dist/wallet/solana-reviewed-transaction.js +375 -0
  238. package/dist/wallet/solana-swap.js +520 -64
  239. package/dist/wallet/solana-transaction-inspection.js +106 -4
  240. package/dist/wallet/solana-trigger.js +658 -320
  241. package/dist/wallet/turnkey-reviewed-state.js +370 -0
  242. package/dist/wallet/wallet-approval-auth.js +17 -28
  243. package/dist/wallet/wallet-atomic-state.js +53 -0
  244. package/dist/wallet/wallet-canary.js +0 -1
  245. package/dist/wallet/wallet-inbound-events.js +16 -11
  246. package/dist/wallet/wallet-policy-simulation.js +1 -1
  247. package/dist/wallet/wallet-policy.js +90 -36
  248. package/dist/wallet/wallet-provider-capabilities.js +28 -4
  249. package/dist/wallet/wallet-provider-registry.js +57 -44
  250. package/dist/wallet/wallet-provider-resolver.js +62 -63
  251. package/dist/wallet/wallet-runtime-config.js +28 -41
  252. package/dist/wallet/wallet-secrets-store.js +22 -0
  253. package/dist/wallet/wallet-send-approvals.js +1891 -589
  254. package/dist/wallet/wallet-send-execution-ledger.js +292 -0
  255. package/dist/wallet/wallet-settlement-links.js +14 -13
  256. package/dist/wallet/wallet-standard-review.js +353 -0
  257. package/dist/wallet/wallet-status.js +0 -9
  258. package/dist/wallet/wallet-task-ledger.js +16 -2
  259. package/dist/web/auto-reply/heartbeat-runner.js +1 -1
  260. package/dist/web/auto-reply/monitor.js +2 -2
  261. package/dist/wizard/host-security-capability.js +14 -23
  262. package/dist/wizard/onboarding.finalize.js +63 -184
  263. package/dist/wizard/onboarding.host-security.js +117 -1367
  264. package/dist/wizard/onboarding.js +172 -217
  265. package/dist/wizard/onboarding.wallet.js +232 -785
  266. package/extensions/acpx/package.json +1 -1
  267. package/extensions/bluebubbles/package.json +1 -1
  268. package/extensions/copilot-proxy/package.json +1 -1
  269. package/extensions/diagnostics-otel/package.json +1 -1
  270. package/extensions/fased-federation/package.json +1 -1
  271. package/extensions/google-gemini-cli-auth/package.json +1 -1
  272. package/extensions/imessage/package.json +1 -1
  273. package/extensions/irc/package.json +1 -1
  274. package/extensions/line/package.json +1 -1
  275. package/extensions/llm-task/package.json +1 -1
  276. package/extensions/lobster/package.json +1 -1
  277. package/extensions/matrix/CHANGELOG.md +12 -0
  278. package/extensions/matrix/package.json +1 -1
  279. package/extensions/mattermost/package.json +1 -1
  280. package/extensions/memory-core/package.json +2 -2
  281. package/extensions/memory-lancedb/package.json +1 -1
  282. package/extensions/minimax-portal-auth/package.json +1 -1
  283. package/extensions/msteams/CHANGELOG.md +12 -0
  284. package/extensions/msteams/package.json +1 -1
  285. package/extensions/nextcloud-talk/package.json +1 -1
  286. package/extensions/nostr/CHANGELOG.md +12 -0
  287. package/extensions/nostr/package.json +1 -1
  288. package/extensions/open-prose/package.json +1 -1
  289. package/extensions/sat-mining/index.ts +498 -153
  290. package/extensions/sat-mining/package.json +1 -1
  291. package/extensions/sat-mining/signer-codec-schema.v1.json +374 -0
  292. package/extensions/sat-mining/src/audit-store.ts +50 -5
  293. package/extensions/sat-mining/src/claim-service.ts +85 -14
  294. package/extensions/sat-mining/src/config.ts +9 -0
  295. package/extensions/sat-mining/src/cycle-progress.ts +16 -8
  296. package/extensions/sat-mining/src/epoch-service.ts +9 -5
  297. package/extensions/sat-mining/src/gateway-runner.ts +21 -1
  298. package/extensions/sat-mining/src/protocol-contract.ts +45 -1
  299. package/extensions/sat-mining/src/recovery-service.ts +312 -0
  300. package/extensions/sat-mining/src/round-watcher.ts +391 -81
  301. package/extensions/sat-mining/src/rpc-read.ts +330 -89
  302. package/extensions/sat-mining/src/runtime.ts +14 -0
  303. package/extensions/sat-mining/src/sat-bond-layout.ts +6 -0
  304. package/extensions/sat-mining/src/signer-codec-manifest.ts +429 -0
  305. package/extensions/sat-mining/src/solana-submit.ts +1199 -428
  306. package/extensions/sat-mining/src/submission-ledger.ts +433 -0
  307. package/extensions/signal/package.json +1 -1
  308. package/extensions/synology-chat/package.json +1 -1
  309. package/extensions/tlon/package.json +1 -1
  310. package/extensions/twitch/CHANGELOG.md +12 -0
  311. package/extensions/twitch/package.json +1 -1
  312. package/extensions/voice-call/CHANGELOG.md +12 -0
  313. package/extensions/voice-call/package.json +1 -1
  314. package/extensions/zalo/CHANGELOG.md +12 -0
  315. package/extensions/zalo/package.json +1 -1
  316. package/extensions/zalouser/CHANGELOG.md +12 -0
  317. package/extensions/zalouser/package.json +1 -1
  318. package/install.sh +4955 -0
  319. package/package.json +23 -5
  320. package/scripts/fased-host-updater.mjs +1421 -0
  321. package/scripts/fased-host-updaterctl.mjs +186 -0
  322. package/scripts/fased-managed-service.sh +36 -0
  323. package/scripts/fased-managed-updater.mjs +3065 -156
  324. package/scripts/fased-signer-enroll-hosting.sh +275 -0
  325. package/scripts/fased-signer-network-hosting.sh +143 -0
  326. package/scripts/fased-signer-owner-policy.mjs +1430 -0
  327. package/scripts/fased-signer-policy-hosting.sh +50 -0
  328. package/scripts/fased-signer-policy-local.sh +26 -0
  329. package/scripts/hosted-release-manifest.mjs +185 -0
  330. package/scripts/install-fased-signerd.sh +183 -108
  331. package/scripts/install-managed-runtime.mjs +212 -10
  332. package/scripts/managed-runtime-layout.mjs +75 -3
  333. package/scripts/migrate-hosted-signer-v2.mjs +58 -0
  334. package/scripts/start-managed.sh +169 -360
  335. package/dist/control-ui/assets/mining-commit-R-6nu87p.js +0 -2
  336. package/dist/plugin-sdk/tmp-fased-dir-CS6zsYEE.d.ts +0 -77
  337. package/dist/wallet/local-socket-signer-broker.js +0 -224
  338. package/dist/wallet/local-socket-signer-custody.js +0 -42
  339. package/dist/wallet/providers/embedded-keystore-adapter.js +0 -402
  340. package/dist/wallet/providers/privy-adapter.js +0 -80
  341. package/dist/wallet/wallet-custody.js +0 -1836
@@ -1,4 +1,4 @@
1
- import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as a,l as o,n as s,o as c,r as l,s as u,t as d}from"./marketplace-order-evidence-DkR0ZRHa.js";import{n as f}from"./task-ledger-source-route-C-yTp0QU.js";function p(e,t){let n=String(t??``).trim();if(n)return(e??[]).find(e=>e.id===n)}function m(e){let t=(typeof e?.metadata?.purpose==`string`?e.metadata.purpose:typeof e?.metadata?.role==`string`?e.metadata.role:``).trim().toLowerCase();return t===`agent`||t===`vault`||t===`mining`?t:void 0}function h(e){let t=e.walletStatus?.approvalAuth?.passkeyCount??0,n=e.walletStatus?.approvalAuth?.mode??`none`,r=e.walletStatus?.approvalAuth?.ready??!1,i=String(e.defaultWalletId??``).trim()||null,a=p(e.walletNamedWallets,i),o=a&&m(a)!==`vault`?a:void 0,s=(e.walletNamedWallets??[]).find(e=>m(e)===`agent`),c=o??s,l=String(e.miningAttachedWalletId??``).trim()||null,u=p(e.walletNamedWallets,l),d=String(e.federationBondWalletId??``).trim()||null,f=p(e.walletNamedWallets,d)??(e.walletNamedWallets??[]).find(e=>m(e)===`vault`&&e.id!==l),h=e.joined===!0,g=e.trustState??`pending`,_=e.hostedState??`disabled`,ee=String(e.publicUrl??``).trim(),v=!!l&&!!c&&String(c?.id??``).trim()!==l,y=c&&u&&c.id===u.id?`Agent and Mining wallets must stay separate. They currently share one wallet, so switch the Agent wallet or reattach Mining to another wallet first.`:null;return[e.walletStatus?n===`webauthn`&&r?{title:`Wallet Control Passkey ready`,summary:t>0?`Passkey approval ready (${t})`:`Passkey approval ready`,detail:`Use this passkey for send approvals, policy changes, wallet security setup, unlock, recovery, and device changes.`,tone:`success`}:n===`webauthn`?{title:`Wallet Control Passkey ready`,summary:`Passkey setup incomplete`,detail:`Control operations are available, but finish passkey approval before trusting higher-risk wallet automation.`,tone:`warn`}:{title:`Wallet Control Passkey ready`,summary:`Session-based control path`,detail:`Control operations currently rely on the signed-in session. Add Wallet Control Passkey before enabling wallet security.`,tone:`warn`}:{title:`Wallet Control Passkey ready`,summary:`Wallet control state unavailable`,detail:`Refresh the wallet surface before changing operator roles.`,tone:`neutral`},c?{title:`Agent wallet set`,summary:o&&s&&o.id!==s.id?`${o.name} · ${s.name}`:c.name,detail:o?`This primary Agent wallet handles paid A2A sends, payment evidence publication, skill/plugin wallet actions, and routine transfers when no explicit @wallet handle is supplied.`:`This Agent wallet can be selected by explicit @wallet handle. Set it as primary if it should be the fallback when no handle is supplied.`,tone:`success`}:i?{title:`Agent wallet set`,summary:i,detail:`An Agent wallet is configured but not present in this wallet list right now. Refresh or repair the registry before paid Fased Network or skill wallet work.`,tone:`warn`}:{title:`Agent wallet set`,summary:`Not set`,detail:`Pick one Agent wallet before paid Fased Network tasks, receipts, skill wallet actions, or routine sends use a clear wallet.`,tone:`warn`},l?y?{title:`Mining wallet separate`,summary:`Conflict`,detail:y,tone:`warn`}:u?{title:`Mining wallet separate`,summary:v?u.name:`Attached`,detail:v?`Mining is attached to a dedicated wallet, separate from the Agent wallet.`:`Mining wallet is present but could not be compared against the Agent wallet yet.`,tone:v?`success`:`neutral`}:{title:`Mining wallet separate`,summary:l,detail:`SAT runtime points at a wallet id that is not visible in the current wallet list. Refresh mining and wallet state before changing roles.`,tone:`warn`}:{title:`Mining wallet separate`,summary:`Optional and not configured`,detail:`Mining is optional. If you enable it later, create or import the singleton @wallet:mining wallet.`,tone:`neutral`},f?{title:`Vault wallet present`,summary:f.name,detail:`Use this as the manual-first destination for longer-term SAT/SOL storage and mining sweeps.`,tone:`success`}:{title:`Vault wallet present`,summary:`Not set`,detail:`Create or reserve a wallet that is not Agent or SAT Mining if you want a manual-first vault destination.`,tone:`neutral`},h?g===`verified`?{title:`Fased Network joined / trusted`,summary:`Verified`,detail:`This node is joined and currently trusted for normal Fased Network routing.`,tone:`success`}:{title:`Fased Network joined / trusted`,summary:g,detail:g===`pending`?`This node is joined, but Fased Network currently holds it in a manual or policy pending state.`:`This node is joined, but its trust state limits or blocks Fased Network use.`,tone:`warn`}:{title:`Fased Network joined / trusted`,summary:`Not joined`,detail:`Register a handle and attest this node before expecting Fased Network trust or remote task routing.`,tone:`warn`},_===`ready`&&ee?{title:`Fased Network reachability state`,summary:`Ready`,detail:`Public URL is issued: ${ee}`,tone:`success`}:_===`pending`?{title:`Fased Network reachability state`,summary:`Pending`,detail:`Hosted token state is present, but the public URL or hosted issuance is still pending.`,tone:`warn`}:{title:`Fased Network reachability state`,summary:_===`missing`?`Missing`:`Disabled`,detail:_===`missing`?`Fased Network reachability expects credentials or issued state, but they are missing on this node.`:`Fased Network reachability is optional and currently not enabled on this node.`,tone:_===`missing`?`warn`:`neutral`}]}function g(e){let t=e.status?.token??null,n=e.managedMode?t:e.token,r=n?.trustState??`pending`,i=n?.hostedState??`disabled`,a=String(n?.publicUrl??``).trim(),o=e.managedMode?e.status?.joined===!0&&!!t:!!e.token,s=String(e.miningAttachedWalletId||e.miningProfile?.walletId||e.miningStatus?.walletId||e.miningReadiness?.selectedWalletId||``).trim()||null;return h({walletStatus:e.walletStatus?{approvalAuth:{mode:e.walletStatus.approvalAuth?.mode,ready:e.walletStatus.approvalAuth?.ready,passkeyCount:e.walletStatus.approvalAuth?.passkeyCount}}:null,walletNamedWallets:e.walletNamedWallets.map(e=>({id:e.id,name:e.name})),defaultWalletId:e.defaultWalletId,miningAttachedWalletId:s,joined:o,trustState:r,hostedState:i,publicUrl:a}).map(e=>({...e,actionLabel:e.title===`Wallet Control Passkey ready`?`Open Wallet Access`:e.title===`Agent wallet set`?`Set Agent`:e.title===`Mining wallet separate`?`Open Mining`:e.title===`Fased Network joined / trusted`?`Open Fased Network review`:void 0,actionKey:e.title===`Wallet Control Passkey ready`?`admin`:e.title===`Agent wallet set`?`payment`:e.title===`Mining wallet separate`?`mining`:e.title===`Fased Network joined / trusted`?`federation-review`:void 0}))}var _=[`USDC`,`SOL`,`SAT`,`FCOD`],ee=[{value:`per-job`,label:`Per job`,description:`One fixed task or deliverable.`},{value:`per-hour`,label:`Per hour`,description:`Time-based human or hybrid service.`},{value:`per-api-call`,label:`Per API call`,description:`Metered API or tool access.`},{value:`per-1k-rows`,label:`Per 1k rows`,description:`Dataset, labeling, or enrichment volume.`},{value:`per-day`,label:`Per day`,description:`Daily feed, monitor, or recurring task.`},{value:`per-month`,label:`Per month`,description:`Subscription, hosting, or operator service.`},{value:`custom`,label:`Custom`,description:`Terms are explained in the listing.`}],v=[{value:`agent-approval`,label:`Agent + approval`,description:`Agent prepares/runs work under operator approval.`},{value:`agent`,label:`Agent automated`,description:`Agent delivers inside explicit automation policy.`},{value:`api`,label:`API`,description:`Buyer receives an API response, token, webhook, or metered endpoint.`},{value:`dataset`,label:`Dataset`,description:`Buyer receives rows, files, exports, labels, or artifacts.`},{value:`human`,label:`Human`,description:`Manual human service with marketplace receipt tracking.`},{value:`hybrid`,label:`Hybrid`,description:`Agent assists and human reviews before final delivery.`}],y=[{value:`agent-wallet`,label:`Agent wallet`,description:`Buyer pays from Agent wallet; seller settles to Agent wallet.`},{value:`escrow`,label:`Escrow`,description:`Future held payment before release after delivery.`},{value:`invoice`,label:`Invoice`,description:`Seller issues invoice and buyer records receipt.`},{value:`subscription`,label:`Subscription`,description:`Recurring access or feed billing.`},{value:`api-metered`,label:`Metered API`,description:`Usage-counted API or data service.`}],b=1e3*60*60*24*7;function x(e){let t=e?.trim()??``;if(!t)return!1;try{let e=new URL(t);return e.hostname===`127.0.0.1`||e.hostname===`localhost`||e.hostname===`::1`||e.hostname===`0.0.0.0`}catch{return!1}}function te(e){let t=String(e.status??``).trim().toLowerCase();if(t!==`pending`&&t!==`unverified`||e.reviewedAt||e.reviewReason||!x(e.endpoint))return!1;let n=Date.parse(e.lastSeenAt??``);return Number.isFinite(n)?Date.now()-n>b:!1}function ne(e){let t=Date.parse(e.reviewedAt??``);if(Number.isFinite(t))return t;let n=Date.parse(e.lastSeenAt??``);return Number.isFinite(n)?n:0}function S(e){let t=e?.hostedProbe;return!t||t.state!==`broken`?null:`Hosted public URL is broken right now${t.reason?`: ${t.reason}`:`.`}`}function re(e){let t=String(e??``).trim();return/HTTP 5\d{2}\b/i.test(t)&&/\bfrom\b/i.test(t)}function ie(n){let r=n.reviewSummary,i=n.disputeSummary,a=n.sellerLane,o=D(n.offer),s=ue(n),c=ce(n.offer);return!a&&!r&&!i&&o===`Manual`&&!s&&!c?t:e`
1
+ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as a,l as o,n as s,o as c,r as l,s as u,t as d}from"./marketplace-order-evidence-DkR0ZRHa.js";import{n as f}from"./task-ledger-source-route-C-yTp0QU.js";function p(e,t){let n=String(t??``).trim();if(n)return(e??[]).find(e=>e.id===n)}function m(e){let t=(typeof e?.metadata?.purpose==`string`?e.metadata.purpose:typeof e?.metadata?.role==`string`?e.metadata.role:``).trim().toLowerCase();return t===`agent`||t===`vault`||t===`mining`?t:void 0}function h(e){let t=e.walletStatus?.approvalAuth?.passkeyCount??0,n=e.walletStatus?.approvalAuth?.mode??`none`,r=e.walletStatus?.approvalAuth?.ready??!1,i=String(e.defaultWalletId??``).trim()||null,a=p(e.walletNamedWallets,i),o=a&&m(a)!==`vault`?a:void 0,s=(e.walletNamedWallets??[]).find(e=>m(e)===`agent`),c=o??s,l=String(e.miningAttachedWalletId??``).trim()||null,u=p(e.walletNamedWallets,l),d=String(e.federationBondWalletId??``).trim()||null,f=p(e.walletNamedWallets,d)??(e.walletNamedWallets??[]).find(e=>m(e)===`vault`&&e.id!==l),h=e.joined===!0,g=e.trustState??`pending`,_=e.hostedState??`disabled`,ee=String(e.publicUrl??``).trim(),v=!!l&&!!c&&String(c?.id??``).trim()!==l,y=c&&u&&c.id===u.id?`Agent and Mining wallets must stay separate. They currently share one wallet, so switch the Agent wallet or reattach Mining to another wallet first.`:null;return[e.walletStatus?n===`webauthn`&&r?{title:`Wallet Control Passkey ready`,summary:t>0?`Passkey approval ready (${t})`:`Passkey approval ready`,detail:`Use this passkey for send approvals, policy changes, wallet security setup, unlock, recovery, and device changes.`,tone:`success`}:n===`webauthn`?{title:`Wallet Control Passkey ready`,summary:`Passkey setup incomplete`,detail:`Control operations are available, but finish passkey approval before trusting higher-risk wallet automation.`,tone:`warn`}:{title:`Wallet Control Passkey ready`,summary:`Session-based control path`,detail:`Control operations currently rely on the signed-in session. Add Wallet Control Passkey before enabling wallet security.`,tone:`warn`}:{title:`Wallet Control Passkey ready`,summary:`Wallet control state unavailable`,detail:`Refresh the wallet surface before changing operator roles.`,tone:`neutral`},c?{title:`Agent wallet set`,summary:o&&s&&o.id!==s.id?`${o.name} · ${s.name}`:c.name,detail:o?`This primary Agent wallet handles paid A2A sends, payment evidence publication, skill/plugin wallet actions, and routine transfers when no explicit @wallet handle is supplied.`:`This Agent wallet can be selected by explicit @wallet handle. Set it as primary if it should be the fallback when no handle is supplied.`,tone:`success`}:i?{title:`Agent wallet set`,summary:i,detail:`An Agent wallet is configured but not present in this wallet list right now. Refresh or repair the registry before paid Fased Network or skill wallet work.`,tone:`warn`}:{title:`Agent wallet set`,summary:`Not set`,detail:`Pick one Agent wallet before paid Fased Network tasks, receipts, skill wallet actions, or routine sends use a clear wallet.`,tone:`warn`},l?y?{title:`Mining wallet separate`,summary:`Conflict`,detail:y,tone:`warn`}:u?{title:`Mining wallet separate`,summary:v?u.name:`Attached`,detail:v?`Mining is attached to a dedicated wallet, separate from the Agent wallet.`:`Mining wallet is present but could not be compared against the Agent wallet yet.`,tone:v?`success`:`neutral`}:{title:`Mining wallet separate`,summary:l,detail:`SAT runtime points at a wallet id that is not visible in the current wallet list. Refresh mining and wallet state before changing roles.`,tone:`warn`}:{title:`Mining wallet separate`,summary:`Optional and not configured`,detail:`Mining is optional. If you enable it later, create or import the singleton @wallet:mining wallet.`,tone:`neutral`},f?{title:`Vault wallet present`,summary:f.name,detail:`Use this as the manual-first destination for longer-term SAT/SOL storage and mining sweeps.`,tone:`success`}:{title:`Vault wallet present`,summary:`Not set`,detail:`Create or reserve a wallet that is not Agent or SAT Mining if you want a manual-first vault destination.`,tone:`neutral`},h?g===`verified`?{title:`Fased Network joined / trusted`,summary:`Verified`,detail:`This node is joined and currently trusted for normal Fased Network routing.`,tone:`success`}:{title:`Fased Network joined / trusted`,summary:g,detail:g===`pending`?`This node is joined, but Fased Network currently holds it in a manual or policy pending state.`:`This node is joined, but its trust state limits or blocks Fased Network use.`,tone:`warn`}:{title:`Fased Network joined / trusted`,summary:`Not joined`,detail:`Register a handle and attest this node before expecting Fased Network trust or remote task routing.`,tone:`warn`},_===`ready`&&ee?{title:`Fased Network reachability state`,summary:`Ready`,detail:`Public URL is issued: ${ee}`,tone:`success`}:_===`pending`?{title:`Fased Network reachability state`,summary:`Pending`,detail:`Hosted token state is present, but the public URL or hosted issuance is still pending.`,tone:`warn`}:{title:`Fased Network reachability state`,summary:_===`missing`?`Missing`:`Disabled`,detail:_===`missing`?`Fased Network reachability expects credentials or issued state, but they are missing on this node.`:`Fased Network reachability is optional and currently not enabled on this node.`,tone:_===`missing`?`warn`:`neutral`}]}function g(e){let t=e.status?.token??null,n=e.managedMode?t:e.token,r=n?.trustState??`pending`,i=n?.hostedState??`disabled`,a=String(n?.publicUrl??``).trim(),o=e.managedMode?e.status?.joined===!0&&!!t:!!e.token,s=String(e.miningAttachedWalletId||e.miningProfile?.walletId||e.miningStatus?.walletId||e.miningReadiness?.selectedWalletId||``).trim()||null;return h({walletStatus:e.walletStatus?{approvalAuth:{mode:e.walletStatus.approvalAuth?.mode,ready:e.walletStatus.approvalAuth?.ready,passkeyCount:e.walletStatus.approvalAuth?.passkeyCount}}:null,walletNamedWallets:e.walletNamedWallets.map(e=>({id:e.id,name:e.name})),defaultWalletId:e.defaultWalletId,miningAttachedWalletId:s,joined:o,trustState:r,hostedState:i,publicUrl:a}).map(e=>({...e,actionLabel:e.title===`Wallet Control Passkey ready`?`Open Wallet Access`:e.title===`Agent wallet set`?`Set Agent`:e.title===`Mining wallet separate`?`Open Mining`:e.title===`Fased Network joined / trusted`?`Open Fased Network review`:void 0,actionKey:e.title===`Wallet Control Passkey ready`?`admin`:e.title===`Agent wallet set`?`payment`:e.title===`Mining wallet separate`?`mining`:e.title===`Fased Network joined / trusted`?`federation-review`:void 0}))}var _=[`USDC`,`SOL`,`SAT`,`FCOD`],ee=[{value:`per-job`,label:`Per job`,description:`One fixed task or deliverable.`},{value:`per-hour`,label:`Per hour`,description:`Time-based human or hybrid service.`},{value:`per-api-call`,label:`Per API call`,description:`Metered API or tool access.`},{value:`per-1k-rows`,label:`Per 1k rows`,description:`Dataset, labeling, or enrichment volume.`},{value:`per-day`,label:`Per day`,description:`Daily feed, monitor, or recurring task.`},{value:`per-month`,label:`Per month`,description:`Subscription, hosting, or operator service.`},{value:`custom`,label:`Custom`,description:`Terms are explained in the listing.`}],v=[{value:`agent-approval`,label:`Agent + approval`,description:`Agent prepares/runs work under operator approval.`},{value:`agent`,label:`Agent automated`,description:`Agent delivers inside explicit automation policy.`},{value:`api`,label:`API`,description:`Buyer receives an API response, token, webhook, or metered endpoint.`},{value:`dataset`,label:`Dataset`,description:`Buyer receives rows, files, exports, labels, or artifacts.`},{value:`human`,label:`Human`,description:`Manual human service with marketplace receipt tracking.`},{value:`hybrid`,label:`Hybrid`,description:`Agent assists and human reviews before final delivery.`}],y=[{value:`agent-wallet`,label:`Agent wallet`,description:`Buyer pays from Agent wallet; seller settles to Agent wallet.`},{value:`escrow`,label:`Escrow`,description:`Future held payment before release after delivery.`},{value:`invoice`,label:`Invoice`,description:`Seller issues invoice and buyer records receipt.`},{value:`subscription`,label:`Subscription`,description:`Recurring access or feed billing.`},{value:`api-metered`,label:`Metered API`,description:`Usage-counted API or data service.`}],te=1e3*60*60*24*7;function b(e){let t=e?.trim()??``;if(!t)return!1;try{let e=new URL(t);return e.hostname===`127.0.0.1`||e.hostname===`localhost`||e.hostname===`::1`||e.hostname===`0.0.0.0`}catch{return!1}}function ne(e){let t=String(e.status??``).trim().toLowerCase();if(t!==`pending`&&t!==`unverified`||e.reviewedAt||e.reviewReason||!b(e.endpoint))return!1;let n=Date.parse(e.lastSeenAt??``);return Number.isFinite(n)?Date.now()-n>te:!1}function re(e){let t=Date.parse(e.reviewedAt??``);if(Number.isFinite(t))return t;let n=Date.parse(e.lastSeenAt??``);return Number.isFinite(n)?n:0}function x(e){let t=e?.hostedProbe;return!t||t.state!==`broken`?null:`Hosted public URL is broken right now${t.reason?`: ${t.reason}`:`.`}`}function ie(e){let t=String(e??``).trim();return/HTTP 5\d{2}\b/i.test(t)&&/\bfrom\b/i.test(t)}function ae(n){let r=n.reviewSummary,i=n.disputeSummary,a=n.sellerLane,o=T(n.offer),s=fe(n),c=ue(n.offer);return!a&&!r&&!i&&o===`Manual`&&!s&&!c?t:e`
2
2
  <div class="chip-row" style="margin-top: 8px;">
3
3
  ${o===`Manual`?t:e`<span class="chip">Asset · ${o}</span>`}
4
4
  ${s?e`<span class="chip" title=${s}>Settlement · ${s}</span>`:t}
@@ -6,7 +6,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
6
6
  <span class="chip">Receipt · invoice/receipt refs</span>
7
7
  ${a?e`
8
8
  <span class="chip ${a.eligible?`chip-ok`:a.status===`degraded`?`chip-warn`:``}">
9
- Seller lane · ${Me(a.status)}
9
+ Seller lane · ${Pe(a.status)}
10
10
  </span>
11
11
  <span class="chip">${a.visibility}</span>
12
12
  ${a.paymentRailsReady===!1?e`
@@ -26,7 +26,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
26
26
  ${(i.underReviewCount??0)>0?e`<span class="chip chip-warn">${i.underReviewCount} under review</span>`:t}
27
27
  `:t}
28
28
  </div>
29
- `}function ae(n){let r=n.disputeResolutionSummary;return!r||r.caseCount===0?e`
29
+ `}function oe(n){let r=n.disputeResolutionSummary;return!r||r.caseCount===0?e`
30
30
  <div class="muted" style="margin-top: 10px">
31
31
  No public dispute resolution history is indexed for this listing yet.
32
32
  </div>
@@ -47,9 +47,9 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
47
47
  <span
48
48
  class="chip ${n.status===`resolved`?`chip-ok`:n.status===`dismissed`?``:`chip-warn`}"
49
49
  >
50
- ${O(n.status)}
50
+ ${E(n.status)}
51
51
  </span>
52
- <span class="chip">${O(n.paymentStatus)}</span>
52
+ <span class="chip">${E(n.paymentStatus)}</span>
53
53
  </div>
54
54
  <div class="list-sub">
55
55
  ${H(n.createdAt)}
@@ -68,7 +68,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
68
68
  <strong>Notary</strong>
69
69
  <span class="chip">${n.notary.count} opinions</span>
70
70
  <span class="chip">${n.notary.highConfidenceCount} high confidence</span>
71
- ${n.notary.latest?.recommendedResolution?e`<span class="chip">recommends ${O(n.notary.latest.recommendedResolution)}</span>`:t}
71
+ ${n.notary.latest?.recommendedResolution?e`<span class="chip">recommends ${E(n.notary.latest.recommendedResolution)}</span>`:t}
72
72
  </div>
73
73
  ${n.notary.latest?e`
74
74
  <div class="muted" style="margin-top: 4px;">
@@ -85,9 +85,9 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
85
85
  </div>
86
86
  `)}
87
87
  </div>
88
- `}function C(e,t){let n=t?.trim();if(n)return n;switch(e){case`per-hour`:return`hour`;case`per-1k-rows`:return`1k rows`;case`per-api-call`:return`API call`;case`per-day`:return`day`;case`per-month`:return`month`;case`custom`:return`custom unit`;default:return`job`}}function w(e,t){return String(e??``).split(`,`).map(e=>e.trim()).filter(Boolean)[0]??t}function T(e){return new Set(String(e??``).split(`,`).map(e=>e.trim().toUpperCase()).filter(Boolean))}function oe(e,t,n){let r=T(e),i=t.trim().toUpperCase();return n?r.add(i):r.delete(i),_.filter(e=>r.has(e)).join(`, `)}function E(e){let t=e.pricing?.currency?.trim()??``,n=e.pricing?.model?.trim()??``,r=e.pricing?.amount,i=C(e.pricing?.unit,e.pricing?.unitLabel);return!t&&!n&&typeof r!=`number`?null:typeof r==`number`&&Number.isFinite(r)?`${r} ${t||`asset`} / ${i}`:n&&n!==`fixed`?`${n.replace(/[-_]+/g,` `)} / ${i}`:`${t||`Quote`} / ${i}`}function D(e){let t=(e.acceptedAssets??e.paymentRails??[]).map(e=>e.trim()).filter(Boolean),n=e.pricing?.currency?.trim(),r=[...new Set([n,...t].filter(e=>!!e))];return r.length>0?r.join(`, `):`Manual`}function se(e){if(e.local)return e.local.enabled?{label:`Active`,tone:`ok`}:{label:`Draft`,tone:`warn`};let t=e.remote?.sellerLane;if(t)return{label:Me(t.status),tone:t.eligible?`ok`:`warn`};let n=String(e.remote?.status??``).trim().toLowerCase();return n===`verified`||n===`active`?{label:`Active`,tone:`ok`}:n===`revoked`||n===`blocked`||n===`closed`?{label:`Closed`,tone:`warn`}:{label:`Pending`,tone:`warn`}}function ce(e){let t=e.inputShape?.trim()??``,n=e.deliveryShape?.trim()??``,r=e.availability?.trim()??``,i=e.requiredTrustOrBondTier?.trim()??``;return[t&&n?`${t} -> ${n}`:t||n,r,i].filter(Boolean).join(` · `)||null}function le(e){let t=e.paymentDefaults,n=t?.currency?.trim()??``,r=t?.chain?.trim()??``,i=t?.asset?.kind?.trim()??``,a=t?.payee?.address?.trim()??``;if(!n&&!r&&!i&&!a)return null;let o=[n,r,i].filter(Boolean),s=a?`${a.slice(0,8)}...${a.slice(-6)}`:``;return[o.join(` · `),s].filter(Boolean).join(` · `)}function ue(e){return le(e.offer)}function O(e){return String(e||`pending`).replace(/[-_]+/gu,` `)}function de(e){let t=e.settlement;return`${t?.mode===`escrow`?`Escrow`:`Direct`} · ${O(t?.status??e.paymentIntent?.status)}`}function fe(e){let t=e.settlement,n=e.paymentIntent,r=t?.escrow,i=[t?.currency??n?.currency,t?.chain??n?.chain,t?.assetKind??n?.assetKind].filter(Boolean).join(` `),a=[t?.invoiceId??e.receipt?.invoiceId??e.invoiceId,t?.receiptId??e.receipt?.receiptId??e.receiptId,t?.txRef??n?.txRef??e.receipt?.txRef??e.txRef].filter(Boolean).length;return[i,t?.mode===`escrow`?`escrow ${O(r?.status)}`:`no escrow hold`,a?`${a} refs`:``].filter(Boolean).join(` · `)}function pe(e){let t=(e??[]).map(e=>e.description?.trim()||e.kind?.trim()||``).filter(Boolean);return t.length>0?t.join(` · `):`Invoice + receipt refs`}function k(e){let t=e.delivery;return t?.targetLabel?.trim()||t?.target?.label?.trim()||t?.targetKind?.trim()||t?.target?.kind?.trim()||t?.deliveryShape?.trim()||`Fased app inbox`}function me(e){let t=e.delivery;return[O(t?.status??t?.targetStatus),t?.targetMasked?.trim()||t?.target?.maskedTarget?.trim()||t?.target?.descriptor?.trim()||t?.deliveryShape?.trim()||``].filter(Boolean).join(` · `)||`pending`}function A(e,t){let n=e.subscription??t?.subscription??t?.item.subscription;return!n||n.status===`not_applicable`?`One-time`:`${O(n.status)} · ${n.billingPeriod?.replace(/[-_]+/gu,` `)??`custom`}`}function he(e,t){let n=e.subscription??t?.subscription??t?.item.subscription;return typeof n?.remainingSlots==`number`&&typeof n.maxBuyers==`number`?`${n.remainingSlots}/${n.maxBuyers} slots`:typeof n?.maxBuyers==`number`?`${n.maxBuyers} buyer limit`:t?Ke(t):`no capacity limit`}function j(e){switch(e){case`verified`:case`delivered`:case`issued`:case`settled`:case`released`:case`closed`:case`available`:case`active`:return`ok`;case`failed`:case`cancelled`:case`blocked`:case`rejected`:case`expired`:return`danger`;case`submitted`:case`held`:case`running`:case`requires_payment`:case`pending`:case`draft`:case`waiting`:case`disputed`:return`warn`;default:return`neutral`}}function ge(e){return e===`ok`?`chip chip-ok`:e===`danger`?`chip chip-danger`:e===`warn`?`chip chip-warn`:`chip`}function M(e,t){let n=t?.trim()??``;return n?{label:e,value:n}:null}function N(e){let t=e.filter(e=>!!e);return t.length>0?t:void 0}function _e(e){let t=e.paymentIntent?.status,n=e.delivery?.status,r=e.receipt?.status;return!!(t===`submitted`||t===`verified`||t===`failed`||n===`delivered`||n===`failed`||n===`blocked`||r===`issued`||r===`verified`||r===`rejected`||e.receipt?.invoiceId||e.receipt?.receiptId||e.receipt?.txRef||e.invoiceId||e.receiptId||e.txRef)}function ve(e){let t=e.order;return(t.source===`federation`||e.source===`federation`)&&!!t.offerId?.trim()&&!!t.sellerEndpoint?.trim()}function ye(e){let t=e.order;return!!(t.sellerAcceptedAt?.trim()||t.sellerOrderId?.trim())}function be(e){if(!ve(e)||ye(e))return``;let t=e.order.sellerSyncError?.trim();return e.order.sellerSyncStatus===`failed`&&t?`Seller intake failed: ${t}`:`Waiting for seller intake before payment.`}function xe(e){let t=e.order;return[t.delivery?.resultRef,t.resultRef,t.receipt?.resultRef,t.id,e.configId].map(e=>e?.trim()??``).filter(Boolean)}function Se(e){return[e.receipt?.disputeCaseId,e.disputeCaseId].map(e=>e?.trim()??``).filter(Boolean)}function Ce(e){return[e.receipt?.invoiceId,e.invoiceId,e.receipt?.receiptId,e.receiptId,e.receipt?.txRef,e.paymentIntent?.txRef,e.txRef].map(e=>e?.trim()??``).filter(Boolean)}function P(e,t){let n=e.order,r=new Set(Se(n));if(r.size>0&&r.has(t.caseId))return!0;let i=new Set(xe(e));if(t.taskId&&i.has(t.taskId)||t.result?.taskId&&i.has(t.result.taskId))return!0;let o=n.offerId?.trim(),s=n.requestId?.trim(),l=!!(o&&t.offerId===o||s&&t.offerId===s),u=new Set(Ce(n)),d=!!(t.invoiceId&&u.has(t.invoiceId)||t.receiptId&&u.has(t.receiptId));if(l&&d)return!0;let f=new Set(a(e));return!!c(t.evidenceRefs).some(e=>f.has(e))}function we(e,t,n){return(t??[]).filter(t=>P(e,t)).toSorted((e,t)=>{let n=Date.parse(e.reviewedAt??e.updatedAt??e.createdAt),r=Date.parse(t.reviewedAt??t.updatedAt??t.createdAt);return(Number.isFinite(r)?r:0)-(Number.isFinite(n)?n:0)}).map(e=>({dispute:e,evidenceRefs:c(e.evidenceRefs),notaryRecords:(n??[]).filter(t=>t.caseId===e.caseId).toSorted((e,t)=>t.createdAt.localeCompare(e.createdAt))}))}function F(e){let t=e.order,n=t.paymentIntent??{},r=t.settlement??{},i=t.delivery??{},a=t.receipt??{},o=t.subscription,s=t.sellerHandle||t.buyerHandle||t.offerId||t.requestId||`local`,c=t.status??e.status??`draft`,l=n.status??`requires_payment`,u=i.status??`pending`,d=a.status??`pending`,f=a.disputeCaseId||t.disputeCaseId,p=_e(t),m=[{label:`Checkout`,status:O(c),detail:`${I(t.serviceKind)} · ${B(s)}`,at:t.createdAt,refs:N([M(`order`,t.id??e.configId),M(`offer`,t.offerId),M(`request`,t.requestId)]),tone:j(c)},{label:`Payment`,status:O(l),detail:`${E(t)??`Quote`} · ${n.method??`agent-wallet`}`,at:n.updatedAt||n.createdAt||t.updatedAt,refs:N([M(`intent`,n.intentId),M(`tx`,n.txRef||t.txRef)]),tone:j(l)},{label:`Settlement`,status:O(r.status??l),detail:fe(t),at:r.settledAt||r.verifiedAt||r.updatedAt||t.updatedAt,refs:N([M(`invoice`,r.invoiceId),M(`receipt`,r.receiptId),M(`tx`,r.txRef),M(`evidence`,r.evidenceRef),M(`funding`,r.escrow?.fundingRequestId),M(`funding tx`,r.escrow?.fundingTxRef),M(`release`,r.escrow?.releaseRequestId),M(`release tx`,r.escrow?.releaseTxRef),M(`refund`,r.escrow?.refundRequestId),M(`refund tx`,r.escrow?.refundTxRef),M(`cancelled`,r.escrow?.cancelledAt)]),tone:j(r.status??l)},{label:`Run`,status:O(c),detail:c===`running`?`Service execution is in progress.`:c===`delivered`||c===`closed`?`Service execution completed.`:c===`cancelled`?`Service execution was cancelled.`:`Service execution has not started.`,at:t.updatedAt,refs:N([M(`result`,t.resultRef)]),tone:j(c===`accepted`?`pending`:c)},{label:`Delivery`,status:O(u),detail:`${k(t)} · ${me(t)}`,at:i.deliveredAt||i.updatedAt||t.updatedAt,refs:N([M(`result`,i.resultRef||t.resultRef),M(`artifact`,i.artifactRef)]),tone:j(u)},{label:`Receipt`,status:O(d),detail:a.notes?.trim()||pe(t.receiptRules),at:a.updatedAt||a.createdAt||t.updatedAt,refs:N([M(`invoice`,a.invoiceId||t.invoiceId),M(`receipt`,a.receiptId||t.receiptId),M(`tx`,a.txRef||t.txRef),M(`result`,a.resultRef||t.resultRef)]),tone:j(d)},{label:`Dispute`,status:f?`case open`:p?`available`:`waiting`,detail:f?`A dispute case is attached to this order.`:p?`Review or dispute can use the recorded payment or delivery evidence.`:`Available after payment, delivery, or receipt evidence exists.`,at:a.updatedAt||i.updatedAt||n.updatedAt||t.updatedAt,refs:N([M(`case`,f)]),tone:f?`warn`:j(p?`available`:`waiting`)}];if(o&&o.status&&o.status!==`not_applicable`&&m.splice(3,0,{label:`Term`,status:O(o.status),detail:`${o.billingPeriod?.replace(/[-_]+/gu,` `)??`custom`} · renewal ${o.renewalPolicy??`none`}`,at:o.updatedAt||o.createdAt||t.updatedAt,refs:N([M(`starts`,o.startsAt),M(`ends`,o.endsAt)]),tone:j(o.status)}),ve(e)){let n=ye(e),r=t.sellerSyncStatus??(n?`accepted`:`pending`);m.splice(1,0,{label:`Seller`,status:n?`accepted`:r===`failed`?`failed`:`waiting`,detail:n?`Accepted in Sales${t.sellerOrderId?` as ${G(t.sellerOrderId,12,8)}`:``}.`:t.sellerSyncError||`Seller intake has not accepted this checkout yet.`,at:t.sellerAcceptedAt||t.sellerSyncedAt||t.updatedAt,refs:N([M(`seller order`,t.sellerOrderId),M(`seller endpoint`,t.sellerEndpoint)]),tone:n?`ok`:r===`failed`?`danger`:`warn`})}return m}function Te(e,t){if(!e||!t?.length)return null;let n=e.item.id,r=t.filter(t=>{let r=t.order;return t.source!==`federation`&&r.source!==`federation`?!1:e.kind===`request`?r.requestId===n:r.offerId===n});return r.length===0?null:r.toSorted((e,t)=>{let n=Date.parse(e.order.updatedAt??e.order.createdAt??``),r=Date.parse(t.order.updatedAt??t.order.createdAt??``);return(Number.isFinite(r)?r:0)-(Number.isFinite(n)?n:0)})[0]}function Ee(n){return e`
88
+ `}function S(e,t){let n=t?.trim();if(n)return n;switch(e){case`per-hour`:return`hour`;case`per-1k-rows`:return`1k rows`;case`per-api-call`:return`API call`;case`per-day`:return`day`;case`per-month`:return`month`;case`custom`:return`custom unit`;default:return`job`}}function C(e,t){return String(e??``).split(`,`).map(e=>e.trim()).filter(Boolean)[0]??t}function se(e){return new Set(String(e??``).split(`,`).map(e=>e.trim().toUpperCase()).filter(Boolean))}function ce(e,t,n){let r=se(e),i=t.trim().toUpperCase();return n?r.add(i):r.delete(i),_.filter(e=>r.has(e)).join(`, `)}function w(e){let t=e.pricing?.currency?.trim()??``,n=e.pricing?.model?.trim()??``,r=e.pricing?.amount,i=S(e.pricing?.unit,e.pricing?.unitLabel);return!t&&!n&&typeof r!=`number`?null:typeof r==`number`&&Number.isFinite(r)?`${r} ${t||`asset`} / ${i}`:n&&n!==`fixed`?`${n.replace(/[-_]+/g,` `)} / ${i}`:`${t||`Quote`} / ${i}`}function T(e){let t=(e.acceptedAssets??e.paymentRails??[]).map(e=>e.trim()).filter(Boolean),n=e.pricing?.currency?.trim(),r=[...new Set([n,...t].filter(e=>!!e))];return r.length>0?r.join(`, `):`Manual`}function le(e){if(e.local)return e.local.enabled?{label:`Active`,tone:`ok`}:{label:`Draft`,tone:`warn`};let t=e.remote?.sellerLane;if(t)return{label:Pe(t.status),tone:t.eligible?`ok`:`warn`};let n=String(e.remote?.status??``).trim().toLowerCase();return n===`verified`||n===`active`?{label:`Active`,tone:`ok`}:n===`revoked`||n===`blocked`||n===`closed`?{label:`Closed`,tone:`warn`}:{label:`Pending`,tone:`warn`}}function ue(e){let t=e.inputShape?.trim()??``,n=e.deliveryShape?.trim()??``,r=e.availability?.trim()??``,i=e.requiredTrustOrBondTier?.trim()??``;return[t&&n?`${t} -> ${n}`:t||n,r,i].filter(Boolean).join(` · `)||null}function de(e){let t=e.paymentDefaults,n=t?.currency?.trim()??``,r=t?.chain?.trim()??``,i=t?.asset?.kind?.trim()??``,a=t?.payee?.address?.trim()??``;if(!n&&!r&&!i&&!a)return null;let o=[n,r,i].filter(Boolean),s=a?`${a.slice(0,8)}...${a.slice(-6)}`:``;return[o.join(` · `),s].filter(Boolean).join(` · `)}function fe(e){return de(e.offer)}function E(e){return String(e||`pending`).replace(/[-_]+/gu,` `)}function pe(e){let t=e.settlement;return`${t?.mode===`escrow`?`Escrow`:`Direct`} · ${E(t?.status??e.paymentIntent?.status)}`}function me(e){let t=e.settlement,n=e.paymentIntent,r=t?.escrow,i=[t?.currency??n?.currency,t?.chain??n?.chain,t?.assetKind??n?.assetKind].filter(Boolean).join(` `),a=[t?.invoiceId??e.receipt?.invoiceId??e.invoiceId,t?.receiptId??e.receipt?.receiptId??e.receiptId,t?.txRef??n?.txRef??e.receipt?.txRef??e.txRef].filter(Boolean).length;return[i,t?.mode===`escrow`?`escrow ${E(r?.status)}`:`no escrow hold`,a?`${a} refs`:``].filter(Boolean).join(` · `)}function he(e){let t=(e??[]).map(e=>e.description?.trim()||e.kind?.trim()||``).filter(Boolean);return t.length>0?t.join(` · `):`Invoice + receipt refs`}function D(e){let t=e.delivery;return t?.targetLabel?.trim()||t?.target?.label?.trim()||t?.targetKind?.trim()||t?.target?.kind?.trim()||t?.deliveryShape?.trim()||`Fased app inbox`}function O(e){let t=e.delivery;return[E(t?.status??t?.targetStatus),t?.targetMasked?.trim()||t?.target?.maskedTarget?.trim()||t?.target?.descriptor?.trim()||t?.deliveryShape?.trim()||``].filter(Boolean).join(` · `)||`pending`}function ge(e,t){let n=e.subscription??t?.subscription??t?.item.subscription;return!n||n.status===`not_applicable`?`One-time`:`${E(n.status)} · ${n.billingPeriod?.replace(/[-_]+/gu,` `)??`custom`}`}function _e(e,t){let n=e.subscription??t?.subscription??t?.item.subscription;return typeof n?.remainingSlots==`number`&&typeof n.maxBuyers==`number`?`${n.remainingSlots}/${n.maxBuyers} slots`:typeof n?.maxBuyers==`number`?`${n.maxBuyers} buyer limit`:t?Ke(t):`no capacity limit`}function k(e){switch(e){case`verified`:case`delivered`:case`issued`:case`settled`:case`released`:case`closed`:case`available`:case`active`:return`ok`;case`failed`:case`cancelled`:case`blocked`:case`rejected`:case`expired`:return`danger`;case`submitted`:case`held`:case`running`:case`requires_payment`:case`pending`:case`draft`:case`waiting`:case`disputed`:return`warn`;default:return`neutral`}}function ve(e){return e===`ok`?`chip chip-ok`:e===`danger`?`chip chip-danger`:e===`warn`?`chip chip-warn`:`chip`}function A(e,t){let n=t?.trim()??``;return n?{label:e,value:n}:null}function j(e){let t=e.filter(e=>!!e);return t.length>0?t:void 0}function ye(e){let t=e.paymentIntent?.status,n=e.delivery?.status,r=e.receipt?.status;return!!(t===`submitted`||t===`verified`||t===`failed`||n===`delivered`||n===`failed`||n===`blocked`||r===`issued`||r===`verified`||r===`rejected`||e.receipt?.invoiceId||e.receipt?.receiptId||e.receipt?.txRef||e.invoiceId||e.receiptId||e.txRef)}function be(e){let t=e.order;return(t.source===`federation`||e.source===`federation`)&&!!t.offerId?.trim()&&!!t.sellerEndpoint?.trim()}function xe(e){let t=e.order;return!!(t.sellerAcceptedAt?.trim()||t.sellerOrderId?.trim())}function Se(e){if(!be(e)||xe(e))return``;let t=e.order.sellerSyncError?.trim();return e.order.sellerSyncStatus===`failed`&&t?`Seller intake failed: ${t}`:`Waiting for seller intake before payment.`}function Ce(e){let t=e.order;return[t.delivery?.resultRef,t.resultRef,t.receipt?.resultRef,t.id,e.configId].map(e=>e?.trim()??``).filter(Boolean)}function we(e){return[e.receipt?.disputeCaseId,e.disputeCaseId].map(e=>e?.trim()??``).filter(Boolean)}function M(e){return[e.receipt?.invoiceId,e.invoiceId,e.receipt?.receiptId,e.receiptId,e.receipt?.txRef,e.paymentIntent?.txRef,e.txRef].map(e=>e?.trim()??``).filter(Boolean)}function Te(e,t){let n=e.order,r=new Set(we(n));if(r.size>0&&r.has(t.caseId))return!0;let i=new Set(Ce(e));if(t.taskId&&i.has(t.taskId)||t.result?.taskId&&i.has(t.result.taskId))return!0;let o=n.offerId?.trim(),s=n.requestId?.trim(),l=!!(o&&t.offerId===o||s&&t.offerId===s),u=new Set(M(n)),d=!!(t.invoiceId&&u.has(t.invoiceId)||t.receiptId&&u.has(t.receiptId));if(l&&d)return!0;let f=new Set(a(e));return!!c(t.evidenceRefs).some(e=>f.has(e))}function Ee(e,t,n){return(t??[]).filter(t=>Te(e,t)).toSorted((e,t)=>{let n=Date.parse(e.reviewedAt??e.updatedAt??e.createdAt),r=Date.parse(t.reviewedAt??t.updatedAt??t.createdAt);return(Number.isFinite(r)?r:0)-(Number.isFinite(n)?n:0)}).map(e=>({dispute:e,evidenceRefs:c(e.evidenceRefs),notaryRecords:(n??[]).filter(t=>t.caseId===e.caseId).toSorted((e,t)=>t.createdAt.localeCompare(e.createdAt))}))}function N(e){let t=e.order,n=t.paymentIntent??{},r=t.settlement??{},i=t.delivery??{},a=t.receipt??{},o=t.subscription,s=t.sellerHandle||t.buyerHandle||t.offerId||t.requestId||`local`,c=t.status??e.status??`draft`,l=n.status??`requires_payment`,u=i.status??`pending`,d=a.status??`pending`,f=a.disputeCaseId||t.disputeCaseId,p=ye(t),m=[{label:`Checkout`,status:E(c),detail:`${P(t.serviceKind)} · ${B(s)}`,at:t.createdAt,refs:j([A(`order`,t.id??e.configId),A(`offer`,t.offerId),A(`request`,t.requestId)]),tone:k(c)},{label:`Payment`,status:E(l),detail:`${w(t)??`Quote`} · ${n.method??`agent-wallet`}`,at:n.updatedAt||n.createdAt||t.updatedAt,refs:j([A(`intent`,n.intentId),A(`tx`,n.txRef||t.txRef)]),tone:k(l)},{label:`Settlement`,status:E(r.status??l),detail:me(t),at:r.settledAt||r.verifiedAt||r.updatedAt||t.updatedAt,refs:j([A(`invoice`,r.invoiceId),A(`receipt`,r.receiptId),A(`tx`,r.txRef),A(`evidence`,r.evidenceRef),A(`funding`,r.escrow?.fundingRequestId),A(`funding tx`,r.escrow?.fundingTxRef),A(`release`,r.escrow?.releaseRequestId),A(`release tx`,r.escrow?.releaseTxRef),A(`refund`,r.escrow?.refundRequestId),A(`refund tx`,r.escrow?.refundTxRef),A(`cancelled`,r.escrow?.cancelledAt)]),tone:k(r.status??l)},{label:`Run`,status:E(c),detail:c===`running`?`Service execution is in progress.`:c===`delivered`||c===`closed`?`Service execution completed.`:c===`cancelled`?`Service execution was cancelled.`:`Service execution has not started.`,at:t.updatedAt,refs:j([A(`result`,t.resultRef)]),tone:k(c===`accepted`?`pending`:c)},{label:`Delivery`,status:E(u),detail:`${D(t)} · ${O(t)}`,at:i.deliveredAt||i.updatedAt||t.updatedAt,refs:j([A(`result`,i.resultRef||t.resultRef),A(`artifact`,i.artifactRef)]),tone:k(u)},{label:`Receipt`,status:E(d),detail:a.notes?.trim()||he(t.receiptRules),at:a.updatedAt||a.createdAt||t.updatedAt,refs:j([A(`invoice`,a.invoiceId||t.invoiceId),A(`receipt`,a.receiptId||t.receiptId),A(`tx`,a.txRef||t.txRef),A(`result`,a.resultRef||t.resultRef)]),tone:k(d)},{label:`Dispute`,status:f?`case open`:p?`available`:`waiting`,detail:f?`A dispute case is attached to this order.`:p?`Review or dispute can use the recorded payment or delivery evidence.`:`Available after payment, delivery, or receipt evidence exists.`,at:a.updatedAt||i.updatedAt||n.updatedAt||t.updatedAt,refs:j([A(`case`,f)]),tone:f?`warn`:k(p?`available`:`waiting`)}];if(o&&o.status&&o.status!==`not_applicable`&&m.splice(3,0,{label:`Term`,status:E(o.status),detail:`${o.billingPeriod?.replace(/[-_]+/gu,` `)??`custom`} · renewal ${o.renewalPolicy??`none`}`,at:o.updatedAt||o.createdAt||t.updatedAt,refs:j([A(`starts`,o.startsAt),A(`ends`,o.endsAt)]),tone:k(o.status)}),be(e)){let n=xe(e),r=t.sellerSyncStatus??(n?`accepted`:`pending`);m.splice(1,0,{label:`Seller`,status:n?`accepted`:r===`failed`?`failed`:`waiting`,detail:n?`Accepted in Sales${t.sellerOrderId?` as ${G(t.sellerOrderId,12,8)}`:``}.`:t.sellerSyncError||`Seller intake has not accepted this checkout yet.`,at:t.sellerAcceptedAt||t.sellerSyncedAt||t.updatedAt,refs:j([A(`seller order`,t.sellerOrderId),A(`seller endpoint`,t.sellerEndpoint)]),tone:n?`ok`:r===`failed`?`danger`:`warn`})}return m}function De(e,t){if(!e||!t?.length)return null;let n=e.item.id,r=t.filter(t=>{let r=t.order;return t.source!==`federation`&&r.source!==`federation`?!1:e.kind===`request`?r.requestId===n:r.offerId===n});return r.length===0?null:r.toSorted((e,t)=>{let n=Date.parse(e.order.updatedAt??e.order.createdAt??``),r=Date.parse(t.order.updatedAt??t.order.createdAt??``);return(Number.isFinite(r)?r:0)-(Number.isFinite(n)?n:0)})[0]}function Oe(n){return e`
89
89
  <div class="marketplace-order-history" aria-label="Marketplace order status history">
90
- ${F(n).map(n=>e`
90
+ ${N(n).map(n=>e`
91
91
  <div class="marketplace-order-history__item">
92
92
  <div class="marketplace-order-history__head">
93
93
  <span class="marketplace-order-history__label">${n.label}</span>
@@ -111,7 +111,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
111
111
  </div>
112
112
  `)}
113
113
  </div>
114
- `}function De(n){return n.length===0?e`
114
+ `}function ke(n){return n.length===0?e`
115
115
  <div class="muted" style="margin-top: 10px">
116
116
  No dispute cases are linked to this order yet. Once a review, dispute, notary opinion, or
117
117
  resolution references this order, it will appear here with sanitized evidence refs.
@@ -128,9 +128,9 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
128
128
  <span
129
129
  class="chip ${n.status===`resolved`?`chip-ok`:n.status===`dismissed`?`chip-danger`:`chip-warn`}"
130
130
  >
131
- ${O(n.status)}
131
+ ${E(n.status)}
132
132
  </span>
133
- <span class="chip">${O(n.paymentStatus)}</span>
133
+ <span class="chip">${E(n.paymentStatus)}</span>
134
134
  </div>
135
135
  <div class="list-sub">
136
136
  ${B(n.reporterHandle)} → ${B(n.providerHandle)}
@@ -143,7 +143,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
143
143
  <div style="margin-top: 4px;">${n.resolution}</div>
144
144
  </div>
145
145
  `:t}
146
- ${Lt(r,6)}
146
+ ${It(r,6)}
147
147
  ${i.length>0?e`
148
148
  <div class="stack" style="margin-top: 10px; gap: 8px;">
149
149
  ${i.map(n=>e`
@@ -152,14 +152,14 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
152
152
  <strong>Notary opinion</strong>
153
153
  <span class="chip">${n.opinion}</span>
154
154
  <span class="chip">${n.decisionConfidence}</span>
155
- ${n.recommendedResolution?e`<span class="chip">recommends ${O(n.recommendedResolution)}</span>`:t}
155
+ ${n.recommendedResolution?e`<span class="chip">recommends ${E(n.recommendedResolution)}</span>`:t}
156
156
  </div>
157
157
  <div class="muted" style="margin-top: 4px;">
158
158
  ${B(n.notaryHandle)} · ${n.bondTier} ·
159
159
  ${H(n.createdAt)}
160
160
  </div>
161
161
  ${n.summary?e`<div style="margin-top: 6px;">${n.summary}</div>`:t}
162
- ${Lt(n.evidenceRefs,4)}
162
+ ${It(n.evidenceRefs,4)}
163
163
  </div>
164
164
  `)}
165
165
  </div>
@@ -171,7 +171,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
171
171
  </div>
172
172
  `)}
173
173
  </div>
174
- `}function Oe(e,t){let n=t.order.delivery?.targetKind===`webhook`?`webhook`:`app-inbox`;return e.marketplaceOrderDeliveryDraftOrderId===t.configId?e.marketplaceOrderDeliveryKindDraft??n:n}function ke(n){let{orderEntry:r,draftKind:i}=n,a=r.order,o=a.delivery?.targetKind===`webhook`?`webhook`:`app-inbox`,s=k(a),c=me(a),l=r.status===`running`||r.status===`delivered`||r.status===`closed`||r.status===`cancelled`,u=l?`Delivery target is locked after payment starts.`:i===`webhook`&&!n.draftWebhookUrl.trim()?`Enter an HTTPS webhook URL, or localhost for a local smoke, before saving.`:``;return e`
174
+ `}function Ae(e,t){let n=t.order.delivery?.targetKind===`webhook`?`webhook`:`app-inbox`;return e.marketplaceOrderDeliveryDraftOrderId===t.configId?e.marketplaceOrderDeliveryKindDraft??n:n}function je(n){let{orderEntry:r,draftKind:i}=n,a=r.order,o=a.delivery?.targetKind===`webhook`?`webhook`:`app-inbox`,s=D(a),c=O(a),l=r.status===`running`||r.status===`delivered`||r.status===`closed`||r.status===`cancelled`,u=l?`Delivery target is locked after payment starts.`:i===`webhook`&&!n.draftWebhookUrl.trim()?`Enter an HTTPS webhook URL, or localhost for a local smoke, before saving.`:``;return e`
175
175
  <div class="marketplace-order-delivery-target">
176
176
  <div class="marketplace-order-delivery-target__header">
177
177
  <div>
@@ -221,7 +221,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
221
221
  ${n.error?e`<div class="callout danger">${n.error}</div>`:t}
222
222
  ${n.message?e`<div class="callout success">${n.message}</div>`:t}
223
223
  </div>
224
- `}function Ae(n){let{entry:r,orderEntry:a,paymentWallet:o}=n;if(!a)return e`
224
+ `}function Me(n){let{entry:r,orderEntry:a,paymentWallet:o}=n;if(!a)return e`
225
225
  <section id="index-order-review" class="marketplace-detail-section">
226
226
  <div class="marketplace-detail-section__title">Checkout review</div>
227
227
  <div class="muted" style="margin-top: 8px">
@@ -230,25 +230,25 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
230
230
  service execution.
231
231
  </div>
232
232
  <div class="marketplace-detail-grid">
233
- ${K({label:`Delivery`,value:Je(r),meta:r.item.deliveryShape??`Seller defined`})}
234
- ${K({label:`Payment`,value:E(r.item)??`Quote`,meta:`Accepted ${D(r.item)}`})}
233
+ ${K({label:`Delivery`,value:qe(r),meta:r.item.deliveryShape??`Seller defined`})}
234
+ ${K({label:`Payment`,value:w(r.item)??`Quote`,meta:`Accepted ${T(r.item)}`})}
235
235
  ${K({label:`Receipt`,value:`Reviewed after checkout`,meta:`Invoice, receipt, and dispute terms`})}
236
236
  </div>
237
237
  </section>
238
- `;let c=a.order,u=n.paymentWalletCustodyBlock??``,d=c.paymentIntent??{},f=c.settlement??{},p=f.escrow??{},m=f.mode===`escrow`,h=p.status??(m?`required`:`not_applicable`),g=n.escrowBusyOrderId===a.configId,_=f.chain??d.chain,ee=f.assetKind??d.assetKind??`native`,v=(f.currency??d.currency??``).trim().toUpperCase(),y=_===`solana`&&ee===`native`&&(!v||v===`SOL`)&&!(f.assetAddress??d.assetAddress)?.trim(),b=!!(p.fundingTxRef||p.fundingRequestId||h===`held`||h===`funded`||h===`released`||f.status===`held`||f.status===`released`),x=!!(p.releaseTxRef||p.releaseRequestId||h===`released`||f.status===`released`),te=!!(p.refundTxRef||p.refundRequestId||h===`refunded`||f.status===`cancelled`),ne=m?n.onFundMarketplaceEscrowOrder?o?y?p.vaultWalletId?b?`Escrow funding is already submitted or held.`:``:`Configure an escrow vault wallet before funding.`:`Only native SOL escrow can be funded in this release.`:`Create an Agent wallet before funding Marketplace escrow.`:`Escrow funding is not wired in this Control UI.`:`This order does not use escrow.`,S=m?n.onRefundMarketplaceEscrowOrder?y?h!==`held`&&h!==`funded`?`Fund and hold escrow before refund.`:x?`Released escrow cannot be refunded.`:te?`Escrow refund is already queued or complete.`:``:`Only native SOL escrow can be refunded in this release.`:`Escrow refund is not wired in this Control UI.`:`This order does not use escrow.`,re=m?n.onCancelMarketplaceEscrowOrder?b?`Funded escrow must be refunded, not cancelled.`:h===`cancelled`?`Escrow order is already cancelled.`:h===`released`||h===`refunded`?`Closed escrow cannot be cancelled.`:``:`Escrow cancellation is not wired in this Control UI.`:`This order does not use escrow.`,ie=m?n.onReleaseMarketplaceEscrowOrder?y?h!==`held`&&h!==`funded`?`Fund and hold escrow before release.`:p.holdPolicy!==`manual_release`&&c.delivery?.status!==`delivered`?`Delivery must be marked delivered before release.`:(f.payeeAddress??d.payeeAddress)?.trim()?x?`Escrow release is already queued or complete.`:``:`Seller payee address is required before release.`:`Only native SOL escrow can be released in this release.`:`Escrow release is not wired in this Control UI.`:`This order does not use escrow.`,ae=E(c)??`Quote`,C=f.invoiceId||c.receipt?.invoiceId||c.invoiceId,w=f.receiptId||c.receipt?.receiptId||c.receiptId,T=f.txRef||d.txRef||c.receipt?.txRef||c.txRef,oe=f.evidenceRef||(T?`tx:${T}`:``),se=c.delivery?.resultRef||c.resultRef||c.receipt?.resultRef||``,ce=c.delivery?.artifactRef||``,le=d.status===`verified`||f.status===`settled`||f.status===`verified`?`verified`:d.status===`submitted`||f.status===`submitted`?`submitted`:d.status===`failed`||f.status===`failed`?`failed`:`requires payment`,ue=d.acceptedAssets?.map(e=>e.trim()).filter(Boolean).join(`, `)||d.currency||`agent wallet asset`,ge=o?.addresses?.solana??``,M=d.payeeAddress?.trim()||d.payeeHandle?.trim()||`seller policy`,N=O(c.receipt?.status),xe=c.disputeCaseId?`case ${G(c.disputeCaseId,10,8)}`:`available after payment or delivery issue`,Se=r.kind===`request`?`Seller draft response to buyer request`:`Buyer order from public offer`,Ce=r.kind===`offer`&&c.serviceKind===`content.summarize`&&!!c.offerId?.trim()&&a.status!==`running`&&a.status!==`delivered`&&a.status!==`closed`&&a.status!==`cancelled`,P=n.marketplaceManualOrderBusyId===a.configId,F=d.status===`verified`||f.status===`settled`||f.status===`verified`,Te=i(c.serviceKind),Ae=n.marketplaceCapabilityOrderBusyId===a.configId,je=r.kind===`offer`&&Te&&a.status!==`delivered`&&a.status!==`closed`&&a.status!==`cancelled`,Me=r.kind===`offer`&&c.serviceKind!==`content.summarize`&&!Te&&!F&&a.status!==`running`&&a.status!==`delivered`&&a.status!==`closed`&&a.status!==`cancelled`,Pe=Oe(n,a),Fe=n.marketplaceOrderDeliveryDraftOrderId===a.configId?n.marketplaceOrderDeliveryWebhookUrlDraft??``:``,Ie=n.marketplaceOrderDeliveryBusyOrderId===a.configId,L=n.marketplaceOrderDeliveryDraftOrderId===a.configId?n.marketplaceOrderDeliveryError:null,R=n.marketplaceOrderDeliveryDraftOrderId===a.configId?n.marketplaceOrderDeliveryMessage:null,Le=be(a),Re=Ce?Le||(o?u||(n.summarizeSourceText.trim()?``:`Paste the text to summarize before paying and running.`):`Create an Agent wallet before running paid Marketplace orders.`):`Automatic payment and execution is enabled only for buyer-side content summary orders.`,ze=Me?Le||(o?u||``:`Create an Agent wallet before paying Marketplace orders.`):F?`This order is already paid.`:c.serviceKind===`content.summarize`?`Content summary orders use the content.summarize paid adapter.`:Te?`This offer type uses its automated adapter.`:`Manual payment is available only for unpaid buyer-side offer orders.`,Be=c.serviceKind===`data.lookup`||c.serviceKind===`data.extract`,Ve=je?Le||(!F&&!o?`Create an Agent wallet before paying Marketplace orders.`:!F&&u?u:Be&&!n.summarizeSourceText.trim()?`Enter buyer input before running this adapter.`:``):a.status===`delivered`||c.delivery?.status===`delivered`?`This order is already delivered.`:Te?`Automated adapter is available only for buyer-side offer orders.`:`This offer type does not have an automated adapter yet.`,He=r.kind===`offer`&&!!(c.offerId?.trim()||r.item.id.trim())&&!!(c.sellerHandle?.trim()||r.handle.trim())&&_e(c),Ue=n.marketplaceFeedbackOrderId===a.configId,We=s(a),Ge=l(a),Ke=new Map;for(let e of[...n.offerDisputes??[],...n.operatorDisputes??[]])Ke.set(e.caseId,e);let qe=we(a,[...Ke.values()],n.disputeNotaryRecords);return e`
238
+ `;let c=a.order,u=c.paymentIntent??{},d=c.settlement??{},f=d.escrow??{},p=d.mode===`escrow`,m=f.status??(p?`required`:`not_applicable`),h=n.escrowBusyOrderId===a.configId,g=d.chain??u.chain,_=d.assetKind??u.assetKind??`native`,ee=(d.currency??u.currency??``).trim().toUpperCase(),v=g===`solana`&&_===`native`&&(!ee||ee===`SOL`)&&!(d.assetAddress??u.assetAddress)?.trim(),y=!!(f.fundingTxRef||f.fundingRequestId||m===`held`||m===`funded`||m===`released`||d.status===`held`||d.status===`released`),te=!!(f.releaseTxRef||f.releaseRequestId||m===`released`||d.status===`released`),b=!!(f.refundTxRef||f.refundRequestId||m===`refunded`||d.status===`cancelled`),ne=p?n.onFundMarketplaceEscrowOrder?o?v?f.vaultWalletId?y?`Escrow funding is already submitted or held.`:``:`Configure an escrow vault wallet before funding.`:`Only native SOL escrow can be funded in this release.`:`Create an Agent wallet before funding Marketplace escrow.`:`Escrow funding is not wired in this Control UI.`:`This order does not use escrow.`,re=p?n.onRefundMarketplaceEscrowOrder?v?m!==`held`&&m!==`funded`?`Fund and hold escrow before refund.`:te?`Released escrow cannot be refunded.`:b?`Escrow refund is already queued or complete.`:``:`Only native SOL escrow can be refunded in this release.`:`Escrow refund is not wired in this Control UI.`:`This order does not use escrow.`,x=p?n.onCancelMarketplaceEscrowOrder?y?`Funded escrow must be refunded, not cancelled.`:m===`cancelled`?`Escrow order is already cancelled.`:m===`released`||m===`refunded`?`Closed escrow cannot be cancelled.`:``:`Escrow cancellation is not wired in this Control UI.`:`This order does not use escrow.`,ie=p?n.onReleaseMarketplaceEscrowOrder?v?m!==`held`&&m!==`funded`?`Fund and hold escrow before release.`:f.holdPolicy!==`manual_release`&&c.delivery?.status!==`delivered`?`Delivery must be marked delivered before release.`:(d.payeeAddress??u.payeeAddress)?.trim()?te?`Escrow release is already queued or complete.`:``:`Seller payee address is required before release.`:`Only native SOL escrow can be released in this release.`:`Escrow release is not wired in this Control UI.`:`This order does not use escrow.`,ae=w(c)??`Quote`,oe=d.invoiceId||c.receipt?.invoiceId||c.invoiceId,S=d.receiptId||c.receipt?.receiptId||c.receiptId,C=d.txRef||u.txRef||c.receipt?.txRef||c.txRef,se=d.evidenceRef||(C?`tx:${C}`:``),ce=c.delivery?.resultRef||c.resultRef||c.receipt?.resultRef||``,le=c.delivery?.artifactRef||``,ue=u.status===`verified`||d.status===`settled`||d.status===`verified`?`verified`:u.status===`submitted`||d.status===`submitted`?`submitted`:u.status===`failed`||d.status===`failed`?`failed`:`requires payment`,de=u.acceptedAssets?.map(e=>e.trim()).filter(Boolean).join(`, `)||u.currency||`agent wallet asset`,fe=o?.addresses?.solana??``,ve=u.payeeAddress?.trim()||u.payeeHandle?.trim()||`seller policy`,A=E(c.receipt?.status),j=c.disputeCaseId?`case ${G(c.disputeCaseId,10,8)}`:`available after payment or delivery issue`,Ce=r.kind===`request`?`Seller draft response to buyer request`:`Buyer order from public offer`,we=r.kind===`offer`&&c.serviceKind===`content.summarize`&&!!c.offerId?.trim()&&a.status!==`running`&&a.status!==`delivered`&&a.status!==`closed`&&a.status!==`cancelled`,M=n.marketplaceManualOrderBusyId===a.configId,Te=u.status===`verified`||d.status===`settled`||d.status===`verified`,N=i(c.serviceKind),De=n.marketplaceCapabilityOrderBusyId===a.configId,Me=r.kind===`offer`&&N&&a.status!==`delivered`&&a.status!==`closed`&&a.status!==`cancelled`,Ne=r.kind===`offer`&&c.serviceKind!==`content.summarize`&&!N&&!Te&&a.status!==`running`&&a.status!==`delivered`&&a.status!==`closed`&&a.status!==`cancelled`,Pe=Ae(n,a),Ie=n.marketplaceOrderDeliveryDraftOrderId===a.configId?n.marketplaceOrderDeliveryWebhookUrlDraft??``:``,Le=n.marketplaceOrderDeliveryBusyOrderId===a.configId,Re=n.marketplaceOrderDeliveryDraftOrderId===a.configId?n.marketplaceOrderDeliveryError:null,F=n.marketplaceOrderDeliveryDraftOrderId===a.configId?n.marketplaceOrderDeliveryMessage:null,I=Se(a),L=we?I||(o?n.summarizeSourceText.trim()?``:`Paste the text to summarize before paying and running.`:`Create an Agent wallet before running paid Marketplace orders.`):`Automatic payment and execution is enabled only for buyer-side content summary orders.`,ze=Ne?I||(o?``:`Create an Agent wallet before paying Marketplace orders.`):Te?`This order is already paid.`:c.serviceKind===`content.summarize`?`Content summary orders use the content.summarize paid adapter.`:N?`This offer type uses its automated adapter.`:`Manual payment is available only for unpaid buyer-side offer orders.`,Be=c.serviceKind===`data.lookup`||c.serviceKind===`data.extract`,Ve=Me?I||(!Te&&!o?`Create an Agent wallet before paying Marketplace orders.`:Be&&!n.summarizeSourceText.trim()?`Enter buyer input before running this adapter.`:``):a.status===`delivered`||c.delivery?.status===`delivered`?`This order is already delivered.`:N?`Automated adapter is available only for buyer-side offer orders.`:`This offer type does not have an automated adapter yet.`,R=r.kind===`offer`&&!!(c.offerId?.trim()||r.item.id.trim())&&!!(c.sellerHandle?.trim()||r.handle.trim())&&ye(c),He=n.marketplaceFeedbackOrderId===a.configId,Ue=s(a),We=l(a),Ge=new Map;for(let e of[...n.offerDisputes??[],...n.operatorDisputes??[]])Ge.set(e.caseId,e);let Ke=Ee(a,[...Ge.values()],n.disputeNotaryRecords);return e`
239
239
  <section id="index-order-review" class="marketplace-detail-section marketplace-order-review">
240
240
  <div class="row" style="justify-content: space-between; gap: 12px; align-items: flex-start; flex-wrap: wrap;">
241
241
  <div>
242
242
  <div class="marketplace-detail-section__title">Checkout review</div>
243
243
  <div class="muted" style="margin-top: 4px;">
244
- ${Se} · <span class="mono">${a.configId}</span>
244
+ ${Ce} · <span class="mono">${a.configId}</span>
245
245
  </div>
246
246
  </div>
247
247
  <span class=${a.status===`draft`?`chip chip-warn`:`chip chip-ok`}>
248
- ${O(a.status)}
248
+ ${E(a.status)}
249
249
  </span>
250
250
  </div>
251
- ${Ce?e`
251
+ ${we?e`
252
252
  <div class="marketplace-order-paybar">
253
253
  <div class="marketplace-order-paybar__header">
254
254
  <div>
@@ -258,31 +258,17 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
258
258
  </div>
259
259
  </div>
260
260
  <div class="row" style="gap: 8px; justify-content: flex-end;">
261
- ${u?e`
262
- <button
263
- class="btn secondary"
264
- title="Open Wallet to unlock the Agent wallet signing window"
265
- @click=${()=>n.onOpenTaskPayment?.()}
266
- >
267
- Open Wallet
268
- </button>
269
- `:t}
270
261
  <button
271
262
  class="btn primary"
272
- ?disabled=${n.paidSummarizeBusy||!!Re}
273
- title=${Re||`Pay from Agent wallet and run this order`}
263
+ ?disabled=${n.paidSummarizeBusy||!!L}
264
+ title=${L||`Pay from Agent wallet and run this order`}
274
265
  @click=${()=>n.onRunPaidContentSummarizeOrder?.(a.configId)}
275
266
  >
276
267
  ${n.paidSummarizeBusy?`Paying...`:`Pay`}
277
268
  </button>
278
269
  </div>
279
270
  </div>
280
- ${u?e`
281
- <div class="callout warn" style="margin-top: 10px;">
282
- ${u} No payment will run until the signing window is unlocked.
283
- </div>
284
- `:t}
285
- ${ke({orderEntry:a,draftKind:Pe,draftWebhookUrl:Fe,busy:Ie,error:L,message:R,onDraftChange:n.onMarketplaceOrderDeliveryDraftChange,onSave:n.onSaveMarketplaceOrderDeliveryTarget})}
271
+ ${je({orderEntry:a,draftKind:Pe,draftWebhookUrl:Ie,busy:Le,error:Re,message:F,onDraftChange:n.onMarketplaceOrderDeliveryDraftChange,onSave:n.onSaveMarketplaceOrderDeliveryTarget})}
286
272
  <label class="field marketplace-order-run__input">
287
273
  <span>Buyer input</span>
288
274
  <textarea
@@ -319,56 +305,42 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
319
305
  Payment is running. Keep this checkout open; tx evidence, receipt, delivery, and result will
320
306
  update here.
321
307
  </div>
322
- `:n.paidSummarizeError?e`<div class="callout danger">${n.paidSummarizeError}</div>`:Re?e`<div class="callout">${Re}</div>`:t}
308
+ `:n.paidSummarizeError?e`<div class="callout danger">${n.paidSummarizeError}</div>`:L?e`<div class="callout">${L}</div>`:t}
323
309
  </div>
324
310
  `:t}
325
- ${je?e`
311
+ ${Me?e`
326
312
  <div class="marketplace-order-paybar">
327
313
  <div class="marketplace-order-paybar__header">
328
314
  <div>
329
315
  <div class="marketplace-detail-section__title">
330
- ${F?`Run adapter`:`Pay`}
316
+ ${Te?`Run adapter`:`Pay`}
331
317
  </div>
332
318
  <div class="muted" style="margin-top: 4px;">
333
- Agent wallet pays the seller, then the ${I(c.serviceKind)} adapter records result, delivery, receipt, and settlement evidence.
319
+ Agent wallet pays the seller, then the ${P(c.serviceKind)} adapter records result, delivery, receipt, and settlement evidence.
334
320
  </div>
335
321
  </div>
336
322
  <div class="row" style="gap: 8px; justify-content: flex-end;">
337
- ${!F&&u?e`
338
- <button
339
- class="btn secondary"
340
- title="Open Wallet to unlock the Agent wallet signing window"
341
- @click=${()=>n.onOpenTaskPayment?.()}
342
- >
343
- Open Wallet
344
- </button>
345
- `:t}
346
323
  <button
347
324
  class="btn primary"
348
- ?disabled=${Ae||!!Ve}
349
- title=${Ve||(F?`Run this paid adapter`:`Pay and run this adapter`)}
325
+ ?disabled=${De||!!Ve}
326
+ title=${Ve||(Te?`Run this paid adapter`:`Pay and run this adapter`)}
350
327
  @click=${()=>n.onRunMarketplaceCapabilityOrder?.(a.configId)}
351
328
  >
352
- ${Ae?`Running...`:F?`Run`:`Pay`}
329
+ ${De?`Running...`:Te?`Run`:`Pay`}
353
330
  </button>
354
331
  </div>
355
332
  </div>
356
- ${!F&&u?e`
357
- <div class="callout warn" style="margin-top: 10px;">
358
- ${u} No payment will run until the signing window is unlocked.
359
- </div>
360
- `:t}
361
- ${ke({orderEntry:a,draftKind:Pe,draftWebhookUrl:Fe,busy:Ie,error:L,message:R,onDraftChange:n.onMarketplaceOrderDeliveryDraftChange,onSave:n.onSaveMarketplaceOrderDeliveryTarget})}
333
+ ${je({orderEntry:a,draftKind:Pe,draftWebhookUrl:Ie,busy:Le,error:Re,message:F,onDraftChange:n.onMarketplaceOrderDeliveryDraftChange,onSave:n.onSaveMarketplaceOrderDeliveryTarget})}
362
334
  <label class="field marketplace-order-run__input">
363
335
  <span>Buyer input</span>
364
336
  <textarea
365
337
  rows="3"
366
338
  .value=${n.summarizeSourceText}
367
339
  @input=${e=>n.onSummarizeSourceTextChange(e.target.value)}
368
- placeholder=${Ne(c.serviceKind)}
340
+ placeholder=${Fe(c.serviceKind)}
369
341
  ></textarea>
370
342
  </label>
371
- ${Ae?e`
343
+ ${De?e`
372
344
  <div class="callout info">
373
345
  Adapter is running. Keep this checkout open; tx evidence, receipt, delivery, and result will
374
346
  update here.
@@ -376,7 +348,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
376
348
  `:n.marketplaceCapabilityOrderError?e`<div class="callout danger">${n.marketplaceCapabilityOrderError}</div>`:n.marketplaceCapabilityOrderMessage?e`<div class="callout success">${n.marketplaceCapabilityOrderMessage}</div>`:Ve?e`<div class="callout">${Ve}</div>`:t}
377
349
  </div>
378
350
  `:t}
379
- ${Me?e`
351
+ ${Ne?e`
380
352
  <div class="marketplace-order-paybar">
381
353
  <div class="marketplace-order-paybar__header">
382
354
  <div>
@@ -386,31 +358,17 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
386
358
  </div>
387
359
  </div>
388
360
  <div class="row" style="gap: 8px; justify-content: flex-end;">
389
- ${u?e`
390
- <button
391
- class="btn secondary"
392
- title="Open Wallet to unlock the Agent wallet signing window"
393
- @click=${()=>n.onOpenTaskPayment?.()}
394
- >
395
- Open Wallet
396
- </button>
397
- `:t}
398
361
  <button
399
362
  class="btn primary"
400
- ?disabled=${P||!!ze}
363
+ ?disabled=${M||!!ze}
401
364
  title=${ze||`Pay from Agent wallet`}
402
365
  @click=${()=>n.onPayMarketplaceManualOrder?.(a.configId)}
403
366
  >
404
- ${P?`Paying...`:`Pay`}
367
+ ${M?`Paying...`:`Pay`}
405
368
  </button>
406
369
  </div>
407
370
  </div>
408
- ${u?e`
409
- <div class="callout warn" style="margin-top: 10px;">
410
- ${u} No payment will run until the signing window is unlocked.
411
- </div>
412
- `:t}
413
- ${P?e`
371
+ ${M?e`
414
372
  <div class="callout info">
415
373
  Payment is running. Keep this checkout open; tx evidence, receipt, and seller delivery state will
416
374
  update here.
@@ -419,14 +377,14 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
419
377
  </div>
420
378
  `:t}
421
379
  <div class="marketplace-detail-grid">
422
- ${ve(a)?K({label:`Seller intake`,value:ye(a)?`Accepted`:c.sellerSyncStatus===`failed`?`Failed`:`Waiting`,meta:ye(a)?c.sellerOrderId?`Sales · ${G(c.sellerOrderId,10,8)}`:`Accepted in seller Sales`:c.sellerSyncError||`Pay waits for seller acceptance.`,title:c.sellerSyncError||c.sellerOrderId||c.sellerEndpoint}):t}
423
- ${K({label:`Payment`,value:O(d.status),meta:`${ae} · ${d.method??`agent-wallet`}`,info:`Direct marketplace payment uses the Agent wallet first, then publishes settlement evidence before the remote paid task is accepted.`})}
424
- ${K({label:`Settlement`,value:de(c),meta:fe(c),info:`Direct settlement is the default invoice, receipt, and payment-evidence path. Escrow is optional and shown only for orders that explicitly use escrow.`})}
425
- ${K({label:`Agent wallet`,value:o?.name??`Required`,meta:ge?`${G(ge,10,8)} · buyer wallet`:`Marketplace orders use Agent wallet only.`})}
426
- ${K({label:`Delivery`,value:k(c),meta:me(c)})}
427
- ${K({label:`Receipt`,value:N,meta:pe(c.receiptRules)})}
380
+ ${be(a)?K({label:`Seller intake`,value:xe(a)?`Accepted`:c.sellerSyncStatus===`failed`?`Failed`:`Waiting`,meta:xe(a)?c.sellerOrderId?`Sales · ${G(c.sellerOrderId,10,8)}`:`Accepted in seller Sales`:c.sellerSyncError||`Pay waits for seller acceptance.`,title:c.sellerSyncError||c.sellerOrderId||c.sellerEndpoint}):t}
381
+ ${K({label:`Payment`,value:E(u.status),meta:`${ae} · ${u.method??`agent-wallet`}`,info:`Direct marketplace payment uses the Agent wallet first, then publishes settlement evidence before the remote paid task is accepted.`})}
382
+ ${K({label:`Settlement`,value:pe(c),meta:me(c),info:`Direct settlement is the default invoice, receipt, and payment-evidence path. Escrow is optional and shown only for orders that explicitly use escrow.`})}
383
+ ${K({label:`Agent wallet`,value:o?.name??`Required`,meta:fe?`${G(fe,10,8)} · buyer wallet`:`Marketplace orders use Agent wallet only.`})}
384
+ ${K({label:`Delivery`,value:D(c),meta:O(c)})}
385
+ ${K({label:`Receipt`,value:A,meta:he(c.receiptRules)})}
428
386
  </div>
429
- ${m?t:e`
387
+ ${p?t:e`
430
388
  <div class="marketplace-order-evidence">
431
389
  <div class="row" style="justify-content: space-between; gap: 12px; align-items: flex-start; flex-wrap: wrap;">
432
390
  <div>
@@ -436,17 +394,17 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
436
394
  </div>
437
395
  </div>
438
396
  <span
439
- class="chip ${le===`verified`?`chip-ok`:le===`failed`?`chip-danger`:`chip-warn`}"
397
+ class="chip ${ue===`verified`?`chip-ok`:ue===`failed`?`chip-danger`:`chip-warn`}"
440
398
  >
441
- ${O(le)}
399
+ ${E(ue)}
442
400
  </span>
443
401
  </div>
444
402
  <div class="marketplace-detail-grid" style="margin-top: 12px;">
445
- ${K({label:`Transfer`,value:T?`Recorded`:d.status===`submitted`?`Submitted`:`Not paid`,meta:T?G(T,10,8):`${d.chain??`chain`} · ${d.assetKind??`asset`}`,title:T})}
446
- ${K({label:`Invoice`,value:C?`Present`:`Pending`,meta:C?G(C,10,8):`Created when payment runs`,title:C})}
447
- ${K({label:`Receipt`,value:w?`Present`:`Pending`,meta:w?G(w,10,8):`Bound to invoice + tx`,title:w})}
448
- ${K({label:`Evidence`,value:oe?`Linked`:`Pending`,meta:oe?G(oe,10,8):`Published before paid task acceptance`,title:oe})}
449
- ${K({label:`Result`,value:se?`Ready`:k(c),meta:se?G(se,10,8):ce?G(ce,10,8):me(c),title:se||ce})}
403
+ ${K({label:`Transfer`,value:C?`Recorded`:u.status===`submitted`?`Submitted`:`Not paid`,meta:C?G(C,10,8):`${u.chain??`chain`} · ${u.assetKind??`asset`}`,title:C})}
404
+ ${K({label:`Invoice`,value:oe?`Present`:`Pending`,meta:oe?G(oe,10,8):`Created when payment runs`,title:oe})}
405
+ ${K({label:`Receipt`,value:S?`Present`:`Pending`,meta:S?G(S,10,8):`Bound to invoice + tx`,title:S})}
406
+ ${K({label:`Evidence`,value:se?`Linked`:`Pending`,meta:se?G(se,10,8):`Published before paid task acceptance`,title:se})}
407
+ ${K({label:`Result`,value:ce?`Ready`:D(c),meta:ce?G(ce,10,8):le?G(le,10,8):O(c),title:ce||le})}
450
408
  </div>
451
409
  </div>
452
410
  `}
@@ -454,12 +412,12 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
454
412
  <summary>More order terms</summary>
455
413
  <div class="marketplace-detail-grid">
456
414
  ${K({label:`Counterparty`,value:B(r.kind===`request`?c.buyerHandle:c.sellerHandle),meta:r.kind===`request`?`buyer request`:`seller offer`})}
457
- ${K({label:`Accepted`,value:ue,meta:`payee ${G(M,10,8)}`,title:M})}
458
- ${K({label:`Subscription`,value:A(c,r),meta:`${he(c,r)} · renewal ${c.subscription?.renewalPolicy??`none`}`})}
459
- ${K({label:`Dispute`,value:xe,meta:`Review unlocks after payment/delivery evidence exists.`})}
415
+ ${K({label:`Accepted`,value:de,meta:`payee ${G(ve,10,8)}`,title:ve})}
416
+ ${K({label:`Subscription`,value:ge(c,r),meta:`${_e(c,r)} · renewal ${c.subscription?.renewalPolicy??`none`}`})}
417
+ ${K({label:`Dispute`,value:j,meta:`Review unlocks after payment/delivery evidence exists.`})}
460
418
  </div>
461
419
  </details>
462
- ${m?e`
420
+ ${p?e`
463
421
  <div class="marketplace-detail-section" style="margin-top: 12px;">
464
422
  <div class="row" style="justify-content: space-between; gap: 12px; align-items: flex-start; flex-wrap: wrap;">
465
423
  <div>
@@ -470,52 +428,52 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
470
428
  </div>
471
429
  </div>
472
430
  <span
473
- class="chip ${j(h)===`ok`?`chip-ok`:j(h)===`danger`?`chip-danger`:`chip-warn`}"
431
+ class="chip ${k(m)===`ok`?`chip-ok`:k(m)===`danger`?`chip-danger`:`chip-warn`}"
474
432
  >
475
- ${O(h)}
433
+ ${E(m)}
476
434
  </span>
477
435
  </div>
478
436
  <div class="marketplace-detail-grid" style="margin-top: 12px;">
479
- ${K({label:`Vault`,value:p.vaultWalletName||p.vaultWalletId||`Required`,meta:p.vaultAddress?G(p.vaultAddress,10,8):`Configure vault wallet before funding.`,title:p.vaultAddress})}
480
- ${K({label:`Funding`,value:p.fundingTxRef?`Submitted`:p.fundingRequestId?`Approval queued`:`Not funded`,meta:p.fundingTxRef?G(p.fundingTxRef,10,8):p.fundingRequestId?G(p.fundingRequestId,10,8):`Agent wallet -> escrow vault`,title:p.fundingTxRef||p.fundingRequestId})}
481
- ${K({label:`Release`,value:p.releaseTxRef?`Released`:p.releaseRequestId?`Approval queued`:`Waiting`,meta:p.releaseTxRef?G(p.releaseTxRef,10,8):p.releaseRequestId?G(p.releaseRequestId,10,8):p.holdPolicy===`manual_release`?`Manual release`:`Release after delivery`,title:p.releaseTxRef||p.releaseRequestId})}
482
- ${K({label:`Refund`,value:p.refundTxRef?`Refunded`:p.refundRequestId?`Approval queued`:p.cancelledAt?`Cancelled`:`Available`,meta:p.refundTxRef?G(p.refundTxRef,10,8):p.refundRequestId?G(p.refundRequestId,10,8):p.cancelledAt?`Cancelled before funding`:`Vault -> Agent payer wallet`,title:p.refundTxRef||p.refundRequestId})}
437
+ ${K({label:`Vault`,value:f.vaultWalletName||f.vaultWalletId||`Required`,meta:f.vaultAddress?G(f.vaultAddress,10,8):`Configure vault wallet before funding.`,title:f.vaultAddress})}
438
+ ${K({label:`Funding`,value:f.fundingTxRef?`Submitted`:f.fundingRequestId?`Approval queued`:`Not funded`,meta:f.fundingTxRef?G(f.fundingTxRef,10,8):f.fundingRequestId?G(f.fundingRequestId,10,8):`Agent wallet -> escrow vault`,title:f.fundingTxRef||f.fundingRequestId})}
439
+ ${K({label:`Release`,value:f.releaseTxRef?`Released`:f.releaseRequestId?`Approval queued`:`Waiting`,meta:f.releaseTxRef?G(f.releaseTxRef,10,8):f.releaseRequestId?G(f.releaseRequestId,10,8):f.holdPolicy===`manual_release`?`Manual release`:`Release after delivery`,title:f.releaseTxRef||f.releaseRequestId})}
440
+ ${K({label:`Refund`,value:f.refundTxRef?`Refunded`:f.refundRequestId?`Approval queued`:f.cancelledAt?`Cancelled`:`Available`,meta:f.refundTxRef?G(f.refundTxRef,10,8):f.refundRequestId?G(f.refundRequestId,10,8):f.cancelledAt?`Cancelled before funding`:`Vault -> Agent payer wallet`,title:f.refundTxRef||f.refundRequestId})}
483
441
  </div>
484
442
  <div class="row" style="margin-top: 12px; justify-content: flex-end; flex-wrap: wrap;">
485
443
  <button
486
444
  class="btn"
487
- ?disabled=${g||!!re}
488
- title=${re||`Cancel this unfunded escrow order`}
445
+ ?disabled=${h||!!x}
446
+ title=${x||`Cancel this unfunded escrow order`}
489
447
  @click=${()=>n.onCancelMarketplaceEscrowOrder?.(a.configId)}
490
448
  >
491
- ${g?`Working...`:`Cancel order`}
449
+ ${h?`Working...`:`Cancel order`}
492
450
  </button>
493
451
  <button
494
452
  class="btn"
495
- ?disabled=${g||!!ne}
453
+ ?disabled=${h||!!ne}
496
454
  title=${ne||`Fund native SOL escrow from the Agent wallet`}
497
455
  @click=${()=>n.onFundMarketplaceEscrowOrder?.(a.configId)}
498
456
  >
499
- ${g?`Working...`:`Fund escrow`}
457
+ ${h?`Working...`:`Fund escrow`}
500
458
  </button>
501
459
  <button
502
460
  class="btn"
503
- ?disabled=${g||!!S}
504
- title=${S||`Request escrow refund to the Agent payer wallet`}
461
+ ?disabled=${h||!!re}
462
+ title=${re||`Request escrow refund to the Agent payer wallet`}
505
463
  @click=${()=>n.onRefundMarketplaceEscrowOrder?.(a.configId)}
506
464
  >
507
- ${g?`Working...`:`Request refund`}
465
+ ${h?`Working...`:`Request refund`}
508
466
  </button>
509
467
  <button
510
468
  class="btn primary"
511
- ?disabled=${g||!!ie}
469
+ ?disabled=${h||!!ie}
512
470
  title=${ie||`Request escrow release to the seller payee`}
513
471
  @click=${()=>n.onReleaseMarketplaceEscrowOrder?.(a.configId)}
514
472
  >
515
- ${g?`Working...`:`Request release`}
473
+ ${h?`Working...`:`Request release`}
516
474
  </button>
517
475
  </div>
518
- ${ne&&!b?e`<div class="callout" style="margin-top: 12px;">${ne}</div>`:re&&!b?e`<div class="callout" style="margin-top: 12px;">${re}</div>`:ie&&b&&!x?e`<div class="callout" style="margin-top: 12px;">${ie}</div>`:S&&b&&!te?e`<div class="callout" style="margin-top: 12px;">${S}</div>`:t}
476
+ ${ne&&!y?e`<div class="callout" style="margin-top: 12px;">${ne}</div>`:x&&!y?e`<div class="callout" style="margin-top: 12px;">${x}</div>`:ie&&y&&!te?e`<div class="callout" style="margin-top: 12px;">${ie}</div>`:re&&y&&!b?e`<div class="callout" style="margin-top: 12px;">${re}</div>`:t}
519
477
  ${n.escrowError?e`<div class="callout danger" style="margin-top: 12px;">${n.escrowError}</div>`:n.escrowMessage?e`<div class="callout success" style="margin-top: 12px;">${n.escrowMessage}</div>`:t}
520
478
  </div>
521
479
  `:t}
@@ -524,14 +482,14 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
524
482
  <div class="muted" style="margin-top: 6px;">
525
483
  Payment, run, delivery, receipt, and dispute state for this saved Fased Network index order.
526
484
  </div>
527
- ${Ee(a)}
485
+ ${Oe(a)}
528
486
  </details>
529
487
  <details class="marketplace-order-disclosure">
530
488
  <summary>Dispute history</summary>
531
489
  <div class="muted" style="margin-top: 6px;">
532
490
  Linked cases, operator resolution text, sanitized evidence refs, and notary opinions for this order.
533
491
  </div>
534
- ${De(qe)}
492
+ ${ke(Ke)}
535
493
  </details>
536
494
  <details class="marketplace-order-disclosure">
537
495
  <summary>Review or dispute</summary>
@@ -543,32 +501,32 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
543
501
  </div>
544
502
  <div class="row" style="gap: 8px; flex-wrap: wrap;">
545
503
  <button
546
- class="btn ${Ue&&n.offerFeedbackTab===`review`?`primary`:``}"
547
- ?disabled=${n.offerFeedbackBusy||!He}
548
- title=${He?`Open a review draft using this order evidence`:`Payment or delivery evidence is required before opening order feedback`}
504
+ class="btn ${He&&n.offerFeedbackTab===`review`?`primary`:``}"
505
+ ?disabled=${n.offerFeedbackBusy||!R}
506
+ title=${R?`Open a review draft using this order evidence`:`Payment or delivery evidence is required before opening order feedback`}
549
507
  @click=${()=>n.onOpenMarketplaceIndexOrderFeedback?.(a.configId,`review`)}
550
508
  >
551
509
  Review
552
510
  </button>
553
511
  <button
554
- class="btn ${Ue&&n.offerFeedbackTab===`dispute`?`primary`:``}"
555
- ?disabled=${n.offerFeedbackBusy||!He}
556
- title=${He?`Open a dispute draft using this order evidence`:`Payment or delivery evidence is required before opening an order dispute`}
512
+ class="btn ${He&&n.offerFeedbackTab===`dispute`?`primary`:``}"
513
+ ?disabled=${n.offerFeedbackBusy||!R}
514
+ title=${R?`Open a dispute draft using this order evidence`:`Payment or delivery evidence is required before opening an order dispute`}
557
515
  @click=${()=>n.onOpenMarketplaceIndexOrderFeedback?.(a.configId,`dispute`)}
558
516
  >
559
517
  Dispute
560
518
  </button>
561
519
  </div>
562
520
  </div>
563
- ${He?e`
521
+ ${R?e`
564
522
  <div class="card" style="margin-top: 12px;">
565
523
  <div class="card-title">Evidence attached</div>
566
524
  <div class="muted" style="margin-top: 6px;">
567
525
  Only scoped order refs and redacted notes are attached. Delivery endpoints and secrets stay hidden.
568
526
  </div>
569
- ${We.length>0?e`
527
+ ${Ue.length>0?e`
570
528
  <div class="chip-row" style="margin-top: 10px;">
571
- ${We.map(t=>e`
529
+ ${Ue.map(t=>e`
572
530
  <span class="chip" title=${t.ref}>
573
531
  ${t.label} ·
574
532
  <span class="mono">${G(t.ref,12,8)}</span>
@@ -578,9 +536,9 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
578
536
  `:e`
579
537
  <div class="muted" style="margin-top: 10px">No attachable refs yet.</div>
580
538
  `}
581
- ${Ge.length>0?e`
539
+ ${We.length>0?e`
582
540
  <div class="stack" style="margin-top: 10px; gap: 8px;">
583
- ${Ge.map(t=>e`
541
+ ${We.map(t=>e`
584
542
  <div class="callout">
585
543
  <strong>${t.label}</strong>
586
544
  <div class="muted" style="margin-top: 4px;">${t.note}</div>
@@ -595,7 +553,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
595
553
  evidence.
596
554
  </div>
597
555
  `}
598
- ${He&&Ue?n.offerFeedbackTab===`review`?e`
556
+ ${R&&He?n.offerFeedbackTab===`review`?e`
599
557
  <div class="card" style="margin-top: 12px;">
600
558
  <div class="card-title">Publish Review</div>
601
559
  <div class="form-grid" style="margin-top: 12px;">
@@ -737,9 +695,9 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
737
695
  Choose Review or Dispute to prefill the draft from this order's saved evidence.
738
696
  </div>
739
697
  `}
740
- ${n.offerFeedbackError?e`<div class="callout danger" style="margin-top: 12px;">${n.offerFeedbackError}</div>`:n.offerFeedbackMessage&&Ue?e`<div class="callout success" style="margin-top: 12px;">${n.offerFeedbackMessage}</div>`:t}
698
+ ${n.offerFeedbackError?e`<div class="callout danger" style="margin-top: 12px;">${n.offerFeedbackError}</div>`:n.offerFeedbackMessage&&He?e`<div class="callout success" style="margin-top: 12px;">${n.offerFeedbackMessage}</div>`:t}
741
699
  </details>
742
- ${!Ce&&c.serviceKind===`content.summarize`?e`
700
+ ${!we&&c.serviceKind===`content.summarize`?e`
743
701
  <div class="callout" style="margin-top: 12px">
744
702
  Automatic execution from saved Fased Network index orders is enabled only for buyer-side content
745
703
  summary orders that are not already running or delivered.
@@ -747,16 +705,16 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
747
705
  `:t}
748
706
  </div>
749
707
  </section>
750
- `}function je(e){return e?`${Me(e.status)} · ${e.visibility}`:`not evaluated`}function Me(e){switch(e){case`bonded-public`:return`Active`;case`draft`:return`Pending`;case`degraded`:return`Limited`;case`suspended`:return`Closed`;default:return String(e||`Pending`)}}function I(e){return r(e)}function Ne(e){switch(e){case`data.lookup`:return`Enter the record, entity, wallet, SKU, or query this paid lookup should resolve.`;case`data.extract`:return`Paste text or records to extract structured fields from.`;case`api.access`:return`Describe the API access scope or request context.`;case`data.feed`:return`Describe the feed topic, filters, cadence, or delivery expectations.`;case`plugin.service`:return`Describe the plugin capability request and expected result.`;case`skill.execution`:return`Describe the skill input and expected result.`;default:return`Enter buyer input for this paid capability.`}}function Pe(e){return e===`request`?`Request`:`Offer`}function Fe(e){let t=String(e??``).trim();return t?t.replace(/^https?:\/\/[^/]+\/offers\//i,``).replace(/[-_]+/g,` `).replace(/\bv(\d+)\b/gi,`v$1`).trim().replace(/\b\w/g,e=>e.toUpperCase()):`Untitled offer`}function Ie(e){return`${e.kind}:${e.handle}:${e.item.id}`}function L(e){return String(e??``).trim().toLowerCase()}function R(e,t){let n=L(e),r=L(t);return!!(n&&r&&n===r)}function Le(e,t){if(!e)return null;let n=L(e.id),r=L(e.actor),i=L(e.title),a=L(e.serviceKind);return t.find(e=>{let t=L(e.offer.id),o=L(e.configId);return!!(n&&(n===t||n===o)||r&&r===L(e.offer.actor)&&a&&a===L(e.offer.serviceKind)&&i&&i===L(e.offer.title))})??null}function Re(e,t){if(!e)return null;let n=L(e.id),r=L(e.actor),i=L(e.title),a=L(e.serviceKind);return t.find(e=>{let t=L(e.request.id),o=L(e.configId);return!!(n&&(n===t||n===o)||r&&r===L(e.request.actor)&&a&&a===L(e.request.serviceKind)&&i&&i===L(e.request.title))})??null}function ze(e){return e.entry?R(e.entry.handle,e.currentHandle)||R(e.entry.offer.actor,e.currentHandle)||!!Le(e.entry.offer,e.localOffers):!1}function Be(e){let{entry:t}=e;return t?R(t.handle,e.currentHandle)?!0:t.kind===`offer`?!!Le(t.item,e.localOffers):!!Re(t.item,e.localRequests):!1}function Ve(e,t){let n=L(e.offerId);return!!(n&&t.some(e=>n===L(e.offer.id)||n===L(e.configId)))}function He(e,t){let n=L(e.requestId);return!!(n&&t.some(e=>n===L(e.request.id)||n===L(e.configId)))}function Ue(e){let{order:t}=e.entry;return R(t.sellerHandle,e.currentHandle)?!0:Ve(t,e.localOffers)}function We(e){return e.status!==`closed`&&e.status!==`cancelled`}function Ge(e){let t=e.trust?.sellerLane;if(t)return{label:Me(t.status),tone:t.eligible?`ok`:`warn`};let n=String(e.status??``).toLowerCase();return n===`verified`||n===`active`?{label:`Active`,tone:`ok`}:n===`blocked`||n===`revoked`||n===`closed`?{label:`Closed`,tone:`warn`}:{label:`Pending`,tone:`warn`}}function Ke(e){let t=e.capacity??{},n=t.maxBuyers,r=t.remainingSlots;if(typeof r==`number`&&typeof n==`number`)return`${r}/${n} slots`;if(typeof r==`number`)return`${r} slots`;let i=typeof t.status==`string`?t.status:``;return i?i.replace(/[-_]+/gu,` `):`Open`}function qe(e){let t=e.delivery?.methods,n=Array.isArray(t)?t.filter(e=>typeof e==`string`&&e.trim().length>0):[];return n.length>0?[...new Set(n.map(e=>e.trim()))]:[e.item.deliveryShape,...e.item.deliveryMethods??[]].filter(e=>typeof e==`string`&&e.trim().length>0).map(e=>e.trim())}function Je(e){let t=qe(e);return t.length>0?t.slice(0,3).join(`, `):`App inbox`}function Ye(e){let t=e.subscription??e.item.subscription;if(!t||t.status===`not_applicable`)return`One-time`;let n=t.billingPeriod?.replace(/[-_]+/gu,` `)??`custom`;return`${t.status??`active`} · ${n}`}function Xe(e){return e.reputationTrustScore?.score??0}function z(e){let t=e.reputationTrustScore?.level;return t===`excellent`||t===`good`||t===`fair`?`ok`:`warn`}function Ze(e){return typeof e==`number`?e>=70?`ok`:e>=45?`warn`:`danger`:`warn`}function Qe(e){let t=e.reputationTrustScore;return t?`${t.score} · ${t.label}`:`Unscored`}function $e(e){switch(e){case`excellent`:return 85;case`good`:return 70;case`fair`:return 55;case`caution`:return 40;default:return 0}}var et={market:[{value:`all`,label:`All status`},{value:`active`,label:`Active`},{value:`pending`,label:`Pending`},{value:`closed`,label:`Closed`}],listings:[{value:`all`,label:`All status`},{value:`indexed`,label:`Indexed`},{value:`ready`,label:`Ready`},{value:`active`,label:`Active`},{value:`draft`,label:`Draft`},{value:`closed`,label:`Closed`}],purchases:[{value:`all`,label:`All status`},{value:`paid`,label:`Paid`},{value:`unpaid`,label:`Unpaid`},{value:`delivered`,label:`Delivered`},{value:`failed`,label:`Failed`},{value:`seller-waiting`,label:`Seller waiting`},{value:`running`,label:`Running`}],sales:[{value:`all`,label:`All status`},{value:`paid`,label:`Paid`},{value:`unpaid`,label:`Unpaid`},{value:`delivered`,label:`Delivered`},{value:`failed`,label:`Failed`},{value:`running`,label:`Running`}],reviews:[{value:`all`,label:`All status`},{value:`verified`,label:`Paid`},{value:`pending`,label:`Pending`},{value:`unpaid`,label:`Unpaid`},{value:`satisfied`,label:`Satisfied`},{value:`partial`,label:`Partial`},{value:`failed`,label:`Failed`}],disputes:[{value:`all`,label:`All status`},{value:`open`,label:`Open`},{value:`under_review`,label:`Under review`},{value:`resolved`,label:`Resolved`},{value:`dismissed`,label:`Dismissed`},{value:`verified`,label:`Paid`},{value:`pending`,label:`Pending`},{value:`unpaid`,label:`Unpaid`}]};function tt(e){let t=Ge(e).label.toLowerCase();return t===`closed`?`closed`:t===`active`?`active`:`pending`}function nt(e){let t=e.order,n=t.paymentIntent?.status??`draft`,r=t.settlement?.status??``,i=t.delivery?.status??``;return t.sellerSyncStatus===`failed`||n===`failed`||r===`failed`||i===`failed`?`failed`:ve(e)&&!ye(e)?`seller-waiting`:e.status===`delivered`||i===`delivered`?`delivered`:n===`verified`||r===`settled`||r===`verified`?`paid`:e.status===`running`||n===`submitted`||r===`submitted`?`running`:`unpaid`}function rt(t){let n=t.reputationTrustScore;return n?e`
708
+ `}function Ne(e){return e?`${Pe(e.status)} · ${e.visibility}`:`not evaluated`}function Pe(e){switch(e){case`bonded-public`:return`Active`;case`draft`:return`Pending`;case`degraded`:return`Limited`;case`suspended`:return`Closed`;default:return String(e||`Pending`)}}function P(e){return r(e)}function Fe(e){switch(e){case`data.lookup`:return`Enter the record, entity, wallet, SKU, or query this paid lookup should resolve.`;case`data.extract`:return`Paste text or records to extract structured fields from.`;case`api.access`:return`Describe the API access scope or request context.`;case`data.feed`:return`Describe the feed topic, filters, cadence, or delivery expectations.`;case`plugin.service`:return`Describe the plugin capability request and expected result.`;case`skill.execution`:return`Describe the skill input and expected result.`;default:return`Enter buyer input for this paid capability.`}}function Ie(e){return e===`request`?`Request`:`Offer`}function Le(e){let t=String(e??``).trim();return t?t.replace(/^https?:\/\/[^/]+\/offers\//i,``).replace(/[-_]+/g,` `).replace(/\bv(\d+)\b/gi,`v$1`).trim().replace(/\b\w/g,e=>e.toUpperCase()):`Untitled offer`}function Re(e){return`${e.kind}:${e.handle}:${e.item.id}`}function F(e){return String(e??``).trim().toLowerCase()}function I(e,t){let n=F(e),r=F(t);return!!(n&&r&&n===r)}function L(e,t){if(!e)return null;let n=F(e.id),r=F(e.actor),i=F(e.title),a=F(e.serviceKind);return t.find(e=>{let t=F(e.offer.id),o=F(e.configId);return!!(n&&(n===t||n===o)||r&&r===F(e.offer.actor)&&a&&a===F(e.offer.serviceKind)&&i&&i===F(e.offer.title))})??null}function ze(e,t){if(!e)return null;let n=F(e.id),r=F(e.actor),i=F(e.title),a=F(e.serviceKind);return t.find(e=>{let t=F(e.request.id),o=F(e.configId);return!!(n&&(n===t||n===o)||r&&r===F(e.request.actor)&&a&&a===F(e.request.serviceKind)&&i&&i===F(e.request.title))})??null}function Be(e){return e.entry?I(e.entry.handle,e.currentHandle)||I(e.entry.offer.actor,e.currentHandle)||!!L(e.entry.offer,e.localOffers):!1}function Ve(e){let{entry:t}=e;return t?I(t.handle,e.currentHandle)?!0:t.kind===`offer`?!!L(t.item,e.localOffers):!!ze(t.item,e.localRequests):!1}function R(e,t){let n=F(e.offerId);return!!(n&&t.some(e=>n===F(e.offer.id)||n===F(e.configId)))}function He(e,t){let n=F(e.requestId);return!!(n&&t.some(e=>n===F(e.request.id)||n===F(e.configId)))}function Ue(e){let{order:t}=e.entry;return I(t.sellerHandle,e.currentHandle)?!0:R(t,e.localOffers)}function We(e){return e.status!==`closed`&&e.status!==`cancelled`}function Ge(e){let t=e.trust?.sellerLane;if(t)return{label:Pe(t.status),tone:t.eligible?`ok`:`warn`};let n=String(e.status??``).toLowerCase();return n===`verified`||n===`active`?{label:`Active`,tone:`ok`}:n===`blocked`||n===`revoked`||n===`closed`?{label:`Closed`,tone:`warn`}:{label:`Pending`,tone:`warn`}}function Ke(e){let t=e.capacity??{},n=t.maxBuyers,r=t.remainingSlots;if(typeof r==`number`&&typeof n==`number`)return`${r}/${n} slots`;if(typeof r==`number`)return`${r} slots`;let i=typeof t.status==`string`?t.status:``;return i?i.replace(/[-_]+/gu,` `):`Open`}function z(e){let t=e.delivery?.methods,n=Array.isArray(t)?t.filter(e=>typeof e==`string`&&e.trim().length>0):[];return n.length>0?[...new Set(n.map(e=>e.trim()))]:[e.item.deliveryShape,...e.item.deliveryMethods??[]].filter(e=>typeof e==`string`&&e.trim().length>0).map(e=>e.trim())}function qe(e){let t=z(e);return t.length>0?t.slice(0,3).join(`, `):`App inbox`}function Je(e){let t=e.subscription??e.item.subscription;if(!t||t.status===`not_applicable`)return`One-time`;let n=t.billingPeriod?.replace(/[-_]+/gu,` `)??`custom`;return`${t.status??`active`} · ${n}`}function Ye(e){return e.reputationTrustScore?.score??0}function Xe(e){let t=e.reputationTrustScore?.level;return t===`excellent`||t===`good`||t===`fair`?`ok`:`warn`}function Ze(e){return typeof e==`number`?e>=70?`ok`:e>=45?`warn`:`danger`:`warn`}function Qe(e){let t=e.reputationTrustScore;return t?`${t.score} · ${t.label}`:`Unscored`}function $e(e){switch(e){case`excellent`:return 85;case`good`:return 70;case`fair`:return 55;case`caution`:return 40;default:return 0}}var et={market:[{value:`all`,label:`All status`},{value:`active`,label:`Active`},{value:`pending`,label:`Pending`},{value:`closed`,label:`Closed`}],listings:[{value:`all`,label:`All status`},{value:`indexed`,label:`Indexed`},{value:`ready`,label:`Ready`},{value:`active`,label:`Active`},{value:`draft`,label:`Draft`},{value:`closed`,label:`Closed`}],purchases:[{value:`all`,label:`All status`},{value:`paid`,label:`Paid`},{value:`unpaid`,label:`Unpaid`},{value:`delivered`,label:`Delivered`},{value:`failed`,label:`Failed`},{value:`seller-waiting`,label:`Seller waiting`},{value:`running`,label:`Running`}],sales:[{value:`all`,label:`All status`},{value:`paid`,label:`Paid`},{value:`unpaid`,label:`Unpaid`},{value:`delivered`,label:`Delivered`},{value:`failed`,label:`Failed`},{value:`running`,label:`Running`}],reviews:[{value:`all`,label:`All status`},{value:`verified`,label:`Paid`},{value:`pending`,label:`Pending`},{value:`unpaid`,label:`Unpaid`},{value:`satisfied`,label:`Satisfied`},{value:`partial`,label:`Partial`},{value:`failed`,label:`Failed`}],disputes:[{value:`all`,label:`All status`},{value:`open`,label:`Open`},{value:`under_review`,label:`Under review`},{value:`resolved`,label:`Resolved`},{value:`dismissed`,label:`Dismissed`},{value:`verified`,label:`Paid`},{value:`pending`,label:`Pending`},{value:`unpaid`,label:`Unpaid`}]};function tt(e){let t=Ge(e).label.toLowerCase();return t===`closed`?`closed`:t===`active`?`active`:`pending`}function nt(e){let t=e.order,n=t.paymentIntent?.status??`draft`,r=t.settlement?.status??``,i=t.delivery?.status??``;return t.sellerSyncStatus===`failed`||n===`failed`||r===`failed`||i===`failed`?`failed`:be(e)&&!xe(e)?`seller-waiting`:e.status===`delivered`||i===`delivered`?`delivered`:n===`verified`||r===`settled`||r===`verified`?`paid`:e.status===`running`||n===`submitted`||r===`submitted`?`running`:`unpaid`}function rt(t){let n=t.reputationTrustScore;return n?e`
751
709
  <span
752
- class=${z(t)===`ok`?`chip chip-ok`:`chip chip-warn`}
710
+ class=${Xe(t)===`ok`?`chip chip-ok`:`chip chip-warn`}
753
711
  title=${`${n.summary} · confidence ${n.confidence}`}
754
712
  >
755
713
  Trust ${n.score} · ${n.label}
756
714
  </span>
757
715
  `:e`
758
716
  <span class="chip chip-warn">Unscored</span>
759
- `}function it(e){let t=e.sellerProfileTrustHistory?.listingCounts.serviceKinds??{};return Object.entries(t).toSorted((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).slice(0,3).map(([e,t])=>`${I(e)} ${t}`).join(` · `)||`No public services`}function at(n){let r=n.sellerProfileTrustHistory;if(!r)return e`
717
+ `}function it(e){let t=e.sellerProfileTrustHistory?.listingCounts.serviceKinds??{};return Object.entries(t).toSorted((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).slice(0,3).map(([e,t])=>`${P(e)} ${t}`).join(` · `)||`No public services`}function at(n){let r=n.sellerProfileTrustHistory;if(!r)return e`
760
718
  <div class="muted" style="margin-top: 10px">
761
719
  No seller-wide trust history is indexed for this provider yet.
762
720
  </div>
@@ -787,14 +745,14 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
787
745
  </div>
788
746
  `:e`
789
747
  <div class="list compact" style="margin-top: 10px;">
790
- ${n.map(n=>{let r=Ie(n);return e`
748
+ ${n.map(n=>{let r=Re(n);return e`
791
749
  <div class="list-item">
792
750
  <div class="list-main">
793
- <div class="list-title">${Fe(n.item.title??n.item.id)}</div>
751
+ <div class="list-title">${Le(n.item.title??n.item.id)}</div>
794
752
  <div class="list-sub">
795
- ${I(n.item.serviceKind)} ·
796
- ${E(n.item)??`Quote`} ·
797
- ${Je(n)}
753
+ ${P(n.item.serviceKind)} ·
754
+ ${w(n.item)??`Quote`} ·
755
+ ${qe(n)}
798
756
  </div>
799
757
  <div class="chip-row" style="margin-top: 8px;">
800
758
  ${rt(n)}
@@ -871,12 +829,12 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
871
829
  >
872
830
  ${n}
873
831
  </a>
874
- `:t}function H(e){let t=e?.trim()??``;if(!t)return`n/a`;let n=Date.parse(t);return Number.isFinite(n)?new Date(n).toLocaleString():t}function pt(e){let t=e?.trim()??``;if(!t)return`n/a`;let n=Date.parse(t);return Number.isFinite(n)?new Date(n).toLocaleDateString(void 0,{month:`short`,day:`numeric`}):t}function mt(e){let t=Date.parse(e??``);return Number.isFinite(t)?t:0}function ht(e){let t=e?.trim()??``;if(!t)return null;let n=Date.parse(`${t}T00:00:00`);return Number.isFinite(n)?n:null}function U(e){let t=e?.trim()??``;if(!t)return null;let n=Date.parse(`${t}T23:59:59.999`);return Number.isFinite(n)?n:null}function gt(e,t,n){let r=ht(t),i=U(n);if(r==null&&i==null)return!0;let a=mt(e);return a?(r==null||a>=r)&&(i==null||a<=i):!1}function _t(e,t,n){let r=mt(e),i=mt(t);return n===`oldest`?r-i:i-r}function vt(e){let t=e?.trim()??``;return t?`https://solscan.io/account/${encodeURIComponent(t)}?cluster=devnet`:null}function yt(r,i){let a=r?.trim()??``;return a?e`
832
+ `:t}function H(e){let t=e?.trim()??``;if(!t)return`n/a`;let n=Date.parse(t);return Number.isFinite(n)?new Date(n).toLocaleString():t}function pt(e){let t=e?.trim()??``;if(!t)return`n/a`;let n=Date.parse(t);return Number.isFinite(n)?new Date(n).toLocaleDateString(void 0,{month:`short`,day:`numeric`}):t}function mt(e){let t=Date.parse(e??``);return Number.isFinite(t)?t:0}function U(e){let t=e?.trim()??``;if(!t)return null;let n=Date.parse(`${t}T00:00:00`);return Number.isFinite(n)?n:null}function ht(e){let t=e?.trim()??``;if(!t)return null;let n=Date.parse(`${t}T23:59:59.999`);return Number.isFinite(n)?n:null}function gt(e,t,n){let r=U(t),i=ht(n);if(r==null&&i==null)return!0;let a=mt(e);return a?(r==null||a>=r)&&(i==null||a<=i):!1}function _t(e,t,n){let r=mt(e),i=mt(t);return n===`oldest`?r-i:i-r}function W(e){let t=e?.trim()??``;return t?`https://solscan.io/account/${encodeURIComponent(t)}?cluster=devnet`:null}function vt(r,i){let a=r?.trim()??``;return a?e`
875
833
  <span class="row" style="gap: 6px; align-items: center; flex-wrap: nowrap;">
876
834
  ${dt(n.copy,`Copy ${i}`,()=>void ut(a))}
877
- ${ft(n.externalLink,`Open ${i} in Solscan`,vt(a)??void 0)}
835
+ ${ft(n.externalLink,`Open ${i} in Solscan`,W(a)??void 0)}
878
836
  </span>
879
- `:t}var W=100000000000n;function bt(e){let t=e?.trim()??``;if(!t)return`0 SAT`;try{let e=t.startsWith(`-`),n=e?t.slice(1):t;if(!/^\d+$/.test(n))return`0 SAT`;let r=BigInt(n),i=r/W,a=r%W;if(a===0n)return`${e?`-`:``}${i.toString()} SAT`;let o=a/(W/100n);return i===0n&&o===0n?`${e?`-`:``}<0.01 SAT`:`${e?`-`:``}${i.toString()}.${o.toString().padStart(2,`0`)} SAT`}catch{return`0 SAT`}}function xt(e){let t=e?.trim()??``;if(!t)return`n/a`;try{if(!/^\d+$/.test(t))return`n/a`;let e=BigInt(t),n=e/1000000000n,r=(e%1000000000n).toString().padStart(9,`0`).replace(/0+$/,``);return`${n.toString()}${r?`.${r.slice(0,6)}`:``} SOL`}catch{return`n/a`}}function St(e,t){try{let n=BigInt(e?.trim()||`0`),r=BigInt(t?.trim()||`0`);return n===r?0:n>r?1:-1}catch{return-1}}function Ct(e){try{return BigInt(e?.trim()||`0`)>0n}catch{return!1}}function wt(n){if(typeof n==`string`){let r=n.trim();return r?e`<div class="federation-fact__meta">${r}</div>`:t}return n==null||n===!1?t:e`<div class="federation-fact__meta">${n}</div>`}function G(e,t=10,n=8){let r=e?.trim()??``;return r?r.length<=t+n+3?r:`${r.slice(0,t)}...${r.slice(-n)}`:`missing`}function Tt(e){return[e.symbol?.trim(),e.chain?.trim(),e.kind?.trim()].filter(Boolean).join(` · `)||`asset`}function Et(e){let t=e.thresholds,n=e.observed;return[`history ${n.historyDaysObserved}/${t.historyDays}d`,`marketplace ${n.marketplaceRunsObserved}/${t.marketplaceRuns}`,`notary ${n.disputeNotaryCasesObserved}/${t.disputeNotaryCases}`,`verifier ${n.settlementVerifierCasesObserved}/${t.settlementVerifierCases}`,`routing ${n.routingRunsObserved}/${t.routingRuns}`].join(` · `)}function Dt(e){switch(e){case`marketplace`:return`Marketplace service fee`;case`dispute-notary`:return`Dispute review fee`;case`settlement-verifier`:return`Settlement verification fee`;case`routing`:return`Routing service fee`;default:return e}}function Ot(e){switch(e){case`marketplace`:return`Taken only from real public bonded seller-lane orders, beside provider settlement.`;case`dispute-notary`:return`Taken only when a bonded dispute-notary review is explicitly invoked on a real case.`;case`settlement-verifier`:return`Taken only when bonded settlement verification is explicitly invoked for ambiguous or manual-review cases.`;case`routing`:return`Deferred in this release until routing measurements are mature enough to support a real fee lane.`;default:return`Fee lane state loaded.`}}function kt(e){switch(e){case`federation_ops_reserve`:return`Fased Network operations reserve for running the network surface.`;case`measurement_review_reserve`:return`Review and measurement reserve for validating operator activity quality over time.`;case`dispute_review_reserve`:return`Dispute review reserve for bonded notary and case-review overhead.`;case`verifier_audit_reserve`:return`Verifier audit reserve for settlement-review and audit support.`;case`future_operator_share_reserve`:return`Held operator reserve. Reviewed distribution can happen later; release stays off in this release.`;default:return`Reserve bucket.`}}function K(n){return e`
837
+ `:t}var yt=100000000000n;function bt(e){let t=e?.trim()??``;if(!t)return`0 SAT`;try{let e=t.startsWith(`-`),n=e?t.slice(1):t;if(!/^\d+$/.test(n))return`0 SAT`;let r=BigInt(n),i=r/yt,a=r%yt;if(a===0n)return`${e?`-`:``}${i.toString()} SAT`;let o=a/(yt/100n);return i===0n&&o===0n?`${e?`-`:``}<0.01 SAT`:`${e?`-`:``}${i.toString()}.${o.toString().padStart(2,`0`)} SAT`}catch{return`0 SAT`}}function xt(e){let t=e?.trim()??``;if(!t)return`n/a`;try{if(!/^\d+$/.test(t))return`n/a`;let e=BigInt(t),n=e/1000000000n,r=(e%1000000000n).toString().padStart(9,`0`).replace(/0+$/,``);return`${n.toString()}${r?`.${r.slice(0,6)}`:``} SOL`}catch{return`n/a`}}function St(e,t){try{let n=BigInt(e?.trim()||`0`),r=BigInt(t?.trim()||`0`);return n===r?0:n>r?1:-1}catch{return-1}}function Ct(e){try{return BigInt(e?.trim()||`0`)>0n}catch{return!1}}function wt(n){if(typeof n==`string`){let r=n.trim();return r?e`<div class="federation-fact__meta">${r}</div>`:t}return n==null||n===!1?t:e`<div class="federation-fact__meta">${n}</div>`}function G(e,t=10,n=8){let r=e?.trim()??``;return r?r.length<=t+n+3?r:`${r.slice(0,t)}...${r.slice(-n)}`:`missing`}function Tt(e){return[e.symbol?.trim(),e.chain?.trim(),e.kind?.trim()].filter(Boolean).join(` · `)||`asset`}function Et(e){let t=e.thresholds,n=e.observed;return[`history ${n.historyDaysObserved}/${t.historyDays}d`,`marketplace ${n.marketplaceRunsObserved}/${t.marketplaceRuns}`,`notary ${n.disputeNotaryCasesObserved}/${t.disputeNotaryCases}`,`verifier ${n.settlementVerifierCasesObserved}/${t.settlementVerifierCases}`,`routing ${n.routingRunsObserved}/${t.routingRuns}`].join(` · `)}function Dt(e){switch(e){case`marketplace`:return`Marketplace service fee`;case`dispute-notary`:return`Dispute review fee`;case`settlement-verifier`:return`Settlement verification fee`;case`routing`:return`Routing service fee`;default:return e}}function Ot(e){switch(e){case`marketplace`:return`Taken only from real public bonded seller-lane orders, beside provider settlement.`;case`dispute-notary`:return`Taken only when a bonded dispute-notary review is explicitly invoked on a real case.`;case`settlement-verifier`:return`Taken only when bonded settlement verification is explicitly invoked for ambiguous or manual-review cases.`;case`routing`:return`Deferred in this release until routing measurements are mature enough to support a real fee lane.`;default:return`Fee lane state loaded.`}}function kt(e){switch(e){case`federation_ops_reserve`:return`Fased Network operations reserve for running the network surface.`;case`measurement_review_reserve`:return`Review and measurement reserve for validating operator activity quality over time.`;case`dispute_review_reserve`:return`Dispute review reserve for bonded notary and case-review overhead.`;case`verifier_audit_reserve`:return`Verifier audit reserve for settlement-review and audit support.`;case`future_operator_share_reserve`:return`Held operator reserve. Reviewed distribution can happen later; release stays off in this release.`;default:return`Reserve bucket.`}}function K(n){return e`
880
838
  <div class="federation-fact" title=${n.title??``}>
881
839
  <div class="row" style="justify-content: space-between; align-items: center; gap: 8px;">
882
840
  <div class="federation-fact__label">${n.label}</div>
@@ -898,11 +856,11 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
898
856
  >
899
857
  ${t.icon}
900
858
  </span>
901
- `:e`<span class=${n} title=${t.title}>${t.label}</span>`}function jt(e){return(e?.snapshot?.output?.result?.summaryText??e?.snapshot?.output?.outputText??``).trim()}function Mt(e){let t=e.walletNamedWallets.filter(t=>Pt(t)===`agent`||t.id===e.defaultWalletId&&!Pt(t)),n=t.find(t=>t.id===e.defaultWalletId),r=n&&!Nt(e,n)?n:null;if(r)return{wallet:r,implicit:!1};let i=t.find(t=>!Nt(e,t));return i?{wallet:i,implicit:!1}:n?{wallet:n,implicit:!1}:{wallet:t[0]??null,implicit:!1}}function Nt(e,t){let n=(t?e.walletCustodyByWalletId?.[t.id]:void 0)??e.walletStatus?.custody;return!t||!n||n.target?.walletId!==t.id?``:n.mode===`split-key-active`&&!n.unlock?.active?`Unlock the Agent wallet in Wallet before paying. This wallet is protected by split-key custody.`:``}function Pt(e){let t=e.metadata;if(!t||typeof t!=`object`||Array.isArray(t))return;let n=(typeof t.purpose==`string`?t.purpose:typeof t.role==`string`?t.role:``).trim().toLowerCase();if(n===`agent`||n===`vault`||n===`mining`)return n}function Ft(t,r=`No reviews for this offer yet.`){return t.length===0?e`
859
+ `:e`<span class=${n} title=${t.title}>${t.label}</span>`}function jt(e){return(e?.snapshot?.output?.result?.summaryText??e?.snapshot?.output?.outputText??``).trim()}function Mt(e){let t=e.walletNamedWallets.filter(t=>Nt(t)===`agent`||t.id===e.defaultWalletId&&!Nt(t)),n=t.find(t=>t.id===e.defaultWalletId);return n?{wallet:n,implicit:!1}:{wallet:t[0]??null,implicit:!1}}function Nt(e){let t=e.metadata;if(!t||typeof t!=`object`||Array.isArray(t))return;let n=(typeof t.purpose==`string`?t.purpose:typeof t.role==`string`?t.role:``).trim().toLowerCase();if(n===`agent`||n===`vault`||n===`mining`)return n}function Pt(t,r=`No reviews for this offer yet.`){return t.length===0?e`
902
860
  <div class="muted" style="margin-top: 10px">${r}</div>
903
861
  `:e`
904
862
  <div class="list" style="margin-top: 10px;">
905
- ${t.map(t=>{let r=t.result?.kind?I(t.result.kind):`Service`;return e`
863
+ ${t.map(t=>{let r=t.result?.kind?P(t.result.kind):`Service`;return e`
906
864
  <div class="list-item" title=${[`Review: ${t.reviewId}`,`Task: ${t.taskId}`,`Offer: ${t.offerId}`,t.summary?`Summary: ${t.summary}`:``].filter(Boolean).join(`
907
865
  `)}>
908
866
  <div class="list-main">
@@ -914,7 +872,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
914
872
  ${n.check}
915
873
  </span>
916
874
  <div class="marketplace-offer-sub">
917
- Review · Offer · ${r} · ${O(t.paymentStatus)}
875
+ Review · Offer · ${r} · ${E(t.paymentStatus)}
918
876
  · ${B(t.reviewerHandle)}
919
877
  </div>
920
878
  </div>
@@ -923,11 +881,11 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
923
881
  </div>
924
882
  `})}
925
883
  </div>
926
- `}function It(t,r=`No disputes for this offer yet.`){return t.length===0?e`
884
+ `}function Ft(t,r=`No disputes for this offer yet.`){return t.length===0?e`
927
885
  <div class="muted" style="margin-top: 10px">${r}</div>
928
886
  `:e`
929
887
  <div class="list" style="margin-top: 10px;">
930
- ${t.map(t=>{let r=t.result?.kind?I(t.result.kind):`Service`;return e`
888
+ ${t.map(t=>{let r=t.result?.kind?P(t.result.kind):`Service`;return e`
931
889
  <div class="list-item" title=${[`Case: ${t.caseId}`,`Task: ${t.taskId}`,`Offer: ${t.offerId}`,t.summary?`Summary: ${t.summary}`:``,t.resolution?`Resolution: ${t.resolution}`:``].filter(Boolean).join(`
932
890
  `)}>
933
891
  <div class="list-main">
@@ -941,17 +899,17 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
941
899
  </span>
942
900
  <div class="marketplace-offer-sub">
943
901
  Dispute · Offer · ${r} ·
944
- ${O(t.paymentStatus)} ·
902
+ ${E(t.paymentStatus)} ·
945
903
  ${B(t.reporterHandle)}
946
904
  </div>
947
905
  </div>
948
- ${Lt(t.evidenceRefs,4)}
906
+ ${It(t.evidenceRefs,4)}
949
907
  </div>
950
908
  <div class="list-meta">${pt(t.createdAt)}</div>
951
909
  </div>
952
910
  `})}
953
911
  </div>
954
- `}function Lt(n,r=8){let i=c(n);if(i.length===0)return t;let a=i.slice(0,r),o=i.length-a.length;return e`
912
+ `}function It(n,r=8){let i=c(n);if(i.length===0)return t;let a=i.slice(0,r),o=i.length-a.length;return e`
955
913
  <div class="chip-row" style="margin-top: 8px;">
956
914
  ${a.map(t=>e`
957
915
  <span class="chip" title=${t}>
@@ -960,7 +918,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
960
918
  `)}
961
919
  ${o>0?e`<span class="chip">+${o} refs</span>`:t}
962
920
  </div>
963
- `}function Rt(n){let r=n??[];return r.length===0?e`
921
+ `}function Lt(n){let r=n??[];return r.length===0?e`
964
922
  <div class="muted" style="margin-top: 8px">
965
923
  No notary opinions have been published for this case yet.
966
924
  </div>
@@ -977,13 +935,13 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
977
935
  ${n.recommendedResolution?e` · recommends <span class="mono">${n.recommendedResolution}</span>`:t}
978
936
  </div>
979
937
  ${n.summary?e`<div class="muted" style="margin-top: 6px;">${n.summary}</div>`:t}
980
- ${Lt(n.evidenceRefs,4)}
938
+ ${It(n.evidenceRefs,4)}
981
939
  </div>
982
940
  <div class="list-meta">${n.createdAt}</div>
983
941
  </div>
984
942
  `)}
985
943
  </div>
986
- `}function zt(e,t){return t?.bondStatus===`active`&&t.bondTier===`operator-bond`||e?.token?.bondStatus===`active`&&e.token.bondTier===`operator-bond`||e?.bond?.status===`active`&&e.bond.tier===`operator-bond`}function Bt(r){let a=(r.view??`federation`)===`marketplace`,s=r.marketplaceSection??`market`,l=r.marketplaceIndexDetailTab,p=l===`seller`||l===`trust`||l===`history`||l===`terms`?l:`overview`,m=r.marketplaceSellerProfileTab??`summary`,h=r.selectedOfferId?r.offers.find(e=>e.offer.id===r.selectedOfferId)??null:null,g=r.summarizeResult?.status===`accepted`?r.summarizeResult:null,b=!!g,x=g&&h&&g.offerId===h.offer.id&&g.taskId?g:null,pe=Mt(r),k=pe.wallet,me=Nt(r,k),A=!!k,he=h?ue(h):null,M=!!h?.offer.paymentDefaults,N=r.offerFeedbackTab===`dispute`?`dispute`:`review`,_e=jt(r.summarizeResult),be=h?.offer.title?.trim()||h?.offer.serviceKind?.trim()||`Selected offer`,xe=h?E(h.offer)??`Quote`:`Quote`,Se=h?D(h.offer):`Manual`,Ce=h?ce(h.offer)??`Terms set by provider`:`Terms set by provider`,P=r.operatorDisputes.find(e=>e.caseId===r.operatorSelectedCaseId)??r.operatorDisputes[0]??null,we=P?(r.disputeNotaryRecords??[]).filter(e=>e.caseId===P.caseId):[],F=zt(r.status,r.token),Ee=r.status?.token??null,De=Ee?.publicUrl?.trim()||``,Oe=r.status?.joined===!0&&!!Ee&&!De,ke=r.managedMode?!!Ee:!!r.token,Ne=Ee?.trustState??`pending`,L=r.directory.filter(e=>!te(e)),R=String(r.managedMode?Ee?.handle??``:r.token?.handle??``).trim(),Ve=[...L].toSorted((e,t)=>ne(t)-ne(e)),qe=Ve.find(e=>e.handle===R)??Ve[0]??null,z=r.managedMode?Ee:r.token,Ze=z?.handle??``,it=z?.expiresAt??`n/a`,ft=H(z?.expiresAt),mt=r.managedMode?Ne:r.token?.trustState??`pending`,ht=re(r.error),U=r.status?.bond??null,vt=U?.tier??z?.bondTier??`none`,W=U?.status??z?.bondStatus??`missing`,wt=U?.derivedScopes??z?.bondDerivedScopes??[],Bt=bt(U?.amountRaw??z?.bondAmountRaw??`0`),Vt=bt(U?.vaultBalances?.satRaw??`0`),Ht=xt(U?.vaultBalances?.solLamports),Ut=U?.staking?.distributor,Wt=U?.staking?.position,Gt=Wt?.estimatedClaimableRewardRaw??Wt?.claimableRewardRaw??`0`,Kt=bt(Gt),qt=bt(Ut?.rewardVaultBalanceRaw??Ut?.observedRewardVaultRaw??`0`),Jt=Ct(Gt)?`ready`:`no rewards`,Yt=`50000000000000`,Xt=Ut?.minStakeRaw??Yt,Zt=bt(St(Xt,Yt)>=0?Xt:Yt),Qt=Ct(Gt)||Ut?.status===`active`&&Wt?.exists===!0&&Ct(Wt.activeStakeRaw),$t=`Bond tier: ${vt}. Status: ${W}.`,en=r.walletNamedWallets.filter(e=>!!e.addresses?.solana&&e.id!==r.defaultWalletId&&e.id!==r.miningAttachedWalletId&&Pt(e)===`vault`),tn=r.bondWalletIdDraft?.trim()||U?.walletId||``,nn=r.bondAmountDraft?.trim()||(vt===`operator-bond`?`500`:`25`),q=r.bondBusyAction?.trim()||null,rn=r.bondActionBusy===!0&&!q,an=rn||q===`set-wallet`||q===`clear-wallet`,on=rn||q===`open`||q===`increase`||q===`request-unlock`||q===`cancel-unlock`||q===`finalize-unlock`||q===`submit-proof`,sn=rn||q===`init-staking`||q===`sync-staking`||q===`claim-staking`,cn=(e,t)=>{e.preventDefault(),e.stopPropagation(),t?.()},ln=r.status?.sellerLane??qe?.sellerLane??null,un=ln?.eligible??wt.includes(`offers.publish`),dn=S(r.status),fn=je(ln),pn=U?.walletAddress??z?.bondWallet?.address??``,mn=U?.bondId??``,hn=Ze?G(Ze,8,4):`Not joined`,gn=pn?G(pn,4,4):`Configure`,_n=mn?G(mn,4,4):`Configure`,vn=r.localOfferDraftOpen,J=r.localListingDraftKind??`offer`,yn=J===`request`?r.localRequestEditingId?`Edit request`:`New request`:r.localOfferEditingId?`Edit offer`:`New offer`,bn=o(r.localOfferServiceKindDraft),xn=r.localOfferPriceUnitDraft??`per-job`,Sn=ee.find(e=>e.value===xn)??ee[0],Cn=r.localOfferFulfillmentModeDraft??`agent-approval`,wn=v.find(e=>e.value===Cn)??v[0],Tn=w(r.localOfferPaymentRailsDraft,`agent-wallet`),En=y.find(e=>e.value===Tn)??y[0],Dn=T(r.localOfferAcceptedAssetsDraft??`USDC, SOL, SAT, FCOD`),On=r.localOfferPriceAmountDraft?.trim()?`${r.localOfferPriceAmountDraft.trim()} ${r.localOfferCurrencyDraft??`USDC`} / ${C(xn,void 0)}`:`Quote in ${r.localOfferCurrencyDraft??`USDC`} / ${C(xn,void 0)}`,kn=H(qe?.lastSeenAt??qe?.reviewedAt),An=z&&kn!==`n/a`?`Seen ${kn}`:``,jn=ln?.eligible?`Live`:`Off`,Mn=U?.unlockReady===!0,Nn=W===`unlocking`&&U?.unlockAvailableAt?U.unlockCurrentSlot&&U.unlockCurrentSlot>0?`Unlock pending until ${U.unlockAvailableAt} (current ${U.unlockCurrentSlot})`:`Unlock pending until ${U.unlockAvailableAt}`:null,Pn=r.feeOpsLoading===!0,Fn=r.feeOpsError??null,In=r.feeCollectionStatus??[],Ln=r.feeObjects??[],Rn=r.feeBucketJournal??[],zn=r.feeBucketBalances??[],Bn=r.feeReconciliationReports??[],Vn=r.feeAutoDecisions??[],Hn=r.feeShowcase??null,Y=In.find(e=>e.lane===`marketplace`)??null,Un=In.find(e=>e.lane===`dispute-notary`)??null,Wn=In.find(e=>e.lane===`settlement-verifier`)??null,Gn=In.find(e=>e.lane===`routing`)??null,Kn=zn.length>0||Ln.length>0,qn=Rn.length>0||Bn.length>0||Vn.length>0,Jn=Hn?.simulated?`Showcase`:Kn||qn?`Collecting`:In.length>0?`Gated`:`Idle`,Yn=Hn?.simulated?`warn`:Kn||qn?`ok`:`neutral`,Xn=!!r.status?.joined||Pn||!!Fn||Hn?.available===!0||In.length>0||Ln.length>0||Rn.length>0||zn.length>0||Bn.length>0||Vn.length>0,Zn=h?.offer.serviceKind===`content.summarize`,X=r.localOffers.filter(e=>e.source!==`builtin`),Z=r.localRequests??[],Qn=r.localOrders??[],$n=r.marketplaceIndexEntries??[],er=r.marketplaceKindFilter??`all`,tr=r.marketplaceTrustFilter??`all`,nr=r.marketplaceSort??`latest`,rr=r.marketplaceDateFromFilter??``,ir=r.marketplaceDateToFilter??``,ar=et[s]??et.market,Q=ar.some(e=>e.value===r.marketplaceStatusFilter)?r.marketplaceStatusFilter??`all`:`all`,or=$e(tr),sr=$n.filter(e=>(er===`all`||e.kind===er)&&Xe(e)>=or).toSorted((e,t)=>_t(e.updatedAt??e.indexedAt,t.updatedAt??t.indexedAt,nr)||Xe(t)-Xe(e)),cr=sr.filter(e=>(Q===`all`||tt(e)===Q)&&gt(e.updatedAt??e.indexedAt,rr,ir)),lr=sr.filter(e=>Be({entry:e,currentHandle:R,localOffers:X,localRequests:Z})),ur=sr.filter(e=>!lr.includes(e)),$=$n.find(e=>Ie(e)===r.marketplaceIndexSelectedEntryId)??null,dr=$?Ie($):``,fr=Te($,Qn),pr=$?.kind===`offer`?Le($.item,X):null,mr=Be({entry:$,currentHandle:R,localOffers:X,localRequests:Z}),hr=mr?$?.kind===`request`?`This is your own request. Other sellers can respond to it.`:`This is your own offer. Buyers can start checkout from it.`:A?``:`Create an Agent wallet before starting Marketplace checkout.`,gr=Le(h?.offer,X),_r=ze({entry:h,currentHandle:R,localOffers:X}),vr=_r?`This is your own offer. Buyers can start checkout from it.`:k?``:`Create an Agent wallet before starting Marketplace checkout.`,yr=r.marketplaceSellerProfileHandle?.trim()??``,br=r.marketplaceSellerProfileEntries??[],xr=br.find(e=>e.sellerProfileTrustHistory)??$n.find(e=>e.handle===yr)??null,Sr=X.filter(e=>e.enabled).length,Cr=Qn.filter(e=>Ue({entry:e,currentHandle:R,localOffers:X,localRequests:Z})),wr=Qn.filter(e=>!Cr.includes(e)),Tr=wr.filter(We).length,Er=Cr.filter(We).length,Dr=r.offerDisputes.filter(e=>e.status===`open`||e.status===`under_review`).length+r.operatorDisputes.filter(e=>e.status===`open`||e.status===`under_review`).length,Or=[{id:`market`,label:`Market`,count:cr.length},{id:`listings`,label:`Listings`,count:X.length+Z.length},{id:`purchases`,label:`Purchases`,count:wr.length},{id:`sales`,label:`Sales`,count:Cr.length},{id:`reviews`,label:`Reviews`,count:r.offerReviews.length},{id:`disputes`,label:`Disputes`,count:Dr}],kr=[{id:`overview`,label:`Overview`},{id:`seller`,label:`Seller`},{id:`trust`,label:`Trust`},{id:`history`,label:`History`},{id:`terms`,label:`Terms`}],Ar=[{id:`summary`,label:`Summary`},{id:`offers`,label:`Offers`},{id:`requests`,label:`Requests`},{id:`reviews`,label:`Reviews`},{id:`disputes`,label:`Disputes`},{id:`notary`,label:`Notary`}],jr=[...X.map(e=>{let t=se({local:e}),n=lr.find(t=>t.kind===`offer`&&!!Le(t.item,[e]))??null,r=n?`Indexed`:e.enabled&&e.offer.visibility!==`private`?`Ready`:`Local`;return{id:`local:${e.configId}`,kind:`offer`,title:Fe(e.offer.title??e.offer.id),provider:`My offer`,providerTitle:e.configId,service:I(e.offer.serviceKind),serviceRaw:e.offer.serviceKind??`unknown`,price:E(e.offer)??`Quote`,asset:D(e.offer),settlement:le(e.offer)??`Manual`,status:t.label,statusTone:t.tone,indexStatus:r,indexTone:n?`ok`:`warn`,indexTitle:n?`Published ${H(n.indexedAt)}`:`Not currently visible in the public Fased Network index`,summary:e.offer.summary??``,updatedAt:n?.updatedAt??n?.indexedAt??e.offer.updatedAt??e.offer.createdAt,local:e,remote:null,request:null}}),...Z.map(e=>{let t=E(e.request)??`Quote`,n=lr.find(t=>t.kind===`request`&&!!Re(t.item,[e]))??null,r=n?`Indexed`:e.enabled&&e.status===`open`&&e.request.visibility!==`private`?`Ready`:`Local`;return{id:`request:${e.configId}`,kind:`request`,title:Fe(e.request.title??e.request.id),provider:`My request`,providerTitle:e.configId,service:I(e.request.serviceKind),serviceRaw:e.request.serviceKind??`unknown`,price:t,asset:D(e.request),settlement:`${t} · ${D(e.request)}`,status:e.status===`open`?`Open`:e.status===`matched`?`Matched`:`Draft`,statusTone:e.status===`open`||e.status===`matched`?`ok`:`warn`,indexStatus:r,indexTone:n?`ok`:`warn`,indexTitle:n?`Published ${H(n.indexedAt)}`:`Not currently visible in the public Fased Network index`,summary:e.request.summary??``,updatedAt:n?.updatedAt??n?.indexedAt??e.request.updatedAt??e.request.createdAt,local:null,remote:null,request:e}})],Mr=r.offersQuery.trim().toLowerCase(),Nr=jr.filter(e=>er!==`all`&&e.kind!==er||r.offersServiceKindFilter!==`all`&&e.serviceRaw!==r.offersServiceKindFilter||Q!==`all`&&![e.status.toLowerCase(),e.indexStatus.toLowerCase(),e.kind===`request`&&e.status.toLowerCase()===`open`?`active`:``].includes(Q)||!gt(e.updatedAt,rr,ir)?!1:Mr?[e.title,e.summary,e.provider,e.service,e.serviceRaw].join(` `).toLowerCase().includes(Mr):!0).toSorted((e,t)=>_t(e.updatedAt,t.updatedAt,nr)),Pr=e=>(Q===`all`||nt(e)===Q)&&gt(e.order.updatedAt??e.order.createdAt,rr,ir),Fr=wr.filter(Pr),Ir=Cr.filter(Pr),Lr=r.offerReviews.filter(e=>(Q===`all`||e.paymentStatus===Q||e.deliveryOutcome===Q)&&gt(e.updatedAt??e.createdAt,rr,ir)).toSorted((e,t)=>_t(e.updatedAt??e.createdAt,t.updatedAt??t.createdAt,nr)),Rr=[...r.offerDisputes,...r.operatorDisputes].filter(e=>(Q===`all`||e.status===Q||e.paymentStatus===Q)&&gt(e.updatedAt??e.reviewedAt??e.createdAt,rr,ir)).toSorted((e,t)=>_t(e.updatedAt??e.reviewedAt??e.createdAt,t.updatedAt??t.reviewedAt??t.createdAt,nr)),zr=(t=ar)=>e`
944
+ `}function Rt(e,t){return t?.bondStatus===`active`&&t.bondTier===`operator-bond`||e?.token?.bondStatus===`active`&&e.token.bondTier===`operator-bond`||e?.bond?.status===`active`&&e.bond.tier===`operator-bond`}function zt(r){let a=(r.view??`federation`)===`marketplace`,s=r.marketplaceSection??`market`,l=r.marketplaceIndexDetailTab,p=l===`seller`||l===`trust`||l===`history`||l===`terms`?l:`overview`,m=r.marketplaceSellerProfileTab??`summary`,h=r.selectedOfferId?r.offers.find(e=>e.offer.id===r.selectedOfferId)??null:null,g=r.summarizeResult?.status===`accepted`?r.summarizeResult:null,te=!!g,b=g&&h&&g.offerId===h.offer.id&&g.taskId?g:null,he=Mt(r),D=he.wallet,O=!!D,ge=h?fe(h):null,_e=!!h?.offer.paymentDefaults,A=r.offerFeedbackTab===`dispute`?`dispute`:`review`,j=jt(r.summarizeResult),ye=h?.offer.title?.trim()||h?.offer.serviceKind?.trim()||`Selected offer`,Se=h?w(h.offer)??`Quote`:`Quote`,Ce=h?T(h.offer):`Manual`,we=h?ue(h.offer)??`Terms set by provider`:`Terms set by provider`,M=r.operatorDisputes.find(e=>e.caseId===r.operatorSelectedCaseId)??r.operatorDisputes[0]??null,Te=M?(r.disputeNotaryRecords??[]).filter(e=>e.caseId===M.caseId):[],Ee=Rt(r.status,r.token),N=r.status?.token??null,Oe=N?.publicUrl?.trim()||``,ke=r.status?.joined===!0&&!!N&&!Oe,Ae=r.managedMode?!!N:!!r.token,je=N?.trustState??`pending`,Fe=r.directory.filter(e=>!ne(e)),F=String(r.managedMode?N?.handle??``:r.token?.handle??``).trim(),I=[...Fe].toSorted((e,t)=>re(t)-re(e)),R=I.find(e=>e.handle===F)??I[0]??null,z=r.managedMode?N:r.token,Xe=z?.handle??``,Ze=z?.expiresAt??`n/a`,it=H(z?.expiresAt),ft=r.managedMode?je:r.token?.trustState??`pending`,mt=ie(r.error),U=r.status?.bond??null,ht=U?.tier??z?.bondTier??`none`,W=U?.status??z?.bondStatus??`missing`,yt=U?.derivedScopes??z?.bondDerivedScopes??[],wt=bt(U?.amountRaw??z?.bondAmountRaw??`0`),zt=bt(U?.vaultBalances?.satRaw??`0`),Bt=xt(U?.vaultBalances?.solLamports),Vt=U?.staking?.distributor,Ht=U?.staking?.position,Ut=Ht?.estimatedClaimableRewardRaw??Ht?.claimableRewardRaw??`0`,Wt=bt(Ut),Gt=bt(Vt?.rewardVaultBalanceRaw??Vt?.observedRewardVaultRaw??`0`),Kt=Ct(Ut)?`ready`:`no rewards`,qt=`50000000000000`,Jt=Vt?.minStakeRaw??qt,Yt=bt(St(Jt,qt)>=0?Jt:qt),Xt=Ct(Ut)||Vt?.status===`active`&&Ht?.exists===!0&&Ct(Ht.activeStakeRaw),Zt=`Bond tier: ${ht}. Status: ${W}.`,Qt=r.walletNamedWallets.filter(e=>!!e.addresses?.solana&&e.id!==r.defaultWalletId&&e.id!==r.miningAttachedWalletId&&Nt(e)===`vault`),$t=r.bondWalletIdDraft?.trim()||U?.walletId||``,en=r.bondAmountDraft?.trim()||(ht===`operator-bond`?`500`:`25`),q=r.bondBusyAction?.trim()||null,tn=r.bondActionBusy===!0&&!q,nn=tn||q===`set-wallet`||q===`clear-wallet`,rn=tn||q===`open`||q===`increase`||q===`request-unlock`||q===`cancel-unlock`||q===`finalize-unlock`||q===`submit-proof`,an=tn||q===`init-staking`||q===`sync-staking`||q===`claim-staking`,on=(e,t)=>{e.preventDefault(),e.stopPropagation(),t?.()},sn=r.status?.sellerLane??R?.sellerLane??null,cn=sn?.eligible??yt.includes(`offers.publish`),ln=x(r.status),un=Ne(sn),dn=U?.walletAddress??z?.bondWallet?.address??``,fn=U?.bondId??``,pn=Xe?G(Xe,8,4):`Not joined`,mn=dn?G(dn,4,4):`Configure`,hn=fn?G(fn,4,4):`Configure`,gn=r.localOfferDraftOpen,J=r.localListingDraftKind??`offer`,_n=J===`request`?r.localRequestEditingId?`Edit request`:`New request`:r.localOfferEditingId?`Edit offer`:`New offer`,vn=o(r.localOfferServiceKindDraft),yn=r.localOfferPriceUnitDraft??`per-job`,bn=ee.find(e=>e.value===yn)??ee[0],xn=r.localOfferFulfillmentModeDraft??`agent-approval`,Sn=v.find(e=>e.value===xn)??v[0],Cn=C(r.localOfferPaymentRailsDraft,`agent-wallet`),wn=y.find(e=>e.value===Cn)??y[0],Tn=se(r.localOfferAcceptedAssetsDraft??`USDC, SOL, SAT, FCOD`),En=r.localOfferPriceAmountDraft?.trim()?`${r.localOfferPriceAmountDraft.trim()} ${r.localOfferCurrencyDraft??`USDC`} / ${S(yn,void 0)}`:`Quote in ${r.localOfferCurrencyDraft??`USDC`} / ${S(yn,void 0)}`,Dn=H(R?.lastSeenAt??R?.reviewedAt),On=z&&Dn!==`n/a`?`Seen ${Dn}`:``,kn=sn?.eligible?`Live`:`Off`,An=U?.unlockReady===!0,jn=W===`unlocking`&&U?.unlockAvailableAt?U.unlockCurrentSlot&&U.unlockCurrentSlot>0?`Unlock pending until ${U.unlockAvailableAt} (current ${U.unlockCurrentSlot})`:`Unlock pending until ${U.unlockAvailableAt}`:null,Mn=r.feeOpsLoading===!0,Nn=r.feeOpsError??null,Pn=r.feeCollectionStatus??[],Fn=r.feeObjects??[],In=r.feeBucketJournal??[],Ln=r.feeBucketBalances??[],Rn=r.feeReconciliationReports??[],zn=r.feeAutoDecisions??[],Bn=r.feeShowcase??null,Y=Pn.find(e=>e.lane===`marketplace`)??null,Vn=Pn.find(e=>e.lane===`dispute-notary`)??null,Hn=Pn.find(e=>e.lane===`settlement-verifier`)??null,Un=Pn.find(e=>e.lane===`routing`)??null,Wn=Ln.length>0||Fn.length>0,Gn=In.length>0||Rn.length>0||zn.length>0,Kn=Bn?.simulated?`Showcase`:Wn||Gn?`Collecting`:Pn.length>0?`Gated`:`Idle`,qn=Bn?.simulated?`warn`:Wn||Gn?`ok`:`neutral`,Jn=!!r.status?.joined||Mn||!!Nn||Bn?.available===!0||Pn.length>0||Fn.length>0||In.length>0||Ln.length>0||Rn.length>0||zn.length>0,Yn=h?.offer.serviceKind===`content.summarize`,X=r.localOffers.filter(e=>e.source!==`builtin`),Z=r.localRequests??[],Xn=r.localOrders??[],Zn=r.marketplaceIndexEntries??[],Qn=r.marketplaceKindFilter??`all`,$n=r.marketplaceTrustFilter??`all`,er=r.marketplaceSort??`latest`,tr=r.marketplaceDateFromFilter??``,nr=r.marketplaceDateToFilter??``,rr=et[s]??et.market,Q=rr.some(e=>e.value===r.marketplaceStatusFilter)?r.marketplaceStatusFilter??`all`:`all`,ir=$e($n),ar=Zn.filter(e=>(Qn===`all`||e.kind===Qn)&&Ye(e)>=ir).toSorted((e,t)=>_t(e.updatedAt??e.indexedAt,t.updatedAt??t.indexedAt,er)||Ye(t)-Ye(e)),or=ar.filter(e=>(Q===`all`||tt(e)===Q)&&gt(e.updatedAt??e.indexedAt,tr,nr)),sr=ar.filter(e=>Ve({entry:e,currentHandle:F,localOffers:X,localRequests:Z})),cr=ar.filter(e=>!sr.includes(e)),$=Zn.find(e=>Re(e)===r.marketplaceIndexSelectedEntryId)??null,lr=$?Re($):``,ur=De($,Xn),dr=$?.kind===`offer`?L($.item,X):null,fr=Ve({entry:$,currentHandle:F,localOffers:X,localRequests:Z}),pr=fr?$?.kind===`request`?`This is your own request. Other sellers can respond to it.`:`This is your own offer. Buyers can start checkout from it.`:O?``:`Create an Agent wallet before starting Marketplace checkout.`,mr=L(h?.offer,X),hr=Be({entry:h,currentHandle:F,localOffers:X}),gr=hr?`This is your own offer. Buyers can start checkout from it.`:D?``:`Create an Agent wallet before starting Marketplace checkout.`,_r=r.marketplaceSellerProfileHandle?.trim()??``,vr=r.marketplaceSellerProfileEntries??[],yr=vr.find(e=>e.sellerProfileTrustHistory)??Zn.find(e=>e.handle===_r)??null,br=X.filter(e=>e.enabled).length,xr=Xn.filter(e=>Ue({entry:e,currentHandle:F,localOffers:X,localRequests:Z})),Sr=Xn.filter(e=>!xr.includes(e)),Cr=Sr.filter(We).length,wr=xr.filter(We).length,Tr=r.offerDisputes.filter(e=>e.status===`open`||e.status===`under_review`).length+r.operatorDisputes.filter(e=>e.status===`open`||e.status===`under_review`).length,Er=[{id:`market`,label:`Market`,count:or.length},{id:`listings`,label:`Listings`,count:X.length+Z.length},{id:`purchases`,label:`Purchases`,count:Sr.length},{id:`sales`,label:`Sales`,count:xr.length},{id:`reviews`,label:`Reviews`,count:r.offerReviews.length},{id:`disputes`,label:`Disputes`,count:Tr}],Dr=[{id:`overview`,label:`Overview`},{id:`seller`,label:`Seller`},{id:`trust`,label:`Trust`},{id:`history`,label:`History`},{id:`terms`,label:`Terms`}],Or=[{id:`summary`,label:`Summary`},{id:`offers`,label:`Offers`},{id:`requests`,label:`Requests`},{id:`reviews`,label:`Reviews`},{id:`disputes`,label:`Disputes`},{id:`notary`,label:`Notary`}],kr=[...X.map(e=>{let t=le({local:e}),n=sr.find(t=>t.kind===`offer`&&!!L(t.item,[e]))??null,r=n?`Indexed`:e.enabled&&e.offer.visibility!==`private`?`Ready`:`Local`;return{id:`local:${e.configId}`,kind:`offer`,title:Le(e.offer.title??e.offer.id),provider:`My offer`,providerTitle:e.configId,service:P(e.offer.serviceKind),serviceRaw:e.offer.serviceKind??`unknown`,price:w(e.offer)??`Quote`,asset:T(e.offer),settlement:de(e.offer)??`Manual`,status:t.label,statusTone:t.tone,indexStatus:r,indexTone:n?`ok`:`warn`,indexTitle:n?`Published ${H(n.indexedAt)}`:`Not currently visible in the public Fased Network index`,summary:e.offer.summary??``,updatedAt:n?.updatedAt??n?.indexedAt??e.offer.updatedAt??e.offer.createdAt,local:e,remote:null,request:null}}),...Z.map(e=>{let t=w(e.request)??`Quote`,n=sr.find(t=>t.kind===`request`&&!!ze(t.item,[e]))??null,r=n?`Indexed`:e.enabled&&e.status===`open`&&e.request.visibility!==`private`?`Ready`:`Local`;return{id:`request:${e.configId}`,kind:`request`,title:Le(e.request.title??e.request.id),provider:`My request`,providerTitle:e.configId,service:P(e.request.serviceKind),serviceRaw:e.request.serviceKind??`unknown`,price:t,asset:T(e.request),settlement:`${t} · ${T(e.request)}`,status:e.status===`open`?`Open`:e.status===`matched`?`Matched`:`Draft`,statusTone:e.status===`open`||e.status===`matched`?`ok`:`warn`,indexStatus:r,indexTone:n?`ok`:`warn`,indexTitle:n?`Published ${H(n.indexedAt)}`:`Not currently visible in the public Fased Network index`,summary:e.request.summary??``,updatedAt:n?.updatedAt??n?.indexedAt??e.request.updatedAt??e.request.createdAt,local:null,remote:null,request:e}})],Ar=r.offersQuery.trim().toLowerCase(),jr=kr.filter(e=>Qn!==`all`&&e.kind!==Qn||r.offersServiceKindFilter!==`all`&&e.serviceRaw!==r.offersServiceKindFilter||Q!==`all`&&![e.status.toLowerCase(),e.indexStatus.toLowerCase(),e.kind===`request`&&e.status.toLowerCase()===`open`?`active`:``].includes(Q)||!gt(e.updatedAt,tr,nr)?!1:Ar?[e.title,e.summary,e.provider,e.service,e.serviceRaw].join(` `).toLowerCase().includes(Ar):!0).toSorted((e,t)=>_t(e.updatedAt,t.updatedAt,er)),Mr=e=>(Q===`all`||nt(e)===Q)&&gt(e.order.updatedAt??e.order.createdAt,tr,nr),Nr=Sr.filter(Mr),Pr=xr.filter(Mr),Fr=r.offerReviews.filter(e=>(Q===`all`||e.paymentStatus===Q||e.deliveryOutcome===Q)&&gt(e.updatedAt??e.createdAt,tr,nr)).toSorted((e,t)=>_t(e.updatedAt??e.createdAt,t.updatedAt??t.createdAt,er)),Ir=[...r.offerDisputes,...r.operatorDisputes].filter(e=>(Q===`all`||e.status===Q||e.paymentStatus===Q)&&gt(e.updatedAt??e.reviewedAt??e.createdAt,tr,nr)).toSorted((e,t)=>_t(e.updatedAt??e.reviewedAt??e.createdAt,t.updatedAt??t.reviewedAt??t.createdAt,er)),Lr=(t=rr)=>e`
987
945
  <div class="form-grid marketplace-filter-grid" style="margin-top: 12px;">
988
946
  <label class="field">
989
947
  <span>Status</span>
@@ -998,7 +956,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
998
956
  <span>From</span>
999
957
  <input
1000
958
  type="date"
1001
- .value=${rr}
959
+ .value=${tr}
1002
960
  @input=${e=>r.onMarketplaceDateFromFilterChange?.(e.target.value)}
1003
961
  />
1004
962
  </label>
@@ -1006,14 +964,14 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
1006
964
  <span>To</span>
1007
965
  <input
1008
966
  type="date"
1009
- .value=${ir}
967
+ .value=${nr}
1010
968
  @input=${e=>r.onMarketplaceDateToFilterChange?.(e.target.value)}
1011
969
  />
1012
970
  </label>
1013
971
  <label class="field">
1014
972
  <span>Sort</span>
1015
973
  <select
1016
- .value=${nr}
974
+ .value=${er}
1017
975
  @change=${e=>r.onMarketplaceSortChange?.(e.target.value)}
1018
976
  >
1019
977
  <option value="latest">Latest first</option>
@@ -1021,7 +979,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
1021
979
  </select>
1022
980
  </label>
1023
981
  </div>
1024
- `,Br=(a,o)=>{if(a.length===0)return e`<div class="muted" style="margin-top: 12px">${o.emptyText}</div>`;let s=a.toSorted((e,t)=>_t(e.order.updatedAt??e.order.createdAt,t.order.updatedAt??t.order.createdAt,nr));return e`
982
+ `,Rr=(a,o)=>{if(a.length===0)return e`<div class="muted" style="margin-top: 12px">${o.emptyText}</div>`;let s=a.toSorted((e,t)=>_t(e.order.updatedAt??e.order.createdAt,t.order.updatedAt??t.order.createdAt,er));return e`
1025
983
  <div class="marketplace-table-wrap">
1026
984
  <table class="marketplace-table">
1027
985
  <thead>
@@ -1038,17 +996,17 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
1038
996
  </tr>
1039
997
  </thead>
1040
998
  <tbody>
1041
- ${s.map(a=>{let s=a.order,c=s.paymentIntent?.status??`draft`,l=de(s),u=fe(s),d=s.delivery?.status??`pending`,p=s.receipt?.receiptId||s.receiptId,m=s.receipt?.invoiceId||s.invoiceId,h=s.paymentIntent?.txRef||s.receipt?.txRef||s.txRef,g=s.delivery?.targetLabel||s.delivery?.targetKind||s.delivery?.targetMasked||s.delivery?.deliveryShape||`App`,_=s.delivery?.resultRef,ee=s.delivery?.notes,v=[`Payment: ${O(c)}`,`Settlement: ${l}`,u,m?`Invoice: ${m}`:``,p?`Receipt: ${p}`:``,h?`Tx: ${h}`:``].filter(Boolean).join(`
1042
- `),y=[`Delivery: ${O(d)}`,`Target: ${g}`,s.delivery?.targetMasked?`Masked target: ${s.delivery.targetMasked}`:``,_?`Result: ${_}`:``,ee].filter(Boolean).join(`
1043
- `),b=j(c),x=j(d),te=o.kind===`sale`&&s.serviceKind!==`content.summarize`&&!i(s.serviceKind)&&d!==`delivered`&&(c===`verified`||s.settlement?.status===`settled`||s.settlement?.status===`verified`),ne=r.marketplaceManualOrderBusyId===a.configId,S=s.subscription,re=S?.status??`not_applicable`,ie=S&&re!==`not_applicable`?`${re.replace(/_/gu,` `)} · ${S.billingPeriod??`custom`}`:`one-time`,ae=S?.maxBuyers==null?``:`${S.remainingSlots??S.maxBuyers}/${S.maxBuyers} slots`,C=$n.find(e=>e.kind===`request`?s.requestId===e.item.id:s.offerId===e.item.id)??null,w=C?Ie(C):``,T=o.kind===`sale`?s.buyerHandle||s.requestId||s.offerId||`buyer`:s.sellerHandle||s.offerId||s.requestId||`seller`,oe=He(s,Z),D=Pe(C?.kind??(oe||s.requestId&&!s.offerId?`request`:`offer`)),se=I(s.serviceKind),ce=o.kind===`sale`?`Sale`:oe?`Request draft`:`Purchase`,le=[o.kind===`sale`?`Seller-side work`:`Buyer-side checkout`,`${D} · ${se}`,a.configId,s.id?`Order: ${s.id}`:``,s.offerId?`Offer: ${s.offerId}`:``,s.requestId?`Request: ${s.requestId}`:``].filter(Boolean).join(`
1044
- `),ue=ve(a),pe=ye(a),k=pe?`seller accepted`:s.sellerSyncStatus===`failed`?`seller failed`:`seller waiting`;return e`
999
+ ${s.map(a=>{let s=a.order,c=s.paymentIntent?.status??`draft`,l=pe(s),u=me(s),d=s.delivery?.status??`pending`,p=s.receipt?.receiptId||s.receiptId,m=s.receipt?.invoiceId||s.invoiceId,h=s.paymentIntent?.txRef||s.receipt?.txRef||s.txRef,g=s.delivery?.targetLabel||s.delivery?.targetKind||s.delivery?.targetMasked||s.delivery?.deliveryShape||`App`,_=s.delivery?.resultRef,ee=s.delivery?.notes,v=[`Payment: ${E(c)}`,`Settlement: ${l}`,u,m?`Invoice: ${m}`:``,p?`Receipt: ${p}`:``,h?`Tx: ${h}`:``].filter(Boolean).join(`
1000
+ `),y=[`Delivery: ${E(d)}`,`Target: ${g}`,s.delivery?.targetMasked?`Masked target: ${s.delivery.targetMasked}`:``,_?`Result: ${_}`:``,ee].filter(Boolean).join(`
1001
+ `),te=k(c),b=k(d),ne=o.kind===`sale`&&s.serviceKind!==`content.summarize`&&!i(s.serviceKind)&&d!==`delivered`&&(c===`verified`||s.settlement?.status===`settled`||s.settlement?.status===`verified`),re=r.marketplaceManualOrderBusyId===a.configId,x=s.subscription,ie=x?.status??`not_applicable`,ae=x&&ie!==`not_applicable`?`${ie.replace(/_/gu,` `)} · ${x.billingPeriod??`custom`}`:`one-time`,oe=x?.maxBuyers==null?``:`${x.remainingSlots??x.maxBuyers}/${x.maxBuyers} slots`,S=Zn.find(e=>e.kind===`request`?s.requestId===e.item.id:s.offerId===e.item.id)??null,C=S?Re(S):``,se=o.kind===`sale`?s.buyerHandle||s.requestId||s.offerId||`buyer`:s.sellerHandle||s.offerId||s.requestId||`seller`,ce=He(s,Z),T=Ie(S?.kind??(ce||s.requestId&&!s.offerId?`request`:`offer`)),le=P(s.serviceKind),ue=o.kind===`sale`?`Sale`:ce?`Request draft`:`Purchase`,de=[o.kind===`sale`?`Seller-side work`:`Buyer-side checkout`,`${T} · ${le}`,a.configId,s.id?`Order: ${s.id}`:``,s.offerId?`Offer: ${s.offerId}`:``,s.requestId?`Request: ${s.requestId}`:``].filter(Boolean).join(`
1002
+ `),fe=be(a),he=xe(a),D=he?`seller accepted`:s.sellerSyncStatus===`failed`?`seller failed`:`seller waiting`;return e`
1045
1003
  <tr
1046
1004
  id=${f(s.id?`marketplace-order`:s.requestId?`marketplace-request`:`marketplace-offer`,s.id||s.requestId||s.offerId||a.configId)}
1047
1005
  >
1048
1006
  <td>
1049
1007
  <div class="marketplace-offer-main">
1050
1008
  <div class="marketplace-offer-title">${s.title??a.configId}</div>
1051
- <div class="marketplace-listing-line" title=${le}>
1009
+ <div class="marketplace-listing-line" title=${de}>
1052
1010
  <span
1053
1011
  class="marketplace-inline-icon"
1054
1012
  title=${o.kind===`sale`?`Sale`:`Purchase`}
@@ -1056,38 +1014,38 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
1056
1014
  ${o.kind===`sale`?n.scrollText:n.wallet}
1057
1015
  </span>
1058
1016
  <div class="marketplace-offer-sub">
1059
- ${ce} · ${D} · ${se}
1017
+ ${ue} · ${T} · ${le}
1060
1018
  </div>
1061
1019
  </div>
1062
- ${ue?e`
1020
+ ${fe?e`
1063
1021
  <div class="chip-row" style="margin-top: 6px;">
1064
1022
  <span
1065
- class=${pe?`chip chip-ok`:s.sellerSyncStatus===`failed`?`chip chip-danger`:`chip chip-warn`}
1023
+ class=${he?`chip chip-ok`:s.sellerSyncStatus===`failed`?`chip chip-danger`:`chip chip-warn`}
1066
1024
  title=${s.sellerSyncError||s.sellerOrderId||s.sellerEndpoint||``}
1067
1025
  >
1068
- ${k}
1026
+ ${D}
1069
1027
  </span>
1070
1028
  </div>
1071
1029
  `:t}
1072
1030
  </div>
1073
1031
  </td>
1074
- <td title=${T}>
1075
- <span class="mono">${B(T)}</span>
1032
+ <td title=${se}>
1033
+ <span class="mono">${B(se)}</span>
1076
1034
  </td>
1077
- <td><strong>${E(s)??`Quote`}</strong></td>
1035
+ <td><strong>${w(s)??`Quote`}</strong></td>
1078
1036
  <td title=${v}>
1079
- <span class=${ge(b)}>
1080
- ${c===`verified`?`Paid`:O(c)}
1037
+ <span class=${ve(te)}>
1038
+ ${c===`verified`?`Paid`:E(c)}
1081
1039
  </span>
1082
1040
  </td>
1083
1041
  <td title=${y}>
1084
- <span class=${ge(x)}>
1085
- ${O(d)}
1042
+ <span class=${ve(b)}>
1043
+ ${E(d)}
1086
1044
  </span>
1087
1045
  </td>
1088
1046
  <td>
1089
- <span class="chip">${ie}</span>
1090
- ${ae?e`<div class="marketplace-offer-sub">${ae}</div>`:t}
1047
+ <span class="chip">${ae}</span>
1048
+ ${oe?e`<div class="marketplace-offer-sub">${oe}</div>`:t}
1091
1049
  </td>
1092
1050
  <td>
1093
1051
  <span class=${a.status===`closed`||a.status===`delivered`?`chip chip-ok`:`chip chip-warn`}>
@@ -1098,21 +1056,21 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
1098
1056
  ${pt(s.updatedAt??s.createdAt)}
1099
1057
  </td>
1100
1058
  <td>
1101
- ${te?e`
1059
+ ${ne?e`
1102
1060
  <button
1103
1061
  class="btn primary"
1104
- ?disabled=${ne}
1062
+ ?disabled=${re}
1105
1063
  title="Mark seller manual delivery complete"
1106
1064
  @click=${()=>r.onDeliverMarketplaceManualOrder?.(a.configId)}
1107
1065
  >
1108
- ${ne?`Saving...`:`Deliver`}
1066
+ ${re?`Saving...`:`Deliver`}
1109
1067
  </button>
1110
1068
  `:t}
1111
1069
  <button
1112
1070
  class="btn"
1113
- ?disabled=${!w}
1114
- title=${w?`Open this record's listing and payment review`:`The source Fased Network listing is not loaded right now`}
1115
- @click=${()=>w?r.onSelectMarketplaceIndexEntry?.(w):void 0}
1071
+ ?disabled=${!C}
1072
+ title=${C?`Open this record's listing and payment review`:`The source Fased Network listing is not loaded right now`}
1073
+ @click=${()=>C?r.onSelectMarketplaceIndexEntry?.(C):void 0}
1116
1074
  >
1117
1075
  Review
1118
1076
  </button>
@@ -2155,7 +2113,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2155
2113
  ${r.error?e`<div class="callout danger" style="margin-top: 12px;">${r.error}</div>`:t}
2156
2114
  ${r.message?e`<div class="callout success" style="margin-top: 12px;">${r.message}</div>`:t}
2157
2115
 
2158
- ${a||ke?t:e`
2116
+ ${a||Ae?t:e`
2159
2117
  <section class="card federation-fees-card">
2160
2118
  <div class="card-title">${r.managedMode?`Managed Fased Network`:`Join Fased Network`}</div>
2161
2119
  <div class="card-sub">
@@ -2203,33 +2161,33 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2203
2161
  <div class="federation-overview__title-row">
2204
2162
  <div
2205
2163
  class="federation-overview__title federation-overview__title--handle"
2206
- title=${Ze||`Not joined yet`}
2164
+ title=${Xe||`Not joined yet`}
2207
2165
  >
2208
- ${hn}
2166
+ ${pn}
2209
2167
  </div>
2210
- ${Ze?dt(n.copy,`Copy handle`,()=>void ut(Ze)):t}
2168
+ ${Xe?dt(n.copy,`Copy handle`,()=>void ut(Xe)):t}
2211
2169
  ${z?e`
2212
2170
  <div class="federation-inline-statuses" aria-label="Fased Network status">
2213
2171
  <span
2214
2172
  class="federation-inline-status"
2215
- data-tone=${ht?`warn`:`ok`}
2216
- title=${ht?`Remote Fased Network origin is unavailable.`:`Fased Network trust state: ${mt}`}
2173
+ data-tone=${mt?`warn`:`ok`}
2174
+ title=${mt?`Remote Fased Network origin is unavailable.`:`Fased Network trust state: ${ft}`}
2217
2175
  >
2218
2176
  <span class="federation-inline-status__dot"></span>
2219
2177
  Live
2220
2178
  </span>
2221
2179
  <span
2222
2180
  class="federation-inline-status"
2223
- data-tone=${ht?`warn`:W===`active`?`ok`:`warn`}
2224
- title=${`Bond state: ${W} · ${vt}`}
2181
+ data-tone=${mt?`warn`:W===`active`?`ok`:`warn`}
2182
+ title=${`Bond state: ${W} · ${ht}`}
2225
2183
  >
2226
2184
  <span class="federation-inline-status__dot"></span>
2227
2185
  Bond
2228
2186
  </span>
2229
2187
  <span
2230
2188
  class="federation-inline-status"
2231
- data-tone=${ht?`warn`:ln?.eligible?`ok`:`warn`}
2232
- title=${`Marketplace: ${jn}. ${fn}`}
2189
+ data-tone=${mt?`warn`:sn?.eligible?`ok`:`warn`}
2190
+ title=${`Marketplace: ${kn}. ${un}`}
2233
2191
  >
2234
2192
  <span class="federation-inline-status__dot"></span>
2235
2193
  Market
@@ -2246,10 +2204,10 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2246
2204
  </div>
2247
2205
  `}
2248
2206
  ${z?e`
2249
- ${dn?e`
2207
+ ${ln?e`
2250
2208
  <div class="callout warn">Public reachability has a problem right now.</div>
2251
2209
  `:t}
2252
- ${ht?e`
2210
+ ${mt?e`
2253
2211
  <div class="callout warn">
2254
2212
  Remote Fased Network origin is unavailable right now. Local token and bond state is still shown
2255
2213
  below, but do not treat remote directory or public reachability as healthy until the server
@@ -2257,13 +2215,13 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2257
2215
  </div>
2258
2216
  `:t}
2259
2217
  `:t}
2260
- ${r.managedMode&&!Ee?e`
2218
+ ${r.managedMode&&!N?e`
2261
2219
  <div class="muted">
2262
2220
  Expected file:
2263
2221
  <span class="mono">${r.status?.sourcePath??`~/.fased/federation/access-token.json`}</span>
2264
2222
  </div>
2265
2223
  `:t}
2266
- ${Oe?e`
2224
+ ${ke?e`
2267
2225
  <div class="callout warn">
2268
2226
  Fased Network token is present on this node, but the public agent URL has not been issued yet.
2269
2227
  </div>
@@ -2276,14 +2234,14 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2276
2234
  ${V(`Federation access token controls this node's network identity. Bond state is shown in the Bond panel.`)}
2277
2235
  </div>
2278
2236
  <div class="federation-facts" style="margin-top: 0;">
2279
- ${K({label:`Expires`,value:ft,meta:An,title:it})}
2237
+ ${K({label:`Expires`,value:it,meta:On,title:Ze})}
2280
2238
  </div>
2281
2239
  <div class="federation-token-actions">
2282
2240
  <button
2283
2241
  class="btn"
2284
2242
  type="button"
2285
2243
  ?disabled=${r.loading}
2286
- @click=${e=>cn(e,r.onRenew)}
2244
+ @click=${e=>on(e,r.onRenew)}
2287
2245
  >
2288
2246
  Renew token
2289
2247
  </button>
@@ -2292,7 +2250,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2292
2250
  class="btn danger"
2293
2251
  type="button"
2294
2252
  ?disabled=${r.loading}
2295
- @click=${e=>cn(e,r.onRevoke)}
2253
+ @click=${e=>on(e,r.onRevoke)}
2296
2254
  >
2297
2255
  Revoke token
2298
2256
  </button>
@@ -2307,37 +2265,37 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2307
2265
  <div class="federation-facts" style="margin-top: 0;">
2308
2266
  ${K({label:`Bond wallet`,value:e`
2309
2267
  <span class="row" style="gap: 8px; align-items: center; justify-content: space-between; flex-wrap: nowrap;">
2310
- <span title=${pn||`Configure`}>${gn}</span>
2311
- ${yt(pn,`bond wallet`)}
2268
+ <span title=${dn||`Configure`}>${mn}</span>
2269
+ ${vt(dn,`bond wallet`)}
2312
2270
  </span>
2313
- `,meta:`${Vt} · ${Ht}`,info:$t,title:pn||`Configure`})}
2271
+ `,meta:`${zt} · ${Bt}`,info:Zt,title:dn||`Configure`})}
2314
2272
  ${K({label:`Bond position`,value:e`
2315
2273
  <span class="row" style="gap: 8px; align-items: center; justify-content: space-between; flex-wrap: nowrap;">
2316
- <span title=${mn||`Configure`}>${_n}</span>
2317
- ${yt(mn,`bond position`)}
2274
+ <span title=${fn||`Configure`}>${hn}</span>
2275
+ ${vt(fn,`bond position`)}
2318
2276
  </span>
2319
- `,meta:`${Bt} bonded`,title:mn||`Configure`})}
2277
+ `,meta:`${wt} bonded`,title:fn||`Configure`})}
2320
2278
  </div>
2321
2279
  <div class="federation-bond-controls">
2322
2280
  <label class="field">
2323
2281
  <span>Wallet</span>
2324
2282
  <select
2325
- .value=${tn}
2326
- ?disabled=${an||on||W===`unlocking`}
2283
+ .value=${$t}
2284
+ ?disabled=${nn||rn||W===`unlocking`}
2327
2285
  @change=${e=>{let t=e.target.value;r.onBondWalletIdDraftChange?.(t),t?r.onSetBondWallet?.():r.onClearBondWallet?.()}}
2328
2286
  >
2329
2287
  <option value="">Select</option>
2330
- ${en.map(t=>e`<option value=${t.id}>${t.name}</option>`)}
2288
+ ${Qt.map(t=>e`<option value=${t.id}>${t.name}</option>`)}
2331
2289
  </select>
2332
2290
  </label>
2333
2291
  <label class="field">
2334
2292
  <span class="federation-bond-label">
2335
2293
  Bond SAT
2336
- ${V(`Operator bond threshold is ${Zt}. Bond level is derived from the active SAT amount.`)}
2294
+ ${V(`Operator bond threshold is ${Yt}. Bond level is derived from the active SAT amount.`)}
2337
2295
  </span>
2338
2296
  <input
2339
- .value=${nn}
2340
- ?disabled=${on||W===`unlocking`}
2297
+ .value=${en}
2298
+ ?disabled=${rn||W===`unlocking`}
2341
2299
  @input=${e=>r.onBondAmountDraftChange?.(e.target.value)}
2342
2300
  placeholder="500"
2343
2301
  />
@@ -2348,17 +2306,17 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2348
2306
  <button
2349
2307
  class="btn"
2350
2308
  type="button"
2351
- ?disabled=${on||!tn}
2352
- @click=${e=>cn(e,r.onCancelBondUnlock)}
2309
+ ?disabled=${rn||!$t}
2310
+ @click=${e=>on(e,r.onCancelBondUnlock)}
2353
2311
  >
2354
2312
  Cancel unlock
2355
2313
  </button>
2356
- ${Mn?e`
2314
+ ${An?e`
2357
2315
  <button
2358
2316
  class="btn primary"
2359
2317
  type="button"
2360
- ?disabled=${on||!tn}
2361
- @click=${e=>cn(e,r.onFinalizeBondUnlock)}
2318
+ ?disabled=${rn||!$t}
2319
+ @click=${e=>on(e,r.onFinalizeBondUnlock)}
2362
2320
  >
2363
2321
  Withdraw all
2364
2322
  </button>
@@ -2367,8 +2325,8 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2367
2325
  <button
2368
2326
  class="btn primary"
2369
2327
  type="button"
2370
- ?disabled=${on||!tn}
2371
- @click=${e=>cn(e,W===`active`?r.onIncreaseBond:r.onOpenBond)}
2328
+ ?disabled=${rn||!$t}
2329
+ @click=${e=>on(e,W===`active`?r.onIncreaseBond:r.onOpenBond)}
2372
2330
  >
2373
2331
  ${W===`active`?`Top up`:`Bond`}
2374
2332
  </button>
@@ -2376,15 +2334,15 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2376
2334
  <button
2377
2335
  class="btn"
2378
2336
  type="button"
2379
- ?disabled=${on||!tn}
2380
- @click=${e=>cn(e,r.onRequestBondUnlock)}
2337
+ ?disabled=${rn||!$t}
2338
+ @click=${e=>on(e,r.onRequestBondUnlock)}
2381
2339
  >
2382
2340
  Unlock all
2383
2341
  </button>
2384
2342
  `:t}
2385
2343
  `}
2386
2344
  </div>
2387
- ${Nn?e`<div class="muted">${Nn}</div>`:t}
2345
+ ${jn?e`<div class="muted">${jn}</div>`:t}
2388
2346
  </div>
2389
2347
  <div class="federation-operator-panel">
2390
2348
  <div class="federation-operator-panel__header">
@@ -2394,34 +2352,27 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2394
2352
  <div class="federation-bond-stats">
2395
2353
  <div class="federation-bond-stat">
2396
2354
  <span>Claimable</span>
2397
- <strong>${Kt}</strong>
2398
- <small>${Jt}</small>
2355
+ <strong>${Wt}</strong>
2356
+ <small>${Kt}</small>
2399
2357
  </div>
2400
2358
  <div class="federation-bond-stat">
2401
2359
  <span>Pool</span>
2402
- <strong>${Ut?.exists?qt:`Configure`}</strong>
2403
- ${Ut?.exists?e`<small>${Ut.status}</small>`:t}
2360
+ <strong>${Vt?.exists?Gt:`Configure`}</strong>
2361
+ ${Vt?.exists?e`<small>${Vt.status}</small>`:t}
2404
2362
  </div>
2405
2363
  </div>
2406
2364
  <div class="federation-panel-actions">
2407
- ${Ut?.exists?e`
2365
+ ${Vt?.exists?e`
2408
2366
  <button
2409
2367
  class="btn primary"
2410
2368
  type="button"
2411
- ?disabled=${sn||!tn||!Qt}
2412
- @click=${e=>cn(e,r.onClaimBondStaking)}
2369
+ ?disabled=${an||!$t||!Xt}
2370
+ @click=${e=>on(e,r.onClaimBondStaking)}
2413
2371
  >
2414
2372
  Claim
2415
2373
  </button>
2416
2374
  `:e`
2417
- <button
2418
- class="btn"
2419
- type="button"
2420
- ?disabled=${sn||!tn}
2421
- @click=${e=>cn(e,r.onInitBondStaking)}
2422
- >
2423
- Initialize staking
2424
- </button>
2375
+ <span class="muted">Protocol initialization pending</span>
2425
2376
  `}
2426
2377
  </div>
2427
2378
  </div>
@@ -2430,7 +2381,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2430
2381
  </div>
2431
2382
  </section>
2432
2383
 
2433
- ${a&&Xn?e`
2384
+ ${a&&Jn?e`
2434
2385
  <section class="card" style="margin-top: 18px;">
2435
2386
  <div class="row" style="justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap;">
2436
2387
  <div>
@@ -2440,41 +2391,41 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2440
2391
  </div>
2441
2392
  </div>
2442
2393
  <div class="row" style="gap: 8px; align-items: center; flex-wrap: wrap;">
2443
- ${At({label:Jn,tone:Yn,title:Hn?.simulated?`Showcase data only. This does not count as live collection evidence.`:Kn||qn?`Fee data exists for this node.`:`Collection is still gated until retained-history thresholds are met.`})}
2444
- <button class="btn" ?disabled=${Pn} @click=${()=>r.onRefreshOperatorEconomy?.()}>
2445
- ${Pn?`Refreshing…`:`Refresh fees`}
2394
+ ${At({label:Kn,tone:qn,title:Bn?.simulated?`Showcase data only. This does not count as live collection evidence.`:Wn||Gn?`Fee data exists for this node.`:`Collection is still gated until retained-history thresholds are met.`})}
2395
+ <button class="btn" ?disabled=${Mn} @click=${()=>r.onRefreshOperatorEconomy?.()}>
2396
+ ${Mn?`Refreshing…`:`Refresh fees`}
2446
2397
  </button>
2447
2398
  </div>
2448
2399
  </div>
2449
2400
  <div class="chip-row" style="margin-top: 10px;">
2450
2401
  ${Y?At({label:`History ${Y.observed.historyDaysObserved}/${Y.thresholds.historyDays}d`,tone:Y.observed.historyDaysObserved>=Y.thresholds.historyDays?`ok`:`warn`,title:Et(Y)}):t}
2451
2402
  ${Y?At({label:`Market ${Y.observed.marketplaceRunsObserved}/${Y.thresholds.marketplaceRuns}`,tone:Y.enabled||Y.observed.marketplaceRunsObserved>=Y.thresholds.marketplaceRuns?`ok`:`warn`,title:`${Ot(`marketplace`)} ${Y.reason??``}`.trim()}):t}
2452
- ${Un?At({label:`Notary ${Un.observed.disputeNotaryCasesObserved}/${Un.thresholds.disputeNotaryCases}`,tone:Un.enabled||Un.observed.disputeNotaryCasesObserved>=Un.thresholds.disputeNotaryCases?`ok`:`warn`,title:`${Ot(`dispute-notary`)} ${Un.reason??``}`.trim()}):t}
2453
- ${Wn?At({label:`Verify ${Wn.observed.settlementVerifierCasesObserved}/${Wn.thresholds.settlementVerifierCases}`,tone:Wn.enabled||Wn.observed.settlementVerifierCasesObserved>=Wn.thresholds.settlementVerifierCases?`ok`:`warn`,title:`${Ot(`settlement-verifier`)} ${Wn.reason??``}`.trim()}):t}
2454
- ${Gn?At({label:Gn.reason?.toLowerCase().includes(`deferred`)?`Route deferred`:`Route ${Gn.observed.routingRunsObserved}/${Gn.thresholds.routingRuns}`,tone:Gn.enabled?`ok`:`warn`,title:`${Ot(`routing`)} ${Gn.reason??``}`.trim()}):t}
2403
+ ${Vn?At({label:`Notary ${Vn.observed.disputeNotaryCasesObserved}/${Vn.thresholds.disputeNotaryCases}`,tone:Vn.enabled||Vn.observed.disputeNotaryCasesObserved>=Vn.thresholds.disputeNotaryCases?`ok`:`warn`,title:`${Ot(`dispute-notary`)} ${Vn.reason??``}`.trim()}):t}
2404
+ ${Hn?At({label:`Verify ${Hn.observed.settlementVerifierCasesObserved}/${Hn.thresholds.settlementVerifierCases}`,tone:Hn.enabled||Hn.observed.settlementVerifierCasesObserved>=Hn.thresholds.settlementVerifierCases?`ok`:`warn`,title:`${Ot(`settlement-verifier`)} ${Hn.reason??``}`.trim()}):t}
2405
+ ${Un?At({label:Un.reason?.toLowerCase().includes(`deferred`)?`Route deferred`:`Route ${Un.observed.routingRunsObserved}/${Un.thresholds.routingRuns}`,tone:Un.enabled?`ok`:`warn`,title:`${Ot(`routing`)} ${Un.reason??``}`.trim()}):t}
2455
2406
  </div>
2456
- ${Hn?.simulated?e`
2407
+ ${Bn?.simulated?e`
2457
2408
  <div class="callout warn" style="margin-top: 12px">
2458
2409
  Showcase data only. These fee-lane records do not count as live activation or distribution proof.
2459
2410
  </div>
2460
- `:Hn?.hasThresholdStatus?e`
2411
+ `:Bn?.hasThresholdStatus?e`
2461
2412
  <div class="callout" style="margin-top: 12px">
2462
2413
  Collection is gated until retained-history thresholds are met.
2463
2414
  </div>
2464
2415
  `:t}
2465
- ${Fn?e`<div class="callout danger" style="margin-top: 12px;">${Fn}</div>`:t}
2466
- ${In.length===0&&!Kn&&!qn?e`
2416
+ ${Nn?e`<div class="callout danger" style="margin-top: 12px;">${Nn}</div>`:t}
2417
+ ${Pn.length===0&&!Wn&&!Gn?e`
2467
2418
  <div class="callout" style="margin-top: 12px">
2468
2419
  No fee observations are loaded yet for this Fased Network token.
2469
2420
  </div>
2470
2421
  `:t}
2471
- ${Kn?e`
2422
+ ${Wn?e`
2472
2423
  <div class="federation-fee-grid">
2473
- ${zn.length>0?e`
2424
+ ${Ln.length>0?e`
2474
2425
  <div class="federation-fee-panel">
2475
2426
  <div class="card-title">Reserve balances</div>
2476
2427
  <div class="list" style="margin-top: 12px;">
2477
- ${zn.map(t=>e`
2428
+ ${Ln.map(t=>e`
2478
2429
  <div class="list-item">
2479
2430
  <div class="list-main">
2480
2431
  <div class="list-title">${t.bucket}</div>
@@ -2488,11 +2439,11 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2488
2439
  </div>
2489
2440
  </div>
2490
2441
  `:t}
2491
- ${Ln.length>0?e`
2442
+ ${Fn.length>0?e`
2492
2443
  <div class="federation-fee-panel">
2493
2444
  <div class="card-title">Recent fee objects</div>
2494
2445
  <div class="list" style="margin-top: 12px;">
2495
- ${Ln.map(t=>e`
2446
+ ${Fn.map(t=>e`
2496
2447
  <div class="list-item">
2497
2448
  <div class="list-main">
2498
2449
  <div class="list-title">
@@ -2511,13 +2462,13 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2511
2462
  `:t}
2512
2463
  </div>
2513
2464
  `:t}
2514
- ${qn?e`
2465
+ ${Gn?e`
2515
2466
  <div class="federation-fee-grid">
2516
- ${Rn.length>0?e`
2467
+ ${In.length>0?e`
2517
2468
  <div class="federation-fee-panel">
2518
2469
  <div class="card-title">Bucket journal</div>
2519
2470
  <div class="list" style="margin-top: 12px;">
2520
- ${Rn.map(t=>e`
2471
+ ${In.map(t=>e`
2521
2472
  <div class="list-item">
2522
2473
  <div class="list-main">
2523
2474
  <div class="list-title">
@@ -2533,11 +2484,11 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2533
2484
  </div>
2534
2485
  </div>
2535
2486
  `:t}
2536
- ${Bn.length>0?e`
2487
+ ${Rn.length>0?e`
2537
2488
  <div class="federation-fee-panel">
2538
2489
  <div class="card-title">Reconciliation reports</div>
2539
2490
  <div class="list" style="margin-top: 12px;">
2540
- ${Bn.map(t=>e`
2491
+ ${Rn.map(t=>e`
2541
2492
  <div class="list-item">
2542
2493
  <div class="list-main">
2543
2494
  <div class="list-title">
@@ -2556,11 +2507,11 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2556
2507
  </div>
2557
2508
  `:t}
2558
2509
  </div>
2559
- ${Vn.length>0?e`
2510
+ ${zn.length>0?e`
2560
2511
  <div class="federation-fee-panel" style="margin-top: 12px;">
2561
2512
  <div class="card-title">Auto fee decisions</div>
2562
2513
  <div class="list" style="margin-top: 12px;">
2563
- ${Vn.map(t=>e`
2514
+ ${zn.map(t=>e`
2564
2515
  <div class="list-item">
2565
2516
  <div class="list-main">
2566
2517
  <div class="list-title">
@@ -2584,31 +2535,31 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2584
2535
  <div class="row" style="justify-content: flex-start; align-items: center; gap: 8px; flex-wrap: wrap;">
2585
2536
  <button
2586
2537
  class="btn primary"
2587
- ?disabled=${!A}
2588
- title=${A?`Create a seller offer draft`:`Create an Agent wallet before creating Marketplace listings`}
2538
+ ?disabled=${!O}
2539
+ title=${O?`Create a seller offer draft`:`Create an Agent wallet before creating Marketplace listings`}
2589
2540
  @click=${()=>{r.onSelectOffer(``),r.onStartLocalOfferDraft()}}
2590
2541
  >
2591
2542
  Create offer
2592
2543
  </button>
2593
2544
  <button
2594
2545
  class="btn"
2595
- ?disabled=${!A}
2596
- title=${A?`Create a buyer request draft`:`Create an Agent wallet before creating Marketplace requests`}
2546
+ ?disabled=${!O}
2547
+ title=${O?`Create a buyer request draft`:`Create an Agent wallet before creating Marketplace requests`}
2597
2548
  @click=${()=>{r.onSelectOffer(``),r.onStartLocalRequestDraft?.()}}
2598
2549
  >
2599
2550
  Create request
2600
2551
  </button>
2601
2552
  </div>
2602
2553
  <div class="marketplace-summary">
2603
- ${K({label:`Market`,value:cr.length,meta:`${lr.length} yours · ${ur.length} remote`})}
2604
- ${K({label:`Listings`,value:X.length+Z.length,meta:`${Sr} offers · ${Z.length} requests`})}
2605
- ${K({label:`Purchases`,value:wr.length,meta:`${Tr} active`})}
2606
- ${K({label:`Sales`,value:Cr.length,meta:`${Er} active`})}
2554
+ ${K({label:`Market`,value:or.length,meta:`${sr.length} yours · ${cr.length} remote`})}
2555
+ ${K({label:`Listings`,value:X.length+Z.length,meta:`${br} offers · ${Z.length} requests`})}
2556
+ ${K({label:`Purchases`,value:Sr.length,meta:`${Cr} active`})}
2557
+ ${K({label:`Sales`,value:xr.length,meta:`${wr} active`})}
2607
2558
  ${K({label:`Reviews`,value:r.offerReviews.length,meta:`selected offer feedback`})}
2608
- ${K({label:`Disputes`,value:Dr,meta:`open queues`})}
2559
+ ${K({label:`Disputes`,value:Tr,meta:`open queues`})}
2609
2560
  </div>
2610
2561
  <div class="marketplace-section-tabs" aria-label="Marketplace sections">
2611
- ${Or.map(t=>e`
2562
+ ${Er.map(t=>e`
2612
2563
  <button
2613
2564
  class=${s===t.id?`active`:``}
2614
2565
  @click=${()=>r.onMarketplaceSectionChange?.(t.id)}
@@ -2649,7 +2600,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2649
2600
  <label class="field">
2650
2601
  <span>Side</span>
2651
2602
  <select
2652
- .value=${er}
2603
+ .value=${Qn}
2653
2604
  @change=${e=>r.onMarketplaceKindFilterChange?.(e.target.value)}
2654
2605
  >
2655
2606
  <option value="all">Offers and requests</option>
@@ -2674,7 +2625,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2674
2625
  <label class="field">
2675
2626
  <span>Trust</span>
2676
2627
  <select
2677
- .value=${tr}
2628
+ .value=${$n}
2678
2629
  @change=${e=>r.onMarketplaceTrustFilterChange?.(e.target.value)}
2679
2630
  >
2680
2631
  <option value="all">All trust</option>
@@ -2685,9 +2636,9 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2685
2636
  </select>
2686
2637
  </label>
2687
2638
  </div>
2688
- ${zr(et.market)}
2639
+ ${Lr(et.market)}
2689
2640
  ${r.marketplaceIndexError?e`<div class="callout danger" style="margin-top: 12px;">${r.marketplaceIndexError}</div>`:r.marketplaceIndexMessage?e`<div class="callout success" style="margin-top: 12px;">${r.marketplaceIndexMessage}</div>`:t}
2690
- ${cr.length===0?e`
2641
+ ${or.length===0?e`
2691
2642
  <div class="muted" style="margin-top: 12px">No public listings matched this search yet.</div>
2692
2643
  `:e`
2693
2644
  <div class="marketplace-table-wrap">
@@ -2704,13 +2655,13 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2704
2655
  </tr>
2705
2656
  </thead>
2706
2657
  <tbody>
2707
- ${cr.map(i=>{let a=Ge(i),o=Ie(i),s=()=>r.onSelectMarketplaceIndexEntry?.(o),c=Be({entry:i,currentHandle:R,localOffers:X,localRequests:Z});return e`
2658
+ ${or.map(i=>{let a=Ge(i),o=Re(i),s=()=>r.onSelectMarketplaceIndexEntry?.(o),c=Ve({entry:i,currentHandle:F,localOffers:X,localRequests:Z});return e`
2708
2659
  <tr @click=${s}>
2709
2660
  <td>
2710
2661
  <div class="marketplace-offer-main">
2711
2662
  <div class="marketplace-offer-title">
2712
2663
  <span title=${i.item.summary??``}>
2713
- ${Fe(i.item.title??i.item.id)}
2664
+ ${Le(i.item.title??i.item.id)}
2714
2665
  </span>
2715
2666
  </div>
2716
2667
  <div class="marketplace-listing-line">
@@ -2749,10 +2700,10 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2749
2700
  ${ct({handle:i.handle,history:i.sellerProfileTrustHistory,onOpen:()=>r.onOpenMarketplaceSellerProfile?.(i.handle)})}
2750
2701
  </div>
2751
2702
  </td>
2752
- <td><span class="chip">${I(i.item.serviceKind)}</span></td>
2753
- <td><strong>${E(i.item)??`Quote`}</strong></td>
2703
+ <td><span class="chip">${P(i.item.serviceKind)}</span></td>
2704
+ <td><strong>${w(i.item)??`Quote`}</strong></td>
2754
2705
  <td>${Ke(i)}</td>
2755
- <td>${Je(i)}</td>
2706
+ <td>${qe(i)}</td>
2756
2707
  <td title=${H(i.updatedAt??i.indexedAt)}>
2757
2708
  ${pt(i.updatedAt??i.indexedAt)}
2758
2709
  </td>
@@ -2782,7 +2733,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2782
2733
  ${V(`Local offers and buyer requests owned by this agent. Eligible listings are synced to public discovery automatically after save.`)}
2783
2734
  </div>
2784
2735
  <div class="card-sub">
2785
- Offers (${X.length}) · Requests (${Z.length}) · Indexed (${lr.length})
2736
+ Offers (${X.length}) · Requests (${Z.length}) · Indexed (${sr.length})
2786
2737
  </div>
2787
2738
  </div>
2788
2739
  <div class="row" style="gap: 8px; align-items: center;">
@@ -2791,19 +2742,19 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2791
2742
  </div>
2792
2743
  ${r.offersError?e`<div class="callout danger" style="margin-top: 12px;">${r.offersError}</div>`:r.offersHint?e`<div class="callout warn" style="margin-top: 12px;">${r.offersHint}</div>`:t}
2793
2744
  ${r.localOffersError?e`<div class="callout danger" style="margin-top: 12px;">${r.localOffersError}</div>`:r.localRequestsError?e`<div class="callout danger" style="margin-top: 12px;">${r.localRequestsError}</div>`:t}
2794
- ${un?t:e`
2745
+ ${cn?t:e`
2795
2746
  <div class="callout warn" style="margin-top: 12px">
2796
2747
  Public publishing stays blocked until bond proof grants <span class="mono">offers.publish</span>.
2797
2748
  </div>
2798
2749
  `}
2799
- ${A?t:e`
2750
+ ${O?t:e`
2800
2751
  <div class="callout warn" style="margin-top: 12px">
2801
2752
  Create an Agent wallet before creating, publishing, buying, or automating Marketplace offers.
2802
2753
  Mining and Vault wallets are not used for Marketplace execution.
2803
2754
  </div>
2804
2755
  `}
2805
- ${zr(et.listings)}
2806
- ${Nr.length===0?r.offersError||r.offersHint?t:e`
2756
+ ${Lr(et.listings)}
2757
+ ${jr.length===0?r.offersError||r.offersHint?t:e`
2807
2758
  <div class="muted" style="margin-top: 12px">No offers matched this query yet.</div>
2808
2759
  `:e`
2809
2760
  <div class="marketplace-table-wrap">
@@ -2819,7 +2770,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2819
2770
  </tr>
2820
2771
  </thead>
2821
2772
  <tbody>
2822
- ${Nr.map(t=>e`
2773
+ ${jr.map(t=>e`
2823
2774
  <tr @click=${()=>{if(t.local?.mutable){r.onSelectOffer(``),r.onStartLocalOfferDraft(t.local.configId);return}if(t.request?.mutable){r.onSelectOffer(``),r.onStartLocalRequestDraft?.(t.request.configId);return}}}>
2824
2775
  <td>
2825
2776
  <div class="marketplace-offer-main">
@@ -2877,15 +2828,15 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2877
2828
  ${V(`Buyer-side checkout records. Draft means no funds moved yet. Open Review, confirm payment and delivery, then use Pay for supported services.`)}
2878
2829
  </div>
2879
2830
  <div class="card-sub">
2880
- ${Fr.length} purchases · ${Tr} active
2831
+ ${Nr.length} purchases · ${Cr} active
2881
2832
  </div>
2882
2833
  </div>
2883
2834
  ${r.localOrdersLoading?e`
2884
2835
  <span class="chip">Loading</span>
2885
2836
  `:t}
2886
2837
  </div>
2887
- ${zr(et.purchases)}
2888
- ${Br(Fr,{kind:`purchase`,emptyText:`No purchases yet. Open a public offer and start checkout to review payment, delivery, and receipt terms.`})}
2838
+ ${Lr(et.purchases)}
2839
+ ${Rr(Nr,{kind:`purchase`,emptyText:`No purchases yet. Open a public offer and start checkout to review payment, delivery, and receipt terms.`})}
2889
2840
  </div>
2890
2841
 
2891
2842
  <div
@@ -2901,15 +2852,15 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2901
2852
  ${V(`Seller-side work for this node's own offers or responses. Incoming buyer work belongs here after the marketplace intake path syncs it.`)}
2902
2853
  </div>
2903
2854
  <div class="card-sub">
2904
- ${Ir.length} sales · ${Er} active
2855
+ ${Pr.length} sales · ${wr} active
2905
2856
  </div>
2906
2857
  </div>
2907
2858
  ${r.localOrdersLoading?e`
2908
2859
  <span class="chip">Loading</span>
2909
2860
  `:t}
2910
2861
  </div>
2911
- ${zr(et.sales)}
2912
- ${Br(Ir,{kind:`sale`,emptyText:`No seller-side orders yet. Buyers must start checkout and submit payment/order evidence before work appears here.`})}
2862
+ ${Lr(et.sales)}
2863
+ ${Rr(Pr,{kind:`sale`,emptyText:`No seller-side orders yet. Buyers must start checkout and submit payment/order evidence before work appears here.`})}
2913
2864
  </div>
2914
2865
 
2915
2866
  <div
@@ -2925,11 +2876,11 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2925
2876
  </div>
2926
2877
  ${r.offerReviewsLoading?e`
2927
2878
  <span class="chip">Loading</span>
2928
- `:e`<span class="chip">${Lr.length} records</span>`}
2879
+ `:e`<span class="chip">${Fr.length} records</span>`}
2929
2880
  </div>
2930
- ${zr(et.reviews)}
2881
+ ${Lr(et.reviews)}
2931
2882
  ${r.offerReviewsError?e`<div class="callout danger" style="margin-top: 12px;">${r.offerReviewsError}</div>`:t}
2932
- ${Ft(Lr)}
2883
+ ${Pt(Fr)}
2933
2884
  </div>
2934
2885
 
2935
2886
  <div
@@ -2945,11 +2896,11 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2945
2896
  </div>
2946
2897
  ${r.offerDisputesLoading||r.operatorDisputesLoading?e`
2947
2898
  <span class="chip">Loading</span>
2948
- `:e`<span class="chip">${Rr.length} records</span>`}
2899
+ `:e`<span class="chip">${Ir.length} records</span>`}
2949
2900
  </div>
2950
- ${zr(et.disputes)}
2901
+ ${Lr(et.disputes)}
2951
2902
  ${r.offerDisputesError?e`<div class="callout danger" style="margin-top: 12px;">${r.offerDisputesError}</div>`:r.operatorDisputesError?e`<div class="callout danger" style="margin-top: 12px;">${r.operatorDisputesError}</div>`:t}
2952
- ${It(Rr)}
2903
+ ${Ft(Ir)}
2953
2904
  </div>
2954
2905
 
2955
2906
  <div
@@ -2961,10 +2912,10 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2961
2912
  <div class="marketplace-modal__header">
2962
2913
  <div>
2963
2914
  <div class="card-title">
2964
- ${$?Fe($.item.title??$.item.id):`Fased Network listing`}
2915
+ ${$?Le($.item.title??$.item.id):`Fased Network listing`}
2965
2916
  </div>
2966
2917
  <div class="card-sub">
2967
- ${$?`${$.kind===`request`?`Request`:`Offer`} · Seller ${st($.handle)} · ${I($.item.serviceKind)}`:`Public Fased Network index`}
2918
+ ${$?`${$.kind===`request`?`Request`:`Offer`} · Seller ${st($.handle)} · ${P($.item.serviceKind)}`:`Public Fased Network index`}
2968
2919
  </div>
2969
2920
  </div>
2970
2921
  ${dt(n.x,`Close Fased Network listing`,()=>r.onSelectMarketplaceIndexEntry?.(``))}
@@ -2975,7 +2926,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2975
2926
  style="justify-content: space-between; gap: 12px; align-items: center; margin-top: 12px; flex-wrap: wrap;"
2976
2927
  >
2977
2928
  <div class="row" style="gap: 8px; align-items: center; flex-wrap: wrap;">
2978
- ${mr?e`
2929
+ ${fr?e`
2979
2930
  <span class="chip chip-ok">Your listing</span>
2980
2931
  `:t}
2981
2932
  <span class=${Ge($).tone===`ok`?`chip chip-ok`:`chip chip-warn`}>
@@ -2983,34 +2934,34 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
2983
2934
  </span>
2984
2935
  ${ct({handle:$.handle,history:$.sellerProfileTrustHistory,onOpen:()=>r.onOpenMarketplaceSellerProfile?.($.handle)})}
2985
2936
  </div>
2986
- ${mr?e`
2937
+ ${fr?e`
2987
2938
  <div class="row" style="gap: 8px; justify-content: flex-end;">
2988
- ${pr?.mutable?e`
2939
+ ${dr?.mutable?e`
2989
2940
  <button
2990
2941
  class="btn primary"
2991
- @click=${()=>{r.onSelectMarketplaceIndexEntry?.(``),r.onStartLocalOfferDraft(pr.configId)}}
2942
+ @click=${()=>{r.onSelectMarketplaceIndexEntry?.(``),r.onStartLocalOfferDraft(dr.configId)}}
2992
2943
  >
2993
2944
  Edit offer
2994
2945
  </button>
2995
2946
  `:t}
2996
2947
  </div>
2997
- `:fr?e`
2948
+ `:ur?e`
2998
2949
  <span class="chip chip-ok">
2999
2950
  ${$.kind===`request`?`Response drafted`:`Checkout started`}
3000
2951
  </span>
3001
2952
  `:e`
3002
2953
  <button
3003
2954
  class="btn primary"
3004
- ?disabled=${r.localOrderBusy||!!hr}
3005
- title=${hr||`Start local checkout from this Fased Network index listing. No payment is sent yet.`}
3006
- @click=${()=>r.onCreateOrderFromMarketplaceIndexEntry?.(dr)}
2955
+ ?disabled=${r.localOrderBusy||!!pr}
2956
+ title=${pr||`Start local checkout from this Fased Network index listing. No payment is sent yet.`}
2957
+ @click=${()=>r.onCreateOrderFromMarketplaceIndexEntry?.(lr)}
3007
2958
  >
3008
2959
  ${r.localOrderBusy?`Starting...`:$.kind===`request`?`Draft seller response`:`Start checkout`}
3009
2960
  </button>
3010
2961
  `}
3011
2962
  </div>
3012
2963
  <div class="marketplace-detail-tabs" style="margin-top: 12px;">
3013
- ${kr.map(t=>e`
2964
+ ${Dr.map(t=>e`
3014
2965
  <button
3015
2966
  type="button"
3016
2967
  class=${p===t.id?`active`:``}
@@ -3026,15 +2977,15 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3026
2977
  ?hidden=${p!==`overview`}
3027
2978
  >
3028
2979
  <div class="marketplace-detail-section__title">Overview</div>
3029
- ${Ae({entry:$,orderEntry:fr,marketplaceFeedbackOrderId:r.marketplaceFeedbackOrderId,offerDisputes:r.offerDisputes,operatorDisputes:r.operatorDisputes,disputeNotaryRecords:r.disputeNotaryRecords,paymentWallet:k,paymentWalletCustodyBlock:me,offerFeedbackBusy:r.offerFeedbackBusy,offerFeedbackError:r.offerFeedbackError,offerFeedbackMessage:r.offerFeedbackMessage,offerFeedbackTab:N,reviewInvoiceIdDraft:r.reviewInvoiceIdDraft,reviewOutcomeDraft:r.reviewOutcomeDraft,reviewPaymentStatusDraft:r.reviewPaymentStatusDraft,reviewRatingDraft:r.reviewRatingDraft,reviewReceiptIdDraft:r.reviewReceiptIdDraft,reviewSummaryDraft:r.reviewSummaryDraft,disputeInvoiceIdDraft:r.disputeInvoiceIdDraft,disputePaymentStatusDraft:r.disputePaymentStatusDraft,disputeReasonCodeDraft:r.disputeReasonCodeDraft,disputeReceiptIdDraft:r.disputeReceiptIdDraft,disputeSummaryDraft:r.disputeSummaryDraft,summarizeSourceText:r.summarizeSourceText,summarizeStyle:r.summarizeStyle,summarizeMaxSentences:r.summarizeMaxSentences,paidSummarizeBusy:r.paidSummarizeBusy,paidSummarizeError:r.paidSummarizeError,marketplaceOrderDeliveryDraftOrderId:r.marketplaceOrderDeliveryDraftOrderId,marketplaceOrderDeliveryKindDraft:r.marketplaceOrderDeliveryKindDraft,marketplaceOrderDeliveryWebhookUrlDraft:r.marketplaceOrderDeliveryWebhookUrlDraft,marketplaceOrderDeliveryBusyOrderId:r.marketplaceOrderDeliveryBusyOrderId,marketplaceOrderDeliveryError:r.marketplaceOrderDeliveryError,marketplaceOrderDeliveryMessage:r.marketplaceOrderDeliveryMessage,marketplaceManualOrderBusyId:r.marketplaceManualOrderBusyId,marketplaceManualOrderError:r.marketplaceManualOrderError,marketplaceManualOrderMessage:r.marketplaceManualOrderMessage,marketplaceCapabilityOrderBusyId:r.marketplaceCapabilityOrderBusyId,marketplaceCapabilityOrderError:r.marketplaceCapabilityOrderError,marketplaceCapabilityOrderMessage:r.marketplaceCapabilityOrderMessage,escrowBusyOrderId:r.escrowBusyOrderId,escrowError:r.escrowError,escrowMessage:r.escrowMessage,onDisputeInvoiceIdDraftChange:r.onDisputeInvoiceIdDraftChange,onDisputePaymentStatusDraftChange:r.onDisputePaymentStatusDraftChange,onDisputeReasonCodeDraftChange:r.onDisputeReasonCodeDraftChange,onDisputeReceiptIdDraftChange:r.onDisputeReceiptIdDraftChange,onDisputeSummaryDraftChange:r.onDisputeSummaryDraftChange,onOfferFeedbackTabChange:r.onOfferFeedbackTabChange,onOpenMarketplaceIndexOrderFeedback:r.onOpenMarketplaceIndexOrderFeedback,onPublishDispute:r.onPublishDispute,onPublishReview:r.onPublishReview,onReviewInvoiceIdDraftChange:r.onReviewInvoiceIdDraftChange,onReviewOutcomeDraftChange:r.onReviewOutcomeDraftChange,onReviewPaymentStatusDraftChange:r.onReviewPaymentStatusDraftChange,onReviewRatingDraftChange:r.onReviewRatingDraftChange,onReviewReceiptIdDraftChange:r.onReviewReceiptIdDraftChange,onReviewSummaryDraftChange:r.onReviewSummaryDraftChange,onSummarizeSourceTextChange:r.onSummarizeSourceTextChange,onSummarizeStyleChange:r.onSummarizeStyleChange,onSummarizeMaxSentencesChange:r.onSummarizeMaxSentencesChange,onOpenTaskPayment:r.onOpenTaskPayment,onRunPaidContentSummarizeOrder:r.onRunPaidContentSummarizeOrder,onPayMarketplaceManualOrder:r.onPayMarketplaceManualOrder,onDeliverMarketplaceManualOrder:r.onDeliverMarketplaceManualOrder,onRunMarketplaceCapabilityOrder:r.onRunMarketplaceCapabilityOrder,onMarketplaceOrderDeliveryDraftChange:r.onMarketplaceOrderDeliveryDraftChange,onSaveMarketplaceOrderDeliveryTarget:r.onSaveMarketplaceOrderDeliveryTarget,onFundMarketplaceEscrowOrder:r.onFundMarketplaceEscrowOrder,onReleaseMarketplaceEscrowOrder:r.onReleaseMarketplaceEscrowOrder,onRefundMarketplaceEscrowOrder:r.onRefundMarketplaceEscrowOrder,onCancelMarketplaceEscrowOrder:r.onCancelMarketplaceEscrowOrder})}
2980
+ ${Me({entry:$,orderEntry:ur,marketplaceFeedbackOrderId:r.marketplaceFeedbackOrderId,offerDisputes:r.offerDisputes,operatorDisputes:r.operatorDisputes,disputeNotaryRecords:r.disputeNotaryRecords,paymentWallet:D,offerFeedbackBusy:r.offerFeedbackBusy,offerFeedbackError:r.offerFeedbackError,offerFeedbackMessage:r.offerFeedbackMessage,offerFeedbackTab:A,reviewInvoiceIdDraft:r.reviewInvoiceIdDraft,reviewOutcomeDraft:r.reviewOutcomeDraft,reviewPaymentStatusDraft:r.reviewPaymentStatusDraft,reviewRatingDraft:r.reviewRatingDraft,reviewReceiptIdDraft:r.reviewReceiptIdDraft,reviewSummaryDraft:r.reviewSummaryDraft,disputeInvoiceIdDraft:r.disputeInvoiceIdDraft,disputePaymentStatusDraft:r.disputePaymentStatusDraft,disputeReasonCodeDraft:r.disputeReasonCodeDraft,disputeReceiptIdDraft:r.disputeReceiptIdDraft,disputeSummaryDraft:r.disputeSummaryDraft,summarizeSourceText:r.summarizeSourceText,summarizeStyle:r.summarizeStyle,summarizeMaxSentences:r.summarizeMaxSentences,paidSummarizeBusy:r.paidSummarizeBusy,paidSummarizeError:r.paidSummarizeError,marketplaceOrderDeliveryDraftOrderId:r.marketplaceOrderDeliveryDraftOrderId,marketplaceOrderDeliveryKindDraft:r.marketplaceOrderDeliveryKindDraft,marketplaceOrderDeliveryWebhookUrlDraft:r.marketplaceOrderDeliveryWebhookUrlDraft,marketplaceOrderDeliveryBusyOrderId:r.marketplaceOrderDeliveryBusyOrderId,marketplaceOrderDeliveryError:r.marketplaceOrderDeliveryError,marketplaceOrderDeliveryMessage:r.marketplaceOrderDeliveryMessage,marketplaceManualOrderBusyId:r.marketplaceManualOrderBusyId,marketplaceManualOrderError:r.marketplaceManualOrderError,marketplaceManualOrderMessage:r.marketplaceManualOrderMessage,marketplaceCapabilityOrderBusyId:r.marketplaceCapabilityOrderBusyId,marketplaceCapabilityOrderError:r.marketplaceCapabilityOrderError,marketplaceCapabilityOrderMessage:r.marketplaceCapabilityOrderMessage,escrowBusyOrderId:r.escrowBusyOrderId,escrowError:r.escrowError,escrowMessage:r.escrowMessage,onDisputeInvoiceIdDraftChange:r.onDisputeInvoiceIdDraftChange,onDisputePaymentStatusDraftChange:r.onDisputePaymentStatusDraftChange,onDisputeReasonCodeDraftChange:r.onDisputeReasonCodeDraftChange,onDisputeReceiptIdDraftChange:r.onDisputeReceiptIdDraftChange,onDisputeSummaryDraftChange:r.onDisputeSummaryDraftChange,onOfferFeedbackTabChange:r.onOfferFeedbackTabChange,onOpenMarketplaceIndexOrderFeedback:r.onOpenMarketplaceIndexOrderFeedback,onPublishDispute:r.onPublishDispute,onPublishReview:r.onPublishReview,onReviewInvoiceIdDraftChange:r.onReviewInvoiceIdDraftChange,onReviewOutcomeDraftChange:r.onReviewOutcomeDraftChange,onReviewPaymentStatusDraftChange:r.onReviewPaymentStatusDraftChange,onReviewRatingDraftChange:r.onReviewRatingDraftChange,onReviewReceiptIdDraftChange:r.onReviewReceiptIdDraftChange,onReviewSummaryDraftChange:r.onReviewSummaryDraftChange,onSummarizeSourceTextChange:r.onSummarizeSourceTextChange,onSummarizeStyleChange:r.onSummarizeStyleChange,onSummarizeMaxSentencesChange:r.onSummarizeMaxSentencesChange,onOpenTaskPayment:r.onOpenTaskPayment,onRunPaidContentSummarizeOrder:r.onRunPaidContentSummarizeOrder,onPayMarketplaceManualOrder:r.onPayMarketplaceManualOrder,onDeliverMarketplaceManualOrder:r.onDeliverMarketplaceManualOrder,onRunMarketplaceCapabilityOrder:r.onRunMarketplaceCapabilityOrder,onMarketplaceOrderDeliveryDraftChange:r.onMarketplaceOrderDeliveryDraftChange,onSaveMarketplaceOrderDeliveryTarget:r.onSaveMarketplaceOrderDeliveryTarget,onFundMarketplaceEscrowOrder:r.onFundMarketplaceEscrowOrder,onReleaseMarketplaceEscrowOrder:r.onReleaseMarketplaceEscrowOrder,onRefundMarketplaceEscrowOrder:r.onRefundMarketplaceEscrowOrder,onCancelMarketplaceEscrowOrder:r.onCancelMarketplaceEscrowOrder})}
3030
2981
  <div class="marketplace-detail-section__title" style="margin-top: 16px;">
3031
2982
  Listing
3032
2983
  </div>
3033
2984
  <div class="marketplace-detail-grid">
3034
- ${K({label:`Price`,value:E($.item)??`Quote`,meta:`Accepted ${D($.item)}`})}
3035
- ${K({label:`Type`,value:I($.item.serviceKind),meta:$.kind===`request`?`Request`:`Offer`})}
2985
+ ${K({label:`Price`,value:w($.item)??`Quote`,meta:`Accepted ${T($.item)}`})}
2986
+ ${K({label:`Type`,value:P($.item.serviceKind),meta:$.kind===`request`?`Request`:`Offer`})}
3036
2987
  ${K({label:`Capacity`,value:Ke($),meta:Ge($).label})}
3037
- ${K({label:`Subscription`,value:Ye($),meta:`Order terms`})}
2988
+ ${K({label:`Subscription`,value:Je($),meta:`Order terms`})}
3038
2989
  </div>
3039
2990
  </section>
3040
2991
  <section
@@ -3086,7 +3037,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3086
3037
  Sanitized public dispute resolution and notary summary from the Fased Network index.
3087
3038
  Raw evidence refs and private delivery data are not exposed here.
3088
3039
  </div>
3089
- ${ae($)}
3040
+ ${oe($)}
3090
3041
  </section>
3091
3042
  <section
3092
3043
  id="index-terms"
@@ -3095,7 +3046,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3095
3046
  >
3096
3047
  <div class="marketplace-detail-section__title">Terms</div>
3097
3048
  <div class="marketplace-detail-grid">
3098
- ${K({label:`Type`,value:I($.item.serviceKind),meta:$.kind===`request`?`Request`:`Offer`})}
3049
+ ${K({label:`Type`,value:P($.item.serviceKind),meta:$.kind===`request`?`Request`:`Offer`})}
3099
3050
  ${K({label:`Input`,value:$.item.inputShape??`Specified`,meta:`Buyer supplies`})}
3100
3051
  ${K({label:`Output`,value:$.item.deliveryShape??`Specified`,meta:`Seller returns`})}
3101
3052
  ${K({label:`Fulfillment`,value:$.item.fulfillmentMode?.replace(/[-_]+/gu,` `)??`agent approval`,meta:`Execution mode`})}
@@ -3108,7 +3059,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3108
3059
 
3109
3060
  <div
3110
3061
  class="marketplace-modal"
3111
- ?hidden=${!yr}
3062
+ ?hidden=${!_r}
3112
3063
  @click=${()=>r.onCloseMarketplaceSellerProfile?.()}
3113
3064
  >
3114
3065
  <div class="card marketplace-modal__panel" @click=${lt}>
@@ -3119,7 +3070,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3119
3070
  ${V(`Public seller-wide Marketplace history from the Fased Network index. This is read-only discovery metadata before ordering.`)}
3120
3071
  </div>
3121
3072
  <div class="card-sub">
3122
- <span class="mono">${B(yr)}</span>
3073
+ <span class="mono">${B(_r)}</span>
3123
3074
  </div>
3124
3075
  </div>
3125
3076
  ${dt(n.x,`Close seller profile`,()=>r.onCloseMarketplaceSellerProfile?.())}
@@ -3132,7 +3083,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3132
3083
  </div>
3133
3084
  `:e`
3134
3085
  <div class="marketplace-detail-tabs" style="margin-top: 12px;">
3135
- ${Ar.map(t=>e`
3086
+ ${Or.map(t=>e`
3136
3087
  <button
3137
3088
  type="button"
3138
3089
  class=${m===t.id?`active`:``}
@@ -3148,7 +3099,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3148
3099
  ?hidden=${m!==`summary`}
3149
3100
  >
3150
3101
  <div class="marketplace-detail-section__title">Summary</div>
3151
- ${xr?at(xr):e`
3102
+ ${yr?at(yr):e`
3152
3103
  <div class="muted" style="margin-top: 10px">
3153
3104
  No seller-wide profile metadata is available for this provider yet.
3154
3105
  </div>
@@ -3160,7 +3111,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3160
3111
  ?hidden=${m!==`offers`}
3161
3112
  >
3162
3113
  <div class="marketplace-detail-section__title">Offers</div>
3163
- ${ot({entries:br,kind:`offer`,onSelectEntry:e=>{r.onSelectMarketplaceIndexEntry?.(e),r.onCloseMarketplaceSellerProfile?.()}})}
3114
+ ${ot({entries:vr,kind:`offer`,onSelectEntry:e=>{r.onSelectMarketplaceIndexEntry?.(e),r.onCloseMarketplaceSellerProfile?.()}})}
3164
3115
  </section>
3165
3116
  <section
3166
3117
  id="seller-requests"
@@ -3168,7 +3119,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3168
3119
  ?hidden=${m!==`requests`}
3169
3120
  >
3170
3121
  <div class="marketplace-detail-section__title">Requests</div>
3171
- ${ot({entries:br,kind:`request`,onSelectEntry:e=>{r.onSelectMarketplaceIndexEntry?.(e),r.onCloseMarketplaceSellerProfile?.()}})}
3122
+ ${ot({entries:vr,kind:`request`,onSelectEntry:e=>{r.onSelectMarketplaceIndexEntry?.(e),r.onCloseMarketplaceSellerProfile?.()}})}
3172
3123
  </section>
3173
3124
  <section
3174
3125
  id="seller-reviews"
@@ -3176,7 +3127,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3176
3127
  ?hidden=${m!==`reviews`}
3177
3128
  >
3178
3129
  <div class="marketplace-detail-section__title">Reviews</div>
3179
- ${Ft(r.marketplaceSellerProfileReviews??[],`No public reviews are indexed for this seller yet.`)}
3130
+ ${Pt(r.marketplaceSellerProfileReviews??[],`No public reviews are indexed for this seller yet.`)}
3180
3131
  </section>
3181
3132
  <section
3182
3133
  id="seller-disputes"
@@ -3184,7 +3135,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3184
3135
  ?hidden=${m!==`disputes`}
3185
3136
  >
3186
3137
  <div class="marketplace-detail-section__title">Disputes</div>
3187
- ${It(r.marketplaceSellerProfileDisputes??[],`No public disputes are indexed for this seller yet.`)}
3138
+ ${Ft(r.marketplaceSellerProfileDisputes??[],`No public disputes are indexed for this seller yet.`)}
3188
3139
  </section>
3189
3140
  <section
3190
3141
  id="seller-notary"
@@ -3192,7 +3143,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3192
3143
  ?hidden=${m!==`notary`}
3193
3144
  >
3194
3145
  <div class="marketplace-detail-section__title">Notary opinions</div>
3195
- ${Rt(r.marketplaceSellerProfileNotaryRecords)}
3146
+ ${Lt(r.marketplaceSellerProfileNotaryRecords)}
3196
3147
  </section>
3197
3148
  `}
3198
3149
  </div>
@@ -3207,12 +3158,12 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3207
3158
  <div class="marketplace-modal__header">
3208
3159
  <div>
3209
3160
  <div class="card-title">
3210
- ${be}
3161
+ ${ye}
3211
3162
  ${V(`A Marketplace offer is a service listing. Review the terms and payment first, then run/pay only when the adapter is available.`)}
3212
3163
  </div>
3213
3164
  <div class="card-sub">
3214
3165
  ${h?B(h.handle):`Unknown provider`} ·
3215
- ${h?I(h.offer.serviceKind):`Service`}
3166
+ ${h?P(h.offer.serviceKind):`Service`}
3216
3167
  </div>
3217
3168
  </div>
3218
3169
  ${dt(n.x,`Close offer details`,()=>r.onSelectOffer(``))}
@@ -3233,14 +3184,14 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3233
3184
  <span class="chip mono" title=${h.handle}>
3234
3185
  ${B(h.handle)}
3235
3186
  </span>
3236
- <span class="chip chip-ok">${xe}</span>
3237
- <span class="chip">${Se}</span>
3187
+ <span class="chip chip-ok">${Se}</span>
3188
+ <span class="chip">${Ce}</span>
3238
3189
  <span class="chip">
3239
- ${I(h.offer.serviceKind)}
3190
+ ${P(h.offer.serviceKind)}
3240
3191
  </span>
3241
3192
  ${h.sellerLane?e`
3242
3193
  <span class="chip ${h.sellerLane.eligible?`chip-ok`:`chip-warn`}">
3243
- ${Me(h.sellerLane.status)}
3194
+ ${Pe(h.sellerLane.status)}
3244
3195
  </span>
3245
3196
  `:t}
3246
3197
  </div>
@@ -3250,45 +3201,45 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3250
3201
  <div class="muted" style="margin-top: 8px">No seller summary was provided.</div>
3251
3202
  `}
3252
3203
  <div class="marketplace-detail-grid">
3253
- ${K({label:`Price`,value:xe,meta:`shown before payment`})}
3254
- ${K({label:`Asset`,value:Se,meta:`accepted settlement assets`})}
3204
+ ${K({label:`Price`,value:Se,meta:`shown before payment`})}
3205
+ ${K({label:`Asset`,value:Ce,meta:`accepted settlement assets`})}
3255
3206
  ${K({label:`Provider`,value:B(h.handle),meta:h.endpoint,title:h.handle})}
3256
3207
  </div>
3257
3208
  </section>
3258
3209
  <section id="offer-terms" class="marketplace-detail-section">
3259
3210
  <div class="marketplace-detail-section__title">Terms</div>
3260
3211
  <div class="marketplace-detail-kv">
3261
- <div><span>Type</span><strong>${I(h.offer.serviceKind)}</strong></div>
3212
+ <div><span>Type</span><strong>${P(h.offer.serviceKind)}</strong></div>
3262
3213
  <div><span>Input</span><strong>${h.offer.inputShape??`Not specified`}</strong></div>
3263
3214
  <div><span>Delivery</span><strong>${h.offer.deliveryShape??`Not specified`}</strong></div>
3264
3215
  <div><span>Availability</span><strong>${h.offer.availability??`Open`}</strong></div>
3265
3216
  <div><span>Trust</span><strong>${h.offer.requiredTrustOrBondTier??`Provider policy`}</strong></div>
3266
- <div><span>Contract</span><strong>${Ce}</strong></div>
3217
+ <div><span>Contract</span><strong>${we}</strong></div>
3267
3218
  </div>
3268
- ${ie(h)}
3219
+ ${ae(h)}
3269
3220
  </section>
3270
3221
  <section id="offer-payment" class="marketplace-detail-section">
3271
3222
  <div class="marketplace-detail-section__title">
3272
- ${_r?`Seller`:`Payment`}
3223
+ ${hr?`Seller`:`Payment`}
3273
3224
  </div>
3274
- ${_r?e`
3225
+ ${hr?e`
3275
3226
  <div class="marketplace-detail-kv">
3276
3227
  <div><span>Role</span><strong>Seller</strong></div>
3277
- <div><span>Listing</span><strong>${gr?`Local offer`:`Fased Network listing`}</strong></div>
3278
- <div><span>Price</span><strong>${xe}</strong></div>
3279
- <div><span>Assets</span><strong>${Se}</strong></div>
3280
- <div><span>Settlement</span><strong>${he??`Manual settlement`}</strong></div>
3228
+ <div><span>Listing</span><strong>${mr?`Local offer`:`Fased Network listing`}</strong></div>
3229
+ <div><span>Price</span><strong>${Se}</strong></div>
3230
+ <div><span>Assets</span><strong>${Ce}</strong></div>
3231
+ <div><span>Settlement</span><strong>${ge??`Manual settlement`}</strong></div>
3281
3232
  </div>
3282
3233
  <div class="callout" style="margin-top: 12px">
3283
3234
  This is your own offer. You cannot create a buyer order or pay yourself from this modal.
3284
3235
  Remote buyer work should appear in Sales with invoice, receipt, delivery, and dispute state
3285
3236
  after the marketplace intake path receives it.
3286
3237
  </div>
3287
- ${gr?.mutable?e`
3238
+ ${mr?.mutable?e`
3288
3239
  <div class="row" style="margin-top: 12px; justify-content: flex-end;">
3289
3240
  <button
3290
3241
  class="btn primary"
3291
- @click=${()=>{r.onSelectOffer(``),r.onStartLocalOfferDraft(gr.configId)}}
3242
+ @click=${()=>{r.onSelectOffer(``),r.onStartLocalOfferDraft(mr.configId)}}
3292
3243
  >
3293
3244
  Edit offer
3294
3245
  </button>
@@ -3296,12 +3247,12 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3296
3247
  `:t}
3297
3248
  `:e`
3298
3249
  <div class="marketplace-detail-kv">
3299
- <div><span>Buyer wallet</span><strong>${k?k.name:`Agent wallet required`}</strong></div>
3300
- <div><span>Price</span><strong>${xe}</strong></div>
3301
- <div><span>Assets</span><strong>${Se}</strong></div>
3302
- <div><span>Seller settlement</span><strong>${he??`Manual settlement`}</strong></div>
3250
+ <div><span>Buyer wallet</span><strong>${D?D.name:`Agent wallet required`}</strong></div>
3251
+ <div><span>Price</span><strong>${Se}</strong></div>
3252
+ <div><span>Assets</span><strong>${Ce}</strong></div>
3253
+ <div><span>Seller settlement</span><strong>${ge??`Manual settlement`}</strong></div>
3303
3254
  </div>
3304
- ${k?t:e`
3255
+ ${D?t:e`
3305
3256
  <div class="callout warn" style="margin-top: 12px">
3306
3257
  Create an Agent wallet before paying for Marketplace work. Vault and Mining wallets are not used
3307
3258
  for automatic Marketplace execution.
@@ -3310,8 +3261,8 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3310
3261
  <div class="row" style="margin-top: 12px; justify-content: flex-end;">
3311
3262
  <button
3312
3263
  class="btn primary"
3313
- ?disabled=${r.localOrderBusy||!!vr}
3314
- title=${vr||`Create an order with payment intent, delivery record, and receipt tracking. No payment is sent yet.`}
3264
+ ?disabled=${r.localOrderBusy||!!gr}
3265
+ title=${gr||`Create an order with payment intent, delivery record, and receipt tracking. No payment is sent yet.`}
3315
3266
  @click=${()=>r.onCreateOrderFromSelectedOffer?.()}
3316
3267
  >
3317
3268
  ${r.localOrderBusy?`Starting...`:`Start checkout`}
@@ -3336,7 +3287,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3336
3287
  ${h.sellerLane.reasons.join(` · `)}
3337
3288
  </div>
3338
3289
  `:t}
3339
- ${_r?t:Zn?e`
3290
+ ${hr?t:Yn?e`
3340
3291
  <details style="margin-top: 12px;">
3341
3292
  <summary class="muted" style="cursor: pointer;">Buy and run</summary>
3342
3293
  <div class="form-grid" style="margin-top: 12px;">
@@ -3376,22 +3327,22 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3376
3327
  ${V(`Use this button for the real marketplace flow. A successful paid run unlocks review and dispute on this same screen.`)}
3377
3328
  </div>
3378
3329
  <div class="chip-row" style="margin-top: 12px;">
3379
- <span class="chip ${k?`chip-success`:`chip-warn`}">
3380
- Wallet · ${k?k.name:`missing`}
3330
+ <span class="chip ${D?`chip-success`:`chip-warn`}">
3331
+ Wallet · ${D?D.name:`missing`}
3381
3332
  </span>
3382
- ${pe.implicit?e`
3333
+ ${he.implicit?e`
3383
3334
  <span class="chip">Only wallet on this node</span>
3384
3335
  `:t}
3385
- ${he?e`
3386
- <span class="chip" title=${he}>
3336
+ ${ge?e`
3337
+ <span class="chip" title=${ge}>
3387
3338
  Seller settlement ·
3388
- <span class="mono">${he}</span>
3339
+ <span class="mono">${ge}</span>
3389
3340
  </span>
3390
3341
  `:e`
3391
3342
  <span class="chip chip-warn">Seller settlement · manual</span>
3392
3343
  `}
3393
3344
  </div>
3394
- ${k?t:e`
3345
+ ${D?t:e`
3395
3346
  <div class="muted" style="margin-top: 10px">
3396
3347
  Create an Agent wallet in onboarding before running paid Marketplace flows. Vault and Mining
3397
3348
  wallets are not used for Marketplace execution.
@@ -3420,7 +3371,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3420
3371
  </div>
3421
3372
  <details style="margin-top: 12px;">
3422
3373
  <summary class="muted" style="cursor: pointer;">
3423
- ${M?`Advanced settlement`:`Manual settlement details`}
3374
+ ${_e?`Advanced settlement`:`Manual settlement details`}
3424
3375
  </summary>
3425
3376
  <div class="form-grid" style="margin-top: 12px;">
3426
3377
  <label class="field">
@@ -3450,7 +3401,7 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3450
3401
  <option value="native">native</option>
3451
3402
  </select>
3452
3403
  </label>
3453
- ${M?t:e`
3404
+ ${_e?t:e`
3454
3405
  <label class="field">
3455
3406
  <span>Asset decimals</span>
3456
3407
  <input
@@ -3484,19 +3435,10 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3484
3435
  </div>
3485
3436
  </details>
3486
3437
  <div class="row" style="margin-top: 12px; flex-wrap: wrap;">
3487
- ${me?e`
3488
- <button
3489
- class="btn secondary"
3490
- title="Open Wallet to unlock the Agent wallet signing window"
3491
- @click=${r.onOpenTaskPayment}
3492
- >
3493
- Open Wallet
3494
- </button>
3495
- `:t}
3496
3438
  <button
3497
3439
  class="btn primary"
3498
- ?disabled=${r.paidSummarizeBusy||!r.summarizeSourceText.trim()||!k||!!me}
3499
- title=${me||`Pay from Agent wallet and run content summary`}
3440
+ ?disabled=${r.paidSummarizeBusy||!r.summarizeSourceText.trim()||!D}
3441
+ title="Pay from Agent wallet and run content summary"
3500
3442
  @click=${r.onRunPaidContentSummarize}
3501
3443
  >
3502
3444
  ${r.paidSummarizeBusy?`Paying…`:`Pay content summary`}
@@ -3540,13 +3482,13 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3540
3482
  `:e`
3541
3483
  <div class="callout warn" style="margin-top: 12px">Select a verified offer first.</div>
3542
3484
  `}
3543
- ${r.summarizeError&&!b?e`<div class="callout danger" style="margin-top: 12px;">${r.summarizeError}</div>`:t}
3544
- ${r.paidSummarizeError&&!b?e`<div class="callout danger" style="margin-top: 12px;">${r.paidSummarizeError}</div>`:t}
3485
+ ${r.summarizeError&&!te?e`<div class="callout danger" style="margin-top: 12px;">${r.summarizeError}</div>`:t}
3486
+ ${r.paidSummarizeError&&!te?e`<div class="callout danger" style="margin-top: 12px;">${r.paidSummarizeError}</div>`:t}
3545
3487
  ${g?e`
3546
3488
  <div class="card" style="margin-top: 12px;">
3547
3489
  <div class="card-title">Summary Result</div>
3548
3490
  <div class="card-sub">
3549
- ${g.handle??`unknown handle`} · ${be}
3491
+ ${g.handle??`unknown handle`} · ${ye}
3550
3492
  </div>
3551
3493
  <div class="row" style="margin-top: 10px; flex-wrap: wrap; gap: 8px;">
3552
3494
  <span class="chip">Task · <span class="mono">${G(g.taskId,10,8)}</span></span>
@@ -3592,11 +3534,11 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{c as r,d as i,i as
3592
3534
  </span>
3593
3535
  `:t}
3594
3536
  </div>
3595
- ${_e?e`
3537
+ ${j?e`
3596
3538
  <details style="margin-top: 12px;">
3597
3539
  <summary class="muted" style="cursor: pointer;">View summary text</summary>
3598
3540
  <pre class="code-block" style="white-space: pre-wrap; margin-top: 12px;">
3599
- ${_e}</pre
3541
+ ${j}</pre
3600
3542
  >
3601
3543
  </details>
3602
3544
  `:e`
@@ -3607,53 +3549,53 @@ ${_e}</pre
3607
3549
  ${h?e`
3608
3550
  <section id="offer-activity" class="marketplace-detail-section">
3609
3551
  <div class="card-title">
3610
- ${x?`Review or Dispute`:`Marketplace Feedback`}
3552
+ ${b?`Review or Dispute`:`Marketplace Feedback`}
3611
3553
  </div>
3612
- ${x?e`
3554
+ ${b?e`
3613
3555
  <div class="row" style="margin-top: 12px; flex-wrap: wrap; gap: 8px;">
3614
- <span class="chip">Task · <span class="mono">${G(x.taskId,10,8)}</span></span>
3556
+ <span class="chip">Task · <span class="mono">${G(b.taskId,10,8)}</span></span>
3615
3557
  <span class="chip">
3616
3558
  Result ·
3617
- <span class="mono">${x.snapshot?.output?.result?.kind??`unknown`}</span>
3559
+ <span class="mono">${b.snapshot?.output?.result?.kind??`unknown`}</span>
3618
3560
  </span>
3619
- ${x.snapshot?.output?.payment?e`
3561
+ ${b.snapshot?.output?.payment?e`
3620
3562
  <span
3621
3563
  class="chip chip-success"
3622
- title=${x.snapshot?.output?.payment?.invoiceId??`missing`}
3564
+ title=${b.snapshot?.output?.payment?.invoiceId??`missing`}
3623
3565
  >
3624
3566
  Invoice ·
3625
3567
  <span class="mono">
3626
- ${G(x.snapshot?.output?.payment?.invoiceId,10,8)}
3568
+ ${G(b.snapshot?.output?.payment?.invoiceId,10,8)}
3627
3569
  </span>
3628
3570
  </span>
3629
3571
  <span
3630
3572
  class="chip chip-success"
3631
- title=${x.snapshot?.output?.payment?.receiptId??`missing`}
3573
+ title=${b.snapshot?.output?.payment?.receiptId??`missing`}
3632
3574
  >
3633
3575
  Receipt ·
3634
3576
  <span class="mono">
3635
- ${G(x.snapshot?.output?.payment?.receiptId,10,8)}
3577
+ ${G(b.snapshot?.output?.payment?.receiptId,10,8)}
3636
3578
  </span>
3637
3579
  </span>
3638
3580
  `:t}
3639
3581
  </div>
3640
3582
  <div class="row" style="margin-top: 12px; gap: 8px; flex-wrap: wrap;">
3641
3583
  <button
3642
- class="btn ${N===`review`?`primary`:``}"
3584
+ class="btn ${A===`review`?`primary`:``}"
3643
3585
  ?disabled=${r.offerFeedbackBusy}
3644
3586
  @click=${()=>r.onOfferFeedbackTabChange(`review`)}
3645
3587
  >
3646
3588
  Review
3647
3589
  </button>
3648
3590
  <button
3649
- class="btn ${N===`dispute`?`primary`:``}"
3591
+ class="btn ${A===`dispute`?`primary`:``}"
3650
3592
  ?disabled=${r.offerFeedbackBusy}
3651
3593
  @click=${()=>r.onOfferFeedbackTabChange(`dispute`)}
3652
3594
  >
3653
3595
  Dispute
3654
3596
  </button>
3655
3597
  </div>
3656
- ${N===`review`?e`
3598
+ ${A===`review`?e`
3657
3599
  <div class="card" style="margin-top: 12px;">
3658
3600
  <div class="card-title">Publish Review</div>
3659
3601
  <div class="form-grid" style="margin-top: 12px;">
@@ -3803,13 +3745,13 @@ ${_e}</pre
3803
3745
  <div class="card-title">Recent Reviews</div>
3804
3746
  <div class="card-sub">Latest Fased Network reviews for this selected offer.</div>
3805
3747
  ${r.offerReviewsError?e`<div class="callout danger" style="margin-top: 12px;">${r.offerReviewsError}</div>`:t}
3806
- ${Ft(r.offerReviews)}
3748
+ ${Pt(r.offerReviews)}
3807
3749
  </div>
3808
3750
  <div class="card" style="margin-top: 12px;">
3809
3751
  <div class="card-title">Recent Disputes</div>
3810
3752
  <div class="card-sub">Latest Fased Network disputes for this selected offer.</div>
3811
3753
  ${r.offerDisputesError?e`<div class="callout danger" style="margin-top: 12px;">${r.offerDisputesError}</div>`:t}
3812
- ${It(r.offerDisputes)}
3754
+ ${Ft(r.offerDisputes)}
3813
3755
  </div>
3814
3756
  <div class="card" style="margin-top: 12px;">
3815
3757
  <div class="row" style="justify-content: space-between; align-items: flex-start;">
@@ -3905,7 +3847,7 @@ ${_e}</pre
3905
3847
  <span class="mono">${n.caseId}</span>
3906
3848
  </div>
3907
3849
  ${n.summary?e`<div class="muted" style="margin-top: 6px;">${n.summary}</div>`:t}
3908
- ${Lt(n.evidenceRefs,3)}
3850
+ ${It(n.evidenceRefs,3)}
3909
3851
  </div>
3910
3852
  <div class="row" style="margin-top: 10px; flex-wrap: wrap;">
3911
3853
  <button
@@ -3919,22 +3861,22 @@ ${_e}</pre
3919
3861
  `)}
3920
3862
  </div>
3921
3863
  `}
3922
- ${P?e`
3864
+ ${M?e`
3923
3865
  <div class="card" style="margin-top: 12px;">
3924
3866
  <div class="card-title">Selected Dispute</div>
3925
3867
  <div class="card-sub">
3926
- <span class="mono">${P.caseId}</span> ·
3927
- ${P.providerHandle} ·
3928
- ${P.taskId}
3868
+ <span class="mono">${M.caseId}</span> ·
3869
+ ${M.providerHandle} ·
3870
+ ${M.taskId}
3929
3871
  </div>
3930
3872
  <div class="callout" style="margin-top: 12px;">
3931
- ${P.reasonCode} ·
3932
- ${P.paymentStatus} · current status
3933
- <span class="mono">${P.status}</span>
3873
+ ${M.reasonCode} ·
3874
+ ${M.paymentStatus} · current status
3875
+ <span class="mono">${M.status}</span>
3934
3876
  </div>
3935
- ${P.summary?e`
3877
+ ${M.summary?e`
3936
3878
  <div class="muted" style="margin-top: 12px;">
3937
- ${P.summary}
3879
+ ${M.summary}
3938
3880
  </div>
3939
3881
  `:t}
3940
3882
  <div class="marketplace-detail-section" style="margin-top: 12px;">
@@ -3943,12 +3885,12 @@ ${_e}</pre
3943
3885
  Sanitized refs attached by the paid order flow. Use these as the review trail; no
3944
3886
  delivery endpoint secret or raw artifact body is shown here.
3945
3887
  </div>
3946
- ${Lt(P.evidenceRefs)}
3947
- ${c(P.evidenceRefs).length>0?e`
3888
+ ${It(M.evidenceRefs)}
3889
+ ${c(M.evidenceRefs).length>0?e`
3948
3890
  <div class="row" style="margin-top: 10px;">
3949
3891
  <button
3950
3892
  class="btn"
3951
- @click=${()=>r.onOperatorDisputeResolutionDraftChange(d(r.operatorDisputeResolutionDraft,P.evidenceRefs))}
3893
+ @click=${()=>r.onOperatorDisputeResolutionDraftChange(d(r.operatorDisputeResolutionDraft,M.evidenceRefs))}
3952
3894
  >
3953
3895
  Use refs in resolution
3954
3896
  </button>
@@ -3976,13 +3918,13 @@ ${_e}</pre
3976
3918
  ${r.disputeNotaryRecordsLoading?`Loading…`:`Load opinions`}
3977
3919
  </button>
3978
3920
  </div>
3979
- ${Rt(we)}
3921
+ ${Lt(Te)}
3980
3922
  ${r.disputeNotaryRecordsError?e`
3981
3923
  <div class="callout danger" style="margin-top: 10px;">
3982
3924
  ${r.disputeNotaryRecordsError}
3983
3925
  </div>
3984
3926
  `:t}
3985
- ${F?t:e`
3927
+ ${Ee?t:e`
3986
3928
  <div class="callout warn" style="margin-top: 10px">
3987
3929
  Publishing a notary opinion requires an active operator bond and Fased Network write token.
3988
3930
  </div>
@@ -4035,7 +3977,7 @@ ${_e}</pre
4035
3977
  <div class="row" style="margin-top: 12px;">
4036
3978
  <button
4037
3979
  class="btn"
4038
- ?disabled=${r.disputeNotaryBusy||!F||!r.onPublishDisputeNotaryAttestation}
3980
+ ?disabled=${r.disputeNotaryBusy||!Ee||!r.onPublishDisputeNotaryAttestation}
4039
3981
  @click=${r.onPublishDisputeNotaryAttestation??(()=>void 0)}
4040
3982
  >
4041
3983
  ${r.disputeNotaryBusy?`Publishing…`:`Publish notary opinion`}
@@ -4101,13 +4043,13 @@ ${_e}</pre
4101
4043
  </div>
4102
4044
  <div
4103
4045
  class="marketplace-modal"
4104
- ?hidden=${!vn}
4046
+ ?hidden=${!gn}
4105
4047
  @click=${r.onCancelLocalOfferDraft}
4106
4048
  >
4107
4049
  <div class="card marketplace-modal__panel" @click=${lt}>
4108
4050
  <div class="marketplace-modal__header">
4109
4051
  <div>
4110
- <div class="card-title">${yn}</div>
4052
+ <div class="card-title">${_n}</div>
4111
4053
  <div class="card-sub">
4112
4054
  Build a real Marketplace listing: what is sold or requested, what the buyer provides,
4113
4055
  how it is delivered, and how payment is handled.
@@ -4115,7 +4057,7 @@ ${_e}</pre
4115
4057
  </div>
4116
4058
  ${dt(n.x,`Close offer editor`,r.onCancelLocalOfferDraft)}
4117
4059
  </div>
4118
- ${A?t:e`
4060
+ ${O?t:e`
4119
4061
  <div class="callout warn" style="margin-top: 12px">
4120
4062
  Create an Agent wallet before saving Marketplace offers. Marketplace seller settlement and buyer
4121
4063
  execution use the Agent wallet only.
@@ -4155,7 +4097,7 @@ ${_e}</pre
4155
4097
  <section class="marketplace-wizard-step">
4156
4098
  <div class="marketplace-wizard-step__title">
4157
4099
  2. Product
4158
- ${V(bn?`${bn.label}: ${bn.description}`:`Pick the service type first. Fased fills default input, delivery, unit, and capability fields from the type.`)}
4100
+ ${V(vn?`${vn.label}: ${vn.description}`:`Pick the service type first. Fased fills default input, delivery, unit, and capability fields from the type.`)}
4159
4101
  </div>
4160
4102
  <div class="form-grid" style="margin-top: 12px;">
4161
4103
  <label class="field">
@@ -4194,7 +4136,7 @@ ${_e}</pre
4194
4136
  <section class="marketplace-wizard-step">
4195
4137
  <div class="marketplace-wizard-step__title">
4196
4138
  3. Input and delivery
4197
- ${V(`Buyer input, seller output, and fulfillment policy. ${wn.description}`)}
4139
+ ${V(`Buyer input, seller output, and fulfillment policy. ${Sn.description}`)}
4198
4140
  </div>
4199
4141
  <div class="form-grid" style="margin-top: 12px;">
4200
4142
  <label class="field">
@@ -4216,7 +4158,7 @@ ${_e}</pre
4216
4158
  <label class="field">
4217
4159
  <span>Fulfillment</span>
4218
4160
  <select
4219
- .value=${Cn}
4161
+ .value=${xn}
4220
4162
  @change=${e=>r.onLocalOfferFulfillmentModeDraftChange?.(e.target.value)}
4221
4163
  >
4222
4164
  ${v.map(t=>e`<option value=${t.value}>${t.label}</option>`)}
@@ -4236,7 +4178,7 @@ ${_e}</pre
4236
4178
  <section class="marketplace-wizard-step">
4237
4179
  <div class="marketplace-wizard-step__title">
4238
4180
  4. Price and payment
4239
- ${V(`${Sn.description} ${En.description}`)}
4181
+ ${V(`${bn.description} ${wn.description}`)}
4240
4182
  </div>
4241
4183
  <div class="form-grid" style="margin-top: 12px;">
4242
4184
  <label class="field">
@@ -4253,7 +4195,7 @@ ${_e}</pre
4253
4195
  <label class="field">
4254
4196
  <span>Unit</span>
4255
4197
  <select
4256
- .value=${xn}
4198
+ .value=${yn}
4257
4199
  @change=${e=>r.onLocalOfferPriceUnitDraftChange?.(e.target.value)}
4258
4200
  >
4259
4201
  ${ee.map(t=>e`<option value=${t.value}>${t.label}</option>`)}
@@ -4290,8 +4232,8 @@ ${_e}</pre
4290
4232
  <label class="marketplace-asset-check">
4291
4233
  <input
4292
4234
  type="checkbox"
4293
- .checked=${Dn.has(t)}
4294
- @change=${e=>r.onLocalOfferAcceptedAssetsDraftChange?.(oe(r.localOfferAcceptedAssetsDraft,t,e.target.checked))}
4235
+ .checked=${Tn.has(t)}
4236
+ @change=${e=>r.onLocalOfferAcceptedAssetsDraftChange?.(ce(r.localOfferAcceptedAssetsDraft,t,e.target.checked))}
4295
4237
  />
4296
4238
  <span>${t}</span>
4297
4239
  </label>
@@ -4301,7 +4243,7 @@ ${_e}</pre
4301
4243
  <label class="field" style="grid-column: 1 / -1;">
4302
4244
  <span>Payment method</span>
4303
4245
  <select
4304
- .value=${Tn}
4246
+ .value=${Cn}
4305
4247
  @change=${e=>r.onLocalOfferPaymentRailsDraftChange?.(e.target.value)}
4306
4248
  >
4307
4249
  ${y.map(t=>e`<option value=${t.value}>${t.label}</option>`)}
@@ -4318,13 +4260,13 @@ ${_e}</pre
4318
4260
  </div>
4319
4261
  <div class="marketplace-review-list">
4320
4262
  <div><span>Side</span><strong>${J===`request`?`Request`:`Offer`}</strong></div>
4321
- <div><span>Type</span><strong>${bn?.label??(r.localOfferServiceKindDraft||`Service`)}</strong></div>
4322
- <div><span>Price</span><strong>${On}</strong></div>
4323
- <div><span>Payment</span><strong>${En.label}</strong></div>
4263
+ <div><span>Type</span><strong>${vn?.label??(r.localOfferServiceKindDraft||`Service`)}</strong></div>
4264
+ <div><span>Price</span><strong>${En}</strong></div>
4265
+ <div><span>Payment</span><strong>${wn.label}</strong></div>
4324
4266
  <div><span>Accepted</span><strong>${r.localOfferAcceptedAssetsDraft??`USDC, SOL, SAT, FCOD`}</strong></div>
4325
4267
  <div><span>Input</span><strong>${r.localOfferInputShapeDraft||`Not set`}</strong></div>
4326
4268
  <div><span>Delivery</span><strong>${r.localOfferDeliveryShapeDraft||`Not set`}</strong></div>
4327
- <div><span>Fulfillment</span><strong>${wn.label}</strong></div>
4269
+ <div><span>Fulfillment</span><strong>${Sn.label}</strong></div>
4328
4270
  </div>
4329
4271
  <label class="row" style="margin-top: 14px; align-items: center; gap: 10px;">
4330
4272
  <input
@@ -4337,7 +4279,7 @@ ${_e}</pre
4337
4279
  </aside>
4338
4280
  </div>
4339
4281
  <div class="row" style="margin-top: 12px; gap: 8px; flex-wrap: wrap;">
4340
- <button class="btn primary" ?disabled=${r.localOfferBusy||!A} @click=${r.onSaveLocalOffer}>
4282
+ <button class="btn primary" ?disabled=${r.localOfferBusy||!O} @click=${r.onSaveLocalOffer}>
4341
4283
  ${r.localOfferBusy?`Saving...`:J===`request`?r.localRequestEditingId?`Save request`:`Create request draft`:r.localOfferEditingId?`Save offer`:`Create offer draft`}
4342
4284
  </button>
4343
4285
  <button class="btn" ?disabled=${r.localOfferBusy} @click=${r.onCancelLocalOfferDraft}>
@@ -4379,5 +4321,5 @@ ${_e}</pre
4379
4321
  </div>
4380
4322
  </div>
4381
4323
  </section>
4382
- `}export{F as buildMarketplaceOrderStatusHistory,g as describeOperatorReadiness,Bt as renderFederation,Te as resolveMarketplaceIndexOrderReview,we as resolveMarketplaceOrderDisputeHistory};
4383
- //# sourceMappingURL=federation-D10Q4eP_.js.map
4324
+ `}export{N as buildMarketplaceOrderStatusHistory,g as describeOperatorReadiness,zt as renderFederation,De as resolveMarketplaceIndexOrderReview,Ee as resolveMarketplaceOrderDisputeHistory};
4325
+ //# sourceMappingURL=federation-DgA9e-Pn.js.map