@jinn-network/client 0.1.2 → 0.1.3-canary.262e5cda

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 (812) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/CONTRIBUTING.md +8 -2
  3. package/README.md +38 -14
  4. package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +36 -0
  5. package/deployments/deployment-jinn-mvi-l1-sepolia.json +36 -0
  6. package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +12 -0
  7. package/deployments/deployment-phase1b-mech-baseSepolia-fast.json +3 -3
  8. package/deployments/deployment-stolas-l2-baseSepolia-fast.json +1 -1
  9. package/dist/adapters/adapter.d.ts +2 -2
  10. package/dist/adapters/claim-registry/client.d.ts +9 -0
  11. package/dist/adapters/claim-registry/client.js +22 -2
  12. package/dist/adapters/claim-registry/client.js.map +1 -1
  13. package/dist/adapters/local/adapter.d.ts +2 -2
  14. package/dist/adapters/local/adapter.js +8 -8
  15. package/dist/adapters/local/adapter.js.map +1 -1
  16. package/dist/adapters/mech/adapter.d.ts +3 -4
  17. package/dist/adapters/mech/adapter.js +86 -50
  18. package/dist/adapters/mech/adapter.js.map +1 -1
  19. package/dist/adapters/mech/contracts.d.ts +6 -4
  20. package/dist/adapters/mech/contracts.js +118 -14
  21. package/dist/adapters/mech/contracts.js.map +1 -1
  22. package/dist/adapters/mech/ipfs.d.ts +61 -6
  23. package/dist/adapters/mech/ipfs.js +159 -26
  24. package/dist/adapters/mech/ipfs.js.map +1 -1
  25. package/dist/adapters/mech/safe-revert.d.ts +39 -0
  26. package/dist/adapters/mech/safe-revert.js +130 -0
  27. package/dist/adapters/mech/safe-revert.js.map +1 -0
  28. package/dist/adapters/mech/safe.js +47 -21
  29. package/dist/adapters/mech/safe.js.map +1 -1
  30. package/dist/adapters/mech/types.d.ts +8 -0
  31. package/dist/adapters/mech/types.js.map +1 -1
  32. package/dist/agent/agent-ws.d.ts +55 -0
  33. package/dist/agent/agent-ws.js +288 -0
  34. package/dist/agent/agent-ws.js.map +1 -0
  35. package/dist/agent/auto-mode-detect.d.ts +6 -0
  36. package/dist/agent/auto-mode-detect.js +44 -0
  37. package/dist/agent/auto-mode-detect.js.map +1 -0
  38. package/dist/agent/operator-claude.d.ts +22 -0
  39. package/dist/agent/operator-claude.js +130 -0
  40. package/dist/agent/operator-claude.js.map +1 -0
  41. package/dist/api/admin-endpoint.d.ts +12 -0
  42. package/dist/api/admin-endpoint.js +71 -0
  43. package/dist/api/admin-endpoint.js.map +1 -0
  44. package/dist/api/bootstrap-endpoint.d.ts +16 -0
  45. package/dist/api/bootstrap-endpoint.js +78 -0
  46. package/dist/api/bootstrap-endpoint.js.map +1 -0
  47. package/dist/api/events-endpoint.d.ts +9 -0
  48. package/dist/api/events-endpoint.js +46 -0
  49. package/dist/api/events-endpoint.js.map +1 -0
  50. package/dist/api/fleet-build.d.ts +1 -1
  51. package/dist/api/fleet-build.js +17 -8
  52. package/dist/api/fleet-build.js.map +1 -1
  53. package/dist/api/gather-status.js +5 -1
  54. package/dist/api/gather-status.js.map +1 -1
  55. package/dist/api/handshake.d.ts +17 -0
  56. package/dist/api/handshake.js +28 -0
  57. package/dist/api/handshake.js.map +1 -0
  58. package/dist/api/peers.js +20 -5
  59. package/dist/api/peers.js.map +1 -1
  60. package/dist/api/portfolio-v0-build.d.ts +6 -0
  61. package/dist/api/portfolio-v0-build.js +6 -1
  62. package/dist/api/portfolio-v0-build.js.map +1 -1
  63. package/dist/api/rewards-build.js +3 -8
  64. package/dist/api/rewards-build.js.map +1 -1
  65. package/dist/api/server.d.ts +54 -0
  66. package/dist/api/server.js +239 -13
  67. package/dist/api/server.js.map +1 -1
  68. package/dist/api/setup-endpoints.d.ts +34 -0
  69. package/dist/api/setup-endpoints.js +188 -0
  70. package/dist/api/setup-endpoints.js.map +1 -0
  71. package/dist/api/status-build.d.ts +9 -1
  72. package/dist/api/status-build.js +44 -9
  73. package/dist/api/status-build.js.map +1 -1
  74. package/dist/api/status-rollup-build.d.ts +46 -1
  75. package/dist/api/status-rollup-build.js +168 -5
  76. package/dist/api/status-rollup-build.js.map +1 -1
  77. package/dist/api/ui-token.d.ts +5 -0
  78. package/dist/api/ui-token.js +36 -0
  79. package/dist/api/ui-token.js.map +1 -0
  80. package/dist/build-info.d.ts +32 -0
  81. package/dist/build-info.js +69 -0
  82. package/dist/build-info.js.map +1 -0
  83. package/dist/build-info.json +6 -0
  84. package/dist/build-meta.json +1 -1
  85. package/dist/cli/command.d.ts +9 -0
  86. package/dist/cli/commands/balance.d.ts +7 -0
  87. package/dist/cli/commands/balance.js +38 -32
  88. package/dist/cli/commands/balance.js.map +1 -1
  89. package/dist/cli/commands/bootstrap.d.ts +13 -1
  90. package/dist/cli/commands/bootstrap.js +150 -132
  91. package/dist/cli/commands/bootstrap.js.map +1 -1
  92. package/dist/cli/commands/claim-rewards.js +14 -2
  93. package/dist/cli/commands/claim-rewards.js.map +1 -1
  94. package/dist/cli/commands/conformance.d.ts +12 -0
  95. package/dist/cli/commands/conformance.js +140 -0
  96. package/dist/cli/commands/conformance.js.map +1 -0
  97. package/dist/cli/commands/create.d.ts +36 -0
  98. package/dist/cli/commands/create.js +374 -0
  99. package/dist/cli/commands/create.js.map +1 -0
  100. package/dist/cli/commands/doctor.d.ts +34 -1
  101. package/dist/cli/commands/doctor.js +136 -121
  102. package/dist/cli/commands/doctor.js.map +1 -1
  103. package/dist/cli/commands/fleet-scale.d.ts +19 -1
  104. package/dist/cli/commands/fleet-scale.js +379 -361
  105. package/dist/cli/commands/fleet-scale.js.map +1 -1
  106. package/dist/cli/commands/fleet.d.ts +7 -0
  107. package/dist/cli/commands/fleet.js +39 -33
  108. package/dist/cli/commands/fleet.js.map +1 -1
  109. package/dist/cli/commands/fund-requirements.d.ts +14 -1
  110. package/dist/cli/commands/fund-requirements.js +183 -174
  111. package/dist/cli/commands/fund-requirements.js.map +1 -1
  112. package/dist/cli/commands/history.d.ts +10 -1
  113. package/dist/cli/commands/history.js +66 -57
  114. package/dist/cli/commands/history.js.map +1 -1
  115. package/dist/cli/commands/impls.d.ts +18 -0
  116. package/dist/cli/commands/impls.js +208 -0
  117. package/dist/cli/commands/impls.js.map +1 -0
  118. package/dist/cli/commands/init.js +4 -1
  119. package/dist/cli/commands/init.js.map +1 -1
  120. package/dist/cli/commands/intents.js +13 -9
  121. package/dist/cli/commands/intents.js.map +1 -1
  122. package/dist/cli/commands/logs.d.ts +6 -1
  123. package/dist/cli/commands/logs.js +77 -70
  124. package/dist/cli/commands/logs.js.map +1 -1
  125. package/dist/cli/commands/migrate-agent-id.d.ts +26 -0
  126. package/dist/cli/commands/migrate-agent-id.js +165 -0
  127. package/dist/cli/commands/migrate-agent-id.js.map +1 -0
  128. package/dist/cli/commands/plug-ins.d.ts +34 -0
  129. package/dist/cli/commands/plug-ins.js +282 -0
  130. package/dist/cli/commands/plug-ins.js.map +1 -0
  131. package/dist/cli/commands/plugin-install.d.ts +10 -0
  132. package/dist/cli/commands/plugin-install.js +226 -14
  133. package/dist/cli/commands/plugin-install.js.map +1 -1
  134. package/dist/cli/commands/rewards.d.ts +7 -0
  135. package/dist/cli/commands/rewards.js +46 -40
  136. package/dist/cli/commands/rewards.js.map +1 -1
  137. package/dist/cli/commands/run.d.ts +14 -1
  138. package/dist/cli/commands/run.js +232 -90
  139. package/dist/cli/commands/run.js.map +1 -1
  140. package/dist/cli/commands/status.d.ts +10 -0
  141. package/dist/cli/commands/status.js +97 -34
  142. package/dist/cli/commands/status.js.map +1 -1
  143. package/dist/cli/commands/submit-intent.js +33 -6
  144. package/dist/cli/commands/submit-intent.js.map +1 -1
  145. package/dist/cli/commands/ui.js +45 -0
  146. package/dist/cli/commands/ui.js.map +1 -0
  147. package/dist/cli/commands/update.d.ts +5 -0
  148. package/dist/cli/commands/update.js +102 -97
  149. package/dist/cli/commands/update.js.map +1 -1
  150. package/dist/cli/commands/version.js +3 -1
  151. package/dist/cli/commands/version.js.map +1 -1
  152. package/dist/cli/commands/withdraw.d.ts +21 -1
  153. package/dist/cli/commands/withdraw.js +175 -159
  154. package/dist/cli/commands/withdraw.js.map +1 -1
  155. package/dist/cli/execution-context.d.ts +1 -1
  156. package/dist/cli/execution-context.js +2 -1
  157. package/dist/cli/execution-context.js.map +1 -1
  158. package/dist/cli/help.js +7 -0
  159. package/dist/cli/help.js.map +1 -1
  160. package/dist/cli/index.d.ts +7 -0
  161. package/dist/cli/index.js +18 -2
  162. package/dist/cli/index.js.map +1 -1
  163. package/dist/cli/intent-registry-access.d.ts +33 -1
  164. package/dist/cli/intent-registry-access.js +40 -2
  165. package/dist/cli/intent-registry-access.js.map +1 -1
  166. package/dist/cli/open-browser.d.ts +1 -0
  167. package/dist/cli/open-browser.js +18 -0
  168. package/dist/cli/open-browser.js.map +1 -0
  169. package/dist/cli/password.d.ts +3 -3
  170. package/dist/cli/password.js +5 -5
  171. package/dist/cli/password.js.map +1 -1
  172. package/dist/config.d.ts +883 -11
  173. package/dist/config.js +435 -4
  174. package/dist/config.js.map +1 -1
  175. package/dist/conformance/checks/artifacts.d.ts +37 -0
  176. package/dist/conformance/checks/artifacts.js +110 -0
  177. package/dist/conformance/checks/artifacts.js.map +1 -0
  178. package/dist/conformance/checks/envelope-schema.d.ts +17 -0
  179. package/dist/conformance/checks/envelope-schema.js +36 -0
  180. package/dist/conformance/checks/envelope-schema.js.map +1 -0
  181. package/dist/conformance/checks/hash-signature.d.ts +26 -0
  182. package/dist/conformance/checks/hash-signature.js +70 -0
  183. package/dist/conformance/checks/hash-signature.js.map +1 -0
  184. package/dist/conformance/checks/payload.d.ts +19 -0
  185. package/dist/conformance/checks/payload.js +52 -0
  186. package/dist/conformance/checks/payload.js.map +1 -0
  187. package/dist/conformance/checks/secret-scrub.d.ts +33 -0
  188. package/dist/conformance/checks/secret-scrub.js +118 -0
  189. package/dist/conformance/checks/secret-scrub.js.map +1 -0
  190. package/dist/conformance/checks/source-runtime.d.ts +43 -0
  191. package/dist/conformance/checks/source-runtime.js +68 -0
  192. package/dist/conformance/checks/source-runtime.js.map +1 -0
  193. package/dist/conformance/checks/source-static.d.ts +61 -0
  194. package/dist/conformance/checks/source-static.js +311 -0
  195. package/dist/conformance/checks/source-static.js.map +1 -0
  196. package/dist/conformance/checks/trajectory-chain.d.ts +18 -0
  197. package/dist/conformance/checks/trajectory-chain.js +51 -0
  198. package/dist/conformance/checks/trajectory-chain.js.map +1 -0
  199. package/dist/conformance/checks/trajectory-profile.d.ts +17 -0
  200. package/dist/conformance/checks/trajectory-profile.js +51 -0
  201. package/dist/conformance/checks/trajectory-profile.js.map +1 -0
  202. package/dist/conformance/checks/trajectory-schema.d.ts +20 -0
  203. package/dist/conformance/checks/trajectory-schema.js +40 -0
  204. package/dist/conformance/checks/trajectory-schema.js.map +1 -0
  205. package/dist/conformance/checks/verdict.d.ts +44 -0
  206. package/dist/conformance/checks/verdict.js +122 -0
  207. package/dist/conformance/checks/verdict.js.map +1 -0
  208. package/dist/conformance/harness.d.ts +32 -0
  209. package/dist/conformance/harness.js +228 -0
  210. package/dist/conformance/harness.js.map +1 -0
  211. package/dist/conformance/types.d.ts +88 -0
  212. package/dist/conformance/types.js +31 -0
  213. package/dist/conformance/types.js.map +1 -0
  214. package/dist/corpus/acquire.d.ts +37 -0
  215. package/dist/corpus/acquire.js +155 -0
  216. package/dist/corpus/acquire.js.map +1 -0
  217. package/dist/corpus/cache.d.ts +14 -0
  218. package/dist/corpus/cache.js +18 -0
  219. package/dist/corpus/cache.js.map +1 -0
  220. package/dist/corpus/fetch.d.ts +9 -0
  221. package/dist/corpus/fetch.js +24 -0
  222. package/dist/corpus/fetch.js.map +1 -0
  223. package/dist/corpus/index.d.ts +16 -0
  224. package/dist/corpus/index.js +78 -0
  225. package/dist/corpus/index.js.map +1 -0
  226. package/dist/corpus/query.d.ts +17 -0
  227. package/dist/corpus/query.js +108 -0
  228. package/dist/corpus/query.js.map +1 -0
  229. package/dist/corpus/route-resolver.d.ts +16 -0
  230. package/dist/corpus/route-resolver.js +20 -0
  231. package/dist/corpus/route-resolver.js.map +1 -0
  232. package/dist/corpus/types.d.ts +107 -0
  233. package/dist/corpus/types.js +50 -0
  234. package/dist/corpus/types.js.map +1 -0
  235. package/dist/daemon/balance-topup-loop.js +2 -1
  236. package/dist/daemon/balance-topup-loop.js.map +1 -1
  237. package/dist/daemon/creator.d.ts +2 -2
  238. package/dist/daemon/creator.js +2 -2
  239. package/dist/daemon/creator.js.map +1 -1
  240. package/dist/daemon/daemon.d.ts +70 -15
  241. package/dist/daemon/daemon.js +159 -41
  242. package/dist/daemon/daemon.js.map +1 -1
  243. package/dist/daemon/delivery-watcher.js +31 -1
  244. package/dist/daemon/delivery-watcher.js.map +1 -1
  245. package/dist/daemon/jinn-claim-loop-canonical.d.ts +207 -0
  246. package/dist/daemon/jinn-claim-loop-canonical.js +296 -0
  247. package/dist/daemon/jinn-claim-loop-canonical.js.map +1 -0
  248. package/dist/daemon/jinn-claim-loop-mock.d.ts +61 -0
  249. package/dist/daemon/jinn-claim-loop-mock.js +122 -0
  250. package/dist/daemon/jinn-claim-loop-mock.js.map +1 -0
  251. package/dist/daemon/jinn-claim-loop.d.ts +123 -0
  252. package/dist/daemon/jinn-claim-loop.js +256 -0
  253. package/dist/daemon/jinn-claim-loop.js.map +1 -0
  254. package/dist/daemon/reward-claim-loop.d.ts +2 -0
  255. package/dist/daemon/reward-claim-loop.js +32 -27
  256. package/dist/daemon/reward-claim-loop.js.map +1 -1
  257. package/dist/dashboard/assets/index-Bxlk5qpa.js +68 -0
  258. package/dist/dashboard/assets/index-DQ3u_vP5.css +32 -0
  259. package/dist/dashboard/index.html +18 -74
  260. package/dist/earning/agent-wallet-binding.d.ts +133 -0
  261. package/dist/earning/agent-wallet-binding.js +202 -0
  262. package/dist/earning/agent-wallet-binding.js.map +1 -0
  263. package/dist/earning/bootstrap.d.ts +64 -0
  264. package/dist/earning/bootstrap.js +325 -32
  265. package/dist/earning/bootstrap.js.map +1 -1
  266. package/dist/earning/contracts.d.ts +323 -0
  267. package/dist/earning/contracts.js +276 -0
  268. package/dist/earning/contracts.js.map +1 -1
  269. package/dist/earning/funding-plan.d.ts +90 -0
  270. package/dist/earning/funding-plan.js +203 -0
  271. package/dist/earning/funding-plan.js.map +1 -0
  272. package/dist/earning/migrate-agent-id.d.ts +130 -0
  273. package/dist/earning/migrate-agent-id.js +257 -0
  274. package/dist/earning/migrate-agent-id.js.map +1 -0
  275. package/dist/earning/orphan-sweep.d.ts +14 -0
  276. package/dist/earning/orphan-sweep.js +63 -2
  277. package/dist/earning/orphan-sweep.js.map +1 -1
  278. package/dist/earning/reconcile.d.ts +2 -0
  279. package/dist/earning/reconcile.js +30 -0
  280. package/dist/earning/reconcile.js.map +1 -1
  281. package/dist/earning/stolas-claim.d.ts +86 -6
  282. package/dist/earning/stolas-claim.js +123 -9
  283. package/dist/earning/stolas-claim.js.map +1 -1
  284. package/dist/earning/store.d.ts +39 -0
  285. package/dist/earning/store.js +72 -1
  286. package/dist/earning/store.js.map +1 -1
  287. package/dist/earning/testnet-setup-migration.d.ts +32 -0
  288. package/dist/earning/testnet-setup-migration.js +214 -0
  289. package/dist/earning/testnet-setup-migration.js.map +1 -0
  290. package/dist/earning/types.d.ts +53 -9
  291. package/dist/earning/types.js +51 -2
  292. package/dist/earning/types.js.map +1 -1
  293. package/dist/earning/viem-clients.d.ts +20 -0
  294. package/dist/earning/viem-clients.js +32 -1
  295. package/dist/earning/viem-clients.js.map +1 -1
  296. package/dist/erc8004/abis.d.ts +381 -0
  297. package/dist/erc8004/abis.js +238 -0
  298. package/dist/erc8004/abis.js.map +1 -0
  299. package/dist/erc8004/addresses.d.ts +40 -0
  300. package/dist/erc8004/addresses.js +64 -0
  301. package/dist/erc8004/addresses.js.map +1 -0
  302. package/dist/erc8004/identity.d.ts +202 -0
  303. package/dist/erc8004/identity.js +305 -0
  304. package/dist/erc8004/identity.js.map +1 -0
  305. package/dist/erc8004/index.d.ts +13 -0
  306. package/dist/erc8004/index.js +20 -0
  307. package/dist/erc8004/index.js.map +1 -0
  308. package/dist/erc8004/reputation.d.ts +349 -0
  309. package/dist/erc8004/reputation.js +464 -0
  310. package/dist/erc8004/reputation.js.map +1 -0
  311. package/dist/erc8004/subgraph.d.ts +46 -0
  312. package/dist/erc8004/subgraph.js +37 -0
  313. package/dist/erc8004/subgraph.js.map +1 -0
  314. package/dist/erc8004/validation.d.ts +145 -0
  315. package/dist/erc8004/validation.js +219 -0
  316. package/dist/erc8004/validation.js.map +1 -0
  317. package/dist/errors/persisted-bootstrap-error.d.ts +4 -0
  318. package/dist/errors/persisted-bootstrap-error.js +50 -0
  319. package/dist/errors/persisted-bootstrap-error.js.map +1 -0
  320. package/dist/events/emitter.d.ts +12 -0
  321. package/dist/events/emitter.js +23 -0
  322. package/dist/events/emitter.js.map +1 -0
  323. package/dist/events/ring-buffer.d.ts +25 -0
  324. package/dist/events/ring-buffer.js +46 -0
  325. package/dist/events/ring-buffer.js.map +1 -0
  326. package/dist/events/types.d.ts +42 -0
  327. package/dist/events/types.js +28 -0
  328. package/dist/events/types.js.map +1 -0
  329. package/dist/index.d.ts +1 -1
  330. package/dist/intents/kinds/index.d.ts +10 -0
  331. package/dist/intents/kinds/index.js +7 -0
  332. package/dist/intents/kinds/index.js.map +1 -1
  333. package/dist/intents/kinds/learner-loop-test.d.ts +2 -0
  334. package/dist/intents/kinds/learner-loop-test.js +39 -0
  335. package/dist/intents/kinds/learner-loop-test.js.map +1 -0
  336. package/dist/intents/kinds/prediction-apy-v0.js +5 -1
  337. package/dist/intents/kinds/prediction-apy-v0.js.map +1 -1
  338. package/dist/intents/kinds/prediction-v0.js +5 -0
  339. package/dist/intents/kinds/prediction-v0.js.map +1 -1
  340. package/dist/intents/kinds/spec-kind.d.ts +18 -1
  341. package/dist/intents/posting-service.d.ts +3 -5
  342. package/dist/intents/posting-service.js +16 -50
  343. package/dist/intents/posting-service.js.map +1 -1
  344. package/dist/intents/prediction-apy-v0-auto.d.ts +12 -2
  345. package/dist/intents/prediction-apy-v0-auto.js +27 -2
  346. package/dist/intents/prediction-apy-v0-auto.js.map +1 -1
  347. package/dist/intents/prediction-v0-auto.d.ts +14 -4
  348. package/dist/intents/prediction-v0-auto.js +29 -5
  349. package/dist/intents/prediction-v0-auto.js.map +1 -1
  350. package/dist/intents/signing.d.ts +13 -0
  351. package/dist/intents/signing.js +27 -0
  352. package/dist/intents/signing.js.map +1 -0
  353. package/dist/intents/sources.d.ts +12 -5
  354. package/dist/intents/sources.js +11 -11
  355. package/dist/intents/sources.js.map +1 -1
  356. package/dist/main.d.ts +5 -2
  357. package/dist/main.js +792 -66
  358. package/dist/main.js.map +1 -1
  359. package/dist/mcp/acquire-artifact.d.ts +39 -0
  360. package/dist/mcp/acquire-artifact.js +163 -0
  361. package/dist/mcp/acquire-artifact.js.map +1 -0
  362. package/dist/mcp/operator-server.d.ts +20 -3
  363. package/dist/mcp/operator-server.js +500 -25
  364. package/dist/mcp/operator-server.js.map +1 -1
  365. package/dist/mcp/search-artifacts.d.ts +31 -0
  366. package/dist/mcp/search-artifacts.js +40 -0
  367. package/dist/mcp/search-artifacts.js.map +1 -0
  368. package/dist/mcp/server.js +103 -58
  369. package/dist/mcp/server.js.map +1 -1
  370. package/dist/observability/emit-event.d.ts +1 -1
  371. package/dist/observability/emit-event.js.map +1 -1
  372. package/dist/operator-errors.js +4 -5
  373. package/dist/operator-errors.js.map +1 -1
  374. package/dist/preflight/claude-auth.d.ts +11 -11
  375. package/dist/preflight/claude-auth.js +18 -32
  376. package/dist/preflight/claude-auth.js.map +1 -1
  377. package/dist/restorer/capability/index.d.ts +82 -0
  378. package/dist/restorer/capability/index.js +12 -0
  379. package/dist/restorer/capability/index.js.map +1 -0
  380. package/dist/restorer/capability/scoped-rpc.d.ts +12 -0
  381. package/dist/restorer/capability/scoped-rpc.js +34 -0
  382. package/dist/restorer/capability/scoped-rpc.js.map +1 -0
  383. package/dist/restorer/capability/scoped-secrets.d.ts +8 -0
  384. package/dist/restorer/capability/scoped-secrets.js +10 -0
  385. package/dist/restorer/capability/scoped-secrets.js.map +1 -0
  386. package/dist/restorer/capability/scoped-signer.d.ts +46 -0
  387. package/dist/restorer/capability/scoped-signer.js +73 -0
  388. package/dist/restorer/capability/scoped-signer.js.map +1 -0
  389. package/dist/restorer/engine/canonical-json.d.ts +0 -17
  390. package/dist/restorer/engine/canonical-json.js +56 -49
  391. package/dist/restorer/engine/canonical-json.js.map +1 -1
  392. package/dist/restorer/engine/claim.js +8 -1
  393. package/dist/restorer/engine/claim.js.map +1 -1
  394. package/dist/restorer/engine/delivery.d.ts +2 -0
  395. package/dist/restorer/engine/delivery.js +2 -2
  396. package/dist/restorer/engine/delivery.js.map +1 -1
  397. package/dist/restorer/engine/engine.d.ts +143 -26
  398. package/dist/restorer/engine/engine.js +485 -104
  399. package/dist/restorer/engine/engine.js.map +1 -1
  400. package/dist/restorer/engine/envelope-assembly.d.ts +65 -0
  401. package/dist/restorer/engine/envelope-assembly.js +60 -0
  402. package/dist/restorer/engine/envelope-assembly.js.map +1 -0
  403. package/dist/restorer/engine/packaging.d.ts +30 -30
  404. package/dist/restorer/engine/packaging.js +73 -47
  405. package/dist/restorer/engine/packaging.js.map +1 -1
  406. package/dist/restorer/engine/persistence.d.ts +7 -7
  407. package/dist/restorer/engine/persistence.js +4 -4
  408. package/dist/restorer/engine/persistence.js.map +1 -1
  409. package/dist/restorer/engine/registry.d.ts +24 -13
  410. package/dist/restorer/engine/registry.js +16 -13
  411. package/dist/restorer/engine/registry.js.map +1 -1
  412. package/dist/restorer/engine/validate-manifest.d.ts +23 -0
  413. package/dist/restorer/engine/validate-manifest.js +49 -0
  414. package/dist/restorer/engine/validate-manifest.js.map +1 -0
  415. package/dist/restorer/engine/verification-stub.d.ts +18 -0
  416. package/dist/restorer/engine/verification-stub.js +18 -0
  417. package/dist/restorer/engine/verification-stub.js.map +1 -0
  418. package/dist/restorer/external-impls/index.d.ts +3 -0
  419. package/dist/restorer/external-impls/index.js +2 -0
  420. package/dist/restorer/external-impls/index.js.map +1 -0
  421. package/dist/restorer/external-impls/loader.d.ts +49 -0
  422. package/dist/restorer/external-impls/loader.js +138 -0
  423. package/dist/restorer/external-impls/loader.js.map +1 -0
  424. package/dist/restorer/external-impls/package-hash.d.ts +26 -0
  425. package/dist/restorer/external-impls/package-hash.js +102 -0
  426. package/dist/restorer/external-impls/package-hash.js.map +1 -0
  427. package/dist/restorer/external-impls/types.d.ts +42 -0
  428. package/dist/restorer/external-impls/types.js +10 -0
  429. package/dist/restorer/external-impls/types.js.map +1 -0
  430. package/dist/restorer/impls/claude-code-learner/adapters/claude-code.d.ts +38 -0
  431. package/dist/restorer/impls/claude-code-learner/adapters/claude-code.js +200 -0
  432. package/dist/restorer/impls/claude-code-learner/adapters/claude-code.js.map +1 -0
  433. package/dist/restorer/impls/claude-code-learner/harvest.d.ts +19 -0
  434. package/dist/restorer/impls/claude-code-learner/harvest.js +146 -0
  435. package/dist/restorer/impls/claude-code-learner/harvest.js.map +1 -0
  436. package/dist/restorer/impls/claude-code-learner/index.d.ts +15 -0
  437. package/dist/restorer/impls/claude-code-learner/index.js +14 -0
  438. package/dist/restorer/impls/claude-code-learner/index.js.map +1 -0
  439. package/dist/restorer/impls/claude-code-learner/mcp-config.d.ts +48 -0
  440. package/dist/restorer/impls/claude-code-learner/mcp-config.js +52 -0
  441. package/dist/restorer/impls/claude-code-learner/mcp-config.js.map +1 -0
  442. package/dist/restorer/impls/claude-code-learner/plugin-path.d.ts +14 -0
  443. package/dist/restorer/impls/claude-code-learner/plugin-path.js +30 -0
  444. package/dist/restorer/impls/claude-code-learner/plugin-path.js.map +1 -0
  445. package/dist/restorer/impls/claude-code-learner/restorer.d.ts +38 -0
  446. package/dist/restorer/impls/claude-code-learner/restorer.js +73 -0
  447. package/dist/restorer/impls/claude-code-learner/restorer.js.map +1 -0
  448. package/dist/restorer/impls/claude-code-learner/test-utils/fake-plugin-outputs.d.ts +19 -0
  449. package/dist/restorer/impls/claude-code-learner/test-utils/fake-plugin-outputs.js +111 -0
  450. package/dist/restorer/impls/claude-code-learner/test-utils/fake-plugin-outputs.js.map +1 -0
  451. package/dist/restorer/impls/claude-code-learner/test-utils/noop-adapter.d.ts +22 -0
  452. package/dist/restorer/impls/claude-code-learner/test-utils/noop-adapter.js +35 -0
  453. package/dist/restorer/impls/claude-code-learner/test-utils/noop-adapter.js.map +1 -0
  454. package/dist/restorer/impls/claude-code-learner/test-utils/synthetic-session.d.ts +20 -0
  455. package/dist/restorer/impls/claude-code-learner/test-utils/synthetic-session.js +34 -0
  456. package/dist/restorer/impls/claude-code-learner/test-utils/synthetic-session.js.map +1 -0
  457. package/dist/restorer/impls/claude-code-learner/types.d.ts +99 -0
  458. package/dist/restorer/impls/claude-code-learner/types.js +2 -0
  459. package/dist/restorer/impls/claude-code-learner/types.js.map +1 -0
  460. package/dist/restorer/impls/claude-code-learner/wrapper.d.ts +49 -0
  461. package/dist/restorer/impls/claude-code-learner/wrapper.js +144 -0
  462. package/dist/restorer/impls/claude-code-learner/wrapper.js.map +1 -0
  463. package/dist/restorer/impls/claude-mcp-hyperliquid/index.d.ts +2 -2
  464. package/dist/restorer/impls/claude-mcp-hyperliquid/index.js +2 -2
  465. package/dist/restorer/impls/claude-mcp-hyperliquid/index.js.map +1 -1
  466. package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.d.ts +7 -0
  467. package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.js +38 -0
  468. package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.js.map +1 -1
  469. package/dist/restorer/impls/claude-mcp-prediction/index.d.ts +2 -2
  470. package/dist/restorer/impls/claude-mcp-prediction/index.js +12 -2
  471. package/dist/restorer/impls/claude-mcp-prediction/index.js.map +1 -1
  472. package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.d.ts +9 -2
  473. package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.js +9 -125
  474. package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.js.map +1 -1
  475. package/dist/restorer/impls/claude-mcp-prediction-apy/index.d.ts +2 -2
  476. package/dist/restorer/impls/claude-mcp-prediction-apy/index.js +9 -2
  477. package/dist/restorer/impls/claude-mcp-prediction-apy/index.js.map +1 -1
  478. package/dist/restorer/impls/claude-mcp-prediction-apy/session-orchestrator.d.ts +10 -0
  479. package/dist/restorer/impls/claude-mcp-prediction-apy/session-orchestrator.js +10 -119
  480. package/dist/restorer/impls/claude-mcp-prediction-apy/session-orchestrator.js.map +1 -1
  481. package/dist/restorer/impls/claude-mcp-shared/single-session-orchestrator.d.ts +84 -0
  482. package/dist/restorer/impls/claude-mcp-shared/single-session-orchestrator.js +206 -0
  483. package/dist/restorer/impls/claude-mcp-shared/single-session-orchestrator.js.map +1 -0
  484. package/dist/restorer/impls/evaluation-context.d.ts +11 -4
  485. package/dist/restorer/impls/evaluation-context.js +9 -2
  486. package/dist/restorer/impls/evaluation-context.js.map +1 -1
  487. package/dist/restorer/impls/index.d.ts +46 -1
  488. package/dist/restorer/impls/index.js +38 -0
  489. package/dist/restorer/impls/index.js.map +1 -1
  490. package/dist/restorer/impls/legacy-claude/index.d.ts +13 -1
  491. package/dist/restorer/impls/legacy-claude/index.js +2 -0
  492. package/dist/restorer/impls/legacy-claude/index.js.map +1 -1
  493. package/dist/restorer/impls/portfolio-v0-evaluator/index.d.ts +4 -4
  494. package/dist/restorer/impls/portfolio-v0-evaluator/index.js +184 -55
  495. package/dist/restorer/impls/portfolio-v0-evaluator/index.js.map +1 -1
  496. package/dist/restorer/impls/prediction-apy-v0-baseline/index.d.ts +1 -1
  497. package/dist/restorer/impls/prediction-apy-v0-baseline/index.js +8 -1
  498. package/dist/restorer/impls/prediction-apy-v0-baseline/index.js.map +1 -1
  499. package/dist/restorer/impls/prediction-apy-v0-evaluator/index.d.ts +3 -3
  500. package/dist/restorer/impls/prediction-apy-v0-evaluator/index.js +153 -15
  501. package/dist/restorer/impls/prediction-apy-v0-evaluator/index.js.map +1 -1
  502. package/dist/restorer/impls/prediction-apy-v0-evaluator/parse-submission.d.ts +14 -5
  503. package/dist/restorer/impls/prediction-apy-v0-evaluator/parse-submission.js +16 -23
  504. package/dist/restorer/impls/prediction-apy-v0-evaluator/parse-submission.js.map +1 -1
  505. package/dist/restorer/impls/prediction-v0-baseline/index.d.ts +1 -1
  506. package/dist/restorer/impls/prediction-v0-baseline/index.js +16 -7
  507. package/dist/restorer/impls/prediction-v0-baseline/index.js.map +1 -1
  508. package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.d.ts +5 -3
  509. package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.js.map +1 -1
  510. package/dist/restorer/impls/prediction-v0-evaluator/index.d.ts +2 -2
  511. package/dist/restorer/impls/prediction-v0-evaluator/index.js +175 -67
  512. package/dist/restorer/impls/prediction-v0-evaluator/index.js.map +1 -1
  513. package/dist/restorer/manifest/index.d.ts +3 -0
  514. package/dist/restorer/manifest/index.js +3 -0
  515. package/dist/restorer/manifest/index.js.map +1 -0
  516. package/dist/restorer/manifest/load.d.ts +7 -0
  517. package/dist/restorer/manifest/load.js +49 -0
  518. package/dist/restorer/manifest/load.js.map +1 -0
  519. package/dist/restorer/manifest/types.d.ts +75 -0
  520. package/dist/restorer/manifest/types.js +8 -0
  521. package/dist/restorer/manifest/types.js.map +1 -0
  522. package/dist/restorer/manifest/verify.d.ts +15 -0
  523. package/dist/restorer/manifest/verify.js +53 -0
  524. package/dist/restorer/manifest/verify.js.map +1 -0
  525. package/dist/restorer/plug-ins/index.d.ts +14 -0
  526. package/dist/restorer/plug-ins/index.js +11 -0
  527. package/dist/restorer/plug-ins/index.js.map +1 -0
  528. package/dist/restorer/plug-ins/loader.d.ts +27 -0
  529. package/dist/restorer/plug-ins/loader.js +101 -0
  530. package/dist/restorer/plug-ins/loader.js.map +1 -0
  531. package/dist/restorer/plug-ins/manifest.d.ts +7 -0
  532. package/dist/restorer/plug-ins/manifest.js +97 -0
  533. package/dist/restorer/plug-ins/manifest.js.map +1 -0
  534. package/dist/restorer/plug-ins/registry.d.ts +24 -0
  535. package/dist/restorer/plug-ins/registry.js +17 -0
  536. package/dist/restorer/plug-ins/registry.js.map +1 -0
  537. package/dist/restorer/plug-ins/serialise.d.ts +29 -0
  538. package/dist/restorer/plug-ins/serialise.js +29 -0
  539. package/dist/restorer/plug-ins/serialise.js.map +1 -0
  540. package/dist/restorer/plug-ins/types.d.ts +77 -0
  541. package/dist/restorer/plug-ins/types.js +10 -0
  542. package/dist/restorer/plug-ins/types.js.map +1 -0
  543. package/dist/restorer/types.d.ts +66 -11
  544. package/dist/restorer/types.js.map +1 -1
  545. package/dist/runner/claude.d.ts +3 -3
  546. package/dist/runner/claude.js +57 -21
  547. package/dist/runner/claude.js.map +1 -1
  548. package/dist/runner/runner.d.ts +29 -2
  549. package/dist/runner/simple.d.ts +2 -2
  550. package/dist/runner/simple.js +2 -2
  551. package/dist/runner/simple.js.map +1 -1
  552. package/dist/scripts/fix-node-pty.mjs +62 -0
  553. package/dist/setup-mode.d.ts +34 -0
  554. package/dist/setup-mode.js +49 -0
  555. package/dist/setup-mode.js.map +1 -0
  556. package/dist/store/store.d.ts +79 -3
  557. package/dist/store/store.js +189 -6
  558. package/dist/store/store.js.map +1 -1
  559. package/dist/templates/plug-in/hook/README.md.tmpl +24 -0
  560. package/dist/templates/plug-in/hook/gitignore.tmpl +3 -0
  561. package/dist/templates/plug-in/hook/hooks/event.sh.tmpl +15 -0
  562. package/dist/templates/plug-in/hook/jinn-plugin.json.tmpl +16 -0
  563. package/dist/templates/plug-in/hook/package.json.tmpl +14 -0
  564. package/dist/templates/plug-in/hook/test/manifest.test.ts.tmpl +21 -0
  565. package/dist/templates/plug-in/mcp-tool/README.md.tmpl +26 -0
  566. package/dist/templates/plug-in/mcp-tool/gitignore.tmpl +4 -0
  567. package/dist/templates/plug-in/mcp-tool/jinn-plugin.json.tmpl +16 -0
  568. package/dist/templates/plug-in/mcp-tool/package.json.tmpl +19 -0
  569. package/dist/templates/plug-in/mcp-tool/src/server.ts.tmpl +17 -0
  570. package/dist/templates/plug-in/mcp-tool/test/server.test.ts.tmpl +18 -0
  571. package/dist/templates/plug-in/memory-backend/README.md.tmpl +33 -0
  572. package/dist/templates/plug-in/memory-backend/gitignore.tmpl +4 -0
  573. package/dist/templates/plug-in/memory-backend/jinn-plugin.json.tmpl +16 -0
  574. package/dist/templates/plug-in/memory-backend/package.json.tmpl +19 -0
  575. package/dist/templates/plug-in/memory-backend/src/server.ts.tmpl +23 -0
  576. package/dist/templates/plug-in/memory-backend/test/server.test.ts.tmpl +17 -0
  577. package/dist/templates/plug-in/phase-agent-override/README.md.tmpl +30 -0
  578. package/dist/templates/plug-in/phase-agent-override/agents/agent.md.tmpl +26 -0
  579. package/dist/templates/plug-in/phase-agent-override/gitignore.tmpl +3 -0
  580. package/dist/templates/plug-in/phase-agent-override/jinn-plugin.json.tmpl +17 -0
  581. package/dist/templates/plug-in/phase-agent-override/package.json.tmpl +14 -0
  582. package/dist/templates/plug-in/phase-agent-override/test/manifest.test.ts.tmpl +24 -0
  583. package/dist/templates/plug-in/skill-bundle/.claude-plugin/plugin.json.tmpl +5 -0
  584. package/dist/templates/plug-in/skill-bundle/README.md.tmpl +28 -0
  585. package/dist/templates/plug-in/skill-bundle/gitignore.tmpl +3 -0
  586. package/dist/templates/plug-in/skill-bundle/jinn-plugin.json.tmpl +15 -0
  587. package/dist/templates/plug-in/skill-bundle/package.json.tmpl +14 -0
  588. package/dist/templates/plug-in/skill-bundle/skills/example/SKILL.md.tmpl +14 -0
  589. package/dist/templates/plug-in/skill-bundle/test/manifest.test.ts.tmpl +21 -0
  590. package/dist/templates/plug-in/topic-explorer/README.md.tmpl +24 -0
  591. package/dist/templates/plug-in/topic-explorer/agents/explorer.md.tmpl +26 -0
  592. package/dist/templates/plug-in/topic-explorer/gitignore.tmpl +3 -0
  593. package/dist/templates/plug-in/topic-explorer/jinn-plugin.json.tmpl +17 -0
  594. package/dist/templates/plug-in/topic-explorer/package.json.tmpl +14 -0
  595. package/dist/templates/plug-in/topic-explorer/test/manifest.test.ts.tmpl +22 -0
  596. package/dist/templates/restorer/alternative-harness/README.md.tmpl +44 -0
  597. package/dist/templates/restorer/alternative-harness/gitignore.tmpl +3 -0
  598. package/dist/templates/restorer/alternative-harness/jinn.manifest.json.tmpl +22 -0
  599. package/dist/templates/restorer/alternative-harness/package.json.tmpl +26 -0
  600. package/dist/templates/restorer/alternative-harness/src/coordinator.ts.tmpl +50 -0
  601. package/dist/templates/restorer/alternative-harness/src/harness.ts.tmpl +31 -0
  602. package/dist/templates/restorer/alternative-harness/src/index.ts.tmpl +44 -0
  603. package/dist/templates/restorer/alternative-harness/src/mock-harness.ts.tmpl +41 -0
  604. package/dist/templates/restorer/alternative-harness/src/phases/debrief.ts.tmpl +28 -0
  605. package/dist/templates/restorer/alternative-harness/src/phases/execute.ts.tmpl +33 -0
  606. package/dist/templates/restorer/alternative-harness/src/phases/improve.ts.tmpl +31 -0
  607. package/dist/templates/restorer/alternative-harness/src/phases/memory.ts.tmpl +31 -0
  608. package/dist/templates/restorer/alternative-harness/src/phases/orient.ts.tmpl +21 -0
  609. package/dist/templates/restorer/alternative-harness/src/phases/plan.ts.tmpl +25 -0
  610. package/dist/templates/restorer/alternative-harness/src/phases/strategize.ts.tmpl +29 -0
  611. package/dist/templates/restorer/alternative-harness/test/coordinator.test.ts.tmpl +52 -0
  612. package/dist/templates/restorer/alternative-harness/test/unit.test.ts.tmpl +54 -0
  613. package/dist/templates/restorer/alternative-harness/tsconfig.json.tmpl +16 -0
  614. package/dist/templates/restorer/evaluator/README.md.tmpl +36 -0
  615. package/dist/templates/restorer/evaluator/gitignore.tmpl +3 -0
  616. package/dist/templates/restorer/evaluator/jinn.manifest.json.tmpl +22 -0
  617. package/dist/templates/restorer/evaluator/package.json.tmpl +26 -0
  618. package/dist/templates/restorer/evaluator/src/index.ts.tmpl +35 -0
  619. package/dist/templates/restorer/evaluator/test/unit.test.ts.tmpl +48 -0
  620. package/dist/templates/restorer/evaluator/tsconfig.json.tmpl +16 -0
  621. package/dist/templates/restorer/forecaster/README.md.tmpl +25 -0
  622. package/dist/templates/restorer/forecaster/gitignore.tmpl +5 -0
  623. package/dist/templates/restorer/forecaster/jinn.manifest.json.tmpl +22 -0
  624. package/dist/templates/restorer/forecaster/package.json.tmpl +26 -0
  625. package/dist/templates/restorer/forecaster/src/index.ts.tmpl +33 -0
  626. package/dist/templates/restorer/forecaster/test/unit.test.ts.tmpl +41 -0
  627. package/dist/templates/restorer/forecaster/tsconfig.json.tmpl +16 -0
  628. package/dist/trajectory/collector.d.ts +49 -0
  629. package/dist/trajectory/collector.js +86 -0
  630. package/dist/trajectory/collector.js.map +1 -0
  631. package/dist/trajectory/emit.d.ts +27 -0
  632. package/dist/trajectory/emit.js +40 -0
  633. package/dist/trajectory/emit.js.map +1 -0
  634. package/dist/trajectory/hash-chain.d.ts +18 -0
  635. package/dist/trajectory/hash-chain.js +23 -0
  636. package/dist/trajectory/hash-chain.js.map +1 -0
  637. package/dist/trajectory/index.d.ts +22 -0
  638. package/dist/trajectory/index.js +23 -0
  639. package/dist/trajectory/index.js.map +1 -0
  640. package/dist/trajectory/schema.d.ts +14 -14
  641. package/dist/trajectory/secret-scrub.d.ts +32 -0
  642. package/dist/trajectory/secret-scrub.js +51 -0
  643. package/dist/trajectory/secret-scrub.js.map +1 -0
  644. package/dist/trajectory/span-profile.d.ts +27 -0
  645. package/dist/trajectory/span-profile.js +51 -0
  646. package/dist/trajectory/span-profile.js.map +1 -0
  647. package/dist/trajectory/wrappers/http.d.ts +37 -0
  648. package/dist/trajectory/wrappers/http.js +85 -0
  649. package/dist/trajectory/wrappers/http.js.map +1 -0
  650. package/dist/trajectory/wrappers/mcp.d.ts +17 -0
  651. package/dist/trajectory/wrappers/mcp.js +58 -0
  652. package/dist/trajectory/wrappers/mcp.js.map +1 -0
  653. package/dist/trajectory/wrappers/subprocess.d.ts +32 -0
  654. package/dist/trajectory/wrappers/subprocess.js +70 -0
  655. package/dist/trajectory/wrappers/subprocess.js.map +1 -0
  656. package/dist/tx-retry.js +23 -9
  657. package/dist/tx-retry.js.map +1 -1
  658. package/dist/types/desired-state.d.ts +211 -21
  659. package/dist/types/desired-state.js +26 -15
  660. package/dist/types/desired-state.js.map +1 -1
  661. package/dist/types/envelope.d.ts +1473 -0
  662. package/dist/types/envelope.js +114 -0
  663. package/dist/types/envelope.js.map +1 -0
  664. package/dist/types/index.d.ts +4 -4
  665. package/dist/types/index.js +4 -4
  666. package/dist/types/index.js.map +1 -1
  667. package/dist/types/intent.d.ts +276 -0
  668. package/dist/types/intent.js +74 -0
  669. package/dist/types/intent.js.map +1 -0
  670. package/dist/types/payloads/index.d.ts +11 -0
  671. package/dist/types/payloads/index.js +46 -0
  672. package/dist/types/payloads/index.js.map +1 -0
  673. package/dist/types/payloads/portfolio-v0.d.ts +481 -0
  674. package/dist/types/payloads/portfolio-v0.js +94 -0
  675. package/dist/types/payloads/portfolio-v0.js.map +1 -0
  676. package/dist/types/payloads/prediction-apy-v0.d.ts +231 -0
  677. package/dist/types/payloads/prediction-apy-v0.js +63 -0
  678. package/dist/types/payloads/prediction-apy-v0.js.map +1 -0
  679. package/dist/types/payloads/prediction-v0.d.ts +262 -0
  680. package/dist/types/payloads/prediction-v0.js +73 -0
  681. package/dist/types/payloads/prediction-v0.js.map +1 -0
  682. package/dist/types/portfolio.d.ts +23 -685
  683. package/dist/types/portfolio.js +16 -106
  684. package/dist/types/portfolio.js.map +1 -1
  685. package/dist/types/prediction-apy.d.ts +9 -344
  686. package/dist/types/prediction-apy.js +9 -65
  687. package/dist/types/prediction-apy.js.map +1 -1
  688. package/dist/types/prediction.d.ts +25 -396
  689. package/dist/types/prediction.js +5 -79
  690. package/dist/types/prediction.js.map +1 -1
  691. package/dist/types/window.d.ts +12 -0
  692. package/dist/types/window.js +6 -0
  693. package/dist/types/window.js.map +1 -0
  694. package/dist/util/path-safety.d.ts +22 -0
  695. package/dist/util/path-safety.js +29 -0
  696. package/dist/util/path-safety.js.map +1 -0
  697. package/dist/util/redact-rpc-urls.d.ts +5 -0
  698. package/dist/util/redact-rpc-urls.js +9 -0
  699. package/dist/util/redact-rpc-urls.js.map +1 -0
  700. package/dist/x402/acquire.d.ts +14 -3
  701. package/dist/x402/acquire.js +28 -11
  702. package/dist/x402/acquire.js.map +1 -1
  703. package/dist/x402/handler.d.ts +15 -3
  704. package/dist/x402/handler.js +67 -24
  705. package/dist/x402/handler.js.map +1 -1
  706. package/package.json +36 -11
  707. package/plugins/claude-code-learner/.claude-plugin/plugin.json +9 -0
  708. package/plugins/claude-code-learner/AGENTS.md +30 -0
  709. package/plugins/claude-code-learner/CLAUDE.md +31 -0
  710. package/plugins/claude-code-learner/README.md +58 -0
  711. package/plugins/claude-code-learner/agents/analyst.md +69 -0
  712. package/plugins/claude-code-learner/agents/consolidator.md +95 -0
  713. package/plugins/claude-code-learner/agents/explorer.md +54 -0
  714. package/plugins/claude-code-learner/agents/planner.md +88 -0
  715. package/plugins/claude-code-learner/agents/promoter.md +114 -0
  716. package/plugins/claude-code-learner/agents/step-worker.md +48 -0
  717. package/plugins/claude-code-learner/agents/strategist.md +86 -0
  718. package/plugins/claude-code-learner/hooks/hooks.json +16 -0
  719. package/plugins/claude-code-learner/hooks/session-start +49 -0
  720. package/plugins/claude-code-learner/skills/coordinator/SKILL.md +131 -0
  721. package/plugins/claude-code-learner/skills/debrief/SKILL.md +71 -0
  722. package/plugins/claude-code-learner/skills/execute/SKILL.md +91 -0
  723. package/plugins/claude-code-learner/skills/improve/SKILL.md +57 -0
  724. package/plugins/claude-code-learner/skills/memory-consolidation/SKILL.md +57 -0
  725. package/plugins/claude-code-learner/skills/orient/SKILL.md +82 -0
  726. package/plugins/claude-code-learner/skills/plan/SKILL.md +54 -0
  727. package/plugins/claude-code-learner/skills/strategize/SKILL.md +63 -0
  728. package/skills/jinn-operator/SKILL.md +84 -35
  729. package/templates/plug-in/hook/README.md.tmpl +24 -0
  730. package/templates/plug-in/hook/gitignore.tmpl +3 -0
  731. package/templates/plug-in/hook/hooks/event.sh.tmpl +15 -0
  732. package/templates/plug-in/hook/jinn-plugin.json.tmpl +16 -0
  733. package/templates/plug-in/hook/package.json.tmpl +14 -0
  734. package/templates/plug-in/hook/test/manifest.test.ts.tmpl +21 -0
  735. package/templates/plug-in/mcp-tool/README.md.tmpl +26 -0
  736. package/templates/plug-in/mcp-tool/gitignore.tmpl +4 -0
  737. package/templates/plug-in/mcp-tool/jinn-plugin.json.tmpl +16 -0
  738. package/templates/plug-in/mcp-tool/package.json.tmpl +19 -0
  739. package/templates/plug-in/mcp-tool/src/server.ts.tmpl +17 -0
  740. package/templates/plug-in/mcp-tool/test/server.test.ts.tmpl +18 -0
  741. package/templates/plug-in/memory-backend/README.md.tmpl +33 -0
  742. package/templates/plug-in/memory-backend/gitignore.tmpl +4 -0
  743. package/templates/plug-in/memory-backend/jinn-plugin.json.tmpl +16 -0
  744. package/templates/plug-in/memory-backend/package.json.tmpl +19 -0
  745. package/templates/plug-in/memory-backend/src/server.ts.tmpl +23 -0
  746. package/templates/plug-in/memory-backend/test/server.test.ts.tmpl +17 -0
  747. package/templates/plug-in/phase-agent-override/README.md.tmpl +30 -0
  748. package/templates/plug-in/phase-agent-override/agents/agent.md.tmpl +26 -0
  749. package/templates/plug-in/phase-agent-override/gitignore.tmpl +3 -0
  750. package/templates/plug-in/phase-agent-override/jinn-plugin.json.tmpl +17 -0
  751. package/templates/plug-in/phase-agent-override/package.json.tmpl +14 -0
  752. package/templates/plug-in/phase-agent-override/test/manifest.test.ts.tmpl +24 -0
  753. package/templates/plug-in/skill-bundle/.claude-plugin/plugin.json.tmpl +5 -0
  754. package/templates/plug-in/skill-bundle/README.md.tmpl +28 -0
  755. package/templates/plug-in/skill-bundle/gitignore.tmpl +3 -0
  756. package/templates/plug-in/skill-bundle/jinn-plugin.json.tmpl +15 -0
  757. package/templates/plug-in/skill-bundle/package.json.tmpl +14 -0
  758. package/templates/plug-in/skill-bundle/skills/example/SKILL.md.tmpl +14 -0
  759. package/templates/plug-in/skill-bundle/test/manifest.test.ts.tmpl +21 -0
  760. package/templates/plug-in/topic-explorer/README.md.tmpl +24 -0
  761. package/templates/plug-in/topic-explorer/agents/explorer.md.tmpl +26 -0
  762. package/templates/plug-in/topic-explorer/gitignore.tmpl +3 -0
  763. package/templates/plug-in/topic-explorer/jinn-plugin.json.tmpl +17 -0
  764. package/templates/plug-in/topic-explorer/package.json.tmpl +14 -0
  765. package/templates/plug-in/topic-explorer/test/manifest.test.ts.tmpl +22 -0
  766. package/templates/restorer/alternative-harness/README.md.tmpl +44 -0
  767. package/templates/restorer/alternative-harness/gitignore.tmpl +3 -0
  768. package/templates/restorer/alternative-harness/jinn.manifest.json.tmpl +22 -0
  769. package/templates/restorer/alternative-harness/package.json.tmpl +26 -0
  770. package/templates/restorer/alternative-harness/src/coordinator.ts.tmpl +50 -0
  771. package/templates/restorer/alternative-harness/src/harness.ts.tmpl +31 -0
  772. package/templates/restorer/alternative-harness/src/index.ts.tmpl +44 -0
  773. package/templates/restorer/alternative-harness/src/mock-harness.ts.tmpl +41 -0
  774. package/templates/restorer/alternative-harness/src/phases/debrief.ts.tmpl +28 -0
  775. package/templates/restorer/alternative-harness/src/phases/execute.ts.tmpl +33 -0
  776. package/templates/restorer/alternative-harness/src/phases/improve.ts.tmpl +31 -0
  777. package/templates/restorer/alternative-harness/src/phases/memory.ts.tmpl +31 -0
  778. package/templates/restorer/alternative-harness/src/phases/orient.ts.tmpl +21 -0
  779. package/templates/restorer/alternative-harness/src/phases/plan.ts.tmpl +25 -0
  780. package/templates/restorer/alternative-harness/src/phases/strategize.ts.tmpl +29 -0
  781. package/templates/restorer/alternative-harness/test/coordinator.test.ts.tmpl +52 -0
  782. package/templates/restorer/alternative-harness/test/unit.test.ts.tmpl +54 -0
  783. package/templates/restorer/alternative-harness/tsconfig.json.tmpl +16 -0
  784. package/templates/restorer/evaluator/README.md.tmpl +36 -0
  785. package/templates/restorer/evaluator/gitignore.tmpl +3 -0
  786. package/templates/restorer/evaluator/jinn.manifest.json.tmpl +22 -0
  787. package/templates/restorer/evaluator/package.json.tmpl +26 -0
  788. package/templates/restorer/evaluator/src/index.ts.tmpl +35 -0
  789. package/templates/restorer/evaluator/test/unit.test.ts.tmpl +48 -0
  790. package/templates/restorer/evaluator/tsconfig.json.tmpl +16 -0
  791. package/templates/restorer/forecaster/README.md.tmpl +25 -0
  792. package/templates/restorer/forecaster/gitignore.tmpl +5 -0
  793. package/templates/restorer/forecaster/jinn.manifest.json.tmpl +22 -0
  794. package/templates/restorer/forecaster/package.json.tmpl +26 -0
  795. package/templates/restorer/forecaster/src/index.ts.tmpl +33 -0
  796. package/templates/restorer/forecaster/test/unit.test.ts.tmpl +41 -0
  797. package/templates/restorer/forecaster/tsconfig.json.tmpl +16 -0
  798. package/dist/bin/jinn-mcp.d.ts +0 -2
  799. package/dist/bin/jinn-mcp.js +0 -10
  800. package/dist/bin/jinn-mcp.js.map +0 -1
  801. package/dist/cli/commands/quickstart.js +0 -330
  802. package/dist/cli/commands/quickstart.js.map +0 -1
  803. package/dist/discovery/registry.d.ts +0 -97
  804. package/dist/discovery/registry.js +0 -177
  805. package/dist/discovery/registry.js.map +0 -1
  806. package/dist/discovery/subgraph.d.ts +0 -37
  807. package/dist/discovery/subgraph.js +0 -87
  808. package/dist/discovery/subgraph.js.map +0 -1
  809. package/dist/restorer/engine/manifest-assembly.d.ts +0 -67
  810. package/dist/restorer/engine/manifest-assembly.js +0 -79
  811. package/dist/restorer/engine/manifest-assembly.js.map +0 -1
  812. /package/dist/cli/commands/{quickstart.d.ts → ui.d.ts} +0 -0
