@jinn-network/client 0.1.9 → 0.2.0-canary.0b79cd5d

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 (1344) hide show
  1. package/CONTRIBUTING.md +2 -2
  2. package/README.md +13 -2
  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 +32 -0
  7. package/dist/adapters/mech/adapter.js +210 -59
  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 +37 -21
  11. package/dist/adapters/mech/contracts.js.map +1 -1
  12. package/dist/adapters/mech/ipfs.d.ts +23 -34
  13. package/dist/adapters/mech/ipfs.js +69 -125
  14. package/dist/adapters/mech/ipfs.js.map +1 -1
  15. package/dist/adapters/mech/safe.js +74 -2
  16. package/dist/adapters/mech/safe.js.map +1 -1
  17. package/dist/adapters/mech/types.d.ts +22 -130
  18. package/dist/adapters/mech/types.js +9 -65
  19. package/dist/adapters/mech/types.js.map +1 -1
  20. package/dist/api/bootstrap-endpoint.d.ts +19 -3
  21. package/dist/api/bootstrap-endpoint.js +4 -0
  22. package/dist/api/bootstrap-endpoint.js.map +1 -1
  23. package/dist/api/gather-status.d.ts +52 -17
  24. package/dist/api/gather-status.js +159 -425
  25. package/dist/api/gather-status.js.map +1 -1
  26. package/dist/api/harness-auth-status-endpoint.d.ts +21 -0
  27. package/dist/api/harness-auth-status-endpoint.js +17 -0
  28. package/dist/api/harness-auth-status-endpoint.js.map +1 -0
  29. package/dist/api/launcher-endpoints.js +6 -1
  30. package/dist/api/launcher-endpoints.js.map +1 -1
  31. package/dist/api/launcher-status.d.ts +3 -0
  32. package/dist/api/launcher-status.js.map +1 -1
  33. package/dist/api/launcher-tasks.d.ts +47 -0
  34. package/dist/api/launcher-tasks.js +88 -3
  35. package/dist/api/launcher-tasks.js.map +1 -1
  36. package/dist/api/loop-completion-build.d.ts +14 -2
  37. package/dist/api/loop-completion-build.js +25 -3
  38. package/dist/api/loop-completion-build.js.map +1 -1
  39. package/dist/api/operator-artifacts-endpoint.js +1 -1
  40. package/dist/api/operator-artifacts-endpoint.js.map +1 -1
  41. package/dist/api/portfolio-v0-build.d.ts +2 -1
  42. package/dist/api/portfolio-v0-build.js +5 -7
  43. package/dist/api/portfolio-v0-build.js.map +1 -1
  44. package/dist/api/prediction-v1-build.d.ts +2 -2
  45. package/dist/api/prediction-v1-build.js +5 -7
  46. package/dist/api/prediction-v1-build.js.map +1 -1
  47. package/dist/api/rewards-build.d.ts +8 -1
  48. package/dist/api/rewards-build.js +32 -4
  49. package/dist/api/rewards-build.js.map +1 -1
  50. package/dist/api/rewards-endpoint.d.ts +12 -0
  51. package/dist/api/rewards-endpoint.js +46 -0
  52. package/dist/api/rewards-endpoint.js.map +1 -0
  53. package/dist/api/run-outcome.d.ts +49 -0
  54. package/dist/api/run-outcome.js +65 -0
  55. package/dist/api/run-outcome.js.map +1 -0
  56. package/dist/api/server.d.ts +6 -16
  57. package/dist/api/server.js +36 -26
  58. package/dist/api/server.js.map +1 -1
  59. package/dist/api/setup-endpoints.d.ts +32 -0
  60. package/dist/api/setup-endpoints.js +285 -32
  61. package/dist/api/setup-endpoints.js.map +1 -1
  62. package/dist/api/solvernets-endpoints.js +1 -1
  63. package/dist/api/solvernets-endpoints.js.map +1 -1
  64. package/dist/api/status-build.d.ts +101 -67
  65. package/dist/api/status-build.js +31 -55
  66. package/dist/api/status-build.js.map +1 -1
  67. package/dist/api/stop-hook.d.ts +1 -1
  68. package/dist/api/stop-hook.js +1 -1
  69. package/dist/api/stop-hook.js.map +1 -1
  70. package/dist/api/task-run-routing.d.ts +1 -1
  71. package/dist/api/task-runs-build.d.ts +21 -2
  72. package/dist/api/task-runs-build.js +27 -7
  73. package/dist/api/task-runs-build.js.map +1 -1
  74. package/dist/build-info.json +4 -4
  75. package/dist/build-meta.json +1 -1
  76. package/dist/captures/ingest.d.ts +21 -0
  77. package/dist/captures/ingest.js +133 -0
  78. package/dist/captures/ingest.js.map +1 -0
  79. package/dist/captures/live-publisher.d.ts +9 -0
  80. package/dist/captures/live-publisher.js +5 -3
  81. package/dist/captures/live-publisher.js.map +1 -1
  82. package/dist/captures/publish.d.ts +25 -0
  83. package/dist/captures/publish.js +19 -7
  84. package/dist/captures/publish.js.map +1 -1
  85. package/dist/cli/commands/backfill-failed-deliveries.d.ts +40 -0
  86. package/dist/cli/commands/backfill-failed-deliveries.js +172 -0
  87. package/dist/cli/commands/backfill-failed-deliveries.js.map +1 -0
  88. package/dist/cli/commands/doctor.js +4 -7
  89. package/dist/cli/commands/doctor.js.map +1 -1
  90. package/dist/cli/commands/eval.d.ts +11 -0
  91. package/dist/cli/commands/eval.js +104 -24
  92. package/dist/cli/commands/eval.js.map +1 -1
  93. package/dist/cli/commands/kill.d.ts +14 -0
  94. package/dist/cli/commands/kill.js +141 -0
  95. package/dist/cli/commands/kill.js.map +1 -0
  96. package/dist/cli/commands/rewards.js +17 -15
  97. package/dist/cli/commands/rewards.js.map +1 -1
  98. package/dist/cli/commands/run.js +18 -4
  99. package/dist/cli/commands/run.js.map +1 -1
  100. package/dist/cli/commands/scrub.d.ts +11 -0
  101. package/dist/cli/commands/scrub.js +164 -0
  102. package/dist/cli/commands/scrub.js.map +1 -0
  103. package/dist/cli/commands/solver-nets.d.ts +6 -0
  104. package/dist/cli/commands/solver-nets.js +161 -6
  105. package/dist/cli/commands/solver-nets.js.map +1 -1
  106. package/dist/cli/commands/solver-plugins.js +2 -2
  107. package/dist/cli/commands/solver-plugins.js.map +1 -1
  108. package/dist/cli/commands/stop.js +97 -21
  109. package/dist/cli/commands/stop.js.map +1 -1
  110. package/dist/cli/commands/update.js +8 -0
  111. package/dist/cli/commands/update.js.map +1 -1
  112. package/dist/cli/commands/version.js +4 -0
  113. package/dist/cli/commands/version.js.map +1 -1
  114. package/dist/cli/execution-context.js +2 -1
  115. package/dist/cli/execution-context.js.map +1 -1
  116. package/dist/cli/index.js +6 -0
  117. package/dist/cli/index.js.map +1 -1
  118. package/dist/cli/introspection-context.js +0 -3
  119. package/dist/cli/introspection-context.js.map +1 -1
  120. package/dist/cli/ui-auto-open-gate.d.ts +22 -0
  121. package/dist/cli/ui-auto-open-gate.js +24 -0
  122. package/dist/cli/ui-auto-open-gate.js.map +1 -0
  123. package/dist/config.d.ts +319 -540
  124. package/dist/config.js +355 -194
  125. package/dist/config.js.map +1 -1
  126. package/dist/conformance/execution-envelope-authenticator.d.ts +2 -0
  127. package/dist/conformance/execution-envelope-authenticator.js +38 -0
  128. package/dist/conformance/execution-envelope-authenticator.js.map +1 -0
  129. package/dist/contracts/abis.d.ts +100 -0
  130. package/dist/contracts/abis.js +58 -0
  131. package/dist/contracts/abis.js.map +1 -0
  132. package/dist/contracts/addresses.d.ts +36 -0
  133. package/dist/contracts/addresses.js +60 -0
  134. package/dist/contracts/addresses.js.map +1 -0
  135. package/dist/corpus/acquire.d.ts +1 -40
  136. package/dist/corpus/acquire.js +1 -212
  137. package/dist/corpus/acquire.js.map +1 -1
  138. package/dist/corpus/cache.d.ts +1 -14
  139. package/dist/corpus/cache.js +1 -17
  140. package/dist/corpus/cache.js.map +1 -1
  141. package/dist/corpus/fetch-artifact.d.ts +1 -0
  142. package/dist/corpus/fetch-artifact.js +2 -0
  143. package/dist/corpus/fetch-artifact.js.map +1 -0
  144. package/dist/corpus/fetch.d.ts +3 -7
  145. package/dist/corpus/fetch.js +9 -22
  146. package/dist/corpus/fetch.js.map +1 -1
  147. package/dist/corpus/index.d.ts +2 -3
  148. package/dist/corpus/index.js +19 -110
  149. package/dist/corpus/index.js.map +1 -1
  150. package/dist/corpus/onchain-query.d.ts +0 -1
  151. package/dist/corpus/onchain-query.js +2 -5
  152. package/dist/corpus/onchain-query.js.map +1 -1
  153. package/dist/corpus/route-resolver.d.ts +1 -16
  154. package/dist/corpus/route-resolver.js +1 -19
  155. package/dist/corpus/route-resolver.js.map +1 -1
  156. package/dist/corpus/types.d.ts +1 -17
  157. package/dist/corpus/types.js +1 -34
  158. package/dist/corpus/types.js.map +1 -1
  159. package/dist/daemon/ai-units-gate.d.ts +7 -7
  160. package/dist/daemon/ai-units-gate.js +8 -5
  161. package/dist/daemon/ai-units-gate.js.map +1 -1
  162. package/dist/daemon/balance-topup-loop.js +27 -9
  163. package/dist/daemon/balance-topup-loop.js.map +1 -1
  164. package/dist/daemon/checkpoint-loop.d.ts +3 -0
  165. package/dist/daemon/checkpoint-loop.js +5 -2
  166. package/dist/daemon/checkpoint-loop.js.map +1 -1
  167. package/dist/daemon/creator.d.ts +3 -1
  168. package/dist/daemon/creator.js +44 -28
  169. package/dist/daemon/creator.js.map +1 -1
  170. package/dist/daemon/daemon.d.ts +33 -12
  171. package/dist/daemon/daemon.js +144 -35
  172. package/dist/daemon/daemon.js.map +1 -1
  173. package/dist/daemon/delivery-watcher.d.ts +11 -1
  174. package/dist/daemon/delivery-watcher.js +29 -4
  175. package/dist/daemon/delivery-watcher.js.map +1 -1
  176. package/dist/daemon/eviction-loop.d.ts +3 -0
  177. package/dist/daemon/eviction-loop.js +7 -4
  178. package/dist/daemon/eviction-loop.js.map +1 -1
  179. package/dist/daemon/harvest-loop.d.ts +74 -0
  180. package/dist/daemon/harvest-loop.js +474 -0
  181. package/dist/daemon/harvest-loop.js.map +1 -0
  182. package/dist/daemon/join-applier.d.ts +40 -0
  183. package/dist/daemon/join-applier.js +52 -0
  184. package/dist/daemon/join-applier.js.map +1 -0
  185. package/dist/daemon/loop-heartbeat.d.ts +99 -0
  186. package/dist/daemon/loop-heartbeat.js +82 -0
  187. package/dist/daemon/loop-heartbeat.js.map +1 -0
  188. package/dist/{api/peers.js → daemon/peer-sync.js} +3 -1
  189. package/dist/daemon/peer-sync.js.map +1 -0
  190. package/dist/daemon/reward-claim-loop.js +28 -10
  191. package/dist/daemon/reward-claim-loop.js.map +1 -1
  192. package/dist/daemon/skip-log-dedup.d.ts +1 -1
  193. package/dist/daemon/skip-log-dedup.js +3 -0
  194. package/dist/daemon/skip-log-dedup.js.map +1 -1
  195. package/dist/daemon/spend-cap-gate.d.ts +0 -6
  196. package/dist/daemon/spend-cap-gate.js +1 -8
  197. package/dist/daemon/spend-cap-gate.js.map +1 -1
  198. package/dist/daemon/watchdog-loop.d.ts +84 -0
  199. package/dist/daemon/watchdog-loop.js +91 -0
  200. package/dist/daemon/watchdog-loop.js.map +1 -0
  201. package/dist/dashboard/assets/index-CawZUjVI.css +1 -0
  202. package/dist/dashboard/assets/index-DgScQzny.js +95 -0
  203. package/dist/dashboard/index.html +2 -2
  204. package/dist/discovery/http.d.ts +10 -0
  205. package/dist/discovery/http.js +178 -335
  206. package/dist/discovery/http.js.map +1 -1
  207. package/dist/discovery/onchain.js +30 -9
  208. package/dist/discovery/onchain.js.map +1 -1
  209. package/dist/discovery/types.d.ts +98 -52
  210. package/dist/discovery/types.js.map +1 -1
  211. package/dist/discovery/with-fallback.js +19 -0
  212. package/dist/discovery/with-fallback.js.map +1 -1
  213. package/dist/earning/bootstrap-run.d.ts +25 -0
  214. package/dist/earning/bootstrap-run.js +315 -0
  215. package/dist/earning/bootstrap-run.js.map +1 -0
  216. package/dist/earning/bootstrap.d.ts +11 -14
  217. package/dist/earning/bootstrap.js +56 -204
  218. package/dist/earning/bootstrap.js.map +1 -1
  219. package/dist/earning/contracts.d.ts +2 -232
  220. package/dist/earning/contracts.js +16 -205
  221. package/dist/earning/contracts.js.map +1 -1
  222. package/dist/earning/faucet-topup-store.d.ts +41 -0
  223. package/dist/earning/faucet-topup-store.js +89 -0
  224. package/dist/earning/faucet-topup-store.js.map +1 -0
  225. package/dist/earning/master-gas.d.ts +10 -0
  226. package/dist/earning/master-gas.js +11 -0
  227. package/dist/earning/master-gas.js.map +1 -0
  228. package/dist/earning/safe-adapter.js +1 -45
  229. package/dist/earning/safe-adapter.js.map +1 -1
  230. package/dist/earning/steps/context.d.ts +42 -0
  231. package/dist/earning/steps/context.js +4 -0
  232. package/dist/earning/steps/context.js.map +1 -0
  233. package/dist/earning/steps/fleet-identity-register.d.ts +4 -0
  234. package/dist/earning/steps/fleet-identity-register.js +65 -0
  235. package/dist/earning/steps/fleet-identity-register.js.map +1 -0
  236. package/dist/earning/steps/fleet-safe-deploy.d.ts +4 -0
  237. package/dist/earning/steps/fleet-safe-deploy.js +62 -0
  238. package/dist/earning/steps/fleet-safe-deploy.js.map +1 -0
  239. package/dist/earning/steps/fleet-safe-predict.d.ts +4 -0
  240. package/dist/earning/steps/fleet-safe-predict.js +18 -0
  241. package/dist/earning/steps/fleet-safe-predict.js.map +1 -0
  242. package/dist/earning/steps/receipt-parsing.d.ts +12 -0
  243. package/dist/earning/steps/receipt-parsing.js +71 -0
  244. package/dist/earning/steps/receipt-parsing.js.map +1 -0
  245. package/dist/earning/stolas-claim.js +8 -8
  246. package/dist/earning/stolas-claim.js.map +1 -1
  247. package/dist/earning/{jinn-rewards.d.ts → stolas-staking.d.ts} +4 -8
  248. package/dist/earning/{jinn-rewards.js → stolas-staking.js} +25 -23
  249. package/dist/earning/stolas-staking.js.map +1 -0
  250. package/dist/earning/testnet-setup-migration.d.ts +1 -0
  251. package/dist/earning/testnet-setup-migration.js +7 -2
  252. package/dist/earning/testnet-setup-migration.js.map +1 -1
  253. package/dist/earning/types.d.ts +9 -9
  254. package/dist/earning/types.js +1 -1
  255. package/dist/earning/types.js.map +1 -1
  256. package/dist/earning/viem-clients.d.ts +3 -19
  257. package/dist/earning/viem-clients.js +4 -31
  258. package/dist/earning/viem-clients.js.map +1 -1
  259. package/dist/earning/wallet.js +1 -1
  260. package/dist/earning/wallet.js.map +1 -1
  261. package/dist/erc8004/abis.d.ts +16 -0
  262. package/dist/erc8004/abis.js +12 -0
  263. package/dist/erc8004/abis.js.map +1 -1
  264. package/dist/erc8004/addresses.d.ts +6 -5
  265. package/dist/erc8004/addresses.js +7 -5
  266. package/dist/erc8004/addresses.js.map +1 -1
  267. package/dist/erc8004/identity.d.ts +54 -1
  268. package/dist/erc8004/identity.js +114 -5
  269. package/dist/erc8004/identity.js.map +1 -1
  270. package/dist/erc8004/index.d.ts +5 -2
  271. package/dist/erc8004/index.js +6 -2
  272. package/dist/erc8004/index.js.map +1 -1
  273. package/dist/erc8004/manifest-consumer.d.ts +32 -0
  274. package/dist/erc8004/manifest-consumer.js +95 -0
  275. package/dist/erc8004/manifest-consumer.js.map +1 -0
  276. package/dist/erc8004/manifest-registry.d.ts +1 -0
  277. package/dist/erc8004/manifest-registry.js +2 -0
  278. package/dist/erc8004/manifest-registry.js.map +1 -0
  279. package/dist/erc8004/merkle.d.ts +1 -0
  280. package/dist/erc8004/merkle.js +2 -0
  281. package/dist/erc8004/merkle.js.map +1 -0
  282. package/dist/erc8004/publisher-safe-resolver.d.ts +32 -0
  283. package/dist/erc8004/publisher-safe-resolver.js +102 -0
  284. package/dist/erc8004/publisher-safe-resolver.js.map +1 -0
  285. package/dist/erc8004/reputation.js +16 -12
  286. package/dist/erc8004/reputation.js.map +1 -1
  287. package/dist/erc8004/validation.js +5 -4
  288. package/dist/erc8004/validation.js.map +1 -1
  289. package/dist/eval/attribution-instrument.d.ts +190 -0
  290. package/dist/eval/attribution-instrument.js +719 -0
  291. package/dist/eval/attribution-instrument.js.map +1 -0
  292. package/dist/eval/attribution-verdict-evidence.d.ts +41 -0
  293. package/dist/eval/attribution-verdict-evidence.js +124 -0
  294. package/dist/eval/attribution-verdict-evidence.js.map +1 -0
  295. package/dist/eval/capability-slate.d.ts +64 -0
  296. package/dist/eval/capability-slate.js +136 -0
  297. package/dist/eval/capability-slate.js.map +1 -0
  298. package/dist/eval/capability-stats.d.ts +39 -0
  299. package/dist/eval/capability-stats.js +123 -0
  300. package/dist/eval/capability-stats.js.map +1 -0
  301. package/dist/eval/contested-band.d.ts +18 -0
  302. package/dist/eval/contested-band.js +19 -0
  303. package/dist/eval/contested-band.js.map +1 -0
  304. package/dist/eval/corpus-index.d.ts +21 -0
  305. package/dist/eval/corpus-index.js +55 -0
  306. package/dist/eval/corpus-index.js.map +1 -0
  307. package/dist/eval/disjointness.d.ts +26 -0
  308. package/dist/eval/disjointness.js +67 -0
  309. package/dist/eval/disjointness.js.map +1 -0
  310. package/dist/eval/mcnemar-power.d.ts +14 -0
  311. package/dist/eval/mcnemar-power.js +40 -0
  312. package/dist/eval/mcnemar-power.js.map +1 -0
  313. package/dist/eval/orchestrator.d.ts +64 -3
  314. package/dist/eval/orchestrator.js +37 -19
  315. package/dist/eval/orchestrator.js.map +1 -1
  316. package/dist/eval/paired.d.ts +2 -68
  317. package/dist/eval/paired.js +2 -92
  318. package/dist/eval/paired.js.map +1 -1
  319. package/dist/eval/resolve-slate-tasks.js +2 -2
  320. package/dist/eval/resolve-slate-tasks.js.map +1 -1
  321. package/dist/eval/screen-discovery.d.ts +5 -8
  322. package/dist/eval/screen-discovery.js +13 -55
  323. package/dist/eval/screen-discovery.js.map +1 -1
  324. package/dist/eval/screen-runner.js +3 -3
  325. package/dist/eval/screen-runner.js.map +1 -1
  326. package/dist/events/types.d.ts +1 -1
  327. package/dist/events/types.js +1 -1
  328. package/dist/events/types.js.map +1 -1
  329. package/dist/harnesses/auth-source.d.ts +51 -0
  330. package/dist/harnesses/auth-source.js +155 -0
  331. package/dist/harnesses/auth-source.js.map +1 -0
  332. package/dist/harnesses/engine/backfill-failed-deliveries.d.ts +59 -0
  333. package/dist/harnesses/engine/backfill-failed-deliveries.js +94 -0
  334. package/dist/harnesses/engine/backfill-failed-deliveries.js.map +1 -0
  335. package/dist/harnesses/engine/canonical-json.d.ts +2 -1
  336. package/dist/harnesses/engine/canonical-json.js +2 -67
  337. package/dist/harnesses/engine/canonical-json.js.map +1 -1
  338. package/dist/harnesses/engine/corpus-knowledge.d.ts +67 -0
  339. package/dist/harnesses/engine/corpus-knowledge.js +194 -0
  340. package/dist/harnesses/engine/corpus-knowledge.js.map +1 -0
  341. package/dist/harnesses/engine/engine.d.ts +97 -6
  342. package/dist/harnesses/engine/engine.js +343 -17
  343. package/dist/harnesses/engine/engine.js.map +1 -1
  344. package/dist/harnesses/engine/envelope-assembly.d.ts +9 -1
  345. package/dist/harnesses/engine/envelope-assembly.js +6 -0
  346. package/dist/harnesses/engine/envelope-assembly.js.map +1 -1
  347. package/dist/harnesses/engine/generator-model.d.ts +36 -0
  348. package/dist/harnesses/engine/generator-model.js +118 -0
  349. package/dist/harnesses/engine/generator-model.js.map +1 -0
  350. package/dist/harnesses/engine/packaging.js +5 -5
  351. package/dist/harnesses/engine/packaging.js.map +1 -1
  352. package/dist/harnesses/engine/persistence.d.ts +37 -62
  353. package/dist/harnesses/engine/persistence.js +66 -0
  354. package/dist/harnesses/engine/persistence.js.map +1 -1
  355. package/dist/harnesses/impls/_evaluator-base.d.ts +48 -0
  356. package/dist/harnesses/impls/_evaluator-base.js +35 -0
  357. package/dist/harnesses/impls/_evaluator-base.js.map +1 -0
  358. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.d.ts +1 -1
  359. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js +1 -1
  360. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js.map +1 -1
  361. package/dist/harnesses/impls/claude-mcp-prediction/index.d.ts +2 -3
  362. package/dist/harnesses/impls/claude-mcp-prediction/index.js +29 -99
  363. package/dist/harnesses/impls/claude-mcp-prediction/index.js.map +1 -1
  364. package/dist/harnesses/impls/claude-mcp-prediction/mcp-tools.js +4 -21
  365. package/dist/harnesses/impls/claude-mcp-prediction/mcp-tools.js.map +1 -1
  366. package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.d.ts +2 -0
  367. package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.js +1 -1
  368. package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.js.map +1 -1
  369. package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js +30 -79
  370. package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js.map +1 -1
  371. package/dist/harnesses/impls/claude-mcp-prediction-apy/mcp-tools.js +4 -19
  372. package/dist/harnesses/impls/claude-mcp-prediction-apy/mcp-tools.js.map +1 -1
  373. package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.d.ts +2 -0
  374. package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.js +1 -1
  375. package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.js.map +1 -1
  376. package/dist/harnesses/impls/claude-mcp-shared/mcp-server-script.d.ts +39 -0
  377. package/dist/harnesses/impls/claude-mcp-shared/mcp-server-script.js +62 -0
  378. package/dist/harnesses/impls/claude-mcp-shared/mcp-server-script.js.map +1 -0
  379. package/dist/harnesses/impls/claude-mcp-shared/mcp-server.d.ts +40 -0
  380. package/dist/harnesses/impls/claude-mcp-shared/mcp-server.js +44 -0
  381. package/dist/harnesses/impls/claude-mcp-shared/mcp-server.js.map +1 -0
  382. package/dist/harnesses/impls/claude-mcp-shared/single-session-harness.d.ts +56 -0
  383. package/dist/harnesses/impls/claude-mcp-shared/single-session-harness.js +79 -0
  384. package/dist/harnesses/impls/claude-mcp-shared/single-session-harness.js.map +1 -0
  385. package/dist/harnesses/impls/hermes-agent/adapter.js +97 -20
  386. package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
  387. package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +6 -0
  388. package/dist/harnesses/impls/hermes-agent/bootstrap.js +7 -2
  389. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  390. package/dist/harnesses/impls/hermes-agent/harness.d.ts +8 -0
  391. package/dist/harnesses/impls/hermes-agent/harness.js +21 -0
  392. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  393. package/dist/harnesses/impls/index.d.ts +9 -0
  394. package/dist/harnesses/impls/index.js +33 -1
  395. package/dist/harnesses/impls/index.js.map +1 -1
  396. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.d.ts +34 -0
  397. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js +111 -0
  398. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js.map +1 -0
  399. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.d.ts +24 -0
  400. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js +19 -0
  401. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js.map +1 -0
  402. package/dist/harnesses/impls/jinn-repo-evaluator/harness.d.ts +97 -0
  403. package/dist/harnesses/impls/jinn-repo-evaluator/harness.js +265 -0
  404. package/dist/harnesses/impls/jinn-repo-evaluator/harness.js.map +1 -0
  405. package/dist/harnesses/impls/jinn-repo-evaluator/live-eval-runner.d.ts +68 -0
  406. package/dist/harnesses/impls/jinn-repo-evaluator/live-eval-runner.js +223 -0
  407. package/dist/harnesses/impls/jinn-repo-evaluator/live-eval-runner.js.map +1 -0
  408. package/dist/harnesses/impls/jinn-repo-evaluator/repro.d.ts +32 -0
  409. package/dist/harnesses/impls/jinn-repo-evaluator/repro.js +73 -0
  410. package/dist/harnesses/impls/jinn-repo-evaluator/repro.js.map +1 -0
  411. package/dist/harnesses/impls/jinn-repo-evaluator/scope-tests.d.ts +62 -0
  412. package/dist/harnesses/impls/jinn-repo-evaluator/scope-tests.js +91 -0
  413. package/dist/harnesses/impls/jinn-repo-evaluator/scope-tests.js.map +1 -0
  414. package/dist/harnesses/impls/learner/adapters/claude-code.js +9 -2
  415. package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
  416. package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +11 -1
  417. package/dist/harnesses/impls/learner/adapters/codex-code.js +130 -15
  418. package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
  419. package/dist/harnesses/impls/learner/harness.d.ts +12 -0
  420. package/dist/harnesses/impls/learner/harness.js +43 -0
  421. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  422. package/dist/harnesses/impls/learner/harvest.js +51 -1
  423. package/dist/harnesses/impls/learner/harvest.js.map +1 -1
  424. package/dist/harnesses/impls/learner/types.d.ts +7 -0
  425. package/dist/harnesses/impls/portfolio-v0-evaluator/index.d.ts +5 -15
  426. package/dist/harnesses/impls/portfolio-v0-evaluator/index.js +10 -29
  427. package/dist/harnesses/impls/portfolio-v0-evaluator/index.js.map +1 -1
  428. package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.d.ts +5 -15
  429. package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.js +10 -23
  430. package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.js.map +1 -1
  431. package/dist/harnesses/impls/prediction-v0-evaluator/index.d.ts +5 -15
  432. package/dist/harnesses/impls/prediction-v0-evaluator/index.js +10 -25
  433. package/dist/harnesses/impls/prediction-v0-evaluator/index.js.map +1 -1
  434. package/dist/harnesses/impls/stub.d.ts +2 -2
  435. package/dist/harnesses/impls/stub.js +2 -2
  436. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +16 -2
  437. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
  438. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.d.ts +75 -8
  439. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +593 -38
  440. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
  441. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +4 -1
  442. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
  443. package/dist/harnesses/impls/swe-rebench-v2-evaluator/routing-task-row-fetcher.d.ts +37 -0
  444. package/dist/harnesses/impls/swe-rebench-v2-evaluator/routing-task-row-fetcher.js +59 -0
  445. package/dist/harnesses/impls/swe-rebench-v2-evaluator/routing-task-row-fetcher.js.map +1 -0
  446. package/dist/harnesses/impls/swe-rebench-v2-evaluator/upstream-patches/passed-actual.patch +21 -0
  447. package/dist/harnesses/provider-ref.d.ts +29 -0
  448. package/dist/harnesses/provider-ref.js +39 -0
  449. package/dist/harnesses/provider-ref.js.map +1 -0
  450. package/dist/harnesses/readiness-registry.d.ts +16 -0
  451. package/dist/harnesses/readiness-registry.js +28 -6
  452. package/dist/harnesses/readiness-registry.js.map +1 -1
  453. package/dist/harnesses/types.d.ts +13 -0
  454. package/dist/learner/verification-gate.d.ts +53 -0
  455. package/dist/learner/verification-gate.js +80 -0
  456. package/dist/learner/verification-gate.js.map +1 -0
  457. package/dist/lifecycle/process-discovery.d.ts +41 -0
  458. package/dist/lifecycle/process-discovery.js +109 -0
  459. package/dist/lifecycle/process-discovery.js.map +1 -0
  460. package/dist/main.js +362 -581
  461. package/dist/main.js.map +1 -1
  462. package/dist/mcp/acquire-artifact.d.ts +3 -3
  463. package/dist/mcp/acquire-artifact.js +3 -3
  464. package/dist/mcp/operator-server.js +9 -11
  465. package/dist/mcp/operator-server.js.map +1 -1
  466. package/dist/mcp/server.js +5 -6
  467. package/dist/mcp/server.js.map +1 -1
  468. package/dist/monitoring/net-liveness.d.ts +143 -0
  469. package/dist/monitoring/net-liveness.js +301 -0
  470. package/dist/monitoring/net-liveness.js.map +1 -0
  471. package/dist/observability/emit-event.d.ts +1 -1
  472. package/dist/observability/emit-event.js +2 -4
  473. package/dist/observability/emit-event.js.map +1 -1
  474. package/dist/observability/progress.d.ts +11 -0
  475. package/dist/observability/progress.js +16 -0
  476. package/dist/observability/progress.js.map +1 -0
  477. package/dist/pilot/arm-homes.d.ts +39 -0
  478. package/dist/pilot/arm-homes.js +113 -0
  479. package/dist/pilot/arm-homes.js.map +1 -0
  480. package/dist/pilot/cost.d.ts +19 -0
  481. package/dist/pilot/cost.js +31 -0
  482. package/dist/pilot/cost.js.map +1 -0
  483. package/dist/pilot/instance.d.ts +26 -0
  484. package/dist/pilot/instance.js +53 -0
  485. package/dist/pilot/instance.js.map +1 -0
  486. package/dist/pilot/pipeline.d.ts +17 -0
  487. package/dist/pilot/pipeline.js +35 -0
  488. package/dist/pilot/pipeline.js.map +1 -0
  489. package/dist/pilot/repo.d.ts +37 -0
  490. package/dist/pilot/repo.js +65 -0
  491. package/dist/pilot/repo.js.map +1 -0
  492. package/dist/pilot/resume.d.ts +101 -0
  493. package/dist/pilot/resume.js +204 -0
  494. package/dist/pilot/resume.js.map +1 -0
  495. package/dist/pilot/solve.d.ts +23 -0
  496. package/dist/pilot/solve.js +37 -0
  497. package/dist/pilot/solve.js.map +1 -0
  498. package/dist/pilot/tally.d.ts +42 -0
  499. package/dist/pilot/tally.js +100 -0
  500. package/dist/pilot/tally.js.map +1 -0
  501. package/dist/pilot/task-selection.d.ts +27 -0
  502. package/dist/pilot/task-selection.js +112 -0
  503. package/dist/pilot/task-selection.js.map +1 -0
  504. package/dist/plugins/resolvers.js +7 -4
  505. package/dist/plugins/resolvers.js.map +1 -1
  506. package/dist/plugins/types.d.ts +8 -0
  507. package/dist/preflight/deployment-readiness.d.ts +2 -22
  508. package/dist/preflight/deployment-readiness.js +1 -59
  509. package/dist/preflight/deployment-readiness.js.map +1 -1
  510. package/dist/preflight/pidfile-liveness.d.ts +3 -2
  511. package/dist/preflight/pidfile-liveness.js +18 -2
  512. package/dist/preflight/pidfile-liveness.js.map +1 -1
  513. package/dist/preflight/rpc-network.d.ts +10 -3
  514. package/dist/preflight/rpc-network.js +46 -13
  515. package/dist/preflight/rpc-network.js.map +1 -1
  516. package/dist/preflight/stable-cwd.d.ts +29 -0
  517. package/dist/preflight/stable-cwd.js +98 -0
  518. package/dist/preflight/stable-cwd.js.map +1 -0
  519. package/dist/preflight/version-check.d.ts +41 -0
  520. package/dist/preflight/version-check.js +80 -0
  521. package/dist/preflight/version-check.js.map +1 -0
  522. package/dist/rpc/transport.d.ts +7 -5
  523. package/dist/rpc/transport.js +8 -6
  524. package/dist/rpc/transport.js.map +1 -1
  525. package/dist/scripts/swe-rebench-v2-evaluator.bundle.v1.patch +79 -0
  526. package/dist/solver-nets/registry.d.ts +26 -0
  527. package/dist/solver-nets/registry.js +101 -66
  528. package/dist/solver-nets/registry.js.map +1 -1
  529. package/dist/solver-types/_jinn-repo-pool.d.ts +61 -0
  530. package/dist/solver-types/_jinn-repo-pool.js +34 -0
  531. package/dist/solver-types/_jinn-repo-pool.js.map +1 -0
  532. package/dist/solver-types/_jinn-repo-posting-window.d.ts +12 -0
  533. package/dist/solver-types/_jinn-repo-posting-window.js +24 -0
  534. package/dist/solver-types/_jinn-repo-posting-window.js.map +1 -0
  535. package/dist/solver-types/_swe-rebench-v2-commit-echo-git.d.ts +46 -0
  536. package/dist/solver-types/_swe-rebench-v2-commit-echo-git.js +192 -0
  537. package/dist/solver-types/_swe-rebench-v2-commit-echo-git.js.map +1 -0
  538. package/dist/solver-types/_swe-rebench-v2-commit-echo.d.ts +57 -0
  539. package/dist/solver-types/_swe-rebench-v2-commit-echo.js +57 -0
  540. package/dist/solver-types/_swe-rebench-v2-commit-echo.js.map +1 -0
  541. package/dist/solver-types/_swe-rebench-v2-differential-admission.d.ts +395 -0
  542. package/dist/solver-types/_swe-rebench-v2-differential-admission.js +231 -0
  543. package/dist/solver-types/_swe-rebench-v2-differential-admission.js.map +1 -0
  544. package/dist/solver-types/_swe-rebench-v2-empirical-tests.d.ts +47 -0
  545. package/dist/solver-types/_swe-rebench-v2-empirical-tests.js +67 -0
  546. package/dist/solver-types/_swe-rebench-v2-empirical-tests.js.map +1 -0
  547. package/dist/solver-types/_swe-rebench-v2-escrow.d.ts +2 -0
  548. package/dist/solver-types/_swe-rebench-v2-escrow.js +13 -0
  549. package/dist/solver-types/_swe-rebench-v2-escrow.js.map +1 -1
  550. package/dist/solver-types/_swe-rebench-v2-guards.d.ts +44 -0
  551. package/dist/solver-types/_swe-rebench-v2-guards.js +111 -0
  552. package/dist/solver-types/_swe-rebench-v2-guards.js.map +1 -0
  553. package/dist/solver-types/_swe-rebench-v2-harvest-state.d.ts +191 -0
  554. package/dist/solver-types/_swe-rebench-v2-harvest-state.js +349 -0
  555. package/dist/solver-types/_swe-rebench-v2-harvest-state.js.map +1 -0
  556. package/dist/solver-types/_swe-rebench-v2-harvest.d.ts +123 -0
  557. package/dist/solver-types/_swe-rebench-v2-harvest.js +539 -0
  558. package/dist/solver-types/_swe-rebench-v2-harvest.js.map +1 -0
  559. package/dist/solver-types/_swe-rebench-v2-held-out-slate.d.ts +1 -1
  560. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js +1 -1
  561. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js.map +1 -1
  562. package/dist/solver-types/_swe-rebench-v2-hunk-echo.d.ts +28 -0
  563. package/dist/solver-types/_swe-rebench-v2-hunk-echo.js +32 -0
  564. package/dist/solver-types/_swe-rebench-v2-hunk-echo.js.map +1 -0
  565. package/dist/solver-types/_swe-rebench-v2-lookup-tripwire.d.ts +16 -0
  566. package/dist/solver-types/_swe-rebench-v2-lookup-tripwire.js +18 -0
  567. package/dist/solver-types/_swe-rebench-v2-lookup-tripwire.js.map +1 -0
  568. package/dist/solver-types/_swe-rebench-v2-mineable-store-port.d.ts +74 -0
  569. package/dist/solver-types/_swe-rebench-v2-mineable-store-port.js +9 -0
  570. package/dist/solver-types/_swe-rebench-v2-mineable-store-port.js.map +1 -0
  571. package/dist/solver-types/_swe-rebench-v2-mineable-store.d.ts +51 -0
  572. package/dist/solver-types/_swe-rebench-v2-mineable-store.js +171 -0
  573. package/dist/solver-types/_swe-rebench-v2-mineable-store.js.map +1 -0
  574. package/dist/solver-types/_swe-rebench-v2-mint-cli.d.ts +82 -0
  575. package/dist/solver-types/_swe-rebench-v2-mint-cli.js +434 -0
  576. package/dist/solver-types/_swe-rebench-v2-mint-cli.js.map +1 -0
  577. package/dist/solver-types/_swe-rebench-v2-minted-environment-verifier.d.ts +25 -0
  578. package/dist/solver-types/_swe-rebench-v2-minted-environment-verifier.js +101 -0
  579. package/dist/solver-types/_swe-rebench-v2-minted-environment-verifier.js.map +1 -0
  580. package/dist/solver-types/_swe-rebench-v2-minted-pool.d.ts +179 -0
  581. package/dist/solver-types/_swe-rebench-v2-minted-pool.js +408 -0
  582. package/dist/solver-types/_swe-rebench-v2-minted-pool.js.map +1 -0
  583. package/dist/solver-types/_swe-rebench-v2-session-echo.d.ts +39 -0
  584. package/dist/solver-types/_swe-rebench-v2-session-echo.js +193 -0
  585. package/dist/solver-types/_swe-rebench-v2-session-echo.js.map +1 -0
  586. package/dist/solver-types/_swe-rebench-v2-substrate.d.ts +11 -0
  587. package/dist/solver-types/_swe-rebench-v2-substrate.js +24 -0
  588. package/dist/solver-types/_swe-rebench-v2-substrate.js.map +1 -1
  589. package/dist/solver-types/_swe-rebench-v2-synthetic-claim.d.ts +9 -0
  590. package/dist/solver-types/_swe-rebench-v2-synthetic-claim.js +16 -0
  591. package/dist/solver-types/_swe-rebench-v2-synthetic-claim.js.map +1 -0
  592. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +180 -1
  593. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +328 -14
  594. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  595. package/dist/solver-types/_swe-rebench-v2-verifier-facts.d.ts +93 -0
  596. package/dist/solver-types/_swe-rebench-v2-verifier-facts.js +583 -0
  597. package/dist/solver-types/_swe-rebench-v2-verifier-facts.js.map +1 -0
  598. package/dist/solver-types/_swe-rebench-v2-yield-report-data.d.ts +5 -0
  599. package/dist/solver-types/_swe-rebench-v2-yield-report-data.js +16 -0
  600. package/dist/solver-types/_swe-rebench-v2-yield-report-data.js.map +1 -0
  601. package/dist/solver-types/_swe-rebench-v2-yield.d.ts +51 -0
  602. package/dist/solver-types/_swe-rebench-v2-yield.js +53 -0
  603. package/dist/solver-types/_swe-rebench-v2-yield.js.map +1 -0
  604. package/dist/solver-types/index.js +2 -0
  605. package/dist/solver-types/index.js.map +1 -1
  606. package/dist/solver-types/jinn-repo-admit.d.ts +17 -0
  607. package/dist/solver-types/jinn-repo-admit.js +16 -0
  608. package/dist/solver-types/jinn-repo-admit.js.map +1 -0
  609. package/dist/solver-types/jinn-repo-auto.d.ts +63 -0
  610. package/dist/solver-types/jinn-repo-auto.js +166 -0
  611. package/dist/solver-types/jinn-repo-auto.js.map +1 -0
  612. package/dist/solver-types/jinn-repo-definition.d.ts +15 -0
  613. package/dist/solver-types/jinn-repo-definition.js +34 -0
  614. package/dist/solver-types/jinn-repo-definition.js.map +1 -0
  615. package/dist/solver-types/jinn-repo-extract.d.ts +16 -0
  616. package/dist/solver-types/jinn-repo-extract.js +33 -0
  617. package/dist/solver-types/jinn-repo-extract.js.map +1 -0
  618. package/dist/solver-types/jinn-repo-live-auto.d.ts +206 -0
  619. package/dist/solver-types/jinn-repo-live-auto.js +351 -0
  620. package/dist/solver-types/jinn-repo-live-auto.js.map +1 -0
  621. package/dist/solver-types/jinn-repo.d.ts +42 -0
  622. package/dist/solver-types/jinn-repo.js +42 -0
  623. package/dist/solver-types/jinn-repo.js.map +1 -0
  624. package/dist/solver-types/learner-loop-test.js +1 -1
  625. package/dist/solver-types/learner-loop-test.js.map +1 -1
  626. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v3.json +34 -0
  627. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v3.quality-screen.json +186 -0
  628. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v3.screening-report.json +488 -0
  629. package/dist/solver-types/solver-type.d.ts +2 -0
  630. package/dist/solver-types/swe-rebench-v2-auto.d.ts +13 -0
  631. package/dist/solver-types/swe-rebench-v2-auto.js +36 -1
  632. package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
  633. package/dist/solver-types/swe-rebench-v2.d.ts +3 -0
  634. package/dist/solver-types/swe-rebench-v2.js +73 -27
  635. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  636. package/dist/solvernets/launched-record-dispatcher.d.ts +16 -0
  637. package/dist/solvernets/launched-record-dispatcher.js +30 -1
  638. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  639. package/dist/solvernets/store.d.ts +1 -1
  640. package/dist/solvernets/store.js +1 -1
  641. package/dist/solvernets/store.js.map +1 -1
  642. package/dist/spend/ai-units.d.ts +38 -1
  643. package/dist/spend/ai-units.js +32 -2
  644. package/dist/spend/ai-units.js.map +1 -1
  645. package/dist/spend/credential.d.ts +2 -2
  646. package/dist/spend/credential.js +9 -3
  647. package/dist/spend/credential.js.map +1 -1
  648. package/dist/spend/spend-cap.d.ts +10 -0
  649. package/dist/spend/spend-cap.js +13 -0
  650. package/dist/spend/spend-cap.js.map +1 -0
  651. package/dist/spend/usage.js +39 -3
  652. package/dist/spend/usage.js.map +1 -1
  653. package/dist/store/store.d.ts +73 -1
  654. package/dist/store/store.js +197 -6
  655. package/dist/store/store.js.map +1 -1
  656. package/dist/task-creator/environment/adapters.d.ts +139 -0
  657. package/dist/task-creator/environment/adapters.js +446 -0
  658. package/dist/task-creator/environment/adapters.js.map +1 -0
  659. package/dist/task-creator/environment/build.d.ts +5 -0
  660. package/dist/task-creator/environment/build.js +53 -0
  661. package/dist/task-creator/environment/build.js.map +1 -0
  662. package/dist/task-creator/environment/contracts.d.ts +1338 -0
  663. package/dist/task-creator/environment/contracts.js +207 -0
  664. package/dist/task-creator/environment/contracts.js.map +1 -0
  665. package/dist/task-creator/environment/github.d.ts +25 -0
  666. package/dist/task-creator/environment/github.js +67 -0
  667. package/dist/task-creator/environment/github.js.map +1 -0
  668. package/dist/task-creator/environment/interfaces.d.ts +60 -0
  669. package/dist/task-creator/environment/interfaces.js +3 -0
  670. package/dist/task-creator/environment/interfaces.js.map +1 -0
  671. package/dist/task-creator/environment/jinn-differential-policy.d.ts +22 -0
  672. package/dist/task-creator/environment/jinn-differential-policy.js +73 -0
  673. package/dist/task-creator/environment/jinn-differential-policy.js.map +1 -0
  674. package/dist/task-creator/environment/policy.d.ts +38 -0
  675. package/dist/task-creator/environment/policy.js +51 -0
  676. package/dist/task-creator/environment/policy.js.map +1 -0
  677. package/dist/task-creator/environment/publication.d.ts +39 -0
  678. package/dist/task-creator/environment/publication.js +139 -0
  679. package/dist/task-creator/environment/publication.js.map +1 -0
  680. package/dist/task-creator/environment/publish-cli.d.ts +427 -0
  681. package/dist/task-creator/environment/publish-cli.js +180 -0
  682. package/dist/task-creator/environment/publish-cli.js.map +1 -0
  683. package/dist/task-creator/environment/recipes.d.ts +19 -0
  684. package/dist/task-creator/environment/recipes.js +122 -0
  685. package/dist/task-creator/environment/recipes.js.map +1 -0
  686. package/dist/task-creator/environment/resolver.d.ts +53 -0
  687. package/dist/task-creator/environment/resolver.js +57 -0
  688. package/dist/task-creator/environment/resolver.js.map +1 -0
  689. package/dist/task-creator/proofs/differential-receipt-bound-proof.d.ts +27 -0
  690. package/dist/task-creator/proofs/differential-receipt-bound-proof.js +86 -0
  691. package/dist/task-creator/proofs/differential-receipt-bound-proof.js.map +1 -0
  692. package/dist/task-creator/proofs/ipfs-cid.d.ts +7 -0
  693. package/dist/task-creator/proofs/ipfs-cid.js +98 -0
  694. package/dist/task-creator/proofs/ipfs-cid.js.map +1 -0
  695. package/dist/task-creator/proofs/live-proof.d.ts +99 -0
  696. package/dist/task-creator/proofs/live-proof.js +419 -0
  697. package/dist/task-creator/proofs/live-proof.js.map +1 -0
  698. package/dist/task-creator/proofs/public-repo-fixtures.d.ts +53 -0
  699. package/dist/task-creator/proofs/public-repo-fixtures.js +93 -0
  700. package/dist/task-creator/proofs/public-repo-fixtures.js.map +1 -0
  701. package/dist/task-creator/proofs/vitest-json-fixture.d.ts +40 -0
  702. package/dist/task-creator/proofs/vitest-json-fixture.js +115 -0
  703. package/dist/task-creator/proofs/vitest-json-fixture.js.map +1 -0
  704. package/dist/trajectory/emit.d.ts +6 -0
  705. package/dist/trajectory/emit.js +18 -1
  706. package/dist/trajectory/emit.js.map +1 -1
  707. package/dist/trajectory/harness-bundle-schema.d.ts +3 -3
  708. package/dist/trajectory/harness-bundle-schema.js +1 -1
  709. package/dist/trajectory/harness-bundle-schema.js.map +1 -1
  710. package/dist/trajectory/hash-chain.d.ts +1 -18
  711. package/dist/trajectory/hash-chain.js +1 -22
  712. package/dist/trajectory/hash-chain.js.map +1 -1
  713. package/dist/trajectory/index.d.ts +2 -0
  714. package/dist/trajectory/index.js +2 -0
  715. package/dist/trajectory/index.js.map +1 -1
  716. package/dist/trajectory/processors/identity-scrub.js +22 -3
  717. package/dist/trajectory/processors/identity-scrub.js.map +1 -1
  718. package/dist/trajectory/schema.d.ts +1 -598
  719. package/dist/trajectory/schema.js +1 -102
  720. package/dist/trajectory/schema.js.map +1 -1
  721. package/dist/trajectory/scrub/build.d.ts +1 -0
  722. package/dist/trajectory/scrub/build.js +2 -0
  723. package/dist/trajectory/scrub/build.js.map +1 -0
  724. package/dist/trajectory/scrub/emit-scrub.d.ts +1 -0
  725. package/dist/trajectory/scrub/emit-scrub.js +2 -0
  726. package/dist/trajectory/scrub/emit-scrub.js.map +1 -0
  727. package/dist/trajectory/scrub/key-policy.d.ts +1 -0
  728. package/dist/trajectory/scrub/key-policy.js +2 -0
  729. package/dist/trajectory/scrub/key-policy.js.map +1 -0
  730. package/dist/trajectory/scrub/layer2.d.ts +1 -0
  731. package/dist/trajectory/scrub/layer2.js +2 -0
  732. package/dist/trajectory/scrub/layer2.js.map +1 -0
  733. package/dist/trajectory/scrub/ml-pii-stage.d.ts +1 -0
  734. package/dist/trajectory/scrub/ml-pii-stage.js +2 -0
  735. package/dist/trajectory/scrub/ml-pii-stage.js.map +1 -0
  736. package/dist/trajectory/scrub/pii-build.d.ts +1 -0
  737. package/dist/trajectory/scrub/pii-build.js +2 -0
  738. package/dist/trajectory/scrub/pii-build.js.map +1 -0
  739. package/dist/trajectory/scrub/pipeline.d.ts +1 -0
  740. package/dist/trajectory/scrub/pipeline.js +2 -0
  741. package/dist/trajectory/scrub/pipeline.js.map +1 -0
  742. package/dist/trajectory/scrub/plain-patterns-stage.d.ts +1 -0
  743. package/dist/trajectory/scrub/plain-patterns-stage.js +2 -0
  744. package/dist/trajectory/scrub/plain-patterns-stage.js.map +1 -0
  745. package/dist/trajectory/scrub/secretlint-stage.d.ts +1 -0
  746. package/dist/trajectory/scrub/secretlint-stage.js +2 -0
  747. package/dist/trajectory/scrub/secretlint-stage.js.map +1 -0
  748. package/dist/trajectory/scrub/transformers-detector.d.ts +1 -0
  749. package/dist/trajectory/scrub/transformers-detector.js +2 -0
  750. package/dist/trajectory/scrub/transformers-detector.js.map +1 -0
  751. package/dist/trajectory/scrub/types.d.ts +1 -0
  752. package/dist/trajectory/scrub/types.js +2 -0
  753. package/dist/trajectory/scrub/types.js.map +1 -0
  754. package/dist/trajectory/secret-scrub.d.ts +4 -6
  755. package/dist/trajectory/secret-scrub.js +52 -12
  756. package/dist/trajectory/secret-scrub.js.map +1 -1
  757. package/dist/trajectory/span-profile.js +14 -0
  758. package/dist/trajectory/span-profile.js.map +1 -1
  759. package/dist/trajectory/transcript-parsers/aider-history.d.ts +1 -42
  760. package/dist/trajectory/transcript-parsers/aider-history.js +1 -181
  761. package/dist/trajectory/transcript-parsers/aider-history.js.map +1 -1
  762. package/dist/trajectory/transcript-parsers/claude-code-jsonl.d.ts +1 -37
  763. package/dist/trajectory/transcript-parsers/claude-code-jsonl.js +1 -142
  764. package/dist/trajectory/transcript-parsers/claude-code-jsonl.js.map +1 -1
  765. package/dist/trajectory/transcript-parsers/codex-session.d.ts +1 -42
  766. package/dist/trajectory/transcript-parsers/codex-session.js +1 -235
  767. package/dist/trajectory/transcript-parsers/codex-session.js.map +1 -1
  768. package/dist/trajectory/transcript-parsers/continue-devdata.d.ts +1 -41
  769. package/dist/trajectory/transcript-parsers/continue-devdata.js +1 -190
  770. package/dist/trajectory/transcript-parsers/continue-devdata.js.map +1 -1
  771. package/dist/trajectory/transcript-parsers/cursor-sqlite.d.ts +1 -38
  772. package/dist/trajectory/transcript-parsers/cursor-sqlite.js +1 -118
  773. package/dist/trajectory/transcript-parsers/cursor-sqlite.js.map +1 -1
  774. package/dist/trajectory/transcript-parsers/gemini-session.d.ts +1 -35
  775. package/dist/trajectory/transcript-parsers/gemini-session.js +1 -137
  776. package/dist/trajectory/transcript-parsers/gemini-session.js.map +1 -1
  777. package/dist/trajectory/transcript-parsers/types.d.ts +1 -101
  778. package/dist/trajectory/transcript-parsers/types.js +1 -32
  779. package/dist/trajectory/transcript-parsers/types.js.map +1 -1
  780. package/dist/trajectory/transcript-to-spans/attrs.d.ts +1 -0
  781. package/dist/trajectory/transcript-to-spans/attrs.js +2 -0
  782. package/dist/trajectory/transcript-to-spans/attrs.js.map +1 -0
  783. package/dist/trajectory/transcript-to-spans/claude-code-stream-json.d.ts +1 -0
  784. package/dist/trajectory/transcript-to-spans/claude-code-stream-json.js +2 -0
  785. package/dist/trajectory/transcript-to-spans/claude-code-stream-json.js.map +1 -0
  786. package/dist/trajectory/transcript-to-spans/codex-exec-json.d.ts +1 -0
  787. package/dist/trajectory/transcript-to-spans/codex-exec-json.js +2 -0
  788. package/dist/trajectory/transcript-to-spans/codex-exec-json.js.map +1 -0
  789. package/dist/trajectory/transcript-to-spans/hermes-session-json.d.ts +48 -0
  790. package/dist/trajectory/transcript-to-spans/hermes-session-json.js +193 -0
  791. package/dist/trajectory/transcript-to-spans/hermes-session-json.js.map +1 -0
  792. package/dist/trajectory/transcript-to-spans/index.d.ts +38 -0
  793. package/dist/trajectory/transcript-to-spans/index.js +77 -0
  794. package/dist/trajectory/transcript-to-spans/index.js.map +1 -0
  795. package/dist/trajectory/transcript-to-spans/types.d.ts +16 -0
  796. package/dist/trajectory/transcript-to-spans/types.js +11 -0
  797. package/dist/trajectory/transcript-to-spans/types.js.map +1 -0
  798. package/dist/trajectory/transcript-watcher.d.ts +41 -0
  799. package/dist/trajectory/transcript-watcher.js +34 -0
  800. package/dist/trajectory/transcript-watcher.js.map +1 -1
  801. package/dist/tx-retry.d.ts +18 -0
  802. package/dist/tx-retry.js +52 -12
  803. package/dist/tx-retry.js.map +1 -1
  804. package/dist/types/envelope.d.ts +3 -2785
  805. package/dist/types/envelope.js +3 -160
  806. package/dist/types/envelope.js.map +1 -1
  807. package/dist/types/manifest.d.ts +1 -0
  808. package/dist/types/manifest.js +2 -0
  809. package/dist/types/manifest.js.map +1 -0
  810. package/dist/types/payloads/index.d.ts +1 -1
  811. package/dist/types/payloads/index.js +7 -1
  812. package/dist/types/payloads/index.js.map +1 -1
  813. package/dist/types/payloads/portfolio-v0.d.ts +4 -4
  814. package/dist/types/payloads/portfolio-v0.js +1 -1
  815. package/dist/types/payloads/portfolio-v0.js.map +1 -1
  816. package/dist/types/payloads/prediction-apy-v0.d.ts +4 -4
  817. package/dist/types/payloads/prediction-apy-v0.js +1 -1
  818. package/dist/types/payloads/prediction-apy-v0.js.map +1 -1
  819. package/dist/types/payloads/prediction-v0.d.ts +4 -4
  820. package/dist/types/payloads/prediction-v0.js +1 -1
  821. package/dist/types/payloads/prediction-v0.js.map +1 -1
  822. package/dist/types/portfolio.d.ts +1 -1
  823. package/dist/types/portfolio.js +1 -1
  824. package/dist/types/portfolio.js.map +1 -1
  825. package/dist/types/prediction-apy.d.ts +1 -1
  826. package/dist/types/prediction-apy.js +1 -1
  827. package/dist/types/prediction-apy.js.map +1 -1
  828. package/dist/types/prediction.d.ts +1 -1
  829. package/dist/types/prediction.js +1 -1
  830. package/dist/types/prediction.js.map +1 -1
  831. package/dist/types/session-provenance.d.ts +2 -71
  832. package/dist/types/session-provenance.js +2 -18
  833. package/dist/types/session-provenance.js.map +1 -1
  834. package/dist/types/skill-artifact.d.ts +5 -0
  835. package/dist/types/skill-artifact.js +6 -0
  836. package/dist/types/skill-artifact.js.map +1 -0
  837. package/dist/types/task-document.d.ts +315 -1
  838. package/dist/types/task-document.js +9 -1
  839. package/dist/types/task-document.js.map +1 -1
  840. package/dist/types/task-run-read-model.d.ts +21 -0
  841. package/dist/types/task-run-read-model.js +2 -0
  842. package/dist/types/task-run-read-model.js.map +1 -0
  843. package/dist/types/task-run.d.ts +88 -0
  844. package/dist/types/task-run.js +2 -0
  845. package/dist/types/task-run.js.map +1 -0
  846. package/dist/types/task.d.ts +36 -1
  847. package/dist/types/task.js +1 -1
  848. package/dist/types/task.js.map +1 -1
  849. package/dist/types/window.d.ts +2 -12
  850. package/dist/types/window.js +2 -5
  851. package/dist/types/window.js.map +1 -1
  852. package/dist/util/redact-rpc-urls.d.ts +1 -1
  853. package/dist/util/redact-rpc-urls.js +57 -2
  854. package/dist/util/redact-rpc-urls.js.map +1 -1
  855. package/dist/vendor/@jinn-network/core/dist/canonical-json.d.ts +1 -0
  856. package/dist/vendor/@jinn-network/core/dist/canonical-json.js +67 -0
  857. package/dist/vendor/@jinn-network/core/dist/captured-task.d.ts +140 -0
  858. package/dist/vendor/@jinn-network/core/dist/captured-task.js +122 -0
  859. package/dist/vendor/@jinn-network/core/dist/contribution-store.d.ts +97 -0
  860. package/dist/vendor/@jinn-network/core/dist/contribution-store.js +770 -0
  861. package/dist/vendor/@jinn-network/core/dist/corpus-read/acquire.d.ts +39 -0
  862. package/dist/vendor/@jinn-network/core/dist/corpus-read/acquire.js +212 -0
  863. package/dist/vendor/@jinn-network/core/dist/corpus-read/cache.d.ts +14 -0
  864. package/dist/vendor/@jinn-network/core/dist/corpus-read/cache.js +17 -0
  865. package/dist/vendor/@jinn-network/core/dist/corpus-read/capture-meta.d.ts +16 -0
  866. package/dist/vendor/@jinn-network/core/dist/corpus-read/capture-meta.js +18 -0
  867. package/dist/vendor/@jinn-network/core/dist/corpus-read/create-corpus.d.ts +2 -0
  868. package/dist/vendor/@jinn-network/core/dist/corpus-read/create-corpus.js +97 -0
  869. package/dist/vendor/@jinn-network/core/dist/corpus-read/fetch-artifact.d.ts +21 -0
  870. package/dist/vendor/@jinn-network/core/dist/corpus-read/fetch-artifact.js +32 -0
  871. package/dist/vendor/@jinn-network/core/dist/corpus-read/fetch.d.ts +12 -0
  872. package/dist/vendor/@jinn-network/core/dist/corpus-read/fetch.js +24 -0
  873. package/dist/vendor/@jinn-network/core/dist/corpus-read/http-discovery.d.ts +9 -0
  874. package/dist/vendor/@jinn-network/core/dist/corpus-read/http-discovery.js +128 -0
  875. package/dist/vendor/@jinn-network/core/dist/corpus-read/index.d.ts +10 -0
  876. package/dist/vendor/@jinn-network/core/dist/corpus-read/index.js +10 -0
  877. package/dist/vendor/@jinn-network/core/dist/corpus-read/ipfs.d.ts +14 -0
  878. package/dist/vendor/@jinn-network/core/dist/corpus-read/ipfs.js +81 -0
  879. package/dist/vendor/@jinn-network/core/dist/corpus-read/route-resolver.d.ts +16 -0
  880. package/dist/vendor/@jinn-network/core/dist/corpus-read/route-resolver.js +19 -0
  881. package/dist/vendor/@jinn-network/core/dist/corpus-read/types.d.ts +177 -0
  882. package/dist/vendor/@jinn-network/core/dist/corpus-read/types.js +42 -0
  883. package/dist/vendor/@jinn-network/core/dist/envelope.d.ts +134 -0
  884. package/dist/vendor/@jinn-network/core/dist/envelope.js +162 -0
  885. package/dist/vendor/@jinn-network/core/dist/evidence-adapter.d.ts +26 -0
  886. package/dist/vendor/@jinn-network/core/dist/evidence-adapter.js +321 -0
  887. package/dist/vendor/@jinn-network/core/dist/evidence-filesystem.d.ts +40 -0
  888. package/dist/vendor/@jinn-network/core/dist/evidence-filesystem.js +267 -0
  889. package/dist/vendor/@jinn-network/core/dist/evidence-index.d.ts +117 -0
  890. package/dist/vendor/@jinn-network/core/dist/evidence-index.js +1083 -0
  891. package/dist/vendor/@jinn-network/core/dist/evidence-store-lock.d.ts +2 -0
  892. package/dist/vendor/@jinn-network/core/dist/evidence-store-lock.js +208 -0
  893. package/dist/vendor/@jinn-network/core/dist/execution-envelope.d.ts +3142 -0
  894. package/dist/vendor/@jinn-network/core/dist/execution-envelope.js +203 -0
  895. package/dist/vendor/@jinn-network/core/dist/index.d.ts +12 -0
  896. package/dist/vendor/@jinn-network/core/dist/index.js +12 -0
  897. package/dist/vendor/@jinn-network/core/dist/manifest.d.ts +75 -0
  898. package/dist/vendor/@jinn-network/core/dist/manifest.js +184 -0
  899. package/dist/vendor/@jinn-network/core/dist/paired.d.ts +68 -0
  900. package/dist/vendor/@jinn-network/core/dist/paired.js +92 -0
  901. package/dist/vendor/@jinn-network/core/dist/scrub/apply-dispositions.d.ts +74 -0
  902. package/dist/vendor/@jinn-network/core/dist/scrub/apply-dispositions.js +309 -0
  903. package/dist/vendor/@jinn-network/core/dist/scrub/build.d.ts +75 -0
  904. package/dist/vendor/@jinn-network/core/dist/scrub/build.js +143 -0
  905. package/dist/vendor/@jinn-network/core/dist/scrub/checksummed-instruments-detector.d.ts +13 -0
  906. package/dist/vendor/@jinn-network/core/dist/scrub/checksummed-instruments-detector.js +119 -0
  907. package/dist/vendor/@jinn-network/core/dist/scrub/data/bip39-english.d.ts +2 -0
  908. package/dist/vendor/@jinn-network/core/dist/scrub/data/bip39-english.js +2051 -0
  909. package/dist/vendor/@jinn-network/core/dist/scrub/data/gitleaks-rules.d.ts +56 -0
  910. package/dist/vendor/@jinn-network/core/dist/scrub/data/gitleaks-rules.js +67 -0
  911. package/dist/vendor/@jinn-network/core/dist/scrub/emit-scrub.d.ts +52 -0
  912. package/dist/vendor/@jinn-network/core/dist/scrub/emit-scrub.js +122 -0
  913. package/dist/vendor/@jinn-network/core/dist/scrub/eval/findings-from-scrub.d.ts +18 -0
  914. package/dist/vendor/@jinn-network/core/dist/scrub/eval/findings-from-scrub.js +99 -0
  915. package/dist/vendor/@jinn-network/core/dist/scrub/eval/fixtures.d.ts +14 -0
  916. package/dist/vendor/@jinn-network/core/dist/scrub/eval/fixtures.js +159 -0
  917. package/dist/vendor/@jinn-network/core/dist/scrub/eval/index.d.ts +6 -0
  918. package/dist/vendor/@jinn-network/core/dist/scrub/eval/index.js +6 -0
  919. package/dist/vendor/@jinn-network/core/dist/scrub/eval/local-corpus.d.ts +15 -0
  920. package/dist/vendor/@jinn-network/core/dist/scrub/eval/local-corpus.js +29 -0
  921. package/dist/vendor/@jinn-network/core/dist/scrub/eval/metrics.d.ts +19 -0
  922. package/dist/vendor/@jinn-network/core/dist/scrub/eval/metrics.js +77 -0
  923. package/dist/vendor/@jinn-network/core/dist/scrub/eval/run-bench.d.ts +8 -0
  924. package/dist/vendor/@jinn-network/core/dist/scrub/eval/run-bench.js +125 -0
  925. package/dist/vendor/@jinn-network/core/dist/scrub/eval/types.d.ts +69 -0
  926. package/dist/vendor/@jinn-network/core/dist/scrub/eval/types.js +7 -0
  927. package/dist/vendor/@jinn-network/core/dist/scrub/finding.d.ts +38 -0
  928. package/dist/vendor/@jinn-network/core/dist/scrub/finding.js +7 -0
  929. package/dist/vendor/@jinn-network/core/dist/scrub/git-identity-detector.d.ts +16 -0
  930. package/dist/vendor/@jinn-network/core/dist/scrub/git-identity-detector.js +116 -0
  931. package/dist/vendor/@jinn-network/core/dist/scrub/gitleaks-detector.d.ts +13 -0
  932. package/dist/vendor/@jinn-network/core/dist/scrub/gitleaks-detector.js +45 -0
  933. package/dist/vendor/@jinn-network/core/dist/scrub/gliner-detector.d.ts +65 -0
  934. package/dist/vendor/@jinn-network/core/dist/scrub/gliner-detector.js +129 -0
  935. package/dist/vendor/@jinn-network/core/dist/scrub/index.d.ts +26 -0
  936. package/dist/vendor/@jinn-network/core/dist/scrub/index.js +26 -0
  937. package/dist/vendor/@jinn-network/core/dist/scrub/ip-address-detector.d.ts +12 -0
  938. package/dist/vendor/@jinn-network/core/dist/scrub/ip-address-detector.js +81 -0
  939. package/dist/vendor/@jinn-network/core/dist/scrub/key-policy.d.ts +30 -0
  940. package/dist/vendor/@jinn-network/core/dist/scrub/key-policy.js +72 -0
  941. package/dist/vendor/@jinn-network/core/dist/scrub/known-identity-detector.d.ts +66 -0
  942. package/dist/vendor/@jinn-network/core/dist/scrub/known-identity-detector.js +284 -0
  943. package/dist/vendor/@jinn-network/core/dist/scrub/layer2.d.ts +18 -0
  944. package/dist/vendor/@jinn-network/core/dist/scrub/layer2.js +28 -0
  945. package/dist/vendor/@jinn-network/core/dist/scrub/ml-pii-stage.d.ts +42 -0
  946. package/dist/vendor/@jinn-network/core/dist/scrub/ml-pii-stage.js +119 -0
  947. package/dist/vendor/@jinn-network/core/dist/scrub/pii-build.d.ts +47 -0
  948. package/dist/vendor/@jinn-network/core/dist/scrub/pii-build.js +67 -0
  949. package/dist/vendor/@jinn-network/core/dist/scrub/pipeline.d.ts +77 -0
  950. package/dist/vendor/@jinn-network/core/dist/scrub/pipeline.js +225 -0
  951. package/dist/vendor/@jinn-network/core/dist/scrub/plain-patterns-stage.d.ts +33 -0
  952. package/dist/vendor/@jinn-network/core/dist/scrub/plain-patterns-stage.js +88 -0
  953. package/dist/vendor/@jinn-network/core/dist/scrub/policy.d.ts +28 -0
  954. package/dist/vendor/@jinn-network/core/dist/scrub/policy.js +156 -0
  955. package/dist/vendor/@jinn-network/core/dist/scrub/provenance.d.ts +53 -0
  956. package/dist/vendor/@jinn-network/core/dist/scrub/provenance.js +83 -0
  957. package/dist/vendor/@jinn-network/core/dist/scrub/reject-classes-detector.d.ts +11 -0
  958. package/dist/vendor/@jinn-network/core/dist/scrub/reject-classes-detector.js +195 -0
  959. package/dist/vendor/@jinn-network/core/dist/scrub/reject-publish-error.d.ts +30 -0
  960. package/dist/vendor/@jinn-network/core/dist/scrub/reject-publish-error.js +47 -0
  961. package/dist/vendor/@jinn-network/core/dist/scrub/review-queue.d.ts +90 -0
  962. package/dist/vendor/@jinn-network/core/dist/scrub/review-queue.js +259 -0
  963. package/dist/vendor/@jinn-network/core/dist/scrub/secretlint-stage.d.ts +21 -0
  964. package/dist/vendor/@jinn-network/core/dist/scrub/secretlint-stage.js +264 -0
  965. package/dist/vendor/@jinn-network/core/dist/scrub/transformers-detector.d.ts +41 -0
  966. package/dist/vendor/@jinn-network/core/dist/scrub/transformers-detector.js +77 -0
  967. package/dist/vendor/@jinn-network/core/dist/scrub/types.d.ts +36 -0
  968. package/dist/vendor/@jinn-network/core/dist/scrub/types.js +1 -0
  969. package/dist/vendor/@jinn-network/core/dist/scrub/url-credentials-detector.d.ts +9 -0
  970. package/dist/vendor/@jinn-network/core/dist/scrub/url-credentials-detector.js +66 -0
  971. package/dist/vendor/@jinn-network/core/dist/session-provenance.d.ts +75 -0
  972. package/dist/vendor/@jinn-network/core/dist/session-provenance.js +20 -0
  973. package/dist/vendor/@jinn-network/core/dist/skill-artifact.d.ts +442 -0
  974. package/dist/vendor/@jinn-network/core/dist/skill-artifact.js +136 -0
  975. package/dist/vendor/@jinn-network/core/dist/trajectory/hash-chain.d.ts +18 -0
  976. package/dist/vendor/@jinn-network/core/dist/trajectory/hash-chain.js +47 -0
  977. package/dist/vendor/@jinn-network/core/dist/trajectory/index.d.ts +4 -0
  978. package/dist/vendor/@jinn-network/core/dist/trajectory/index.js +4 -0
  979. package/dist/vendor/@jinn-network/core/dist/trajectory/schema.d.ts +681 -0
  980. package/dist/vendor/@jinn-network/core/dist/trajectory/schema.js +119 -0
  981. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/aider-history.d.ts +42 -0
  982. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/aider-history.js +181 -0
  983. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/claude-code-jsonl.d.ts +37 -0
  984. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/claude-code-jsonl.js +142 -0
  985. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/codex-session.d.ts +42 -0
  986. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/codex-session.js +235 -0
  987. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/continue-devdata.d.ts +41 -0
  988. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/continue-devdata.js +190 -0
  989. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/cursor-sqlite.d.ts +38 -0
  990. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/cursor-sqlite.js +118 -0
  991. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/gemini-session.d.ts +35 -0
  992. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/gemini-session.js +137 -0
  993. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/index.d.ts +7 -0
  994. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/index.js +7 -0
  995. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/types.d.ts +101 -0
  996. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/types.js +32 -0
  997. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/attrs.d.ts +4 -0
  998. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/attrs.js +30 -0
  999. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/claude-code-stream-json.d.ts +8 -0
  1000. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/claude-code-stream-json.js +162 -0
  1001. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/codex-exec-json.d.ts +8 -0
  1002. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/codex-exec-json.js +253 -0
  1003. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/index.d.ts +4 -0
  1004. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/index.js +4 -0
  1005. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/types.d.ts +18 -0
  1006. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/types.js +1 -0
  1007. package/dist/vendor/@jinn-network/core/dist/window.d.ts +12 -0
  1008. package/dist/vendor/@jinn-network/core/dist/window.js +5 -0
  1009. package/dist/vendor/@jinn-network/core/package.json +38 -0
  1010. package/dist/vendor/@jinn-network/plugin/dist/eligibility.d.ts +12 -0
  1011. package/dist/vendor/@jinn-network/plugin/dist/eligibility.js +12 -0
  1012. package/dist/vendor/@jinn-network/plugin/dist/history.d.ts +35 -0
  1013. package/dist/vendor/@jinn-network/plugin/dist/history.js +140 -0
  1014. package/dist/vendor/@jinn-network/plugin/dist/index.d.ts +32 -0
  1015. package/dist/vendor/@jinn-network/plugin/dist/index.js +15 -0
  1016. package/dist/vendor/@jinn-network/plugin/dist/outcome.d.ts +26 -0
  1017. package/dist/vendor/@jinn-network/plugin/dist/outcome.js +23 -0
  1018. package/dist/vendor/@jinn-network/plugin/dist/pickup.d.ts +110 -0
  1019. package/dist/vendor/@jinn-network/plugin/dist/pickup.js +390 -0
  1020. package/dist/vendor/@jinn-network/plugin/dist/plugin.d.ts +161 -0
  1021. package/dist/vendor/@jinn-network/plugin/dist/plugin.js +675 -0
  1022. package/dist/vendor/@jinn-network/plugin/dist/ports/contribution-port.d.ts +53 -0
  1023. package/dist/vendor/@jinn-network/plugin/dist/ports/contribution-port.js +14 -0
  1024. package/dist/vendor/@jinn-network/plugin/dist/ports/corpus-port.d.ts +68 -0
  1025. package/dist/vendor/@jinn-network/plugin/dist/ports/corpus-port.js +1 -0
  1026. package/dist/vendor/@jinn-network/plugin/dist/ports/evidence-port.d.ts +17 -0
  1027. package/dist/vendor/@jinn-network/plugin/dist/ports/evidence-port.js +1 -0
  1028. package/dist/vendor/@jinn-network/plugin/dist/ports/local-learning-port.d.ts +22 -0
  1029. package/dist/vendor/@jinn-network/plugin/dist/ports/local-learning-port.js +1 -0
  1030. package/dist/vendor/@jinn-network/plugin/dist/ports/skills-port.d.ts +12 -0
  1031. package/dist/vendor/@jinn-network/plugin/dist/ports/skills-port.js +1 -0
  1032. package/dist/vendor/@jinn-network/plugin/dist/schemas/contribution-candidate.d.ts +116 -0
  1033. package/dist/vendor/@jinn-network/plugin/dist/schemas/contribution-candidate.js +63 -0
  1034. package/dist/vendor/@jinn-network/plugin/dist/schemas/eligibility-verdict.d.ts +8 -0
  1035. package/dist/vendor/@jinn-network/plugin/dist/schemas/eligibility-verdict.js +7 -0
  1036. package/dist/vendor/@jinn-network/plugin/dist/schemas/episode.d.ts +432 -0
  1037. package/dist/vendor/@jinn-network/plugin/dist/schemas/episode.js +452 -0
  1038. package/dist/vendor/@jinn-network/plugin/dist/schemas/history-entry.d.ts +40 -0
  1039. package/dist/vendor/@jinn-network/plugin/dist/schemas/history-entry.js +30 -0
  1040. package/dist/vendor/@jinn-network/plugin/dist/schemas/knowledge-hit.d.ts +29 -0
  1041. package/dist/vendor/@jinn-network/plugin/dist/schemas/knowledge-hit.js +31 -0
  1042. package/dist/vendor/@jinn-network/plugin/dist/schemas/knowledge-packet.d.ts +80 -0
  1043. package/dist/vendor/@jinn-network/plugin/dist/schemas/knowledge-packet.js +220 -0
  1044. package/dist/vendor/@jinn-network/plugin/dist/schemas/pickup-config.d.ts +20 -0
  1045. package/dist/vendor/@jinn-network/plugin/dist/schemas/pickup-config.js +34 -0
  1046. package/dist/vendor/@jinn-network/plugin/dist/schemas/session-summary.d.ts +17 -0
  1047. package/dist/vendor/@jinn-network/plugin/dist/schemas/session-summary.js +19 -0
  1048. package/dist/vendor/@jinn-network/plugin/dist/testing/contract-kits.d.ts +12 -0
  1049. package/dist/vendor/@jinn-network/plugin/dist/testing/contract-kits.js +201 -0
  1050. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-contribution.d.ts +93 -0
  1051. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-contribution.js +104 -0
  1052. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-corpus.d.ts +49 -0
  1053. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-corpus.js +58 -0
  1054. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-evidence.d.ts +335 -0
  1055. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-evidence.js +23 -0
  1056. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-local-learning.d.ts +25 -0
  1057. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-local-learning.js +30 -0
  1058. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-skills.d.ts +9 -0
  1059. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-skills.js +16 -0
  1060. package/dist/vendor/@jinn-network/plugin/dist/testing.d.ts +6 -0
  1061. package/dist/vendor/@jinn-network/plugin/dist/testing.js +8 -0
  1062. package/dist/vendor/@jinn-network/plugin/dist/visibility.d.ts +7 -0
  1063. package/dist/vendor/@jinn-network/plugin/dist/visibility.js +9 -0
  1064. package/dist/vendor/@jinn-network/plugin/package.json +22 -0
  1065. package/dist/vendor/@jinn-network/sdk/dist/benchmarking.d.ts +1621 -0
  1066. package/dist/vendor/@jinn-network/sdk/dist/benchmarking.js +285 -0
  1067. package/dist/vendor/@jinn-network/sdk/dist/checkpoint.d.ts +7 -7
  1068. package/dist/vendor/@jinn-network/sdk/dist/checkpoint.js +1 -1
  1069. package/dist/vendor/@jinn-network/sdk/dist/contracts.d.ts +3 -2
  1070. package/dist/vendor/@jinn-network/sdk/dist/contracts.js +49 -0
  1071. package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.d.ts +214 -0
  1072. package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.js +75 -0
  1073. package/dist/vendor/@jinn-network/sdk/dist/json-schema.d.ts +1 -1
  1074. package/dist/vendor/@jinn-network/sdk/dist/json-schema.js +1 -1
  1075. package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.d.ts +140 -0
  1076. package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.js +52 -0
  1077. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.d.ts +6 -6
  1078. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.js +1 -1
  1079. package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.d.ts +9 -9
  1080. package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.js +1 -1
  1081. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.d.ts +1 -1
  1082. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.js +1 -1
  1083. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.d.ts +61 -61
  1084. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.js +1 -1
  1085. package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.d.ts +4 -0
  1086. package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.js +2 -0
  1087. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +31 -31
  1088. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -1
  1089. package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.d.ts +34 -6
  1090. package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.js +28 -5
  1091. package/dist/vendor/@jinn-network/sdk/package.json +9 -1
  1092. package/node_modules/@jinn-network/core/dist/canonical-json.d.ts +1 -0
  1093. package/node_modules/@jinn-network/core/dist/canonical-json.js +67 -0
  1094. package/node_modules/@jinn-network/core/dist/captured-task.d.ts +140 -0
  1095. package/node_modules/@jinn-network/core/dist/captured-task.js +122 -0
  1096. package/node_modules/@jinn-network/core/dist/contribution-store.d.ts +97 -0
  1097. package/node_modules/@jinn-network/core/dist/contribution-store.js +770 -0
  1098. package/node_modules/@jinn-network/core/dist/corpus-read/acquire.d.ts +39 -0
  1099. package/node_modules/@jinn-network/core/dist/corpus-read/acquire.js +212 -0
  1100. package/node_modules/@jinn-network/core/dist/corpus-read/cache.d.ts +14 -0
  1101. package/node_modules/@jinn-network/core/dist/corpus-read/cache.js +17 -0
  1102. package/node_modules/@jinn-network/core/dist/corpus-read/capture-meta.d.ts +16 -0
  1103. package/node_modules/@jinn-network/core/dist/corpus-read/capture-meta.js +18 -0
  1104. package/node_modules/@jinn-network/core/dist/corpus-read/create-corpus.d.ts +2 -0
  1105. package/node_modules/@jinn-network/core/dist/corpus-read/create-corpus.js +97 -0
  1106. package/node_modules/@jinn-network/core/dist/corpus-read/fetch-artifact.d.ts +21 -0
  1107. package/node_modules/@jinn-network/core/dist/corpus-read/fetch-artifact.js +32 -0
  1108. package/node_modules/@jinn-network/core/dist/corpus-read/fetch.d.ts +12 -0
  1109. package/node_modules/@jinn-network/core/dist/corpus-read/fetch.js +24 -0
  1110. package/node_modules/@jinn-network/core/dist/corpus-read/http-discovery.d.ts +9 -0
  1111. package/node_modules/@jinn-network/core/dist/corpus-read/http-discovery.js +128 -0
  1112. package/node_modules/@jinn-network/core/dist/corpus-read/index.d.ts +10 -0
  1113. package/node_modules/@jinn-network/core/dist/corpus-read/index.js +10 -0
  1114. package/node_modules/@jinn-network/core/dist/corpus-read/ipfs.d.ts +14 -0
  1115. package/node_modules/@jinn-network/core/dist/corpus-read/ipfs.js +81 -0
  1116. package/node_modules/@jinn-network/core/dist/corpus-read/route-resolver.d.ts +16 -0
  1117. package/node_modules/@jinn-network/core/dist/corpus-read/route-resolver.js +19 -0
  1118. package/node_modules/@jinn-network/core/dist/corpus-read/types.d.ts +177 -0
  1119. package/node_modules/@jinn-network/core/dist/corpus-read/types.js +42 -0
  1120. package/node_modules/@jinn-network/core/dist/envelope.d.ts +134 -0
  1121. package/node_modules/@jinn-network/core/dist/envelope.js +162 -0
  1122. package/node_modules/@jinn-network/core/dist/evidence-adapter.d.ts +26 -0
  1123. package/node_modules/@jinn-network/core/dist/evidence-adapter.js +321 -0
  1124. package/node_modules/@jinn-network/core/dist/evidence-filesystem.d.ts +40 -0
  1125. package/node_modules/@jinn-network/core/dist/evidence-filesystem.js +267 -0
  1126. package/node_modules/@jinn-network/core/dist/evidence-index.d.ts +117 -0
  1127. package/node_modules/@jinn-network/core/dist/evidence-index.js +1083 -0
  1128. package/node_modules/@jinn-network/core/dist/evidence-store-lock.d.ts +2 -0
  1129. package/node_modules/@jinn-network/core/dist/evidence-store-lock.js +208 -0
  1130. package/node_modules/@jinn-network/core/dist/execution-envelope.d.ts +3142 -0
  1131. package/node_modules/@jinn-network/core/dist/execution-envelope.js +203 -0
  1132. package/node_modules/@jinn-network/core/dist/index.d.ts +12 -0
  1133. package/node_modules/@jinn-network/core/dist/index.js +12 -0
  1134. package/node_modules/@jinn-network/core/dist/manifest.d.ts +75 -0
  1135. package/node_modules/@jinn-network/core/dist/manifest.js +184 -0
  1136. package/node_modules/@jinn-network/core/dist/paired.d.ts +68 -0
  1137. package/node_modules/@jinn-network/core/dist/paired.js +92 -0
  1138. package/node_modules/@jinn-network/core/dist/scrub/apply-dispositions.d.ts +74 -0
  1139. package/node_modules/@jinn-network/core/dist/scrub/apply-dispositions.js +309 -0
  1140. package/node_modules/@jinn-network/core/dist/scrub/build.d.ts +75 -0
  1141. package/node_modules/@jinn-network/core/dist/scrub/build.js +143 -0
  1142. package/node_modules/@jinn-network/core/dist/scrub/checksummed-instruments-detector.d.ts +13 -0
  1143. package/node_modules/@jinn-network/core/dist/scrub/checksummed-instruments-detector.js +119 -0
  1144. package/node_modules/@jinn-network/core/dist/scrub/data/bip39-english.d.ts +2 -0
  1145. package/node_modules/@jinn-network/core/dist/scrub/data/bip39-english.js +2051 -0
  1146. package/node_modules/@jinn-network/core/dist/scrub/data/gitleaks-rules.d.ts +56 -0
  1147. package/node_modules/@jinn-network/core/dist/scrub/data/gitleaks-rules.js +67 -0
  1148. package/node_modules/@jinn-network/core/dist/scrub/emit-scrub.d.ts +52 -0
  1149. package/node_modules/@jinn-network/core/dist/scrub/emit-scrub.js +122 -0
  1150. package/node_modules/@jinn-network/core/dist/scrub/eval/findings-from-scrub.d.ts +18 -0
  1151. package/node_modules/@jinn-network/core/dist/scrub/eval/findings-from-scrub.js +99 -0
  1152. package/node_modules/@jinn-network/core/dist/scrub/eval/fixtures.d.ts +14 -0
  1153. package/node_modules/@jinn-network/core/dist/scrub/eval/fixtures.js +159 -0
  1154. package/node_modules/@jinn-network/core/dist/scrub/eval/index.d.ts +6 -0
  1155. package/node_modules/@jinn-network/core/dist/scrub/eval/index.js +6 -0
  1156. package/node_modules/@jinn-network/core/dist/scrub/eval/local-corpus.d.ts +15 -0
  1157. package/node_modules/@jinn-network/core/dist/scrub/eval/local-corpus.js +29 -0
  1158. package/node_modules/@jinn-network/core/dist/scrub/eval/metrics.d.ts +19 -0
  1159. package/node_modules/@jinn-network/core/dist/scrub/eval/metrics.js +77 -0
  1160. package/node_modules/@jinn-network/core/dist/scrub/eval/run-bench.d.ts +8 -0
  1161. package/node_modules/@jinn-network/core/dist/scrub/eval/run-bench.js +125 -0
  1162. package/node_modules/@jinn-network/core/dist/scrub/eval/types.d.ts +69 -0
  1163. package/node_modules/@jinn-network/core/dist/scrub/eval/types.js +7 -0
  1164. package/node_modules/@jinn-network/core/dist/scrub/finding.d.ts +38 -0
  1165. package/node_modules/@jinn-network/core/dist/scrub/finding.js +7 -0
  1166. package/node_modules/@jinn-network/core/dist/scrub/git-identity-detector.d.ts +16 -0
  1167. package/node_modules/@jinn-network/core/dist/scrub/git-identity-detector.js +116 -0
  1168. package/node_modules/@jinn-network/core/dist/scrub/gitleaks-detector.d.ts +13 -0
  1169. package/node_modules/@jinn-network/core/dist/scrub/gitleaks-detector.js +45 -0
  1170. package/node_modules/@jinn-network/core/dist/scrub/gliner-detector.d.ts +65 -0
  1171. package/node_modules/@jinn-network/core/dist/scrub/gliner-detector.js +129 -0
  1172. package/node_modules/@jinn-network/core/dist/scrub/index.d.ts +26 -0
  1173. package/node_modules/@jinn-network/core/dist/scrub/index.js +26 -0
  1174. package/node_modules/@jinn-network/core/dist/scrub/ip-address-detector.d.ts +12 -0
  1175. package/node_modules/@jinn-network/core/dist/scrub/ip-address-detector.js +81 -0
  1176. package/node_modules/@jinn-network/core/dist/scrub/key-policy.d.ts +30 -0
  1177. package/node_modules/@jinn-network/core/dist/scrub/key-policy.js +72 -0
  1178. package/node_modules/@jinn-network/core/dist/scrub/known-identity-detector.d.ts +66 -0
  1179. package/node_modules/@jinn-network/core/dist/scrub/known-identity-detector.js +284 -0
  1180. package/node_modules/@jinn-network/core/dist/scrub/layer2.d.ts +18 -0
  1181. package/node_modules/@jinn-network/core/dist/scrub/layer2.js +28 -0
  1182. package/node_modules/@jinn-network/core/dist/scrub/ml-pii-stage.d.ts +42 -0
  1183. package/node_modules/@jinn-network/core/dist/scrub/ml-pii-stage.js +119 -0
  1184. package/node_modules/@jinn-network/core/dist/scrub/pii-build.d.ts +47 -0
  1185. package/node_modules/@jinn-network/core/dist/scrub/pii-build.js +67 -0
  1186. package/node_modules/@jinn-network/core/dist/scrub/pipeline.d.ts +77 -0
  1187. package/node_modules/@jinn-network/core/dist/scrub/pipeline.js +225 -0
  1188. package/node_modules/@jinn-network/core/dist/scrub/plain-patterns-stage.d.ts +33 -0
  1189. package/node_modules/@jinn-network/core/dist/scrub/plain-patterns-stage.js +88 -0
  1190. package/node_modules/@jinn-network/core/dist/scrub/policy.d.ts +28 -0
  1191. package/node_modules/@jinn-network/core/dist/scrub/policy.js +156 -0
  1192. package/node_modules/@jinn-network/core/dist/scrub/provenance.d.ts +53 -0
  1193. package/node_modules/@jinn-network/core/dist/scrub/provenance.js +83 -0
  1194. package/node_modules/@jinn-network/core/dist/scrub/reject-classes-detector.d.ts +11 -0
  1195. package/node_modules/@jinn-network/core/dist/scrub/reject-classes-detector.js +195 -0
  1196. package/node_modules/@jinn-network/core/dist/scrub/reject-publish-error.d.ts +30 -0
  1197. package/node_modules/@jinn-network/core/dist/scrub/reject-publish-error.js +47 -0
  1198. package/node_modules/@jinn-network/core/dist/scrub/review-queue.d.ts +90 -0
  1199. package/node_modules/@jinn-network/core/dist/scrub/review-queue.js +259 -0
  1200. package/node_modules/@jinn-network/core/dist/scrub/secretlint-stage.d.ts +21 -0
  1201. package/node_modules/@jinn-network/core/dist/scrub/secretlint-stage.js +264 -0
  1202. package/node_modules/@jinn-network/core/dist/scrub/transformers-detector.d.ts +41 -0
  1203. package/node_modules/@jinn-network/core/dist/scrub/transformers-detector.js +77 -0
  1204. package/node_modules/@jinn-network/core/dist/scrub/types.d.ts +36 -0
  1205. package/node_modules/@jinn-network/core/dist/scrub/types.js +1 -0
  1206. package/node_modules/@jinn-network/core/dist/scrub/url-credentials-detector.d.ts +9 -0
  1207. package/node_modules/@jinn-network/core/dist/scrub/url-credentials-detector.js +66 -0
  1208. package/node_modules/@jinn-network/core/dist/session-provenance.d.ts +75 -0
  1209. package/node_modules/@jinn-network/core/dist/session-provenance.js +20 -0
  1210. package/node_modules/@jinn-network/core/dist/skill-artifact.d.ts +442 -0
  1211. package/node_modules/@jinn-network/core/dist/skill-artifact.js +136 -0
  1212. package/node_modules/@jinn-network/core/dist/trajectory/hash-chain.d.ts +18 -0
  1213. package/node_modules/@jinn-network/core/dist/trajectory/hash-chain.js +47 -0
  1214. package/node_modules/@jinn-network/core/dist/trajectory/index.d.ts +4 -0
  1215. package/node_modules/@jinn-network/core/dist/trajectory/index.js +4 -0
  1216. package/node_modules/@jinn-network/core/dist/trajectory/schema.d.ts +681 -0
  1217. package/node_modules/@jinn-network/core/dist/trajectory/schema.js +119 -0
  1218. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/aider-history.d.ts +42 -0
  1219. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/aider-history.js +181 -0
  1220. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/claude-code-jsonl.d.ts +37 -0
  1221. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/claude-code-jsonl.js +142 -0
  1222. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/codex-session.d.ts +42 -0
  1223. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/codex-session.js +235 -0
  1224. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/continue-devdata.d.ts +41 -0
  1225. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/continue-devdata.js +190 -0
  1226. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/cursor-sqlite.d.ts +38 -0
  1227. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/cursor-sqlite.js +118 -0
  1228. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/gemini-session.d.ts +35 -0
  1229. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/gemini-session.js +137 -0
  1230. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/index.d.ts +7 -0
  1231. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/index.js +7 -0
  1232. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/types.d.ts +101 -0
  1233. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/types.js +32 -0
  1234. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/attrs.d.ts +4 -0
  1235. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/attrs.js +30 -0
  1236. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/claude-code-stream-json.d.ts +8 -0
  1237. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/claude-code-stream-json.js +162 -0
  1238. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/codex-exec-json.d.ts +8 -0
  1239. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/codex-exec-json.js +253 -0
  1240. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/index.d.ts +4 -0
  1241. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/index.js +4 -0
  1242. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/types.d.ts +18 -0
  1243. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/types.js +1 -0
  1244. package/node_modules/@jinn-network/core/dist/window.d.ts +12 -0
  1245. package/node_modules/@jinn-network/core/dist/window.js +5 -0
  1246. package/node_modules/@jinn-network/core/package.json +61 -0
  1247. package/node_modules/@jinn-network/plugin/dist/eligibility.d.ts +12 -0
  1248. package/node_modules/@jinn-network/plugin/dist/eligibility.js +12 -0
  1249. package/node_modules/@jinn-network/plugin/dist/history.d.ts +35 -0
  1250. package/node_modules/@jinn-network/plugin/dist/history.js +140 -0
  1251. package/node_modules/@jinn-network/plugin/dist/index.d.ts +32 -0
  1252. package/node_modules/@jinn-network/plugin/dist/index.js +15 -0
  1253. package/node_modules/@jinn-network/plugin/dist/outcome.d.ts +26 -0
  1254. package/node_modules/@jinn-network/plugin/dist/outcome.js +23 -0
  1255. package/node_modules/@jinn-network/plugin/dist/pickup.d.ts +110 -0
  1256. package/node_modules/@jinn-network/plugin/dist/pickup.js +390 -0
  1257. package/node_modules/@jinn-network/plugin/dist/plugin.d.ts +161 -0
  1258. package/node_modules/@jinn-network/plugin/dist/plugin.js +675 -0
  1259. package/node_modules/@jinn-network/plugin/dist/ports/contribution-port.d.ts +53 -0
  1260. package/node_modules/@jinn-network/plugin/dist/ports/contribution-port.js +14 -0
  1261. package/node_modules/@jinn-network/plugin/dist/ports/corpus-port.d.ts +68 -0
  1262. package/node_modules/@jinn-network/plugin/dist/ports/corpus-port.js +1 -0
  1263. package/node_modules/@jinn-network/plugin/dist/ports/evidence-port.d.ts +17 -0
  1264. package/node_modules/@jinn-network/plugin/dist/ports/evidence-port.js +1 -0
  1265. package/node_modules/@jinn-network/plugin/dist/ports/local-learning-port.d.ts +22 -0
  1266. package/node_modules/@jinn-network/plugin/dist/ports/local-learning-port.js +1 -0
  1267. package/node_modules/@jinn-network/plugin/dist/ports/skills-port.d.ts +12 -0
  1268. package/node_modules/@jinn-network/plugin/dist/ports/skills-port.js +1 -0
  1269. package/node_modules/@jinn-network/plugin/dist/schemas/contribution-candidate.d.ts +116 -0
  1270. package/node_modules/@jinn-network/plugin/dist/schemas/contribution-candidate.js +63 -0
  1271. package/node_modules/@jinn-network/plugin/dist/schemas/eligibility-verdict.d.ts +8 -0
  1272. package/node_modules/@jinn-network/plugin/dist/schemas/eligibility-verdict.js +7 -0
  1273. package/node_modules/@jinn-network/plugin/dist/schemas/episode.d.ts +432 -0
  1274. package/node_modules/@jinn-network/plugin/dist/schemas/episode.js +452 -0
  1275. package/node_modules/@jinn-network/plugin/dist/schemas/history-entry.d.ts +40 -0
  1276. package/node_modules/@jinn-network/plugin/dist/schemas/history-entry.js +30 -0
  1277. package/node_modules/@jinn-network/plugin/dist/schemas/knowledge-hit.d.ts +29 -0
  1278. package/node_modules/@jinn-network/plugin/dist/schemas/knowledge-hit.js +31 -0
  1279. package/node_modules/@jinn-network/plugin/dist/schemas/knowledge-packet.d.ts +80 -0
  1280. package/node_modules/@jinn-network/plugin/dist/schemas/knowledge-packet.js +220 -0
  1281. package/node_modules/@jinn-network/plugin/dist/schemas/pickup-config.d.ts +20 -0
  1282. package/node_modules/@jinn-network/plugin/dist/schemas/pickup-config.js +34 -0
  1283. package/node_modules/@jinn-network/plugin/dist/schemas/session-summary.d.ts +17 -0
  1284. package/node_modules/@jinn-network/plugin/dist/schemas/session-summary.js +19 -0
  1285. package/node_modules/@jinn-network/plugin/dist/testing/contract-kits.d.ts +12 -0
  1286. package/node_modules/@jinn-network/plugin/dist/testing/contract-kits.js +201 -0
  1287. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-contribution.d.ts +93 -0
  1288. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-contribution.js +104 -0
  1289. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-corpus.d.ts +49 -0
  1290. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-corpus.js +58 -0
  1291. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-evidence.d.ts +335 -0
  1292. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-evidence.js +23 -0
  1293. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-local-learning.d.ts +25 -0
  1294. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-local-learning.js +30 -0
  1295. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-skills.d.ts +9 -0
  1296. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-skills.js +16 -0
  1297. package/node_modules/@jinn-network/plugin/dist/testing.d.ts +6 -0
  1298. package/node_modules/@jinn-network/plugin/dist/testing.js +8 -0
  1299. package/node_modules/@jinn-network/plugin/dist/visibility.d.ts +7 -0
  1300. package/node_modules/@jinn-network/plugin/dist/visibility.js +9 -0
  1301. package/node_modules/@jinn-network/plugin/package.json +50 -0
  1302. package/node_modules/@jinn-network/plugin/process-contract.json +8 -0
  1303. package/package.json +61 -19
  1304. package/plugins/jinn-repo-runtime/.claude-plugin/plugin.json +5 -0
  1305. package/plugins/jinn-repo-runtime/.codex-plugin/plugin.json +39 -0
  1306. package/plugins/jinn-repo-runtime/README.md +27 -0
  1307. package/plugins/jinn-repo-runtime/hooks/hooks.json +16 -0
  1308. package/plugins/jinn-repo-runtime/hooks/session-start +73 -0
  1309. package/plugins/jinn-repo-runtime/jinn.plugin.json +11 -0
  1310. package/plugins/jinn-repo-runtime/skills/task/SKILL.md +92 -0
  1311. package/skills/jinn-operator/SKILL.md +29 -15
  1312. package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +0 -55
  1313. package/deployments/deployment-jinn-mvi-l1-sepolia.json +0 -55
  1314. package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +0 -13
  1315. package/deployments/deployment-jinn-testnet-faucet-baseSepolia-fast.json +0 -15
  1316. package/dist/api/peers.js.map +0 -1
  1317. package/dist/daemon/jinn-claim-loop-canonical.d.ts +0 -207
  1318. package/dist/daemon/jinn-claim-loop-canonical.js +0 -296
  1319. package/dist/daemon/jinn-claim-loop-canonical.js.map +0 -1
  1320. package/dist/daemon/jinn-claim-loop-mock.d.ts +0 -61
  1321. package/dist/daemon/jinn-claim-loop-mock.js +0 -122
  1322. package/dist/daemon/jinn-claim-loop-mock.js.map +0 -1
  1323. package/dist/daemon/jinn-claim-loop-wiring.d.ts +0 -33
  1324. package/dist/daemon/jinn-claim-loop-wiring.js +0 -40
  1325. package/dist/daemon/jinn-claim-loop-wiring.js.map +0 -1
  1326. package/dist/daemon/jinn-claim-loop.d.ts +0 -130
  1327. package/dist/daemon/jinn-claim-loop.js +0 -328
  1328. package/dist/daemon/jinn-claim-loop.js.map +0 -1
  1329. package/dist/dashboard/assets/index-BVAWkLwY.css +0 -1
  1330. package/dist/dashboard/assets/index-DEPqtGOA.js +0 -167
  1331. package/dist/earning/jinn-rewards.js.map +0 -1
  1332. package/dist/scripts/donation-consumption-acceptance.d.ts +0 -85
  1333. package/dist/scripts/donation-consumption-acceptance.js +0 -1382
  1334. package/dist/scripts/donation-consumption-acceptance.js.map +0 -1
  1335. package/dist/x402/acquire.d.ts +0 -17
  1336. package/dist/x402/acquire.js +0 -49
  1337. package/dist/x402/acquire.js.map +0 -1
  1338. package/dist/x402/facilitator.d.ts +0 -11
  1339. package/dist/x402/facilitator.js +0 -52
  1340. package/dist/x402/facilitator.js.map +0 -1
  1341. package/dist/x402/handler.d.ts +0 -27
  1342. package/dist/x402/handler.js +0 -236
  1343. package/dist/x402/handler.js.map +0 -1
  1344. /package/dist/{api/peers.d.ts → daemon/peer-sync.d.ts} +0 -0
