@jinn-network/client 0.1.2 → 0.1.3-canary.24b69ea4

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 (1458) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/CONTRIBUTING.md +9 -2
  3. package/README.md +67 -47
  4. package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +36 -0
  5. package/deployments/deployment-jinn-mvi-l1-sepolia.json +36 -0
  6. package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +12 -0
  7. package/deployments/deployment-phase1b-mech-baseSepolia-fast.json +3 -3
  8. package/deployments/deployment-stolas-l2-baseSepolia-fast.json +1 -1
  9. package/deployments/deployment-task-coordinator-router-v3-baseSepolia-fast.json +38 -0
  10. package/dist/adapters/adapter.d.ts +19 -8
  11. package/dist/adapters/local/adapter.d.ts +10 -9
  12. package/dist/adapters/local/adapter.js +52 -79
  13. package/dist/adapters/local/adapter.js.map +1 -1
  14. package/dist/adapters/mech/adapter.d.ts +37 -15
  15. package/dist/adapters/mech/adapter.js +557 -364
  16. package/dist/adapters/mech/adapter.js.map +1 -1
  17. package/dist/adapters/mech/contracts.d.ts +80 -20
  18. package/dist/adapters/mech/contracts.js +372 -100
  19. package/dist/adapters/mech/contracts.js.map +1 -1
  20. package/dist/adapters/mech/ipfs.d.ts +66 -12
  21. package/dist/adapters/mech/ipfs.js +165 -30
  22. package/dist/adapters/mech/ipfs.js.map +1 -1
  23. package/dist/adapters/mech/safe-revert.d.ts +40 -0
  24. package/dist/adapters/mech/safe-revert.js +261 -0
  25. package/dist/adapters/mech/safe-revert.js.map +1 -0
  26. package/dist/adapters/mech/safe.js +48 -22
  27. package/dist/adapters/mech/safe.js.map +1 -1
  28. package/dist/adapters/mech/task-subgraph.d.ts +23 -0
  29. package/dist/adapters/mech/task-subgraph.js +157 -0
  30. package/dist/adapters/mech/task-subgraph.js.map +1 -0
  31. package/dist/adapters/mech/types.d.ts +256 -84
  32. package/dist/adapters/mech/types.js +125 -50
  33. package/dist/adapters/mech/types.js.map +1 -1
  34. package/dist/agent/agent-ws.d.ts +57 -0
  35. package/dist/agent/agent-ws.js +301 -0
  36. package/dist/agent/agent-ws.js.map +1 -0
  37. package/dist/agent/auto-mode-detect.d.ts +6 -0
  38. package/dist/agent/auto-mode-detect.js +44 -0
  39. package/dist/agent/auto-mode-detect.js.map +1 -0
  40. package/dist/agent/operator-claude.d.ts +22 -0
  41. package/dist/agent/operator-claude.js +176 -0
  42. package/dist/agent/operator-claude.js.map +1 -0
  43. package/dist/api/admin-endpoint.d.ts +12 -0
  44. package/dist/api/admin-endpoint.js +71 -0
  45. package/dist/api/admin-endpoint.js.map +1 -0
  46. package/dist/api/agent-binding-endpoint.d.ts +26 -0
  47. package/dist/api/agent-binding-endpoint.js +28 -0
  48. package/dist/api/agent-binding-endpoint.js.map +1 -0
  49. package/dist/api/bootstrap-endpoint.d.ts +25 -0
  50. package/dist/api/bootstrap-endpoint.js +104 -0
  51. package/dist/api/bootstrap-endpoint.js.map +1 -0
  52. package/dist/api/captures.d.ts +22 -0
  53. package/dist/api/captures.js +88 -0
  54. package/dist/api/captures.js.map +1 -0
  55. package/dist/api/events-endpoint.d.ts +9 -0
  56. package/dist/api/events-endpoint.js +46 -0
  57. package/dist/api/events-endpoint.js.map +1 -0
  58. package/dist/api/fleet-build.d.ts +1 -1
  59. package/dist/api/fleet-build.js +17 -8
  60. package/dist/api/fleet-build.js.map +1 -1
  61. package/dist/api/gather-status.d.ts +16 -1
  62. package/dist/api/gather-status.js +194 -3
  63. package/dist/api/gather-status.js.map +1 -1
  64. package/dist/api/handshake.d.ts +17 -0
  65. package/dist/api/handshake.js +28 -0
  66. package/dist/api/handshake.js.map +1 -0
  67. package/dist/api/harness-status-endpoint.d.ts +20 -0
  68. package/dist/api/harness-status-endpoint.js +13 -0
  69. package/dist/api/harness-status-endpoint.js.map +1 -0
  70. package/dist/api/history-build.d.ts +2 -2
  71. package/dist/api/history-build.js +3 -3
  72. package/dist/api/history-build.js.map +1 -1
  73. package/dist/api/launcher-endpoints.d.ts +43 -0
  74. package/dist/api/launcher-endpoints.js +50 -0
  75. package/dist/api/launcher-endpoints.js.map +1 -0
  76. package/dist/api/launcher-status.d.ts +93 -0
  77. package/dist/api/launcher-status.js +84 -0
  78. package/dist/api/launcher-status.js.map +1 -0
  79. package/dist/api/launcher-tasks.d.ts +76 -0
  80. package/dist/api/launcher-tasks.js +127 -0
  81. package/dist/api/launcher-tasks.js.map +1 -0
  82. package/dist/api/leaderboard-api.d.ts +20 -0
  83. package/dist/api/leaderboard-api.js +18 -0
  84. package/dist/api/leaderboard-api.js.map +1 -0
  85. package/dist/api/operator-artifacts-endpoint.d.ts +19 -0
  86. package/dist/api/operator-artifacts-endpoint.js +271 -0
  87. package/dist/api/operator-artifacts-endpoint.js.map +1 -0
  88. package/dist/api/peers.js +21 -6
  89. package/dist/api/peers.js.map +1 -1
  90. package/dist/api/portfolio-v0-build.d.ts +16 -10
  91. package/dist/api/portfolio-v0-build.js +36 -31
  92. package/dist/api/portfolio-v0-build.js.map +1 -1
  93. package/dist/api/portfolio-v0-doctor.js +1 -1
  94. package/dist/api/portfolio-v0-doctor.js.map +1 -1
  95. package/dist/api/prediction-v1-build.d.ts +65 -0
  96. package/dist/api/prediction-v1-build.js +73 -0
  97. package/dist/api/prediction-v1-build.js.map +1 -0
  98. package/dist/api/rewards-build.js +3 -8
  99. package/dist/api/rewards-build.js.map +1 -1
  100. package/dist/api/server.d.ts +106 -1
  101. package/dist/api/server.js +396 -17
  102. package/dist/api/server.js.map +1 -1
  103. package/dist/api/setup-endpoints.d.ts +62 -0
  104. package/dist/api/setup-endpoints.js +752 -0
  105. package/dist/api/setup-endpoints.js.map +1 -0
  106. package/dist/api/solvernets-catalog-build.d.ts +47 -0
  107. package/dist/api/solvernets-catalog-build.js +19 -0
  108. package/dist/api/solvernets-catalog-build.js.map +1 -0
  109. package/dist/api/solvernets-endpoint.d.ts +15 -0
  110. package/dist/api/solvernets-endpoint.js +5 -0
  111. package/dist/api/solvernets-endpoint.js.map +1 -0
  112. package/dist/api/solvernets-endpoints.d.ts +104 -0
  113. package/dist/api/solvernets-endpoints.js +1121 -0
  114. package/dist/api/solvernets-endpoints.js.map +1 -0
  115. package/dist/api/status-build.d.ts +26 -2
  116. package/dist/api/status-build.js +46 -9
  117. package/dist/api/status-build.js.map +1 -1
  118. package/dist/api/status-rollup-build.d.ts +46 -1
  119. package/dist/api/status-rollup-build.js +174 -8
  120. package/dist/api/status-rollup-build.js.map +1 -1
  121. package/dist/api/stop-hook.d.ts +36 -0
  122. package/dist/api/stop-hook.js +77 -0
  123. package/dist/api/stop-hook.js.map +1 -0
  124. package/dist/api/task-runs-build.d.ts +27 -0
  125. package/dist/api/task-runs-build.js +46 -0
  126. package/dist/api/task-runs-build.js.map +1 -0
  127. package/dist/api/ui-token.d.ts +5 -0
  128. package/dist/api/ui-token.js +36 -0
  129. package/dist/api/ui-token.js.map +1 -0
  130. package/dist/bin/jinn-stop-hook.d.ts +9 -0
  131. package/dist/bin/jinn-stop-hook.js +52 -0
  132. package/dist/bin/jinn-stop-hook.js.map +1 -0
  133. package/dist/build-info.d.ts +32 -0
  134. package/dist/build-info.js +69 -0
  135. package/dist/build-info.js.map +1 -0
  136. package/dist/build-info.json +6 -0
  137. package/dist/build-meta.json +1 -1
  138. package/dist/captures/dedup.d.ts +27 -0
  139. package/dist/captures/dedup.js +48 -0
  140. package/dist/captures/dedup.js.map +1 -0
  141. package/dist/captures/index.d.ts +4 -0
  142. package/dist/captures/index.js +5 -0
  143. package/dist/captures/index.js.map +1 -0
  144. package/dist/captures/live-publisher.d.ts +33 -0
  145. package/dist/captures/live-publisher.js +101 -0
  146. package/dist/captures/live-publisher.js.map +1 -0
  147. package/dist/captures/publish.d.ts +83 -0
  148. package/dist/captures/publish.js +212 -0
  149. package/dist/captures/publish.js.map +1 -0
  150. package/dist/captures/rate-limit.d.ts +39 -0
  151. package/dist/captures/rate-limit.js +79 -0
  152. package/dist/captures/rate-limit.js.map +1 -0
  153. package/dist/cli/command.d.ts +9 -0
  154. package/dist/cli/commands/auth.js +6 -3
  155. package/dist/cli/commands/auth.js.map +1 -1
  156. package/dist/cli/commands/balance.d.ts +7 -0
  157. package/dist/cli/commands/balance.js +38 -32
  158. package/dist/cli/commands/balance.js.map +1 -1
  159. package/dist/cli/commands/bootstrap.d.ts +13 -1
  160. package/dist/cli/commands/bootstrap.js +150 -133
  161. package/dist/cli/commands/bootstrap.js.map +1 -1
  162. package/dist/cli/commands/capture.d.ts +33 -0
  163. package/dist/cli/commands/capture.js +345 -0
  164. package/dist/cli/commands/capture.js.map +1 -0
  165. package/dist/cli/commands/checkpoint.d.ts +85 -0
  166. package/dist/cli/commands/checkpoint.js +75 -0
  167. package/dist/cli/commands/checkpoint.js.map +1 -0
  168. package/dist/cli/commands/claim-rewards.js +14 -2
  169. package/dist/cli/commands/claim-rewards.js.map +1 -1
  170. package/dist/cli/commands/conformance.d.ts +12 -0
  171. package/dist/cli/commands/conformance.js +140 -0
  172. package/dist/cli/commands/conformance.js.map +1 -0
  173. package/dist/cli/commands/create.d.ts +22 -0
  174. package/dist/cli/commands/create.js +226 -0
  175. package/dist/cli/commands/create.js.map +1 -0
  176. package/dist/cli/commands/doctor.d.ts +49 -1
  177. package/dist/cli/commands/doctor.js +162 -134
  178. package/dist/cli/commands/doctor.js.map +1 -1
  179. package/dist/cli/commands/fleet-scale.d.ts +19 -1
  180. package/dist/cli/commands/fleet-scale.js +378 -361
  181. package/dist/cli/commands/fleet-scale.js.map +1 -1
  182. package/dist/cli/commands/fleet.d.ts +7 -0
  183. package/dist/cli/commands/fleet.js +39 -33
  184. package/dist/cli/commands/fleet.js.map +1 -1
  185. package/dist/cli/commands/fund-requirements.d.ts +14 -1
  186. package/dist/cli/commands/fund-requirements.js +182 -174
  187. package/dist/cli/commands/fund-requirements.js.map +1 -1
  188. package/dist/cli/commands/harnesses.d.ts +38 -0
  189. package/dist/cli/commands/harnesses.js +376 -0
  190. package/dist/cli/commands/harnesses.js.map +1 -0
  191. package/dist/cli/commands/history.d.ts +10 -1
  192. package/dist/cli/commands/history.js +68 -59
  193. package/dist/cli/commands/history.js.map +1 -1
  194. package/dist/cli/commands/init.js +4 -1
  195. package/dist/cli/commands/init.js.map +1 -1
  196. package/dist/cli/commands/integrations.d.ts +13 -0
  197. package/dist/cli/commands/integrations.js +1010 -0
  198. package/dist/cli/commands/integrations.js.map +1 -0
  199. package/dist/cli/commands/logs.d.ts +6 -1
  200. package/dist/cli/commands/logs.js +77 -70
  201. package/dist/cli/commands/logs.js.map +1 -1
  202. package/dist/cli/commands/migrate-agent-id.d.ts +26 -0
  203. package/dist/cli/commands/migrate-agent-id.js +164 -0
  204. package/dist/cli/commands/migrate-agent-id.js.map +1 -0
  205. package/dist/cli/commands/prediction-scoreboard.d.ts +10 -0
  206. package/dist/cli/commands/prediction-scoreboard.js +136 -0
  207. package/dist/cli/commands/prediction-scoreboard.js.map +1 -0
  208. package/dist/cli/commands/quickstart.d.ts +51 -1
  209. package/dist/cli/commands/quickstart.js +514 -296
  210. package/dist/cli/commands/quickstart.js.map +1 -1
  211. package/dist/cli/commands/rewards.d.ts +7 -0
  212. package/dist/cli/commands/rewards.js +46 -40
  213. package/dist/cli/commands/rewards.js.map +1 -1
  214. package/dist/cli/commands/run.d.ts +14 -1
  215. package/dist/cli/commands/run.js +243 -91
  216. package/dist/cli/commands/run.js.map +1 -1
  217. package/dist/cli/commands/solver-nets.js +231 -0
  218. package/dist/cli/commands/solver-nets.js.map +1 -0
  219. package/dist/cli/commands/solver-plugins.d.ts +9 -0
  220. package/dist/cli/commands/solver-plugins.js +186 -0
  221. package/dist/cli/commands/solver-plugins.js.map +1 -0
  222. package/dist/cli/commands/status.d.ts +13 -0
  223. package/dist/cli/commands/status.js +105 -34
  224. package/dist/cli/commands/status.js.map +1 -1
  225. package/dist/cli/commands/stop.js +87 -14
  226. package/dist/cli/commands/stop.js.map +1 -1
  227. package/dist/cli/commands/tasks.js +405 -0
  228. package/dist/cli/commands/tasks.js.map +1 -0
  229. package/dist/cli/commands/ui.d.ts +3 -0
  230. package/dist/cli/commands/ui.js +45 -0
  231. package/dist/cli/commands/ui.js.map +1 -0
  232. package/dist/cli/commands/update.d.ts +12 -0
  233. package/dist/cli/commands/update.js +321 -91
  234. package/dist/cli/commands/update.js.map +1 -1
  235. package/dist/cli/commands/version.js +3 -2
  236. package/dist/cli/commands/version.js.map +1 -1
  237. package/dist/cli/commands/withdraw.d.ts +21 -1
  238. package/dist/cli/commands/withdraw.js +175 -159
  239. package/dist/cli/commands/withdraw.js.map +1 -1
  240. package/dist/cli/deployment-digest.js +0 -5
  241. package/dist/cli/deployment-digest.js.map +1 -1
  242. package/dist/cli/execution-context.d.ts +1 -1
  243. package/dist/cli/execution-context.js +4 -4
  244. package/dist/cli/execution-context.js.map +1 -1
  245. package/dist/cli/help.js +8 -1
  246. package/dist/cli/help.js.map +1 -1
  247. package/dist/cli/index.d.ts +7 -0
  248. package/dist/cli/index.js +28 -6
  249. package/dist/cli/index.js.map +1 -1
  250. package/dist/cli/introspection-context.js +0 -1
  251. package/dist/cli/introspection-context.js.map +1 -1
  252. package/dist/cli/open-browser.d.ts +1 -0
  253. package/dist/cli/open-browser.js +18 -0
  254. package/dist/cli/open-browser.js.map +1 -0
  255. package/dist/cli/password.d.ts +3 -3
  256. package/dist/cli/password.js +6 -6
  257. package/dist/cli/password.js.map +1 -1
  258. package/dist/cli/task-native-readiness.d.ts +27 -0
  259. package/dist/cli/task-native-readiness.js +170 -0
  260. package/dist/cli/task-native-readiness.js.map +1 -0
  261. package/dist/config.d.ts +1897 -60
  262. package/dist/config.js +602 -33
  263. package/dist/config.js.map +1 -1
  264. package/dist/conformance/checks/artifacts.d.ts +37 -0
  265. package/dist/conformance/checks/artifacts.js +110 -0
  266. package/dist/conformance/checks/artifacts.js.map +1 -0
  267. package/dist/conformance/checks/envelope-schema.d.ts +17 -0
  268. package/dist/conformance/checks/envelope-schema.js +36 -0
  269. package/dist/conformance/checks/envelope-schema.js.map +1 -0
  270. package/dist/conformance/checks/hash-signature.d.ts +26 -0
  271. package/dist/conformance/checks/hash-signature.js +70 -0
  272. package/dist/conformance/checks/hash-signature.js.map +1 -0
  273. package/dist/conformance/checks/payload.d.ts +19 -0
  274. package/dist/conformance/checks/payload.js +52 -0
  275. package/dist/conformance/checks/payload.js.map +1 -0
  276. package/dist/conformance/checks/secret-scrub.d.ts +33 -0
  277. package/dist/conformance/checks/secret-scrub.js +118 -0
  278. package/dist/conformance/checks/secret-scrub.js.map +1 -0
  279. package/dist/conformance/checks/source-runtime.d.ts +43 -0
  280. package/dist/conformance/checks/source-runtime.js +68 -0
  281. package/dist/conformance/checks/source-runtime.js.map +1 -0
  282. package/dist/conformance/checks/source-static.d.ts +61 -0
  283. package/dist/conformance/checks/source-static.js +311 -0
  284. package/dist/conformance/checks/source-static.js.map +1 -0
  285. package/dist/conformance/checks/trajectory-chain.d.ts +18 -0
  286. package/dist/conformance/checks/trajectory-chain.js +51 -0
  287. package/dist/conformance/checks/trajectory-chain.js.map +1 -0
  288. package/dist/conformance/checks/trajectory-profile.d.ts +17 -0
  289. package/dist/conformance/checks/trajectory-profile.js +51 -0
  290. package/dist/conformance/checks/trajectory-profile.js.map +1 -0
  291. package/dist/conformance/checks/trajectory-schema.d.ts +20 -0
  292. package/dist/conformance/checks/trajectory-schema.js +40 -0
  293. package/dist/conformance/checks/trajectory-schema.js.map +1 -0
  294. package/dist/conformance/checks/verdict.d.ts +44 -0
  295. package/dist/conformance/checks/verdict.js +122 -0
  296. package/dist/conformance/checks/verdict.js.map +1 -0
  297. package/dist/conformance/harness.d.ts +32 -0
  298. package/dist/conformance/harness.js +227 -0
  299. package/dist/conformance/harness.js.map +1 -0
  300. package/dist/conformance/types.d.ts +88 -0
  301. package/dist/conformance/types.js +31 -0
  302. package/dist/conformance/types.js.map +1 -0
  303. package/dist/corpus/acquire.d.ts +42 -0
  304. package/dist/corpus/acquire.js +213 -0
  305. package/dist/corpus/acquire.js.map +1 -0
  306. package/dist/corpus/cache.d.ts +14 -0
  307. package/dist/corpus/cache.js +18 -0
  308. package/dist/corpus/cache.js.map +1 -0
  309. package/dist/corpus/envelope-projection.d.ts +12 -0
  310. package/dist/corpus/envelope-projection.js +110 -0
  311. package/dist/corpus/envelope-projection.js.map +1 -0
  312. package/dist/corpus/fetch.d.ts +9 -0
  313. package/dist/corpus/fetch.js +24 -0
  314. package/dist/corpus/fetch.js.map +1 -0
  315. package/dist/corpus/index.d.ts +19 -0
  316. package/dist/corpus/index.js +87 -0
  317. package/dist/corpus/index.js.map +1 -0
  318. package/dist/corpus/prediction-brier-scoreboard-report.d.ts +17 -0
  319. package/dist/corpus/prediction-brier-scoreboard-report.js +148 -0
  320. package/dist/corpus/prediction-brier-scoreboard-report.js.map +1 -0
  321. package/dist/corpus/prediction-brier-scoreboard.d.ts +56 -0
  322. package/dist/corpus/prediction-brier-scoreboard.js +269 -0
  323. package/dist/corpus/prediction-brier-scoreboard.js.map +1 -0
  324. package/dist/corpus/prediction-scoreable-verdicts.d.ts +4 -0
  325. package/dist/corpus/prediction-scoreable-verdicts.js +23 -0
  326. package/dist/corpus/prediction-scoreable-verdicts.js.map +1 -0
  327. package/dist/corpus/query.d.ts +17 -0
  328. package/dist/corpus/query.js +113 -0
  329. package/dist/corpus/query.js.map +1 -0
  330. package/dist/corpus/route-resolver.d.ts +16 -0
  331. package/dist/corpus/route-resolver.js +20 -0
  332. package/dist/corpus/route-resolver.js.map +1 -0
  333. package/dist/corpus/types.d.ts +151 -0
  334. package/dist/corpus/types.js +50 -0
  335. package/dist/corpus/types.js.map +1 -0
  336. package/dist/daemon/balance-topup-loop.js +2 -1
  337. package/dist/daemon/balance-topup-loop.js.map +1 -1
  338. package/dist/daemon/creator.d.ts +7 -7
  339. package/dist/daemon/creator.js +11 -14
  340. package/dist/daemon/creator.js.map +1 -1
  341. package/dist/daemon/daemon.d.ts +83 -31
  342. package/dist/daemon/daemon.js +206 -67
  343. package/dist/daemon/daemon.js.map +1 -1
  344. package/dist/daemon/delivery-watcher.js +50 -4
  345. package/dist/daemon/delivery-watcher.js.map +1 -1
  346. package/dist/daemon/freeze-fence.d.ts +42 -0
  347. package/dist/daemon/freeze-fence.js +71 -0
  348. package/dist/daemon/freeze-fence.js.map +1 -0
  349. package/dist/daemon/jinn-claim-loop-canonical.d.ts +207 -0
  350. package/dist/daemon/jinn-claim-loop-canonical.js +296 -0
  351. package/dist/daemon/jinn-claim-loop-canonical.js.map +1 -0
  352. package/dist/daemon/jinn-claim-loop-mock.d.ts +61 -0
  353. package/dist/daemon/jinn-claim-loop-mock.js +122 -0
  354. package/dist/daemon/jinn-claim-loop-mock.js.map +1 -0
  355. package/dist/daemon/jinn-claim-loop.d.ts +123 -0
  356. package/dist/daemon/jinn-claim-loop.js +256 -0
  357. package/dist/daemon/jinn-claim-loop.js.map +1 -0
  358. package/dist/daemon/reward-claim-loop.d.ts +2 -0
  359. package/dist/daemon/reward-claim-loop.js +32 -27
  360. package/dist/daemon/reward-claim-loop.js.map +1 -1
  361. package/dist/dashboard/assets/index-DBPsa50k.js +76 -0
  362. package/dist/dashboard/assets/index-D_NMfDfV.css +32 -0
  363. package/dist/dashboard/index.html +18 -74
  364. package/dist/earning/agent-wallet-binding.d.ts +133 -0
  365. package/dist/earning/agent-wallet-binding.js +202 -0
  366. package/dist/earning/agent-wallet-binding.js.map +1 -0
  367. package/dist/earning/bootstrap.d.ts +88 -1
  368. package/dist/earning/bootstrap.js +409 -56
  369. package/dist/earning/bootstrap.js.map +1 -1
  370. package/dist/earning/contracts.d.ts +328 -6
  371. package/dist/earning/contracts.js +295 -14
  372. package/dist/earning/contracts.js.map +1 -1
  373. package/dist/earning/evidence-simhash.d.ts +1 -1
  374. package/dist/earning/faucet.d.ts +31 -0
  375. package/dist/earning/faucet.js +37 -0
  376. package/dist/earning/faucet.js.map +1 -1
  377. package/dist/earning/funding-plan.d.ts +89 -0
  378. package/dist/earning/funding-plan.js +202 -0
  379. package/dist/earning/funding-plan.js.map +1 -0
  380. package/dist/earning/migrate-agent-id.d.ts +129 -0
  381. package/dist/earning/migrate-agent-id.js +256 -0
  382. package/dist/earning/migrate-agent-id.js.map +1 -0
  383. package/dist/earning/orphan-sweep.d.ts +14 -0
  384. package/dist/earning/orphan-sweep.js +63 -2
  385. package/dist/earning/orphan-sweep.js.map +1 -1
  386. package/dist/earning/reconcile.d.ts +2 -0
  387. package/dist/earning/reconcile.js +30 -0
  388. package/dist/earning/reconcile.js.map +1 -1
  389. package/dist/earning/safe-adapter.js +45 -3
  390. package/dist/earning/safe-adapter.js.map +1 -1
  391. package/dist/earning/stolas-claim.d.ts +86 -6
  392. package/dist/earning/stolas-claim.js +123 -9
  393. package/dist/earning/stolas-claim.js.map +1 -1
  394. package/dist/earning/store.d.ts +47 -0
  395. package/dist/earning/store.js +113 -1
  396. package/dist/earning/store.js.map +1 -1
  397. package/dist/earning/testnet-setup-migration.d.ts +32 -0
  398. package/dist/earning/testnet-setup-migration.js +214 -0
  399. package/dist/earning/testnet-setup-migration.js.map +1 -0
  400. package/dist/earning/types.d.ts +57 -9
  401. package/dist/earning/types.js +51 -2
  402. package/dist/earning/types.js.map +1 -1
  403. package/dist/earning/viem-clients.d.ts +20 -0
  404. package/dist/earning/viem-clients.js +32 -1
  405. package/dist/earning/viem-clients.js.map +1 -1
  406. package/dist/erc8004/abis.d.ts +423 -0
  407. package/dist/erc8004/abis.js +265 -0
  408. package/dist/erc8004/abis.js.map +1 -0
  409. package/dist/erc8004/addresses.d.ts +40 -0
  410. package/dist/erc8004/addresses.js +64 -0
  411. package/dist/erc8004/addresses.js.map +1 -0
  412. package/dist/erc8004/identity.d.ts +273 -0
  413. package/dist/erc8004/identity.js +405 -0
  414. package/dist/erc8004/identity.js.map +1 -0
  415. package/dist/erc8004/index.d.ts +13 -0
  416. package/dist/erc8004/index.js +20 -0
  417. package/dist/erc8004/index.js.map +1 -0
  418. package/dist/erc8004/reputation.d.ts +349 -0
  419. package/dist/erc8004/reputation.js +464 -0
  420. package/dist/erc8004/reputation.js.map +1 -0
  421. package/dist/erc8004/subgraph.d.ts +46 -0
  422. package/dist/erc8004/subgraph.js +37 -0
  423. package/dist/erc8004/subgraph.js.map +1 -0
  424. package/dist/erc8004/validation.d.ts +145 -0
  425. package/dist/erc8004/validation.js +219 -0
  426. package/dist/erc8004/validation.js.map +1 -0
  427. package/dist/errors/persisted-bootstrap-error.d.ts +4 -0
  428. package/dist/errors/persisted-bootstrap-error.js +50 -0
  429. package/dist/errors/persisted-bootstrap-error.js.map +1 -0
  430. package/dist/events/emitter.d.ts +12 -0
  431. package/dist/events/emitter.js +23 -0
  432. package/dist/events/emitter.js.map +1 -0
  433. package/dist/events/ring-buffer.d.ts +25 -0
  434. package/dist/events/ring-buffer.js +46 -0
  435. package/dist/events/ring-buffer.js.map +1 -0
  436. package/dist/events/types.d.ts +42 -0
  437. package/dist/events/types.js +28 -0
  438. package/dist/events/types.js.map +1 -0
  439. package/dist/harnesses/capability/index.d.ts +82 -0
  440. package/dist/harnesses/capability/index.js +12 -0
  441. package/dist/harnesses/capability/index.js.map +1 -0
  442. package/dist/harnesses/capability/scoped-rpc.d.ts +12 -0
  443. package/dist/harnesses/capability/scoped-rpc.js +34 -0
  444. package/dist/harnesses/capability/scoped-rpc.js.map +1 -0
  445. package/dist/harnesses/capability/scoped-secrets.d.ts +8 -0
  446. package/dist/harnesses/capability/scoped-secrets.js +10 -0
  447. package/dist/harnesses/capability/scoped-secrets.js.map +1 -0
  448. package/dist/harnesses/capability/scoped-signer.d.ts +46 -0
  449. package/dist/harnesses/capability/scoped-signer.js +73 -0
  450. package/dist/harnesses/capability/scoped-signer.js.map +1 -0
  451. package/dist/harnesses/engine/artifact-scrub.d.ts +12 -0
  452. package/dist/harnesses/engine/artifact-scrub.js +104 -0
  453. package/dist/harnesses/engine/artifact-scrub.js.map +1 -0
  454. package/dist/harnesses/engine/canonical-json.d.ts +1 -0
  455. package/dist/harnesses/engine/canonical-json.js +66 -0
  456. package/dist/harnesses/engine/canonical-json.js.map +1 -0
  457. package/dist/harnesses/engine/delivery.d.ts +58 -0
  458. package/dist/harnesses/engine/delivery.js +67 -0
  459. package/dist/harnesses/engine/delivery.js.map +1 -0
  460. package/dist/harnesses/engine/engine.d.ts +519 -0
  461. package/dist/harnesses/engine/engine.js +1588 -0
  462. package/dist/harnesses/engine/engine.js.map +1 -0
  463. package/dist/harnesses/engine/envelope-assembly.d.ts +73 -0
  464. package/dist/harnesses/engine/envelope-assembly.js +60 -0
  465. package/dist/harnesses/engine/envelope-assembly.js.map +1 -0
  466. package/dist/harnesses/engine/packaging.d.ts +99 -0
  467. package/dist/harnesses/engine/packaging.js +424 -0
  468. package/dist/harnesses/engine/packaging.js.map +1 -0
  469. package/dist/harnesses/engine/persistence.d.ts +198 -0
  470. package/dist/harnesses/engine/persistence.js +443 -0
  471. package/dist/harnesses/engine/persistence.js.map +1 -0
  472. package/dist/harnesses/engine/recovery.d.ts +22 -0
  473. package/dist/harnesses/engine/recovery.js +24 -0
  474. package/dist/harnesses/engine/recovery.js.map +1 -0
  475. package/dist/harnesses/engine/registry.d.ts +55 -0
  476. package/dist/harnesses/engine/registry.js +66 -0
  477. package/dist/harnesses/engine/registry.js.map +1 -0
  478. package/dist/harnesses/engine/signing.d.ts +30 -0
  479. package/dist/harnesses/engine/signing.js +39 -0
  480. package/dist/harnesses/engine/signing.js.map +1 -0
  481. package/dist/harnesses/engine/state.d.ts +42 -0
  482. package/dist/harnesses/engine/state.js +87 -0
  483. package/dist/harnesses/engine/state.js.map +1 -0
  484. package/dist/harnesses/engine/validate-manifest.d.ts +23 -0
  485. package/dist/harnesses/engine/validate-manifest.js +63 -0
  486. package/dist/harnesses/engine/validate-manifest.js.map +1 -0
  487. package/dist/harnesses/engine/verification-stub.d.ts +18 -0
  488. package/dist/harnesses/engine/verification-stub.js +18 -0
  489. package/dist/harnesses/engine/verification-stub.js.map +1 -0
  490. package/dist/harnesses/external-impls/index.d.ts +3 -0
  491. package/dist/harnesses/external-impls/index.js +2 -0
  492. package/dist/harnesses/external-impls/index.js.map +1 -0
  493. package/dist/harnesses/external-impls/loader.d.ts +50 -0
  494. package/dist/harnesses/external-impls/loader.js +139 -0
  495. package/dist/harnesses/external-impls/loader.js.map +1 -0
  496. package/dist/harnesses/external-impls/package-hash.d.ts +26 -0
  497. package/dist/harnesses/external-impls/package-hash.js +102 -0
  498. package/dist/harnesses/external-impls/package-hash.js.map +1 -0
  499. package/dist/harnesses/external-impls/types.d.ts +42 -0
  500. package/dist/harnesses/external-impls/types.js +10 -0
  501. package/dist/harnesses/external-impls/types.js.map +1 -0
  502. package/dist/harnesses/freeze.d.ts +34 -0
  503. package/dist/harnesses/freeze.js +60 -0
  504. package/dist/harnesses/freeze.js.map +1 -0
  505. package/dist/harnesses/impls/claude-code-learner/adapters/claude-code.d.ts +57 -0
  506. package/dist/harnesses/impls/claude-code-learner/adapters/claude-code.js +239 -0
  507. package/dist/harnesses/impls/claude-code-learner/adapters/claude-code.js.map +1 -0
  508. package/dist/harnesses/impls/claude-code-learner/adapters/codex-code.d.ts +31 -0
  509. package/dist/harnesses/impls/claude-code-learner/adapters/codex-code.js +257 -0
  510. package/dist/harnesses/impls/claude-code-learner/adapters/codex-code.js.map +1 -0
  511. package/dist/harnesses/impls/claude-code-learner/adapters/codex-workspace.d.ts +21 -0
  512. package/dist/harnesses/impls/claude-code-learner/adapters/codex-workspace.js +193 -0
  513. package/dist/harnesses/impls/claude-code-learner/adapters/codex-workspace.js.map +1 -0
  514. package/dist/harnesses/impls/claude-code-learner/harness.d.ts +22 -0
  515. package/dist/harnesses/impls/claude-code-learner/harness.js +62 -0
  516. package/dist/harnesses/impls/claude-code-learner/harness.js.map +1 -0
  517. package/dist/harnesses/impls/claude-code-learner/harvest.d.ts +20 -0
  518. package/dist/harnesses/impls/claude-code-learner/harvest.js +510 -0
  519. package/dist/harnesses/impls/claude-code-learner/harvest.js.map +1 -0
  520. package/dist/harnesses/impls/claude-code-learner/index.d.ts +18 -0
  521. package/dist/harnesses/impls/claude-code-learner/index.js +15 -0
  522. package/dist/harnesses/impls/claude-code-learner/index.js.map +1 -0
  523. package/dist/harnesses/impls/claude-code-learner/plugin-path.d.ts +14 -0
  524. package/dist/harnesses/impls/claude-code-learner/plugin-path.js +30 -0
  525. package/dist/harnesses/impls/claude-code-learner/plugin-path.js.map +1 -0
  526. package/dist/harnesses/impls/claude-code-learner/test-utils/fake-plugin-outputs.d.ts +50 -0
  527. package/dist/harnesses/impls/claude-code-learner/test-utils/fake-plugin-outputs.js +192 -0
  528. package/dist/harnesses/impls/claude-code-learner/test-utils/fake-plugin-outputs.js.map +1 -0
  529. package/dist/harnesses/impls/claude-code-learner/test-utils/noop-adapter.d.ts +22 -0
  530. package/dist/harnesses/impls/claude-code-learner/test-utils/noop-adapter.js +35 -0
  531. package/dist/harnesses/impls/claude-code-learner/test-utils/noop-adapter.js.map +1 -0
  532. package/dist/harnesses/impls/claude-code-learner/types.d.ts +114 -0
  533. package/dist/harnesses/impls/claude-code-learner/types.js.map +1 -0
  534. package/dist/harnesses/impls/claude-mcp-hyperliquid/api-wallet.d.ts +64 -0
  535. package/dist/harnesses/impls/claude-mcp-hyperliquid/api-wallet.js.map +1 -0
  536. package/dist/harnesses/impls/claude-mcp-hyperliquid/index.d.ts +106 -0
  537. package/dist/harnesses/impls/claude-mcp-hyperliquid/index.js +723 -0
  538. package/dist/harnesses/impls/claude-mcp-hyperliquid/index.js.map +1 -0
  539. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js.map +1 -0
  540. package/dist/harnesses/impls/claude-mcp-hyperliquid/safety-rails.js.map +1 -0
  541. package/dist/harnesses/impls/claude-mcp-hyperliquid/session-orchestrator.d.ts +104 -0
  542. package/dist/harnesses/impls/claude-mcp-hyperliquid/session-orchestrator.js +264 -0
  543. package/dist/harnesses/impls/claude-mcp-hyperliquid/session-orchestrator.js.map +1 -0
  544. package/dist/harnesses/impls/claude-mcp-prediction/index.d.ts +44 -0
  545. package/dist/harnesses/impls/claude-mcp-prediction/index.js +250 -0
  546. package/dist/harnesses/impls/claude-mcp-prediction/index.js.map +1 -0
  547. package/dist/harnesses/impls/claude-mcp-prediction/mcp-tools.js +135 -0
  548. package/dist/harnesses/impls/claude-mcp-prediction/mcp-tools.js.map +1 -0
  549. package/dist/harnesses/impls/claude-mcp-prediction/prompt.d.ts +8 -0
  550. package/dist/harnesses/impls/claude-mcp-prediction/prompt.js +54 -0
  551. package/dist/harnesses/impls/claude-mcp-prediction/prompt.js.map +1 -0
  552. package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.d.ts +43 -0
  553. package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.js +21 -0
  554. package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.js.map +1 -0
  555. package/dist/harnesses/impls/claude-mcp-prediction/types.d.ts +84 -0
  556. package/dist/harnesses/impls/claude-mcp-prediction/types.js +6 -0
  557. package/dist/harnesses/impls/claude-mcp-prediction/types.js.map +1 -0
  558. package/dist/harnesses/impls/claude-mcp-prediction-apy/index.d.ts +36 -0
  559. package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js +241 -0
  560. package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js.map +1 -0
  561. package/dist/harnesses/impls/claude-mcp-prediction-apy/mcp-tools.js +136 -0
  562. package/dist/harnesses/impls/claude-mcp-prediction-apy/mcp-tools.js.map +1 -0
  563. package/dist/harnesses/impls/claude-mcp-prediction-apy/prompt.d.ts +7 -0
  564. package/dist/harnesses/impls/claude-mcp-prediction-apy/prompt.js +46 -0
  565. package/dist/harnesses/impls/claude-mcp-prediction-apy/prompt.js.map +1 -0
  566. package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.d.ts +37 -0
  567. package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.js +19 -0
  568. package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.js.map +1 -0
  569. package/dist/harnesses/impls/claude-mcp-prediction-apy/types.d.ts +64 -0
  570. package/dist/harnesses/impls/claude-mcp-prediction-apy/types.js +6 -0
  571. package/dist/harnesses/impls/claude-mcp-prediction-apy/types.js.map +1 -0
  572. package/dist/harnesses/impls/claude-mcp-shared/single-session-orchestrator.d.ts +84 -0
  573. package/dist/harnesses/impls/claude-mcp-shared/single-session-orchestrator.js +206 -0
  574. package/dist/harnesses/impls/claude-mcp-shared/single-session-orchestrator.js.map +1 -0
  575. package/dist/harnesses/impls/evaluation-context.d.ts +23 -0
  576. package/dist/harnesses/impls/evaluation-context.js +25 -0
  577. package/dist/harnesses/impls/evaluation-context.js.map +1 -0
  578. package/dist/harnesses/impls/index.d.ts +84 -0
  579. package/dist/harnesses/impls/index.js +136 -0
  580. package/dist/harnesses/impls/index.js.map +1 -0
  581. package/dist/harnesses/impls/legacy-claude/index.d.ts +66 -0
  582. package/dist/harnesses/impls/legacy-claude/index.js +168 -0
  583. package/dist/harnesses/impls/legacy-claude/index.js.map +1 -0
  584. package/dist/harnesses/impls/portfolio-v0-evaluator/canonical-metrics.d.ts +68 -0
  585. package/dist/harnesses/impls/portfolio-v0-evaluator/canonical-metrics.js +117 -0
  586. package/dist/harnesses/impls/portfolio-v0-evaluator/canonical-metrics.js.map +1 -0
  587. package/dist/harnesses/impls/portfolio-v0-evaluator/checks/availability.js.map +1 -0
  588. package/dist/harnesses/impls/portfolio-v0-evaluator/checks/consistency.d.ts +78 -0
  589. package/dist/harnesses/impls/portfolio-v0-evaluator/checks/consistency.js +274 -0
  590. package/dist/harnesses/impls/portfolio-v0-evaluator/checks/consistency.js.map +1 -0
  591. package/dist/harnesses/impls/portfolio-v0-evaluator/checks/eligibility.d.ts +23 -0
  592. package/dist/harnesses/impls/portfolio-v0-evaluator/checks/eligibility.js +49 -0
  593. package/dist/harnesses/impls/portfolio-v0-evaluator/checks/eligibility.js.map +1 -0
  594. package/dist/harnesses/impls/portfolio-v0-evaluator/checks/integrity.d.ts +25 -0
  595. package/dist/harnesses/impls/portfolio-v0-evaluator/checks/integrity.js +44 -0
  596. package/dist/harnesses/impls/portfolio-v0-evaluator/checks/integrity.js.map +1 -0
  597. package/dist/harnesses/impls/portfolio-v0-evaluator/checks/spec.d.ts +17 -0
  598. package/dist/harnesses/impls/portfolio-v0-evaluator/checks/spec.js +43 -0
  599. package/dist/harnesses/impls/portfolio-v0-evaluator/checks/spec.js.map +1 -0
  600. package/dist/harnesses/impls/portfolio-v0-evaluator/index.d.ts +44 -0
  601. package/dist/harnesses/impls/portfolio-v0-evaluator/index.js +569 -0
  602. package/dist/harnesses/impls/portfolio-v0-evaluator/index.js.map +1 -0
  603. package/dist/harnesses/impls/portfolio-v0-evaluator/score.js.map +1 -0
  604. package/dist/harnesses/impls/portfolio-v0-evaluator/types.d.ts +34 -0
  605. package/dist/harnesses/impls/portfolio-v0-evaluator/types.js.map +1 -0
  606. package/dist/harnesses/impls/prediction-apy-v0-baseline/index.d.ts +42 -0
  607. package/dist/harnesses/impls/prediction-apy-v0-baseline/index.js +114 -0
  608. package/dist/harnesses/impls/prediction-apy-v0-baseline/index.js.map +1 -0
  609. package/dist/harnesses/impls/prediction-apy-v0-baseline/strategy.js.map +1 -0
  610. package/dist/harnesses/impls/prediction-apy-v0-baseline/types.js.map +1 -0
  611. package/dist/harnesses/impls/prediction-apy-v0-evaluator/canonical-metrics.d.ts +6 -0
  612. package/dist/harnesses/impls/prediction-apy-v0-evaluator/canonical-metrics.js +11 -0
  613. package/dist/harnesses/impls/prediction-apy-v0-evaluator/canonical-metrics.js.map +1 -0
  614. package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.d.ts +42 -0
  615. package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.js +346 -0
  616. package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.js.map +1 -0
  617. package/dist/harnesses/impls/prediction-apy-v0-evaluator/parse-submission.d.ts +16 -0
  618. package/dist/harnesses/impls/prediction-apy-v0-evaluator/parse-submission.js +22 -0
  619. package/dist/harnesses/impls/prediction-apy-v0-evaluator/parse-submission.js.map +1 -0
  620. package/dist/harnesses/impls/prediction-apy-v0-evaluator/score.js.map +1 -0
  621. package/dist/harnesses/impls/prediction-apy-v0-evaluator/types.js.map +1 -0
  622. package/dist/harnesses/impls/prediction-v0-baseline/index.d.ts +33 -0
  623. package/dist/harnesses/impls/prediction-v0-baseline/index.js +109 -0
  624. package/dist/harnesses/impls/prediction-v0-baseline/index.js.map +1 -0
  625. package/dist/harnesses/impls/prediction-v0-baseline/strategy.d.ts +8 -0
  626. package/dist/harnesses/impls/prediction-v0-baseline/strategy.js +41 -0
  627. package/dist/harnesses/impls/prediction-v0-baseline/strategy.js.map +1 -0
  628. package/dist/harnesses/impls/prediction-v0-baseline/types.d.ts +7 -0
  629. package/dist/harnesses/impls/prediction-v0-baseline/types.js.map +1 -0
  630. package/dist/harnesses/impls/prediction-v0-evaluator/canonical-metrics.d.ts +20 -0
  631. package/dist/harnesses/impls/prediction-v0-evaluator/canonical-metrics.js.map +1 -0
  632. package/dist/harnesses/impls/prediction-v0-evaluator/checks/availability.d.ts +9 -0
  633. package/dist/harnesses/impls/prediction-v0-evaluator/checks/availability.js.map +1 -0
  634. package/dist/harnesses/impls/prediction-v0-evaluator/checks/eligibility.d.ts +3 -0
  635. package/dist/harnesses/impls/prediction-v0-evaluator/checks/eligibility.js.map +1 -0
  636. package/dist/harnesses/impls/prediction-v0-evaluator/checks/integrity.d.ts +15 -0
  637. package/dist/harnesses/impls/prediction-v0-evaluator/checks/integrity.js +111 -0
  638. package/dist/harnesses/impls/prediction-v0-evaluator/checks/integrity.js.map +1 -0
  639. package/dist/harnesses/impls/prediction-v0-evaluator/checks/spec.d.ts +5 -0
  640. package/dist/harnesses/impls/prediction-v0-evaluator/checks/spec.js.map +1 -0
  641. package/dist/harnesses/impls/prediction-v0-evaluator/index.d.ts +36 -0
  642. package/dist/harnesses/impls/prediction-v0-evaluator/index.js +342 -0
  643. package/dist/harnesses/impls/prediction-v0-evaluator/index.js.map +1 -0
  644. package/dist/harnesses/impls/prediction-v0-evaluator/score.js.map +1 -0
  645. package/dist/harnesses/impls/prediction-v0-evaluator/types.js +2 -0
  646. package/dist/harnesses/impls/prediction-v0-evaluator/types.js.map +1 -0
  647. package/dist/harnesses/impls/prediction-v1-baseline/index.d.ts +31 -0
  648. package/dist/harnesses/impls/prediction-v1-baseline/index.js +79 -0
  649. package/dist/harnesses/impls/prediction-v1-baseline/index.js.map +1 -0
  650. package/dist/harnesses/impls/prediction-v1-evaluator/index.d.ts +32 -0
  651. package/dist/harnesses/impls/prediction-v1-evaluator/index.js +219 -0
  652. package/dist/harnesses/impls/prediction-v1-evaluator/index.js.map +1 -0
  653. package/dist/harnesses/impls/session-derived-evaluator/index.d.ts +4 -0
  654. package/dist/harnesses/impls/session-derived-evaluator/index.js +5 -0
  655. package/dist/harnesses/impls/session-derived-evaluator/index.js.map +1 -0
  656. package/dist/harnesses/impls/session-derived-evaluator/llm-judge.d.ts +16 -0
  657. package/dist/harnesses/impls/session-derived-evaluator/llm-judge.js +16 -0
  658. package/dist/harnesses/impls/session-derived-evaluator/llm-judge.js.map +1 -0
  659. package/dist/harnesses/impls/session-derived-evaluator/signals.d.ts +13 -0
  660. package/dist/harnesses/impls/session-derived-evaluator/signals.js +15 -0
  661. package/dist/harnesses/impls/session-derived-evaluator/signals.js.map +1 -0
  662. package/dist/harnesses/impls/session-derived-evaluator/structural-similarity.d.ts +7 -0
  663. package/dist/harnesses/impls/session-derived-evaluator/structural-similarity.js +28 -0
  664. package/dist/harnesses/impls/session-derived-evaluator/structural-similarity.js.map +1 -0
  665. package/dist/harnesses/impls/session-derived-evaluator/test-suite-rerun.d.ts +15 -0
  666. package/dist/harnesses/impls/session-derived-evaluator/test-suite-rerun.js +17 -0
  667. package/dist/harnesses/impls/session-derived-evaluator/test-suite-rerun.js.map +1 -0
  668. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.d.ts +20 -0
  669. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +107 -0
  670. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -0
  671. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.d.ts +74 -0
  672. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +288 -0
  673. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -0
  674. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +33 -0
  675. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +96 -0
  676. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -0
  677. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +61 -0
  678. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +42 -0
  679. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -0
  680. package/dist/harnesses/manifest/index.d.ts +3 -0
  681. package/dist/harnesses/manifest/index.js +3 -0
  682. package/dist/harnesses/manifest/index.js.map +1 -0
  683. package/dist/harnesses/manifest/load.d.ts +7 -0
  684. package/dist/harnesses/manifest/load.js +49 -0
  685. package/dist/harnesses/manifest/load.js.map +1 -0
  686. package/dist/harnesses/manifest/types.d.ts +75 -0
  687. package/dist/harnesses/manifest/types.js +8 -0
  688. package/dist/harnesses/manifest/types.js.map +1 -0
  689. package/dist/harnesses/manifest/verify.d.ts +15 -0
  690. package/dist/harnesses/manifest/verify.js +53 -0
  691. package/dist/harnesses/manifest/verify.js.map +1 -0
  692. package/dist/harnesses/mode-state.d.ts +7 -0
  693. package/dist/harnesses/mode-state.js +43 -0
  694. package/dist/harnesses/mode-state.js.map +1 -0
  695. package/dist/harnesses/names.d.ts +6 -0
  696. package/dist/harnesses/names.js +24 -0
  697. package/dist/harnesses/names.js.map +1 -0
  698. package/dist/harnesses/types.d.ts +276 -0
  699. package/dist/harnesses/types.js +28 -0
  700. package/dist/harnesses/types.js.map +1 -0
  701. package/dist/index.d.ts +1 -1
  702. package/dist/main.d.ts +17 -2
  703. package/dist/main.js +1593 -147
  704. package/dist/main.js.map +1 -1
  705. package/dist/mcp/acquire-artifact.d.ts +41 -0
  706. package/dist/mcp/acquire-artifact.js +168 -0
  707. package/dist/mcp/acquire-artifact.js.map +1 -0
  708. package/dist/mcp/operator-server.d.ts +21 -4
  709. package/dist/mcp/operator-server.js +505 -30
  710. package/dist/mcp/operator-server.js.map +1 -1
  711. package/dist/mcp/search-records.d.ts +94 -0
  712. package/dist/mcp/search-records.js +396 -0
  713. package/dist/mcp/search-records.js.map +1 -0
  714. package/dist/mcp/server.d.ts +4 -4
  715. package/dist/mcp/server.js +240 -61
  716. package/dist/mcp/server.js.map +1 -1
  717. package/dist/observability/emit-event.d.ts +2 -2
  718. package/dist/observability/emit-event.js +2 -2
  719. package/dist/observability/emit-event.js.map +1 -1
  720. package/dist/operator-errors.d.ts +14 -0
  721. package/dist/operator-errors.js +39 -10
  722. package/dist/operator-errors.js.map +1 -1
  723. package/dist/plugins/digest.d.ts +1 -0
  724. package/dist/plugins/digest.js +28 -0
  725. package/dist/plugins/digest.js.map +1 -0
  726. package/dist/plugins/index.d.ts +6 -0
  727. package/dist/plugins/index.js +6 -0
  728. package/dist/plugins/index.js.map +1 -0
  729. package/dist/plugins/manifest.d.ts +7 -0
  730. package/dist/plugins/manifest.js +22 -0
  731. package/dist/plugins/manifest.js.map +1 -0
  732. package/dist/plugins/registry.d.ts +9 -0
  733. package/dist/plugins/registry.js +24 -0
  734. package/dist/plugins/registry.js.map +1 -0
  735. package/dist/plugins/resolvers.d.ts +2 -0
  736. package/dist/plugins/resolvers.js +126 -0
  737. package/dist/plugins/resolvers.js.map +1 -0
  738. package/dist/plugins/types.d.ts +35 -0
  739. package/dist/plugins/types.js +2 -0
  740. package/dist/plugins/types.js.map +1 -0
  741. package/dist/plugins/validator.d.ts +3 -0
  742. package/dist/plugins/validator.js +50 -0
  743. package/dist/plugins/validator.js.map +1 -0
  744. package/dist/preflight/claude-auth.d.ts +14 -12
  745. package/dist/preflight/claude-auth.js +23 -37
  746. package/dist/preflight/claude-auth.js.map +1 -1
  747. package/dist/preflight/claude-required.d.ts +8 -0
  748. package/dist/preflight/claude-required.js +17 -0
  749. package/dist/preflight/claude-required.js.map +1 -0
  750. package/dist/runner/claude.d.ts +3 -3
  751. package/dist/runner/claude.js +62 -26
  752. package/dist/runner/claude.js.map +1 -1
  753. package/dist/runner/runner.d.ts +29 -2
  754. package/dist/runner/simple.d.ts +2 -2
  755. package/dist/runner/simple.js +2 -2
  756. package/dist/runner/simple.js.map +1 -1
  757. package/dist/scripts/donation-consumption-acceptance.d.ts +71 -0
  758. package/dist/scripts/donation-consumption-acceptance.js +1117 -0
  759. package/dist/scripts/donation-consumption-acceptance.js.map +1 -0
  760. package/dist/scripts/fix-node-pty.mjs +113 -0
  761. package/dist/setup/claude-code-install.d.ts +19 -0
  762. package/dist/setup/claude-code-install.js +51 -0
  763. package/dist/setup/claude-code-install.js.map +1 -0
  764. package/dist/setup-mode.d.ts +34 -0
  765. package/dist/setup-mode.js +49 -0
  766. package/dist/setup-mode.js.map +1 -0
  767. package/dist/solver-nets/contracts.d.ts +2 -0
  768. package/dist/solver-nets/contracts.js +2 -0
  769. package/dist/solver-nets/contracts.js.map +1 -0
  770. package/dist/solver-nets/prediction-operator-ux.d.ts +112 -0
  771. package/dist/solver-nets/prediction-operator-ux.js +463 -0
  772. package/dist/solver-nets/prediction-operator-ux.js.map +1 -0
  773. package/dist/solver-nets/registry.d.ts +64 -0
  774. package/dist/solver-nets/registry.js +218 -0
  775. package/dist/solver-nets/registry.js.map +1 -0
  776. package/dist/solver-types/_session-derived-distill.d.ts +28 -0
  777. package/dist/solver-types/_session-derived-distill.js +52 -0
  778. package/dist/solver-types/_session-derived-distill.js.map +1 -0
  779. package/dist/solver-types/_session-derived-pool.d.ts +10 -0
  780. package/dist/solver-types/_session-derived-pool.js +27 -0
  781. package/dist/solver-types/_session-derived-pool.js.map +1 -0
  782. package/dist/solver-types/_session-derived-state.d.ts +17 -0
  783. package/dist/solver-types/_session-derived-state.js +25 -0
  784. package/dist/solver-types/_session-derived-state.js.map +1 -0
  785. package/dist/solver-types/_swe-rebench-v2-aggregate.d.ts +31 -0
  786. package/dist/solver-types/_swe-rebench-v2-aggregate.js +49 -0
  787. package/dist/solver-types/_swe-rebench-v2-aggregate.js.map +1 -0
  788. package/dist/solver-types/_swe-rebench-v2-escrow.d.ts +27 -0
  789. package/dist/solver-types/_swe-rebench-v2-escrow.js +26 -0
  790. package/dist/solver-types/_swe-rebench-v2-escrow.js.map +1 -0
  791. package/dist/solver-types/_swe-rebench-v2-pool.d.ts +51 -0
  792. package/dist/solver-types/_swe-rebench-v2-pool.js +72 -0
  793. package/dist/solver-types/_swe-rebench-v2-pool.js.map +1 -0
  794. package/dist/solver-types/_swe-rebench-v2-state.d.ts +24 -0
  795. package/dist/solver-types/_swe-rebench-v2-state.js +54 -0
  796. package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -0
  797. package/dist/solver-types/constants.d.ts +5 -0
  798. package/dist/solver-types/constants.js +6 -0
  799. package/dist/solver-types/constants.js.map +1 -0
  800. package/dist/solver-types/index.d.ts +10 -0
  801. package/dist/solver-types/index.js +32 -0
  802. package/dist/solver-types/index.js.map +1 -0
  803. package/dist/solver-types/learner-loop-test.d.ts +2 -0
  804. package/dist/solver-types/learner-loop-test.js +39 -0
  805. package/dist/solver-types/learner-loop-test.js.map +1 -0
  806. package/dist/solver-types/portfolio-v0.d.ts +2 -0
  807. package/dist/solver-types/portfolio-v0.js +13 -0
  808. package/dist/solver-types/portfolio-v0.js.map +1 -0
  809. package/dist/solver-types/prediction-apy-v0-auto.d.ts +27 -0
  810. package/dist/solver-types/prediction-apy-v0-auto.js +109 -0
  811. package/dist/solver-types/prediction-apy-v0-auto.js.map +1 -0
  812. package/dist/solver-types/prediction-apy-v0-template.d.ts +8 -0
  813. package/dist/solver-types/prediction-apy-v0-template.js +22 -0
  814. package/dist/solver-types/prediction-apy-v0-template.js.map +1 -0
  815. package/dist/solver-types/prediction-apy-v0.d.ts +3 -0
  816. package/dist/solver-types/prediction-apy-v0.js +25 -0
  817. package/dist/solver-types/prediction-apy-v0.js.map +1 -0
  818. package/dist/solver-types/prediction-v0-auto.d.ts +69 -0
  819. package/dist/solver-types/prediction-v0-auto.js +146 -0
  820. package/dist/solver-types/prediction-v0-auto.js.map +1 -0
  821. package/dist/solver-types/prediction-v0-template.d.ts +70 -0
  822. package/dist/solver-types/prediction-v0-template.js +145 -0
  823. package/dist/solver-types/prediction-v0-template.js.map +1 -0
  824. package/dist/solver-types/prediction-v0.d.ts +13 -0
  825. package/dist/solver-types/prediction-v0.js +31 -0
  826. package/dist/solver-types/prediction-v0.js.map +1 -0
  827. package/dist/solver-types/prediction-v1-auto.d.ts +122 -0
  828. package/dist/solver-types/prediction-v1-auto.js +366 -0
  829. package/dist/solver-types/prediction-v1-auto.js.map +1 -0
  830. package/dist/solver-types/prediction-v1.d.ts +11 -0
  831. package/dist/solver-types/prediction-v1.js +27 -0
  832. package/dist/solver-types/prediction-v1.js.map +1 -0
  833. package/dist/solver-types/session-derived.d.ts +2 -0
  834. package/dist/solver-types/session-derived.js +24 -0
  835. package/dist/solver-types/session-derived.js.map +1 -0
  836. package/dist/solver-types/solver-type.d.ts +53 -0
  837. package/dist/solver-types/solver-type.js +6 -0
  838. package/dist/solver-types/solver-type.js.map +1 -0
  839. package/dist/solver-types/swe-rebench-v2-auto.d.ts +38 -0
  840. package/dist/solver-types/swe-rebench-v2-auto.js +56 -0
  841. package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -0
  842. package/dist/solver-types/swe-rebench-v2.d.ts +69 -0
  843. package/dist/solver-types/swe-rebench-v2.js +356 -0
  844. package/dist/solver-types/swe-rebench-v2.js.map +1 -0
  845. package/dist/solvernets/daemon-init.d.ts +291 -0
  846. package/dist/solvernets/daemon-init.js +431 -0
  847. package/dist/solvernets/daemon-init.js.map +1 -0
  848. package/dist/solvernets/launch-state-machine.d.ts +165 -0
  849. package/dist/solvernets/launch-state-machine.js +406 -0
  850. package/dist/solvernets/launch-state-machine.js.map +1 -0
  851. package/dist/solvernets/launched-record-dispatcher.d.ts +55 -0
  852. package/dist/solvernets/launched-record-dispatcher.js +169 -0
  853. package/dist/solvernets/launched-record-dispatcher.js.map +1 -0
  854. package/dist/solvernets/lifecycle-transitions.d.ts +183 -0
  855. package/dist/solvernets/lifecycle-transitions.js +386 -0
  856. package/dist/solvernets/lifecycle-transitions.js.map +1 -0
  857. package/dist/solvernets/manifest.d.ts +120 -0
  858. package/dist/solvernets/manifest.js +166 -0
  859. package/dist/solvernets/manifest.js.map +1 -0
  860. package/dist/solvernets/most-recent-wins.d.ts +77 -0
  861. package/dist/solvernets/most-recent-wins.js +82 -0
  862. package/dist/solvernets/most-recent-wins.js.map +1 -0
  863. package/dist/solvernets/registry-client-erc8004.d.ts +239 -0
  864. package/dist/solvernets/registry-client-erc8004.js +382 -0
  865. package/dist/solvernets/registry-client-erc8004.js.map +1 -0
  866. package/dist/solvernets/registry-client.d.ts +121 -0
  867. package/dist/solvernets/registry-client.js +19 -0
  868. package/dist/solvernets/registry-client.js.map +1 -0
  869. package/dist/solvernets/store.d.ts +298 -0
  870. package/dist/solvernets/store.js +271 -0
  871. package/dist/solvernets/store.js.map +1 -0
  872. package/dist/store/captures.d.ts +85 -0
  873. package/dist/store/captures.js +167 -0
  874. package/dist/store/captures.js.map +1 -0
  875. package/dist/store/store.d.ts +235 -21
  876. package/dist/store/store.js +1000 -46
  877. package/dist/store/store.js.map +1 -1
  878. package/dist/tasks/posting-service.d.ts +25 -0
  879. package/dist/tasks/posting-service.js +149 -0
  880. package/dist/tasks/posting-service.js.map +1 -0
  881. package/dist/tasks/signing.d.ts +4 -0
  882. package/dist/tasks/signing.js +18 -0
  883. package/dist/tasks/signing.js.map +1 -0
  884. package/dist/tasks/sources.d.ts +46 -0
  885. package/dist/tasks/sources.js +45 -0
  886. package/dist/tasks/sources.js.map +1 -0
  887. package/dist/templates/harnesses/alternative-harness/README.md.tmpl +44 -0
  888. package/dist/templates/harnesses/alternative-harness/gitignore.tmpl +3 -0
  889. package/dist/templates/harnesses/alternative-harness/jinn.manifest.json.tmpl +22 -0
  890. package/dist/templates/harnesses/alternative-harness/package.json.tmpl +26 -0
  891. package/dist/templates/harnesses/alternative-harness/src/coordinator.ts.tmpl +50 -0
  892. package/dist/templates/harnesses/alternative-harness/src/harness.ts.tmpl +31 -0
  893. package/dist/templates/harnesses/alternative-harness/src/index.ts.tmpl +44 -0
  894. package/dist/templates/harnesses/alternative-harness/src/mock-harness.ts.tmpl +41 -0
  895. package/dist/templates/harnesses/alternative-harness/src/phases/debrief.ts.tmpl +28 -0
  896. package/dist/templates/harnesses/alternative-harness/src/phases/execute.ts.tmpl +33 -0
  897. package/dist/templates/harnesses/alternative-harness/src/phases/improve.ts.tmpl +31 -0
  898. package/dist/templates/harnesses/alternative-harness/src/phases/memory.ts.tmpl +31 -0
  899. package/dist/templates/harnesses/alternative-harness/src/phases/orient.ts.tmpl +21 -0
  900. package/dist/templates/harnesses/alternative-harness/src/phases/plan.ts.tmpl +25 -0
  901. package/dist/templates/harnesses/alternative-harness/src/phases/strategize.ts.tmpl +29 -0
  902. package/dist/templates/harnesses/alternative-harness/test/coordinator.test.ts.tmpl +53 -0
  903. package/dist/templates/harnesses/alternative-harness/test/unit.test.ts.tmpl +55 -0
  904. package/dist/templates/harnesses/alternative-harness/tsconfig.json.tmpl +16 -0
  905. package/dist/templates/harnesses/evaluator/README.md.tmpl +36 -0
  906. package/dist/templates/harnesses/evaluator/gitignore.tmpl +3 -0
  907. package/dist/templates/harnesses/evaluator/jinn.manifest.json.tmpl +22 -0
  908. package/dist/templates/harnesses/evaluator/package.json.tmpl +26 -0
  909. package/dist/templates/harnesses/evaluator/src/index.ts.tmpl +35 -0
  910. package/dist/templates/harnesses/evaluator/test/unit.test.ts.tmpl +49 -0
  911. package/dist/templates/harnesses/evaluator/tsconfig.json.tmpl +16 -0
  912. package/dist/templates/harnesses/forecaster/README.md.tmpl +25 -0
  913. package/dist/templates/harnesses/forecaster/gitignore.tmpl +5 -0
  914. package/dist/templates/harnesses/forecaster/jinn.manifest.json.tmpl +22 -0
  915. package/dist/templates/harnesses/forecaster/package.json.tmpl +26 -0
  916. package/dist/templates/harnesses/forecaster/src/index.ts.tmpl +33 -0
  917. package/dist/templates/harnesses/forecaster/test/unit.test.ts.tmpl +42 -0
  918. package/dist/templates/harnesses/forecaster/tsconfig.json.tmpl +16 -0
  919. package/dist/trajectory/collector.d.ts +59 -0
  920. package/dist/trajectory/collector.js +164 -0
  921. package/dist/trajectory/collector.js.map +1 -0
  922. package/dist/trajectory/emit.d.ts +29 -0
  923. package/dist/trajectory/emit.js +81 -0
  924. package/dist/trajectory/emit.js.map +1 -0
  925. package/dist/trajectory/harness-bundle-rules/aider.d.ts +13 -0
  926. package/dist/trajectory/harness-bundle-rules/aider.js +26 -0
  927. package/dist/trajectory/harness-bundle-rules/aider.js.map +1 -0
  928. package/dist/trajectory/harness-bundle-rules/claude-code.d.ts +16 -0
  929. package/dist/trajectory/harness-bundle-rules/claude-code.js +71 -0
  930. package/dist/trajectory/harness-bundle-rules/claude-code.js.map +1 -0
  931. package/dist/trajectory/harness-bundle-rules/codex.d.ts +13 -0
  932. package/dist/trajectory/harness-bundle-rules/codex.js +96 -0
  933. package/dist/trajectory/harness-bundle-rules/codex.js.map +1 -0
  934. package/dist/trajectory/harness-bundle-rules/continue.d.ts +10 -0
  935. package/dist/trajectory/harness-bundle-rules/continue.js +43 -0
  936. package/dist/trajectory/harness-bundle-rules/continue.js.map +1 -0
  937. package/dist/trajectory/harness-bundle-rules/cursor.d.ts +20 -0
  938. package/dist/trajectory/harness-bundle-rules/cursor.js +55 -0
  939. package/dist/trajectory/harness-bundle-rules/cursor.js.map +1 -0
  940. package/dist/trajectory/harness-bundle-rules/gemini-cli.d.ts +15 -0
  941. package/dist/trajectory/harness-bundle-rules/gemini-cli.js +112 -0
  942. package/dist/trajectory/harness-bundle-rules/gemini-cli.js.map +1 -0
  943. package/dist/trajectory/harness-bundle-rules/types.d.ts +25 -0
  944. package/dist/trajectory/harness-bundle-rules/types.js +15 -0
  945. package/dist/trajectory/harness-bundle-rules/types.js.map +1 -0
  946. package/dist/trajectory/harness-bundle-schema.d.ts +74 -0
  947. package/dist/trajectory/harness-bundle-schema.js +34 -0
  948. package/dist/trajectory/harness-bundle-schema.js.map +1 -0
  949. package/dist/trajectory/harness-bundle.d.ts +73 -0
  950. package/dist/trajectory/harness-bundle.js +128 -0
  951. package/dist/trajectory/harness-bundle.js.map +1 -0
  952. package/dist/trajectory/hash-chain.d.ts +18 -0
  953. package/dist/trajectory/hash-chain.js +23 -0
  954. package/dist/trajectory/hash-chain.js.map +1 -0
  955. package/dist/trajectory/index.d.ts +28 -0
  956. package/dist/trajectory/index.js +28 -0
  957. package/dist/trajectory/index.js.map +1 -0
  958. package/dist/trajectory/llm-proxy-spans.d.ts +14 -0
  959. package/dist/trajectory/llm-proxy-spans.js +51 -0
  960. package/dist/trajectory/llm-proxy-spans.js.map +1 -0
  961. package/dist/trajectory/llm-proxy.d.ts +32 -0
  962. package/dist/trajectory/llm-proxy.js +97 -0
  963. package/dist/trajectory/llm-proxy.js.map +1 -0
  964. package/dist/trajectory/processors/credential-scrub.d.ts +11 -0
  965. package/dist/trajectory/processors/credential-scrub.js +40 -0
  966. package/dist/trajectory/processors/credential-scrub.js.map +1 -0
  967. package/dist/trajectory/processors/identity-scrub.d.ts +18 -0
  968. package/dist/trajectory/processors/identity-scrub.js +43 -0
  969. package/dist/trajectory/processors/identity-scrub.js.map +1 -0
  970. package/dist/trajectory/processors/manifest-builder.d.ts +18 -0
  971. package/dist/trajectory/processors/manifest-builder.js +26 -0
  972. package/dist/trajectory/processors/manifest-builder.js.map +1 -0
  973. package/dist/trajectory/processors/path-scrub.d.ts +15 -0
  974. package/dist/trajectory/processors/path-scrub.js +52 -0
  975. package/dist/trajectory/processors/path-scrub.js.map +1 -0
  976. package/dist/trajectory/processors/sentinel.d.ts +16 -0
  977. package/dist/trajectory/processors/sentinel.js +17 -0
  978. package/dist/trajectory/processors/sentinel.js.map +1 -0
  979. package/dist/trajectory/processors/sqlite-exporter.d.ts +32 -0
  980. package/dist/trajectory/processors/sqlite-exporter.js +48 -0
  981. package/dist/trajectory/processors/sqlite-exporter.js.map +1 -0
  982. package/dist/trajectory/processors/transcript-content-scrub.d.ts +9 -0
  983. package/dist/trajectory/processors/transcript-content-scrub.js +58 -0
  984. package/dist/trajectory/processors/transcript-content-scrub.js.map +1 -0
  985. package/dist/trajectory/receiver.d.ts +37 -0
  986. package/dist/trajectory/receiver.js +584 -0
  987. package/dist/trajectory/receiver.js.map +1 -0
  988. package/dist/trajectory/schema.d.ts +102 -14
  989. package/dist/trajectory/schema.js +29 -0
  990. package/dist/trajectory/schema.js.map +1 -1
  991. package/dist/trajectory/secret-scrub.d.ts +32 -0
  992. package/dist/trajectory/secret-scrub.js +51 -0
  993. package/dist/trajectory/secret-scrub.js.map +1 -0
  994. package/dist/trajectory/span-profile.d.ts +27 -0
  995. package/dist/trajectory/span-profile.js +51 -0
  996. package/dist/trajectory/span-profile.js.map +1 -0
  997. package/dist/trajectory/synthetic-span-builder.d.ts +50 -0
  998. package/dist/trajectory/synthetic-span-builder.js +115 -0
  999. package/dist/trajectory/synthetic-span-builder.js.map +1 -0
  1000. package/dist/trajectory/transcript-parsers/aider-history.d.ts +42 -0
  1001. package/dist/trajectory/transcript-parsers/aider-history.js +182 -0
  1002. package/dist/trajectory/transcript-parsers/aider-history.js.map +1 -0
  1003. package/dist/trajectory/transcript-parsers/claude-code-jsonl.d.ts +37 -0
  1004. package/dist/trajectory/transcript-parsers/claude-code-jsonl.js +143 -0
  1005. package/dist/trajectory/transcript-parsers/claude-code-jsonl.js.map +1 -0
  1006. package/dist/trajectory/transcript-parsers/codex-session.d.ts +36 -0
  1007. package/dist/trajectory/transcript-parsers/codex-session.js +135 -0
  1008. package/dist/trajectory/transcript-parsers/codex-session.js.map +1 -0
  1009. package/dist/trajectory/transcript-parsers/continue-devdata.d.ts +41 -0
  1010. package/dist/trajectory/transcript-parsers/continue-devdata.js +191 -0
  1011. package/dist/trajectory/transcript-parsers/continue-devdata.js.map +1 -0
  1012. package/dist/trajectory/transcript-parsers/cursor-sqlite.d.ts +38 -0
  1013. package/dist/trajectory/transcript-parsers/cursor-sqlite.js +119 -0
  1014. package/dist/trajectory/transcript-parsers/cursor-sqlite.js.map +1 -0
  1015. package/dist/trajectory/transcript-parsers/gemini-session.d.ts +35 -0
  1016. package/dist/trajectory/transcript-parsers/gemini-session.js +138 -0
  1017. package/dist/trajectory/transcript-parsers/gemini-session.js.map +1 -0
  1018. package/dist/trajectory/transcript-parsers/types.d.ts +101 -0
  1019. package/dist/trajectory/transcript-parsers/types.js +33 -0
  1020. package/dist/trajectory/transcript-parsers/types.js.map +1 -0
  1021. package/dist/trajectory/transcript-watcher.d.ts +62 -0
  1022. package/dist/trajectory/transcript-watcher.js +157 -0
  1023. package/dist/trajectory/transcript-watcher.js.map +1 -0
  1024. package/dist/trajectory/wrappers/http.d.ts +37 -0
  1025. package/dist/trajectory/wrappers/http.js +85 -0
  1026. package/dist/trajectory/wrappers/http.js.map +1 -0
  1027. package/dist/trajectory/wrappers/mcp.d.ts +17 -0
  1028. package/dist/trajectory/wrappers/mcp.js +58 -0
  1029. package/dist/trajectory/wrappers/mcp.js.map +1 -0
  1030. package/dist/trajectory/wrappers/subprocess.d.ts +32 -0
  1031. package/dist/trajectory/wrappers/subprocess.js +70 -0
  1032. package/dist/trajectory/wrappers/subprocess.js.map +1 -0
  1033. package/dist/tx-retry.js +90 -9
  1034. package/dist/tx-retry.js.map +1 -1
  1035. package/dist/types/envelope.d.ts +2742 -0
  1036. package/dist/types/envelope.js +149 -0
  1037. package/dist/types/envelope.js.map +1 -0
  1038. package/dist/types/index.d.ts +4 -4
  1039. package/dist/types/index.js +4 -4
  1040. package/dist/types/index.js.map +1 -1
  1041. package/dist/types/payloads/index.d.ts +12 -0
  1042. package/dist/types/payloads/index.js +62 -0
  1043. package/dist/types/payloads/index.js.map +1 -0
  1044. package/dist/types/payloads/portfolio-v0.d.ts +481 -0
  1045. package/dist/types/payloads/portfolio-v0.js +94 -0
  1046. package/dist/types/payloads/portfolio-v0.js.map +1 -0
  1047. package/dist/types/payloads/prediction-apy-v0.d.ts +231 -0
  1048. package/dist/types/payloads/prediction-apy-v0.js +63 -0
  1049. package/dist/types/payloads/prediction-apy-v0.js.map +1 -0
  1050. package/dist/types/payloads/prediction-v0.d.ts +262 -0
  1051. package/dist/types/payloads/prediction-v0.js +73 -0
  1052. package/dist/types/payloads/prediction-v0.js.map +1 -0
  1053. package/dist/types/payloads/prediction-v1.d.ts +2 -0
  1054. package/dist/types/payloads/prediction-v1.js +2 -0
  1055. package/dist/types/payloads/prediction-v1.js.map +1 -0
  1056. package/dist/types/portfolio.d.ts +31 -698
  1057. package/dist/types/portfolio.js +20 -110
  1058. package/dist/types/portfolio.js.map +1 -1
  1059. package/dist/types/prediction-apy.d.ts +26 -366
  1060. package/dist/types/prediction-apy.js +12 -68
  1061. package/dist/types/prediction-apy.js.map +1 -1
  1062. package/dist/types/prediction-v1.d.ts +2 -0
  1063. package/dist/types/prediction-v1.js +2 -0
  1064. package/dist/types/prediction-v1.js.map +1 -0
  1065. package/dist/types/prediction.d.ts +546 -382
  1066. package/dist/types/prediction.js +16 -87
  1067. package/dist/types/prediction.js.map +1 -1
  1068. package/dist/types/session-provenance.d.ts +71 -0
  1069. package/dist/types/session-provenance.js +19 -0
  1070. package/dist/types/session-provenance.js.map +1 -0
  1071. package/dist/types/task-document.d.ts +1121 -0
  1072. package/dist/types/task-document.js +99 -0
  1073. package/dist/types/task-document.js.map +1 -0
  1074. package/dist/types/task.d.ts +805 -0
  1075. package/dist/types/task.js +88 -0
  1076. package/dist/types/task.js.map +1 -0
  1077. package/dist/types/window.d.ts +12 -0
  1078. package/dist/types/window.js +6 -0
  1079. package/dist/types/window.js.map +1 -0
  1080. package/dist/util/path-safety.d.ts +21 -0
  1081. package/dist/util/path-safety.js +28 -0
  1082. package/dist/util/path-safety.js.map +1 -0
  1083. package/dist/util/redact-rpc-urls.d.ts +5 -0
  1084. package/dist/util/redact-rpc-urls.js +9 -0
  1085. package/dist/util/redact-rpc-urls.js.map +1 -0
  1086. package/dist/vendor/@jinn-network/sdk/README.md +89 -0
  1087. package/dist/vendor/@jinn-network/sdk/dist/capabilities.d.ts +52 -0
  1088. package/dist/vendor/@jinn-network/sdk/dist/capabilities.js +1 -0
  1089. package/dist/vendor/@jinn-network/sdk/dist/checkpoint.d.ts +120 -0
  1090. package/dist/vendor/@jinn-network/sdk/dist/checkpoint.js +39 -0
  1091. package/dist/vendor/@jinn-network/sdk/dist/contracts.d.ts +145 -0
  1092. package/dist/vendor/@jinn-network/sdk/dist/contracts.js +317 -0
  1093. package/dist/vendor/@jinn-network/sdk/dist/harness.d.ts +120 -0
  1094. package/dist/vendor/@jinn-network/sdk/dist/harness.js +31 -0
  1095. package/dist/vendor/@jinn-network/sdk/dist/index.d.ts +4 -0
  1096. package/dist/vendor/@jinn-network/sdk/dist/index.js +7 -0
  1097. package/dist/vendor/@jinn-network/sdk/dist/json-schema.d.ts +32 -0
  1098. package/dist/vendor/@jinn-network/sdk/dist/json-schema.js +131 -0
  1099. package/dist/vendor/@jinn-network/sdk/dist/manifest.d.ts +69 -0
  1100. package/dist/vendor/@jinn-network/sdk/dist/manifest.js +3 -0
  1101. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.d.ts +223 -0
  1102. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.js +64 -0
  1103. package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.d.ts +359 -0
  1104. package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.js +60 -0
  1105. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.d.ts +110 -0
  1106. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.js +58 -0
  1107. package/dist/vendor/@jinn-network/sdk/dist/plugins.d.ts +36 -0
  1108. package/dist/vendor/@jinn-network/sdk/dist/plugins.js +54 -0
  1109. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.d.ts +870 -0
  1110. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.js +80 -0
  1111. package/dist/vendor/@jinn-network/sdk/dist/session-derived/distill-prompt-v1.d.ts +2 -0
  1112. package/dist/vendor/@jinn-network/sdk/dist/session-derived/distill-prompt-v1.js +10 -0
  1113. package/dist/vendor/@jinn-network/sdk/dist/solvernets/index.d.ts +6 -0
  1114. package/dist/vendor/@jinn-network/sdk/dist/solvernets/index.js +8 -0
  1115. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +559 -0
  1116. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +126 -0
  1117. package/dist/vendor/@jinn-network/sdk/dist/solvernets/prediction-v1.d.ts +6 -0
  1118. package/dist/vendor/@jinn-network/sdk/dist/solvernets/prediction-v1.js +3 -0
  1119. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.d.ts +4 -0
  1120. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.js +2 -0
  1121. package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.d.ts +66 -0
  1122. package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.js +44 -0
  1123. package/dist/vendor/@jinn-network/sdk/dist/types.d.ts +116 -0
  1124. package/dist/vendor/@jinn-network/sdk/dist/types.js +21 -0
  1125. package/dist/vendor/@jinn-network/sdk/package.json +43 -0
  1126. package/dist/venues/hyperliquid/account-value.d.ts +1 -1
  1127. package/dist/venues/hyperliquid/account-value.js +1 -1
  1128. package/dist/venues/polymarket/client.d.ts +77 -0
  1129. package/dist/venues/polymarket/client.js +309 -0
  1130. package/dist/venues/polymarket/client.js.map +1 -0
  1131. package/dist/withdraw/run-withdraw-plan.js +0 -2
  1132. package/dist/withdraw/run-withdraw-plan.js.map +1 -1
  1133. package/dist/x402/acquire.d.ts +14 -3
  1134. package/dist/x402/acquire.js +28 -11
  1135. package/dist/x402/acquire.js.map +1 -1
  1136. package/dist/x402/handler.d.ts +15 -3
  1137. package/dist/x402/handler.js +189 -24
  1138. package/dist/x402/handler.js.map +1 -1
  1139. package/package.json +60 -15
  1140. package/plugins/claude-code-learner/.claude-plugin/plugin.json +9 -0
  1141. package/plugins/claude-code-learner/.codex-plugin/plugin.json +39 -0
  1142. package/plugins/claude-code-learner/AGENTS.md +40 -0
  1143. package/plugins/claude-code-learner/CLAUDE.md +33 -0
  1144. package/plugins/claude-code-learner/README.md +59 -0
  1145. package/plugins/claude-code-learner/hooks/hooks.json +16 -0
  1146. package/plugins/claude-code-learner/hooks/session-start +38 -0
  1147. package/plugins/claude-code-learner/skills/learn/SKILL.md +412 -0
  1148. package/plugins/claude-code-learner/skills/learn/analyst-prompt.md +68 -0
  1149. package/plugins/claude-code-learner/skills/learn/consolidator-prompt.md +94 -0
  1150. package/plugins/claude-code-learner/skills/learn/explorer-prompt.md +53 -0
  1151. package/plugins/claude-code-learner/skills/learn/planner-prompt.md +87 -0
  1152. package/plugins/claude-code-learner/skills/learn/promoter-prompt.md +113 -0
  1153. package/plugins/claude-code-learner/skills/learn/step-worker-prompt.md +47 -0
  1154. package/plugins/claude-code-learner/skills/learn/strategist-prompt.md +85 -0
  1155. package/plugins/jinn-prediction-plugin/.claude-plugin/plugin.json +19 -0
  1156. package/plugins/jinn-prediction-plugin/.mcp.json +8 -0
  1157. package/plugins/jinn-prediction-plugin/GEMINI.md +7 -0
  1158. package/plugins/jinn-prediction-plugin/gemini-extension.json +13 -0
  1159. package/plugins/jinn-prediction-plugin/jinn.plugin.json +26 -0
  1160. package/plugins/jinn-prediction-plugin/mcp/polymarket-server.mjs +322 -0
  1161. package/plugins/jinn-prediction-plugin/schemas/prediction-v0-solution.schema.json +12 -0
  1162. package/plugins/jinn-prediction-plugin/schemas/prediction-v0-task.schema.json +25 -0
  1163. package/plugins/jinn-prediction-plugin/schemas/prediction-v0-verdict.schema.json +11 -0
  1164. package/plugins/jinn-prediction-plugin/schemas/prediction-v1-solution.schema.json +34 -0
  1165. package/plugins/jinn-prediction-plugin/schemas/prediction-v1-task.schema.json +118 -0
  1166. package/plugins/jinn-prediction-plugin/schemas/prediction-v1-verdict.schema.json +84 -0
  1167. package/plugins/jinn-prediction-plugin/skills/base-rate-forecasting/SKILL.md +3 -0
  1168. package/plugins/jinn-prediction-plugin/skills/calibration/SKILL.md +3 -0
  1169. package/plugins/jinn-prediction-plugin/skills/common-biases/SKILL.md +3 -0
  1170. package/plugins/jinn-prediction-plugin/skills/polymarket-task-handling/SKILL.md +5 -0
  1171. package/plugins/jinn-prediction-plugin/skills/prediction-corpus-retrieval/SKILL.md +35 -0
  1172. package/plugins/network-tools/.claude-plugin/plugin.json +12 -0
  1173. package/plugins/network-tools/.codex-plugin/plugin.json +39 -0
  1174. package/plugins/network-tools/.mcp.json +11 -0
  1175. package/plugins/network-tools/jinn.plugin.json +29 -0
  1176. package/plugins/network-tools/mcp/jinn-client-server.mjs +110 -0
  1177. package/plugins/swe-rebench-v2-runtime/.claude-plugin/plugin.json +5 -0
  1178. package/plugins/swe-rebench-v2-runtime/.codex-plugin/plugin.json +39 -0
  1179. package/plugins/swe-rebench-v2-runtime/README.md +11 -0
  1180. package/plugins/swe-rebench-v2-runtime/jinn.plugin.json +12 -0
  1181. package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +25 -0
  1182. package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +64 -0
  1183. package/skills/jinn-operator/SKILL.md +120 -101
  1184. package/templates/harnesses/alternative-harness/README.md.tmpl +44 -0
  1185. package/templates/harnesses/alternative-harness/gitignore.tmpl +3 -0
  1186. package/templates/harnesses/alternative-harness/jinn.manifest.json.tmpl +22 -0
  1187. package/templates/harnesses/alternative-harness/package.json.tmpl +26 -0
  1188. package/templates/harnesses/alternative-harness/src/coordinator.ts.tmpl +50 -0
  1189. package/templates/harnesses/alternative-harness/src/harness.ts.tmpl +31 -0
  1190. package/templates/harnesses/alternative-harness/src/index.ts.tmpl +44 -0
  1191. package/templates/harnesses/alternative-harness/src/mock-harness.ts.tmpl +41 -0
  1192. package/templates/harnesses/alternative-harness/src/phases/debrief.ts.tmpl +28 -0
  1193. package/templates/harnesses/alternative-harness/src/phases/execute.ts.tmpl +33 -0
  1194. package/templates/harnesses/alternative-harness/src/phases/improve.ts.tmpl +31 -0
  1195. package/templates/harnesses/alternative-harness/src/phases/memory.ts.tmpl +31 -0
  1196. package/templates/harnesses/alternative-harness/src/phases/orient.ts.tmpl +21 -0
  1197. package/templates/harnesses/alternative-harness/src/phases/plan.ts.tmpl +25 -0
  1198. package/templates/harnesses/alternative-harness/src/phases/strategize.ts.tmpl +29 -0
  1199. package/templates/harnesses/alternative-harness/test/coordinator.test.ts.tmpl +53 -0
  1200. package/templates/harnesses/alternative-harness/test/unit.test.ts.tmpl +55 -0
  1201. package/templates/harnesses/alternative-harness/tsconfig.json.tmpl +16 -0
  1202. package/templates/harnesses/evaluator/README.md.tmpl +36 -0
  1203. package/templates/harnesses/evaluator/gitignore.tmpl +3 -0
  1204. package/templates/harnesses/evaluator/jinn.manifest.json.tmpl +22 -0
  1205. package/templates/harnesses/evaluator/package.json.tmpl +26 -0
  1206. package/templates/harnesses/evaluator/src/index.ts.tmpl +35 -0
  1207. package/templates/harnesses/evaluator/test/unit.test.ts.tmpl +49 -0
  1208. package/templates/harnesses/evaluator/tsconfig.json.tmpl +16 -0
  1209. package/templates/harnesses/forecaster/README.md.tmpl +25 -0
  1210. package/templates/harnesses/forecaster/gitignore.tmpl +5 -0
  1211. package/templates/harnesses/forecaster/jinn.manifest.json.tmpl +22 -0
  1212. package/templates/harnesses/forecaster/package.json.tmpl +26 -0
  1213. package/templates/harnesses/forecaster/src/index.ts.tmpl +33 -0
  1214. package/templates/harnesses/forecaster/test/unit.test.ts.tmpl +42 -0
  1215. package/templates/harnesses/forecaster/tsconfig.json.tmpl +16 -0
  1216. package/dist/adapters/claim-registry/abi.d.ts +0 -127
  1217. package/dist/adapters/claim-registry/abi.js +0 -93
  1218. package/dist/adapters/claim-registry/abi.js.map +0 -1
  1219. package/dist/adapters/claim-registry/client.d.ts +0 -89
  1220. package/dist/adapters/claim-registry/client.js +0 -205
  1221. package/dist/adapters/claim-registry/client.js.map +0 -1
  1222. package/dist/adapters/mech/claim-policy.d.ts +0 -40
  1223. package/dist/adapters/mech/claim-policy.js +0 -104
  1224. package/dist/adapters/mech/claim-policy.js.map +0 -1
  1225. package/dist/bin/jinn-mcp.d.ts +0 -2
  1226. package/dist/bin/jinn-mcp.js +0 -10
  1227. package/dist/bin/jinn-mcp.js.map +0 -1
  1228. package/dist/cli/commands/intents.d.ts +0 -17
  1229. package/dist/cli/commands/intents.js +0 -489
  1230. package/dist/cli/commands/intents.js.map +0 -1
  1231. package/dist/cli/commands/plugin-install.js +0 -803
  1232. package/dist/cli/commands/plugin-install.js.map +0 -1
  1233. package/dist/cli/commands/submit-intent.js +0 -245
  1234. package/dist/cli/commands/submit-intent.js.map +0 -1
  1235. package/dist/cli/intent-registry-access.d.ts +0 -62
  1236. package/dist/cli/intent-registry-access.js +0 -165
  1237. package/dist/cli/intent-registry-access.js.map +0 -1
  1238. package/dist/discovery/registry.d.ts +0 -97
  1239. package/dist/discovery/registry.js +0 -177
  1240. package/dist/discovery/registry.js.map +0 -1
  1241. package/dist/discovery/subgraph.d.ts +0 -37
  1242. package/dist/discovery/subgraph.js +0 -87
  1243. package/dist/discovery/subgraph.js.map +0 -1
  1244. package/dist/intents/kinds/constants.d.ts +0 -5
  1245. package/dist/intents/kinds/constants.js +0 -6
  1246. package/dist/intents/kinds/constants.js.map +0 -1
  1247. package/dist/intents/kinds/index.d.ts +0 -28
  1248. package/dist/intents/kinds/index.js +0 -50
  1249. package/dist/intents/kinds/index.js.map +0 -1
  1250. package/dist/intents/kinds/portfolio-v0.d.ts +0 -2
  1251. package/dist/intents/kinds/portfolio-v0.js +0 -13
  1252. package/dist/intents/kinds/portfolio-v0.js.map +0 -1
  1253. package/dist/intents/kinds/prediction-apy-v0.d.ts +0 -3
  1254. package/dist/intents/kinds/prediction-apy-v0.js +0 -21
  1255. package/dist/intents/kinds/prediction-apy-v0.js.map +0 -1
  1256. package/dist/intents/kinds/prediction-v0.d.ts +0 -3
  1257. package/dist/intents/kinds/prediction-v0.js +0 -32
  1258. package/dist/intents/kinds/prediction-v0.js.map +0 -1
  1259. package/dist/intents/kinds/spec-kind.d.ts +0 -38
  1260. package/dist/intents/kinds/spec-kind.js +0 -6
  1261. package/dist/intents/kinds/spec-kind.js.map +0 -1
  1262. package/dist/intents/posting-service.d.ts +0 -26
  1263. package/dist/intents/posting-service.js +0 -218
  1264. package/dist/intents/posting-service.js.map +0 -1
  1265. package/dist/intents/prediction-apy-v0-auto.d.ts +0 -11
  1266. package/dist/intents/prediction-apy-v0-auto.js +0 -46
  1267. package/dist/intents/prediction-apy-v0-auto.js.map +0 -1
  1268. package/dist/intents/prediction-apy-v0-template.d.ts +0 -8
  1269. package/dist/intents/prediction-apy-v0-template.js +0 -22
  1270. package/dist/intents/prediction-apy-v0-template.js.map +0 -1
  1271. package/dist/intents/prediction-v0-auto.d.ts +0 -53
  1272. package/dist/intents/prediction-v0-auto.js +0 -84
  1273. package/dist/intents/prediction-v0-auto.js.map +0 -1
  1274. package/dist/intents/prediction-v0-template.d.ts +0 -70
  1275. package/dist/intents/prediction-v0-template.js +0 -145
  1276. package/dist/intents/prediction-v0-template.js.map +0 -1
  1277. package/dist/intents/sources.d.ts +0 -39
  1278. package/dist/intents/sources.js +0 -42
  1279. package/dist/intents/sources.js.map +0 -1
  1280. package/dist/restorer/engine/canonical-json.d.ts +0 -18
  1281. package/dist/restorer/engine/canonical-json.js +0 -59
  1282. package/dist/restorer/engine/canonical-json.js.map +0 -1
  1283. package/dist/restorer/engine/claim.d.ts +0 -69
  1284. package/dist/restorer/engine/claim.js +0 -104
  1285. package/dist/restorer/engine/claim.js.map +0 -1
  1286. package/dist/restorer/engine/delivery.d.ts +0 -52
  1287. package/dist/restorer/engine/delivery.js +0 -63
  1288. package/dist/restorer/engine/delivery.js.map +0 -1
  1289. package/dist/restorer/engine/engine.d.ts +0 -213
  1290. package/dist/restorer/engine/engine.js +0 -769
  1291. package/dist/restorer/engine/engine.js.map +0 -1
  1292. package/dist/restorer/engine/manifest-assembly.d.ts +0 -67
  1293. package/dist/restorer/engine/manifest-assembly.js +0 -79
  1294. package/dist/restorer/engine/manifest-assembly.js.map +0 -1
  1295. package/dist/restorer/engine/packaging.d.ts +0 -87
  1296. package/dist/restorer/engine/packaging.js +0 -350
  1297. package/dist/restorer/engine/packaging.js.map +0 -1
  1298. package/dist/restorer/engine/persistence.d.ts +0 -170
  1299. package/dist/restorer/engine/persistence.js +0 -381
  1300. package/dist/restorer/engine/persistence.js.map +0 -1
  1301. package/dist/restorer/engine/recovery.d.ts +0 -22
  1302. package/dist/restorer/engine/recovery.js +0 -24
  1303. package/dist/restorer/engine/recovery.js.map +0 -1
  1304. package/dist/restorer/engine/registry.d.ts +0 -62
  1305. package/dist/restorer/engine/registry.js +0 -73
  1306. package/dist/restorer/engine/registry.js.map +0 -1
  1307. package/dist/restorer/engine/signing.d.ts +0 -30
  1308. package/dist/restorer/engine/signing.js +0 -39
  1309. package/dist/restorer/engine/signing.js.map +0 -1
  1310. package/dist/restorer/engine/state.d.ts +0 -42
  1311. package/dist/restorer/engine/state.js +0 -87
  1312. package/dist/restorer/engine/state.js.map +0 -1
  1313. package/dist/restorer/impls/claude-mcp-hyperliquid/api-wallet.d.ts +0 -64
  1314. package/dist/restorer/impls/claude-mcp-hyperliquid/api-wallet.js.map +0 -1
  1315. package/dist/restorer/impls/claude-mcp-hyperliquid/index.d.ts +0 -104
  1316. package/dist/restorer/impls/claude-mcp-hyperliquid/index.js +0 -721
  1317. package/dist/restorer/impls/claude-mcp-hyperliquid/index.js.map +0 -1
  1318. package/dist/restorer/impls/claude-mcp-hyperliquid/mcp-tools.js.map +0 -1
  1319. package/dist/restorer/impls/claude-mcp-hyperliquid/safety-rails.js.map +0 -1
  1320. package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.d.ts +0 -97
  1321. package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.js +0 -226
  1322. package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.js.map +0 -1
  1323. package/dist/restorer/impls/claude-mcp-prediction/index.d.ts +0 -44
  1324. package/dist/restorer/impls/claude-mcp-prediction/index.js +0 -239
  1325. package/dist/restorer/impls/claude-mcp-prediction/index.js.map +0 -1
  1326. package/dist/restorer/impls/claude-mcp-prediction/mcp-tools.js +0 -135
  1327. package/dist/restorer/impls/claude-mcp-prediction/mcp-tools.js.map +0 -1
  1328. package/dist/restorer/impls/claude-mcp-prediction/prompt.d.ts +0 -8
  1329. package/dist/restorer/impls/claude-mcp-prediction/prompt.js +0 -54
  1330. package/dist/restorer/impls/claude-mcp-prediction/prompt.js.map +0 -1
  1331. package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.d.ts +0 -36
  1332. package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.js +0 -137
  1333. package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.js.map +0 -1
  1334. package/dist/restorer/impls/claude-mcp-prediction/types.d.ts +0 -84
  1335. package/dist/restorer/impls/claude-mcp-prediction/types.js +0 -6
  1336. package/dist/restorer/impls/claude-mcp-prediction/types.js.map +0 -1
  1337. package/dist/restorer/impls/claude-mcp-prediction-apy/index.d.ts +0 -34
  1338. package/dist/restorer/impls/claude-mcp-prediction-apy/index.js +0 -233
  1339. package/dist/restorer/impls/claude-mcp-prediction-apy/index.js.map +0 -1
  1340. package/dist/restorer/impls/claude-mcp-prediction-apy/mcp-tools.js +0 -136
  1341. package/dist/restorer/impls/claude-mcp-prediction-apy/mcp-tools.js.map +0 -1
  1342. package/dist/restorer/impls/claude-mcp-prediction-apy/prompt.d.ts +0 -7
  1343. package/dist/restorer/impls/claude-mcp-prediction-apy/prompt.js +0 -46
  1344. package/dist/restorer/impls/claude-mcp-prediction-apy/prompt.js.map +0 -1
  1345. package/dist/restorer/impls/claude-mcp-prediction-apy/session-orchestrator.d.ts +0 -27
  1346. package/dist/restorer/impls/claude-mcp-prediction-apy/session-orchestrator.js +0 -128
  1347. package/dist/restorer/impls/claude-mcp-prediction-apy/session-orchestrator.js.map +0 -1
  1348. package/dist/restorer/impls/claude-mcp-prediction-apy/types.d.ts +0 -64
  1349. package/dist/restorer/impls/claude-mcp-prediction-apy/types.js +0 -6
  1350. package/dist/restorer/impls/claude-mcp-prediction-apy/types.js.map +0 -1
  1351. package/dist/restorer/impls/evaluation-context.d.ts +0 -16
  1352. package/dist/restorer/impls/evaluation-context.js +0 -18
  1353. package/dist/restorer/impls/evaluation-context.js.map +0 -1
  1354. package/dist/restorer/impls/index.d.ts +0 -46
  1355. package/dist/restorer/impls/index.js +0 -88
  1356. package/dist/restorer/impls/index.js.map +0 -1
  1357. package/dist/restorer/impls/legacy-claude/index.d.ts +0 -52
  1358. package/dist/restorer/impls/legacy-claude/index.js +0 -140
  1359. package/dist/restorer/impls/legacy-claude/index.js.map +0 -1
  1360. package/dist/restorer/impls/portfolio-v0-evaluator/canonical-metrics.d.ts +0 -68
  1361. package/dist/restorer/impls/portfolio-v0-evaluator/canonical-metrics.js +0 -117
  1362. package/dist/restorer/impls/portfolio-v0-evaluator/canonical-metrics.js.map +0 -1
  1363. package/dist/restorer/impls/portfolio-v0-evaluator/checks/availability.js.map +0 -1
  1364. package/dist/restorer/impls/portfolio-v0-evaluator/checks/consistency.d.ts +0 -78
  1365. package/dist/restorer/impls/portfolio-v0-evaluator/checks/consistency.js +0 -274
  1366. package/dist/restorer/impls/portfolio-v0-evaluator/checks/consistency.js.map +0 -1
  1367. package/dist/restorer/impls/portfolio-v0-evaluator/checks/eligibility.d.ts +0 -23
  1368. package/dist/restorer/impls/portfolio-v0-evaluator/checks/eligibility.js +0 -49
  1369. package/dist/restorer/impls/portfolio-v0-evaluator/checks/eligibility.js.map +0 -1
  1370. package/dist/restorer/impls/portfolio-v0-evaluator/checks/integrity.d.ts +0 -25
  1371. package/dist/restorer/impls/portfolio-v0-evaluator/checks/integrity.js +0 -44
  1372. package/dist/restorer/impls/portfolio-v0-evaluator/checks/integrity.js.map +0 -1
  1373. package/dist/restorer/impls/portfolio-v0-evaluator/checks/spec.d.ts +0 -17
  1374. package/dist/restorer/impls/portfolio-v0-evaluator/checks/spec.js +0 -43
  1375. package/dist/restorer/impls/portfolio-v0-evaluator/checks/spec.js.map +0 -1
  1376. package/dist/restorer/impls/portfolio-v0-evaluator/index.d.ts +0 -44
  1377. package/dist/restorer/impls/portfolio-v0-evaluator/index.js +0 -440
  1378. package/dist/restorer/impls/portfolio-v0-evaluator/index.js.map +0 -1
  1379. package/dist/restorer/impls/portfolio-v0-evaluator/score.js.map +0 -1
  1380. package/dist/restorer/impls/portfolio-v0-evaluator/types.d.ts +0 -34
  1381. package/dist/restorer/impls/portfolio-v0-evaluator/types.js.map +0 -1
  1382. package/dist/restorer/impls/prediction-apy-v0-baseline/index.d.ts +0 -40
  1383. package/dist/restorer/impls/prediction-apy-v0-baseline/index.js +0 -107
  1384. package/dist/restorer/impls/prediction-apy-v0-baseline/index.js.map +0 -1
  1385. package/dist/restorer/impls/prediction-apy-v0-baseline/strategy.js.map +0 -1
  1386. package/dist/restorer/impls/prediction-apy-v0-baseline/types.js.map +0 -1
  1387. package/dist/restorer/impls/prediction-apy-v0-evaluator/canonical-metrics.d.ts +0 -6
  1388. package/dist/restorer/impls/prediction-apy-v0-evaluator/canonical-metrics.js +0 -11
  1389. package/dist/restorer/impls/prediction-apy-v0-evaluator/canonical-metrics.js.map +0 -1
  1390. package/dist/restorer/impls/prediction-apy-v0-evaluator/index.d.ts +0 -42
  1391. package/dist/restorer/impls/prediction-apy-v0-evaluator/index.js +0 -208
  1392. package/dist/restorer/impls/prediction-apy-v0-evaluator/index.js.map +0 -1
  1393. package/dist/restorer/impls/prediction-apy-v0-evaluator/parse-submission.d.ts +0 -7
  1394. package/dist/restorer/impls/prediction-apy-v0-evaluator/parse-submission.js +0 -29
  1395. package/dist/restorer/impls/prediction-apy-v0-evaluator/parse-submission.js.map +0 -1
  1396. package/dist/restorer/impls/prediction-apy-v0-evaluator/score.js.map +0 -1
  1397. package/dist/restorer/impls/prediction-apy-v0-evaluator/types.js.map +0 -1
  1398. package/dist/restorer/impls/prediction-v0-baseline/index.d.ts +0 -31
  1399. package/dist/restorer/impls/prediction-v0-baseline/index.js +0 -100
  1400. package/dist/restorer/impls/prediction-v0-baseline/index.js.map +0 -1
  1401. package/dist/restorer/impls/prediction-v0-baseline/strategy.d.ts +0 -8
  1402. package/dist/restorer/impls/prediction-v0-baseline/strategy.js +0 -41
  1403. package/dist/restorer/impls/prediction-v0-baseline/strategy.js.map +0 -1
  1404. package/dist/restorer/impls/prediction-v0-baseline/types.d.ts +0 -7
  1405. package/dist/restorer/impls/prediction-v0-baseline/types.js.map +0 -1
  1406. package/dist/restorer/impls/prediction-v0-evaluator/canonical-metrics.d.ts +0 -20
  1407. package/dist/restorer/impls/prediction-v0-evaluator/canonical-metrics.js.map +0 -1
  1408. package/dist/restorer/impls/prediction-v0-evaluator/checks/availability.d.ts +0 -9
  1409. package/dist/restorer/impls/prediction-v0-evaluator/checks/availability.js.map +0 -1
  1410. package/dist/restorer/impls/prediction-v0-evaluator/checks/eligibility.d.ts +0 -3
  1411. package/dist/restorer/impls/prediction-v0-evaluator/checks/eligibility.js.map +0 -1
  1412. package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.d.ts +0 -13
  1413. package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.js +0 -111
  1414. package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.js.map +0 -1
  1415. package/dist/restorer/impls/prediction-v0-evaluator/checks/spec.d.ts +0 -5
  1416. package/dist/restorer/impls/prediction-v0-evaluator/checks/spec.js.map +0 -1
  1417. package/dist/restorer/impls/prediction-v0-evaluator/index.d.ts +0 -36
  1418. package/dist/restorer/impls/prediction-v0-evaluator/index.js +0 -234
  1419. package/dist/restorer/impls/prediction-v0-evaluator/index.js.map +0 -1
  1420. package/dist/restorer/impls/prediction-v0-evaluator/score.js.map +0 -1
  1421. package/dist/restorer/impls/prediction-v0-evaluator/types.js.map +0 -1
  1422. package/dist/restorer/types.d.ts +0 -194
  1423. package/dist/restorer/types.js +0 -28
  1424. package/dist/restorer/types.js.map +0 -1
  1425. package/dist/types/desired-state.d.ts +0 -94
  1426. package/dist/types/desired-state.js +0 -36
  1427. package/dist/types/desired-state.js.map +0 -1
  1428. /package/dist/cli/commands/{plugin-install.d.ts → solver-nets.d.ts} +0 -0
  1429. /package/dist/cli/commands/{submit-intent.d.ts → tasks.d.ts} +0 -0
  1430. /package/dist/{restorer/impls/prediction-apy-v0-baseline → harnesses/impls/claude-code-learner}/types.js +0 -0
  1431. /package/dist/{restorer → harnesses}/impls/claude-mcp-hyperliquid/api-wallet.js +0 -0
  1432. /package/dist/{restorer → harnesses}/impls/claude-mcp-hyperliquid/mcp-tools.d.ts +0 -0
  1433. /package/dist/{restorer → harnesses}/impls/claude-mcp-hyperliquid/mcp-tools.js +0 -0
  1434. /package/dist/{restorer → harnesses}/impls/claude-mcp-hyperliquid/safety-rails.d.ts +0 -0
  1435. /package/dist/{restorer → harnesses}/impls/claude-mcp-hyperliquid/safety-rails.js +0 -0
  1436. /package/dist/{restorer → harnesses}/impls/claude-mcp-prediction/mcp-tools.d.ts +0 -0
  1437. /package/dist/{restorer → harnesses}/impls/claude-mcp-prediction-apy/mcp-tools.d.ts +0 -0
  1438. /package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/checks/availability.d.ts +0 -0
  1439. /package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/checks/availability.js +0 -0
  1440. /package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/score.d.ts +0 -0
  1441. /package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/score.js +0 -0
  1442. /package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/types.js +0 -0
  1443. /package/dist/{restorer → harnesses}/impls/prediction-apy-v0-baseline/strategy.d.ts +0 -0
  1444. /package/dist/{restorer → harnesses}/impls/prediction-apy-v0-baseline/strategy.js +0 -0
  1445. /package/dist/{restorer → harnesses}/impls/prediction-apy-v0-baseline/types.d.ts +0 -0
  1446. /package/dist/{restorer/impls/prediction-apy-v0-evaluator → harnesses/impls/prediction-apy-v0-baseline}/types.js +0 -0
  1447. /package/dist/{restorer → harnesses}/impls/prediction-apy-v0-evaluator/score.d.ts +0 -0
  1448. /package/dist/{restorer → harnesses}/impls/prediction-apy-v0-evaluator/score.js +0 -0
  1449. /package/dist/{restorer → harnesses}/impls/prediction-apy-v0-evaluator/types.d.ts +0 -0
  1450. /package/dist/{restorer/impls/prediction-v0-baseline → harnesses/impls/prediction-apy-v0-evaluator}/types.js +0 -0
  1451. /package/dist/{restorer/impls/prediction-v0-evaluator → harnesses/impls/prediction-v0-baseline}/types.js +0 -0
  1452. /package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/canonical-metrics.js +0 -0
  1453. /package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/checks/availability.js +0 -0
  1454. /package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/checks/eligibility.js +0 -0
  1455. /package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/checks/spec.js +0 -0
  1456. /package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/score.d.ts +0 -0
  1457. /package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/score.js +0 -0
  1458. /package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/types.d.ts +0 -0
