@jinn-network/client 0.1.8 → 0.1.9-canary.01623b98

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 (877) hide show
  1. package/CONTRIBUTING.md +2 -2
  2. package/README.md +6 -0
  3. package/deployments/deployment-phase1b-mech-baseSepolia-fast.json +3 -3
  4. package/deployments/deployment-stolas-l2-baseSepolia-fast.json +23 -3
  5. package/deployments/deployment-task-coordinator-router-v3-baseSepolia-fast.json +34 -6
  6. package/dist/adapters/mech/adapter.d.ts +31 -1
  7. package/dist/adapters/mech/adapter.js +129 -54
  8. package/dist/adapters/mech/adapter.js.map +1 -1
  9. package/dist/adapters/mech/contracts.d.ts +174 -13
  10. package/dist/adapters/mech/contracts.js +99 -49
  11. package/dist/adapters/mech/contracts.js.map +1 -1
  12. package/dist/adapters/mech/safe-revert.d.ts +4 -0
  13. package/dist/adapters/mech/safe-revert.js +5 -1
  14. package/dist/adapters/mech/safe-revert.js.map +1 -1
  15. package/dist/adapters/mech/safe.js +77 -1
  16. package/dist/adapters/mech/safe.js.map +1 -1
  17. package/dist/adapters/mech/types.d.ts +5 -130
  18. package/dist/adapters/mech/types.js +9 -65
  19. package/dist/adapters/mech/types.js.map +1 -1
  20. package/dist/adapters/mech/verdict-code.js +1 -1
  21. package/dist/adapters/mech/verdict-code.js.map +1 -1
  22. package/dist/api/bootstrap-endpoint.d.ts +19 -3
  23. package/dist/api/bootstrap-endpoint.js +4 -0
  24. package/dist/api/bootstrap-endpoint.js.map +1 -1
  25. package/dist/api/discovery-endpoint.d.ts +1 -0
  26. package/dist/api/discovery-endpoint.js +24 -0
  27. package/dist/api/discovery-endpoint.js.map +1 -1
  28. package/dist/api/fleet-build.d.ts +1 -7
  29. package/dist/api/fleet-build.js +0 -7
  30. package/dist/api/fleet-build.js.map +1 -1
  31. package/dist/api/gather-status.d.ts +49 -17
  32. package/dist/api/gather-status.js +94 -530
  33. package/dist/api/gather-status.js.map +1 -1
  34. package/dist/api/harness-auth-status-endpoint.d.ts +21 -0
  35. package/dist/api/harness-auth-status-endpoint.js +17 -0
  36. package/dist/api/harness-auth-status-endpoint.js.map +1 -0
  37. package/dist/api/launcher-endpoints.js +6 -1
  38. package/dist/api/launcher-endpoints.js.map +1 -1
  39. package/dist/api/launcher-status.d.ts +2 -0
  40. package/dist/api/launcher-status.js.map +1 -1
  41. package/dist/api/launcher-tasks.d.ts +47 -0
  42. package/dist/api/launcher-tasks.js +88 -3
  43. package/dist/api/launcher-tasks.js.map +1 -1
  44. package/dist/api/loop-completion-build.d.ts +79 -0
  45. package/dist/api/loop-completion-build.js +154 -0
  46. package/dist/api/loop-completion-build.js.map +1 -0
  47. package/dist/api/operator-artifacts-endpoint.js +1 -1
  48. package/dist/api/operator-artifacts-endpoint.js.map +1 -1
  49. package/dist/api/portfolio-v0-build.d.ts +2 -1
  50. package/dist/api/portfolio-v0-build.js +5 -7
  51. package/dist/api/portfolio-v0-build.js.map +1 -1
  52. package/dist/api/prediction-v1-build.d.ts +2 -2
  53. package/dist/api/prediction-v1-build.js +5 -7
  54. package/dist/api/prediction-v1-build.js.map +1 -1
  55. package/dist/api/rewards-build.d.ts +8 -1
  56. package/dist/api/rewards-build.js +32 -4
  57. package/dist/api/rewards-build.js.map +1 -1
  58. package/dist/api/rewards-endpoint.d.ts +12 -0
  59. package/dist/api/rewards-endpoint.js +46 -0
  60. package/dist/api/rewards-endpoint.js.map +1 -0
  61. package/dist/api/run-outcome.d.ts +49 -0
  62. package/dist/api/run-outcome.js +65 -0
  63. package/dist/api/run-outcome.js.map +1 -0
  64. package/dist/api/server.d.ts +6 -16
  65. package/dist/api/server.js +36 -26
  66. package/dist/api/server.js.map +1 -1
  67. package/dist/api/setup-endpoints.d.ts +45 -0
  68. package/dist/api/setup-endpoints.js +271 -52
  69. package/dist/api/setup-endpoints.js.map +1 -1
  70. package/dist/api/solvernets-endpoints.js +4 -1
  71. package/dist/api/solvernets-endpoints.js.map +1 -1
  72. package/dist/api/status-build.d.ts +71 -94
  73. package/dist/api/status-build.js +12 -81
  74. package/dist/api/status-build.js.map +1 -1
  75. package/dist/api/status-rollup-build.d.ts +0 -4
  76. package/dist/api/status-rollup-build.js +0 -4
  77. package/dist/api/status-rollup-build.js.map +1 -1
  78. package/dist/api/stop-hook.d.ts +1 -1
  79. package/dist/api/stop-hook.js +1 -1
  80. package/dist/api/stop-hook.js.map +1 -1
  81. package/dist/api/task-run-routing.d.ts +1 -1
  82. package/dist/api/task-runs-build.d.ts +21 -2
  83. package/dist/api/task-runs-build.js +27 -7
  84. package/dist/api/task-runs-build.js.map +1 -1
  85. package/dist/bin/jinn-distill-mcp.js +813 -0
  86. package/dist/bin/jinn-layer.js +14057 -0
  87. package/dist/build-info.json +4 -4
  88. package/dist/build-meta.json +1 -1
  89. package/dist/captures/distil-export.d.ts +54 -0
  90. package/dist/captures/distil-export.js +135 -0
  91. package/dist/captures/distil-export.js.map +1 -0
  92. package/dist/captures/ingest.d.ts +21 -0
  93. package/dist/captures/ingest.js +144 -0
  94. package/dist/captures/ingest.js.map +1 -0
  95. package/dist/captures/live-publisher.d.ts +9 -0
  96. package/dist/captures/live-publisher.js +5 -3
  97. package/dist/captures/live-publisher.js.map +1 -1
  98. package/dist/captures/publish.d.ts +15 -0
  99. package/dist/captures/publish.js +17 -7
  100. package/dist/captures/publish.js.map +1 -1
  101. package/dist/cli/commands/codedigest-revert-check.js +6 -2
  102. package/dist/cli/commands/codedigest-revert-check.js.map +1 -1
  103. package/dist/cli/commands/doctor.d.ts +3 -0
  104. package/dist/cli/commands/doctor.js +36 -4
  105. package/dist/cli/commands/doctor.js.map +1 -1
  106. package/dist/cli/commands/eval.d.ts +87 -0
  107. package/dist/cli/commands/eval.js +481 -0
  108. package/dist/cli/commands/eval.js.map +1 -0
  109. package/dist/cli/commands/rewards.d.ts +2 -0
  110. package/dist/cli/commands/rewards.js +39 -10
  111. package/dist/cli/commands/rewards.js.map +1 -1
  112. package/dist/cli/commands/solver-nets.d.ts +6 -0
  113. package/dist/cli/commands/solver-nets.js +177 -0
  114. package/dist/cli/commands/solver-nets.js.map +1 -1
  115. package/dist/cli/commands/solver-plugins.js +2 -2
  116. package/dist/cli/commands/solver-plugins.js.map +1 -1
  117. package/dist/cli/commands/status.js +0 -1
  118. package/dist/cli/commands/status.js.map +1 -1
  119. package/dist/cli/commands/update.js +8 -0
  120. package/dist/cli/commands/update.js.map +1 -1
  121. package/dist/cli/commands/version.js +4 -0
  122. package/dist/cli/commands/version.js.map +1 -1
  123. package/dist/cli/execution-context.js +2 -1
  124. package/dist/cli/execution-context.js.map +1 -1
  125. package/dist/cli/index.js +2 -0
  126. package/dist/cli/index.js.map +1 -1
  127. package/dist/cli/introspection-context.js +0 -3
  128. package/dist/cli/introspection-context.js.map +1 -1
  129. package/dist/config.d.ts +235 -541
  130. package/dist/config.js +278 -197
  131. package/dist/config.js.map +1 -1
  132. package/dist/contracts/abis.d.ts +100 -0
  133. package/dist/contracts/abis.js +58 -0
  134. package/dist/contracts/abis.js.map +1 -0
  135. package/dist/contracts/addresses.d.ts +36 -0
  136. package/dist/contracts/addresses.js +60 -0
  137. package/dist/contracts/addresses.js.map +1 -0
  138. package/dist/corpus/acquire.d.ts +7 -6
  139. package/dist/corpus/acquire.js +10 -10
  140. package/dist/corpus/acquire.js.map +1 -1
  141. package/dist/corpus/fetch-artifact.d.ts +21 -0
  142. package/dist/corpus/fetch-artifact.js +33 -0
  143. package/dist/corpus/fetch-artifact.js.map +1 -0
  144. package/dist/corpus/index.d.ts +2 -2
  145. package/dist/corpus/onchain-query.d.ts +0 -1
  146. package/dist/corpus/onchain-query.js +2 -5
  147. package/dist/corpus/onchain-query.js.map +1 -1
  148. package/dist/corpus/route-resolver.d.ts +3 -3
  149. package/dist/corpus/route-resolver.js +3 -3
  150. package/dist/daemon/ai-units-gate.d.ts +6 -6
  151. package/dist/daemon/ai-units-gate.js +11 -10
  152. package/dist/daemon/ai-units-gate.js.map +1 -1
  153. package/dist/daemon/balance-topup-loop.js +27 -9
  154. package/dist/daemon/balance-topup-loop.js.map +1 -1
  155. package/dist/daemon/checkpoint-loop.js +2 -2
  156. package/dist/daemon/creator.d.ts +1 -0
  157. package/dist/daemon/creator.js +39 -25
  158. package/dist/daemon/creator.js.map +1 -1
  159. package/dist/daemon/daemon.d.ts +22 -10
  160. package/dist/daemon/daemon.js +133 -43
  161. package/dist/daemon/daemon.js.map +1 -1
  162. package/dist/daemon/delivery-watcher.d.ts +9 -0
  163. package/dist/daemon/delivery-watcher.js +24 -1
  164. package/dist/daemon/delivery-watcher.js.map +1 -1
  165. package/dist/daemon/eviction-loop.d.ts +10 -0
  166. package/dist/daemon/eviction-loop.js +22 -3
  167. package/dist/daemon/eviction-loop.js.map +1 -1
  168. package/dist/daemon/harvest-loop.d.ts +63 -0
  169. package/dist/daemon/harvest-loop.js +449 -0
  170. package/dist/daemon/harvest-loop.js.map +1 -0
  171. package/dist/daemon/join-applier.d.ts +35 -0
  172. package/dist/daemon/join-applier.js +49 -0
  173. package/dist/daemon/join-applier.js.map +1 -0
  174. package/dist/daemon/loop-heartbeat.d.ts +95 -0
  175. package/dist/daemon/loop-heartbeat.js +80 -0
  176. package/dist/daemon/loop-heartbeat.js.map +1 -0
  177. package/dist/{api/peers.js → daemon/peer-sync.js} +3 -1
  178. package/dist/daemon/peer-sync.js.map +1 -0
  179. package/dist/daemon/reward-claim-loop.js +28 -10
  180. package/dist/daemon/reward-claim-loop.js.map +1 -1
  181. package/dist/daemon/skip-log-dedup.d.ts +1 -1
  182. package/dist/daemon/skip-log-dedup.js +3 -0
  183. package/dist/daemon/skip-log-dedup.js.map +1 -1
  184. package/dist/daemon/spend-cap-gate.d.ts +0 -6
  185. package/dist/daemon/spend-cap-gate.js +1 -8
  186. package/dist/daemon/spend-cap-gate.js.map +1 -1
  187. package/dist/daemon/watchdog-loop.d.ts +84 -0
  188. package/dist/daemon/watchdog-loop.js +91 -0
  189. package/dist/daemon/watchdog-loop.js.map +1 -0
  190. package/dist/dashboard/assets/index-CwclFsAm.js +95 -0
  191. package/dist/dashboard/assets/index-D7rvJRNa.css +1 -0
  192. package/dist/dashboard/index.html +2 -2
  193. package/dist/discovery/http.d.ts +17 -0
  194. package/dist/discovery/http.js +459 -26
  195. package/dist/discovery/http.js.map +1 -1
  196. package/dist/discovery/onchain.js +185 -10
  197. package/dist/discovery/onchain.js.map +1 -1
  198. package/dist/discovery/types.d.ts +188 -0
  199. package/dist/discovery/types.js +40 -0
  200. package/dist/discovery/types.js.map +1 -1
  201. package/dist/discovery/with-fallback.js +33 -0
  202. package/dist/discovery/with-fallback.js.map +1 -1
  203. package/dist/earning/bootstrap-run.d.ts +25 -0
  204. package/dist/earning/bootstrap-run.js +315 -0
  205. package/dist/earning/bootstrap-run.js.map +1 -0
  206. package/dist/earning/bootstrap.d.ts +31 -11
  207. package/dist/earning/bootstrap.js +124 -223
  208. package/dist/earning/bootstrap.js.map +1 -1
  209. package/dist/earning/contracts.d.ts +2 -232
  210. package/dist/earning/contracts.js +16 -205
  211. package/dist/earning/contracts.js.map +1 -1
  212. package/dist/earning/faucet-topup-store.d.ts +41 -0
  213. package/dist/earning/faucet-topup-store.js +89 -0
  214. package/dist/earning/faucet-topup-store.js.map +1 -0
  215. package/dist/earning/faucet.d.ts +1 -1
  216. package/dist/earning/faucet.js +2 -2
  217. package/dist/earning/faucet.js.map +1 -1
  218. package/dist/earning/master-gas.d.ts +10 -0
  219. package/dist/earning/master-gas.js +11 -0
  220. package/dist/earning/master-gas.js.map +1 -0
  221. package/dist/earning/safe-adapter.js +12 -45
  222. package/dist/earning/safe-adapter.js.map +1 -1
  223. package/dist/earning/steps/context.d.ts +42 -0
  224. package/dist/earning/steps/context.js +4 -0
  225. package/dist/earning/steps/context.js.map +1 -0
  226. package/dist/earning/steps/fleet-identity-register.d.ts +4 -0
  227. package/dist/earning/steps/fleet-identity-register.js +65 -0
  228. package/dist/earning/steps/fleet-identity-register.js.map +1 -0
  229. package/dist/earning/steps/fleet-safe-deploy.d.ts +4 -0
  230. package/dist/earning/steps/fleet-safe-deploy.js +62 -0
  231. package/dist/earning/steps/fleet-safe-deploy.js.map +1 -0
  232. package/dist/earning/steps/fleet-safe-predict.d.ts +4 -0
  233. package/dist/earning/steps/fleet-safe-predict.js +18 -0
  234. package/dist/earning/steps/fleet-safe-predict.js.map +1 -0
  235. package/dist/earning/steps/receipt-parsing.d.ts +12 -0
  236. package/dist/earning/steps/receipt-parsing.js +71 -0
  237. package/dist/earning/steps/receipt-parsing.js.map +1 -0
  238. package/dist/earning/stolas-claim.js +8 -8
  239. package/dist/earning/stolas-claim.js.map +1 -1
  240. package/dist/earning/{jinn-rewards.d.ts → stolas-staking.d.ts} +4 -8
  241. package/dist/earning/{jinn-rewards.js → stolas-staking.js} +25 -23
  242. package/dist/earning/stolas-staking.js.map +1 -0
  243. package/dist/earning/testnet-setup-migration.d.ts +1 -0
  244. package/dist/earning/testnet-setup-migration.js +7 -2
  245. package/dist/earning/testnet-setup-migration.js.map +1 -1
  246. package/dist/earning/types.d.ts +9 -9
  247. package/dist/earning/types.js +1 -1
  248. package/dist/earning/types.js.map +1 -1
  249. package/dist/earning/viem-clients.d.ts +3 -19
  250. package/dist/earning/viem-clients.js +4 -31
  251. package/dist/earning/viem-clients.js.map +1 -1
  252. package/dist/erc8004/addresses.d.ts +6 -5
  253. package/dist/erc8004/addresses.js +7 -5
  254. package/dist/erc8004/addresses.js.map +1 -1
  255. package/dist/erc8004/identity.d.ts +12 -1
  256. package/dist/erc8004/identity.js +31 -0
  257. package/dist/erc8004/identity.js.map +1 -1
  258. package/dist/erc8004/index.d.ts +1 -1
  259. package/dist/erc8004/index.js +1 -1
  260. package/dist/erc8004/index.js.map +1 -1
  261. package/dist/erc8004/reputation.js +16 -12
  262. package/dist/erc8004/reputation.js.map +1 -1
  263. package/dist/erc8004/validation.js +5 -4
  264. package/dist/erc8004/validation.js.map +1 -1
  265. package/dist/eval/capability-slate.d.ts +54 -0
  266. package/dist/eval/capability-slate.js +116 -0
  267. package/dist/eval/capability-slate.js.map +1 -0
  268. package/dist/eval/capability-stats.d.ts +39 -0
  269. package/dist/eval/capability-stats.js +123 -0
  270. package/dist/eval/capability-stats.js.map +1 -0
  271. package/dist/eval/contested-band.d.ts +18 -0
  272. package/dist/eval/contested-band.js +19 -0
  273. package/dist/eval/contested-band.js.map +1 -0
  274. package/dist/eval/corpus-index.d.ts +21 -0
  275. package/dist/eval/corpus-index.js +55 -0
  276. package/dist/eval/corpus-index.js.map +1 -0
  277. package/dist/eval/disjointness.d.ts +26 -0
  278. package/dist/eval/disjointness.js +67 -0
  279. package/dist/eval/disjointness.js.map +1 -0
  280. package/dist/eval/eval-harness-run.d.ts +63 -0
  281. package/dist/eval/eval-harness-run.js +123 -0
  282. package/dist/eval/eval-harness-run.js.map +1 -0
  283. package/dist/eval/mcnemar-power.d.ts +14 -0
  284. package/dist/eval/mcnemar-power.js +40 -0
  285. package/dist/eval/mcnemar-power.js.map +1 -0
  286. package/dist/eval/orchestrator.d.ts +224 -0
  287. package/dist/eval/orchestrator.js +250 -0
  288. package/dist/eval/orchestrator.js.map +1 -0
  289. package/dist/eval/paired.d.ts +68 -0
  290. package/dist/eval/paired.js +93 -0
  291. package/dist/eval/paired.js.map +1 -0
  292. package/dist/eval/resolve-slate-tasks.d.ts +35 -0
  293. package/dist/eval/resolve-slate-tasks.js +56 -0
  294. package/dist/eval/resolve-slate-tasks.js.map +1 -0
  295. package/dist/eval/screen-discovery.d.ts +22 -0
  296. package/dist/eval/screen-discovery.js +71 -0
  297. package/dist/eval/screen-discovery.js.map +1 -0
  298. package/dist/eval/screen-progress.d.ts +41 -0
  299. package/dist/eval/screen-progress.js +60 -0
  300. package/dist/eval/screen-progress.js.map +1 -0
  301. package/dist/eval/screen-runner.d.ts +30 -0
  302. package/dist/eval/screen-runner.js +289 -0
  303. package/dist/eval/screen-runner.js.map +1 -0
  304. package/dist/eval/screen.d.ts +107 -0
  305. package/dist/eval/screen.js +159 -0
  306. package/dist/eval/screen.js.map +1 -0
  307. package/dist/eval/slope.d.ts +29 -0
  308. package/dist/eval/slope.js +46 -0
  309. package/dist/eval/slope.js.map +1 -0
  310. package/dist/eval/train-sequence.d.ts +35 -0
  311. package/dist/eval/train-sequence.js +59 -0
  312. package/dist/eval/train-sequence.js.map +1 -0
  313. package/dist/eval/wilson.d.ts +45 -0
  314. package/dist/eval/wilson.js +48 -0
  315. package/dist/eval/wilson.js.map +1 -0
  316. package/dist/events/types.d.ts +1 -1
  317. package/dist/events/types.js +1 -1
  318. package/dist/events/types.js.map +1 -1
  319. package/dist/harnesses/auth-source.d.ts +51 -0
  320. package/dist/harnesses/auth-source.js +155 -0
  321. package/dist/harnesses/auth-source.js.map +1 -0
  322. package/dist/harnesses/engine/canonical-json.js +5 -3
  323. package/dist/harnesses/engine/canonical-json.js.map +1 -1
  324. package/dist/harnesses/engine/engine.d.ts +40 -1
  325. package/dist/harnesses/engine/engine.js +100 -11
  326. package/dist/harnesses/engine/engine.js.map +1 -1
  327. package/dist/harnesses/engine/packaging.js +5 -5
  328. package/dist/harnesses/engine/packaging.js.map +1 -1
  329. package/dist/harnesses/engine/persistence.d.ts +19 -61
  330. package/dist/harnesses/engine/persistence.js +28 -0
  331. package/dist/harnesses/engine/persistence.js.map +1 -1
  332. package/dist/harnesses/impls/_evaluator-base.d.ts +48 -0
  333. package/dist/harnesses/impls/_evaluator-base.js +35 -0
  334. package/dist/harnesses/impls/_evaluator-base.js.map +1 -0
  335. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.d.ts +1 -1
  336. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js +1 -1
  337. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js.map +1 -1
  338. package/dist/harnesses/impls/claude-mcp-prediction/index.d.ts +2 -3
  339. package/dist/harnesses/impls/claude-mcp-prediction/index.js +29 -99
  340. package/dist/harnesses/impls/claude-mcp-prediction/index.js.map +1 -1
  341. package/dist/harnesses/impls/claude-mcp-prediction/mcp-tools.js +4 -21
  342. package/dist/harnesses/impls/claude-mcp-prediction/mcp-tools.js.map +1 -1
  343. package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.d.ts +2 -0
  344. package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.js +1 -1
  345. package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.js.map +1 -1
  346. package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js +30 -79
  347. package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js.map +1 -1
  348. package/dist/harnesses/impls/claude-mcp-prediction-apy/mcp-tools.js +4 -19
  349. package/dist/harnesses/impls/claude-mcp-prediction-apy/mcp-tools.js.map +1 -1
  350. package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.d.ts +2 -0
  351. package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.js +1 -1
  352. package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.js.map +1 -1
  353. package/dist/harnesses/impls/claude-mcp-shared/mcp-server-script.d.ts +39 -0
  354. package/dist/harnesses/impls/claude-mcp-shared/mcp-server-script.js +62 -0
  355. package/dist/harnesses/impls/claude-mcp-shared/mcp-server-script.js.map +1 -0
  356. package/dist/harnesses/impls/claude-mcp-shared/mcp-server.d.ts +40 -0
  357. package/dist/harnesses/impls/claude-mcp-shared/mcp-server.js +44 -0
  358. package/dist/harnesses/impls/claude-mcp-shared/mcp-server.js.map +1 -0
  359. package/dist/harnesses/impls/claude-mcp-shared/single-session-harness.d.ts +56 -0
  360. package/dist/harnesses/impls/claude-mcp-shared/single-session-harness.js +79 -0
  361. package/dist/harnesses/impls/claude-mcp-shared/single-session-harness.js.map +1 -0
  362. package/dist/harnesses/impls/hermes-agent/adapter.d.ts +2 -0
  363. package/dist/harnesses/impls/hermes-agent/adapter.js +9 -6
  364. package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
  365. package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +1 -0
  366. package/dist/harnesses/impls/hermes-agent/bootstrap.js +6 -1
  367. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  368. package/dist/harnesses/impls/hermes-agent/harness.d.ts +25 -3
  369. package/dist/harnesses/impls/hermes-agent/harness.js +89 -5
  370. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  371. package/dist/harnesses/impls/index.d.ts +2 -0
  372. package/dist/harnesses/impls/index.js +10 -1
  373. package/dist/harnesses/impls/index.js.map +1 -1
  374. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.d.ts +34 -0
  375. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js +111 -0
  376. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js.map +1 -0
  377. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.d.ts +24 -0
  378. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js +19 -0
  379. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js.map +1 -0
  380. package/dist/harnesses/impls/jinn-repo-evaluator/harness.d.ts +64 -0
  381. package/dist/harnesses/impls/jinn-repo-evaluator/harness.js +125 -0
  382. package/dist/harnesses/impls/jinn-repo-evaluator/harness.js.map +1 -0
  383. package/dist/harnesses/impls/jinn-repo-evaluator/repro.d.ts +32 -0
  384. package/dist/harnesses/impls/jinn-repo-evaluator/repro.js +73 -0
  385. package/dist/harnesses/impls/jinn-repo-evaluator/repro.js.map +1 -0
  386. package/dist/harnesses/impls/learner/adapters/claude-code.js +5 -0
  387. package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
  388. package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +11 -1
  389. package/dist/harnesses/impls/learner/adapters/codex-code.js +130 -15
  390. package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
  391. package/dist/harnesses/impls/learner/harness.d.ts +29 -1
  392. package/dist/harnesses/impls/learner/harness.js +93 -1
  393. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  394. package/dist/harnesses/impls/learner/harvest.d.ts +2 -0
  395. package/dist/harnesses/impls/learner/harvest.js +51 -1
  396. package/dist/harnesses/impls/learner/harvest.js.map +1 -1
  397. package/dist/harnesses/impls/learner/plugin-path.js +1 -0
  398. package/dist/harnesses/impls/learner/plugin-path.js.map +1 -1
  399. package/dist/harnesses/impls/portfolio-v0-evaluator/index.d.ts +5 -15
  400. package/dist/harnesses/impls/portfolio-v0-evaluator/index.js +10 -29
  401. package/dist/harnesses/impls/portfolio-v0-evaluator/index.js.map +1 -1
  402. package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.d.ts +5 -15
  403. package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.js +10 -23
  404. package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.js.map +1 -1
  405. package/dist/harnesses/impls/prediction-v0-evaluator/index.d.ts +5 -15
  406. package/dist/harnesses/impls/prediction-v0-evaluator/index.js +10 -25
  407. package/dist/harnesses/impls/prediction-v0-evaluator/index.js.map +1 -1
  408. package/dist/harnesses/impls/stub.d.ts +2 -2
  409. package/dist/harnesses/impls/stub.js +2 -2
  410. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +16 -2
  411. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
  412. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.d.ts +50 -6
  413. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +505 -35
  414. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
  415. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +2 -2
  416. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +3 -1
  417. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
  418. package/dist/harnesses/impls/swe-rebench-v2-evaluator/routing-task-row-fetcher.d.ts +37 -0
  419. package/dist/harnesses/impls/swe-rebench-v2-evaluator/routing-task-row-fetcher.js +59 -0
  420. package/dist/harnesses/impls/swe-rebench-v2-evaluator/routing-task-row-fetcher.js.map +1 -0
  421. package/dist/harnesses/readiness-registry.d.ts +16 -0
  422. package/dist/harnesses/readiness-registry.js +28 -6
  423. package/dist/harnesses/readiness-registry.js.map +1 -1
  424. package/dist/harnesses/types.d.ts +26 -0
  425. package/dist/learner/revert-decision.d.ts +16 -1
  426. package/dist/learner/revert-decision.js +38 -18
  427. package/dist/learner/revert-decision.js.map +1 -1
  428. package/dist/learner/revert-stats.d.ts +14 -0
  429. package/dist/learner/revert-stats.js +42 -0
  430. package/dist/learner/revert-stats.js.map +1 -1
  431. package/dist/learner/verification-gate.d.ts +53 -0
  432. package/dist/learner/verification-gate.js +80 -0
  433. package/dist/learner/verification-gate.js.map +1 -0
  434. package/dist/local-provider-url.d.ts +3 -0
  435. package/dist/local-provider-url.js +28 -0
  436. package/dist/local-provider-url.js.map +1 -0
  437. package/dist/main.js +236 -569
  438. package/dist/main.js.map +1 -1
  439. package/dist/mcp/acquire-artifact.d.ts +3 -3
  440. package/dist/mcp/acquire-artifact.js +3 -3
  441. package/dist/mcp/operator-server.js +1 -1
  442. package/dist/mcp/operator-server.js.map +1 -1
  443. package/dist/mcp/server.js +5 -6
  444. package/dist/mcp/server.js.map +1 -1
  445. package/dist/monitoring/net-liveness.d.ts +143 -0
  446. package/dist/monitoring/net-liveness.js +301 -0
  447. package/dist/monitoring/net-liveness.js.map +1 -0
  448. package/dist/observability/emit-event.d.ts +1 -1
  449. package/dist/observability/emit-event.js +1 -4
  450. package/dist/observability/emit-event.js.map +1 -1
  451. package/dist/observability/progress.d.ts +11 -0
  452. package/dist/observability/progress.js +16 -0
  453. package/dist/observability/progress.js.map +1 -0
  454. package/dist/pilot/arm-homes.d.ts +39 -0
  455. package/dist/pilot/arm-homes.js +104 -0
  456. package/dist/pilot/arm-homes.js.map +1 -0
  457. package/dist/pilot/cost.d.ts +19 -0
  458. package/dist/pilot/cost.js +31 -0
  459. package/dist/pilot/cost.js.map +1 -0
  460. package/dist/pilot/instance.d.ts +26 -0
  461. package/dist/pilot/instance.js +53 -0
  462. package/dist/pilot/instance.js.map +1 -0
  463. package/dist/pilot/pipeline.d.ts +17 -0
  464. package/dist/pilot/pipeline.js +35 -0
  465. package/dist/pilot/pipeline.js.map +1 -0
  466. package/dist/pilot/repo.d.ts +37 -0
  467. package/dist/pilot/repo.js +65 -0
  468. package/dist/pilot/repo.js.map +1 -0
  469. package/dist/pilot/resume.d.ts +101 -0
  470. package/dist/pilot/resume.js +204 -0
  471. package/dist/pilot/resume.js.map +1 -0
  472. package/dist/pilot/solve.d.ts +23 -0
  473. package/dist/pilot/solve.js +37 -0
  474. package/dist/pilot/solve.js.map +1 -0
  475. package/dist/pilot/tally.d.ts +42 -0
  476. package/dist/pilot/tally.js +100 -0
  477. package/dist/pilot/tally.js.map +1 -0
  478. package/dist/pilot/task-selection.d.ts +27 -0
  479. package/dist/pilot/task-selection.js +112 -0
  480. package/dist/pilot/task-selection.js.map +1 -0
  481. package/dist/plugins/learner/.claude-plugin/plugin.json +1 -1
  482. package/dist/plugins/learner/.codex-plugin/plugin.json +1 -1
  483. package/dist/plugins/learner/hooks/session-start +30 -1
  484. package/dist/plugins/learner/skills/learn/consolidator-prompt.md +4 -0
  485. package/dist/plugins/local-trace-distiller/.claude-plugin/plugin.json +9 -0
  486. package/dist/plugins/local-trace-distiller/.codex-plugin/plugin.json +41 -0
  487. package/dist/plugins/local-trace-distiller/.mcp.json +8 -0
  488. package/dist/plugins/local-trace-distiller/README.md +27 -0
  489. package/dist/plugins/local-trace-distiller/jinn.plugin.json +36 -0
  490. package/dist/plugins/local-trace-distiller/skills/distill/SKILL.md +51 -0
  491. package/dist/plugins/resolvers.js +7 -4
  492. package/dist/plugins/resolvers.js.map +1 -1
  493. package/dist/plugins/types.d.ts +8 -0
  494. package/dist/preflight/deployment-readiness.d.ts +127 -0
  495. package/dist/preflight/deployment-readiness.js +308 -0
  496. package/dist/preflight/deployment-readiness.js.map +1 -0
  497. package/dist/preflight/pidfile-liveness.d.ts +7 -1
  498. package/dist/preflight/pidfile-liveness.js +14 -0
  499. package/dist/preflight/pidfile-liveness.js.map +1 -1
  500. package/dist/preflight/rpc-network.d.ts +10 -3
  501. package/dist/preflight/rpc-network.js +46 -13
  502. package/dist/preflight/rpc-network.js.map +1 -1
  503. package/dist/preflight/stable-cwd.d.ts +29 -0
  504. package/dist/preflight/stable-cwd.js +98 -0
  505. package/dist/preflight/stable-cwd.js.map +1 -0
  506. package/dist/rpc/transport.d.ts +43 -5
  507. package/dist/rpc/transport.js +131 -30
  508. package/dist/rpc/transport.js.map +1 -1
  509. package/dist/scripts/swe-rebench-v2-evaluator.bundle.v1.patch +79 -0
  510. package/dist/scripts/swe-rebench-v2-seed-pool.json +2 -1
  511. package/dist/solver-nets/registry.d.ts +19 -0
  512. package/dist/solver-nets/registry.js +95 -66
  513. package/dist/solver-nets/registry.js.map +1 -1
  514. package/dist/solver-types/_jinn-repo-pool.d.ts +27 -0
  515. package/dist/solver-types/_jinn-repo-pool.js +27 -0
  516. package/dist/solver-types/_jinn-repo-pool.js.map +1 -0
  517. package/dist/solver-types/_swe-rebench-v2-commit-echo-git.d.ts +46 -0
  518. package/dist/solver-types/_swe-rebench-v2-commit-echo-git.js +192 -0
  519. package/dist/solver-types/_swe-rebench-v2-commit-echo-git.js.map +1 -0
  520. package/dist/solver-types/_swe-rebench-v2-commit-echo.d.ts +57 -0
  521. package/dist/solver-types/_swe-rebench-v2-commit-echo.js +57 -0
  522. package/dist/solver-types/_swe-rebench-v2-commit-echo.js.map +1 -0
  523. package/dist/solver-types/_swe-rebench-v2-differential-admission.d.ts +395 -0
  524. package/dist/solver-types/_swe-rebench-v2-differential-admission.js +231 -0
  525. package/dist/solver-types/_swe-rebench-v2-differential-admission.js.map +1 -0
  526. package/dist/solver-types/_swe-rebench-v2-empirical-tests.d.ts +47 -0
  527. package/dist/solver-types/_swe-rebench-v2-empirical-tests.js +67 -0
  528. package/dist/solver-types/_swe-rebench-v2-empirical-tests.js.map +1 -0
  529. package/dist/solver-types/_swe-rebench-v2-escrow.d.ts +2 -0
  530. package/dist/solver-types/_swe-rebench-v2-escrow.js +13 -0
  531. package/dist/solver-types/_swe-rebench-v2-escrow.js.map +1 -1
  532. package/dist/solver-types/_swe-rebench-v2-guards.d.ts +42 -0
  533. package/dist/solver-types/_swe-rebench-v2-guards.js +111 -0
  534. package/dist/solver-types/_swe-rebench-v2-guards.js.map +1 -0
  535. package/dist/solver-types/_swe-rebench-v2-harvest-state.d.ts +191 -0
  536. package/dist/solver-types/_swe-rebench-v2-harvest-state.js +349 -0
  537. package/dist/solver-types/_swe-rebench-v2-harvest-state.js.map +1 -0
  538. package/dist/solver-types/_swe-rebench-v2-harvest.d.ts +92 -0
  539. package/dist/solver-types/_swe-rebench-v2-harvest.js +456 -0
  540. package/dist/solver-types/_swe-rebench-v2-harvest.js.map +1 -0
  541. package/dist/solver-types/_swe-rebench-v2-held-out-slate.d.ts +76 -0
  542. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js +156 -0
  543. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js.map +1 -0
  544. package/dist/solver-types/_swe-rebench-v2-hunk-echo.d.ts +28 -0
  545. package/dist/solver-types/_swe-rebench-v2-hunk-echo.js +32 -0
  546. package/dist/solver-types/_swe-rebench-v2-hunk-echo.js.map +1 -0
  547. package/dist/solver-types/_swe-rebench-v2-lookup-tripwire.d.ts +16 -0
  548. package/dist/solver-types/_swe-rebench-v2-lookup-tripwire.js +18 -0
  549. package/dist/solver-types/_swe-rebench-v2-lookup-tripwire.js.map +1 -0
  550. package/dist/solver-types/_swe-rebench-v2-mint-cli.d.ts +73 -0
  551. package/dist/solver-types/_swe-rebench-v2-mint-cli.js +388 -0
  552. package/dist/solver-types/_swe-rebench-v2-mint-cli.js.map +1 -0
  553. package/dist/solver-types/_swe-rebench-v2-minted-environment-verifier.d.ts +25 -0
  554. package/dist/solver-types/_swe-rebench-v2-minted-environment-verifier.js +101 -0
  555. package/dist/solver-types/_swe-rebench-v2-minted-environment-verifier.js.map +1 -0
  556. package/dist/solver-types/_swe-rebench-v2-minted-pool.d.ts +144 -0
  557. package/dist/solver-types/_swe-rebench-v2-minted-pool.js +353 -0
  558. package/dist/solver-types/_swe-rebench-v2-minted-pool.js.map +1 -0
  559. package/dist/solver-types/_swe-rebench-v2-pool-recovery.d.ts +81 -0
  560. package/dist/solver-types/_swe-rebench-v2-pool-recovery.js +116 -0
  561. package/dist/solver-types/_swe-rebench-v2-pool-recovery.js.map +1 -0
  562. package/dist/solver-types/_swe-rebench-v2-state.d.ts +9 -0
  563. package/dist/solver-types/_swe-rebench-v2-state.js +14 -0
  564. package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
  565. package/dist/solver-types/_swe-rebench-v2-substrate.d.ts +11 -0
  566. package/dist/solver-types/_swe-rebench-v2-substrate.js +24 -0
  567. package/dist/solver-types/_swe-rebench-v2-substrate.js.map +1 -1
  568. package/dist/solver-types/_swe-rebench-v2-synthetic-claim.d.ts +9 -0
  569. package/dist/solver-types/_swe-rebench-v2-synthetic-claim.js +16 -0
  570. package/dist/solver-types/_swe-rebench-v2-synthetic-claim.js.map +1 -0
  571. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +88 -1
  572. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +202 -14
  573. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  574. package/dist/solver-types/_swe-rebench-v2-yield-report-data.d.ts +5 -0
  575. package/dist/solver-types/_swe-rebench-v2-yield-report-data.js +16 -0
  576. package/dist/solver-types/_swe-rebench-v2-yield-report-data.js.map +1 -0
  577. package/dist/solver-types/_swe-rebench-v2-yield.d.ts +51 -0
  578. package/dist/solver-types/_swe-rebench-v2-yield.js +53 -0
  579. package/dist/solver-types/_swe-rebench-v2-yield.js.map +1 -0
  580. package/dist/solver-types/index.js +2 -0
  581. package/dist/solver-types/index.js.map +1 -1
  582. package/dist/solver-types/jinn-repo-admit.d.ts +17 -0
  583. package/dist/solver-types/jinn-repo-admit.js +16 -0
  584. package/dist/solver-types/jinn-repo-admit.js.map +1 -0
  585. package/dist/solver-types/jinn-repo-auto.d.ts +60 -0
  586. package/dist/solver-types/jinn-repo-auto.js +163 -0
  587. package/dist/solver-types/jinn-repo-auto.js.map +1 -0
  588. package/dist/solver-types/jinn-repo-definition.d.ts +15 -0
  589. package/dist/solver-types/jinn-repo-definition.js +34 -0
  590. package/dist/solver-types/jinn-repo-definition.js.map +1 -0
  591. package/dist/solver-types/jinn-repo-extract.d.ts +16 -0
  592. package/dist/solver-types/jinn-repo-extract.js +32 -0
  593. package/dist/solver-types/jinn-repo-extract.js.map +1 -0
  594. package/dist/solver-types/jinn-repo.d.ts +21 -0
  595. package/dist/solver-types/jinn-repo.js +23 -0
  596. package/dist/solver-types/jinn-repo.js.map +1 -0
  597. package/dist/solver-types/learner-loop-test.js +1 -1
  598. package/dist/solver-types/learner-loop-test.js.map +1 -1
  599. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v1.json +20 -0
  600. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.json +19 -0
  601. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.screening-report.json +628 -0
  602. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v3.json +34 -0
  603. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v3.quality-screen.json +186 -0
  604. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v3.screening-report.json +488 -0
  605. package/dist/solver-types/solver-type.d.ts +8 -0
  606. package/dist/solver-types/swe-rebench-v2-auto.d.ts +13 -0
  607. package/dist/solver-types/swe-rebench-v2-auto.js +36 -1
  608. package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
  609. package/dist/solver-types/swe-rebench-v2.d.ts +2 -0
  610. package/dist/solver-types/swe-rebench-v2.js +153 -12
  611. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  612. package/dist/solvernets/launched-record-dispatcher.d.ts +5 -0
  613. package/dist/solvernets/launched-record-dispatcher.js +14 -1
  614. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  615. package/dist/solvernets/registry-client-erc8004.js +29 -37
  616. package/dist/solvernets/registry-client-erc8004.js.map +1 -1
  617. package/dist/solvernets/registry-client.d.ts +6 -0
  618. package/dist/solvernets/store.d.ts +1 -1
  619. package/dist/solvernets/store.js +8 -3
  620. package/dist/solvernets/store.js.map +1 -1
  621. package/dist/spend/ai-units-config.d.ts +10 -0
  622. package/dist/spend/ai-units-config.js +7 -1
  623. package/dist/spend/ai-units-config.js.map +1 -1
  624. package/dist/spend/ai-units.d.ts +51 -0
  625. package/dist/spend/ai-units.js +73 -0
  626. package/dist/spend/ai-units.js.map +1 -1
  627. package/dist/spend/credential.d.ts +2 -2
  628. package/dist/spend/credential.js +9 -3
  629. package/dist/spend/credential.js.map +1 -1
  630. package/dist/spend/record.js +12 -5
  631. package/dist/spend/record.js.map +1 -1
  632. package/dist/spend/spend-cap.d.ts +10 -0
  633. package/dist/spend/spend-cap.js +13 -0
  634. package/dist/spend/spend-cap.js.map +1 -0
  635. package/dist/spend/usage.js +39 -3
  636. package/dist/spend/usage.js.map +1 -1
  637. package/dist/store/store.d.ts +106 -5
  638. package/dist/store/store.js +194 -8
  639. package/dist/store/store.js.map +1 -1
  640. package/dist/task-creator/environment/adapters.d.ts +139 -0
  641. package/dist/task-creator/environment/adapters.js +446 -0
  642. package/dist/task-creator/environment/adapters.js.map +1 -0
  643. package/dist/task-creator/environment/build.d.ts +5 -0
  644. package/dist/task-creator/environment/build.js +53 -0
  645. package/dist/task-creator/environment/build.js.map +1 -0
  646. package/dist/task-creator/environment/contracts.d.ts +1338 -0
  647. package/dist/task-creator/environment/contracts.js +207 -0
  648. package/dist/task-creator/environment/contracts.js.map +1 -0
  649. package/dist/task-creator/environment/github.d.ts +25 -0
  650. package/dist/task-creator/environment/github.js +67 -0
  651. package/dist/task-creator/environment/github.js.map +1 -0
  652. package/dist/task-creator/environment/interfaces.d.ts +60 -0
  653. package/dist/task-creator/environment/interfaces.js +3 -0
  654. package/dist/task-creator/environment/interfaces.js.map +1 -0
  655. package/dist/task-creator/environment/jinn-differential-policy.d.ts +22 -0
  656. package/dist/task-creator/environment/jinn-differential-policy.js +73 -0
  657. package/dist/task-creator/environment/jinn-differential-policy.js.map +1 -0
  658. package/dist/task-creator/environment/policy.d.ts +38 -0
  659. package/dist/task-creator/environment/policy.js +51 -0
  660. package/dist/task-creator/environment/policy.js.map +1 -0
  661. package/dist/task-creator/environment/publication.d.ts +39 -0
  662. package/dist/task-creator/environment/publication.js +139 -0
  663. package/dist/task-creator/environment/publication.js.map +1 -0
  664. package/dist/task-creator/environment/publish-cli.d.ts +427 -0
  665. package/dist/task-creator/environment/publish-cli.js +180 -0
  666. package/dist/task-creator/environment/publish-cli.js.map +1 -0
  667. package/dist/task-creator/environment/recipes.d.ts +19 -0
  668. package/dist/task-creator/environment/recipes.js +122 -0
  669. package/dist/task-creator/environment/recipes.js.map +1 -0
  670. package/dist/task-creator/environment/resolver.d.ts +53 -0
  671. package/dist/task-creator/environment/resolver.js +57 -0
  672. package/dist/task-creator/environment/resolver.js.map +1 -0
  673. package/dist/task-creator/proofs/differential-receipt-bound-proof.d.ts +27 -0
  674. package/dist/task-creator/proofs/differential-receipt-bound-proof.js +86 -0
  675. package/dist/task-creator/proofs/differential-receipt-bound-proof.js.map +1 -0
  676. package/dist/task-creator/proofs/ipfs-cid.d.ts +7 -0
  677. package/dist/task-creator/proofs/ipfs-cid.js +98 -0
  678. package/dist/task-creator/proofs/ipfs-cid.js.map +1 -0
  679. package/dist/task-creator/proofs/live-proof.d.ts +99 -0
  680. package/dist/task-creator/proofs/live-proof.js +419 -0
  681. package/dist/task-creator/proofs/live-proof.js.map +1 -0
  682. package/dist/task-creator/proofs/public-repo-fixtures.d.ts +53 -0
  683. package/dist/task-creator/proofs/public-repo-fixtures.js +93 -0
  684. package/dist/task-creator/proofs/public-repo-fixtures.js.map +1 -0
  685. package/dist/task-creator/proofs/vitest-json-fixture.d.ts +40 -0
  686. package/dist/task-creator/proofs/vitest-json-fixture.js +115 -0
  687. package/dist/task-creator/proofs/vitest-json-fixture.js.map +1 -0
  688. package/dist/trajectory/emit.d.ts +6 -0
  689. package/dist/trajectory/emit.js +9 -1
  690. package/dist/trajectory/emit.js.map +1 -1
  691. package/dist/trajectory/harness-bundle-schema.d.ts +1 -1
  692. package/dist/trajectory/harness-bundle-schema.js +1 -1
  693. package/dist/trajectory/harness-bundle-schema.js.map +1 -1
  694. package/dist/trajectory/processors/identity-scrub.js +22 -3
  695. package/dist/trajectory/processors/identity-scrub.js.map +1 -1
  696. package/dist/trajectory/schema.d.ts +9 -1
  697. package/dist/trajectory/schema.js +5 -1
  698. package/dist/trajectory/schema.js.map +1 -1
  699. package/dist/trajectory/scrub/build.d.ts +49 -0
  700. package/dist/trajectory/scrub/build.js +89 -0
  701. package/dist/trajectory/scrub/build.js.map +1 -0
  702. package/dist/trajectory/scrub/emit-scrub.d.ts +41 -0
  703. package/dist/trajectory/scrub/emit-scrub.js +88 -0
  704. package/dist/trajectory/scrub/emit-scrub.js.map +1 -0
  705. package/dist/trajectory/scrub/key-policy.d.ts +20 -0
  706. package/dist/trajectory/scrub/key-policy.js +43 -0
  707. package/dist/trajectory/scrub/key-policy.js.map +1 -0
  708. package/dist/trajectory/scrub/layer2.d.ts +23 -0
  709. package/dist/trajectory/scrub/layer2.js +33 -0
  710. package/dist/trajectory/scrub/layer2.js.map +1 -0
  711. package/dist/trajectory/scrub/mineable-trace-gate.d.ts +9 -0
  712. package/dist/trajectory/scrub/mineable-trace-gate.js +33 -0
  713. package/dist/trajectory/scrub/mineable-trace-gate.js.map +1 -0
  714. package/dist/trajectory/scrub/ml-pii-stage.d.ts +24 -0
  715. package/dist/trajectory/scrub/ml-pii-stage.js +43 -0
  716. package/dist/trajectory/scrub/ml-pii-stage.js.map +1 -0
  717. package/dist/trajectory/scrub/openredaction-stage.d.ts +178 -0
  718. package/dist/trajectory/scrub/openredaction-stage.js +269 -0
  719. package/dist/trajectory/scrub/openredaction-stage.js.map +1 -0
  720. package/dist/trajectory/scrub/pii-build.d.ts +31 -0
  721. package/dist/trajectory/scrub/pii-build.js +64 -0
  722. package/dist/trajectory/scrub/pii-build.js.map +1 -0
  723. package/dist/trajectory/scrub/pipeline.d.ts +37 -0
  724. package/dist/trajectory/scrub/pipeline.js +83 -0
  725. package/dist/trajectory/scrub/pipeline.js.map +1 -0
  726. package/dist/trajectory/scrub/plain-patterns-stage.d.ts +31 -0
  727. package/dist/trajectory/scrub/plain-patterns-stage.js +85 -0
  728. package/dist/trajectory/scrub/plain-patterns-stage.js.map +1 -0
  729. package/dist/trajectory/scrub/secretlint-stage.d.ts +35 -0
  730. package/dist/trajectory/scrub/secretlint-stage.js +250 -0
  731. package/dist/trajectory/scrub/secretlint-stage.js.map +1 -0
  732. package/dist/trajectory/scrub/transformers-detector.d.ts +35 -0
  733. package/dist/trajectory/scrub/transformers-detector.js +68 -0
  734. package/dist/trajectory/scrub/transformers-detector.js.map +1 -0
  735. package/dist/trajectory/scrub/types.d.ts +25 -0
  736. package/dist/trajectory/scrub/types.js +2 -0
  737. package/dist/trajectory/scrub/types.js.map +1 -0
  738. package/dist/trajectory/transcript-parsers/types.d.ts +1 -1
  739. package/dist/trajectory/transcript-parsers/types.js +1 -1
  740. package/dist/trajectory/transcript-parsers/types.js.map +1 -1
  741. package/dist/trajectory/transcript-watcher.d.ts +26 -0
  742. package/dist/trajectory/transcript-watcher.js +33 -0
  743. package/dist/trajectory/transcript-watcher.js.map +1 -1
  744. package/dist/tx-retry.d.ts +12 -0
  745. package/dist/tx-retry.js +41 -12
  746. package/dist/tx-retry.js.map +1 -1
  747. package/dist/types/envelope.d.ts +45 -1
  748. package/dist/types/envelope.js +1 -1
  749. package/dist/types/envelope.js.map +1 -1
  750. package/dist/types/payloads/index.d.ts +1 -1
  751. package/dist/types/payloads/index.js +7 -1
  752. package/dist/types/payloads/index.js.map +1 -1
  753. package/dist/types/payloads/portfolio-v0.d.ts +1 -1
  754. package/dist/types/payloads/portfolio-v0.js +1 -1
  755. package/dist/types/payloads/portfolio-v0.js.map +1 -1
  756. package/dist/types/payloads/prediction-apy-v0.d.ts +1 -1
  757. package/dist/types/payloads/prediction-apy-v0.js +1 -1
  758. package/dist/types/payloads/prediction-apy-v0.js.map +1 -1
  759. package/dist/types/payloads/prediction-v0.d.ts +1 -1
  760. package/dist/types/payloads/prediction-v0.js +1 -1
  761. package/dist/types/payloads/prediction-v0.js.map +1 -1
  762. package/dist/types/portfolio.d.ts +1 -1
  763. package/dist/types/portfolio.js +1 -1
  764. package/dist/types/portfolio.js.map +1 -1
  765. package/dist/types/prediction-apy.d.ts +1 -1
  766. package/dist/types/prediction-apy.js +1 -1
  767. package/dist/types/prediction-apy.js.map +1 -1
  768. package/dist/types/prediction.d.ts +1 -1
  769. package/dist/types/prediction.js +1 -1
  770. package/dist/types/prediction.js.map +1 -1
  771. package/dist/types/session-provenance.d.ts +9 -1
  772. package/dist/types/session-provenance.js +5 -1
  773. package/dist/types/session-provenance.js.map +1 -1
  774. package/dist/types/skill-artifact.d.ts +442 -0
  775. package/dist/types/skill-artifact.js +137 -0
  776. package/dist/types/skill-artifact.js.map +1 -0
  777. package/dist/types/task-document.d.ts +315 -1
  778. package/dist/types/task-document.js +9 -1
  779. package/dist/types/task-document.js.map +1 -1
  780. package/dist/types/task-run-read-model.d.ts +21 -0
  781. package/dist/types/task-run-read-model.js +2 -0
  782. package/dist/types/task-run-read-model.js.map +1 -0
  783. package/dist/types/task-run.d.ts +75 -0
  784. package/dist/types/task-run.js +2 -0
  785. package/dist/types/task-run.js.map +1 -0
  786. package/dist/types/task.d.ts +29 -1
  787. package/dist/types/task.js +1 -1
  788. package/dist/types/task.js.map +1 -1
  789. package/dist/types/window.d.ts +1 -1
  790. package/dist/types/window.js +1 -1
  791. package/dist/types/window.js.map +1 -1
  792. package/dist/util/redact-rpc-urls.d.ts +1 -1
  793. package/dist/util/redact-rpc-urls.js +57 -2
  794. package/dist/util/redact-rpc-urls.js.map +1 -1
  795. package/dist/vendor/@jinn-network/sdk/dist/checkpoint.d.ts +1 -1
  796. package/dist/vendor/@jinn-network/sdk/dist/checkpoint.js +1 -1
  797. package/dist/vendor/@jinn-network/sdk/dist/contracts.d.ts +3 -2
  798. package/dist/vendor/@jinn-network/sdk/dist/contracts.js +49 -0
  799. package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.d.ts +44 -0
  800. package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.js +25 -0
  801. package/dist/vendor/@jinn-network/sdk/dist/json-schema.d.ts +1 -1
  802. package/dist/vendor/@jinn-network/sdk/dist/json-schema.js +1 -1
  803. package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.d.ts +38 -0
  804. package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.js +22 -0
  805. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.d.ts +1 -1
  806. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.js +1 -1
  807. package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.d.ts +1 -1
  808. package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.js +1 -1
  809. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.d.ts +109 -2
  810. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.js +26 -2
  811. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.d.ts +1 -1
  812. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.js +1 -1
  813. package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.d.ts +4 -0
  814. package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.js +2 -0
  815. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +1 -1
  816. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -1
  817. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.d.ts +65 -0
  818. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.js +123 -0
  819. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.d.ts +2 -2
  820. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.js +1 -1
  821. package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.d.ts +34 -6
  822. package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.js +28 -5
  823. package/dist/vendor/@jinn-network/sdk/package.json +9 -1
  824. package/docker-compose.yml +3 -2
  825. package/package.json +58 -29
  826. package/plugins/jinn-repo-runtime/.claude-plugin/plugin.json +5 -0
  827. package/plugins/jinn-repo-runtime/.codex-plugin/plugin.json +39 -0
  828. package/plugins/jinn-repo-runtime/README.md +27 -0
  829. package/plugins/jinn-repo-runtime/hooks/hooks.json +16 -0
  830. package/plugins/jinn-repo-runtime/hooks/session-start +73 -0
  831. package/plugins/jinn-repo-runtime/jinn.plugin.json +11 -0
  832. package/plugins/jinn-repo-runtime/skills/task/SKILL.md +92 -0
  833. package/plugins/learner/.claude-plugin/plugin.json +1 -1
  834. package/plugins/learner/.codex-plugin/plugin.json +1 -1
  835. package/plugins/learner/hooks/session-start +30 -1
  836. package/plugins/learner/skills/learn/consolidator-prompt.md +4 -0
  837. package/plugins/local-trace-distiller/.claude-plugin/plugin.json +9 -0
  838. package/plugins/local-trace-distiller/.codex-plugin/plugin.json +41 -0
  839. package/plugins/local-trace-distiller/.mcp.json +8 -0
  840. package/plugins/local-trace-distiller/README.md +27 -0
  841. package/plugins/local-trace-distiller/jinn.plugin.json +36 -0
  842. package/plugins/local-trace-distiller/skills/distill/SKILL.md +51 -0
  843. package/plugins/swe-rebench-v2-runtime/hooks/hooks.json +16 -0
  844. package/plugins/swe-rebench-v2-runtime/hooks/session-start +74 -0
  845. package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +0 -55
  846. package/deployments/deployment-jinn-mvi-l1-sepolia.json +0 -55
  847. package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +0 -13
  848. package/deployments/deployment-jinn-testnet-faucet-baseSepolia-fast.json +0 -15
  849. package/dist/api/peers.js.map +0 -1
  850. package/dist/daemon/jinn-claim-loop-canonical.d.ts +0 -207
  851. package/dist/daemon/jinn-claim-loop-canonical.js +0 -296
  852. package/dist/daemon/jinn-claim-loop-canonical.js.map +0 -1
  853. package/dist/daemon/jinn-claim-loop-mock.d.ts +0 -61
  854. package/dist/daemon/jinn-claim-loop-mock.js +0 -122
  855. package/dist/daemon/jinn-claim-loop-mock.js.map +0 -1
  856. package/dist/daemon/jinn-claim-loop-wiring.d.ts +0 -33
  857. package/dist/daemon/jinn-claim-loop-wiring.js +0 -40
  858. package/dist/daemon/jinn-claim-loop-wiring.js.map +0 -1
  859. package/dist/daemon/jinn-claim-loop.d.ts +0 -130
  860. package/dist/daemon/jinn-claim-loop.js +0 -328
  861. package/dist/daemon/jinn-claim-loop.js.map +0 -1
  862. package/dist/dashboard/assets/index-CzKxvMcU.css +0 -32
  863. package/dist/dashboard/assets/index-yVemxHot.js +0 -351
  864. package/dist/earning/jinn-rewards.js.map +0 -1
  865. package/dist/scripts/donation-consumption-acceptance.d.ts +0 -85
  866. package/dist/scripts/donation-consumption-acceptance.js +0 -1382
  867. package/dist/scripts/donation-consumption-acceptance.js.map +0 -1
  868. package/dist/x402/acquire.d.ts +0 -17
  869. package/dist/x402/acquire.js +0 -49
  870. package/dist/x402/acquire.js.map +0 -1
  871. package/dist/x402/facilitator.d.ts +0 -11
  872. package/dist/x402/facilitator.js +0 -52
  873. package/dist/x402/facilitator.js.map +0 -1
  874. package/dist/x402/handler.d.ts +0 -27
  875. package/dist/x402/handler.js +0 -236
  876. package/dist/x402/handler.js.map +0 -1
  877. /package/dist/{api/peers.d.ts → daemon/peer-sync.d.ts} +0 -0