package/dist/config.js CHANGED
@@ -16,9 +16,10 @@
16
16
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
17
17
  import { homedir } from 'node:os';
18
18
  import { dirname, join } from 'node:path';
19
- import { z } from 'zod';
19
+ import { z } from 'zod/v3';
20
20
  import { TaskSchema, parseTask } from './types/task.js';
21
21
  import { canonicalHarnessName } from './harnesses/names.js';
22
+ import { isOpenRouterModelId } from './harnesses/provider-ref.js';
22
23
  import { parseRpcUrls } from './rpc/transport.js';
23
24
  import { canonicalLocalHttpBaseUrl } from './local-provider-url.js';
24
25
  // ── Schema ──────────────────────────────────────────────────────────────────
@@ -44,17 +45,10 @@ export const JinnConfigSchema = z.object({
44
45
  */
45
46
  rpcUrl: z.union([z.string(), z.array(z.string()).min(1)]).optional(),
46
47
  archiveRpcUrl: z.union([z.string(), z.array(z.string()).min(1)]).optional(),
47
- /**
48
- * Optional L2 proof/archive RPC endpoint(s) 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
- * Accepts string or array form (see rpcUrl). Env: JINN_L2_PROOF_RPC_URL.
52
- */
53
- l2ProofRpcUrl: z.union([z.string(), z.array(z.string()).min(1)]).optional(),
54
48
  /**
55
49
  * Single volume-aware durable-state root. When set (env JINN_STATE_DIR or
56
50
  * this file field), `earningDir`, `dbPath`, `engine.implStateDirRoot`, and
57
- * the swe-rebench-v2 pool dir derive from it as `<stateDir>/<subdir>` —
51
+ * `sweRebenchV2StateDir` derive from it as `<stateDir>/<subdir>` —
58
52
  * UNLESS each is individually overridden, in which case the per-key value
59
53
  * wins (derive-don't-collapse). With `stateDir` unset, every default is
60
54
  * byte-identical to the legacy `~/.jinn-client/<subdir>` paths. Hosted
@@ -67,15 +61,23 @@ export const JinnConfigSchema = z.object({
67
61
  earningDir: z.string().default(join(homedir(), '.jinn-client', 'earning')),
68
62
  /** SQLite database path */
69
63
  dbPath: z.string().default(join(homedir(), '.jinn-client', 'jinn.db')),
64
+ /**
65
+ * SWE-rebench v2 durable state (validated pool, generator ledger, harvest).
66
+ * Derived from `stateDir` / `JINN_STATE_DIR` as `<stateDir>/swe-rebench-v2`
67
+ * unless overridden by this field or `JINN_SWE_REBENCH_V2_STATE_DIR`.
68
+ */
69
+ sweRebenchV2StateDir: z
70
+ .string()
71
+ .default(join(homedir(), '.jinn-client', 'swe-rebench-v2')),
70
72
  /** Chain poll interval in ms */
71
73
  pollIntervalMs: z.number().int().positive().default(5000),
72
74
  /**
73
75
  * How often the daemon attempts stOLAS ExternalStakingDistributor.claim for each staked
74
- * fleet service (ms). Default 600000 (10 min) — well under typical checkpoint liveness windows
75
- * on Base while limiting RPC/gas churn. Set to 0 to disable auto-claim.
76
+ * fleet service (ms). Default 0 so operators claim OLAS manually from the app.
77
+ * Set JINN_REWARD_CLAIM_INTERVAL_MS=600000 for managed/headless auto-claim.
76
78
  * Env: JINN_REWARD_CLAIM_INTERVAL_MS
77
79
  */
78
- rewardClaimIntervalMs: z.number().int().min(0).default(600_000),
80
+ rewardClaimIntervalMs: z.number().int().min(0).default(0),
79
81
  /**
80
82
  * How often the daemon checks agent EOA and Safe balances and tops them up from the master
81
83
  * wallet when they drop below trigger thresholds (ms). Default 300000 (5 min).
@@ -221,98 +223,12 @@ export const JinnConfigSchema = z.object({
221
223
  /** Optional Base Sepolia stOLAS deployment artifact path */
222
224
  testnetStolasDeploymentPath: z.string().optional(),
223
225
  /**
224
- * Optional deployment artifact for the v0 MVI L1 stack
225
- * (deployment-jinn-mvi-l1-{network}{,-fast}.json). Provides addresses for
226
- * JINN, Timelock, JinnGovernor, JinnDistributor, and Messenger.
227
- * When set the daemon enables the cross-chain JINN claim loop.
228
- */
229
- jinnMviL1DeploymentPath: z.string().optional(),
230
- /**
231
- * Optional deployment artifact for the v0 MVI L2 emitter
232
- * (deployment-jinn-mvi-l2-{network}.json). Provides the
233
- * TaskClaimEmitter address on the measurement chain (Base / Base Sepolia).
234
- */
235
- jinnMviL2DeploymentPath: z.string().optional(),
236
- // ── Cross-chain claim loop (Phase B / jinn-mono-7x5) ─────────────────────
237
- /**
238
- * RPC endpoint(s) for the L1 governance chain (Ethereum / Sepolia) where
239
- * the JinnDistributor lives. Accepts string or array form (see rpcUrl) and
240
- * supports comma-separated env values. Testnet defaults to a public Sepolia
241
- * RPC; mainnet requires an operator override when L1 submit mode is
242
- * configured. Env: JINN_ETHEREUM_RPC_URL.
243
- */
244
- ethereumRpcUrl: z.union([z.string(), z.array(z.string()).min(1)]).optional(),
245
- /**
246
- * Optional archive RPC endpoint(s) for the L1 governance chain. Used for
247
- * historical block lookups when constructing canonical-mode proofs. Accepts
248
- * string or array form. Env: JINN_ETHEREUM_ARCHIVE_RPC_URL.
249
- */
250
- ethereumArchiveRpcUrl: z.union([z.string(), z.array(z.string()).min(1)]).optional(),
251
- /**
252
- * L1 network used by the cross-chain claim loop. 'sepolia' tracks Base
253
- * Sepolia testnet; 'ethereum' tracks Base mainnet. Defaults to 'sepolia'
254
- * during Phase 1b. Env: JINN_L1_NETWORK.
255
- */
256
- jinnL1Network: z.enum(['sepolia', 'ethereum']).default('sepolia'),
257
- /**
258
- * JinnDistributor address on the L1 governance chain. Required for
259
- * jinnClaimSubmissionMode='submit'. When set for submit mode, ethereumRpcUrl
260
- * MUST also be set. Resolved from jinnMviL1DeploymentPath when omitted;
261
- * otherwise a manual override. Env: JINN_DISTRIBUTOR_ADDRESS.
262
- */
263
- jinnDistributorAddress: z
264
- .string()
265
- .regex(/^0x[0-9a-fA-F]{40}$/, 'must be a 0x-prefixed 20-byte address')
266
- .optional(),
267
- /**
268
- * TaskClaimEmitter address on the L2 measurement chain (Base / Base
269
- * Sepolia). Resolved from jinnMviL2DeploymentPath when omitted.
270
- * Env: JINN_CLAIM_EMITTER_ADDRESS.
271
- */
272
- jinnClaimEmitterAddress: z
273
- .string()
274
- .regex(/^0x[0-9a-fA-F]{40}$/, 'must be a 0x-prefixed 20-byte address')
275
- .optional(),
276
- /**
277
- * Messenger address on the L1 governance chain. Resolved from
278
- * jinnMviL1DeploymentPath when omitted.
279
- * Env: JINN_MESSENGER_ADDRESS.
226
+ * Loop-watchdog auto-restart gate (#1043). Default OFF (the locked Option A
227
+ * decision): the watchdog always detects a stale loop and loud-logs + emits
228
+ * a `loop_watchdog_stale` event, but the non-zero process.exit recovery only
229
+ * fires when this is on. Env: JINN_WATCHDOG_AUTO_RESTART=1|true|yes.
280
230
  */
281
- jinnMessengerAddress: z
282
- .string()
283
- .regex(/^0x[0-9a-fA-F]{40}$/, 'must be a 0x-prefixed 20-byte address')
284
- .optional(),
285
- /**
286
- * Messenger mode driving proof construction. `mock` submits MockMessenger
287
- * fixtures — required for automated Sepolia burn-in (`runOnce`). `canonical`
288
- * builds OP-Stack storage proofs for verifier-only checks; scheduled daemon
289
- * ticks **skip** canonical mode (multi-day finality) — use
290
- * `tsx scripts/verify-canonical-canary.ts` after finality instead. Defaults
291
- * to `canonical`.
292
- * Env: JINN_MESSENGER_MODE.
293
- */
294
- jinnMessengerMode: z.enum(['canonical', 'mock']).default('canonical'),
295
- /**
296
- * Claim submission mode. `emit-only` only submits TaskClaimEmitter.emitClaim
297
- * on L2 and records the resulting ticket. `submit` continues into the L1
298
- * messenger/distributor path.
299
- * Env: JINN_CLAIM_SUBMISSION_MODE.
300
- */
301
- jinnClaimSubmissionMode: z.enum(['emit-only', 'submit']).default('emit-only'),
302
- /**
303
- * Explicit operator gate for the cross-chain JINN claim loop. The schema
304
- * default stays off for mainnet/unknown networks; loadConfig defaults this
305
- * on for testnet now that the emitter and standing relayer are live.
306
- * Env: JINN_CLAIM_LOOP_ENABLED=1|true|yes.
307
- */
308
- jinnClaimLoopEnabled: z.boolean().default(false),
309
- /**
310
- * How often the daemon ticks the cross-chain JINN claim loop (ms). Default
311
- * 3 600 000 (1 hour) — well below mainnet challenge windows while
312
- * minimising RPC/gas churn. Set to 0 to disable when the address is set.
313
- * Env: JINN_CLAIM_LOOP_INTERVAL_MS.
314
- */
315
- jinnClaimLoopIntervalMs: z.number().int().min(0).default(60 * 60 * 1000),
231
+ watchdogAutoRestart: z.boolean().default(false),
316
232
  /** Staking mode: 'standard' uses stOLAS (no OLAS needed), 'self-bond' uses operator-provided OLAS. */
317
233
  stakingMode: z.enum(['standard', 'self-bond']).default('standard'),
318
234
  /** Number of services to bootstrap and run. */
@@ -347,6 +263,25 @@ export const JinnConfigSchema = z.object({
347
263
  .string()
348
264
  .regex(/^\d+$/, 'must be a non-negative integer string')
349
265
  .optional(),
266
+ /**
267
+ * Faucet top-up daily cap + cooldown (issue #560). Single source of truth
268
+ * for the running-mode Dashboard "Top up from faucet" batch action, shared
269
+ * by the daemon endpoint and surfaced to the SPA via GET /v1/setup/drip/quota.
270
+ *
271
+ * `faucetDailyTopupCap` — number of faucet drips a single operator click may
272
+ * issue in one batch (and the per-24h ceiling per wallet). Env:
273
+ * JINN_FAUCET_DAILY_TOPUP_CAP.
274
+ *
275
+ * `faucetTopupCooldownMs` — once the cap is reached, the top-up action is
276
+ * disabled until this window elapses since the first call of that batch.
277
+ * Env: JINN_FAUCET_TOPUP_COOLDOWN_MS.
278
+ */
279
+ faucetDailyTopupCap: z.number().int().positive().default(10),
280
+ faucetTopupCooldownMs: z
281
+ .number()
282
+ .int()
283
+ .min(0)
284
+ .default(24 * 60 * 60 * 1000),
350
285
  /**
351
286
  * Operator-controlled Harness inventory.
352
287
  */
@@ -394,6 +329,23 @@ export const JinnConfigSchema = z.object({
394
329
  mode: z.enum(['train', 'frozen']).default('train'),
395
330
  })
396
331
  .default({ mode: 'train' }),
332
+ /**
333
+ * Mineable-trace retention consent (task-creator spec §10, decision D2).
334
+ * Two independent, deliberate opt-in tiers:
335
+ * - `consent` ('off' default) — retain contract fields (repo,
336
+ * The single sharing consent (mono#1714): local capture, mining, and
337
+ * distillation happen unconditionally (they never leave the machine), and
338
+ * `share` governs only whether a mined task is published off the box.
339
+ * Default is false — nothing derived from work leaves the machine unless
340
+ * the operator opts in. Env: JINN_SHARE_CONSENT. Legacy
341
+ * `consent`/`publishConsent` (and JINN_MINEABLE_PUBLISH_CONSENT) migrate to
342
+ * `share` at load time (only the old publish bit maps).
343
+ */
344
+ mineableTraces: z
345
+ .object({
346
+ share: z.boolean().default(false),
347
+ })
348
+ .default({ share: false }),
397
349
  /**
398
350
  * Manifest-keyed joined SolverNets.
399
351
  *
@@ -424,10 +376,35 @@ export const JinnConfigSchema = z.object({
424
376
  .min(1, 'each joined SolverNet must enable at least one role'),
425
377
  harness: HarnessNameSchema.optional(),
426
378
  model: z.string().optional(),
379
+ // Provider route (issue #1243): a named provider (string) or a custom
380
+ // OpenAI-compatible endpoint object. Optional — legacy `{model}`-only
381
+ // entries are backfilled at load time (see `backfillJoinedProviders`).
382
+ provider: z
383
+ .union([
384
+ z.string().trim().min(1),
385
+ z.object({
386
+ name: z.string().trim().min(1),
387
+ baseUrl: z.string().trim().min(1).optional(),
388
+ authVar: z.string().trim().min(1).optional(),
389
+ }),
390
+ ])
391
+ .optional(),
427
392
  plugins: z.array(z.string()).default([]),
428
393
  disabledDefaultPlugins: z.array(z.string()).default([]),
429
394
  }))
430
395
  .optional(),
396
+ /**
397
+ * Set true once the operator clicks "Enter dashboard" at the end of the
398
+ * #983 guided onboarding takeover. Distinct from `joinedSolverNets` being
399
+ * non-empty: a node can have a membership mid-onboarding (the first join
400
+ * populates the map) yet not have finished harness/model selection. The SPA
401
+ * gates the bootstrap→dashboard hand-off on this flag (see App.tsx), so the
402
+ * first join no longer ejects the operator before the harness step.
403
+ *
404
+ * Written by POST /v1/operator/onboarding-complete (persisted to disk AND
405
+ * mutated in-memory so GET /v1/bootstrap reflects it without a restart).
406
+ */
407
+ onboardingComplete: z.boolean().optional(),
431
408
  /**
432
409
  * Trusted ed25519 publishers for external harness impls. The daemon
433
410
  * refuses to load any external impl whose manifest signature is not
@@ -452,6 +429,12 @@ export const JinnConfigSchema = z.object({
452
429
  .object({
453
430
  workingDirRoot: z.string().optional(),
454
431
  implStateDirRoot: z.string().optional(),
432
+ /**
433
+ * Auto-load top-3 corpus solution records for the task's solverType
434
+ * into task.context.corpusKnowledge before each restoration harness
435
+ * spawn (#1393). Default true; env JINN_ENGINE_KNOWLEDGE_AUTOLOAD.
436
+ */
437
+ knowledgeAutoload: z.boolean().optional(),
455
438
  })
456
439
  .optional(),
457
440
  /**
@@ -511,8 +494,27 @@ export const JinnConfigSchema = z.object({
511
494
  port: z.number().int().positive().default(7342),
512
495
  })
513
496
  .default({ enabled: false, port: 7342 }),
497
+ /**
498
+ * Seller-side ML PII detection (GLiNER ONNX, in-process) applied before
499
+ * captures (and task trajectories) are published. **On by default** for
500
+ * publish lanes (#1973): free-prose names have no reliable regex shape.
501
+ * Set `enabled: false` explicitly to disable. When enabled, a model-load
502
+ * failure fails closed at the publish altitude — the trajectory is not
503
+ * published — while the daemon's other loops keep running. Unresolved
504
+ * flag dispositions also hold unattended publishes until
505
+ * `jinn scrub review` resolves them.
506
+ * Env: JINN_CAPTURES_PII_DETECTION_ENABLED=0|false|no to disable,
507
+ * JINN_CAPTURES_PII_DETECTION_MODEL=<hf-model-id>
508
+ * Default model: urchade/gliner_multi_pii-v1 (ONNX via onnx-community).
509
+ */
510
+ piiDetection: z
511
+ .object({
512
+ enabled: z.boolean().default(true),
513
+ model: z.string().optional(),
514
+ })
515
+ .default({ enabled: true }),
514
516
  })