package/dist/config.js CHANGED
@@ -13,12 +13,21 @@
13
13
  * Router claims: JINN_ROUTER_CLAIM_DELIVERY_VERSION=v1|v2 overrides chain default
14
14
  * (mainnet V1, testnet V2) for JinnRouter claimDelivery encoding.
15
15
  */
16
- import { existsSync, readFileSync } from 'node:fs';
16
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
17
17
  import { homedir } from 'node:os';
18
- import { join } from 'node:path';
18
+ import { dirname, join } from 'node:path';
19
19
  import { z } from 'zod';
20
- import { DesiredStateSchema, parseDesiredState } from './types/desired-state.js';
21
- // ── Schema ──────────────────────────────────────────────────────────────────
20
+ import { TaskSchema, parseTask } from './types/task.js';
21
+ import { canonicalHarnessName, CLAUDE_CODE_HARNESS } from './harnesses/names.js';
22
+ /**
23
+ * Default `solverNets` is empty per Decision 5 of
24
+ * spec/2026-05-05-solvernet-creation-and-launch.md — pre-release, no
25
+ * migration burden. Fresh installs no longer seed the `prediction` entry;
26
+ * the operator joins SolverNets through the registry (Task 21's
27
+ * `joinedSolverNets` block).
28
+ */
29
+ export const DEFAULT_SOLVER_NETS = {};
30
+ const HarnessNameSchema = z.string().transform((name) => canonicalHarnessName(name));
22
31
  export const JinnConfigSchema = z.object({
23
32
  /**
24
33
  * Network to connect to.
@@ -35,6 +44,13 @@ export const JinnConfigSchema = z.object({
35
44
  */
36
45
  rpcUrl: z.string().optional(),
37
46
  archiveRpcUrl: z.string().optional(),
47
+ /**
48
+ * Optional L2 proof/archive RPC endpoint for canonical cross-chain canaries.
49
+ * The daemon can use its normal rpcUrl for writes while proof construction
50
+ * uses this endpoint for historical eth_getProof at OP dispute-game blocks.
51
+ * Env: JINN_L2_PROOF_RPC_URL.
52
+ */
53
+ l2ProofRpcUrl: z.string().url().optional(),
38
54
  /** Earning state directory */
39
55
  earningDir: z.string().default(join(homedir(), '.jinn-client', 'earning')),
40
56
  /** SQLite database path */
@@ -56,6 +72,16 @@ export const JinnConfigSchema = z.object({
56
72
  balanceTopupIntervalMs: z.number().int().min(0).default(300_000),
57
73
  /** HTTP API port */
58
74
  apiPort: z.number().int().positive().default(7331),
75
+ /**
76
+ * Bind host for the HTTP API server. Defaults to `127.0.0.1` so the daemon
77
+ * is unreachable across the network out of the box — operators who need
78
+ * LAN access (or who terminate TLS in front of the daemon) opt in via this
79
+ * knob or `JINN_API_BIND_HOST`. Cost-mutating routes (`POST /artifacts`,
80
+ * `POST /v1/artifacts/acquire`) require a bearer token regardless; the
81
+ * bind host is the outer firewall.
82
+ * Env: JINN_API_BIND_HOST.
83
+ */
84
+ apiBindHost: z.string().optional(),
59
85
  /** Path to claude CLI binary */
60
86
  claudePath: z.string().default('claude'),
61
87
  /** Model for restoration/evaluation agent */
@@ -78,8 +104,8 @@ export const JinnConfigSchema = z.object({
78
104
  subgraphUrl: z.string().optional(),
79
105
  /** This node's public HTTP endpoint (for 8004 registration) */
80
106
  nodeEndpoint: z.string().optional(),
81
- /** Desired states to create and restore. Empty by default; testnet auto-intents fill the loop. */
82
- desiredStates: z.array(DesiredStateSchema).default([]),
107
+ /** Tasks to create and solve. Empty by default; enabled SolverNet generators fill the loop. */
108
+ tasks: z.array(TaskSchema).default([]),
83
109
  /** IPFS upload endpoint */
84
110
  ipfsRegistryUrl: z.string().default('https://registry.autonolas.tech'),
85
111
  /** IPFS read endpoint */
@@ -92,8 +118,83 @@ export const JinnConfigSchema = z.object({
92
118
  testnetMechDeploymentPath: z.string().optional(),
93
119
  /** Optional Base Sepolia stOLAS deployment artifact path */
94
120
  testnetStolasDeploymentPath: z.string().optional(),
95
- /** Optional Base Sepolia ClaimRegistry deployment artifact path */
96
- testnetClaimRegistryDeploymentPath: z.string().optional(),
121
+ /**
122
+ * Optional deployment artifact for the v0 MVI L1 stack
123
+ * (deployment-jinn-mvi-l1-{network}{,-fast}.json). Provides addresses for
124
+ * JINN, Timelock, JinnGovernor, JinnDistributor, and Messenger.
125
+ * When set the daemon enables the cross-chain JINN claim loop.
126
+ */
127
+ jinnMviL1DeploymentPath: z.string().optional(),
128
+ /**
129
+ * Optional deployment artifact for the v0 MVI L2 emitter
130
+ * (deployment-jinn-mvi-l2-{network}.json). Provides the
131
+ * TaskClaimEmitter address on the measurement chain (Base / Base Sepolia).
132
+ */
133
+ jinnMviL2DeploymentPath: z.string().optional(),
134
+ // ── Cross-chain claim loop (Phase B / jinn-mono-7x5) ─────────────────────
135
+ /**
136
+ * RPC endpoint for the L1 governance chain (Ethereum / Sepolia) where the
137
+ * JinnDistributor lives. Required when jinnDistributorAddress is set.
138
+ * Env: JINN_ETHEREUM_RPC_URL.
139
+ */
140
+ ethereumRpcUrl: z.string().url().optional(),
141
+ /**
142
+ * Optional archive RPC endpoint for the L1 governance chain. Used for
143
+ * historical block lookups when constructing canonical-mode proofs.
144
+ * Env: JINN_ETHEREUM_ARCHIVE_RPC_URL.
145
+ */
146
+ ethereumArchiveRpcUrl: z.string().url().optional(),
147
+ /**
148
+ * L1 network used by the cross-chain claim loop. 'sepolia' tracks Base
149
+ * Sepolia testnet; 'ethereum' tracks Base mainnet. Defaults to 'sepolia'
150
+ * during Phase 1b. Env: JINN_L1_NETWORK.
151
+ */
152
+ jinnL1Network: z.enum(['sepolia', 'ethereum']).default('sepolia'),
153
+ /**
154
+ * JinnDistributor address on the L1 governance chain. Setting this enables
155
+ * the cross-chain claim loop. When set, ethereumRpcUrl MUST also be set.
156
+ * Resolved from jinnMviL1DeploymentPath when omitted; otherwise a manual
157
+ * override. Env: JINN_DISTRIBUTOR_ADDRESS.
158
+ */
159
+ jinnDistributorAddress: z
160
+ .string()
161
+ .regex(/^0x[0-9a-fA-F]{40}$/, 'must be a 0x-prefixed 20-byte address')
162
+ .optional(),
163
+ /**
164
+ * TaskClaimEmitter address on the L2 measurement chain (Base / Base
165
+ * Sepolia). Resolved from jinnMviL2DeploymentPath when omitted.
166
+ * Env: JINN_CLAIM_EMITTER_ADDRESS.
167
+ */
168
+ jinnClaimEmitterAddress: z
169
+ .string()
170
+ .regex(/^0x[0-9a-fA-F]{40}$/, 'must be a 0x-prefixed 20-byte address')
171
+ .optional(),
172
+ /**
173
+ * Messenger address on the L1 governance chain. Resolved from
174
+ * jinnMviL1DeploymentPath when omitted.
175
+ * Env: JINN_MESSENGER_ADDRESS.
176
+ */
177
+ jinnMessengerAddress: z
178
+ .string()
179
+ .regex(/^0x[0-9a-fA-F]{40}$/, 'must be a 0x-prefixed 20-byte address')
180
+ .optional(),
181
+ /**
182
+ * Messenger mode driving proof construction. `mock` submits MockMessenger
183
+ * fixtures — required for automated Sepolia burn-in (`runOnce`). `canonical`
184
+ * builds OP-Stack storage proofs for verifier-only checks; scheduled daemon
185
+ * ticks **skip** canonical mode (multi-day finality) — use
186
+ * `tsx scripts/verify-canonical-canary.ts` after finality instead. Defaults
187
+ * to `canonical`.
188
+ * Env: JINN_MESSENGER_MODE.
189
+ */
190
+ jinnMessengerMode: z.enum(['canonical', 'mock']).default('canonical'),
191
+ /**
192
+ * How often the daemon ticks the cross-chain JINN claim loop (ms). Default
193
+ * 3 600 000 (1 hour) — well below mainnet challenge windows while
194
+ * minimising RPC/gas churn. Set to 0 to disable when the address is set.
195
+ * Env: JINN_CLAIM_LOOP_INTERVAL_MS.
196
+ */
197
+ jinnClaimLoopIntervalMs: z.number().int().min(0).default(60 * 60 * 1000),
97
198
  /** Staking mode: 'standard' uses stOLAS (no OLAS needed), 'self-bond' uses operator-provided OLAS. */
98
199
  stakingMode: z.enum(['standard', 'self-bond']).default('standard'),
99
200
  /** Number of services to bootstrap and run. */
@@ -112,23 +213,182 @@ export const JinnConfigSchema = z.object({
112
213
  .regex(/^\d+$/, 'must be a non-negative integer string')
113
214
  .optional(),
114
215
  /**
115
- * Operator-controlled impl dispatch for the restorer engine.
116
- *
117
- * Wired by daemon (jinn-mono-bv5); engine consumes via RestorerImplRegistry config.
118
- *
119
- * byKind: explicit spec.kind → impl name mapping (highest priority)
120
- * default: fallback impl name when no kind-specific match is found
121
- * disabled: impl names to exclude from dispatch entirely
216
+ * Optional gas runway override for bootstrap/top-up targets (wei string).
217
+ * Used by Docker testnet acceptance to match the bundled faucet budget.
218
+ * Env: JINN_MIN_EOA_GAS_WEI
219
+ */
220
+ minEoaGasWei: z
221
+ .string()
222
+ .regex(/^\d+$/, 'must be a non-negative integer string')
223
+ .optional(),
224
+ /**
225
+ * Optional Safe ETH target override for bootstrap/top-up targets (wei string).
226
+ * Env: JINN_MIN_SAFE_ETH_WEI
122
227
  */
123
- restorers: z
228
+ minSafeEthWei: z
229
+ .string()
230
+ .regex(/^\d+$/, 'must be a non-negative integer string')
231
+ .optional(),
232
+ /**
233
+ * Operator-controlled Harness inventory.
234
+ */
235
+ harnesses: z
124
236
  .object({
125
- byKind: z.record(z.string()).optional(),
126
- default: z.string().optional(),
127
- disabled: z.array(z.string()).optional(),
237
+ default: HarnessNameSchema.optional(),
238
+ disabled: z.array(HarnessNameSchema).optional(),
239
+ /**
240
+ * Operator-supplied external harness impls.
241
+ *
242
+ * Each entry points the daemon at a manifest-bearing package on disk
243
+ * (typically inside `node_modules/`); `client/src/main.ts` invokes
244
+ * `loadExternalImpl()` for each entry at boot, validates the manifest
245
+ * against `trustedImplSigners`, and registers the resulting impl in
246
+ * the harness registry. See
247
+ * `docs/superpowers/plans/2026-04-30-plug-in-surface-path-2-foundation.md`
248
+ * step 5.7-5.8.
249
+ */
250
+ externalImpls: z
251
+ .array(z.object({
252
+ name: z.string(),
253
+ entry: z.string(),
254
+ package: z.string().optional(),
255
+ /**
256
+ * Optional pinned version. When set, the loader rejects the
257
+ * impl if its manifest's `version` does not match this string
258
+ * exactly — guards against silent upgrades of an on-disk
259
+ * package without an explicit operator config change
260
+ * (Finding 10).
261
+ */
262
+ version: z.string().optional(),
263
+ }))
264
+ .optional(),
128
265
  })
129
266
  .optional(),
130
267
  /**
131
- * Restoration engine durable directories (per-intent work + impl state).
268
+ * Harness execution settings. The `mode` field controls whether the
269
+ * harness runs with state-write phases enabled (`train`) or disabled
270
+ * (`frozen`). Frozen mode produces stable codeDigest across Tasks for
271
+ * benchmark-grade per-snapshot scoring; see
272
+ * docs/superpowers/specs/2026-05-06-agent-harness-solvernet-design.md §5.
273
+ */
274
+ harness: z
275
+ .object({
276
+ mode: z.enum(['train', 'frozen']).default('train'),
277
+ })
278
+ .default({ mode: 'train' }),
279
+ /**
280
+ * SolverNet activation, Harness selection, and operator-configured runtime plugins.
281
+ *
282
+ * Each entry's `roles` is a non-empty subset of `['solving', 'evaluating']`.
283
+ * Multiple roles can run concurrently for the same SolverNet; the
284
+ * protocol-level `disallowSolverSelfEvaluation` flag prevents the operator
285
+ * from evaluating its own Solutions and the on-chain
286
+ * TaskActivityCheckerV3 tracks Solution and Verdict counters independently
287
+ * (additive into `eligibleActivityWeight`).
288
+ *
289
+ * Launcher ownership lives in the launched-record subsystem
290
+ * (spec/2026-05-05-solvernet-creation-and-launch.md §11), not in operator
291
+ * config — there is no `'launching'` operator role. Legacy entries that
292
+ * include `'launching'` in `roles` have it stripped by the preprocessor so
293
+ * older config files keep loading.
294
+ *
295
+ * Backwards-compat: a legacy `role: 'solving' | 'evaluating'` field is
296
+ * auto-promoted to `roles: [<role>]` by the zod preprocessor below so
297
+ * existing `~/.jinn-client/config.json` files keep loading without an
298
+ * operator migration step.
299
+ */
300
+ solverNets: z.record(z.preprocess((raw) => {
301
+ if (typeof raw !== 'object' || raw === null)
302
+ return raw;
303
+ const obj = raw;
304
+ // Promote legacy `role: X` → `roles: [X]` when only the singular form
305
+ // is provided. If both are present (mid-migration third-party config),
306
+ // `roles` wins and `role` is dropped.
307
+ if (Array.isArray(obj['roles']) && obj['roles'].length > 0) {
308
+ // Drop legacy `'launching'` entries — operator config no longer
309
+ // carries the launcher role; ownership is via launched records.
310
+ const filteredRoles = obj['roles'].filter((r) => r !== 'launching');
311
+ const { role: _legacyRole, ...rest } = obj;
312
+ return { ...rest, roles: filteredRoles };
313
+ }
314
+ if (typeof obj['role'] === 'string' && (obj['role'] === 'solving' || obj['role'] === 'evaluating')) {
315
+ const { role, ...rest } = obj;
316
+ return { ...rest, roles: [role] };
317
+ }
318
+ return obj;
319
+ }, z.object({
320
+ enabled: z.boolean().default(true),
321
+ solverType: z.string(),
322
+ roles: z.array(z.enum(['solving', 'evaluating']))
323
+ .min(1, 'each SolverNet must enable at least one role')
324
+ .default(['solving'])
325
+ // Deduplicate to keep downstream consumers simple.
326
+ .transform((arr) => Array.from(new Set(arr))),
327
+ harness: HarnessNameSchema.default(CLAUDE_CODE_HARNESS),
328
+ model: z.string().optional(),
329
+ plugins: z.array(z.union([
330
+ z.string(),
331
+ z.object({
332
+ name: z.string().optional(),
333
+ source: z.string(),
334
+ version: z.string().optional(),
335
+ }),
336
+ ])).default([]),
337
+ taskGenerator: z.object({
338
+ enabled: z.boolean().default(true),
339
+ }).default({ enabled: true }),
340
+ }))).default(DEFAULT_SOLVER_NETS),
341
+ /**
342
+ * Manifest-keyed joined SolverNets (Task 21).
343
+ *
344
+ * Spec: spec/2026-05-05-solvernet-creation-and-launch.md §12.
345
+ *
346
+ * Populated by `POST /v1/operator/join/:cid` when an operator joins a
347
+ * launched SolverNet from the registry catalog. Keys are `manifestCid`
348
+ * (CIDv0 / CIDv1) — the only stable identifier that maps back to a
349
+ * launched-instance authority across launchers.
350
+ *
351
+ * Kept structurally separate from legacy `solverNets` for now. The daemon
352
+ * narrows this block into runtime SolverNet registry entries on restart, and
353
+ * Task 22 collapses both branches into a single manifest-keyed shape once
354
+ * the legacy block is fully drained.
355
+ */
356
+ joinedSolverNets: z
357
+ .record(z.string(), z.object({
358
+ manifestCid: z.string().min(1),
359
+ name: z.string().optional(),
360
+ contract: z
361
+ .object({
362
+ id: z.string().min(1),
363
+ version: z.string().min(1),
364
+ })
365
+ .optional(),
366
+ roles: z
367
+ .array(z.enum(['solver', 'evaluator']))
368
+ .min(1, 'each joined SolverNet must enable at least one role'),
369
+ harness: HarnessNameSchema.optional(),
370
+ model: z.string().optional(),
371
+ plugins: z.array(z.string()).default([]),
372
+ disabledDefaultPlugins: z.array(z.string()).default([]),
373
+ }))
374
+ .optional(),
375
+ /**
376
+ * Trusted ed25519 publishers for external harness impls. The daemon
377
+ * refuses to load any external impl whose manifest signature is not
378
+ * verifiable against one of these public keys.
379
+ *
380
+ * `publicKey` is base64-encoded raw ed25519. `label` is operator-facing
381
+ * provenance only.
382
+ */
383
+ trustedImplSigners: z
384
+ .array(z.object({
385
+ alg: z.literal('ed25519'),
386
+ publicKey: z.string(),
387
+ label: z.string().optional(),
388
+ }))
389
+ .optional(),
390
+ /**
391
+ * Restoration engine durable directories (per-task work + impl state).
132
392
  * Defaults under ~/.jinn-client/engine/. Env: JINN_ENGINE_WORKING_DIR_ROOT,
133
393
  * JINN_ENGINE_IMPL_STATE_DIR_ROOT.
134
394
  */
@@ -138,6 +398,108 @@ export const JinnConfigSchema = z.object({
138
398
  implStateDirRoot: z.string().optional(),
139
399
  })
140
400
  .optional(),
401
+ /**
402
+ * Operator-local artifact and donation configuration.
403
+ *
404
+ * Public testnet donation is IPFS-first: when `donation.enabled` is true,
405
+ * scrubbed solver/evaluator artifacts are pinned to IPFS and advertised in
406
+ * signed metadata so peers can discover, verify, and reuse them without an
407
+ * operator-hosted public endpoint.
408
+ *
409
+ * `publicEndpoint`, `defaultPriceUsdc`, and `perArtifactTypePrice` are kept
410
+ * as compatibility and future data-market fallback plumbing. They are not
411
+ * required for the free IPFS donation path used by this release.
412
+ *
413
+ * Resolution precedence in `uploadArtifacts`:
414
+ * OUTPUTS.json `access.priceUsdc` > `perArtifactTypePrice[artifactType]`
415
+ * > `defaultPriceUsdc`.
416
+ *
417
+ * Env overrides:
418
+ * JINN_OPERATOR_PUBLIC_ENDPOINT
419
+ * JINN_OPERATOR_DEFAULT_PRICE_USDC
420
+ * JINN_OPERATOR_DONATION_ENABLED
421
+ */
422
+ operator: z
423
+ .object({
424
+ publicEndpoint: z.string().url().optional(),
425
+ defaultPriceUsdc: z
426
+ .string()
427
+ .regex(/^\d+(\.\d+)?$/, 'must be a non-negative decimal string')
428
+ .default('0'),
429
+ perArtifactTypePrice: z
430
+ .record(z.string(), z.string().regex(/^\d+(\.\d+)?$/, 'must be a non-negative decimal string'))
431
+ .default({}),
432
+ donation: z
433
+ .object({
434
+ enabled: z.boolean().default(false),
435
+ })
436
+ .default({ enabled: false }),
437
+ })
438
+ .optional(),
439
+ /**
440
+ * Operator-local capture configuration.
441
+ *
442
+ * Path C (LLM API proxy) is disabled by default. Operators opt in by
443
+ * enabling this block and pointing ANTHROPIC_BASE_URL / OPENAI_BASE_URL at
444
+ * the local proxy port.
445
+ *
446
+ * Env:
447
+ * JINN_CAPTURES_LLM_PROXY_ENABLED=1|true|yes
448
+ * JINN_CAPTURES_LLM_PROXY_PORT=7342
449
+ */
450
+ captures: z
451
+ .object({
452
+ llmProxy: z
453
+ .object({
454
+ enabled: z.boolean().default(false),
455
+ port: z.number().int().positive().default(7342),
456
+ })
457
+ .default({ enabled: false, port: 7342 }),
458
+ })
459
+ .default({ llmProxy: { enabled: false, port: 7342 } }),
460
+ /**
461
+ * Run idempotent legacy migrations at daemon startup (jinn-mono-jgp:
462
+ * backfill `agent_id` on `complete` services that pre-date j07).
463
+ *
464
+ * Defaults to true — the migrations are no-ops on already-migrated
465
+ * fleets and cheap on Base. Operators on a flaky RPC or with locked
466
+ * funds can set this to false and run `jinn migrate-agent-id`
467
+ * explicitly.
468
+ *
469
+ * Env: JINN_RUN_LEGACY_MIGRATIONS=0|1.
470
+ */
471
+ runLegacyMigrations: z.boolean().default(true),
472
+ /**
473
+ * ERC-8004 Identity Registry contract address on the configured chain.
474
+ * Pre-rebuild config key (PR #37 cleanup left it in place). The post-rebuild
475
+ * client (jinn-mono-j07/3zk) reads the address from
476
+ * `client/src/erc8004/identity.ts` constants and from
477
+ * `EarningState.identity_registry_address`; this config key is currently
478
+ * unused but kept for backwards-compat with operator config files.
479
+ * Env: JINN_IDENTITY_REGISTRY_ADDRESS
480
+ */
481
+ identityRegistryAddress: z.string().optional(),
482
+ /**
483
+ * ERC-8004 Validation Registry contract address on the configured chain.
484
+ * Pre-rebuild config key. The post-rebuild client (jinn-mono-9jg) reads the
485
+ * address from `client/src/erc8004/addresses.ts:VALIDATION_REGISTRY_ADDRESSES`;
486
+ * this config key is currently unused but kept for backwards-compat.
487
+ * Env: JINN_VALIDATION_REGISTRY_ADDRESS
488
+ */
489
+ validationRegistryAddress: z.string().optional(),
490
+ /**
491
+ * Whether to enable the read-only reputation surface (query-time flag).
492
+ * Pre-rebuild config key. The post-rebuild client (jinn-mono-2ff/yg4) is
493
+ * always constructed when `agent_id` is set; this flag is currently unused
494
+ * but kept for backwards-compat.
495
+ * Env: JINN_REPUTATION_ENABLED
496
+ */
497
+ reputationEnabled: z.boolean().default(false),
498
+ }).refine((cfg) => !cfg.jinnDistributorAddress || !!cfg.ethereumRpcUrl, {
499
+ message: 'ethereumRpcUrl must be set when jinnDistributorAddress is configured ' +
500
+ '(env JINN_ETHEREUM_RPC_URL or config field). The cross-chain claim loop ' +
501
+ 'cannot reach the L1 governance chain without it.',
502
+ path: ['ethereumRpcUrl'],
141
503
  });
142
504
  const DEFAULT_ENGINE = {
143
505
  workingDirRoot: join(homedir(), '.jinn-client', 'engine', 'work'),
@@ -145,7 +507,8 @@ const DEFAULT_ENGINE = {
145
507
  };
146
508
  // ── Defaults ────────────────────────────────────────────────────────────────
147
509
  const DEFAULT_DIR = join(homedir(), '.jinn-client');
148
- const DEFAULT_CONFIG_PATH = join(DEFAULT_DIR, 'config.json');
510
+ export const DEFAULT_CONFIG_PATH = join(DEFAULT_DIR, 'config.json');
511
+ export const DEFAULT_TESTNET_SUBGRAPH_URL = 'https://api.studio.thegraph.com/query/1749489/jinn-testnet/capture-live-20260508183750';
149
512
  export class ConfigLoadError extends Error {
150
513
  code;
151
514
  details;
@@ -190,6 +553,8 @@ export function loadConfig(configPath) {
190
553
  const merged = { ...fileValues };
191
554
  if (env['JINN_NETWORK'])
192
555
  merged.network = env['JINN_NETWORK'];
556
+ if (env['JINN_L2_PROOF_RPC_URL'])
557
+ merged.l2ProofRpcUrl = env['JINN_L2_PROOF_RPC_URL'];
193
558
  if (env['JINN_EARNING_DIR'])
194
559
  merged.earningDir = env['JINN_EARNING_DIR'];
195
560
  if (env['JINN_DB_PATH'])
@@ -203,6 +568,8 @@ export function loadConfig(configPath) {
203
568
  merged.balanceTopupIntervalMs = Number.parseInt(env['JINN_BALANCE_TOPUP_INTERVAL_MS'], 10);
204
569
  if (env['JINN_API_PORT'])
205
570
  merged.apiPort = parseInt(env['JINN_API_PORT'], 10);
571
+ if (env['JINN_API_BIND_HOST'])
572
+ merged.apiBindHost = env['JINN_API_BIND_HOST'];
206
573
  if (env['JINN_CLAUDE_PATH'])
207
574
  merged.claudePath = env['JINN_CLAUDE_PATH'];
208
575
  if (env['JINN_CLAUDE_MODEL'])
@@ -225,8 +592,26 @@ export function loadConfig(configPath) {
225
592
  merged.testnetL2TokenDeploymentPath = env['JINN_TESTNET_TOKEN_DEPLOYMENT'];
226
593
  if (env['JINN_TESTNET_MECH_DEPLOYMENT'])
227
594
  merged.testnetMechDeploymentPath = env['JINN_TESTNET_MECH_DEPLOYMENT'];
228
- if (env['JINN_TESTNET_CLAIM_REGISTRY_DEPLOYMENT']) {
229
- merged.testnetClaimRegistryDeploymentPath = env['JINN_TESTNET_CLAIM_REGISTRY_DEPLOYMENT'];
595
+ if (env['JINN_MVI_L1_DEPLOYMENT'])
596
+ merged.jinnMviL1DeploymentPath = env['JINN_MVI_L1_DEPLOYMENT'];
597
+ if (env['JINN_MVI_L2_DEPLOYMENT'])
598
+ merged.jinnMviL2DeploymentPath = env['JINN_MVI_L2_DEPLOYMENT'];
599
+ if (env['JINN_ETHEREUM_RPC_URL'])
600
+ merged.ethereumRpcUrl = env['JINN_ETHEREUM_RPC_URL'];
601
+ if (env['JINN_ETHEREUM_ARCHIVE_RPC_URL'])
602
+ merged.ethereumArchiveRpcUrl = env['JINN_ETHEREUM_ARCHIVE_RPC_URL'];
603
+ if (env['JINN_L1_NETWORK'])
604
+ merged.jinnL1Network = env['JINN_L1_NETWORK'];
605
+ if (env['JINN_DISTRIBUTOR_ADDRESS'])
606
+ merged.jinnDistributorAddress = env['JINN_DISTRIBUTOR_ADDRESS'];
607
+ if (env['JINN_CLAIM_EMITTER_ADDRESS'])
608
+ merged.jinnClaimEmitterAddress = env['JINN_CLAIM_EMITTER_ADDRESS'];
609
+ if (env['JINN_MESSENGER_ADDRESS'])
610
+ merged.jinnMessengerAddress = env['JINN_MESSENGER_ADDRESS'];
611
+ if (env['JINN_MESSENGER_MODE'])
612
+ merged.jinnMessengerMode = env['JINN_MESSENGER_MODE'];
613
+ if (env['JINN_CLAIM_LOOP_INTERVAL_MS'] !== undefined) {
614
+ merged.jinnClaimLoopIntervalMs = parseInt(env['JINN_CLAIM_LOOP_INTERVAL_MS'], 10);
230
615
  }
231
616
  if (env['JINN_STAKING_MODE'])
232
617
  merged.stakingMode = env['JINN_STAKING_MODE'];
@@ -236,9 +621,79 @@ export function loadConfig(configPath) {
236
621
  const v = env['JINN_DEBUG'].trim().toLowerCase();
237
622
  merged.debug = v === '1' || v === 'true' || v === 'yes';
238
623
  }
624
+ if (env['JINN_RUN_LEGACY_MIGRATIONS'] !== undefined) {
625
+ const v = env['JINN_RUN_LEGACY_MIGRATIONS'].trim().toLowerCase();
626
+ merged.runLegacyMigrations =
627
+ !(v === '0' || v === 'false' || v === 'no' || v === '');
628
+ }
239
629
  if (env['JINN_MASTER_ETH_DAILY_WEI']) {
240
630
  merged.masterEthDailyEstimateWei = env['JINN_MASTER_ETH_DAILY_WEI'].trim();
241
631
  }
632
+ if (env['JINN_MIN_EOA_GAS_WEI']) {
633
+ merged.minEoaGasWei = env['JINN_MIN_EOA_GAS_WEI'].trim();
634
+ }
635
+ if (env['JINN_MIN_SAFE_ETH_WEI']) {
636
+ merged.minSafeEthWei = env['JINN_MIN_SAFE_ETH_WEI'].trim();
637
+ }
638
+ // Legacy `JINN_PREDICTION_V1_*` env vars are no longer recognised. Their
639
+ // values now live in the launched-record's generator-config block per
640
+ // spec/2026-05-05-solvernet-creation-and-launch.md (Decision 5 + Task 14)
641
+ // — set them through the SolverNet config API instead.
642
+ if (env['JINN_IDENTITY_REGISTRY_ADDRESS'])
643
+ merged.identityRegistryAddress = env['JINN_IDENTITY_REGISTRY_ADDRESS'];
644
+ if (env['JINN_VALIDATION_REGISTRY_ADDRESS'])
645
+ merged.validationRegistryAddress = env['JINN_VALIDATION_REGISTRY_ADDRESS'];
646
+ if (env['JINN_REPUTATION_ENABLED'] !== undefined) {
647
+ const rv = env['JINN_REPUTATION_ENABLED'].trim().toLowerCase();
648
+ merged.reputationEnabled = rv === '1' || rv === 'true' || rv === 'yes';
649
+ }
650
+ if (env['JINN_OPERATOR_PUBLIC_ENDPOINT'] ||
651
+ env['JINN_OPERATOR_DEFAULT_PRICE_USDC'] ||
652
+ env['JINN_OPERATOR_DONATION_ENABLED'] !== undefined) {
653
+ const prevOp = typeof merged['operator'] === 'object' && merged['operator'] !== null
654
+ ? merged['operator']
655
+ : {};
656
+ const prevDonation = typeof prevOp['donation'] === 'object' && prevOp['donation'] !== null
657
+ ? prevOp['donation']
658
+ : {};
659
+ const donationEnabled = env['JINN_OPERATOR_DONATION_ENABLED'] !== undefined
660
+ ? ['1', 'true', 'yes'].includes(env['JINN_OPERATOR_DONATION_ENABLED'].trim().toLowerCase())
661
+ : undefined;
662
+ merged['operator'] = {
663
+ ...prevOp,
664
+ ...(env['JINN_OPERATOR_PUBLIC_ENDPOINT']
665
+ ? { publicEndpoint: env['JINN_OPERATOR_PUBLIC_ENDPOINT'] }
666
+ : {}),
667
+ ...(env['JINN_OPERATOR_DEFAULT_PRICE_USDC']
668
+ ? { defaultPriceUsdc: env['JINN_OPERATOR_DEFAULT_PRICE_USDC'] }
669
+ : {}),
670
+ ...(donationEnabled !== undefined
671
+ ? { donation: { ...prevDonation, enabled: donationEnabled } }
672
+ : {}),
673
+ };
674
+ }
675
+ if (env['JINN_CAPTURES_LLM_PROXY_ENABLED'] !== undefined ||
676
+ env['JINN_CAPTURES_LLM_PROXY_PORT'] !== undefined) {
677
+ const prevCaptures = typeof merged['captures'] === 'object' && merged['captures'] !== null
678
+ ? merged['captures']
679
+ : {};
680
+ const prevProxy = typeof prevCaptures['llmProxy'] === 'object' && prevCaptures['llmProxy'] !== null
681
+ ? prevCaptures['llmProxy']
682
+ : {};
683
+ const enabled = env['JINN_CAPTURES_LLM_PROXY_ENABLED'] !== undefined
684
+ ? ['1', 'true', 'yes'].includes(env['JINN_CAPTURES_LLM_PROXY_ENABLED'].trim().toLowerCase())
685
+ : undefined;
686
+ merged['captures'] = {
687
+ ...prevCaptures,
688
+ llmProxy: {
689
+ ...prevProxy,
690
+ ...(enabled !== undefined ? { enabled } : {}),
691
+ ...(env['JINN_CAPTURES_LLM_PROXY_PORT']
692
+ ? { port: Number.parseInt(env['JINN_CAPTURES_LLM_PROXY_PORT'], 10) }
693
+ : {}),
694
+ },
695
+ };
696
+ }
242
697
  if (env['JINN_ENGINE_WORKING_DIR_ROOT'] || env['JINN_ENGINE_IMPL_STATE_DIR_ROOT']) {
243
698
  const prev = typeof merged['engine'] === 'object' && merged['engine'] !== null
244
699
  ? merged['engine']
@@ -250,6 +705,9 @@ export function loadConfig(configPath) {
250
705
  };
251
706
  }
252
707
  const resolvedNetwork = merged.network === 'testnet' ? 'testnet' : 'mainnet';
708
+ if (resolvedNetwork === 'testnet' && merged.subgraphUrl === undefined) {
709
+ merged.subgraphUrl = DEFAULT_TESTNET_SUBGRAPH_URL;
710
+ }
253
711
  // Keep the legacy BASE_RPC_URL override for Base mainnet only. Testnet must
254
712
  // not silently inherit a mainnet RPC from client/.env during bootstrap.
255
713
  if (env['JINN_RPC_URL']) {
@@ -266,18 +724,18 @@ export function loadConfig(configPath) {
266
724
  if (env['JINN_ARCHIVE_RPC_URL']) {
267
725
  merged.archiveRpcUrl = env['JINN_ARCHIVE_RPC_URL'];
268
726
  }
269
- // desiredStates from env points to a JSON file
270
- if (env['JINN_DESIRED_STATES']) {
271
- const statesPath = env['JINN_DESIRED_STATES'];
272
- if (!existsSync(statesPath)) {
273
- throw new ConfigLoadError('desired_states_file_not_found', `JINN_DESIRED_STATES file not found: ${statesPath}`, { path: statesPath });
727
+ // tasks from env points to a JSON file
728
+ if (env['JINN_TASKS']) {
729
+ const tasksPath = env['JINN_TASKS'];
730
+ if (!existsSync(tasksPath)) {
731
+ throw new ConfigLoadError('tasks_file_not_found', `JINN_TASKS file not found: ${tasksPath}`, { path: tasksPath });
274
732
  }
275
733
  try {
276
- merged.desiredStates = JSON.parse(readFileSync(statesPath, 'utf-8'));
734
+ merged.tasks = JSON.parse(readFileSync(tasksPath, 'utf-8'));
277
735
  }
278
736
  catch (error) {
279
- throw new ConfigLoadError('desired_states_json_invalid', `Invalid JSON in JINN_DESIRED_STATES file: ${statesPath}`, {
280
- path: statesPath,
737
+ throw new ConfigLoadError('tasks_json_invalid', `Invalid JSON in JINN_TASKS file: ${tasksPath}`, {
738
+ path: tasksPath,
281
739
  cause: error instanceof Error ? error.message : String(error),
282
740
  });
283
741
  }
@@ -300,8 +758,8 @@ export function loadConfig(configPath) {
300
758
  return {
301
759
  ...parsed,
302
760
  rpcUrl: parsed.rpcUrl ?? defaultRpcUrl,
303
- // parseDesiredState assigns a UUID to any entry missing an id
304
- desiredStates: parsed.desiredStates.map(parseDesiredState),
761
+ // parseTask assigns a UUID to any entry missing an id
762
+ tasks: parsed.tasks.map(parseTask),
305
763
  engine: {
306
764
  workingDirRoot: parsed.engine?.workingDirRoot ?? DEFAULT_ENGINE.workingDirRoot,
307
765
  implStateDirRoot: parsed.engine?.implStateDirRoot ?? DEFAULT_ENGINE.implStateDirRoot,
@@ -315,4 +773,115 @@ export function getConfigPathFromArgs(argv = process.argv) {
315
773
  const idx = argv.indexOf('--config');
316
774
  return idx >= 0 && argv[idx + 1] ? argv[idx + 1] : undefined;
317
775
  }
776
+ /**
777
+ * Merge one top-level value into the operator config file. Used by local setup
778
+ * flows that discover a durable setting after the daemon has already started.
779
+ */
780
+ export function persistTopLevelConfigValue(key, value, configPath) {
781
+ const filePath = configPath ?? DEFAULT_CONFIG_PATH;
782
+ let current = {};
783
+ if (existsSync(filePath)) {
784
+ current = JSON.parse(readFileSync(filePath, 'utf-8'));
785
+ }
786
+ else {
787
+ mkdirSync(dirname(filePath), { recursive: true });
788
+ }
789
+ current[key] = value;
790
+ writeFileSync(filePath, `${JSON.stringify(current, null, 2)}\n`, 'utf-8');
791
+ return filePath;
792
+ }
793
+ // ── Config provenance ────────────────────────────────────────────────────────
794
+ /**
795
+ * Env var names that map to JinnConfig fields (excluding password and
796
+ * security-sensitive vars that must never be surfaced even redacted).
797
+ *
798
+ * The list mirrors the `merged.*` assignments in `loadConfig` above.
799
+ * JINN_PASSWORD is intentionally absent — never list it.
800
+ */
801
+ const TRACKED_ENV_VARS = [
802
+ 'JINN_NETWORK',
803
+ 'JINN_EARNING_DIR',
804
+ 'JINN_DB_PATH',
805
+ 'JINN_POLL_INTERVAL_MS',
806
+ 'JINN_REWARD_CLAIM_INTERVAL_MS',
807
+ 'JINN_BALANCE_TOPUP_INTERVAL_MS',
808
+ 'JINN_API_PORT',
809
+ 'JINN_API_BIND_HOST',
810
+ 'JINN_CLAUDE_PATH',
811
+ 'JINN_CLAUDE_MODEL',
812
+ 'JINN_RUNTIME_MODE',
813
+ 'JINN_PEERS',
814
+ 'JINN_SUBGRAPH_URL',
815
+ 'JINN_NODE_ENDPOINT',
816
+ 'JINN_IPFS_REGISTRY_URL',
817
+ 'JINN_IPFS_GATEWAY_URL',
818
+ 'JINN_TESTNET_L2_DEPLOYMENT',
819
+ 'JINN_TESTNET_TOKEN_DEPLOYMENT',
820
+ 'JINN_TESTNET_MECH_DEPLOYMENT',
821
+ 'JINN_L2_PROOF_RPC_URL',
822
+ 'JINN_MVI_L1_DEPLOYMENT',
823
+ 'JINN_MVI_L2_DEPLOYMENT',
824
+ 'JINN_ETHEREUM_RPC_URL',
825
+ 'JINN_ETHEREUM_ARCHIVE_RPC_URL',
826
+ 'JINN_L1_NETWORK',
827
+ 'JINN_DISTRIBUTOR_ADDRESS',
828
+ 'JINN_CLAIM_EMITTER_ADDRESS',
829
+ 'JINN_MESSENGER_ADDRESS',
830
+ 'JINN_MESSENGER_MODE',
831
+ 'JINN_CLAIM_LOOP_INTERVAL_MS',
832
+ 'JINN_STAKING_MODE',
833
+ 'JINN_TARGET_SERVICES',
834
+ 'JINN_DEBUG',
835
+ 'JINN_RUN_LEGACY_MIGRATIONS',
836
+ 'JINN_MASTER_ETH_DAILY_WEI',
837
+ 'JINN_MIN_EOA_GAS_WEI',
838
+ 'JINN_MIN_SAFE_ETH_WEI',
839
+ 'JINN_IDENTITY_REGISTRY_ADDRESS',
840
+ 'JINN_VALIDATION_REGISTRY_ADDRESS',
841
+ 'JINN_REPUTATION_ENABLED',
842
+ 'JINN_RPC_URL',
843
+ 'BASE_RPC_URL',
844
+ 'BASE_SEPOLIA_RPC_URL',
845
+ 'JINN_ARCHIVE_RPC_URL',
846
+ 'JINN_TASKS',
847
+ 'JINN_ENGINE_WORKING_DIR_ROOT',
848
+ 'JINN_ENGINE_IMPL_STATE_DIR_ROOT',
849
+ 'JINN_OPERATOR_PUBLIC_ENDPOINT',
850
+ 'JINN_OPERATOR_DEFAULT_PRICE_USDC',
851
+ 'JINN_OPERATOR_DONATION_ENABLED',
852
+ 'JINN_CAPTURES_LLM_PROXY_ENABLED',
853
+ 'JINN_CAPTURES_LLM_PROXY_PORT',
854
+ 'JINN_BUILD_COMMIT',
855
+ ];
856
+ /**
857
+ * Build a structured provenance block describing how the config was resolved.
858
+ *
859
+ * Pass the same `configPath` you passed to `loadConfig`, and the resulting
860
+ * `JinnConfig`. The helper inspects `process.env` to discover which tracked
861
+ * env vars were set; it never reads their values.
862
+ *
863
+ * @param configPath — the explicit config file path passed to `loadConfig`,
864
+ * or undefined if the default path was used.
865
+ * @param config — the resolved `JinnConfig` returned by `loadConfig`.
866
+ * @param env — defaults to `process.env`; inject in tests.
867
+ */
868
+ export function buildConfigProvenance(configPath, config, env = process.env) {
869
+ const filePath = configPath ?? DEFAULT_CONFIG_PATH;
870
+ const configLoaded = existsSync(filePath);
871
+ const envOverrides = {};
872
+ for (const name of TRACKED_ENV_VARS) {
873
+ if (env[name] !== undefined) {
874
+ envOverrides[name] = 'set';
875
+ }
876
+ }
877
+ return {
878
+ configPath: configLoaded ? filePath : null,
879
+ configLoaded,
880
+ network: config.network,
881
+ earningDir: config.earningDir,
882
+ dbPath: config.dbPath,
883
+ runtimeMode: config.runtimeMode ?? null,
884
+ envOverrides,
885
+ };
886
+ }
318
887
  //# sourceMappingURL=config.js.map