@@ -0,0 +1,464 @@
1
+ /**
2
+ * ERC-8004 ReputationRegistry surface.
3
+ *
4
+ * Wraps the deployed canonical ReputationRegistry (vanity 0x8004…) for
5
+ * Jinn's evaluator-delivery feedback flow.
6
+ *
7
+ * Per DR §4.3 (`docs/superpowers/specs/2026-04-27-erc-8004-entity-model-design.md`):
8
+ *
9
+ * At evaluator-delivery settlement, the evaluator calls
10
+ * `giveFeedback(restorerAgentId, ...)` with a body naming the specific
11
+ * manifest CID / `evidenceHash` the verdict pertains to. Reputation
12
+ * accrues to the operator's `agentId`; the body anchors which execution
13
+ * the feedback is about.
14
+ *
15
+ * Canonical body convention (this module enforces it):
16
+ *
17
+ * - `feedbackURI = "manifest:<cid>"` — names the manifest being evaluated.
18
+ * - `feedbackHash = manifestHash` — bytes32 binds to a specific execution.
19
+ *
20
+ * The on-chain function signature uses `value: int128 / valueDecimals: uint8`
21
+ * (a signed fixed-point), not `score: uint8`. We expose a numeric-friendly
22
+ * `score` parameter on the higher-level surface and forward it as `value` here.
23
+ *
24
+ * Self-feedback guard: the contract reverts on self-feedback (caller cannot
25
+ * be the agent owner / approved / operator). For Jinn's typical deployment
26
+ * the evaluator is a different operator from the restorer, so this is a no-op;
27
+ * but in single-operator dev/test setups the same Safe may evaluate its own
28
+ * restoration. Callers are expected to catch the revert and log gracefully —
29
+ * the evaluator's `claimDelivery` is the authoritative settlement, so a failed
30
+ * `giveFeedback` is non-fatal.
31
+ *
32
+ * Two layers live here:
33
+ *
34
+ * 1. `ReputationRegistryClient` — the typed wire-level wrapper.
35
+ * 2. `submitEvaluatorFeedback` + `mapVerdictToScore` — the engine-side
36
+ * hook that maps an evaluator's verdict to a score and submits feedback.
37
+ *
38
+ * ── Restorer-agentId resolution ─────────────────────────────────────────────
39
+ *
40
+ * Resolving the restorer's `agentId` from the evaluator's perspective is
41
+ * deferred to `resolveAgentIdForManifest` in `./identity.js`. The hook here
42
+ * takes `restorerAgentId` as a direct input. The two natural resolution paths:
43
+ *
44
+ * (b) subgraph query: `Operator { agentId } where executions_some: { manifestHash: <evidenceHash> }`
45
+ * (c) on-chain scan of `IdentityRegistry.Registered` events for the
46
+ * restorer's Safe (`getAgentByWallet` is not exposed on-chain).
47
+ *
48
+ * Subgraph (b) is the cheapest and aligns with the rest of the discovery
49
+ * surface; (c) is the fallback when the subgraph is unavailable.
50
+ *
51
+ * ── Score-mapping policy ─────────────────────────────────────────────────────
52
+ *
53
+ * The portfolio.v0 evaluator emits a `verdict ∈ {PASS, FAIL, INDETERMINATE,
54
+ * REJECTED}` plus a numeric Calmar score (string). The reputation registry
55
+ * takes a signed fixed-point. The mapping policy below is intentionally
56
+ * conservative:
57
+ *
58
+ * - PASS → score = 100, scoreDecimals = 2 (= 1.00) → submit feedback.
59
+ * - FAIL → score = 0, scoreDecimals = 2 (= 0.00) → submit feedback.
60
+ * - REJECTED → no feedback. The restorer was not eligible to attempt
61
+ * this intent (e.g. minClosedTrades unmet); a 0-score
62
+ * feedback would unfairly tarnish their reputation for a
63
+ * structural mismatch, not a quality failure.
64
+ * - INDETERMINATE → no feedback. The evaluator could not rederive
65
+ * (HL unreachable, post-snapshot funding accrual not
66
+ * settled). Not a verdict on the restorer.
67
+ *
68
+ * If the impl emits a numeric score in `[0, 1]` separate from verdict, the
69
+ * caller should pre-multiply it by 100 and pass `scoreDecimals=2`.
70
+ *
71
+ * Address constants (cross-checked against `subgraph/networks.json` and
72
+ * `client/src/earning/contracts.ts` IdentityRegistry entries):
73
+ *
74
+ * Base mainnet 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63
75
+ * Base Sepolia 0x8004B663056A597Dffe9eCcC1965A193B7388713
76
+ * Ethereum 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63
77
+ * Sepolia 0x8004B663056A597Dffe9eCcC1965A193B7388713
78
+ */
79
+ import { encodeFunctionData, } from 'viem';
80
+ import { executeSafeTransaction } from '../adapters/mech/safe.js';
81
+ import { waitForTransactionReceiptWithRetry } from '../tx-retry.js';
82
+ import { REPUTATION_REGISTRY_ABI } from './abis.js';
83
+ import { REPUTATION_REGISTRY_ADDRESSES, getReputationRegistryAddress, } from './addresses.js';
84
+ // Re-exports so callers that imported these directly from the reputation
85
+ // module continue to work without touching `./abis.js` / `./addresses.js`.
86
+ export { REPUTATION_REGISTRY_ABI, REPUTATION_REGISTRY_ADDRESSES, getReputationRegistryAddress, };
87
+ // ── Helpers ─────────────────────────────────────────────────────────────────
88
+ const ZERO_HASH = '0x0000000000000000000000000000000000000000000000000000000000000000';
89
+ function toInt128(value) {
90
+ const v = typeof value === 'bigint' ? value : BigInt(Math.trunc(value));
91
+ // `int128` range: [-2^127, 2^127-1]. The contract additionally bounds
92
+ // |value| <= 1e38 (well inside int128). We don't enforce 1e38 here — the
93
+ // contract reverts on overflow with "value too large" and the caller can
94
+ // handle that uniformly with other reverts.
95
+ return v;
96
+ }
97
+ // ── ReputationRegistryClient ────────────────────────────────────────────────
98
+ export class ReputationRegistryClient {
99
+ publicClient;
100
+ walletClient;
101
+ contractAddress;
102
+ safeAddress;
103
+ constructor(config) {
104
+ this.publicClient = config.publicClient;
105
+ this.walletClient = config.walletClient;
106
+ this.contractAddress = config.reputationRegistryAddress;
107
+ this.safeAddress = config.safeAddress;
108
+ }
109
+ // ── Write paths ──────────────────────────────────────────────────────────
110
+ /**
111
+ * Submit feedback on a restorer's agent NFT. The body identifies the
112
+ * manifest being evaluated via `feedbackURI = "manifest:<cid>"` and
113
+ * `feedbackHash = manifestHash` (the evidenceHash committed in
114
+ * `claimDelivery`).
115
+ *
116
+ * Reverts (caught upstream and logged):
117
+ * - "Self-feedback not allowed" — caller is owner/approved/operator of agentId.
118
+ * - "ERC721NonexistentToken" — agentId does not exist.
119
+ * - "value too large" — |score| > 1e38.
120
+ * - "too many decimals" — scoreDecimals > 18.
121
+ */
122
+ async giveFeedback(args) {
123
+ if (!this.walletClient) {
124
+ throw new Error('giveFeedback: walletClient required for write operations');
125
+ }
126
+ const value = toInt128(args.score);
127
+ const calldata = encodeFunctionData({
128
+ abi: REPUTATION_REGISTRY_ABI,
129
+ functionName: 'giveFeedback',
130
+ args: [
131
+ args.restorerAgentId,
132
+ value,
133
+ args.scoreDecimals,
134
+ args.tag1 ?? '',
135
+ args.tag2 ?? '',
136
+ args.endpoint ?? '',
137
+ args.manifestRef,
138
+ args.manifestHash,
139
+ ],
140
+ });
141
+ return this.sendWrite(calldata);
142
+ }
143
+ /**
144
+ * Operator-facing: respond to a feedback on your own agent NFT.
145
+ * `msg.sender` becomes the responder; any address may call (the contract
146
+ * does not gate by ownership — multiple parties can append responses).
147
+ */
148
+ async respondToFeedback(args) {
149
+ if (!this.walletClient) {
150
+ throw new Error('respondToFeedback: walletClient required for write operations');
151
+ }
152
+ const calldata = encodeFunctionData({
153
+ abi: REPUTATION_REGISTRY_ABI,
154
+ functionName: 'appendResponse',
155
+ args: [
156
+ args.feedbackId.agentId,
157
+ args.feedbackId.client,
158
+ args.feedbackId.feedbackIndex,
159
+ args.responseURI,
160
+ args.responseHash,
161
+ ],
162
+ });
163
+ return this.sendWrite(calldata);
164
+ }
165
+ /**
166
+ * Revoke previously-given feedback. The contract only allows the original
167
+ * caller (`msg.sender` on the original `giveFeedback`) to revoke; mirrored
168
+ * here by the routing decision in `sendWrite` (Safe vs EOA).
169
+ */
170
+ async revokeFeedback(args) {
171
+ if (!this.walletClient) {
172
+ throw new Error('revokeFeedback: walletClient required for write operations');
173
+ }
174
+ const calldata = encodeFunctionData({
175
+ abi: REPUTATION_REGISTRY_ABI,
176
+ functionName: 'revokeFeedback',
177
+ args: [args.agentId, args.feedbackIndex],
178
+ });
179
+ return this.sendWrite(calldata);
180
+ }
181
+ // ── Read paths ───────────────────────────────────────────────────────────
182
+ async readFeedback(args) {
183
+ try {
184
+ const result = (await this.publicClient.readContract({
185
+ address: this.contractAddress,
186
+ abi: REPUTATION_REGISTRY_ABI,
187
+ functionName: 'readFeedback',
188
+ args: [args.agentId, args.clientAddress, args.feedbackIndex],
189
+ }));
190
+ const [value, valueDecimals, tag1, tag2, isRevoked] = result;
191
+ return {
192
+ agentId: args.agentId,
193
+ client: args.clientAddress,
194
+ feedbackIndex: args.feedbackIndex,
195
+ score: value,
196
+ scoreDecimals: valueDecimals,
197
+ tag1: tag1 || undefined,
198
+ tag2: tag2 || undefined,
199
+ revoked: isRevoked,
200
+ };
201
+ }
202
+ catch (err) {
203
+ // The contract reverts with "index out of bounds" / "index must be > 0"
204
+ // when the row does not exist; surface as null rather than throwing.
205
+ const msg = err instanceof Error ? err.message : String(err);
206
+ if (msg.includes('out of bounds') || msg.includes('index must be > 0')) {
207
+ return null;
208
+ }
209
+ throw err;
210
+ }
211
+ }
212
+ /**
213
+ * Read all feedback for an agentId. By default, queries every known client
214
+ * (the contract walks `_clients[agentId]` when `clientAddresses=[]` is
215
+ * passed — confirmed in the .sol, line ~268). Pass an explicit
216
+ * `clientAddresses` filter to narrow.
217
+ */
218
+ async readAllFeedback(agentId, opts = {}) {
219
+ const result = (await this.publicClient.readContract({
220
+ address: this.contractAddress,
221
+ abi: REPUTATION_REGISTRY_ABI,
222
+ functionName: 'readAllFeedback',
223
+ args: [
224
+ agentId,
225
+ opts.clientAddresses ?? [],
226
+ opts.tag1Filter ?? '',
227
+ opts.tag2Filter ?? '',
228
+ opts.includeRevoked ?? false,
229
+ ],
230
+ }));
231
+ const [clients, feedbackIndexes, values, valueDecimals, tag1s, tag2s, revokedStatuses] = result;
232
+ const records = [];
233
+ for (let i = 0; i < clients.length; i++) {
234
+ records.push({
235
+ agentId,
236
+ client: clients[i],
237
+ feedbackIndex: feedbackIndexes[i],
238
+ score: values[i],
239
+ scoreDecimals: valueDecimals[i],
240
+ tag1: tag1s[i] || undefined,
241
+ tag2: tag2s[i] || undefined,
242
+ revoked: revokedStatuses[i],
243
+ });
244
+ }
245
+ return records;
246
+ }
247
+ /**
248
+ * Compute a summary across the supplied client addresses (or fail loudly —
249
+ * the on-chain `getSummary` reverts when called with an empty list, by
250
+ * design, to force callers to be explicit about which feedback sources
251
+ * they trust).
252
+ *
253
+ * Pass the result of `getClients(agentId)` to get a "summary across all
254
+ * known clients" — Jinn's typical surface.
255
+ */
256
+ async getSummary(agentId, opts) {
257
+ if (opts.clientAddresses.length === 0) {
258
+ throw new Error('getSummary: clientAddresses must be non-empty (contract reverts otherwise)');
259
+ }
260
+ const result = (await this.publicClient.readContract({
261
+ address: this.contractAddress,
262
+ abi: REPUTATION_REGISTRY_ABI,
263
+ functionName: 'getSummary',
264
+ args: [agentId, opts.clientAddresses, opts.tag1Filter ?? '', opts.tag2Filter ?? ''],
265
+ }));
266
+ const [count, summaryValue, summaryValueDecimals] = result;
267
+ return { count, summaryValue, summaryValueDecimals };
268
+ }
269
+ /** All addresses that have ever submitted feedback for this agentId. */
270
+ async getClients(agentId) {
271
+ const result = (await this.publicClient.readContract({
272
+ address: this.contractAddress,
273
+ abi: REPUTATION_REGISTRY_ABI,
274
+ functionName: 'getClients',
275
+ args: [agentId],
276
+ }));
277
+ return [...result];
278
+ }
279
+ /** Latest feedback index this client has submitted for `agentId`, or 0. */
280
+ async getLastIndex(agentId, clientAddress) {
281
+ const result = (await this.publicClient.readContract({
282
+ address: this.contractAddress,
283
+ abi: REPUTATION_REGISTRY_ABI,
284
+ functionName: 'getLastIndex',
285
+ args: [agentId, clientAddress],
286
+ }));
287
+ // result is uint64; widening to bigint is safe.
288
+ return result;
289
+ }
290
+ // ── Internal ─────────────────────────────────────────────────────────────
291
+ /**
292
+ * Send a write tx, routing through the Safe when configured.
293
+ *
294
+ * Mirrors `ClaimRegistryClient` and `mech/contracts.ts`: production calls
295
+ * route through the Safe so `msg.sender` is the operator's canonical
296
+ * identity (matching the OLAS staking + 8004 IdentityRegistry agent NFT
297
+ * binding). Tests and one-off scripts can omit `safeAddress` and write
298
+ * directly from the EOA.
299
+ *
300
+ * `_unused` is reserved for value-bearing writes if any are added later;
301
+ * none of the Reputation surfaces are payable, so we always send 0.
302
+ */
303
+ async sendWrite(calldata) {
304
+ const walletClient = this.walletClient;
305
+ if (this.safeAddress) {
306
+ return executeSafeTransaction(this.publicClient, walletClient, {
307
+ safeAddress: this.safeAddress,
308
+ to: this.contractAddress,
309
+ value: 0n,
310
+ data: calldata,
311
+ });
312
+ }
313
+ const account = walletClient.account;
314
+ if (!account) {
315
+ throw new Error('sendWrite: walletClient has no account (and no safeAddress configured)');
316
+ }
317
+ // Direct EOA path — used by tests and ad-hoc scripts. Production wires
318
+ // safeAddress so this branch is rarely hit on real chains.
319
+ const txHash = await walletClient.sendTransaction({
320
+ account,
321
+ to: this.contractAddress,
322
+ data: calldata,
323
+ value: 0n,
324
+ // viem requires the chain to be specified; we resolve it from the
325
+ // public client's configured chain to avoid double-config drift.
326
+ chain: walletClient.chain ?? null,
327
+ });
328
+ await waitForTransactionReceiptWithRetry(this.publicClient, txHash);
329
+ return txHash;
330
+ }
331
+ }
332
+ // Re-export ZERO_HASH for callers that need a sentinel filehash. Marked
333
+ // `as const` is unnecessary — the type is already a literal Hex.
334
+ export { ZERO_HASH };
335
+ /**
336
+ * Pure function: map a verdict to (score, scoreDecimals). Returns `null` for
337
+ * verdicts that should not produce on-chain feedback (REJECTED, INDETERMINATE)
338
+ * — see policy comment at the top of the module.
339
+ *
340
+ * Exported so tests pin the policy directly.
341
+ */
342
+ export function mapVerdictToScore(verdict) {
343
+ switch (verdict) {
344
+ case 'PASS':
345
+ // 1.00 — full pass.
346
+ return { score: 100, scoreDecimals: 2 };
347
+ case 'FAIL':
348
+ // 0.00 — quality failure; tarnishes the operator's reputation.
349
+ return { score: 0, scoreDecimals: 2 };
350
+ case 'REJECTED':
351
+ case 'INDETERMINATE':
352
+ // No feedback — see top-of-module policy comment.
353
+ return null;
354
+ default: {
355
+ // Defensive: unrecognised verdict → no feedback. Future verdicts that
356
+ // should emit feedback need an explicit case here; defaulting to "no
357
+ // feedback" is the safe path so we never silently apply a wrong score.
358
+ const exhaustive = verdict;
359
+ void exhaustive;
360
+ return null;
361
+ }
362
+ }
363
+ }
364
+ /**
365
+ * Submit feedback on the restorer's agent NFT. The body is the canonical
366
+ * `manifest:<cid>` URI + `evidenceHash` — the subgraph parses these to
367
+ * synthesize an `Execution` row joined to the operator.
368
+ *
369
+ * Errors are caught and returned as `{ kind: 'failed', ... }` — callers
370
+ * (the engine's deliver path) should log the outcome but never let it
371
+ * propagate. The on-chain `claimDelivery` already settled.
372
+ *
373
+ * Self-feedback (caller is owner/approved/operator of `restorerAgentId`)
374
+ * reverts on chain with a known string; we surface that as a graceful
375
+ * `{ kind: 'skipped', reason: 'self-feedback' }`.
376
+ */
377
+ export async function submitEvaluatorFeedback(args) {
378
+ const { registry, ref, verdict } = args;
379
+ const log = args.log ?? defaultLog;
380
+ const mapped = mapVerdictToScore(verdict.verdict);
381
+ if (!mapped) {
382
+ log({
383
+ level: 'info',
384
+ msg: `[reputation] skipping giveFeedback for verdict=${verdict.verdict} (policy: no on-chain feedback)`,
385
+ data: { restorerAgentId: ref.restorerAgentId.toString(), verdict: verdict.verdict },
386
+ });
387
+ return { kind: 'skipped', reason: 'verdict-not-eligible' };
388
+ }
389
+ const giveArgs = {
390
+ restorerAgentId: ref.restorerAgentId,
391
+ score: mapped.score,
392
+ scoreDecimals: mapped.scoreDecimals,
393
+ manifestRef: `manifest:${ref.restorerManifestCid}`,
394
+ manifestHash: ref.restorerEvidenceHash,
395
+ ...(verdict.kind ? { tag1: verdict.kind } : {}),
396
+ ...(verdict.tag2 ? { tag2: verdict.tag2 } : {}),
397
+ };
398
+ try {
399
+ const txHash = await registry.giveFeedback(giveArgs);
400
+ log({
401
+ level: 'info',
402
+ msg: '[reputation] giveFeedback submitted',
403
+ data: {
404
+ restorerAgentId: ref.restorerAgentId.toString(),
405
+ verdict: verdict.verdict,
406
+ score: mapped.score,
407
+ scoreDecimals: mapped.scoreDecimals,
408
+ manifestCid: ref.restorerManifestCid,
409
+ txHash,
410
+ },
411
+ });
412
+ return { kind: 'submitted', txHash };
413
+ }
414
+ catch (err) {
415
+ const msg = err instanceof Error ? err.message : String(err);
416
+ // Self-feedback guard: contract reverts with "Self-feedback not allowed"
417
+ // when the evaluator EOA/Safe is the owner/approved/operator of the
418
+ // restorer's agentId. This is structurally possible in single-operator
419
+ // dev setups; treat as a graceful skip.
420
+ if (msg.includes('Self-feedback not allowed')) {
421
+ log({
422
+ level: 'warn',
423
+ msg: '[reputation] giveFeedback skipped: evaluator is the restorer (self-feedback guard)',
424
+ data: { restorerAgentId: ref.restorerAgentId.toString() },
425
+ });
426
+ return { kind: 'skipped', reason: 'self-feedback' };
427
+ }
428
+ // Agent doesn't exist on chain. The contract reverts with the canonical
429
+ // ERC-721 error; surface as a graceful skip — the restorer hasn't yet
430
+ // minted (or we're querying the wrong chain).
431
+ if (msg.includes('ERC721NonexistentToken') || msg.includes('nonexistent')) {
432
+ log({
433
+ level: 'warn',
434
+ msg: '[reputation] giveFeedback skipped: restorer agentId not minted',
435
+ data: { restorerAgentId: ref.restorerAgentId.toString() },
436
+ });
437
+ return { kind: 'skipped', reason: 'agent-not-found' };
438
+ }
439
+ // Anything else: log warn (NOT error — the evaluator's claimDelivery
440
+ // already landed), surface as `failed` for tests/observability.
441
+ log({
442
+ level: 'warn',
443
+ msg: '[reputation] giveFeedback failed (non-fatal); claimDelivery already authoritative',
444
+ data: {
445
+ restorerAgentId: ref.restorerAgentId.toString(),
446
+ error: msg,
447
+ },
448
+ });
449
+ return { kind: 'failed', error: msg };
450
+ }
451
+ }
452
+ // ── Local helpers ───────────────────────────────────────────────────────────
453
+ function defaultLog(entry) {
454
+ if (entry.level === 'error') {
455
+ console.error(entry.msg, entry.data ?? '');
456
+ }
457
+ else if (entry.level === 'warn') {
458
+ console.warn(entry.msg, entry.data ?? '');
459
+ }
460
+ else {
461
+ console.log(entry.msg, entry.data ?? '');
462
+ }
463
+ }
464
+ //# sourceMappingURL=reputation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reputation.js","sourceRoot":"","sources":["../../src/erc8004/reputation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Subgraph client — stub.
3
+ *
4
+ * The real Jinn-specific subgraph (operator-rooted ERC-8004, synthesized
5
+ * `Operator`/`Execution` entities) is rebuilt under bead `jinn-mono-fud` per
6
+ * docs/superpowers/specs/2026-04-27-erc-8004-entity-model-design.md. The
7
+ * previous V1 schema (`Intent`, `ExecutionEnvelope`, `SourceBundle`,
8
+ * `Artifact`, `KnowledgeTree`, etc.) was a category error against the deployed
9
+ * `0x8004…` registries — see the design record §2.
10
+ *
11
+ * This stub keeps the surface that `daemon.ts` calls during peer-discovery /
12
+ * remote-artifact backfill so the daemon compiles and runs without ERC-8004
13
+ * registration. All queries return empty results until the new subgraph
14
+ * lands. No new ABIs are introduced here.
15
+ */
16
+ export interface SubgraphConfig {
17
+ url: string;
18
+ }
19
+ export interface SubgraphResult {
20
+ id: string;
21
+ agentURI: string;
22
+ owner: string;
23
+ metadata: Array<{
24
+ key: string;
25
+ value: string;
26
+ }>;
27
+ }
28
+ /**
29
+ * Parse a metadata value from a SubgraphResult by key. Retained for
30
+ * backward compatibility with daemon.ts.
31
+ */
32
+ export declare function getMetadataValue(result: SubgraphResult, key: string): string | undefined;
33
+ /**
34
+ * Stubbed artifact discovery query. Returns no rows until the rebuilt
35
+ * Jinn subgraph (jinn-mono-fud) ships.
36
+ */
37
+ export declare function queryArtifacts(_config: SubgraphConfig, _filters?: {
38
+ outcome?: string;
39
+ owner?: string;
40
+ limit?: number;
41
+ }): Promise<SubgraphResult[]>;
42
+ /**
43
+ * Stubbed peer-node discovery query. Returns no rows until the rebuilt
44
+ * Jinn subgraph (jinn-mono-fud) ships.
45
+ */
46
+ export declare function queryNodes(_config: SubgraphConfig, _limit?: number): Promise<SubgraphResult[]>;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Subgraph client — stub.
3
+ *
4
+ * The real Jinn-specific subgraph (operator-rooted ERC-8004, synthesized
5
+ * `Operator`/`Execution` entities) is rebuilt under bead `jinn-mono-fud` per
6
+ * docs/superpowers/specs/2026-04-27-erc-8004-entity-model-design.md. The
7
+ * previous V1 schema (`Intent`, `ExecutionEnvelope`, `SourceBundle`,
8
+ * `Artifact`, `KnowledgeTree`, etc.) was a category error against the deployed
9
+ * `0x8004…` registries — see the design record §2.
10
+ *
11
+ * This stub keeps the surface that `daemon.ts` calls during peer-discovery /
12
+ * remote-artifact backfill so the daemon compiles and runs without ERC-8004
13
+ * registration. All queries return empty results until the new subgraph
14
+ * lands. No new ABIs are introduced here.
15
+ */
16
+ /**
17
+ * Parse a metadata value from a SubgraphResult by key. Retained for
18
+ * backward compatibility with daemon.ts.
19
+ */
20
+ export function getMetadataValue(result, key) {
21
+ return result.metadata.find((m) => m.key === key)?.value;
22
+ }
23
+ /**
24
+ * Stubbed artifact discovery query. Returns no rows until the rebuilt
25
+ * Jinn subgraph (jinn-mono-fud) ships.
26
+ */
27
+ export async function queryArtifacts(_config, _filters) {
28
+ return [];
29
+ }
30
+ /**
31
+ * Stubbed peer-node discovery query. Returns no rows until the rebuilt
32
+ * Jinn subgraph (jinn-mono-fud) ships.
33
+ */
34
+ export async function queryNodes(_config, _limit) {
35
+ return [];
36
+ }
37
+ //# sourceMappingURL=subgraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subgraph.js","sourceRoot":"","sources":["../../src/erc8004/subgraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAsB,EAAE,GAAW;IAClE,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAuB,EACvB,QAA+D;IAE/D,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAuB,EACvB,MAAe;IAEf,OAAO,EAAE,CAAC;AACZ,CAAC"}