515
- .default({ llmProxy: { enabled: false, port: 7342 } }),
517
+ .default({ llmProxy: { enabled: false, port: 7342 }, piiDetection: { enabled: true } }),
516
518
  /**
517
519
  * Run idempotent legacy migrations at daemon startup (jinn-mono-jgp:
518
520
  * backfill `agent_id` on `complete` services that pre-date j07).
@@ -578,13 +580,49 @@ export const JinnConfigSchema = z.object({
578
580
  blockedCids: z.array(z.string()).default([]),
579
581
  })
580
582
  .default({ blockedCids: [] }),
581
- }).refine((cfg) => cfg.jinnClaimSubmissionMode !== 'submit' ||
582
- !cfg.jinnDistributorAddress ||
583
- !!cfg.ethereumRpcUrl, {
584
- message: 'ethereumRpcUrl must be set when jinnDistributorAddress is configured in submit mode ' +
585
- '(env JINN_ETHEREUM_RPC_URL or config field). The cross-chain claim loop ' +
586
- 'cannot reach the L1 governance chain without it.',
587
- path: ['ethereumRpcUrl'],
583
+ /**
584
+ * Commit-echo harvest loop (task-creator v0). When enabled, the daemon scans
585
+ * configured local git clones for fix-shaped commits and admits minted tasks.
586
+ *
587
+ * `sources` selects which harvest sources the loop mines each tick — absent
588
+ * ⇒ `['commits']`, so existing configs behave identically. `'sessions'`
589
+ * mines locally-captured task-creator sessions (local retention is
590
+ * unconditional per mono#1714; whether a mined task is published off the box
591
+ * is gated by `mineableTraces.share`, see above). Env: JINN_HARVEST_SOURCES
592
+ * (comma-separated).
593
+ */
594
+ harvest: z
595
+ .object({
596
+ enabled: z.boolean().default(false),
597
+ intervalMs: z.number().int().positive().default(60 * 60 * 1000),
598
+ limitPerRepo: z.number().int().positive().default(3),
599
+ /** Max session-echo records mined per harvest tick (sibling of limitPerRepo). */
600
+ limitPerTick: z.number().int().positive().default(3),
601
+ publish: z.boolean().default(true),
602
+ repos: z
603
+ .array(z.object({
604
+ path: z.string().min(1),
605
+ /** GitHub `owner/repo`; inferred from `git remote` when omitted. */
606
+ repo: z.string().min(1).optional(),
607
+ remote: z.string().optional(),
608
+ /**
609
+ * Operator-approved G0b recipe plus its published, attested
610
+ * environment binding. Parsed strictly by the harvest adapter.
611
+ */
612
+ explicitRecipe: z.unknown().optional(),
613
+ }))
614
+ .default([]),
615
+ sources: z.array(z.enum(['commits', 'sessions'])).default(['commits']),
616
+ })
617
+ .default({
618
+ enabled: false,
619
+ intervalMs: 60 * 60 * 1000,
620
+ limitPerRepo: 3,
621
+ limitPerTick: 3,
622
+ publish: true,
623
+ repos: [],
624
+ sources: ['commits'],
625
+ }),
588
626
  });