@@ -0,0 +1,180 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { readFile, mkdir, rename, rm, writeFile } from 'node:fs/promises';
3
+ import { randomUUID } from 'node:crypto';
4
+ import { isAbsolute } from 'node:path';
5
+ import { basename, dirname, resolve } from 'node:path';
6
+ import { z } from 'zod/v3';
7
+ import { Eip191EnvironmentAttestationV1Schema, EnvironmentBuildRecipeV1Schema, parseTaskEnvironmentSpecV1, verifyEnvironmentAttestationV1, } from './contracts.js';
8
+ import { canonicalJson } from '../../harnesses/engine/canonical-json.js';
9
+ import { DockerBuildxEnvironmentBuilder, DockerImagePublisher, IpfsEnvironmentArtifactUploader, Syft131SpdxSbomGenerator, Trivy066SecretScanner, defaultEnvironmentCommandRunner, } from './adapters.js';
10
+ import { createGitHubRepoPublicationChecker } from './github.js';
11
+ import { EnvironmentPublicationController, DEFAULT_ENVIRONMENT_IMAGE_REPOSITORY, } from './publication.js';
12
+ const EXECUTE_ENVIRONMENT_VARIABLE = 'JINN_TASK_CREATOR_ENVIRONMENT_PUBLISH_EXECUTE';
13
+ const AddressSchema = z.string().regex(/^0x[0-9a-fA-F]{40}$/, 'must be an Ethereum address');
14
+ const EnvironmentPublicationCliConfigSchema = z.object({
15
+ recipe: EnvironmentBuildRecipeV1Schema,
16
+ ipfsRegistryUrl: z.string().url(),
17
+ operatorSafe: AddressSchema,
18
+ signer: z.object({
19
+ command: z.string().min(1).refine(isAbsolute, 'must be an absolute path'),
20
+ }).strict(),
21
+ imageRepository: z.string().min(1).optional(),
22
+ }).strict();
23
+ /**
24
+ * Validates an operator-supplied publication config. This object intentionally
25
+ * has no credential, private-key, Docker-config, or token field.
26
+ */
27
+ export function parseEnvironmentPublicationCliConfig(input) {
28
+ assertNoSecretBearingConfigFields(input);
29
+ const config = EnvironmentPublicationCliConfigSchema.parse(input);
30
+ assertPublicRegistryUrl(config.ipfsRegistryUrl);
31
+ if (config.imageRepository !== undefined && /\s|@/.test(config.imageRepository)) {
32
+ throw new Error('imageRepository must be an OCI repository without credentials');
33
+ }
34
+ return config;
35
+ }
36
+ /**
37
+ * Preflight is the default and makes no Docker, network, IPFS, signer, or
38
+ * registry calls. Execution requires the exact explicit opt-in environment.
39
+ */
40
+ export async function runEnvironmentPublicationCli(input) {
41
+ const config = parseEnvironmentPublicationCliConfig(input.rawConfig);
42
+ if (input.environment?.[EXECUTE_ENVIRONMENT_VARIABLE] !== '1') {
43
+ if (input.outputPath !== undefined) {
44
+ throw new Error('--output requires execute mode (set JINN_TASK_CREATOR_ENVIRONMENT_PUBLISH_EXECUTE=1)');
45
+ }
46
+ return {
47
+ mode: 'preflight',
48
+ recipeId: config.recipe.recipeId,
49
+ source: { repo: config.recipe.source.repo, baseCommit: config.recipe.source.baseCommit },
50
+ };
51
+ }
52
+ const commandRunner = input.commandRunner ?? defaultEnvironmentCommandRunner;
53
+ const dependencies = {
54
+ builder: new DockerBuildxEnvironmentBuilder({ commandRunner }),
55
+ scanner: new Trivy066SecretScanner({ commandRunner }),
56
+ sbomGenerator: new Syft131SpdxSbomGenerator({ commandRunner }),
57
+ publisher: new DockerImagePublisher({ commandRunner }),
58
+ uploader: new IpfsEnvironmentArtifactUploader({ registryUrl: config.ipfsRegistryUrl }),
59
+ attestor: new ExternalCommandEnvironmentAttestor({ command: config.signer.command, commandRunner, operatorSafe: config.operatorSafe }),
60
+ githubChecker: createGitHubRepoPublicationChecker({ fetchImpl: input.githubFetch ?? defaultGitHubFetch }),
61
+ imageRepository: config.imageRepository ?? DEFAULT_ENVIRONMENT_IMAGE_REPOSITORY,
62
+ };
63
+ const controller = input.controllerFactory?.(dependencies) ?? new EnvironmentPublicationController(dependencies);
64
+ const published = await controller.publish(config.recipe);
65
+ const spec = parseTaskEnvironmentSpecV1(published.spec);
66
+ const canonicalSpec = canonicalJson(spec);
67
+ if (input.outputPath !== undefined) {
68
+ await atomicWriteCanonicalEnvironmentSpec(input.outputPath, canonicalSpec);
69
+ }
70
+ return {
71
+ mode: 'published',
72
+ environmentCid: published.environmentCid,
73
+ environmentHash: spec.attestation.environmentHash,
74
+ imageReference: spec.execution.image.reference,
75
+ };
76
+ }
77
+ /** Write an exactly canonical, structurally valid signed artifact without a partial target file. */
78
+ async function atomicWriteCanonicalEnvironmentSpec(outputPath, contents) {
79
+ if (!outputPath.trim())
80
+ throw new Error('--output must name a non-empty path');
81
+ const target = resolve(outputPath);
82
+ await mkdir(dirname(target), { recursive: true });
83
+ const temporary = resolve(dirname(target), `.${basename(target)}.${randomUUID()}.tmp`);
84
+ try {
85
+ await writeFile(temporary, contents, { encoding: 'utf8', mode: 0o644, flag: 'wx' });
86
+ await rename(temporary, target);
87
+ }
88
+ finally {
89
+ await rm(temporary, { force: true });
90
+ }
91
+ const written = await readFile(target, 'utf8');
92
+ if (written !== contents)
93
+ throw new Error('environment publication atomic output did not preserve canonical signed spec bytes');
94
+ const parsed = parseTaskEnvironmentSpecV1(JSON.parse(written));
95
+ if (canonicalJson(parsed) !== contents) {
96
+ throw new Error('environment publication atomic output is not a canonical signed spec');
97
+ }
98
+ }
99
+ /**
100
+ * Delegates signing to an operator-provided absolute executable. The protocol
101
+ * passes exactly one argument (the SHA-256 environment hash) and expects an
102
+ * EIP-191 attestation JSON object on stdout; no private key is read or passed.
103
+ */
104
+ export class ExternalCommandEnvironmentAttestor {
105
+ options;
106
+ commandRunner;
107
+ constructor(options) {
108
+ this.options = options;
109
+ if (!isAbsolute(options.command))
110
+ throw new Error('external signer command must be an absolute path');
111
+ this.commandRunner = options.commandRunner ?? defaultEnvironmentCommandRunner;
112
+ }
113
+ async attest(input) {
114
+ const result = await this.commandRunner(this.options.command, [input.environmentHash], {
115
+ env: externalSignerEnvironment(),
116
+ });
117
+ if (result.exitCode !== 0) {
118
+ throw new Error(`external signer command failed (exit ${result.exitCode}): ${result.stderr.trim()}`);
119
+ }
120
+ let raw;
121
+ try {
122
+ raw = JSON.parse(result.stdout);
123
+ }
124
+ catch {
125
+ throw new Error('external signer command did not return JSON attestation');
126
+ }
127
+ const attestation = Eip191EnvironmentAttestationV1Schema.parse(raw);
128
+ if (attestation.environmentHash !== input.environmentHash) {
129
+ throw new Error('external signer attestation does not bind the requested environment hash');
130
+ }
131
+ if (attestation.operatorSafe.toLowerCase() !== this.options.operatorSafe.toLowerCase()) {
132
+ throw new Error('external signer attestation operatorSafe does not match configured operatorSafe');
133
+ }
134
+ if (!await verifyEnvironmentAttestationV1(attestation)) {
135
+ throw new Error('external signer returned an invalid environment attestation');
136
+ }
137
+ return attestation;
138
+ }
139
+ }
140
+ const defaultGitHubFetch = async (url, init) => {
141
+ const response = await fetch(url, { headers: init?.headers });
142
+ return {
143
+ ok: response.ok,
144
+ status: response.status,
145
+ async json() { return response.json(); },
146
+ };
147
+ };
148
+ function assertPublicRegistryUrl(value) {
149
+ const url = new URL(value);
150
+ if (url.protocol !== 'https:' || url.username !== '' || url.password !== '') {
151
+ throw new Error('ipfsRegistryUrl must be a credential-free HTTPS URL');
152
+ }
153
+ }
154
+ function assertNoSecretBearingConfigFields(value, path = []) {
155
+ if (Array.isArray(value)) {
156
+ value.forEach((entry, index) => assertNoSecretBearingConfigFields(entry, [...path, String(index)]));
157
+ return;
158
+ }
159
+ if (value === null || typeof value !== 'object')
160
+ return;
161
+ for (const [key, entry] of Object.entries(value)) {
162
+ if (isSecretBearingKey(key)) {
163
+ throw new Error(`secret-bearing config field is not accepted: ${[...path, key].join('.')}`);
164
+ }
165
+ assertNoSecretBearingConfigFields(entry, [...path, key]);
166
+ }
167
+ }
168
+ function isSecretBearingKey(key) {
169
+ const normalized = key.toLowerCase().replace(/[^a-z0-9]/g, '');
170
+ return (normalized.includes('privatekey') || normalized.includes('credential') ||
171
+ normalized.includes('creds') || normalized === 'dockerconfig' ||
172
+ normalized === 'dockerauthconfig' || normalized.includes('token') ||
173
+ normalized.includes('apikey') || normalized.includes('password') ||
174
+ normalized.includes('secret') || normalized === 'accesskey' ||
175
+ normalized.endsWith('accesskeyid'));
176
+ }
177
+ function externalSignerEnvironment() {
178
+ return process.env.PATH === undefined ? {} : { PATH: process.env.PATH };
179
+ }
180
+ //# sourceMappingURL=publish-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-cli.js","sourceRoot":"","sources":["../../../src/task-creator/environment/publish-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type EnvironmentBuildRecipeV1, type TrustedParserIdentityV1 } from './contracts.js';
2
+ import type { EnvironmentRecipeResolver } from './resolver.js';
3
+ /** Bound to the patch bundle whose durable enable self-test registers this parser. */
4
+ export declare const TRUSTED_VITEST_JSON_PARSER_V1: TrustedParserIdentityV1;
5
+ type EnvironmentRecipePresetV1 = Omit<EnvironmentBuildRecipeV1, 'source'> & {
6
+ readonly repo: string;
7
+ readonly repoUrl: string;
8
+ };
9
+ export declare const JINN_MONO_RECIPE_V1: EnvironmentRecipePresetV1;
10
+ export declare const UNJS_DESTR_RECIPE_V1: EnvironmentRecipePresetV1;
11
+ export declare const APPROVED_BASE_IMAGES: readonly {
12
+ reference: string;
13
+ digest: string;
14
+ }[];
15
+ /** Resolve the approved Jinn recipe at one immutable pre-fix source commit. */
16
+ export declare function resolveJinnMonoRecipeV1(baseCommit: string): EnvironmentBuildRecipeV1;
17
+ /** Ordered explicit repository configuration. It always outranks later discovery resolvers. */
18
+ export declare function createPresetEnvironmentRecipeResolvers(): EnvironmentRecipeResolver[];
19
+ export {};
@@ -0,0 +1,122 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { ENVIRONMENT_BUILD_RECIPE_V1, EnvironmentBuildRecipeV1Schema, } from './contracts.js';
3
+ const EVALUATOR_BUNDLE_DIGEST = 'sha256:06a35a7340ec64d3de8f2990a02bb3024aeaec47dca838dbeacb6bd19a165cbd';
4
+ /** Bound to the patch bundle whose durable enable self-test registers this parser. */
5
+ export const TRUSTED_VITEST_JSON_PARSER_V1 = {
6
+ id: 'vitest-json.v1',
7
+ version: 'v1',
8
+ digest: EVALUATOR_BUNDLE_DIGEST,
9
+ bundleId: 'jinn.swe-rebench-v2.patch-bundle.v1',
10
+ };
11
+ export const JINN_MONO_RECIPE_V1 = {
12
+ schemaVersion: ENVIRONMENT_BUILD_RECIPE_V1,
13
+ recipeId: 'jinn-mono.v1',
14
+ repo: 'Jinn-Network/mono',
15
+ repoUrl: 'https://github.com/Jinn-Network/mono.git',
16
+ platform: 'linux/amd64',
17
+ baseImage: {
18
+ reference: 'node:22-bookworm-slim@sha256:53ada149d435c38b14476cb57e4a7da73c15595aba79bd6971b547ceb6d018bf',
19
+ digest: 'sha256:53ada149d435c38b14476cb57e4a7da73c15595aba79bd6971b547ceb6d018bf',
20
+ },
21
+ workspace: '/testbed',
22
+ installCommands: [
23
+ { bin: 'apt-get', args: ['update'] },
24
+ { bin: 'apt-get', args: ['install', '-y', '--no-install-recommends', 'python3', 'make', 'g++'] },
25
+ { bin: 'corepack', args: ['enable'] },
26
+ { bin: 'yarn', args: ['install', '--immutable'], cwd: 'client' },
27
+ ],
28
+ smokeCommands: [{ bin: 'yarn', args: ['vitest', '--version'], cwd: 'client' }],
29
+ testCommands: [{ bin: 'yarn', args: ['vitest', 'run', '--reporter=json', '--outputFile=/tmp/vitest-results.json'], cwd: 'client' }],
30
+ parser: TRUSTED_VITEST_JSON_PARSER_V1,
31
+ inputRights: [sourceRights('Jinn-Network/mono', 'Apache-2.0')],
32
+ timeoutSeconds: 300,
33
+ environment: { CI: '1' },
34
+ };
35
+ export const UNJS_DESTR_RECIPE_V1 = {
36
+ schemaVersion: ENVIRONMENT_BUILD_RECIPE_V1,
37
+ recipeId: 'unjs-destr.v1',
38
+ repo: 'unjs/destr',
39
+ repoUrl: 'https://github.com/unjs/destr.git',
40
+ platform: 'linux/amd64',
41
+ baseImage: {
42
+ reference: 'node:20-bookworm-slim@sha256:2cf067cfed83d5ea958367df9f966191a942351a2df77d6f0193e162b5febfc0',
43
+ digest: 'sha256:2cf067cfed83d5ea958367df9f966191a942351a2df77d6f0193e162b5febfc0',
44
+ },
45
+ workspace: '/testbed',
46
+ installCommands: [
47
+ { bin: 'corepack', args: ['enable'] },
48
+ { bin: 'pnpm', args: ['install', '--frozen-lockfile'] },
49
+ ],
50
+ smokeCommands: [{ bin: 'pnpm', args: ['exec', 'vitest', '--version'] }],
51
+ testCommands: [{ bin: 'pnpm', args: ['exec', 'vitest', 'run', '--reporter=json', '--outputFile=/tmp/vitest-results.json'] }],
52
+ parser: TRUSTED_VITEST_JSON_PARSER_V1,
53
+ inputRights: [sourceRights('unjs/destr', 'MIT')],
54
+ timeoutSeconds: 300,
55
+ environment: { CI: '1' },
56
+ };
57
+ export const APPROVED_BASE_IMAGES = [
58
+ JINN_MONO_RECIPE_V1.baseImage,
59
+ UNJS_DESTR_RECIPE_V1.baseImage,
60
+ ];
61
+ /** Resolve the approved Jinn recipe at one immutable pre-fix source commit. */
62
+ export function resolveJinnMonoRecipeV1(baseCommit) {
63
+ if (!/^[0-9a-f]{40}$/u.test(baseCommit)) {
64
+ throw new Error('Jinn environment recipe requires a 40-hex base commit');
65
+ }
66
+ const { repo, repoUrl, ...recipe } = JINN_MONO_RECIPE_V1;
67
+ return EnvironmentBuildRecipeV1Schema.parse({
68
+ ...recipe,
69
+ source: { repo, repoUrl, baseCommit },
70
+ inputRights: JINN_MONO_RECIPE_V1.inputRights.map((rights) => ({
71
+ ...rights,
72
+ inputRef: rights.inputRef.replace('$baseCommit', baseCommit),
73
+ rightsRef: rights.rightsRef.replace('$baseCommit', baseCommit),
74
+ })),
75
+ });
76
+ }
77
+ /** Ordered explicit repository configuration. It always outranks later discovery resolvers. */
78
+ export function createPresetEnvironmentRecipeResolvers() {
79
+ return [new ExplicitPresetResolver(JINN_MONO_RECIPE_V1), new ExplicitPresetResolver(UNJS_DESTR_RECIPE_V1)];
80
+ }
81
+ class ExplicitPresetResolver {
82
+ preset;
83
+ id;
84
+ version = 'v1';
85
+ constructor(preset) {
86
+ this.preset = preset;
87
+ this.id = preset.recipeId;
88
+ }
89
+ async supports(request) {
90
+ return request.repo === this.preset.repo && request.repoUrl === this.preset.repoUrl
91
+ ? { supported: true, confidence: 'explicit' }
92
+ : { supported: false, reason: 'repository does not match explicit recipe' };
93
+ }
94
+ async resolve(request) {
95
+ if (request.repo !== this.preset.repo || request.repoUrl !== this.preset.repoUrl) {
96
+ throw new Error(`explicit recipe ${this.id} does not support ${request.repo}`);
97
+ }
98
+ const { repo: _repo, repoUrl: _repoUrl, ...recipe } = this.preset;
99
+ return {
100
+ ...recipe,
101
+ source: {
102
+ repo: request.repo,
103
+ repoUrl: request.repoUrl,
104
+ baseCommit: request.baseCommit,
105
+ },
106
+ inputRights: this.preset.inputRights.map((rights) => ({
107
+ ...rights,
108
+ inputRef: rights.inputRef.replace('$baseCommit', request.baseCommit),
109
+ rightsRef: rights.rightsRef.replace('$baseCommit', request.baseCommit),
110
+ })),
111
+ };
112
+ }
113
+ }
114
+ function sourceRights(repo, spdxId) {
115
+ return {
116
+ inputRef: `git+https://github.com/${repo}.git#$baseCommit`,
117
+ rightsRef: `https://api.github.com/repos/${repo}/license?ref=$baseCommit`,
118
+ basis: 'spdx',
119
+ spdxId,
120
+ };
121
+ }
122
+ //# sourceMappingURL=recipes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../../src/task-creator/environment/recipes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { z } from 'zod/v3';
2
+ import { type EnvironmentBuildRecipeV1, type EnvironmentBuildRequestV1 } from './contracts.js';
3
+ declare const ResolverSupportSchema: z.ZodDiscriminatedUnion<"supported", [z.ZodObject<{
4
+ supported: z.ZodLiteral<true>;
5
+ confidence: z.ZodEnum<["explicit", "deterministic", "agentic"]>;
6
+ }, "strict", z.ZodTypeAny, {
7
+ supported: true;
8
+ confidence: "explicit" | "deterministic" | "agentic";
9
+ }, {
10
+ supported: true;
11
+ confidence: "explicit" | "deterministic" | "agentic";
12
+ }>, z.ZodObject<{
13
+ supported: z.ZodLiteral<false>;
14
+ reason: z.ZodString;
15
+ }, "strict", z.ZodTypeAny, {
16
+ reason: string;
17
+ supported: false;
18
+ }, {
19
+ reason: string;
20
+ supported: false;
21
+ }>]>;
22
+ export type EnvironmentRecipeResolver = {
23
+ readonly id: string;
24
+ readonly version: string;
25
+ supports(request: EnvironmentBuildRequestV1): Promise<z.infer<typeof ResolverSupportSchema>>;
26
+ /** Deliberately unknown until the registry has strictly parsed the artifact. */
27
+ resolve(request: EnvironmentBuildRequestV1): Promise<unknown>;
28
+ };
29
+ export type EnvironmentRecipeResolution = {
30
+ kind: 'resolved';
31
+ resolverId: string;
32
+ resolverVersion: string;
33
+ recipe: EnvironmentBuildRecipeV1;
34
+ } | {
35
+ kind: 'awaiting_input';
36
+ reason: 'no-supported-environment-recipe';
37
+ } | {
38
+ kind: 'terminal_error';
39
+ resolverId: string;
40
+ resolverVersion: string;
41
+ reason: string;
42
+ };
43
+ /**
44
+ * Resolver ordering is policy. The first configured resolver that claims a
45
+ * request wins; an exception or malformed recipe from that resolver is final
46
+ * rather than permission to reinterpret inputs in a later resolver.
47
+ */
48
+ export declare class EnvironmentRecipeResolverRegistry {
49
+ private readonly resolvers;
50
+ constructor(resolvers: readonly EnvironmentRecipeResolver[]);
51
+ resolve(input: unknown): Promise<EnvironmentRecipeResolution>;
52
+ }
53
+ export {};
@@ -0,0 +1,57 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { z } from 'zod/v3';
3
+ import { EnvironmentBuildRecipeV1Schema, EnvironmentBuildRequestV1Schema, } from './contracts.js';
4
+ const ResolverSupportSchema = z.discriminatedUnion('supported', [
5
+ z.object({ supported: z.literal(true), confidence: z.enum(['explicit', 'deterministic', 'agentic']) }).strict(),
6
+ z.object({ supported: z.literal(false), reason: z.string().min(1) }).strict(),
7
+ ]);
8
+ /**
9
+ * Resolver ordering is policy. The first configured resolver that claims a
10
+ * request wins; an exception or malformed recipe from that resolver is final
11
+ * rather than permission to reinterpret inputs in a later resolver.
12
+ */
13
+ export class EnvironmentRecipeResolverRegistry {
14
+ resolvers;
15
+ constructor(resolvers) {
16
+ this.resolvers = resolvers;
17
+ }
18
+ async resolve(input) {
19
+ const request = EnvironmentBuildRequestV1Schema.parse(input);
20
+ for (const resolver of this.resolvers) {
21
+ let support;
22
+ try {
23
+ support = ResolverSupportSchema.parse(await resolver.supports(request));
24
+ }
25
+ catch (error) {
26
+ return terminal(resolver, `invalid support declaration: ${message(error)}`);
27
+ }
28
+ if (!support.supported)
29
+ continue;
30
+ try {
31
+ const recipe = EnvironmentBuildRecipeV1Schema.parse(await resolver.resolve(request));
32
+ return {
33
+ kind: 'resolved',
34
+ resolverId: resolver.id,
35
+ resolverVersion: resolver.version,
36
+ recipe,
37
+ };
38
+ }
39
+ catch (error) {
40
+ return terminal(resolver, `invalid claimed recipe: ${message(error)}`);
41
+ }
42
+ }
43
+ return { kind: 'awaiting_input', reason: 'no-supported-environment-recipe' };
44
+ }
45
+ }
46
+ function terminal(resolver, reason) {
47
+ return {
48
+ kind: 'terminal_error',
49
+ resolverId: resolver.id,
50
+ resolverVersion: resolver.version,
51
+ reason,
52
+ };
53
+ }
54
+ function message(error) {
55
+ return error instanceof Error ? error.message : String(error);
56
+ }
57
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/task-creator/environment/resolver.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,GAGhC,MAAM,gBAAgB,CAAC;AAExB,MAAM,qBAAqB,GAAG,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE;IAC9D,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/G,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;CAC9E,CAAC,CAAC;AAeH;;;;GAIG;AACH,MAAM,OAAO,iCAAiC;IACf;IAA7B,YAA6B,SAA+C;QAA/C,cAAS,GAAT,SAAS,CAAsC;IAAG,CAAC;IAEhF,KAAK,CAAC,OAAO,CAAC,KAAc;QAC1B,MAAM,OAAO,GAAG,+BAA+B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE7D,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,OAA8C,CAAC;YACnD,IAAI,CAAC;gBACH,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,QAAQ,CAAC,QAAQ,EAAE,gCAAgC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,SAAS;gBAAE,SAAS;YAEjC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACrF,OAAO;oBACL,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,eAAe,EAAE,QAAQ,CAAC,OAAO;oBACjC,MAAM;iBACP,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC;IAC/E,CAAC;CACF;AAED,SAAS,QAAQ,CAAC,QAAmC,EAAE,MAAc;IACnE,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,eAAe,EAAE,QAAQ,CAAC,OAAO;QACjC,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { type DifferentialAdmissionReceiptV2 } from '../../solver-types/_swe-rebench-v2-differential-admission.js';
2
+ import type { MintedEnvironmentBindingV1 } from '../../solver-types/_swe-rebench-v2-minted-pool.js';
3
+ import { type JinnDifferentialProofSource } from './public-repo-fixtures.js';
4
+ type Sha256 = `sha256:${string}`;
5
+ export type ReceiptBoundJinnDifferentialProof = {
6
+ source: JinnDifferentialProofSource;
7
+ receipt: DifferentialAdmissionReceiptV2;
8
+ receiptCid: string;
9
+ receiptHash: Sha256;
10
+ environment: MintedEnvironmentBindingV1;
11
+ testPatch: string;
12
+ };
13
+ export type BindJinnDifferentialReceiptToProofInput = {
14
+ source: JinnDifferentialProofSource;
15
+ receipt: unknown;
16
+ receiptCid: string;
17
+ /** Caller-provided artifact hash. If omitted, canonical receipt content supplies it. */
18
+ receiptHash?: Sha256;
19
+ environment: MintedEnvironmentBindingV1;
20
+ testPatch: string;
21
+ };
22
+ /**
23
+ * Verify the generated receipt and all public bindings needed before a Jinn
24
+ * task can be posted, evaluated, or represented in a proof record.
25
+ */
26
+ export declare function bindJinnDifferentialReceiptToProof(input: BindJinnDifferentialReceiptToProofInput): Promise<ReceiptBoundJinnDifferentialProof>;
27
+ export {};
@@ -0,0 +1,86 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * Fail-closed binding for proof/lifecycle consumers of a real Jinn
4
+ * differential-admission receipt. This is deliberately separate from the
5
+ * synthetic Vitest JSON parser-contract fixture: receipt absence or drift
6
+ * must stop a task before it can be posted or evaluated.
7
+ */
8
+ import { createHash } from 'node:crypto';
9
+ import { canonicalJson } from '../../harnesses/engine/canonical-json.js';
10
+ import { hashDifferentialAdmissionReceiptV2, verifyDifferentialAdmissionReceiptV2, } from '../../solver-types/_swe-rebench-v2-differential-admission.js';
11
+ import { verifyEnvironmentAttestationV1 } from '../environment/contracts.js';
12
+ import { JINN_MONO_DIFFERENTIAL_PROOF_SOURCE, } from './public-repo-fixtures.js';
13
+ import { isAcceptedIpfsCid } from './ipfs-cid.js';
14
+ function sha256(value) {
15
+ return `sha256:${createHash('sha256').update(value).digest('hex')}`;
16
+ }
17
+ function sameCanonical(left, right) {
18
+ return canonicalJson(left) === canonicalJson(right);
19
+ }
20
+ function fail(message) {
21
+ throw new Error(`receipt-bound Jinn proof: ${message}`);
22
+ }
23
+ function assertCanonicalJinnSource(source) {
24
+ const expected = JINN_MONO_DIFFERENTIAL_PROOF_SOURCE;
25
+ if (source.id !== expected.id ||
26
+ source.repo !== expected.repo ||
27
+ source.baseCommit !== expected.baseCommit ||
28
+ source.fixCommit !== expected.fixCommit ||
29
+ source.instanceId !== expected.instanceId ||
30
+ source.language !== expected.language ||
31
+ source.evidenceKind !== expected.evidenceKind ||
32
+ !sameCanonical(source.testPaths, expected.testPaths)) {
33
+ fail('source must equal the reviewed Jinn #1422 base/fix/instance/path identity');
34
+ }
35
+ }
36
+ /**
37
+ * Verify the generated receipt and all public bindings needed before a Jinn
38
+ * task can be posted, evaluated, or represented in a proof record.
39
+ */
40
+ export async function bindJinnDifferentialReceiptToProof(input) {
41
+ assertCanonicalJinnSource(input.source);
42
+ if (!isAcceptedIpfsCid(input.receiptCid))
43
+ fail('receipt CID must use a CIDv0 or lowercase-base32 CIDv1 format');
44
+ if (input.testPatch.trim() === '')
45
+ fail('public test patch is required');
46
+ const receipt = verifyDifferentialAdmissionReceiptV2(input.receipt);
47
+ const receiptHash = hashDifferentialAdmissionReceiptV2(receipt);
48
+ if (input.receiptHash !== undefined && input.receiptHash !== receiptHash) {
49
+ fail('receipt hash does not match canonical receipt content');
50
+ }
51
+ if (!sameCanonical(receipt.task, {
52
+ instanceId: input.source.instanceId,
53
+ repo: input.source.repo,
54
+ baseCommit: input.source.baseCommit,
55
+ fixCommit: input.source.fixCommit,
56
+ })) {
57
+ fail('receipt task identity does not match the reviewed Jinn source');
58
+ }
59
+ if (!sameCanonical(receipt.testPaths.map((path) => path.testPath), input.source.testPaths)) {
60
+ fail('receipt test paths do not match the reviewed Jinn regression paths');
61
+ }
62
+ if (receipt.testPatchHash !== sha256(input.testPatch)) {
63
+ fail('receipt public test-patch hash drifted');
64
+ }
65
+ if (receipt.environment.environmentHash !== input.environment.environmentHash ||
66
+ !sameCanonical(receipt.environment.image, input.environment.image) ||
67
+ !sameCanonical(receipt.environment.parser, input.environment.parser) ||
68
+ receipt.environment.platform !== input.environment.platform) {
69
+ fail('receipt environment binding drifted');
70
+ }
71
+ if (input.environment.attestation.environmentHash !== input.environment.environmentHash) {
72
+ fail('environment attestation does not bind its declared environment hash');
73
+ }
74
+ if (!await verifyEnvironmentAttestationV1(input.environment.attestation)) {
75
+ fail('environment attestation signature is invalid');
76
+ }
77
+ return {
78
+ source: input.source,
79
+ receipt,
80
+ receiptCid: input.receiptCid,
81
+ receiptHash,
82
+ environment: input.environment,
83
+ testPatch: input.testPatch,
84
+ };
85
+ }
86
+ //# sourceMappingURL=differential-receipt-bound-proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"differential-receipt-bound-proof.js","sourceRoot":"","sources":["../../../src/task-creator/proofs/differential-receipt-bound-proof.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function isIpfsCid(value: string): boolean;
2
+ /**
3
+ * Hermetic tests deliberately use readable non-CID labels. Never admit those
4
+ * labels in an operator process; production must receive an actual CID.
5
+ */
6
+ export declare function isTestOnlyIpfsCidFixture(value: string): boolean;
7
+ export declare function isAcceptedIpfsCid(value: string): boolean;