@jinn-network/client 0.1.1 → 0.1.2-canary.d6e72dfd

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 (317) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/CONTRIBUTING.md +123 -0
  3. package/README.md +210 -37
  4. package/deployments/deployment-claim-registry-baseSepolia.json +13 -0
  5. package/deployments/deployment-jinn-testnet-faucet-baseSepolia-fast.json +15 -0
  6. package/dist/adapters/claim-registry/abi.d.ts +127 -0
  7. package/dist/adapters/claim-registry/abi.js +93 -0
  8. package/dist/adapters/claim-registry/abi.js.map +1 -0
  9. package/dist/adapters/claim-registry/client.d.ts +89 -0
  10. package/dist/adapters/claim-registry/client.js +205 -0
  11. package/dist/adapters/claim-registry/client.js.map +1 -0
  12. package/dist/adapters/mech/adapter.d.ts +1 -0
  13. package/dist/adapters/mech/adapter.js +75 -41
  14. package/dist/adapters/mech/adapter.js.map +1 -1
  15. package/dist/adapters/mech/contracts.d.ts +2 -0
  16. package/dist/adapters/mech/contracts.js +57 -7
  17. package/dist/adapters/mech/contracts.js.map +1 -1
  18. package/dist/adapters/mech/ipfs.d.ts +8 -0
  19. package/dist/adapters/mech/ipfs.js +12 -0
  20. package/dist/adapters/mech/ipfs.js.map +1 -1
  21. package/dist/adapters/mech/types.d.ts +20 -46
  22. package/dist/adapters/mech/types.js +16 -35
  23. package/dist/adapters/mech/types.js.map +1 -1
  24. package/dist/api/gather-status.d.ts +1 -0
  25. package/dist/api/gather-status.js +33 -1
  26. package/dist/api/gather-status.js.map +1 -1
  27. package/dist/api/portfolio-v0-build.d.ts +81 -0
  28. package/dist/api/portfolio-v0-build.js +141 -0
  29. package/dist/api/portfolio-v0-build.js.map +1 -0
  30. package/dist/api/portfolio-v0-doctor.d.ts +37 -0
  31. package/dist/api/portfolio-v0-doctor.js +123 -0
  32. package/dist/api/portfolio-v0-doctor.js.map +1 -0
  33. package/dist/api/rewards-build.js +1 -1
  34. package/dist/api/rewards-build.js.map +1 -1
  35. package/dist/api/status-build.d.ts +7 -0
  36. package/dist/api/status-build.js +1 -0
  37. package/dist/api/status-build.js.map +1 -1
  38. package/dist/bin/jinn-mcp.d.ts +0 -12
  39. package/dist/bin/jinn-mcp.js +5 -14
  40. package/dist/bin/jinn-mcp.js.map +1 -1
  41. package/dist/build-meta.json +1 -1
  42. package/dist/cli/commands/auth.js +115 -25
  43. package/dist/cli/commands/auth.js.map +1 -1
  44. package/dist/cli/commands/bootstrap.js +1 -0
  45. package/dist/cli/commands/bootstrap.js.map +1 -1
  46. package/dist/cli/commands/doctor.js +130 -14
  47. package/dist/cli/commands/doctor.js.map +1 -1
  48. package/dist/cli/commands/fleet-scale.js +1 -0
  49. package/dist/cli/commands/fleet-scale.js.map +1 -1
  50. package/dist/cli/commands/fund-requirements.js +2 -0
  51. package/dist/cli/commands/fund-requirements.js.map +1 -1
  52. package/dist/cli/commands/intents.d.ts +17 -0
  53. package/dist/cli/commands/intents.js +489 -0
  54. package/dist/cli/commands/intents.js.map +1 -0
  55. package/dist/cli/commands/keys-backup.js +13 -11
  56. package/dist/cli/commands/keys-backup.js.map +1 -1
  57. package/dist/cli/commands/mcp.d.ts +3 -0
  58. package/dist/cli/commands/mcp.js +19 -0
  59. package/dist/cli/commands/mcp.js.map +1 -0
  60. package/dist/cli/commands/plugin-install.js +8 -4
  61. package/dist/cli/commands/plugin-install.js.map +1 -1
  62. package/dist/cli/commands/quickstart.js +60 -4
  63. package/dist/cli/commands/quickstart.js.map +1 -1
  64. package/dist/cli/commands/rewards.js +27 -1
  65. package/dist/cli/commands/rewards.js.map +1 -1
  66. package/dist/cli/commands/submit-intent.js +108 -5
  67. package/dist/cli/commands/submit-intent.js.map +1 -1
  68. package/dist/cli/commands/version.js +1 -0
  69. package/dist/cli/commands/version.js.map +1 -1
  70. package/dist/cli/deployment-digest.js +5 -0
  71. package/dist/cli/deployment-digest.js.map +1 -1
  72. package/dist/cli/execution-context.js +1 -0
  73. package/dist/cli/execution-context.js.map +1 -1
  74. package/dist/cli/index.js +4 -0
  75. package/dist/cli/index.js.map +1 -1
  76. package/dist/cli/intent-registry-access.d.ts +64 -0
  77. package/dist/cli/intent-registry-access.js +187 -0
  78. package/dist/cli/intent-registry-access.js.map +1 -0
  79. package/dist/cli/introspection-context.js +1 -0
  80. package/dist/cli/introspection-context.js.map +1 -1
  81. package/dist/cli/password.d.ts +21 -9
  82. package/dist/cli/password.js +45 -24
  83. package/dist/cli/password.js.map +1 -1
  84. package/dist/config.d.ts +110 -8
  85. package/dist/config.js +41 -12
  86. package/dist/config.js.map +1 -1
  87. package/dist/daemon/creator.d.ts +7 -1
  88. package/dist/daemon/creator.js +38 -3
  89. package/dist/daemon/creator.js.map +1 -1
  90. package/dist/daemon/daemon.d.ts +43 -0
  91. package/dist/daemon/daemon.js +87 -2
  92. package/dist/daemon/daemon.js.map +1 -1
  93. package/dist/earning/bootstrap.d.ts +2 -1
  94. package/dist/earning/bootstrap.js +72 -4
  95. package/dist/earning/bootstrap.js.map +1 -1
  96. package/dist/earning/contracts.d.ts +10 -0
  97. package/dist/earning/contracts.js +24 -0
  98. package/dist/earning/contracts.js.map +1 -1
  99. package/dist/earning/jinn-rewards.d.ts +9 -0
  100. package/dist/earning/jinn-rewards.js +7 -0
  101. package/dist/earning/jinn-rewards.js.map +1 -1
  102. package/dist/intents/prediction-apy-v0-auto.d.ts +11 -0
  103. package/dist/intents/prediction-apy-v0-auto.js +46 -0
  104. package/dist/intents/prediction-apy-v0-auto.js.map +1 -0
  105. package/dist/intents/prediction-apy-v0-template.d.ts +8 -0
  106. package/dist/intents/prediction-apy-v0-template.js +22 -0
  107. package/dist/intents/prediction-apy-v0-template.js.map +1 -0
  108. package/dist/intents/prediction-v0-auto.d.ts +53 -0
  109. package/dist/intents/prediction-v0-auto.js +84 -0
  110. package/dist/intents/prediction-v0-auto.js.map +1 -0
  111. package/dist/intents/prediction-v0-template.d.ts +65 -0
  112. package/dist/intents/prediction-v0-template.js +125 -0
  113. package/dist/intents/prediction-v0-template.js.map +1 -0
  114. package/dist/main.js +149 -1
  115. package/dist/main.js.map +1 -1
  116. package/dist/mcp/operator-server.d.ts +1 -1
  117. package/dist/mcp/operator-server.js +1 -1
  118. package/dist/preflight/claude-auth.d.ts +12 -1
  119. package/dist/preflight/claude-auth.js +21 -3
  120. package/dist/preflight/claude-auth.js.map +1 -1
  121. package/dist/restorer/engine/canonical-json.d.ts +18 -0
  122. package/dist/restorer/engine/canonical-json.js +59 -0
  123. package/dist/restorer/engine/canonical-json.js.map +1 -0
  124. package/dist/restorer/engine/claim.d.ts +69 -0
  125. package/dist/restorer/engine/claim.js +104 -0
  126. package/dist/restorer/engine/claim.js.map +1 -0
  127. package/dist/restorer/engine/delivery.d.ts +52 -0
  128. package/dist/restorer/engine/delivery.js +63 -0
  129. package/dist/restorer/engine/delivery.js.map +1 -0
  130. package/dist/restorer/engine/engine.d.ts +203 -0
  131. package/dist/restorer/engine/engine.js +753 -0
  132. package/dist/restorer/engine/engine.js.map +1 -0
  133. package/dist/restorer/engine/manifest-assembly.d.ts +67 -0
  134. package/dist/restorer/engine/manifest-assembly.js +79 -0
  135. package/dist/restorer/engine/manifest-assembly.js.map +1 -0
  136. package/dist/restorer/engine/packaging.d.ts +87 -0
  137. package/dist/restorer/engine/packaging.js +350 -0
  138. package/dist/restorer/engine/packaging.js.map +1 -0
  139. package/dist/restorer/engine/persistence.d.ts +170 -0
  140. package/dist/restorer/engine/persistence.js +381 -0
  141. package/dist/restorer/engine/persistence.js.map +1 -0
  142. package/dist/restorer/engine/recovery.d.ts +22 -0
  143. package/dist/restorer/engine/recovery.js +24 -0
  144. package/dist/restorer/engine/recovery.js.map +1 -0
  145. package/dist/restorer/engine/registry.d.ts +62 -0
  146. package/dist/restorer/engine/registry.js +73 -0
  147. package/dist/restorer/engine/registry.js.map +1 -0
  148. package/dist/restorer/engine/signing.d.ts +30 -0
  149. package/dist/restorer/engine/signing.js +39 -0
  150. package/dist/restorer/engine/signing.js.map +1 -0
  151. package/dist/restorer/engine/state.d.ts +42 -0
  152. package/dist/restorer/engine/state.js +87 -0
  153. package/dist/restorer/engine/state.js.map +1 -0
  154. package/dist/restorer/impls/claude-mcp-hyperliquid/api-wallet.d.ts +64 -0
  155. package/dist/restorer/impls/claude-mcp-hyperliquid/api-wallet.js +96 -0
  156. package/dist/restorer/impls/claude-mcp-hyperliquid/api-wallet.js.map +1 -0
  157. package/dist/restorer/impls/claude-mcp-hyperliquid/index.d.ts +101 -0
  158. package/dist/restorer/impls/claude-mcp-hyperliquid/index.js +710 -0
  159. package/dist/restorer/impls/claude-mcp-hyperliquid/index.js.map +1 -0
  160. package/dist/restorer/impls/claude-mcp-hyperliquid/mcp-tools.d.ts +137 -0
  161. package/dist/restorer/impls/claude-mcp-hyperliquid/mcp-tools.js +865 -0
  162. package/dist/restorer/impls/claude-mcp-hyperliquid/mcp-tools.js.map +1 -0
  163. package/dist/restorer/impls/claude-mcp-hyperliquid/safety-rails.d.ts +74 -0
  164. package/dist/restorer/impls/claude-mcp-hyperliquid/safety-rails.js +74 -0
  165. package/dist/restorer/impls/claude-mcp-hyperliquid/safety-rails.js.map +1 -0
  166. package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.d.ts +97 -0
  167. package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.js +226 -0
  168. package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.js.map +1 -0
  169. package/dist/restorer/impls/claude-mcp-prediction/index.d.ts +43 -0
  170. package/dist/restorer/impls/claude-mcp-prediction/index.js +230 -0
  171. package/dist/restorer/impls/claude-mcp-prediction/index.js.map +1 -0
  172. package/dist/restorer/impls/claude-mcp-prediction/mcp-tools.d.ts +38 -0
  173. package/dist/restorer/impls/claude-mcp-prediction/mcp-tools.js +135 -0
  174. package/dist/restorer/impls/claude-mcp-prediction/mcp-tools.js.map +1 -0
  175. package/dist/restorer/impls/claude-mcp-prediction/prompt.d.ts +8 -0
  176. package/dist/restorer/impls/claude-mcp-prediction/prompt.js +54 -0
  177. package/dist/restorer/impls/claude-mcp-prediction/prompt.js.map +1 -0
  178. package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.d.ts +36 -0
  179. package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.js +137 -0
  180. package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.js.map +1 -0
  181. package/dist/restorer/impls/claude-mcp-prediction/types.d.ts +82 -0
  182. package/dist/restorer/impls/claude-mcp-prediction/types.js +6 -0
  183. package/dist/restorer/impls/claude-mcp-prediction/types.js.map +1 -0
  184. package/dist/restorer/impls/legacy-claude/index.d.ts +45 -0
  185. package/dist/restorer/impls/legacy-claude/index.js +71 -0
  186. package/dist/restorer/impls/legacy-claude/index.js.map +1 -0
  187. package/dist/restorer/impls/portfolio-v0-evaluator/canonical-metrics.d.ts +68 -0
  188. package/dist/restorer/impls/portfolio-v0-evaluator/canonical-metrics.js +117 -0
  189. package/dist/restorer/impls/portfolio-v0-evaluator/canonical-metrics.js.map +1 -0
  190. package/dist/restorer/impls/portfolio-v0-evaluator/checks/availability.d.ts +49 -0
  191. package/dist/restorer/impls/portfolio-v0-evaluator/checks/availability.js +91 -0
  192. package/dist/restorer/impls/portfolio-v0-evaluator/checks/availability.js.map +1 -0
  193. package/dist/restorer/impls/portfolio-v0-evaluator/checks/consistency.d.ts +78 -0
  194. package/dist/restorer/impls/portfolio-v0-evaluator/checks/consistency.js +274 -0
  195. package/dist/restorer/impls/portfolio-v0-evaluator/checks/consistency.js.map +1 -0
  196. package/dist/restorer/impls/portfolio-v0-evaluator/checks/eligibility.d.ts +23 -0
  197. package/dist/restorer/impls/portfolio-v0-evaluator/checks/eligibility.js +49 -0
  198. package/dist/restorer/impls/portfolio-v0-evaluator/checks/eligibility.js.map +1 -0
  199. package/dist/restorer/impls/portfolio-v0-evaluator/checks/integrity.d.ts +25 -0
  200. package/dist/restorer/impls/portfolio-v0-evaluator/checks/integrity.js +44 -0
  201. package/dist/restorer/impls/portfolio-v0-evaluator/checks/integrity.js.map +1 -0
  202. package/dist/restorer/impls/portfolio-v0-evaluator/checks/spec.d.ts +17 -0
  203. package/dist/restorer/impls/portfolio-v0-evaluator/checks/spec.js +43 -0
  204. package/dist/restorer/impls/portfolio-v0-evaluator/checks/spec.js.map +1 -0
  205. package/dist/restorer/impls/portfolio-v0-evaluator/index.d.ts +43 -0
  206. package/dist/restorer/impls/portfolio-v0-evaluator/index.js +431 -0
  207. package/dist/restorer/impls/portfolio-v0-evaluator/index.js.map +1 -0
  208. package/dist/restorer/impls/portfolio-v0-evaluator/score.d.ts +21 -0
  209. package/dist/restorer/impls/portfolio-v0-evaluator/score.js +32 -0
  210. package/dist/restorer/impls/portfolio-v0-evaluator/score.js.map +1 -0
  211. package/dist/restorer/impls/portfolio-v0-evaluator/types.d.ts +32 -0
  212. package/dist/restorer/impls/portfolio-v0-evaluator/types.js +8 -0
  213. package/dist/restorer/impls/portfolio-v0-evaluator/types.js.map +1 -0
  214. package/dist/restorer/impls/prediction-apy-v0-baseline/index.d.ts +39 -0
  215. package/dist/restorer/impls/prediction-apy-v0-baseline/index.js +98 -0
  216. package/dist/restorer/impls/prediction-apy-v0-baseline/index.js.map +1 -0
  217. package/dist/restorer/impls/prediction-apy-v0-baseline/strategy.d.ts +2 -0
  218. package/dist/restorer/impls/prediction-apy-v0-baseline/strategy.js +7 -0
  219. package/dist/restorer/impls/prediction-apy-v0-baseline/strategy.js.map +1 -0
  220. package/dist/restorer/impls/prediction-apy-v0-baseline/types.d.ts +4 -0
  221. package/dist/restorer/impls/prediction-apy-v0-baseline/types.js +2 -0
  222. package/dist/restorer/impls/prediction-apy-v0-baseline/types.js.map +1 -0
  223. package/dist/restorer/impls/prediction-apy-v0-evaluator/canonical-metrics.d.ts +2 -0
  224. package/dist/restorer/impls/prediction-apy-v0-evaluator/canonical-metrics.js +7 -0
  225. package/dist/restorer/impls/prediction-apy-v0-evaluator/canonical-metrics.js.map +1 -0
  226. package/dist/restorer/impls/prediction-apy-v0-evaluator/index.d.ts +39 -0
  227. package/dist/restorer/impls/prediction-apy-v0-evaluator/index.js +186 -0
  228. package/dist/restorer/impls/prediction-apy-v0-evaluator/index.js.map +1 -0
  229. package/dist/restorer/impls/prediction-apy-v0-evaluator/score.d.ts +9 -0
  230. package/dist/restorer/impls/prediction-apy-v0-evaluator/score.js +20 -0
  231. package/dist/restorer/impls/prediction-apy-v0-evaluator/score.js.map +1 -0
  232. package/dist/restorer/impls/prediction-apy-v0-evaluator/types.d.ts +7 -0
  233. package/dist/restorer/impls/prediction-apy-v0-evaluator/types.js +2 -0
  234. package/dist/restorer/impls/prediction-apy-v0-evaluator/types.js.map +1 -0
  235. package/dist/restorer/impls/prediction-v0-baseline/index.d.ts +29 -0
  236. package/dist/restorer/impls/prediction-v0-baseline/index.js +94 -0
  237. package/dist/restorer/impls/prediction-v0-baseline/index.js.map +1 -0
  238. package/dist/restorer/impls/prediction-v0-baseline/strategy.d.ts +8 -0
  239. package/dist/restorer/impls/prediction-v0-baseline/strategy.js +41 -0
  240. package/dist/restorer/impls/prediction-v0-baseline/strategy.js.map +1 -0
  241. package/dist/restorer/impls/prediction-v0-baseline/types.d.ts +7 -0
  242. package/dist/restorer/impls/prediction-v0-baseline/types.js +2 -0
  243. package/dist/restorer/impls/prediction-v0-baseline/types.js.map +1 -0
  244. package/dist/restorer/impls/prediction-v0-evaluator/canonical-metrics.d.ts +20 -0
  245. package/dist/restorer/impls/prediction-v0-evaluator/canonical-metrics.js +66 -0
  246. package/dist/restorer/impls/prediction-v0-evaluator/canonical-metrics.js.map +1 -0
  247. package/dist/restorer/impls/prediction-v0-evaluator/checks/availability.d.ts +9 -0
  248. package/dist/restorer/impls/prediction-v0-evaluator/checks/availability.js +23 -0
  249. package/dist/restorer/impls/prediction-v0-evaluator/checks/availability.js.map +1 -0
  250. package/dist/restorer/impls/prediction-v0-evaluator/checks/eligibility.d.ts +3 -0
  251. package/dist/restorer/impls/prediction-v0-evaluator/checks/eligibility.js +13 -0
  252. package/dist/restorer/impls/prediction-v0-evaluator/checks/eligibility.js.map +1 -0
  253. package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.d.ts +7 -0
  254. package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.js +93 -0
  255. package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.js.map +1 -0
  256. package/dist/restorer/impls/prediction-v0-evaluator/checks/spec.d.ts +5 -0
  257. package/dist/restorer/impls/prediction-v0-evaluator/checks/spec.js +20 -0
  258. package/dist/restorer/impls/prediction-v0-evaluator/checks/spec.js.map +1 -0
  259. package/dist/restorer/impls/prediction-v0-evaluator/index.d.ts +33 -0
  260. package/dist/restorer/impls/prediction-v0-evaluator/index.js +208 -0
  261. package/dist/restorer/impls/prediction-v0-evaluator/index.js.map +1 -0
  262. package/dist/restorer/impls/prediction-v0-evaluator/score.d.ts +8 -0
  263. package/dist/restorer/impls/prediction-v0-evaluator/score.js +15 -0
  264. package/dist/restorer/impls/prediction-v0-evaluator/score.js.map +1 -0
  265. package/dist/restorer/impls/prediction-v0-evaluator/types.d.ts +7 -0
  266. package/dist/restorer/impls/prediction-v0-evaluator/types.js +2 -0
  267. package/dist/restorer/impls/prediction-v0-evaluator/types.js.map +1 -0
  268. package/dist/restorer/types.d.ts +177 -0
  269. package/dist/restorer/types.js +7 -0
  270. package/dist/restorer/types.js.map +1 -0
  271. package/dist/store/store.d.ts +3 -1
  272. package/dist/store/store.js +3 -0
  273. package/dist/store/store.js.map +1 -1
  274. package/dist/types/desired-state.d.ts +53 -0
  275. package/dist/types/desired-state.js +20 -0
  276. package/dist/types/desired-state.js.map +1 -1
  277. package/dist/types/index.d.ts +4 -1
  278. package/dist/types/index.js +4 -1
  279. package/dist/types/index.js.map +1 -1
  280. package/dist/types/portfolio.d.ts +1000 -0
  281. package/dist/types/portfolio.js +168 -0
  282. package/dist/types/portfolio.js.map +1 -0
  283. package/dist/types/prediction-apy.d.ts +919 -0
  284. package/dist/types/prediction-apy.js +121 -0
  285. package/dist/types/prediction-apy.js.map +1 -0
  286. package/dist/types/prediction.d.ts +925 -0
  287. package/dist/types/prediction.js +140 -0
  288. package/dist/types/prediction.js.map +1 -0
  289. package/dist/venues/aave-v3/addresses.d.ts +6 -0
  290. package/dist/venues/aave-v3/addresses.js +19 -0
  291. package/dist/venues/aave-v3/addresses.js.map +1 -0
  292. package/dist/venues/aave-v3/client.d.ts +81 -0
  293. package/dist/venues/aave-v3/client.js +97 -0
  294. package/dist/venues/aave-v3/client.js.map +1 -0
  295. package/dist/venues/chainlink/client.d.ts +99 -0
  296. package/dist/venues/chainlink/client.js +130 -0
  297. package/dist/venues/chainlink/client.js.map +1 -0
  298. package/dist/venues/chainlink/feeds.d.ts +8 -0
  299. package/dist/venues/chainlink/feeds.js +9 -0
  300. package/dist/venues/chainlink/feeds.js.map +1 -0
  301. package/dist/venues/hyperliquid/account-value.d.ts +30 -0
  302. package/dist/venues/hyperliquid/account-value.js +30 -0
  303. package/dist/venues/hyperliquid/account-value.js.map +1 -0
  304. package/dist/venues/hyperliquid/client.d.ts +63 -0
  305. package/dist/venues/hyperliquid/client.js +135 -0
  306. package/dist/venues/hyperliquid/client.js.map +1 -0
  307. package/dist/venues/hyperliquid/grid.d.ts +36 -0
  308. package/dist/venues/hyperliquid/grid.js +61 -0
  309. package/dist/venues/hyperliquid/grid.js.map +1 -0
  310. package/dist/venues/hyperliquid/types.d.ts +81 -0
  311. package/dist/venues/hyperliquid/types.js +8 -0
  312. package/dist/venues/hyperliquid/types.js.map +1 -0
  313. package/dist/withdraw/run-withdraw-plan.js +2 -0
  314. package/dist/withdraw/run-withdraw-plan.js.map +1 -1
  315. package/docker-compose.yml +44 -0
  316. package/package.json +12 -1
  317. package/skills/jinn-operator/SKILL.md +85 -0