589
627
  const DEFAULT_ENGINE = {
590
628
  workingDirRoot: join(homedir(), '.jinn-client', 'engine', 'work'),
@@ -601,21 +639,42 @@ export const DEFAULT_CONFIG_PATH = join(DEFAULT_DIR, 'config.json');
601
639
  * historical sync — see ponder.config.ts).
602
640
  */
603
641
  export const DEFAULT_TESTNET_DISCOVERY_URL = 'https://jinn-indexer-production.up.railway.app';
604
- export const DEFAULT_TESTNET_ETHEREUM_RPC_URL = 'https://ethereum-sepolia-rpc.publicnode.com';
605
642
  /**
606
- * Default fallback chain for the L2 measurement chain (Base Sepolia) on
607
- * testnet. Per AC2 of issue #592:
608
- * slot 0 — `https://base-sepolia.publicnode.com` (no-auth, 50k-block
609
- * getLogs cap, no shared-quota cliff).
610
- * slot 1 — `https://sepolia.base.org` (free public Coinbase endpoint,
611
- * 2k-block cap; last-resort backup).
643
+ * Default fallback chain for the L2 measurement chain (Base Sepolia, chain-id
644
+ * 84532) on testnet. Originally a two-provider chain (AC2 of issue #592);
645
+ * widened to ≥5 distinct free providers per issue #911 so a default-config
646
+ * daemon tolerates a single-provider quota cliff (the Tenderly shared-quota
647
+ * cliff of 2026-05-24) without an operator key.
648
+ * slot 0 — `https://base-sepolia.publicnode.com` (#835 no-auth primary,
649
+ * 50k-block getLogs cap, no shared-quota cliff).
650
+ * slot 1 — `https://base-sepolia-rpc.publicnode.com`
651
+ * slot 2 — `https://base-sepolia.drpc.org`
652
+ * slot 3 — `https://base-sepolia.gateway.tenderly.co`
653
+ * slot 4 — `https://sepolia.base.org` (free public Coinbase endpoint,
654
+ * 2k-block cap; last-resort backup, stays last).
612
655
  * Operators are encouraged to prepend a paid primary key (Alchemy, Tenderly,
613
656
  * etc.) via `rpcUrl` config or `JINN_RPC_URL` / `BASE_SEPOLIA_RPC_URL` env.
657
+ * All five endpoints live-verified to return chain-id 84532 (#911).
614
658
  */
615
659
  export const DEFAULT_TESTNET_RPC_URLS = [
616
660
  'https://base-sepolia.publicnode.com',
661
+ 'https://base-sepolia-rpc.publicnode.com',
662
+ 'https://base-sepolia.drpc.org',
663
+ 'https://base-sepolia.gateway.tenderly.co',
617
664
  'https://sepolia.base.org',
618
665
  ];
666
+ /**
667
+ * Default fallback chain for the L2 measurement chain (Base mainnet, chain-id
668
+ * 8453). ≥5 distinct free providers per issue #911.
669
+ * slot 0 — `https://mainnet.base.org` (free public Coinbase endpoint).
670
+ */
671
+ export const DEFAULT_MAINNET_RPC_URLS = [
672
+ 'https://mainnet.base.org',
673
+ 'https://base.publicnode.com',
674
+ 'https://base.drpc.org',
675
+ 'https://1rpc.io/base',
676
+ 'https://base.meowrpc.com',
677
+ ];
619
678
  export class ConfigLoadError extends Error {
620
679
  code;
621
680
  details;
@@ -702,6 +761,12 @@ export function migrateLegacySolverNets(raw) {
702
761
  roles: Array.from(new Set(roles)),
703
762
  ...(typeof entry.harness === 'string' ? { harness: entry.harness } : {}),
704
763
  ...(typeof entry.model === 'string' ? { model: entry.model } : {}),
764
+ // Stamp the OpenRouter provider first-class when the migrated model is
765
+ // OpenRouter-shaped (issue #1243) so the synthetic entry matches what a
766
+ // fresh join would persist and the adapter routes without inference.
767
+ ...(typeof entry.model === 'string' && isOpenRouterModelId(entry.model)
768
+ ? { provider: 'openrouter' }
769
+ : {}),
705
770
  plugins: Array.isArray(entry.plugins) ? entry.plugins : [],
706
771
  disabledDefaultPlugins: [],
707
772
  };
@@ -713,6 +778,35 @@ export function migrateLegacySolverNets(raw) {
713
778
  delete raw['solverNets'];
714
779
  return migrated;
715
780
  }
781
+ /**
782
+ * Backfill `provider: 'openrouter'` onto legacy `joinedSolverNets` entries that
783
+ * carry an OpenRouter-shaped `model` id but no `provider` (issue #1243). A
784
+ * v0.1.6 config only persisted `{ model }` and relied on the adapter inferring
785
+ * the provider from the id shape at runtime; stamping it here makes the route
786
+ * first-class so pre-provider configs migrate silently.
787
+ *
788
+ * Mutates `merged` in place. Idempotent — entries that already carry a
789
+ * `provider`, or whose `model` is absent / not OpenRouter-shaped, are untouched.
790
+ * Returns the number of entries backfilled.
791
+ */
792
+ export function backfillJoinedProviders(merged) {
793
+ const joined = merged['joinedSolverNets'];
794
+ if (!joined || typeof joined !== 'object' || Array.isArray(joined))
795
+ return 0;
796
+ let backfilled = 0;
797
+ for (const entry of Object.values(joined)) {
798
+ if (!entry || typeof entry !== 'object' || Array.isArray(entry))
799
+ continue;
800
+ const e = entry;
801
+ if (e['provider'] !== undefined)
802
+ continue;
803
+ if (!isOpenRouterModelId(e['model']))
804
+ continue;
805
+ e['provider'] = 'openrouter';
806
+ backfilled += 1;
807
+ }
808
+ return backfilled;
809
+ }
716
810
  /**
717
811
  * Load config with resolution: env > config file > defaults.
718
812
  *
@@ -746,12 +840,13 @@ export function loadConfig(configPath) {
746
840
  const merged = { ...fileValues };
747
841
  if (env['JINN_NETWORK'])
748
842
  merged.network = env['JINN_NETWORK'];
749
- if (env['JINN_L2_PROOF_RPC_URL'])
750
- merged.l2ProofRpcUrl = env['JINN_L2_PROOF_RPC_URL'];
751
843
  if (env['JINN_EARNING_DIR'])
752
844
  merged.earningDir = env['JINN_EARNING_DIR'];
753
845
  if (env['JINN_DB_PATH'])
754
846
  merged.dbPath = env['JINN_DB_PATH'];
847
+ if (env['JINN_SWE_REBENCH_V2_STATE_DIR']) {
848
+ merged.sweRebenchV2StateDir = env['JINN_SWE_REBENCH_V2_STATE_DIR'];
849
+ }
755
850
  if (env['JINN_POLL_INTERVAL_MS'])
756
851
  merged.pollIntervalMs = parseInt(env['JINN_POLL_INTERVAL_MS'], 10);
757
852
  if (env['JINN_REWARD_CLAIM_INTERVAL_MS'] !== undefined) {
@@ -840,33 +935,9 @@ export function loadConfig(configPath) {
840
935
  merged.testnetL2TokenDeploymentPath = env['JINN_TESTNET_TOKEN_DEPLOYMENT'];
841
936
  if (env['JINN_TESTNET_MECH_DEPLOYMENT'])
842
937
  merged.testnetMechDeploymentPath = env['JINN_TESTNET_MECH_DEPLOYMENT'];
843
- if (env['JINN_MVI_L1_DEPLOYMENT'])
844
- merged.jinnMviL1DeploymentPath = env['JINN_MVI_L1_DEPLOYMENT'];
845
- if (env['JINN_MVI_L2_DEPLOYMENT'])
846
- merged.jinnMviL2DeploymentPath = env['JINN_MVI_L2_DEPLOYMENT'];
847
- if (env['JINN_ETHEREUM_RPC_URL'])
848
- merged.ethereumRpcUrl = env['JINN_ETHEREUM_RPC_URL'];
849
- if (env['JINN_ETHEREUM_ARCHIVE_RPC_URL'])
850
- merged.ethereumArchiveRpcUrl = env['JINN_ETHEREUM_ARCHIVE_RPC_URL'];
851
- if (env['JINN_L1_NETWORK'])
852
- merged.jinnL1Network = env['JINN_L1_NETWORK'];
853
- if (env['JINN_DISTRIBUTOR_ADDRESS'])
854
- merged.jinnDistributorAddress = env['JINN_DISTRIBUTOR_ADDRESS'];
855
- if (env['JINN_CLAIM_EMITTER_ADDRESS'])
856
- merged.jinnClaimEmitterAddress = env['JINN_CLAIM_EMITTER_ADDRESS'];
857
- if (env['JINN_MESSENGER_ADDRESS'])
858
- merged.jinnMessengerAddress = env['JINN_MESSENGER_ADDRESS'];
859
- if (env['JINN_MESSENGER_MODE'])
860
- merged.jinnMessengerMode = env['JINN_MESSENGER_MODE'];
861
- if (env['JINN_CLAIM_SUBMISSION_MODE']) {
862
- merged.jinnClaimSubmissionMode = env['JINN_CLAIM_SUBMISSION_MODE'];
863
- }
864
- if (env['JINN_CLAIM_LOOP_ENABLED'] !== undefined) {
865
- const v = env['JINN_CLAIM_LOOP_ENABLED'].trim().toLowerCase();
866
- merged.jinnClaimLoopEnabled = v === '1' || v === 'true' || v === 'yes';
867
- }
868
- if (env['JINN_CLAIM_LOOP_INTERVAL_MS'] !== undefined) {
869
- merged.jinnClaimLoopIntervalMs = parseInt(env['JINN_CLAIM_LOOP_INTERVAL_MS'], 10);
938
+ if (env['JINN_WATCHDOG_AUTO_RESTART'] !== undefined) {
939
+ const v = env['JINN_WATCHDOG_AUTO_RESTART'].trim().toLowerCase();
940
+ merged.watchdogAutoRestart = v === '1' || v === 'true' || v === 'yes';
870
941
  }
871
942
  if (env['JINN_STAKING_MODE'])
872
943
  merged.stakingMode = env['JINN_STAKING_MODE'];
@@ -890,6 +961,56 @@ export function loadConfig(configPath) {
890
961
  if (env['JINN_MIN_SAFE_ETH_WEI']) {
891
962
  merged.minSafeEthWei = env['JINN_MIN_SAFE_ETH_WEI'].trim();
892
963
  }
964
+ if (env['JINN_FAUCET_DAILY_TOPUP_CAP'] !== undefined) {
965
+ merged.faucetDailyTopupCap = parseInt(env['JINN_FAUCET_DAILY_TOPUP_CAP'], 10);
966
+ }
967
+ if (env['JINN_FAUCET_TOPUP_COOLDOWN_MS'] !== undefined) {
968
+ merged.faucetTopupCooldownMs = parseInt(env['JINN_FAUCET_TOPUP_COOLDOWN_MS'], 10);
969
+ }
970
+ if (env['JINN_HARVEST_ENABLED'] !== undefined) {
971
+ const v = env['JINN_HARVEST_ENABLED'].trim().toLowerCase();
972
+ const enabled = v === '1' || v === 'true' || v === 'yes';
973
+ merged.harvest = {
974
+ ...(typeof merged.harvest === 'object' && merged.harvest ? merged.harvest : {}),
975
+ enabled,
976
+ };
977
+ }
978
+ if (env['JINN_HARVEST_REPOS']) {
979
+ const paths = env['JINN_HARVEST_REPOS'].split(',').map((s) => s.trim()).filter(Boolean);
980
+ merged.harvest = {
981
+ ...(typeof merged.harvest === 'object' && merged.harvest ? merged.harvest : {}),
982
+ repos: paths.map((path) => {
983
+ const [repoPath, repo] = path.split(':');
984
+ return repo ? { path: repoPath, repo } : { path: repoPath };
985
+ }),
986
+ };
987
+ }
988
+ if (env['JINN_HARVEST_INTERVAL_MS']) {
989
+ merged.harvest = {
990
+ ...(typeof merged.harvest === 'object' && merged.harvest ? merged.harvest : {}),
991
+ intervalMs: parseInt(env['JINN_HARVEST_INTERVAL_MS'], 10),
992
+ };
993
+ }
994
+ if (env['JINN_HARVEST_SOURCES']) {
995
+ const sources = env['JINN_HARVEST_SOURCES'].split(',').map((s) => s.trim()).filter(Boolean);
996
+ merged.harvest = {
997
+ ...(typeof merged.harvest === 'object' && merged.harvest ? merged.harvest : {}),
998
+ sources,
999
+ };
1000
+ }
1001
+ // Single sharing consent (mono#1714). JINN_SHARE_CONSENT is authoritative;
1002
+ // the legacy JINN_MINEABLE_PUBLISH_CONSENT still maps to `share` for one
1003
+ // release (only the old publish bit ever meant "a task may leave").
1004
+ if (env['JINN_SHARE_CONSENT'] !== undefined || env['JINN_MINEABLE_PUBLISH_CONSENT'] !== undefined) {
1005
+ const truthy = (v) => ['1', 'true', 'yes'].includes(v.trim().toLowerCase());
1006
+ const share = env['JINN_SHARE_CONSENT'] !== undefined
1007
+ ? truthy(env['JINN_SHARE_CONSENT'])
1008
+ : truthy(env['JINN_MINEABLE_PUBLISH_CONSENT']);
1009
+ merged.mineableTraces = {
1010
+ ...(typeof merged.mineableTraces === 'object' && merged.mineableTraces ? merged.mineableTraces : {}),
1011
+ share,
1012
+ };
1013
+ }
893
1014
  // Legacy `JINN_PREDICTION_V1_*` env vars are no longer recognised. Their
894
1015
  // values now live in the launched-record's generator-config block per
895
1016
  // spec/2026-05-05-solvernet-creation-and-launch.md (Decision 5 + Task 14)
@@ -928,16 +1049,24 @@ export function loadConfig(configPath) {
928
1049
  };
929
1050
  }
930
1051
  if (env['JINN_CAPTURES_LLM_PROXY_ENABLED'] !== undefined ||
931
- env['JINN_CAPTURES_LLM_PROXY_PORT'] !== undefined) {
1052
+ env['JINN_CAPTURES_LLM_PROXY_PORT'] !== undefined ||
1053
+ env['JINN_CAPTURES_PII_DETECTION_ENABLED'] !== undefined ||
1054
+ env['JINN_CAPTURES_PII_DETECTION_MODEL'] !== undefined) {
932
1055
  const prevCaptures = typeof merged['captures'] === 'object' && merged['captures'] !== null
933
1056
  ? merged['captures']
934
1057
  : {};
935
1058
  const prevProxy = typeof prevCaptures['llmProxy'] === 'object' && prevCaptures['llmProxy'] !== null
936
1059
  ? prevCaptures['llmProxy']
937
1060
  : {};
1061
+ const prevPii = typeof prevCaptures['piiDetection'] === 'object' && prevCaptures['piiDetection'] !== null
1062
+ ? prevCaptures['piiDetection']
1063
+ : {};
938
1064
  const enabled = env['JINN_CAPTURES_LLM_PROXY_ENABLED'] !== undefined
939
1065
  ? ['1', 'true', 'yes'].includes(env['JINN_CAPTURES_LLM_PROXY_ENABLED'].trim().toLowerCase())
940
1066
  : undefined;
1067
+ const piiEnabled = env['JINN_CAPTURES_PII_DETECTION_ENABLED'] !== undefined
1068
+ ? ['1', 'true', 'yes'].includes(env['JINN_CAPTURES_PII_DETECTION_ENABLED'].trim().toLowerCase())
1069
+ : undefined;
941
1070
  merged['captures'] = {
942
1071
  ...prevCaptures,
943
1072
  llmProxy: {
@@ -947,9 +1076,18 @@ export function loadConfig(configPath) {
947
1076
  ? { port: Number.parseInt(env['JINN_CAPTURES_LLM_PROXY_PORT'], 10) }
948
1077
  : {}),
949
1078
  },
1079
+ piiDetection: {
1080
+ ...prevPii,
1081
+ ...(piiEnabled !== undefined ? { enabled: piiEnabled } : {}),
1082
+ ...(env['JINN_CAPTURES_PII_DETECTION_MODEL']
1083
+ ? { model: env['JINN_CAPTURES_PII_DETECTION_MODEL'] }
1084
+ : {}),
1085
+ },
950
1086
  };
951
1087
  }
952
- if (env['JINN_ENGINE_WORKING_DIR_ROOT'] || env['JINN_ENGINE_IMPL_STATE_DIR_ROOT']) {
1088
+ if (env['JINN_ENGINE_WORKING_DIR_ROOT'] ||
1089
+ env['JINN_ENGINE_IMPL_STATE_DIR_ROOT'] ||
1090
+ env['JINN_ENGINE_KNOWLEDGE_AUTOLOAD'] !== undefined) {
953
1091
  const prev = typeof merged['engine'] === 'object' && merged['engine'] !== null
954
1092
  ? merged['engine']
955
1093
  : {};
@@ -957,6 +1095,9 @@ export function loadConfig(configPath) {
957
1095
  ...prev,
958
1096
  ...(env['JINN_ENGINE_WORKING_DIR_ROOT'] ? { workingDirRoot: env['JINN_ENGINE_WORKING_DIR_ROOT'] } : {}),
959
1097
  ...(env['JINN_ENGINE_IMPL_STATE_DIR_ROOT'] ? { implStateDirRoot: env['JINN_ENGINE_IMPL_STATE_DIR_ROOT'] } : {}),
1098
+ ...(env['JINN_ENGINE_KNOWLEDGE_AUTOLOAD'] !== undefined
1099
+ ? { knowledgeAutoload: ['1', 'true', 'yes'].includes(env['JINN_ENGINE_KNOWLEDGE_AUTOLOAD'].trim().toLowerCase()) }
1100
+ : {}),
960
1101
  };
961
1102
  }
962
1103
  // JINN_STATE_DIR: single volume-aware root. Runs AFTER all per-key env
@@ -973,6 +1114,9 @@ export function loadConfig(configPath) {
973
1114
  merged['earningDir'] = join(stateDir, 'earning');
974
1115
  if (merged['dbPath'] === undefined)
975
1116
  merged['dbPath'] = join(stateDir, 'jinn.db');
1117
+ if (merged['sweRebenchV2StateDir'] === undefined) {
1118
+ merged['sweRebenchV2StateDir'] = join(stateDir, 'swe-rebench-v2');
1119
+ }
976
1120
  const engineObj = (typeof merged['engine'] === 'object' && merged['engine'] !== null)
977
1121
  ? merged['engine']
978
1122
  : {};
@@ -981,7 +1125,7 @@ export function loadConfig(configPath) {
981
1125
  merged['engine'] = engineObj;
982
1126
  }
983
1127
  }
984
- const resolvedNetwork = merged.network === 'testnet' ? 'testnet' : 'mainnet';
1128
+ const resolvedNetwork = merged.network === 'mainnet' ? 'mainnet' : 'testnet';
985
1129
  // Testnet default: point discovery at the privately-operated Ponder indexer
986
1130
  // (jinn-mono-280n.4), unless the operator has set their own `discovery` block.
987
1131
  //
@@ -1012,12 +1156,6 @@ export function loadConfig(configPath) {
1012
1156
  : {}),
1013
1157
  };
1014
1158
  }
1015
- if (resolvedNetwork === 'testnet' && !merged.ethereumRpcUrl) {
1016
- merged.ethereumRpcUrl = DEFAULT_TESTNET_ETHEREUM_RPC_URL;
1017
- }
1018
- if (resolvedNetwork === 'testnet' && merged.jinnClaimLoopEnabled === undefined) {
1019
- merged.jinnClaimLoopEnabled = true;
1020
- }
1021
1159
  // Keep the legacy BASE_RPC_URL override for Base mainnet only. Testnet must
1022
1160
  // not silently inherit a mainnet RPC from client/.env during bootstrap.
1023
1161
  if (env['JINN_RPC_URL']) {
@@ -1061,6 +1199,34 @@ export function loadConfig(configPath) {
1061
1199
  'Open Operator > SolverNets in the dashboard to re-join via the registry ' +
1062
1200
  '(replaces the synthetic legacy:* keys with real manifest CIDs).');
1063
1201
  }
1202
+ // Persist whenever the on-disk file carried a legacy `solverNets` block, even
1203
+ // when every entry already had a `legacy:*` counterpart (migratedCount === 0):
1204
+ // `migrateLegacySolverNets` deletes the block in-memory unconditionally, so
1205
+ // gating the persist on migratedCount would leave the stale block on disk
1206
+ // forever and re-trigger prediction code paths every boot (issue #445).
1207
+ // Re-reads the raw file (never the env-merged object) so transient env
1208
+ // overrides are not baked in; best-effort, and a no-op on already-clean files.
1209
+ if ('solverNets' in fileValues) {
1210
+ persistLegacySolverNetsMigration(filePath);
1211
+ }
1212
+ // Migrate legacy `mineableTraces.{consent,publishConsent}` → single `share`
1213
+ // (mono#1714, one release). Only the old publish bit ever meant "a task may
1214
+ // leave the machine"; the tier-1 retention bit is discarded (retention is now
1215
+ // unconditional). Env-set `share` (above) wins over the legacy file keys.
1216
+ if (typeof merged.mineableTraces === 'object' && merged.mineableTraces) {
1217
+ const mt = merged.mineableTraces;
1218
+ if (!('share' in mt) && ('publishConsent' in mt || 'consent' in mt)) {
1219
+ merged.mineableTraces = { share: mt['publishConsent'] === true };
1220
+ }
1221
+ // A stray legacy `consent`/`publishConsent` alongside `share` is dropped by
1222
+ // the schema's non-strict parse — no explicit reshape needed.
1223
+ }
1224
+ // Backfill `provider: 'openrouter'` onto legacy `{model}`-only joined entries
1225
+ // whose model id is OpenRouter-shaped (issue #1243). Runs after the legacy
1226
+ // migration so synthetic `legacy:*` entries are covered too. In-memory only —
1227
+ // the on-disk config re-persists provider first-class on the operator's next
1228
+ // join via the SPA; a load-time-only backfill keeps existing files loading.
1229
+ backfillJoinedProviders(merged);
1064
1230
  // 3. Validate
1065
1231
  const result = JinnConfigSchema.safeParse(merged);
1066
1232
  if (!result.success) {
@@ -1079,30 +1245,22 @@ export function loadConfig(configPath) {
1079
1245
  // shared-quota cliff of 2026-05-24 that took out every default-config
1080
1246
  // daemon at once). See #554 + the NetworkSection.tsx "shared RPC" panel for
1081
1247
  // the operator-facing pitch to bring their own key. The sibling Ethereum L1
1082
- // default (DEFAULT_TESTNET_ETHEREUM_RPC_URL above) is already publicnode —
1083
- // this keeps the two L1/L2 defaults symmetric.
1248
+ // default (DEFAULT_TESTNET_ETHEREUM_RPC_URLS above) is publicnode-headed —
1249
+ // this keeps the two L1/L2 defaults symmetric. Both chains ship ≥5 free
1250
+ // providers per issue #911.
1084
1251
  const parsed = result.data;
1085
1252
  const defaultRpcUrls = parsed.network === 'testnet'
1086
1253
  ? DEFAULT_TESTNET_RPC_URLS
1087
- : ['https://mainnet.base.org'];
1254
+ : DEFAULT_MAINNET_RPC_URLS;
1088
1255
  const rpcUrlsResolved = parsed.rpcUrl !== undefined
1089
1256
  ? parseRpcUrls(parsed.rpcUrl)
1090
1257
  : [...defaultRpcUrls];
1091
1258
  const archiveRpcUrlsResolved = parsed.archiveRpcUrl !== undefined
1092
1259
  ? parseRpcUrls(parsed.archiveRpcUrl)
1093
1260
  : undefined;
1094
- const l2ProofRpcUrlsResolved = parsed.l2ProofRpcUrl !== undefined
1095
- ? parseRpcUrls(parsed.l2ProofRpcUrl)
1096
- : undefined;
1097
- const ethereumRpcUrlsResolved = parsed.ethereumRpcUrl !== undefined
1098
- ? parseRpcUrls(parsed.ethereumRpcUrl)
1099
- : undefined;
1100
- const ethereumArchiveRpcUrlsResolved = parsed.ethereumArchiveRpcUrl !== undefined
1101
- ? parseRpcUrls(parsed.ethereumArchiveRpcUrl)
1102
- : undefined;
1103
1261
  // Strip the union-typed (string | string[]) RPC fields from `parsed` — the
1104
1262
  // returned shape carries the resolved head URL plus a `*Urls` array instead.
1105
- const { rpcUrl: _rpcUrl, archiveRpcUrl: _archiveRpcUrl, l2ProofRpcUrl: _l2ProofRpcUrl, ethereumRpcUrl: _ethereumRpcUrl, ethereumArchiveRpcUrl: _ethereumArchiveRpcUrl, ...rest } = parsed;
1263
+ const { rpcUrl: _rpcUrl, archiveRpcUrl: _archiveRpcUrl, ...rest } = parsed;
1106
1264
  return {
1107
1265
  ...rest,
1108
1266
  rpcUrl: rpcUrlsResolved[0],
@@ -1110,23 +1268,12 @@ export function loadConfig(configPath) {
1110
1268
  ...(archiveRpcUrlsResolved
1111
1269
  ? { archiveRpcUrl: archiveRpcUrlsResolved[0], archiveRpcUrls: archiveRpcUrlsResolved }
1112
1270
  : {}),
1113
- ...(l2ProofRpcUrlsResolved
1114
- ? { l2ProofRpcUrl: l2ProofRpcUrlsResolved[0], l2ProofRpcUrls: l2ProofRpcUrlsResolved }
1115
- : {}),
1116
- ...(ethereumRpcUrlsResolved
1117
- ? { ethereumRpcUrl: ethereumRpcUrlsResolved[0], ethereumRpcUrls: ethereumRpcUrlsResolved }
1118
- : {}),
1119
- ...(ethereumArchiveRpcUrlsResolved
1120
- ? {
1121
- ethereumArchiveRpcUrl: ethereumArchiveRpcUrlsResolved[0],
1122
- ethereumArchiveRpcUrls: ethereumArchiveRpcUrlsResolved,
1123
- }
1124
- : {}),
1125
1271
  // parseTask assigns a UUID to any entry missing an id
1126
1272
  tasks: parsed.tasks.map(parseTask),
1127
1273
  engine: {
1128
1274
  workingDirRoot: parsed.engine?.workingDirRoot ?? DEFAULT_ENGINE.workingDirRoot,
1129
1275
  implStateDirRoot: parsed.engine?.implStateDirRoot ?? DEFAULT_ENGINE.implStateDirRoot,
1276
+ knowledgeAutoload: parsed.engine?.knowledgeAutoload ?? true,
1130
1277
  },
1131
1278
  };
1132
1279
  }
@@ -1137,6 +1284,29 @@ export function getConfigPathFromArgs(argv = process.argv) {
1137
1284
  const idx = argv.indexOf('--config');
1138
1285
  return idx >= 0 && argv[idx + 1] ? argv[idx + 1] : undefined;
1139
1286
  }
1287
+ /**
1288
+ * Persist the legacy-solverNets migration to disk. Re-reads the RAW config file
1289
+ * — never the env-merged object, which would bake transient env overrides such
1290
+ * as JINN_RPC_URL into the file — runs migrateLegacySolverNets on that copy, and
1291
+ * writes the pruned shape back. Best-effort. See issue #445.
1292
+ */
1293
+ function persistLegacySolverNetsMigration(filePath) {
1294
+ if (!existsSync(filePath))
1295
+ return; // pure-env config, no on-disk file → nothing to prune
1296
+ try {
1297
+ const raw = JSON.parse(readFileSync(filePath, 'utf-8'));
1298
+ if (raw['solverNets'] === undefined)
1299
+ return; // already pruned → no write, keeps restarts byte-stable
1300
+ migrateLegacySolverNets(raw); // mutates raw in place (deletes solverNets, sets joinedSolverNets)
1301
+ writeFileSync(filePath, `${JSON.stringify(raw, null, 2)}\n`, 'utf-8');
1302
+ }
1303
+ catch (err) {
1304
+ // A read-only config mount degrades to in-memory-only migration rather than
1305
+ // crashing boot.
1306
+ console.warn(`[config] Could not persist legacy solverNets migration to ${filePath} ` +
1307
+ `(${err instanceof Error ? err.message : String(err)}); continuing with in-memory migration only.`);
1308
+ }
1309
+ }
1140
1310
  /**
1141
1311
  * Merge one top-level value into the operator config file. Used by local setup
1142
1312
  * flows that discover a durable setting after the daemon has already started.
@@ -1192,19 +1362,7 @@ const TRACKED_ENV_VARS = [
1192
1362
  'JINN_TESTNET_L2_DEPLOYMENT',
1193
1363
  'JINN_TESTNET_TOKEN_DEPLOYMENT',
1194
1364
  'JINN_TESTNET_MECH_DEPLOYMENT',
1195
- 'JINN_L2_PROOF_RPC_URL',
1196
- 'JINN_MVI_L1_DEPLOYMENT',
1197
- 'JINN_MVI_L2_DEPLOYMENT',
1198
- 'JINN_ETHEREUM_RPC_URL',
1199
- 'JINN_ETHEREUM_ARCHIVE_RPC_URL',
1200
- 'JINN_L1_NETWORK',
1201
- 'JINN_DISTRIBUTOR_ADDRESS',
1202
- 'JINN_CLAIM_EMITTER_ADDRESS',
1203
- 'JINN_MESSENGER_ADDRESS',
1204
- 'JINN_MESSENGER_MODE',
1205
- 'JINN_CLAIM_SUBMISSION_MODE',
1206
- 'JINN_CLAIM_LOOP_ENABLED',
1207
- 'JINN_CLAIM_LOOP_INTERVAL_MS',
1365
+ 'JINN_WATCHDOG_AUTO_RESTART',
1208
1366
  'JINN_STAKING_MODE',
1209
1367
  'JINN_TARGET_SERVICES',
1210
1368
  'JINN_DEBUG',
@@ -1212,6 +1370,8 @@ const TRACKED_ENV_VARS = [
1212
1370
  'JINN_MASTER_ETH_DAILY_WEI',
1213
1371
  'JINN_MIN_EOA_GAS_WEI',
1214
1372
  'JINN_MIN_SAFE_ETH_WEI',
1373
+ 'JINN_FAUCET_DAILY_TOPUP_CAP',
1374
+ 'JINN_FAUCET_TOPUP_COOLDOWN_MS',
1215
1375
  'JINN_IDENTITY_REGISTRY_ADDRESS',
1216
1376
  'JINN_VALIDATION_REGISTRY_ADDRESS',
1217
1377
  'JINN_REPUTATION_ENABLED',
@@ -1222,6 +1382,7 @@ const TRACKED_ENV_VARS = [
1222
1382
  'JINN_TASKS',
1223
1383
  'JINN_ENGINE_WORKING_DIR_ROOT',
1224
1384
  'JINN_ENGINE_IMPL_STATE_DIR_ROOT',
1385
+ 'JINN_ENGINE_KNOWLEDGE_AUTOLOAD',
1225
1386
  'JINN_SWE_REBENCH_V2_STATE_DIR',
1226
1387
  'JINN_OPERATOR_PUBLIC_ENDPOINT',
1227
1388
  'JINN_OPERATOR_DEFAULT_PRICE_USDC',