@@ -0,0 +1,1000 @@
1
+ /**
2
+ * portfolio.v0 — typed intent spec, restoration manifest, and verdict manifest.
3
+ *
4
+ * §4 portfolio.v0 concrete intent shape
5
+ * §5.1 Restoration manifest `portfolio.v0.manifest.v1`
6
+ * §5.2 Verdict manifest `portfolio.v0.eval.manifest.v1`
7
+ */
8
+ import { z } from 'zod';
9
+ declare const SnapshotSchema: z.ZodObject<{
10
+ capturedAt: z.ZodNumber;
11
+ hlTime: z.ZodNumber;
12
+ payload: z.ZodUnknown;
13
+ }, "strip", z.ZodTypeAny, {
14
+ capturedAt: number;
15
+ hlTime: number;
16
+ payload?: unknown;
17
+ }, {
18
+ capturedAt: number;
19
+ hlTime: number;
20
+ payload?: unknown;
21
+ }>;
22
+ declare const ArtifactSchema: z.ZodObject<{
23
+ cid: z.ZodString;
24
+ role: z.ZodString;
25
+ sha256: z.ZodOptional<z.ZodString>;
26
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
27
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
28
+ access: z.ZodOptional<z.ZodObject<{
29
+ kind: z.ZodEnum<["open", "x402-gated"]>;
30
+ endpoint: z.ZodOptional<z.ZodString>;
31
+ priceUsdc: z.ZodOptional<z.ZodString>;
32
+ }, "strip", z.ZodTypeAny, {
33
+ kind: "open" | "x402-gated";
34
+ endpoint?: string | undefined;
35
+ priceUsdc?: string | undefined;
36
+ }, {
37
+ kind: "open" | "x402-gated";
38
+ endpoint?: string | undefined;
39
+ priceUsdc?: string | undefined;
40
+ }>>;
41
+ }, "strip", z.ZodTypeAny, {
42
+ cid: string;
43
+ role: string;
44
+ sha256?: string | undefined;
45
+ metadata?: Record<string, unknown> | undefined;
46
+ tags?: string[] | undefined;
47
+ access?: {
48
+ kind: "open" | "x402-gated";
49
+ endpoint?: string | undefined;
50
+ priceUsdc?: string | undefined;
51
+ } | undefined;
52
+ }, {
53
+ cid: string;
54
+ role: string;
55
+ sha256?: string | undefined;
56
+ metadata?: Record<string, unknown> | undefined;
57
+ tags?: string[] | undefined;
58
+ access?: {
59
+ kind: "open" | "x402-gated";
60
+ endpoint?: string | undefined;
61
+ priceUsdc?: string | undefined;
62
+ } | undefined;
63
+ }>;
64
+ export type Artifact = z.infer<typeof ArtifactSchema>;
65
+ /** Artifact shape as returned by a restorer impl — uses `path` (local file) instead of `cid` (assigned after upload). */
66
+ export type OutputArtifact = Omit<Artifact, 'cid' | 'sha256'> & {
67
+ path: string;
68
+ };
69
+ export type Snapshot = z.infer<typeof SnapshotSchema>;
70
+ export declare const PortfolioV0SpecSchema: z.ZodObject<{
71
+ kind: z.ZodLiteral<"portfolio.v0">;
72
+ account: z.ZodObject<{
73
+ venue: z.ZodEnum<["hyperliquid-testnet", "hyperliquid-mainnet"]>;
74
+ masterAddress: z.ZodString;
75
+ }, "strip", z.ZodTypeAny, {
76
+ venue: "hyperliquid-testnet" | "hyperliquid-mainnet";
77
+ masterAddress: string;
78
+ }, {
79
+ venue: "hyperliquid-testnet" | "hyperliquid-mainnet";
80
+ masterAddress: string;
81
+ }>;
82
+ target: z.ZodObject<{
83
+ metric: z.ZodLiteral<"equity_return_pct">;
84
+ minReturnPct: z.ZodNumber;
85
+ }, "strip", z.ZodTypeAny, {
86
+ metric: "equity_return_pct";
87
+ minReturnPct: number;
88
+ }, {
89
+ metric: "equity_return_pct";
90
+ minReturnPct: number;
91
+ }>;
92
+ constraint: z.ZodObject<{
93
+ maxDrawdownPct: z.ZodNumber;
94
+ }, "strip", z.ZodTypeAny, {
95
+ maxDrawdownPct: number;
96
+ }, {
97
+ maxDrawdownPct: number;
98
+ }>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ account: {
101
+ venue: "hyperliquid-testnet" | "hyperliquid-mainnet";
102
+ masterAddress: string;
103
+ };
104
+ kind: "portfolio.v0";
105
+ target: {
106
+ metric: "equity_return_pct";
107
+ minReturnPct: number;
108
+ };
109
+ constraint: {
110
+ maxDrawdownPct: number;
111
+ };
112
+ }, {
113
+ account: {
114
+ venue: "hyperliquid-testnet" | "hyperliquid-mainnet";
115
+ masterAddress: string;
116
+ };
117
+ kind: "portfolio.v0";
118
+ target: {
119
+ metric: "equity_return_pct";
120
+ minReturnPct: number;
121
+ };
122
+ constraint: {
123
+ maxDrawdownPct: number;
124
+ };
125
+ }>;
126
+ export type PortfolioV0Spec = z.infer<typeof PortfolioV0SpecSchema>;
127
+ export declare const PortfolioV0EligibilitySchema: z.ZodObject<{
128
+ minClosedTrades: z.ZodDefault<z.ZodNumber>;
129
+ minTradedNotionalMultiple: z.ZodDefault<z.ZodNumber>;
130
+ }, "strip", z.ZodTypeAny, {
131
+ minClosedTrades: number;
132
+ minTradedNotionalMultiple: number;
133
+ }, {
134
+ minClosedTrades?: number | undefined;
135
+ minTradedNotionalMultiple?: number | undefined;
136
+ }>;
137
+ export type PortfolioV0Eligibility = z.infer<typeof PortfolioV0EligibilitySchema>;
138
+ /**
139
+ * Full portfolio.v0 intent — composes the generic DesiredState fields with the
140
+ * portfolio-specific spec + eligibility fields. The 24 h window constraint is
141
+ * enforced by a Zod refinement.
142
+ */
143
+ export declare const PortfolioV0IntentSchema: z.ZodEffects<z.ZodObject<{
144
+ id: z.ZodString;
145
+ description: z.ZodString;
146
+ window: z.ZodObject<{
147
+ startTs: z.ZodNumber;
148
+ endTs: z.ZodNumber;
149
+ }, "strip", z.ZodTypeAny, {
150
+ startTs: number;
151
+ endTs: number;
152
+ }, {
153
+ startTs: number;
154
+ endTs: number;
155
+ }>;
156
+ spec: z.ZodObject<{
157
+ kind: z.ZodLiteral<"portfolio.v0">;
158
+ account: z.ZodObject<{
159
+ venue: z.ZodEnum<["hyperliquid-testnet", "hyperliquid-mainnet"]>;
160
+ masterAddress: z.ZodString;
161
+ }, "strip", z.ZodTypeAny, {
162
+ venue: "hyperliquid-testnet" | "hyperliquid-mainnet";
163
+ masterAddress: string;
164
+ }, {
165
+ venue: "hyperliquid-testnet" | "hyperliquid-mainnet";
166
+ masterAddress: string;
167
+ }>;
168
+ target: z.ZodObject<{
169
+ metric: z.ZodLiteral<"equity_return_pct">;
170
+ minReturnPct: z.ZodNumber;
171
+ }, "strip", z.ZodTypeAny, {
172
+ metric: "equity_return_pct";
173
+ minReturnPct: number;
174
+ }, {
175
+ metric: "equity_return_pct";
176
+ minReturnPct: number;
177
+ }>;
178
+ constraint: z.ZodObject<{
179
+ maxDrawdownPct: z.ZodNumber;
180
+ }, "strip", z.ZodTypeAny, {
181
+ maxDrawdownPct: number;
182
+ }, {
183
+ maxDrawdownPct: number;
184
+ }>;
185
+ }, "strip", z.ZodTypeAny, {
186
+ account: {
187
+ venue: "hyperliquid-testnet" | "hyperliquid-mainnet";
188
+ masterAddress: string;
189
+ };
190
+ kind: "portfolio.v0";
191
+ target: {
192
+ metric: "equity_return_pct";
193
+ minReturnPct: number;
194
+ };
195
+ constraint: {
196
+ maxDrawdownPct: number;
197
+ };
198
+ }, {
199
+ account: {
200
+ venue: "hyperliquid-testnet" | "hyperliquid-mainnet";
201
+ masterAddress: string;
202
+ };
203
+ kind: "portfolio.v0";
204
+ target: {
205
+ metric: "equity_return_pct";
206
+ minReturnPct: number;
207
+ };
208
+ constraint: {
209
+ maxDrawdownPct: number;
210
+ };
211
+ }>;
212
+ eligibility: z.ZodDefault<z.ZodObject<{
213
+ minClosedTrades: z.ZodDefault<z.ZodNumber>;
214
+ minTradedNotionalMultiple: z.ZodDefault<z.ZodNumber>;
215
+ }, "strip", z.ZodTypeAny, {
216
+ minClosedTrades: number;
217
+ minTradedNotionalMultiple: number;
218
+ }, {
219
+ minClosedTrades?: number | undefined;
220
+ minTradedNotionalMultiple?: number | undefined;
221
+ }>>;
222
+ }, "strip", z.ZodTypeAny, {
223
+ id: string;
224
+ description: string;
225
+ window: {
226
+ startTs: number;
227
+ endTs: number;
228
+ };
229
+ spec: {
230
+ account: {
231
+ venue: "hyperliquid-testnet" | "hyperliquid-mainnet";
232
+ masterAddress: string;
233
+ };
234
+ kind: "portfolio.v0";
235
+ target: {
236
+ metric: "equity_return_pct";
237
+ minReturnPct: number;
238
+ };
239
+ constraint: {
240
+ maxDrawdownPct: number;
241
+ };
242
+ };
243
+ eligibility: {
244
+ minClosedTrades: number;
245
+ minTradedNotionalMultiple: number;
246
+ };
247
+ }, {
248
+ id: string;
249
+ description: string;
250
+ window: {
251
+ startTs: number;
252
+ endTs: number;
253
+ };
254
+ spec: {
255
+ account: {
256
+ venue: "hyperliquid-testnet" | "hyperliquid-mainnet";
257
+ masterAddress: string;
258
+ };
259
+ kind: "portfolio.v0";
260
+ target: {
261
+ metric: "equity_return_pct";
262
+ minReturnPct: number;
263
+ };
264
+ constraint: {
265
+ maxDrawdownPct: number;
266
+ };
267
+ };
268
+ eligibility?: {
269
+ minClosedTrades?: number | undefined;
270
+ minTradedNotionalMultiple?: number | undefined;
271
+ } | undefined;
272
+ }>, {
273
+ id: string;
274
+ description: string;
275
+ window: {
276
+ startTs: number;
277
+ endTs: number;
278
+ };
279
+ spec: {
280
+ account: {
281
+ venue: "hyperliquid-testnet" | "hyperliquid-mainnet";
282
+ masterAddress: string;
283
+ };
284
+ kind: "portfolio.v0";
285
+ target: {
286
+ metric: "equity_return_pct";
287
+ minReturnPct: number;
288
+ };
289
+ constraint: {
290
+ maxDrawdownPct: number;
291
+ };
292
+ };
293
+ eligibility: {
294
+ minClosedTrades: number;
295
+ minTradedNotionalMultiple: number;
296
+ };
297
+ }, {
298
+ id: string;
299
+ description: string;
300
+ window: {
301
+ startTs: number;
302
+ endTs: number;
303
+ };
304
+ spec: {
305
+ account: {
306
+ venue: "hyperliquid-testnet" | "hyperliquid-mainnet";
307
+ masterAddress: string;
308
+ };
309
+ kind: "portfolio.v0";
310
+ target: {
311
+ metric: "equity_return_pct";
312
+ minReturnPct: number;
313
+ };
314
+ constraint: {
315
+ maxDrawdownPct: number;
316
+ };
317
+ };
318
+ eligibility?: {
319
+ minClosedTrades?: number | undefined;
320
+ minTradedNotionalMultiple?: number | undefined;
321
+ } | undefined;
322
+ }>;
323
+ export type PortfolioV0Intent = z.infer<typeof PortfolioV0IntentSchema>;
324
+ declare const RationaleEntrySchema: z.ZodObject<{
325
+ ts: z.ZodNumber;
326
+ sessionId: z.ZodString;
327
+ note: z.ZodString;
328
+ relatedFillTids: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
329
+ }, "strip", z.ZodTypeAny, {
330
+ ts: number;
331
+ sessionId: string;
332
+ note: string;
333
+ relatedFillTids?: number[] | undefined;
334
+ }, {
335
+ ts: number;
336
+ sessionId: string;
337
+ note: string;
338
+ relatedFillTids?: number[] | undefined;
339
+ }>;
340
+ export type RationaleEntry = z.infer<typeof RationaleEntrySchema>;
341
+ export declare const RestorationManifestSchema: z.ZodObject<{
342
+ schemaVersion: z.ZodLiteral<"portfolio.v0.manifest.v1">;
343
+ generatedAt: z.ZodNumber;
344
+ intent: z.ZodObject<{
345
+ cid: z.ZodString;
346
+ onchainCreationTx: z.ZodString;
347
+ onchainCreationBlock: z.ZodNumber;
348
+ requestId: z.ZodString;
349
+ }, "strip", z.ZodTypeAny, {
350
+ cid: string;
351
+ onchainCreationTx: string;
352
+ onchainCreationBlock: number;
353
+ requestId: string;
354
+ }, {
355
+ cid: string;
356
+ onchainCreationTx: string;
357
+ onchainCreationBlock: number;
358
+ requestId: string;
359
+ }>;
360
+ restorer: z.ZodObject<{
361
+ safeAddress: z.ZodString;
362
+ agentEoa: z.ZodString;
363
+ }, "strip", z.ZodTypeAny, {
364
+ safeAddress: string;
365
+ agentEoa: string;
366
+ }, {
367
+ safeAddress: string;
368
+ agentEoa: string;
369
+ }>;
370
+ window: z.ZodObject<{
371
+ startTs: z.ZodNumber;
372
+ endTs: z.ZodNumber;
373
+ }, "strip", z.ZodTypeAny, {
374
+ startTs: number;
375
+ endTs: number;
376
+ }, {
377
+ startTs: number;
378
+ endTs: number;
379
+ }>;
380
+ preSnapshot: z.ZodObject<{
381
+ capturedAt: z.ZodNumber;
382
+ hlTime: z.ZodNumber;
383
+ payload: z.ZodUnknown;
384
+ }, "strip", z.ZodTypeAny, {
385
+ capturedAt: number;
386
+ hlTime: number;
387
+ payload?: unknown;
388
+ }, {
389
+ capturedAt: number;
390
+ hlTime: number;
391
+ payload?: unknown;
392
+ }>;
393
+ postSnapshot: z.ZodObject<{
394
+ capturedAt: z.ZodNumber;
395
+ hlTime: z.ZodNumber;
396
+ payload: z.ZodUnknown;
397
+ }, "strip", z.ZodTypeAny, {
398
+ capturedAt: number;
399
+ hlTime: number;
400
+ payload?: unknown;
401
+ }, {
402
+ capturedAt: number;
403
+ hlTime: number;
404
+ payload?: unknown;
405
+ }>;
406
+ fills: z.ZodArray<z.ZodUnknown, "many">;
407
+ gating: z.ZodObject<{
408
+ equityReturnPct: z.ZodString;
409
+ maxDrawdownPct: z.ZodString;
410
+ closedTradesCount: z.ZodNumber;
411
+ tradedNotionalMultiple: z.ZodString;
412
+ }, "strip", z.ZodTypeAny, {
413
+ maxDrawdownPct: string;
414
+ equityReturnPct: string;
415
+ closedTradesCount: number;
416
+ tradedNotionalMultiple: string;
417
+ }, {
418
+ maxDrawdownPct: string;
419
+ equityReturnPct: string;
420
+ closedTradesCount: number;
421
+ tradedNotionalMultiple: string;
422
+ }>;
423
+ informational: z.ZodOptional<z.ZodObject<{
424
+ sharpe: z.ZodOptional<z.ZodString>;
425
+ sortino: z.ZodOptional<z.ZodString>;
426
+ calmar: z.ZodOptional<z.ZodString>;
427
+ profitFactor: z.ZodOptional<z.ZodString>;
428
+ expectancy: z.ZodOptional<z.ZodString>;
429
+ winRate: z.ZodOptional<z.ZodString>;
430
+ holdTimeMs: z.ZodOptional<z.ZodObject<{
431
+ mean: z.ZodNumber;
432
+ median: z.ZodNumber;
433
+ p95: z.ZodNumber;
434
+ }, "strip", z.ZodTypeAny, {
435
+ mean: number;
436
+ median: number;
437
+ p95: number;
438
+ }, {
439
+ mean: number;
440
+ median: number;
441
+ p95: number;
442
+ }>>;
443
+ leverageHistogram: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
444
+ longShortMix: z.ZodOptional<z.ZodObject<{
445
+ longCount: z.ZodNumber;
446
+ shortCount: z.ZodNumber;
447
+ }, "strip", z.ZodTypeAny, {
448
+ longCount: number;
449
+ shortCount: number;
450
+ }, {
451
+ longCount: number;
452
+ shortCount: number;
453
+ }>>;
454
+ }, "strip", z.ZodTypeAny, {
455
+ sharpe?: string | undefined;
456
+ sortino?: string | undefined;
457
+ calmar?: string | undefined;
458
+ profitFactor?: string | undefined;
459
+ expectancy?: string | undefined;
460
+ winRate?: string | undefined;
461
+ holdTimeMs?: {
462
+ mean: number;
463
+ median: number;
464
+ p95: number;
465
+ } | undefined;
466
+ leverageHistogram?: Record<string, number> | undefined;
467
+ longShortMix?: {
468
+ longCount: number;
469
+ shortCount: number;
470
+ } | undefined;
471
+ }, {
472
+ sharpe?: string | undefined;
473
+ sortino?: string | undefined;
474
+ calmar?: string | undefined;
475
+ profitFactor?: string | undefined;
476
+ expectancy?: string | undefined;
477
+ winRate?: string | undefined;
478
+ holdTimeMs?: {
479
+ mean: number;
480
+ median: number;
481
+ p95: number;
482
+ } | undefined;
483
+ leverageHistogram?: Record<string, number> | undefined;
484
+ longShortMix?: {
485
+ longCount: number;
486
+ shortCount: number;
487
+ } | undefined;
488
+ }>>;
489
+ artifacts: z.ZodArray<z.ZodObject<{
490
+ cid: z.ZodString;
491
+ role: z.ZodString;
492
+ sha256: z.ZodOptional<z.ZodString>;
493
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
494
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
495
+ access: z.ZodOptional<z.ZodObject<{
496
+ kind: z.ZodEnum<["open", "x402-gated"]>;
497
+ endpoint: z.ZodOptional<z.ZodString>;
498
+ priceUsdc: z.ZodOptional<z.ZodString>;
499
+ }, "strip", z.ZodTypeAny, {
500
+ kind: "open" | "x402-gated";
501
+ endpoint?: string | undefined;
502
+ priceUsdc?: string | undefined;
503
+ }, {
504
+ kind: "open" | "x402-gated";
505
+ endpoint?: string | undefined;
506
+ priceUsdc?: string | undefined;
507
+ }>>;
508
+ }, "strip", z.ZodTypeAny, {
509
+ cid: string;
510
+ role: string;
511
+ sha256?: string | undefined;
512
+ metadata?: Record<string, unknown> | undefined;
513
+ tags?: string[] | undefined;
514
+ access?: {
515
+ kind: "open" | "x402-gated";
516
+ endpoint?: string | undefined;
517
+ priceUsdc?: string | undefined;
518
+ } | undefined;
519
+ }, {
520
+ cid: string;
521
+ role: string;
522
+ sha256?: string | undefined;
523
+ metadata?: Record<string, unknown> | undefined;
524
+ tags?: string[] | undefined;
525
+ access?: {
526
+ kind: "open" | "x402-gated";
527
+ endpoint?: string | undefined;
528
+ priceUsdc?: string | undefined;
529
+ } | undefined;
530
+ }>, "many">;
531
+ rationale: z.ZodOptional<z.ZodArray<z.ZodObject<{
532
+ ts: z.ZodNumber;
533
+ sessionId: z.ZodString;
534
+ note: z.ZodString;
535
+ relatedFillTids: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
536
+ }, "strip", z.ZodTypeAny, {
537
+ ts: number;
538
+ sessionId: string;
539
+ note: string;
540
+ relatedFillTids?: number[] | undefined;
541
+ }, {
542
+ ts: number;
543
+ sessionId: string;
544
+ note: string;
545
+ relatedFillTids?: number[] | undefined;
546
+ }>, "many">>;
547
+ signature: z.ZodObject<{
548
+ algo: z.ZodLiteral<"secp256k1">;
549
+ signer: z.ZodString;
550
+ hash: z.ZodString;
551
+ sig: z.ZodString;
552
+ }, "strip", z.ZodTypeAny, {
553
+ hash: string;
554
+ algo: "secp256k1";
555
+ signer: string;
556
+ sig: string;
557
+ }, {
558
+ hash: string;
559
+ algo: "secp256k1";
560
+ signer: string;
561
+ sig: string;
562
+ }>;
563
+ }, "strip", z.ZodTypeAny, {
564
+ signature: {
565
+ hash: string;
566
+ algo: "secp256k1";
567
+ signer: string;
568
+ sig: string;
569
+ };
570
+ window: {
571
+ startTs: number;
572
+ endTs: number;
573
+ };
574
+ schemaVersion: "portfolio.v0.manifest.v1";
575
+ generatedAt: number;
576
+ intent: {
577
+ cid: string;
578
+ onchainCreationTx: string;
579
+ onchainCreationBlock: number;
580
+ requestId: string;
581
+ };
582
+ restorer: {
583
+ safeAddress: string;
584
+ agentEoa: string;
585
+ };
586
+ preSnapshot: {
587
+ capturedAt: number;
588
+ hlTime: number;
589
+ payload?: unknown;
590
+ };
591
+ postSnapshot: {
592
+ capturedAt: number;
593
+ hlTime: number;
594
+ payload?: unknown;
595
+ };
596
+ fills: unknown[];
597
+ gating: {
598
+ maxDrawdownPct: string;
599
+ equityReturnPct: string;
600
+ closedTradesCount: number;
601
+ tradedNotionalMultiple: string;
602
+ };
603
+ artifacts: {
604
+ cid: string;
605
+ role: string;
606
+ sha256?: string | undefined;
607
+ metadata?: Record<string, unknown> | undefined;
608
+ tags?: string[] | undefined;
609
+ access?: {
610
+ kind: "open" | "x402-gated";
611
+ endpoint?: string | undefined;
612
+ priceUsdc?: string | undefined;
613
+ } | undefined;
614
+ }[];
615
+ informational?: {
616
+ sharpe?: string | undefined;
617
+ sortino?: string | undefined;
618
+ calmar?: string | undefined;
619
+ profitFactor?: string | undefined;
620
+ expectancy?: string | undefined;
621
+ winRate?: string | undefined;
622
+ holdTimeMs?: {
623
+ mean: number;
624
+ median: number;
625
+ p95: number;
626
+ } | undefined;
627
+ leverageHistogram?: Record<string, number> | undefined;
628
+ longShortMix?: {
629
+ longCount: number;
630
+ shortCount: number;
631
+ } | undefined;
632
+ } | undefined;
633
+ rationale?: {
634
+ ts: number;
635
+ sessionId: string;
636
+ note: string;
637
+ relatedFillTids?: number[] | undefined;
638
+ }[] | undefined;
639
+ }, {
640
+ signature: {
641
+ hash: string;
642
+ algo: "secp256k1";
643
+ signer: string;
644
+ sig: string;
645
+ };
646
+ window: {
647
+ startTs: number;
648
+ endTs: number;
649
+ };
650
+ schemaVersion: "portfolio.v0.manifest.v1";
651
+ generatedAt: number;
652
+ intent: {
653
+ cid: string;
654
+ onchainCreationTx: string;
655
+ onchainCreationBlock: number;
656
+ requestId: string;
657
+ };
658
+ restorer: {
659
+ safeAddress: string;
660
+ agentEoa: string;
661
+ };
662
+ preSnapshot: {
663
+ capturedAt: number;
664
+ hlTime: number;
665
+ payload?: unknown;
666
+ };
667
+ postSnapshot: {
668
+ capturedAt: number;
669
+ hlTime: number;
670
+ payload?: unknown;
671
+ };
672
+ fills: unknown[];
673
+ gating: {
674
+ maxDrawdownPct: string;
675
+ equityReturnPct: string;
676
+ closedTradesCount: number;
677
+ tradedNotionalMultiple: string;
678
+ };
679
+ artifacts: {
680
+ cid: string;
681
+ role: string;
682
+ sha256?: string | undefined;
683
+ metadata?: Record<string, unknown> | undefined;
684
+ tags?: string[] | undefined;
685
+ access?: {
686
+ kind: "open" | "x402-gated";
687
+ endpoint?: string | undefined;
688
+ priceUsdc?: string | undefined;
689
+ } | undefined;
690
+ }[];
691
+ informational?: {
692
+ sharpe?: string | undefined;
693
+ sortino?: string | undefined;
694
+ calmar?: string | undefined;
695
+ profitFactor?: string | undefined;
696
+ expectancy?: string | undefined;
697
+ winRate?: string | undefined;
698
+ holdTimeMs?: {
699
+ mean: number;
700
+ median: number;
701
+ p95: number;
702
+ } | undefined;
703
+ leverageHistogram?: Record<string, number> | undefined;
704
+ longShortMix?: {
705
+ longCount: number;
706
+ shortCount: number;
707
+ } | undefined;
708
+ } | undefined;
709
+ rationale?: {
710
+ ts: number;
711
+ sessionId: string;
712
+ note: string;
713
+ relatedFillTids?: number[] | undefined;
714
+ }[] | undefined;
715
+ }>;
716
+ export type RestorationManifest = z.infer<typeof RestorationManifestSchema>;
717
+ export declare const VerdictManifestSchema: z.ZodObject<{
718
+ schemaVersion: z.ZodLiteral<"portfolio.v0.eval.manifest.v1">;
719
+ generatedAt: z.ZodNumber;
720
+ intent: z.ZodObject<{
721
+ cid: z.ZodString;
722
+ onchainCreationTx: z.ZodString;
723
+ onchainCreationBlock: z.ZodNumber;
724
+ requestId: z.ZodString;
725
+ }, "strip", z.ZodTypeAny, {
726
+ cid: string;
727
+ onchainCreationTx: string;
728
+ onchainCreationBlock: number;
729
+ requestId: string;
730
+ }, {
731
+ cid: string;
732
+ onchainCreationTx: string;
733
+ onchainCreationBlock: number;
734
+ requestId: string;
735
+ }>;
736
+ evaluator: z.ZodObject<{
737
+ safeAddress: z.ZodString;
738
+ agentEoa: z.ZodString;
739
+ }, "strip", z.ZodTypeAny, {
740
+ safeAddress: string;
741
+ agentEoa: string;
742
+ }, {
743
+ safeAddress: string;
744
+ agentEoa: string;
745
+ }>;
746
+ window: z.ZodObject<{
747
+ startTs: z.ZodNumber;
748
+ endTs: z.ZodNumber;
749
+ }, "strip", z.ZodTypeAny, {
750
+ startTs: number;
751
+ endTs: number;
752
+ }, {
753
+ startTs: number;
754
+ endTs: number;
755
+ }>;
756
+ verdict: z.ZodEnum<["PASS", "FAIL", "REJECTED", "INDETERMINATE"]>;
757
+ score: z.ZodString;
758
+ scoreBasis: z.ZodString;
759
+ scoreVersion: z.ZodString;
760
+ rederived: z.ZodObject<{
761
+ preSnapshot: z.ZodObject<{
762
+ capturedAt: z.ZodNumber;
763
+ payload: z.ZodUnknown;
764
+ }, "strip", z.ZodTypeAny, {
765
+ capturedAt: number;
766
+ payload?: unknown;
767
+ }, {
768
+ capturedAt: number;
769
+ payload?: unknown;
770
+ }>;
771
+ postSnapshot: z.ZodObject<{
772
+ capturedAt: z.ZodNumber;
773
+ payload: z.ZodUnknown;
774
+ }, "strip", z.ZodTypeAny, {
775
+ capturedAt: number;
776
+ payload?: unknown;
777
+ }, {
778
+ capturedAt: number;
779
+ payload?: unknown;
780
+ }>;
781
+ fills: z.ZodArray<z.ZodUnknown, "many">;
782
+ gating: z.ZodRecord<z.ZodString, z.ZodUnknown>;
783
+ }, "strip", z.ZodTypeAny, {
784
+ preSnapshot: {
785
+ capturedAt: number;
786
+ payload?: unknown;
787
+ };
788
+ postSnapshot: {
789
+ capturedAt: number;
790
+ payload?: unknown;
791
+ };
792
+ fills: unknown[];
793
+ gating: Record<string, unknown>;
794
+ }, {
795
+ preSnapshot: {
796
+ capturedAt: number;
797
+ payload?: unknown;
798
+ };
799
+ postSnapshot: {
800
+ capturedAt: number;
801
+ payload?: unknown;
802
+ };
803
+ fills: unknown[];
804
+ gating: Record<string, unknown>;
805
+ }>;
806
+ claimed: z.ZodObject<{
807
+ preSnapshot: z.ZodObject<{
808
+ capturedAt: z.ZodNumber;
809
+ payload: z.ZodUnknown;
810
+ }, "strip", z.ZodTypeAny, {
811
+ capturedAt: number;
812
+ payload?: unknown;
813
+ }, {
814
+ capturedAt: number;
815
+ payload?: unknown;
816
+ }>;
817
+ postSnapshot: z.ZodObject<{
818
+ capturedAt: z.ZodNumber;
819
+ payload: z.ZodUnknown;
820
+ }, "strip", z.ZodTypeAny, {
821
+ capturedAt: number;
822
+ payload?: unknown;
823
+ }, {
824
+ capturedAt: number;
825
+ payload?: unknown;
826
+ }>;
827
+ fillsHash: z.ZodString;
828
+ fillsCount: z.ZodNumber;
829
+ gating: z.ZodRecord<z.ZodString, z.ZodUnknown>;
830
+ }, "strip", z.ZodTypeAny, {
831
+ preSnapshot: {
832
+ capturedAt: number;
833
+ payload?: unknown;
834
+ };
835
+ postSnapshot: {
836
+ capturedAt: number;
837
+ payload?: unknown;
838
+ };
839
+ gating: Record<string, unknown>;
840
+ fillsHash: string;
841
+ fillsCount: number;
842
+ }, {
843
+ preSnapshot: {
844
+ capturedAt: number;
845
+ payload?: unknown;
846
+ };
847
+ postSnapshot: {
848
+ capturedAt: number;
849
+ payload?: unknown;
850
+ };
851
+ gating: Record<string, unknown>;
852
+ fillsHash: string;
853
+ fillsCount: number;
854
+ }>;
855
+ checks: z.ZodArray<z.ZodObject<{
856
+ name: z.ZodString;
857
+ status: z.ZodEnum<["PASS", "FAIL", "SKIP"]>;
858
+ detail: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
859
+ }, "strip", z.ZodTypeAny, {
860
+ name: string;
861
+ status: "PASS" | "FAIL" | "SKIP";
862
+ detail?: string | Record<string, unknown> | undefined;
863
+ }, {
864
+ name: string;
865
+ status: "PASS" | "FAIL" | "SKIP";
866
+ detail?: string | Record<string, unknown> | undefined;
867
+ }>, "many">;
868
+ signature: z.ZodObject<{
869
+ algo: z.ZodLiteral<"secp256k1">;
870
+ signer: z.ZodString;
871
+ hash: z.ZodString;
872
+ sig: z.ZodString;
873
+ }, "strip", z.ZodTypeAny, {
874
+ hash: string;
875
+ algo: "secp256k1";
876
+ signer: string;
877
+ sig: string;
878
+ }, {
879
+ hash: string;
880
+ algo: "secp256k1";
881
+ signer: string;
882
+ sig: string;
883
+ }>;
884
+ }, "strip", z.ZodTypeAny, {
885
+ signature: {
886
+ hash: string;
887
+ algo: "secp256k1";
888
+ signer: string;
889
+ sig: string;
890
+ };
891
+ window: {
892
+ startTs: number;
893
+ endTs: number;
894
+ };
895
+ schemaVersion: "portfolio.v0.eval.manifest.v1";
896
+ generatedAt: number;
897
+ intent: {
898
+ cid: string;
899
+ onchainCreationTx: string;
900
+ onchainCreationBlock: number;
901
+ requestId: string;
902
+ };
903
+ evaluator: {
904
+ safeAddress: string;
905
+ agentEoa: string;
906
+ };
907
+ verdict: "PASS" | "FAIL" | "REJECTED" | "INDETERMINATE";
908
+ score: string;
909
+ scoreBasis: string;
910
+ scoreVersion: string;
911
+ rederived: {
912
+ preSnapshot: {
913
+ capturedAt: number;
914
+ payload?: unknown;
915
+ };
916
+ postSnapshot: {
917
+ capturedAt: number;
918
+ payload?: unknown;
919
+ };
920
+ fills: unknown[];
921
+ gating: Record<string, unknown>;
922
+ };
923
+ claimed: {
924
+ preSnapshot: {
925
+ capturedAt: number;
926
+ payload?: unknown;
927
+ };
928
+ postSnapshot: {
929
+ capturedAt: number;
930
+ payload?: unknown;
931
+ };
932
+ gating: Record<string, unknown>;
933
+ fillsHash: string;
934
+ fillsCount: number;
935
+ };
936
+ checks: {
937
+ name: string;
938
+ status: "PASS" | "FAIL" | "SKIP";
939
+ detail?: string | Record<string, unknown> | undefined;
940
+ }[];
941
+ }, {
942
+ signature: {
943
+ hash: string;
944
+ algo: "secp256k1";
945
+ signer: string;
946
+ sig: string;
947
+ };
948
+ window: {
949
+ startTs: number;
950
+ endTs: number;
951
+ };
952
+ schemaVersion: "portfolio.v0.eval.manifest.v1";
953
+ generatedAt: number;
954
+ intent: {
955
+ cid: string;
956
+ onchainCreationTx: string;
957
+ onchainCreationBlock: number;
958
+ requestId: string;
959
+ };
960
+ evaluator: {
961
+ safeAddress: string;
962
+ agentEoa: string;
963
+ };
964
+ verdict: "PASS" | "FAIL" | "REJECTED" | "INDETERMINATE";
965
+ score: string;
966
+ scoreBasis: string;
967
+ scoreVersion: string;
968
+ rederived: {
969
+ preSnapshot: {
970
+ capturedAt: number;
971
+ payload?: unknown;
972
+ };
973
+ postSnapshot: {
974
+ capturedAt: number;
975
+ payload?: unknown;
976
+ };
977
+ fills: unknown[];
978
+ gating: Record<string, unknown>;
979
+ };
980
+ claimed: {
981
+ preSnapshot: {
982
+ capturedAt: number;
983
+ payload?: unknown;
984
+ };
985
+ postSnapshot: {
986
+ capturedAt: number;
987
+ payload?: unknown;
988
+ };
989
+ gating: Record<string, unknown>;
990
+ fillsHash: string;
991
+ fillsCount: number;
992
+ };
993
+ checks: {
994
+ name: string;
995
+ status: "PASS" | "FAIL" | "SKIP";
996
+ detail?: string | Record<string, unknown> | undefined;
997
+ }[];
998
+ }>;
999
+ export type VerdictManifest = z.infer<typeof VerdictManifestSchema>;
1000
+ export {};