@jinn-network/client 0.1.9 → 0.2.0

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 (1232) 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 +30 -0
  7. package/dist/adapters/mech/adapter.js +198 -54
  8. package/dist/adapters/mech/adapter.js.map +1 -1
  9. package/dist/adapters/mech/contracts.d.ts +174 -13
  10. package/dist/adapters/mech/contracts.js +37 -21
  11. package/dist/adapters/mech/contracts.js.map +1 -1
  12. package/dist/adapters/mech/ipfs.d.ts +15 -27
  13. package/dist/adapters/mech/ipfs.js +39 -102
  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 +15 -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 +49 -15
  24. package/dist/api/gather-status.js +115 -417
  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 +2 -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 +2 -2
  37. package/dist/api/loop-completion-build.js +2 -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 +232 -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 +74 -64
  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 +17 -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 +103 -23
  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/solver-nets.d.ts +6 -0
  101. package/dist/cli/commands/solver-nets.js +145 -2
  102. package/dist/cli/commands/solver-nets.js.map +1 -1
  103. package/dist/cli/commands/solver-plugins.js +2 -2
  104. package/dist/cli/commands/solver-plugins.js.map +1 -1
  105. package/dist/cli/commands/stop.js +97 -21
  106. package/dist/cli/commands/stop.js.map +1 -1
  107. package/dist/cli/commands/update.js +8 -0
  108. package/dist/cli/commands/update.js.map +1 -1
  109. package/dist/cli/commands/version.js +4 -0
  110. package/dist/cli/commands/version.js.map +1 -1
  111. package/dist/cli/execution-context.js +2 -1
  112. package/dist/cli/execution-context.js.map +1 -1
  113. package/dist/cli/index.js +4 -0
  114. package/dist/cli/index.js.map +1 -1
  115. package/dist/cli/introspection-context.js +0 -3
  116. package/dist/cli/introspection-context.js.map +1 -1
  117. package/dist/cli/ui-auto-open-gate.d.ts +22 -0
  118. package/dist/cli/ui-auto-open-gate.js +24 -0
  119. package/dist/cli/ui-auto-open-gate.js.map +1 -0
  120. package/dist/config.d.ts +258 -540
  121. package/dist/config.js +280 -193
  122. package/dist/config.js.map +1 -1
  123. package/dist/conformance/execution-envelope-authenticator.d.ts +2 -0
  124. package/dist/conformance/execution-envelope-authenticator.js +38 -0
  125. package/dist/conformance/execution-envelope-authenticator.js.map +1 -0
  126. package/dist/contracts/abis.d.ts +100 -0
  127. package/dist/contracts/abis.js +58 -0
  128. package/dist/contracts/abis.js.map +1 -0
  129. package/dist/contracts/addresses.d.ts +36 -0
  130. package/dist/contracts/addresses.js +60 -0
  131. package/dist/contracts/addresses.js.map +1 -0
  132. package/dist/corpus/acquire.d.ts +1 -40
  133. package/dist/corpus/acquire.js +1 -212
  134. package/dist/corpus/acquire.js.map +1 -1
  135. package/dist/corpus/cache.d.ts +1 -14
  136. package/dist/corpus/cache.js +1 -17
  137. package/dist/corpus/cache.js.map +1 -1
  138. package/dist/corpus/fetch-artifact.d.ts +1 -0
  139. package/dist/corpus/fetch-artifact.js +2 -0
  140. package/dist/corpus/fetch-artifact.js.map +1 -0
  141. package/dist/corpus/fetch.d.ts +3 -7
  142. package/dist/corpus/fetch.js +9 -22
  143. package/dist/corpus/fetch.js.map +1 -1
  144. package/dist/corpus/index.d.ts +2 -3
  145. package/dist/corpus/index.js +19 -110
  146. package/dist/corpus/index.js.map +1 -1
  147. package/dist/corpus/onchain-query.d.ts +0 -1
  148. package/dist/corpus/onchain-query.js +2 -5
  149. package/dist/corpus/onchain-query.js.map +1 -1
  150. package/dist/corpus/route-resolver.d.ts +1 -16
  151. package/dist/corpus/route-resolver.js +1 -19
  152. package/dist/corpus/route-resolver.js.map +1 -1
  153. package/dist/corpus/types.d.ts +1 -17
  154. package/dist/corpus/types.js +1 -34
  155. package/dist/corpus/types.js.map +1 -1
  156. package/dist/daemon/balance-topup-loop.js +27 -9
  157. package/dist/daemon/balance-topup-loop.js.map +1 -1
  158. package/dist/daemon/checkpoint-loop.js +2 -2
  159. package/dist/daemon/creator.d.ts +1 -0
  160. package/dist/daemon/creator.js +39 -25
  161. package/dist/daemon/creator.js.map +1 -1
  162. package/dist/daemon/daemon.d.ts +31 -12
  163. package/dist/daemon/daemon.js +138 -32
  164. package/dist/daemon/daemon.js.map +1 -1
  165. package/dist/daemon/delivery-watcher.d.ts +9 -0
  166. package/dist/daemon/delivery-watcher.js +24 -1
  167. package/dist/daemon/delivery-watcher.js.map +1 -1
  168. package/dist/daemon/eviction-loop.d.ts +3 -0
  169. package/dist/daemon/eviction-loop.js +7 -4
  170. package/dist/daemon/eviction-loop.js.map +1 -1
  171. package/dist/daemon/harvest-loop.d.ts +72 -0
  172. package/dist/daemon/harvest-loop.js +474 -0
  173. package/dist/daemon/harvest-loop.js.map +1 -0
  174. package/dist/daemon/join-applier.d.ts +40 -0
  175. package/dist/daemon/join-applier.js +52 -0
  176. package/dist/daemon/join-applier.js.map +1 -0
  177. package/dist/daemon/loop-heartbeat.d.ts +95 -0
  178. package/dist/daemon/loop-heartbeat.js +80 -0
  179. package/dist/daemon/loop-heartbeat.js.map +1 -0
  180. package/dist/{api/peers.js → daemon/peer-sync.js} +3 -1
  181. package/dist/daemon/peer-sync.js.map +1 -0
  182. package/dist/daemon/reward-claim-loop.js +28 -10
  183. package/dist/daemon/reward-claim-loop.js.map +1 -1
  184. package/dist/daemon/skip-log-dedup.d.ts +1 -1
  185. package/dist/daemon/skip-log-dedup.js +3 -0
  186. package/dist/daemon/skip-log-dedup.js.map +1 -1
  187. package/dist/daemon/spend-cap-gate.d.ts +0 -6
  188. package/dist/daemon/spend-cap-gate.js +1 -8
  189. package/dist/daemon/spend-cap-gate.js.map +1 -1
  190. package/dist/daemon/watchdog-loop.d.ts +84 -0
  191. package/dist/daemon/watchdog-loop.js +91 -0
  192. package/dist/daemon/watchdog-loop.js.map +1 -0
  193. package/dist/dashboard/assets/index-C988eu68.js +95 -0
  194. package/dist/dashboard/assets/index-CawZUjVI.css +1 -0
  195. package/dist/dashboard/index.html +2 -2
  196. package/dist/discovery/http.d.ts +10 -0
  197. package/dist/discovery/http.js +178 -335
  198. package/dist/discovery/http.js.map +1 -1
  199. package/dist/discovery/onchain.js +30 -9
  200. package/dist/discovery/onchain.js.map +1 -1
  201. package/dist/discovery/types.d.ts +98 -52
  202. package/dist/discovery/types.js.map +1 -1
  203. package/dist/discovery/with-fallback.js +19 -0
  204. package/dist/discovery/with-fallback.js.map +1 -1
  205. package/dist/earning/bootstrap-run.d.ts +25 -0
  206. package/dist/earning/bootstrap-run.js +315 -0
  207. package/dist/earning/bootstrap-run.js.map +1 -0
  208. package/dist/earning/bootstrap.d.ts +11 -14
  209. package/dist/earning/bootstrap.js +56 -204
  210. package/dist/earning/bootstrap.js.map +1 -1
  211. package/dist/earning/contracts.d.ts +2 -232
  212. package/dist/earning/contracts.js +16 -205
  213. package/dist/earning/contracts.js.map +1 -1
  214. package/dist/earning/faucet-topup-store.d.ts +41 -0
  215. package/dist/earning/faucet-topup-store.js +89 -0
  216. package/dist/earning/faucet-topup-store.js.map +1 -0
  217. package/dist/earning/master-gas.d.ts +10 -0
  218. package/dist/earning/master-gas.js +11 -0
  219. package/dist/earning/master-gas.js.map +1 -0
  220. package/dist/earning/safe-adapter.js +1 -45
  221. package/dist/earning/safe-adapter.js.map +1 -1
  222. package/dist/earning/steps/context.d.ts +42 -0
  223. package/dist/earning/steps/context.js +4 -0
  224. package/dist/earning/steps/context.js.map +1 -0
  225. package/dist/earning/steps/fleet-identity-register.d.ts +4 -0
  226. package/dist/earning/steps/fleet-identity-register.js +65 -0
  227. package/dist/earning/steps/fleet-identity-register.js.map +1 -0
  228. package/dist/earning/steps/fleet-safe-deploy.d.ts +4 -0
  229. package/dist/earning/steps/fleet-safe-deploy.js +62 -0
  230. package/dist/earning/steps/fleet-safe-deploy.js.map +1 -0
  231. package/dist/earning/steps/fleet-safe-predict.d.ts +4 -0
  232. package/dist/earning/steps/fleet-safe-predict.js +18 -0
  233. package/dist/earning/steps/fleet-safe-predict.js.map +1 -0
  234. package/dist/earning/steps/receipt-parsing.d.ts +12 -0
  235. package/dist/earning/steps/receipt-parsing.js +71 -0
  236. package/dist/earning/steps/receipt-parsing.js.map +1 -0
  237. package/dist/earning/stolas-claim.js +8 -8
  238. package/dist/earning/stolas-claim.js.map +1 -1
  239. package/dist/earning/{jinn-rewards.d.ts → stolas-staking.d.ts} +4 -8
  240. package/dist/earning/{jinn-rewards.js → stolas-staking.js} +25 -23
  241. package/dist/earning/stolas-staking.js.map +1 -0
  242. package/dist/earning/testnet-setup-migration.d.ts +1 -0
  243. package/dist/earning/testnet-setup-migration.js +7 -2
  244. package/dist/earning/testnet-setup-migration.js.map +1 -1
  245. package/dist/earning/types.d.ts +9 -9
  246. package/dist/earning/types.js +1 -1
  247. package/dist/earning/types.js.map +1 -1
  248. package/dist/earning/viem-clients.d.ts +3 -19
  249. package/dist/earning/viem-clients.js +4 -31
  250. package/dist/earning/viem-clients.js.map +1 -1
  251. package/dist/erc8004/abis.d.ts +16 -0
  252. package/dist/erc8004/abis.js +12 -0
  253. package/dist/erc8004/abis.js.map +1 -1
  254. package/dist/erc8004/addresses.d.ts +6 -5
  255. package/dist/erc8004/addresses.js +7 -5
  256. package/dist/erc8004/addresses.js.map +1 -1
  257. package/dist/erc8004/identity.d.ts +54 -1
  258. package/dist/erc8004/identity.js +114 -5
  259. package/dist/erc8004/identity.js.map +1 -1
  260. package/dist/erc8004/index.d.ts +5 -2
  261. package/dist/erc8004/index.js +6 -2
  262. package/dist/erc8004/index.js.map +1 -1
  263. package/dist/erc8004/manifest-consumer.d.ts +32 -0
  264. package/dist/erc8004/manifest-consumer.js +95 -0
  265. package/dist/erc8004/manifest-consumer.js.map +1 -0
  266. package/dist/erc8004/manifest-registry.d.ts +1 -0
  267. package/dist/erc8004/manifest-registry.js +2 -0
  268. package/dist/erc8004/manifest-registry.js.map +1 -0
  269. package/dist/erc8004/merkle.d.ts +1 -0
  270. package/dist/erc8004/merkle.js +2 -0
  271. package/dist/erc8004/merkle.js.map +1 -0
  272. package/dist/erc8004/publisher-safe-resolver.d.ts +32 -0
  273. package/dist/erc8004/publisher-safe-resolver.js +102 -0
  274. package/dist/erc8004/publisher-safe-resolver.js.map +1 -0
  275. package/dist/erc8004/reputation.js +16 -12
  276. package/dist/erc8004/reputation.js.map +1 -1
  277. package/dist/erc8004/validation.js +5 -4
  278. package/dist/erc8004/validation.js.map +1 -1
  279. package/dist/eval/attribution-instrument.d.ts +190 -0
  280. package/dist/eval/attribution-instrument.js +719 -0
  281. package/dist/eval/attribution-instrument.js.map +1 -0
  282. package/dist/eval/attribution-verdict-evidence.d.ts +41 -0
  283. package/dist/eval/attribution-verdict-evidence.js +124 -0
  284. package/dist/eval/attribution-verdict-evidence.js.map +1 -0
  285. package/dist/eval/capability-slate.d.ts +64 -0
  286. package/dist/eval/capability-slate.js +136 -0
  287. package/dist/eval/capability-slate.js.map +1 -0
  288. package/dist/eval/capability-stats.d.ts +39 -0
  289. package/dist/eval/capability-stats.js +123 -0
  290. package/dist/eval/capability-stats.js.map +1 -0
  291. package/dist/eval/contested-band.d.ts +18 -0
  292. package/dist/eval/contested-band.js +19 -0
  293. package/dist/eval/contested-band.js.map +1 -0
  294. package/dist/eval/corpus-index.d.ts +21 -0
  295. package/dist/eval/corpus-index.js +55 -0
  296. package/dist/eval/corpus-index.js.map +1 -0
  297. package/dist/eval/disjointness.d.ts +26 -0
  298. package/dist/eval/disjointness.js +67 -0
  299. package/dist/eval/disjointness.js.map +1 -0
  300. package/dist/eval/mcnemar-power.d.ts +14 -0
  301. package/dist/eval/mcnemar-power.js +40 -0
  302. package/dist/eval/mcnemar-power.js.map +1 -0
  303. package/dist/eval/orchestrator.d.ts +64 -3
  304. package/dist/eval/orchestrator.js +37 -19
  305. package/dist/eval/orchestrator.js.map +1 -1
  306. package/dist/eval/paired.d.ts +2 -68
  307. package/dist/eval/paired.js +2 -92
  308. package/dist/eval/paired.js.map +1 -1
  309. package/dist/eval/resolve-slate-tasks.js +2 -2
  310. package/dist/eval/resolve-slate-tasks.js.map +1 -1
  311. package/dist/eval/screen-discovery.d.ts +5 -8
  312. package/dist/eval/screen-discovery.js +13 -55
  313. package/dist/eval/screen-discovery.js.map +1 -1
  314. package/dist/events/types.d.ts +1 -1
  315. package/dist/events/types.js +1 -1
  316. package/dist/events/types.js.map +1 -1
  317. package/dist/harnesses/auth-source.d.ts +51 -0
  318. package/dist/harnesses/auth-source.js +155 -0
  319. package/dist/harnesses/auth-source.js.map +1 -0
  320. package/dist/harnesses/engine/backfill-failed-deliveries.d.ts +59 -0
  321. package/dist/harnesses/engine/backfill-failed-deliveries.js +94 -0
  322. package/dist/harnesses/engine/backfill-failed-deliveries.js.map +1 -0
  323. package/dist/harnesses/engine/canonical-json.d.ts +2 -1
  324. package/dist/harnesses/engine/canonical-json.js +2 -67
  325. package/dist/harnesses/engine/canonical-json.js.map +1 -1
  326. package/dist/harnesses/engine/corpus-knowledge.d.ts +67 -0
  327. package/dist/harnesses/engine/corpus-knowledge.js +194 -0
  328. package/dist/harnesses/engine/corpus-knowledge.js.map +1 -0
  329. package/dist/harnesses/engine/engine.d.ts +85 -1
  330. package/dist/harnesses/engine/engine.js +313 -6
  331. package/dist/harnesses/engine/engine.js.map +1 -1
  332. package/dist/harnesses/engine/envelope-assembly.d.ts +9 -1
  333. package/dist/harnesses/engine/envelope-assembly.js +6 -0
  334. package/dist/harnesses/engine/envelope-assembly.js.map +1 -1
  335. package/dist/harnesses/engine/generator-model.d.ts +36 -0
  336. package/dist/harnesses/engine/generator-model.js +118 -0
  337. package/dist/harnesses/engine/generator-model.js.map +1 -0
  338. package/dist/harnesses/engine/packaging.js +5 -5
  339. package/dist/harnesses/engine/packaging.js.map +1 -1
  340. package/dist/harnesses/engine/persistence.d.ts +37 -62
  341. package/dist/harnesses/engine/persistence.js +66 -0
  342. package/dist/harnesses/engine/persistence.js.map +1 -1
  343. package/dist/harnesses/impls/_evaluator-base.d.ts +48 -0
  344. package/dist/harnesses/impls/_evaluator-base.js +35 -0
  345. package/dist/harnesses/impls/_evaluator-base.js.map +1 -0
  346. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.d.ts +1 -1
  347. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js +1 -1
  348. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js.map +1 -1
  349. package/dist/harnesses/impls/claude-mcp-prediction/index.d.ts +2 -3
  350. package/dist/harnesses/impls/claude-mcp-prediction/index.js +29 -99
  351. package/dist/harnesses/impls/claude-mcp-prediction/index.js.map +1 -1
  352. package/dist/harnesses/impls/claude-mcp-prediction/mcp-tools.js +4 -21
  353. package/dist/harnesses/impls/claude-mcp-prediction/mcp-tools.js.map +1 -1
  354. package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.d.ts +2 -0
  355. package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.js +1 -1
  356. package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.js.map +1 -1
  357. package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js +30 -79
  358. package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js.map +1 -1
  359. package/dist/harnesses/impls/claude-mcp-prediction-apy/mcp-tools.js +4 -19
  360. package/dist/harnesses/impls/claude-mcp-prediction-apy/mcp-tools.js.map +1 -1
  361. package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.d.ts +2 -0
  362. package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.js +1 -1
  363. package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.js.map +1 -1
  364. package/dist/harnesses/impls/claude-mcp-shared/mcp-server-script.d.ts +39 -0
  365. package/dist/harnesses/impls/claude-mcp-shared/mcp-server-script.js +62 -0
  366. package/dist/harnesses/impls/claude-mcp-shared/mcp-server-script.js.map +1 -0
  367. package/dist/harnesses/impls/claude-mcp-shared/mcp-server.d.ts +40 -0
  368. package/dist/harnesses/impls/claude-mcp-shared/mcp-server.js +44 -0
  369. package/dist/harnesses/impls/claude-mcp-shared/mcp-server.js.map +1 -0
  370. package/dist/harnesses/impls/claude-mcp-shared/single-session-harness.d.ts +56 -0
  371. package/dist/harnesses/impls/claude-mcp-shared/single-session-harness.js +79 -0
  372. package/dist/harnesses/impls/claude-mcp-shared/single-session-harness.js.map +1 -0
  373. package/dist/harnesses/impls/hermes-agent/adapter.js +56 -2
  374. package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
  375. package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +6 -0
  376. package/dist/harnesses/impls/hermes-agent/bootstrap.js +7 -2
  377. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  378. package/dist/harnesses/impls/hermes-agent/harness.d.ts +8 -0
  379. package/dist/harnesses/impls/hermes-agent/harness.js +21 -0
  380. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  381. package/dist/harnesses/impls/index.js +8 -1
  382. package/dist/harnesses/impls/index.js.map +1 -1
  383. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.d.ts +34 -0
  384. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js +111 -0
  385. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js.map +1 -0
  386. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.d.ts +24 -0
  387. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js +19 -0
  388. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js.map +1 -0
  389. package/dist/harnesses/impls/jinn-repo-evaluator/harness.d.ts +97 -0
  390. package/dist/harnesses/impls/jinn-repo-evaluator/harness.js +265 -0
  391. package/dist/harnesses/impls/jinn-repo-evaluator/harness.js.map +1 -0
  392. package/dist/harnesses/impls/jinn-repo-evaluator/live-eval-runner.d.ts +68 -0
  393. package/dist/harnesses/impls/jinn-repo-evaluator/live-eval-runner.js +223 -0
  394. package/dist/harnesses/impls/jinn-repo-evaluator/live-eval-runner.js.map +1 -0
  395. package/dist/harnesses/impls/jinn-repo-evaluator/repro.d.ts +32 -0
  396. package/dist/harnesses/impls/jinn-repo-evaluator/repro.js +73 -0
  397. package/dist/harnesses/impls/jinn-repo-evaluator/repro.js.map +1 -0
  398. package/dist/harnesses/impls/jinn-repo-evaluator/scope-tests.d.ts +62 -0
  399. package/dist/harnesses/impls/jinn-repo-evaluator/scope-tests.js +91 -0
  400. package/dist/harnesses/impls/jinn-repo-evaluator/scope-tests.js.map +1 -0
  401. package/dist/harnesses/impls/learner/adapters/claude-code.js +9 -2
  402. package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
  403. package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +11 -1
  404. package/dist/harnesses/impls/learner/adapters/codex-code.js +130 -15
  405. package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
  406. package/dist/harnesses/impls/learner/harness.d.ts +12 -0
  407. package/dist/harnesses/impls/learner/harness.js +42 -0
  408. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  409. package/dist/harnesses/impls/learner/harvest.js +51 -1
  410. package/dist/harnesses/impls/learner/harvest.js.map +1 -1
  411. package/dist/harnesses/impls/portfolio-v0-evaluator/index.d.ts +5 -15
  412. package/dist/harnesses/impls/portfolio-v0-evaluator/index.js +10 -29
  413. package/dist/harnesses/impls/portfolio-v0-evaluator/index.js.map +1 -1
  414. package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.d.ts +5 -15
  415. package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.js +10 -23
  416. package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.js.map +1 -1
  417. package/dist/harnesses/impls/prediction-v0-evaluator/index.d.ts +5 -15
  418. package/dist/harnesses/impls/prediction-v0-evaluator/index.js +10 -25
  419. package/dist/harnesses/impls/prediction-v0-evaluator/index.js.map +1 -1
  420. package/dist/harnesses/impls/stub.d.ts +2 -2
  421. package/dist/harnesses/impls/stub.js +2 -2
  422. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +16 -2
  423. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
  424. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.d.ts +65 -6
  425. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +590 -35
  426. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
  427. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +4 -1
  428. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
  429. package/dist/harnesses/impls/swe-rebench-v2-evaluator/routing-task-row-fetcher.d.ts +37 -0
  430. package/dist/harnesses/impls/swe-rebench-v2-evaluator/routing-task-row-fetcher.js +59 -0
  431. package/dist/harnesses/impls/swe-rebench-v2-evaluator/routing-task-row-fetcher.js.map +1 -0
  432. package/dist/harnesses/impls/swe-rebench-v2-evaluator/upstream-patches/passed-actual.patch +21 -0
  433. package/dist/harnesses/readiness-registry.d.ts +16 -0
  434. package/dist/harnesses/readiness-registry.js +28 -6
  435. package/dist/harnesses/readiness-registry.js.map +1 -1
  436. package/dist/harnesses/types.d.ts +12 -0
  437. package/dist/learner/verification-gate.d.ts +53 -0
  438. package/dist/learner/verification-gate.js +80 -0
  439. package/dist/learner/verification-gate.js.map +1 -0
  440. package/dist/lifecycle/process-discovery.d.ts +41 -0
  441. package/dist/lifecycle/process-discovery.js +109 -0
  442. package/dist/lifecycle/process-discovery.js.map +1 -0
  443. package/dist/main.js +358 -581
  444. package/dist/main.js.map +1 -1
  445. package/dist/mcp/acquire-artifact.d.ts +3 -3
  446. package/dist/mcp/acquire-artifact.js +3 -3
  447. package/dist/mcp/operator-server.js +1 -1
  448. package/dist/mcp/operator-server.js.map +1 -1
  449. package/dist/mcp/server.js +5 -6
  450. package/dist/mcp/server.js.map +1 -1
  451. package/dist/monitoring/net-liveness.d.ts +143 -0
  452. package/dist/monitoring/net-liveness.js +301 -0
  453. package/dist/monitoring/net-liveness.js.map +1 -0
  454. package/dist/observability/emit-event.d.ts +1 -1
  455. package/dist/observability/emit-event.js +2 -4
  456. package/dist/observability/emit-event.js.map +1 -1
  457. package/dist/observability/progress.d.ts +11 -0
  458. package/dist/observability/progress.js +16 -0
  459. package/dist/observability/progress.js.map +1 -0
  460. package/dist/pilot/arm-homes.d.ts +39 -0
  461. package/dist/pilot/arm-homes.js +104 -0
  462. package/dist/pilot/arm-homes.js.map +1 -0
  463. package/dist/pilot/cost.d.ts +19 -0
  464. package/dist/pilot/cost.js +31 -0
  465. package/dist/pilot/cost.js.map +1 -0
  466. package/dist/pilot/instance.d.ts +26 -0
  467. package/dist/pilot/instance.js +53 -0
  468. package/dist/pilot/instance.js.map +1 -0
  469. package/dist/pilot/pipeline.d.ts +17 -0
  470. package/dist/pilot/pipeline.js +35 -0
  471. package/dist/pilot/pipeline.js.map +1 -0
  472. package/dist/pilot/repo.d.ts +37 -0
  473. package/dist/pilot/repo.js +65 -0
  474. package/dist/pilot/repo.js.map +1 -0
  475. package/dist/pilot/resume.d.ts +101 -0
  476. package/dist/pilot/resume.js +204 -0
  477. package/dist/pilot/resume.js.map +1 -0
  478. package/dist/pilot/solve.d.ts +23 -0
  479. package/dist/pilot/solve.js +37 -0
  480. package/dist/pilot/solve.js.map +1 -0
  481. package/dist/pilot/tally.d.ts +42 -0
  482. package/dist/pilot/tally.js +100 -0
  483. package/dist/pilot/tally.js.map +1 -0
  484. package/dist/pilot/task-selection.d.ts +27 -0
  485. package/dist/pilot/task-selection.js +112 -0
  486. package/dist/pilot/task-selection.js.map +1 -0
  487. package/dist/plugins/resolvers.js +7 -4
  488. package/dist/plugins/resolvers.js.map +1 -1
  489. package/dist/plugins/types.d.ts +8 -0
  490. package/dist/preflight/deployment-readiness.d.ts +2 -22
  491. package/dist/preflight/deployment-readiness.js +1 -59
  492. package/dist/preflight/deployment-readiness.js.map +1 -1
  493. package/dist/preflight/pidfile-liveness.d.ts +3 -2
  494. package/dist/preflight/pidfile-liveness.js +18 -2
  495. package/dist/preflight/pidfile-liveness.js.map +1 -1
  496. package/dist/preflight/rpc-network.d.ts +10 -3
  497. package/dist/preflight/rpc-network.js +46 -13
  498. package/dist/preflight/rpc-network.js.map +1 -1
  499. package/dist/preflight/stable-cwd.d.ts +29 -0
  500. package/dist/preflight/stable-cwd.js +98 -0
  501. package/dist/preflight/stable-cwd.js.map +1 -0
  502. package/dist/preflight/version-check.d.ts +41 -0
  503. package/dist/preflight/version-check.js +80 -0
  504. package/dist/preflight/version-check.js.map +1 -0
  505. package/dist/rpc/transport.d.ts +7 -5
  506. package/dist/rpc/transport.js +8 -6
  507. package/dist/rpc/transport.js.map +1 -1
  508. package/dist/scripts/swe-rebench-v2-evaluator.bundle.v1.patch +79 -0
  509. package/dist/solver-nets/registry.d.ts +19 -0
  510. package/dist/solver-nets/registry.js +99 -66
  511. package/dist/solver-nets/registry.js.map +1 -1
  512. package/dist/solver-types/_jinn-repo-pool.d.ts +61 -0
  513. package/dist/solver-types/_jinn-repo-pool.js +34 -0
  514. package/dist/solver-types/_jinn-repo-pool.js.map +1 -0
  515. package/dist/solver-types/_swe-rebench-v2-commit-echo-git.d.ts +46 -0
  516. package/dist/solver-types/_swe-rebench-v2-commit-echo-git.js +192 -0
  517. package/dist/solver-types/_swe-rebench-v2-commit-echo-git.js.map +1 -0
  518. package/dist/solver-types/_swe-rebench-v2-commit-echo.d.ts +57 -0
  519. package/dist/solver-types/_swe-rebench-v2-commit-echo.js +57 -0
  520. package/dist/solver-types/_swe-rebench-v2-commit-echo.js.map +1 -0
  521. package/dist/solver-types/_swe-rebench-v2-differential-admission.d.ts +395 -0
  522. package/dist/solver-types/_swe-rebench-v2-differential-admission.js +231 -0
  523. package/dist/solver-types/_swe-rebench-v2-differential-admission.js.map +1 -0
  524. package/dist/solver-types/_swe-rebench-v2-empirical-tests.d.ts +47 -0
  525. package/dist/solver-types/_swe-rebench-v2-empirical-tests.js +67 -0
  526. package/dist/solver-types/_swe-rebench-v2-empirical-tests.js.map +1 -0
  527. package/dist/solver-types/_swe-rebench-v2-escrow.d.ts +2 -0
  528. package/dist/solver-types/_swe-rebench-v2-escrow.js +13 -0
  529. package/dist/solver-types/_swe-rebench-v2-escrow.js.map +1 -1
  530. package/dist/solver-types/_swe-rebench-v2-guards.d.ts +44 -0
  531. package/dist/solver-types/_swe-rebench-v2-guards.js +111 -0
  532. package/dist/solver-types/_swe-rebench-v2-guards.js.map +1 -0
  533. package/dist/solver-types/_swe-rebench-v2-harvest-state.d.ts +191 -0
  534. package/dist/solver-types/_swe-rebench-v2-harvest-state.js +349 -0
  535. package/dist/solver-types/_swe-rebench-v2-harvest-state.js.map +1 -0
  536. package/dist/solver-types/_swe-rebench-v2-harvest.d.ts +123 -0
  537. package/dist/solver-types/_swe-rebench-v2-harvest.js +539 -0
  538. package/dist/solver-types/_swe-rebench-v2-harvest.js.map +1 -0
  539. package/dist/solver-types/_swe-rebench-v2-held-out-slate.d.ts +1 -1
  540. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js +1 -1
  541. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js.map +1 -1
  542. package/dist/solver-types/_swe-rebench-v2-hunk-echo.d.ts +28 -0
  543. package/dist/solver-types/_swe-rebench-v2-hunk-echo.js +32 -0
  544. package/dist/solver-types/_swe-rebench-v2-hunk-echo.js.map +1 -0
  545. package/dist/solver-types/_swe-rebench-v2-lookup-tripwire.d.ts +16 -0
  546. package/dist/solver-types/_swe-rebench-v2-lookup-tripwire.js +18 -0
  547. package/dist/solver-types/_swe-rebench-v2-lookup-tripwire.js.map +1 -0
  548. package/dist/solver-types/_swe-rebench-v2-mineable-store-port.d.ts +74 -0
  549. package/dist/solver-types/_swe-rebench-v2-mineable-store-port.js +9 -0
  550. package/dist/solver-types/_swe-rebench-v2-mineable-store-port.js.map +1 -0
  551. package/dist/solver-types/_swe-rebench-v2-mineable-store.d.ts +51 -0
  552. package/dist/solver-types/_swe-rebench-v2-mineable-store.js +171 -0
  553. package/dist/solver-types/_swe-rebench-v2-mineable-store.js.map +1 -0
  554. package/dist/solver-types/_swe-rebench-v2-mint-cli.d.ts +82 -0
  555. package/dist/solver-types/_swe-rebench-v2-mint-cli.js +434 -0
  556. package/dist/solver-types/_swe-rebench-v2-mint-cli.js.map +1 -0
  557. package/dist/solver-types/_swe-rebench-v2-minted-environment-verifier.d.ts +25 -0
  558. package/dist/solver-types/_swe-rebench-v2-minted-environment-verifier.js +101 -0
  559. package/dist/solver-types/_swe-rebench-v2-minted-environment-verifier.js.map +1 -0
  560. package/dist/solver-types/_swe-rebench-v2-minted-pool.d.ts +179 -0
  561. package/dist/solver-types/_swe-rebench-v2-minted-pool.js +408 -0
  562. package/dist/solver-types/_swe-rebench-v2-minted-pool.js.map +1 -0
  563. package/dist/solver-types/_swe-rebench-v2-session-echo.d.ts +36 -0
  564. package/dist/solver-types/_swe-rebench-v2-session-echo.js +193 -0
  565. package/dist/solver-types/_swe-rebench-v2-session-echo.js.map +1 -0
  566. package/dist/solver-types/_swe-rebench-v2-substrate.d.ts +11 -0
  567. package/dist/solver-types/_swe-rebench-v2-substrate.js +24 -0
  568. package/dist/solver-types/_swe-rebench-v2-substrate.js.map +1 -1
  569. package/dist/solver-types/_swe-rebench-v2-synthetic-claim.d.ts +9 -0
  570. package/dist/solver-types/_swe-rebench-v2-synthetic-claim.js +16 -0
  571. package/dist/solver-types/_swe-rebench-v2-synthetic-claim.js.map +1 -0
  572. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +144 -1
  573. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +292 -14
  574. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  575. package/dist/solver-types/_swe-rebench-v2-verifier-facts.d.ts +93 -0
  576. package/dist/solver-types/_swe-rebench-v2-verifier-facts.js +583 -0
  577. package/dist/solver-types/_swe-rebench-v2-verifier-facts.js.map +1 -0
  578. package/dist/solver-types/_swe-rebench-v2-yield-report-data.d.ts +5 -0
  579. package/dist/solver-types/_swe-rebench-v2-yield-report-data.js +16 -0
  580. package/dist/solver-types/_swe-rebench-v2-yield-report-data.js.map +1 -0
  581. package/dist/solver-types/_swe-rebench-v2-yield.d.ts +51 -0
  582. package/dist/solver-types/_swe-rebench-v2-yield.js +53 -0
  583. package/dist/solver-types/_swe-rebench-v2-yield.js.map +1 -0
  584. package/dist/solver-types/index.js +2 -0
  585. package/dist/solver-types/index.js.map +1 -1
  586. package/dist/solver-types/jinn-repo-admit.d.ts +17 -0
  587. package/dist/solver-types/jinn-repo-admit.js +16 -0
  588. package/dist/solver-types/jinn-repo-admit.js.map +1 -0
  589. package/dist/solver-types/jinn-repo-auto.d.ts +60 -0
  590. package/dist/solver-types/jinn-repo-auto.js +163 -0
  591. package/dist/solver-types/jinn-repo-auto.js.map +1 -0
  592. package/dist/solver-types/jinn-repo-definition.d.ts +15 -0
  593. package/dist/solver-types/jinn-repo-definition.js +34 -0
  594. package/dist/solver-types/jinn-repo-definition.js.map +1 -0
  595. package/dist/solver-types/jinn-repo-extract.d.ts +16 -0
  596. package/dist/solver-types/jinn-repo-extract.js +33 -0
  597. package/dist/solver-types/jinn-repo-extract.js.map +1 -0
  598. package/dist/solver-types/jinn-repo-live-auto.d.ts +203 -0
  599. package/dist/solver-types/jinn-repo-live-auto.js +348 -0
  600. package/dist/solver-types/jinn-repo-live-auto.js.map +1 -0
  601. package/dist/solver-types/jinn-repo.d.ts +42 -0
  602. package/dist/solver-types/jinn-repo.js +42 -0
  603. package/dist/solver-types/jinn-repo.js.map +1 -0
  604. package/dist/solver-types/learner-loop-test.js +1 -1
  605. package/dist/solver-types/learner-loop-test.js.map +1 -1
  606. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v3.json +34 -0
  607. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v3.quality-screen.json +186 -0
  608. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v3.screening-report.json +488 -0
  609. package/dist/solver-types/swe-rebench-v2-auto.d.ts +13 -0
  610. package/dist/solver-types/swe-rebench-v2-auto.js +36 -1
  611. package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
  612. package/dist/solver-types/swe-rebench-v2.js +48 -11
  613. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  614. package/dist/solvernets/launched-record-dispatcher.d.ts +14 -0
  615. package/dist/solvernets/launched-record-dispatcher.js +28 -1
  616. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  617. package/dist/solvernets/store.d.ts +1 -1
  618. package/dist/solvernets/store.js +1 -1
  619. package/dist/solvernets/store.js.map +1 -1
  620. package/dist/spend/credential.d.ts +2 -2
  621. package/dist/spend/credential.js +9 -3
  622. package/dist/spend/credential.js.map +1 -1
  623. package/dist/spend/spend-cap.d.ts +10 -0
  624. package/dist/spend/spend-cap.js +13 -0
  625. package/dist/spend/spend-cap.js.map +1 -0
  626. package/dist/spend/usage.js +39 -3
  627. package/dist/spend/usage.js.map +1 -1
  628. package/dist/store/store.d.ts +59 -1
  629. package/dist/store/store.js +157 -6
  630. package/dist/store/store.js.map +1 -1
  631. package/dist/task-creator/environment/adapters.d.ts +139 -0
  632. package/dist/task-creator/environment/adapters.js +446 -0
  633. package/dist/task-creator/environment/adapters.js.map +1 -0
  634. package/dist/task-creator/environment/build.d.ts +5 -0
  635. package/dist/task-creator/environment/build.js +53 -0
  636. package/dist/task-creator/environment/build.js.map +1 -0
  637. package/dist/task-creator/environment/contracts.d.ts +1338 -0
  638. package/dist/task-creator/environment/contracts.js +207 -0
  639. package/dist/task-creator/environment/contracts.js.map +1 -0
  640. package/dist/task-creator/environment/github.d.ts +25 -0
  641. package/dist/task-creator/environment/github.js +67 -0
  642. package/dist/task-creator/environment/github.js.map +1 -0
  643. package/dist/task-creator/environment/interfaces.d.ts +60 -0
  644. package/dist/task-creator/environment/interfaces.js +3 -0
  645. package/dist/task-creator/environment/interfaces.js.map +1 -0
  646. package/dist/task-creator/environment/jinn-differential-policy.d.ts +22 -0
  647. package/dist/task-creator/environment/jinn-differential-policy.js +73 -0
  648. package/dist/task-creator/environment/jinn-differential-policy.js.map +1 -0
  649. package/dist/task-creator/environment/policy.d.ts +38 -0
  650. package/dist/task-creator/environment/policy.js +51 -0
  651. package/dist/task-creator/environment/policy.js.map +1 -0
  652. package/dist/task-creator/environment/publication.d.ts +39 -0
  653. package/dist/task-creator/environment/publication.js +139 -0
  654. package/dist/task-creator/environment/publication.js.map +1 -0
  655. package/dist/task-creator/environment/publish-cli.d.ts +427 -0
  656. package/dist/task-creator/environment/publish-cli.js +180 -0
  657. package/dist/task-creator/environment/publish-cli.js.map +1 -0
  658. package/dist/task-creator/environment/recipes.d.ts +19 -0
  659. package/dist/task-creator/environment/recipes.js +122 -0
  660. package/dist/task-creator/environment/recipes.js.map +1 -0
  661. package/dist/task-creator/environment/resolver.d.ts +53 -0
  662. package/dist/task-creator/environment/resolver.js +57 -0
  663. package/dist/task-creator/environment/resolver.js.map +1 -0
  664. package/dist/task-creator/proofs/differential-receipt-bound-proof.d.ts +27 -0
  665. package/dist/task-creator/proofs/differential-receipt-bound-proof.js +86 -0
  666. package/dist/task-creator/proofs/differential-receipt-bound-proof.js.map +1 -0
  667. package/dist/task-creator/proofs/ipfs-cid.d.ts +7 -0
  668. package/dist/task-creator/proofs/ipfs-cid.js +98 -0
  669. package/dist/task-creator/proofs/ipfs-cid.js.map +1 -0
  670. package/dist/task-creator/proofs/live-proof.d.ts +99 -0
  671. package/dist/task-creator/proofs/live-proof.js +419 -0
  672. package/dist/task-creator/proofs/live-proof.js.map +1 -0
  673. package/dist/task-creator/proofs/public-repo-fixtures.d.ts +53 -0
  674. package/dist/task-creator/proofs/public-repo-fixtures.js +93 -0
  675. package/dist/task-creator/proofs/public-repo-fixtures.js.map +1 -0
  676. package/dist/task-creator/proofs/vitest-json-fixture.d.ts +40 -0
  677. package/dist/task-creator/proofs/vitest-json-fixture.js +115 -0
  678. package/dist/task-creator/proofs/vitest-json-fixture.js.map +1 -0
  679. package/dist/trajectory/emit.d.ts +6 -0
  680. package/dist/trajectory/emit.js +9 -1
  681. package/dist/trajectory/emit.js.map +1 -1
  682. package/dist/trajectory/harness-bundle-schema.d.ts +3 -3
  683. package/dist/trajectory/harness-bundle-schema.js +1 -1
  684. package/dist/trajectory/harness-bundle-schema.js.map +1 -1
  685. package/dist/trajectory/hash-chain.d.ts +1 -18
  686. package/dist/trajectory/hash-chain.js +1 -22
  687. package/dist/trajectory/hash-chain.js.map +1 -1
  688. package/dist/trajectory/index.d.ts +2 -0
  689. package/dist/trajectory/index.js +2 -0
  690. package/dist/trajectory/index.js.map +1 -1
  691. package/dist/trajectory/processors/identity-scrub.js +22 -3
  692. package/dist/trajectory/processors/identity-scrub.js.map +1 -1
  693. package/dist/trajectory/schema.d.ts +1 -598
  694. package/dist/trajectory/schema.js +1 -102
  695. package/dist/trajectory/schema.js.map +1 -1
  696. package/dist/trajectory/scrub/build.d.ts +1 -0
  697. package/dist/trajectory/scrub/build.js +2 -0
  698. package/dist/trajectory/scrub/build.js.map +1 -0
  699. package/dist/trajectory/scrub/emit-scrub.d.ts +1 -0
  700. package/dist/trajectory/scrub/emit-scrub.js +2 -0
  701. package/dist/trajectory/scrub/emit-scrub.js.map +1 -0
  702. package/dist/trajectory/scrub/key-policy.d.ts +1 -0
  703. package/dist/trajectory/scrub/key-policy.js +2 -0
  704. package/dist/trajectory/scrub/key-policy.js.map +1 -0
  705. package/dist/trajectory/scrub/layer2.d.ts +1 -0
  706. package/dist/trajectory/scrub/layer2.js +2 -0
  707. package/dist/trajectory/scrub/layer2.js.map +1 -0
  708. package/dist/trajectory/scrub/ml-pii-stage.d.ts +1 -0
  709. package/dist/trajectory/scrub/ml-pii-stage.js +2 -0
  710. package/dist/trajectory/scrub/ml-pii-stage.js.map +1 -0
  711. package/dist/trajectory/scrub/openredaction-stage.d.ts +1 -0
  712. package/dist/trajectory/scrub/openredaction-stage.js +2 -0
  713. package/dist/trajectory/scrub/openredaction-stage.js.map +1 -0
  714. package/dist/trajectory/scrub/pii-build.d.ts +1 -0
  715. package/dist/trajectory/scrub/pii-build.js +2 -0
  716. package/dist/trajectory/scrub/pii-build.js.map +1 -0
  717. package/dist/trajectory/scrub/pipeline.d.ts +1 -0
  718. package/dist/trajectory/scrub/pipeline.js +2 -0
  719. package/dist/trajectory/scrub/pipeline.js.map +1 -0
  720. package/dist/trajectory/scrub/plain-patterns-stage.d.ts +1 -0
  721. package/dist/trajectory/scrub/plain-patterns-stage.js +2 -0
  722. package/dist/trajectory/scrub/plain-patterns-stage.js.map +1 -0
  723. package/dist/trajectory/scrub/secretlint-stage.d.ts +1 -0
  724. package/dist/trajectory/scrub/secretlint-stage.js +2 -0
  725. package/dist/trajectory/scrub/secretlint-stage.js.map +1 -0
  726. package/dist/trajectory/scrub/transformers-detector.d.ts +1 -0
  727. package/dist/trajectory/scrub/transformers-detector.js +2 -0
  728. package/dist/trajectory/scrub/transformers-detector.js.map +1 -0
  729. package/dist/trajectory/scrub/types.d.ts +1 -0
  730. package/dist/trajectory/scrub/types.js +2 -0
  731. package/dist/trajectory/scrub/types.js.map +1 -0
  732. package/dist/trajectory/secret-scrub.d.ts +4 -6
  733. package/dist/trajectory/secret-scrub.js +52 -12
  734. package/dist/trajectory/secret-scrub.js.map +1 -1
  735. package/dist/trajectory/span-profile.js +14 -0
  736. package/dist/trajectory/span-profile.js.map +1 -1
  737. package/dist/trajectory/transcript-parsers/aider-history.d.ts +1 -42
  738. package/dist/trajectory/transcript-parsers/aider-history.js +1 -181
  739. package/dist/trajectory/transcript-parsers/aider-history.js.map +1 -1
  740. package/dist/trajectory/transcript-parsers/claude-code-jsonl.d.ts +1 -37
  741. package/dist/trajectory/transcript-parsers/claude-code-jsonl.js +1 -142
  742. package/dist/trajectory/transcript-parsers/claude-code-jsonl.js.map +1 -1
  743. package/dist/trajectory/transcript-parsers/codex-session.d.ts +1 -42
  744. package/dist/trajectory/transcript-parsers/codex-session.js +1 -235
  745. package/dist/trajectory/transcript-parsers/codex-session.js.map +1 -1
  746. package/dist/trajectory/transcript-parsers/continue-devdata.d.ts +1 -41
  747. package/dist/trajectory/transcript-parsers/continue-devdata.js +1 -190
  748. package/dist/trajectory/transcript-parsers/continue-devdata.js.map +1 -1
  749. package/dist/trajectory/transcript-parsers/cursor-sqlite.d.ts +1 -38
  750. package/dist/trajectory/transcript-parsers/cursor-sqlite.js +1 -118
  751. package/dist/trajectory/transcript-parsers/cursor-sqlite.js.map +1 -1
  752. package/dist/trajectory/transcript-parsers/gemini-session.d.ts +1 -35
  753. package/dist/trajectory/transcript-parsers/gemini-session.js +1 -137
  754. package/dist/trajectory/transcript-parsers/gemini-session.js.map +1 -1
  755. package/dist/trajectory/transcript-parsers/types.d.ts +1 -101
  756. package/dist/trajectory/transcript-parsers/types.js +1 -32
  757. package/dist/trajectory/transcript-parsers/types.js.map +1 -1
  758. package/dist/trajectory/transcript-to-spans/attrs.d.ts +1 -0
  759. package/dist/trajectory/transcript-to-spans/attrs.js +2 -0
  760. package/dist/trajectory/transcript-to-spans/attrs.js.map +1 -0
  761. package/dist/trajectory/transcript-to-spans/claude-code-stream-json.d.ts +1 -0
  762. package/dist/trajectory/transcript-to-spans/claude-code-stream-json.js +2 -0
  763. package/dist/trajectory/transcript-to-spans/claude-code-stream-json.js.map +1 -0
  764. package/dist/trajectory/transcript-to-spans/codex-exec-json.d.ts +1 -0
  765. package/dist/trajectory/transcript-to-spans/codex-exec-json.js +2 -0
  766. package/dist/trajectory/transcript-to-spans/codex-exec-json.js.map +1 -0
  767. package/dist/trajectory/transcript-to-spans/hermes-session-json.d.ts +48 -0
  768. package/dist/trajectory/transcript-to-spans/hermes-session-json.js +193 -0
  769. package/dist/trajectory/transcript-to-spans/hermes-session-json.js.map +1 -0
  770. package/dist/trajectory/transcript-to-spans/index.d.ts +38 -0
  771. package/dist/trajectory/transcript-to-spans/index.js +77 -0
  772. package/dist/trajectory/transcript-to-spans/index.js.map +1 -0
  773. package/dist/trajectory/transcript-to-spans/types.d.ts +16 -0
  774. package/dist/trajectory/transcript-to-spans/types.js +11 -0
  775. package/dist/trajectory/transcript-to-spans/types.js.map +1 -0
  776. package/dist/trajectory/transcript-watcher.d.ts +41 -0
  777. package/dist/trajectory/transcript-watcher.js +34 -0
  778. package/dist/trajectory/transcript-watcher.js.map +1 -1
  779. package/dist/tx-retry.d.ts +18 -0
  780. package/dist/tx-retry.js +52 -12
  781. package/dist/tx-retry.js.map +1 -1
  782. package/dist/types/envelope.d.ts +3 -2785
  783. package/dist/types/envelope.js +3 -160
  784. package/dist/types/envelope.js.map +1 -1
  785. package/dist/types/manifest.d.ts +1 -0
  786. package/dist/types/manifest.js +2 -0
  787. package/dist/types/manifest.js.map +1 -0
  788. package/dist/types/payloads/index.d.ts +1 -1
  789. package/dist/types/payloads/index.js +7 -1
  790. package/dist/types/payloads/index.js.map +1 -1
  791. package/dist/types/payloads/portfolio-v0.d.ts +4 -4
  792. package/dist/types/payloads/portfolio-v0.js +1 -1
  793. package/dist/types/payloads/portfolio-v0.js.map +1 -1
  794. package/dist/types/payloads/prediction-apy-v0.d.ts +4 -4
  795. package/dist/types/payloads/prediction-apy-v0.js +1 -1
  796. package/dist/types/payloads/prediction-apy-v0.js.map +1 -1
  797. package/dist/types/payloads/prediction-v0.d.ts +4 -4
  798. package/dist/types/payloads/prediction-v0.js +1 -1
  799. package/dist/types/payloads/prediction-v0.js.map +1 -1
  800. package/dist/types/portfolio.d.ts +1 -1
  801. package/dist/types/portfolio.js +1 -1
  802. package/dist/types/portfolio.js.map +1 -1
  803. package/dist/types/prediction-apy.d.ts +1 -1
  804. package/dist/types/prediction-apy.js +1 -1
  805. package/dist/types/prediction-apy.js.map +1 -1
  806. package/dist/types/prediction.d.ts +1 -1
  807. package/dist/types/prediction.js +1 -1
  808. package/dist/types/prediction.js.map +1 -1
  809. package/dist/types/session-provenance.d.ts +2 -71
  810. package/dist/types/session-provenance.js +2 -18
  811. package/dist/types/session-provenance.js.map +1 -1
  812. package/dist/types/skill-artifact.d.ts +5 -0
  813. package/dist/types/skill-artifact.js +6 -0
  814. package/dist/types/skill-artifact.js.map +1 -0
  815. package/dist/types/task-document.d.ts +315 -1
  816. package/dist/types/task-document.js +9 -1
  817. package/dist/types/task-document.js.map +1 -1
  818. package/dist/types/task-run-read-model.d.ts +21 -0
  819. package/dist/types/task-run-read-model.js +2 -0
  820. package/dist/types/task-run-read-model.js.map +1 -0
  821. package/dist/types/task-run.d.ts +88 -0
  822. package/dist/types/task-run.js +2 -0
  823. package/dist/types/task-run.js.map +1 -0
  824. package/dist/types/task.d.ts +36 -1
  825. package/dist/types/task.js +1 -1
  826. package/dist/types/task.js.map +1 -1
  827. package/dist/types/window.d.ts +2 -12
  828. package/dist/types/window.js +2 -5
  829. package/dist/types/window.js.map +1 -1
  830. package/dist/util/redact-rpc-urls.d.ts +1 -1
  831. package/dist/util/redact-rpc-urls.js +57 -2
  832. package/dist/util/redact-rpc-urls.js.map +1 -1
  833. package/dist/vendor/@jinn-network/core/dist/canonical-json.d.ts +1 -0
  834. package/dist/vendor/@jinn-network/core/dist/canonical-json.js +67 -0
  835. package/dist/vendor/@jinn-network/core/dist/captured-task.d.ts +140 -0
  836. package/dist/vendor/@jinn-network/core/dist/captured-task.js +122 -0
  837. package/dist/vendor/@jinn-network/core/dist/contribution-store.d.ts +97 -0
  838. package/dist/vendor/@jinn-network/core/dist/contribution-store.js +770 -0
  839. package/dist/vendor/@jinn-network/core/dist/corpus-read/acquire.d.ts +39 -0
  840. package/dist/vendor/@jinn-network/core/dist/corpus-read/acquire.js +212 -0
  841. package/dist/vendor/@jinn-network/core/dist/corpus-read/cache.d.ts +14 -0
  842. package/dist/vendor/@jinn-network/core/dist/corpus-read/cache.js +17 -0
  843. package/dist/vendor/@jinn-network/core/dist/corpus-read/capture-meta.d.ts +16 -0
  844. package/dist/vendor/@jinn-network/core/dist/corpus-read/capture-meta.js +18 -0
  845. package/dist/vendor/@jinn-network/core/dist/corpus-read/create-corpus.d.ts +2 -0
  846. package/dist/vendor/@jinn-network/core/dist/corpus-read/create-corpus.js +97 -0
  847. package/dist/vendor/@jinn-network/core/dist/corpus-read/fetch-artifact.d.ts +21 -0
  848. package/dist/vendor/@jinn-network/core/dist/corpus-read/fetch-artifact.js +32 -0
  849. package/dist/vendor/@jinn-network/core/dist/corpus-read/fetch.d.ts +12 -0
  850. package/dist/vendor/@jinn-network/core/dist/corpus-read/fetch.js +24 -0
  851. package/dist/vendor/@jinn-network/core/dist/corpus-read/http-discovery.d.ts +9 -0
  852. package/dist/vendor/@jinn-network/core/dist/corpus-read/http-discovery.js +128 -0
  853. package/dist/vendor/@jinn-network/core/dist/corpus-read/index.d.ts +10 -0
  854. package/dist/vendor/@jinn-network/core/dist/corpus-read/index.js +10 -0
  855. package/dist/vendor/@jinn-network/core/dist/corpus-read/ipfs.d.ts +5 -0
  856. package/dist/vendor/@jinn-network/core/dist/corpus-read/ipfs.js +72 -0
  857. package/dist/vendor/@jinn-network/core/dist/corpus-read/route-resolver.d.ts +16 -0
  858. package/dist/vendor/@jinn-network/core/dist/corpus-read/route-resolver.js +19 -0
  859. package/dist/vendor/@jinn-network/core/dist/corpus-read/types.d.ts +177 -0
  860. package/dist/vendor/@jinn-network/core/dist/corpus-read/types.js +42 -0
  861. package/dist/vendor/@jinn-network/core/dist/envelope.d.ts +134 -0
  862. package/dist/vendor/@jinn-network/core/dist/envelope.js +162 -0
  863. package/dist/vendor/@jinn-network/core/dist/evidence-adapter.d.ts +26 -0
  864. package/dist/vendor/@jinn-network/core/dist/evidence-adapter.js +321 -0
  865. package/dist/vendor/@jinn-network/core/dist/evidence-filesystem.d.ts +40 -0
  866. package/dist/vendor/@jinn-network/core/dist/evidence-filesystem.js +267 -0
  867. package/dist/vendor/@jinn-network/core/dist/evidence-index.d.ts +117 -0
  868. package/dist/vendor/@jinn-network/core/dist/evidence-index.js +1083 -0
  869. package/dist/vendor/@jinn-network/core/dist/evidence-store-lock.d.ts +2 -0
  870. package/dist/vendor/@jinn-network/core/dist/evidence-store-lock.js +208 -0
  871. package/dist/vendor/@jinn-network/core/dist/execution-envelope.d.ts +3142 -0
  872. package/dist/vendor/@jinn-network/core/dist/execution-envelope.js +203 -0
  873. package/dist/vendor/@jinn-network/core/dist/index.d.ts +12 -0
  874. package/dist/vendor/@jinn-network/core/dist/index.js +12 -0
  875. package/dist/vendor/@jinn-network/core/dist/manifest.d.ts +75 -0
  876. package/dist/vendor/@jinn-network/core/dist/manifest.js +184 -0
  877. package/dist/vendor/@jinn-network/core/dist/paired.d.ts +68 -0
  878. package/dist/vendor/@jinn-network/core/dist/paired.js +92 -0
  879. package/dist/vendor/@jinn-network/core/dist/scrub/build.d.ts +55 -0
  880. package/dist/vendor/@jinn-network/core/dist/scrub/build.js +87 -0
  881. package/dist/vendor/@jinn-network/core/dist/scrub/emit-scrub.d.ts +41 -0
  882. package/dist/vendor/@jinn-network/core/dist/scrub/emit-scrub.js +87 -0
  883. package/dist/vendor/@jinn-network/core/dist/scrub/index.d.ts +12 -0
  884. package/dist/vendor/@jinn-network/core/dist/scrub/index.js +12 -0
  885. package/dist/vendor/@jinn-network/core/dist/scrub/key-policy.d.ts +20 -0
  886. package/dist/vendor/@jinn-network/core/dist/scrub/key-policy.js +42 -0
  887. package/dist/vendor/@jinn-network/core/dist/scrub/layer2.d.ts +24 -0
  888. package/dist/vendor/@jinn-network/core/dist/scrub/layer2.js +33 -0
  889. package/dist/vendor/@jinn-network/core/dist/scrub/ml-pii-stage.d.ts +24 -0
  890. package/dist/vendor/@jinn-network/core/dist/scrub/ml-pii-stage.js +42 -0
  891. package/dist/vendor/@jinn-network/core/dist/scrub/openredaction-stage.d.ts +196 -0
  892. package/dist/vendor/@jinn-network/core/dist/scrub/openredaction-stage.js +270 -0
  893. package/dist/vendor/@jinn-network/core/dist/scrub/pii-build.d.ts +38 -0
  894. package/dist/vendor/@jinn-network/core/dist/scrub/pii-build.js +67 -0
  895. package/dist/vendor/@jinn-network/core/dist/scrub/pipeline.d.ts +38 -0
  896. package/dist/vendor/@jinn-network/core/dist/scrub/pipeline.js +83 -0
  897. package/dist/vendor/@jinn-network/core/dist/scrub/plain-patterns-stage.d.ts +42 -0
  898. package/dist/vendor/@jinn-network/core/dist/scrub/plain-patterns-stage.js +114 -0
  899. package/dist/vendor/@jinn-network/core/dist/scrub/secretlint-stage.d.ts +36 -0
  900. package/dist/vendor/@jinn-network/core/dist/scrub/secretlint-stage.js +249 -0
  901. package/dist/vendor/@jinn-network/core/dist/scrub/transformers-detector.d.ts +35 -0
  902. package/dist/vendor/@jinn-network/core/dist/scrub/transformers-detector.js +67 -0
  903. package/dist/vendor/@jinn-network/core/dist/scrub/types.d.ts +25 -0
  904. package/dist/vendor/@jinn-network/core/dist/scrub/types.js +1 -0
  905. package/dist/vendor/@jinn-network/core/dist/session-provenance.d.ts +75 -0
  906. package/dist/vendor/@jinn-network/core/dist/session-provenance.js +20 -0
  907. package/dist/vendor/@jinn-network/core/dist/skill-artifact.d.ts +442 -0
  908. package/dist/vendor/@jinn-network/core/dist/skill-artifact.js +136 -0
  909. package/dist/vendor/@jinn-network/core/dist/trajectory/hash-chain.d.ts +18 -0
  910. package/dist/vendor/@jinn-network/core/dist/trajectory/hash-chain.js +47 -0
  911. package/dist/vendor/@jinn-network/core/dist/trajectory/index.d.ts +4 -0
  912. package/dist/vendor/@jinn-network/core/dist/trajectory/index.js +4 -0
  913. package/dist/vendor/@jinn-network/core/dist/trajectory/schema.d.ts +606 -0
  914. package/dist/vendor/@jinn-network/core/dist/trajectory/schema.js +110 -0
  915. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/aider-history.d.ts +42 -0
  916. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/aider-history.js +181 -0
  917. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/claude-code-jsonl.d.ts +37 -0
  918. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/claude-code-jsonl.js +142 -0
  919. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/codex-session.d.ts +42 -0
  920. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/codex-session.js +235 -0
  921. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/continue-devdata.d.ts +41 -0
  922. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/continue-devdata.js +190 -0
  923. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/cursor-sqlite.d.ts +38 -0
  924. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/cursor-sqlite.js +118 -0
  925. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/gemini-session.d.ts +35 -0
  926. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/gemini-session.js +137 -0
  927. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/index.d.ts +7 -0
  928. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/index.js +7 -0
  929. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/types.d.ts +101 -0
  930. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-parsers/types.js +32 -0
  931. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/attrs.d.ts +4 -0
  932. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/attrs.js +30 -0
  933. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/claude-code-stream-json.d.ts +8 -0
  934. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/claude-code-stream-json.js +162 -0
  935. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/codex-exec-json.d.ts +8 -0
  936. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/codex-exec-json.js +253 -0
  937. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/index.d.ts +4 -0
  938. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/index.js +4 -0
  939. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/types.d.ts +18 -0
  940. package/dist/vendor/@jinn-network/core/dist/trajectory/transcript-to-spans/types.js +1 -0
  941. package/dist/vendor/@jinn-network/core/dist/window.d.ts +12 -0
  942. package/dist/vendor/@jinn-network/core/dist/window.js +5 -0
  943. package/dist/vendor/@jinn-network/core/package.json +38 -0
  944. package/dist/vendor/@jinn-network/plugin/dist/eligibility.d.ts +12 -0
  945. package/dist/vendor/@jinn-network/plugin/dist/eligibility.js +12 -0
  946. package/dist/vendor/@jinn-network/plugin/dist/history.d.ts +35 -0
  947. package/dist/vendor/@jinn-network/plugin/dist/history.js +140 -0
  948. package/dist/vendor/@jinn-network/plugin/dist/index.d.ts +32 -0
  949. package/dist/vendor/@jinn-network/plugin/dist/index.js +15 -0
  950. package/dist/vendor/@jinn-network/plugin/dist/outcome.d.ts +26 -0
  951. package/dist/vendor/@jinn-network/plugin/dist/outcome.js +23 -0
  952. package/dist/vendor/@jinn-network/plugin/dist/pickup.d.ts +101 -0
  953. package/dist/vendor/@jinn-network/plugin/dist/pickup.js +354 -0
  954. package/dist/vendor/@jinn-network/plugin/dist/plugin.d.ts +157 -0
  955. package/dist/vendor/@jinn-network/plugin/dist/plugin.js +586 -0
  956. package/dist/vendor/@jinn-network/plugin/dist/ports/contribution-port.d.ts +53 -0
  957. package/dist/vendor/@jinn-network/plugin/dist/ports/contribution-port.js +14 -0
  958. package/dist/vendor/@jinn-network/plugin/dist/ports/corpus-port.d.ts +63 -0
  959. package/dist/vendor/@jinn-network/plugin/dist/ports/corpus-port.js +1 -0
  960. package/dist/vendor/@jinn-network/plugin/dist/ports/evidence-port.d.ts +17 -0
  961. package/dist/vendor/@jinn-network/plugin/dist/ports/evidence-port.js +1 -0
  962. package/dist/vendor/@jinn-network/plugin/dist/ports/local-learning-port.d.ts +22 -0
  963. package/dist/vendor/@jinn-network/plugin/dist/ports/local-learning-port.js +1 -0
  964. package/dist/vendor/@jinn-network/plugin/dist/ports/skills-port.d.ts +12 -0
  965. package/dist/vendor/@jinn-network/plugin/dist/ports/skills-port.js +1 -0
  966. package/dist/vendor/@jinn-network/plugin/dist/schemas/contribution-candidate.d.ts +116 -0
  967. package/dist/vendor/@jinn-network/plugin/dist/schemas/contribution-candidate.js +63 -0
  968. package/dist/vendor/@jinn-network/plugin/dist/schemas/eligibility-verdict.d.ts +8 -0
  969. package/dist/vendor/@jinn-network/plugin/dist/schemas/eligibility-verdict.js +7 -0
  970. package/dist/vendor/@jinn-network/plugin/dist/schemas/episode.d.ts +432 -0
  971. package/dist/vendor/@jinn-network/plugin/dist/schemas/episode.js +452 -0
  972. package/dist/vendor/@jinn-network/plugin/dist/schemas/history-entry.d.ts +40 -0
  973. package/dist/vendor/@jinn-network/plugin/dist/schemas/history-entry.js +30 -0
  974. package/dist/vendor/@jinn-network/plugin/dist/schemas/knowledge-hit.d.ts +27 -0
  975. package/dist/vendor/@jinn-network/plugin/dist/schemas/knowledge-hit.js +23 -0
  976. package/dist/vendor/@jinn-network/plugin/dist/schemas/knowledge-packet.d.ts +79 -0
  977. package/dist/vendor/@jinn-network/plugin/dist/schemas/knowledge-packet.js +213 -0
  978. package/dist/vendor/@jinn-network/plugin/dist/schemas/pickup-config.d.ts +20 -0
  979. package/dist/vendor/@jinn-network/plugin/dist/schemas/pickup-config.js +34 -0
  980. package/dist/vendor/@jinn-network/plugin/dist/schemas/session-summary.d.ts +17 -0
  981. package/dist/vendor/@jinn-network/plugin/dist/schemas/session-summary.js +19 -0
  982. package/dist/vendor/@jinn-network/plugin/dist/testing/contract-kits.d.ts +12 -0
  983. package/dist/vendor/@jinn-network/plugin/dist/testing/contract-kits.js +201 -0
  984. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-contribution.d.ts +93 -0
  985. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-contribution.js +104 -0
  986. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-corpus.d.ts +47 -0
  987. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-corpus.js +54 -0
  988. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-evidence.d.ts +335 -0
  989. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-evidence.js +23 -0
  990. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-local-learning.d.ts +25 -0
  991. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-local-learning.js +30 -0
  992. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-skills.d.ts +9 -0
  993. package/dist/vendor/@jinn-network/plugin/dist/testing/in-memory-skills.js +16 -0
  994. package/dist/vendor/@jinn-network/plugin/dist/testing.d.ts +6 -0
  995. package/dist/vendor/@jinn-network/plugin/dist/testing.js +8 -0
  996. package/dist/vendor/@jinn-network/plugin/dist/visibility.d.ts +7 -0
  997. package/dist/vendor/@jinn-network/plugin/dist/visibility.js +9 -0
  998. package/dist/vendor/@jinn-network/plugin/package.json +22 -0
  999. package/dist/vendor/@jinn-network/sdk/dist/checkpoint.d.ts +1 -1
  1000. package/dist/vendor/@jinn-network/sdk/dist/checkpoint.js +1 -1
  1001. package/dist/vendor/@jinn-network/sdk/dist/contracts.d.ts +3 -2
  1002. package/dist/vendor/@jinn-network/sdk/dist/contracts.js +49 -0
  1003. package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.d.ts +214 -0
  1004. package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.js +75 -0
  1005. package/dist/vendor/@jinn-network/sdk/dist/json-schema.d.ts +1 -1
  1006. package/dist/vendor/@jinn-network/sdk/dist/json-schema.js +1 -1
  1007. package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.d.ts +140 -0
  1008. package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.js +52 -0
  1009. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.d.ts +1 -1
  1010. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.js +1 -1
  1011. package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.d.ts +1 -1
  1012. package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.js +1 -1
  1013. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.d.ts +1 -1
  1014. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.js +1 -1
  1015. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.d.ts +1 -1
  1016. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.js +1 -1
  1017. package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.d.ts +4 -0
  1018. package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.js +2 -0
  1019. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +1 -1
  1020. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -1
  1021. package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.d.ts +34 -6
  1022. package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.js +28 -5
  1023. package/dist/vendor/@jinn-network/sdk/package.json +5 -1
  1024. package/node_modules/@jinn-network/core/dist/canonical-json.d.ts +1 -0
  1025. package/node_modules/@jinn-network/core/dist/canonical-json.js +67 -0
  1026. package/node_modules/@jinn-network/core/dist/captured-task.d.ts +140 -0
  1027. package/node_modules/@jinn-network/core/dist/captured-task.js +122 -0
  1028. package/node_modules/@jinn-network/core/dist/contribution-store.d.ts +97 -0
  1029. package/node_modules/@jinn-network/core/dist/contribution-store.js +770 -0
  1030. package/node_modules/@jinn-network/core/dist/corpus-read/acquire.d.ts +39 -0
  1031. package/node_modules/@jinn-network/core/dist/corpus-read/acquire.js +212 -0
  1032. package/node_modules/@jinn-network/core/dist/corpus-read/cache.d.ts +14 -0
  1033. package/node_modules/@jinn-network/core/dist/corpus-read/cache.js +17 -0
  1034. package/node_modules/@jinn-network/core/dist/corpus-read/capture-meta.d.ts +16 -0
  1035. package/node_modules/@jinn-network/core/dist/corpus-read/capture-meta.js +18 -0
  1036. package/node_modules/@jinn-network/core/dist/corpus-read/create-corpus.d.ts +2 -0
  1037. package/node_modules/@jinn-network/core/dist/corpus-read/create-corpus.js +97 -0
  1038. package/node_modules/@jinn-network/core/dist/corpus-read/fetch-artifact.d.ts +21 -0
  1039. package/node_modules/@jinn-network/core/dist/corpus-read/fetch-artifact.js +32 -0
  1040. package/node_modules/@jinn-network/core/dist/corpus-read/fetch.d.ts +12 -0
  1041. package/node_modules/@jinn-network/core/dist/corpus-read/fetch.js +24 -0
  1042. package/node_modules/@jinn-network/core/dist/corpus-read/http-discovery.d.ts +9 -0
  1043. package/node_modules/@jinn-network/core/dist/corpus-read/http-discovery.js +128 -0
  1044. package/node_modules/@jinn-network/core/dist/corpus-read/index.d.ts +10 -0
  1045. package/node_modules/@jinn-network/core/dist/corpus-read/index.js +10 -0
  1046. package/node_modules/@jinn-network/core/dist/corpus-read/ipfs.d.ts +5 -0
  1047. package/node_modules/@jinn-network/core/dist/corpus-read/ipfs.js +72 -0
  1048. package/node_modules/@jinn-network/core/dist/corpus-read/route-resolver.d.ts +16 -0
  1049. package/node_modules/@jinn-network/core/dist/corpus-read/route-resolver.js +19 -0
  1050. package/node_modules/@jinn-network/core/dist/corpus-read/types.d.ts +177 -0
  1051. package/node_modules/@jinn-network/core/dist/corpus-read/types.js +42 -0
  1052. package/node_modules/@jinn-network/core/dist/envelope.d.ts +134 -0
  1053. package/node_modules/@jinn-network/core/dist/envelope.js +162 -0
  1054. package/node_modules/@jinn-network/core/dist/evidence-adapter.d.ts +26 -0
  1055. package/node_modules/@jinn-network/core/dist/evidence-adapter.js +321 -0
  1056. package/node_modules/@jinn-network/core/dist/evidence-filesystem.d.ts +40 -0
  1057. package/node_modules/@jinn-network/core/dist/evidence-filesystem.js +267 -0
  1058. package/node_modules/@jinn-network/core/dist/evidence-index.d.ts +117 -0
  1059. package/node_modules/@jinn-network/core/dist/evidence-index.js +1083 -0
  1060. package/node_modules/@jinn-network/core/dist/evidence-store-lock.d.ts +2 -0
  1061. package/node_modules/@jinn-network/core/dist/evidence-store-lock.js +208 -0
  1062. package/node_modules/@jinn-network/core/dist/execution-envelope.d.ts +3142 -0
  1063. package/node_modules/@jinn-network/core/dist/execution-envelope.js +203 -0
  1064. package/node_modules/@jinn-network/core/dist/index.d.ts +12 -0
  1065. package/node_modules/@jinn-network/core/dist/index.js +12 -0
  1066. package/node_modules/@jinn-network/core/dist/manifest.d.ts +75 -0
  1067. package/node_modules/@jinn-network/core/dist/manifest.js +184 -0
  1068. package/node_modules/@jinn-network/core/dist/paired.d.ts +68 -0
  1069. package/node_modules/@jinn-network/core/dist/paired.js +92 -0
  1070. package/node_modules/@jinn-network/core/dist/scrub/build.d.ts +55 -0
  1071. package/node_modules/@jinn-network/core/dist/scrub/build.js +87 -0
  1072. package/node_modules/@jinn-network/core/dist/scrub/emit-scrub.d.ts +41 -0
  1073. package/node_modules/@jinn-network/core/dist/scrub/emit-scrub.js +87 -0
  1074. package/node_modules/@jinn-network/core/dist/scrub/index.d.ts +12 -0
  1075. package/node_modules/@jinn-network/core/dist/scrub/index.js +12 -0
  1076. package/node_modules/@jinn-network/core/dist/scrub/key-policy.d.ts +20 -0
  1077. package/node_modules/@jinn-network/core/dist/scrub/key-policy.js +42 -0
  1078. package/node_modules/@jinn-network/core/dist/scrub/layer2.d.ts +24 -0
  1079. package/node_modules/@jinn-network/core/dist/scrub/layer2.js +33 -0
  1080. package/node_modules/@jinn-network/core/dist/scrub/ml-pii-stage.d.ts +24 -0
  1081. package/node_modules/@jinn-network/core/dist/scrub/ml-pii-stage.js +42 -0
  1082. package/node_modules/@jinn-network/core/dist/scrub/openredaction-stage.d.ts +196 -0
  1083. package/node_modules/@jinn-network/core/dist/scrub/openredaction-stage.js +270 -0
  1084. package/node_modules/@jinn-network/core/dist/scrub/pii-build.d.ts +38 -0
  1085. package/node_modules/@jinn-network/core/dist/scrub/pii-build.js +67 -0
  1086. package/node_modules/@jinn-network/core/dist/scrub/pipeline.d.ts +38 -0
  1087. package/node_modules/@jinn-network/core/dist/scrub/pipeline.js +83 -0
  1088. package/node_modules/@jinn-network/core/dist/scrub/plain-patterns-stage.d.ts +42 -0
  1089. package/node_modules/@jinn-network/core/dist/scrub/plain-patterns-stage.js +114 -0
  1090. package/node_modules/@jinn-network/core/dist/scrub/secretlint-stage.d.ts +36 -0
  1091. package/node_modules/@jinn-network/core/dist/scrub/secretlint-stage.js +249 -0
  1092. package/node_modules/@jinn-network/core/dist/scrub/transformers-detector.d.ts +35 -0
  1093. package/node_modules/@jinn-network/core/dist/scrub/transformers-detector.js +67 -0
  1094. package/node_modules/@jinn-network/core/dist/scrub/types.d.ts +25 -0
  1095. package/node_modules/@jinn-network/core/dist/scrub/types.js +1 -0
  1096. package/node_modules/@jinn-network/core/dist/session-provenance.d.ts +75 -0
  1097. package/node_modules/@jinn-network/core/dist/session-provenance.js +20 -0
  1098. package/node_modules/@jinn-network/core/dist/skill-artifact.d.ts +442 -0
  1099. package/node_modules/@jinn-network/core/dist/skill-artifact.js +136 -0
  1100. package/node_modules/@jinn-network/core/dist/trajectory/hash-chain.d.ts +18 -0
  1101. package/node_modules/@jinn-network/core/dist/trajectory/hash-chain.js +47 -0
  1102. package/node_modules/@jinn-network/core/dist/trajectory/index.d.ts +4 -0
  1103. package/node_modules/@jinn-network/core/dist/trajectory/index.js +4 -0
  1104. package/node_modules/@jinn-network/core/dist/trajectory/schema.d.ts +606 -0
  1105. package/node_modules/@jinn-network/core/dist/trajectory/schema.js +110 -0
  1106. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/aider-history.d.ts +42 -0
  1107. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/aider-history.js +181 -0
  1108. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/claude-code-jsonl.d.ts +37 -0
  1109. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/claude-code-jsonl.js +142 -0
  1110. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/codex-session.d.ts +42 -0
  1111. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/codex-session.js +235 -0
  1112. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/continue-devdata.d.ts +41 -0
  1113. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/continue-devdata.js +190 -0
  1114. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/cursor-sqlite.d.ts +38 -0
  1115. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/cursor-sqlite.js +118 -0
  1116. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/gemini-session.d.ts +35 -0
  1117. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/gemini-session.js +137 -0
  1118. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/index.d.ts +7 -0
  1119. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/index.js +7 -0
  1120. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/types.d.ts +101 -0
  1121. package/node_modules/@jinn-network/core/dist/trajectory/transcript-parsers/types.js +32 -0
  1122. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/attrs.d.ts +4 -0
  1123. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/attrs.js +30 -0
  1124. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/claude-code-stream-json.d.ts +8 -0
  1125. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/claude-code-stream-json.js +162 -0
  1126. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/codex-exec-json.d.ts +8 -0
  1127. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/codex-exec-json.js +253 -0
  1128. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/index.d.ts +4 -0
  1129. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/index.js +4 -0
  1130. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/types.d.ts +18 -0
  1131. package/node_modules/@jinn-network/core/dist/trajectory/transcript-to-spans/types.js +1 -0
  1132. package/node_modules/@jinn-network/core/dist/window.d.ts +12 -0
  1133. package/node_modules/@jinn-network/core/dist/window.js +5 -0
  1134. package/node_modules/@jinn-network/core/package.json +61 -0
  1135. package/node_modules/@jinn-network/plugin/dist/eligibility.d.ts +12 -0
  1136. package/node_modules/@jinn-network/plugin/dist/eligibility.js +12 -0
  1137. package/node_modules/@jinn-network/plugin/dist/history.d.ts +35 -0
  1138. package/node_modules/@jinn-network/plugin/dist/history.js +140 -0
  1139. package/node_modules/@jinn-network/plugin/dist/index.d.ts +32 -0
  1140. package/node_modules/@jinn-network/plugin/dist/index.js +15 -0
  1141. package/node_modules/@jinn-network/plugin/dist/outcome.d.ts +26 -0
  1142. package/node_modules/@jinn-network/plugin/dist/outcome.js +23 -0
  1143. package/node_modules/@jinn-network/plugin/dist/pickup.d.ts +101 -0
  1144. package/node_modules/@jinn-network/plugin/dist/pickup.js +354 -0
  1145. package/node_modules/@jinn-network/plugin/dist/plugin.d.ts +157 -0
  1146. package/node_modules/@jinn-network/plugin/dist/plugin.js +586 -0
  1147. package/node_modules/@jinn-network/plugin/dist/ports/contribution-port.d.ts +53 -0
  1148. package/node_modules/@jinn-network/plugin/dist/ports/contribution-port.js +14 -0
  1149. package/node_modules/@jinn-network/plugin/dist/ports/corpus-port.d.ts +63 -0
  1150. package/node_modules/@jinn-network/plugin/dist/ports/corpus-port.js +1 -0
  1151. package/node_modules/@jinn-network/plugin/dist/ports/evidence-port.d.ts +17 -0
  1152. package/node_modules/@jinn-network/plugin/dist/ports/evidence-port.js +1 -0
  1153. package/node_modules/@jinn-network/plugin/dist/ports/local-learning-port.d.ts +22 -0
  1154. package/node_modules/@jinn-network/plugin/dist/ports/local-learning-port.js +1 -0
  1155. package/node_modules/@jinn-network/plugin/dist/ports/skills-port.d.ts +12 -0
  1156. package/node_modules/@jinn-network/plugin/dist/ports/skills-port.js +1 -0
  1157. package/node_modules/@jinn-network/plugin/dist/schemas/contribution-candidate.d.ts +116 -0
  1158. package/node_modules/@jinn-network/plugin/dist/schemas/contribution-candidate.js +63 -0
  1159. package/node_modules/@jinn-network/plugin/dist/schemas/eligibility-verdict.d.ts +8 -0
  1160. package/node_modules/@jinn-network/plugin/dist/schemas/eligibility-verdict.js +7 -0
  1161. package/node_modules/@jinn-network/plugin/dist/schemas/episode.d.ts +432 -0
  1162. package/node_modules/@jinn-network/plugin/dist/schemas/episode.js +452 -0
  1163. package/node_modules/@jinn-network/plugin/dist/schemas/history-entry.d.ts +40 -0
  1164. package/node_modules/@jinn-network/plugin/dist/schemas/history-entry.js +30 -0
  1165. package/node_modules/@jinn-network/plugin/dist/schemas/knowledge-hit.d.ts +27 -0
  1166. package/node_modules/@jinn-network/plugin/dist/schemas/knowledge-hit.js +23 -0
  1167. package/node_modules/@jinn-network/plugin/dist/schemas/knowledge-packet.d.ts +79 -0
  1168. package/node_modules/@jinn-network/plugin/dist/schemas/knowledge-packet.js +213 -0
  1169. package/node_modules/@jinn-network/plugin/dist/schemas/pickup-config.d.ts +20 -0
  1170. package/node_modules/@jinn-network/plugin/dist/schemas/pickup-config.js +34 -0
  1171. package/node_modules/@jinn-network/plugin/dist/schemas/session-summary.d.ts +17 -0
  1172. package/node_modules/@jinn-network/plugin/dist/schemas/session-summary.js +19 -0
  1173. package/node_modules/@jinn-network/plugin/dist/testing/contract-kits.d.ts +12 -0
  1174. package/node_modules/@jinn-network/plugin/dist/testing/contract-kits.js +201 -0
  1175. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-contribution.d.ts +93 -0
  1176. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-contribution.js +104 -0
  1177. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-corpus.d.ts +47 -0
  1178. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-corpus.js +54 -0
  1179. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-evidence.d.ts +335 -0
  1180. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-evidence.js +23 -0
  1181. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-local-learning.d.ts +25 -0
  1182. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-local-learning.js +30 -0
  1183. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-skills.d.ts +9 -0
  1184. package/node_modules/@jinn-network/plugin/dist/testing/in-memory-skills.js +16 -0
  1185. package/node_modules/@jinn-network/plugin/dist/testing.d.ts +6 -0
  1186. package/node_modules/@jinn-network/plugin/dist/testing.js +8 -0
  1187. package/node_modules/@jinn-network/plugin/dist/visibility.d.ts +7 -0
  1188. package/node_modules/@jinn-network/plugin/dist/visibility.js +9 -0
  1189. package/node_modules/@jinn-network/plugin/package.json +50 -0
  1190. package/node_modules/@jinn-network/plugin/process-contract.json +8 -0
  1191. package/package.json +60 -18
  1192. package/plugins/jinn-repo-runtime/.claude-plugin/plugin.json +5 -0
  1193. package/plugins/jinn-repo-runtime/.codex-plugin/plugin.json +39 -0
  1194. package/plugins/jinn-repo-runtime/README.md +27 -0
  1195. package/plugins/jinn-repo-runtime/hooks/hooks.json +16 -0
  1196. package/plugins/jinn-repo-runtime/hooks/session-start +73 -0
  1197. package/plugins/jinn-repo-runtime/jinn.plugin.json +11 -0
  1198. package/plugins/jinn-repo-runtime/skills/task/SKILL.md +92 -0
  1199. package/skills/jinn-operator/SKILL.md +29 -15
  1200. package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +0 -55
  1201. package/deployments/deployment-jinn-mvi-l1-sepolia.json +0 -55
  1202. package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +0 -13
  1203. package/deployments/deployment-jinn-testnet-faucet-baseSepolia-fast.json +0 -15
  1204. package/dist/api/peers.js.map +0 -1
  1205. package/dist/daemon/jinn-claim-loop-canonical.d.ts +0 -207
  1206. package/dist/daemon/jinn-claim-loop-canonical.js +0 -296
  1207. package/dist/daemon/jinn-claim-loop-canonical.js.map +0 -1
  1208. package/dist/daemon/jinn-claim-loop-mock.d.ts +0 -61
  1209. package/dist/daemon/jinn-claim-loop-mock.js +0 -122
  1210. package/dist/daemon/jinn-claim-loop-mock.js.map +0 -1
  1211. package/dist/daemon/jinn-claim-loop-wiring.d.ts +0 -33
  1212. package/dist/daemon/jinn-claim-loop-wiring.js +0 -40
  1213. package/dist/daemon/jinn-claim-loop-wiring.js.map +0 -1
  1214. package/dist/daemon/jinn-claim-loop.d.ts +0 -130
  1215. package/dist/daemon/jinn-claim-loop.js +0 -328
  1216. package/dist/daemon/jinn-claim-loop.js.map +0 -1
  1217. package/dist/dashboard/assets/index-BVAWkLwY.css +0 -1
  1218. package/dist/dashboard/assets/index-DEPqtGOA.js +0 -167
  1219. package/dist/earning/jinn-rewards.js.map +0 -1
  1220. package/dist/scripts/donation-consumption-acceptance.d.ts +0 -85
  1221. package/dist/scripts/donation-consumption-acceptance.js +0 -1382
  1222. package/dist/scripts/donation-consumption-acceptance.js.map +0 -1
  1223. package/dist/x402/acquire.d.ts +0 -17
  1224. package/dist/x402/acquire.js +0 -49
  1225. package/dist/x402/acquire.js.map +0 -1
  1226. package/dist/x402/facilitator.d.ts +0 -11
  1227. package/dist/x402/facilitator.js +0 -52
  1228. package/dist/x402/facilitator.js.map +0 -1
  1229. package/dist/x402/handler.d.ts +0 -27
  1230. package/dist/x402/handler.js +0 -236
  1231. package/dist/x402/handler.js.map +0 -1
  1232. /package/dist/{api/peers.d.ts → daemon/peer-sync.d.ts} +0 -0
@@ -1,328 +0,0 @@
1
- /**
2
- * Cross-chain JINN claim loop (Phase B / jinn-mono-7x5).
3
- *
4
- * Orchestrates the two-tx flow that turns on-chain protocol work on L2 into
5
- * JINN mints on L1:
6
- *
7
- * 1. Step A — emit on Base. Call `TaskClaimEmitter.emitClaim(serviceId)`
8
- * on Base / Base Sepolia. The event records the three counters
9
- * (`taskCreationWeight`, `solutionDeliveryWeight`, `verdictDeliveryWeight`)
10
- * atomically at one block.
11
- * 2. Step B — wait for finality. In `canonical` mode, wait for the
12
- * OP dispute game to resolve and portal finality to elapse, then build
13
- * the OP-Stack storage proof. In `mock` mode, plant the matching fixture on the L1
14
- * MockMessenger.
15
- * 3. Step C — submit on L1. Call `JinnDistributor.claim(proof)` on
16
- * Sepolia / Ethereum. The distributor verifies, applies channel
17
- * weights, and mints to the operator multisig + DAO Timelock.
18
- *
19
- * The loop is disabled unless the operator explicitly enables it. Each tick
20
- * iterates over staked services in the FleetStateStore. Failures are logged
21
- * and surfaced via `tick_error` observability events; they don't crash the
22
- * daemon. Replay protection lives entirely in the distributor's accumulators
23
- * — repeated submissions are no-ops on the second mint.
24
- *
25
- * Configuration: `jinnClaimLoopEnabled`, `jinnClaimLoopIntervalMs` (default
26
- * 1h), `jinnClaimSubmissionMode` (`emit-only` | `submit`),
27
- * `jinnMessengerMode` (`canonical` | `mock`). The `mock` submit path requires
28
- * the daemon's L1 wallet to be the MockMessenger's owner (set at deploy).
29
- *
30
- * Automated submit-mode `run()` / `runOnce()` **only execute mock-mode**
31
- * emit→fixture→claim. When `jinnMessengerMode === 'canonical'`, scheduled
32
- * submit ticks **skip** emitting: canonical OP-Stack finality is multi-day
33
- * (see R-1); operators should use mock for burn-in and run
34
- * `tsx scripts/verify-canonical-canary.ts` for verifier-only proofs after an
35
- * intentional L2 emit. Emit-only mode stops after the L2 ticket and can run
36
- * without L1 wiring.
37
- */
38
- import { encodeFunctionData, getAddress } from 'viem';
39
- import { isOperationalServiceStep } from '../earning/types.js';
40
- import { base, baseSepolia } from 'viem/chains';
41
- import { emitEvent } from '../observability/emit-event.js';
42
- import { displayFleetServiceIndex } from '../earning/fleet-display-index.js';
43
- import { viemSendTransactionWithRetry, waitForTransactionReceiptWithRetry } from '../tx-retry.js';
44
- import { CLAIM_TICKET_TOPIC0, JINN_CLAIM_EMITTER_ABI } from '../earning/contracts.js';
45
- import { fetchLatestClaimTicket, plantMockFixture, submitMockClaim, } from './jinn-claim-loop-mock.js';
46
- import { buildCanonicalProof, decodeClaimTicketFromReceipt, verifyCanonicalClaimCanary, } from './jinn-claim-loop-canonical.js';
47
- /**
48
- * The orchestrator. One loop, one method per stage so they're individually
49
- * testable. Failures bubble to `runOnce` which records them and continues
50
- * to the next service — a single bad service must not stall the fleet.
51
- */
52
- export class JinnClaimLoop {
53
- config;
54
- stopped = false;
55
- constructor(config) {
56
- this.config = config;
57
- }
58
- stop() {
59
- this.stopped = true;
60
- }
61
- /**
62
- * One tick: iterate the staked services and run emit → wait → submit for
63
- * each. Returns counters useful for tests and operational dashboards.
64
- */
65
- async runOnce() {
66
- const result = { ticks: 0, emits: 0, submits: 0, errors: 0 };
67
- // Spec / Phase D: MockMessenger drives automated Sepolia burn-in; canonical
68
- // submit verification is verifier-only and must not spam emitClaim each
69
- // interval. Emit-only mode intentionally stops after recording the L2
70
- // ticket, so it is allowed to run with any messenger mode.
71
- if (this.config.submissionMode === 'submit' && this.config.messengerMode === 'canonical') {
72
- const detail = '[jinn-claim] Automated runOnce skips messengerMode=canonical (multi-day OP finality). ' +
73
- 'Set jinnMessengerMode=mock for Sepolia burn-in, or run `tsx scripts/verify-canonical-canary.ts` ' +
74
- 'after finality with an existing L2 ClaimTicket tx.';
75
- console.warn(detail);
76
- if (this.config.jinnStore) {
77
- emitEvent(this.config.jinnStore, {
78
- kind: 'jinn_claim_canonical_skip',
79
- outcome: 'warn',
80
- detail,
81
- }, 'jinn-claim');
82
- }
83
- return result;
84
- }
85
- const state = await this.config.store.load(this.config.chain);
86
- for (const svc of state.services) {
87
- if (this.stopped)
88
- break;
89
- // Only services with a multisig + service id are eligible.
90
- if (!isOperationalServiceStep(svc.step) && svc.step !== 'mech_deployed')
91
- continue;
92
- if (svc.service_id == null || !svc.safe_address)
93
- continue;
94
- const displayIndex = displayFleetServiceIndex(svc);
95
- result.ticks++;
96
- try {
97
- await this.tickService({
98
- serviceId: BigInt(svc.service_id),
99
- displayIndex,
100
- multisig: getAddress(svc.safe_address),
101
- }, result);
102
- }
103
- catch (err) {
104
- result.errors++;
105
- const detail = err instanceof Error ? err.message : String(err);
106
- console.error(`[jinn-claim] Service ${svc.service_id}: ${detail}`);
107
- if (this.config.jinnStore) {
108
- emitEvent(this.config.jinnStore, {
109
- kind: 'tick_error',
110
- serviceIndex: displayIndex,
111
- outcome: 'failed',
112
- detail,
113
- }, 'jinn-claim');
114
- }
115
- }
116
- }
117
- return result;
118
- }
119
- /**
120
- * One service's full Step A → Step B → Step C run. Split out so tests
121
- * can drive a single service end-to-end without the iteration scaffold.
122
- */
123
- async tickService(args, result) {
124
- const { serviceId, displayIndex, multisig } = args;
125
- // Step A — emit ClaimTicket on L2.
126
- const emitTxHash = await this.emitOnL2(serviceId);
127
- result.emits++;
128
- if (this.config.jinnStore) {
129
- emitEvent(this.config.jinnStore, {
130
- kind: 'jinn_claim_emitted',
131
- serviceIndex: displayIndex,
132
- txHash: emitTxHash,
133
- outcome: 'ok',
134
- detail: `Emitted ClaimTicket for service ${serviceId}`,
135
- }, 'jinn-claim');
136
- }
137
- if (this.config.submissionMode === 'emit-only') {
138
- const snapshot = await this.readSnapshot(serviceId, emitTxHash);
139
- if (snapshot.multisig.toLowerCase() !== multisig.toLowerCase()) {
140
- throw new Error(`[jinn-claim] L2 ClaimTicket multisig ${snapshot.multisig} does not match ` +
141
- `service multisig ${multisig} — refusing to record emit-only ticket`);
142
- }
143
- const detail = `Recorded ClaimTicket claimId=${snapshot.claimId} service=${serviceId} ` +
144
- `weights=${snapshot.taskCreationWeight}/${snapshot.solutionDeliveryWeight}/` +
145
- `${snapshot.verdictDeliveryWeight}`;
146
- console.log(`[jinn-claim] Service ${serviceId}: ${detail}`);
147
- if (this.config.jinnStore) {
148
- emitEvent(this.config.jinnStore, {
149
- kind: 'jinn_claim_ticket_recorded',
150
- serviceIndex: displayIndex,
151
- txHash: emitTxHash,
152
- outcome: 'ok',
153
- detail,
154
- }, 'jinn-claim');
155
- }
156
- return;
157
- }
158
- // Step B + C — diverge by mode.
159
- let submitTxHash;
160
- if (this.config.messengerMode === 'mock') {
161
- submitTxHash = await this.submitMock({
162
- serviceId,
163
- emitTxHash,
164
- multisig,
165
- });
166
- }
167
- else {
168
- submitTxHash = await this.submitCanonical({
169
- serviceId,
170
- emitTxHash,
171
- });
172
- }
173
- result.submits++;
174
- if (this.config.jinnStore) {
175
- emitEvent(this.config.jinnStore, {
176
- kind: 'jinn_claim_submitted',
177
- serviceIndex: displayIndex,
178
- txHash: submitTxHash,
179
- outcome: 'ok',
180
- detail: `Submitted ${this.config.messengerMode} claim for service ${serviceId}`,
181
- }, 'jinn-claim');
182
- }
183
- }
184
- /** Step A — `TaskClaimEmitter.emitClaim(serviceId)` on L2. */
185
- async emitOnL2(serviceId) {
186
- const account = this.config.l2Wallet.account;
187
- if (!account)
188
- throw new Error('L2 wallet has no account configured');
189
- // Pre-flight: surface a revert before we broadcast.
190
- await this.config.l2Client.simulateContract({
191
- address: this.config.claimEmitterAddress,
192
- abi: JINN_CLAIM_EMITTER_ABI,
193
- functionName: 'emitClaim',
194
- args: [serviceId],
195
- account,
196
- });
197
- // Broadcast through the shared per-EOA nonce ledger (issue #525). emitClaim
198
- // is sent from the AGENT EOA — the same EOA the creator/claim/deliver Safe
199
- // txs use. A raw `walletClient.writeContract` here auto-fills the nonce from
200
- // `getTransactionCount(pending)` OUTSIDE the broadcast lock, so on testnet
201
- // (where this loop is enabled by default and fires immediately at startup)
202
- // it races the creator's first `createTask` and both pick the same nonce →
203
- // "nonce too low". Routing via viemSendTransactionWithRetry serializes the
204
- // nonce-read→broadcast against every other agent-EOA broadcaster.
205
- const data = encodeFunctionData({
206
- abi: JINN_CLAIM_EMITTER_ABI,
207
- functionName: 'emitClaim',
208
- args: [serviceId],
209
- });
210
- const hash = await viemSendTransactionWithRetry(this.config.l2Wallet, this.config.l2Client, {
211
- account,
212
- to: this.config.claimEmitterAddress,
213
- data,
214
- });
215
- await waitForTransactionReceiptWithRetry(this.config.l2Client, hash);
216
- return hash;
217
- }
218
- /** Mock-mode Step B + C: read the L2 event, plant fixture on L1, claim. */
219
- async submitMock(args) {
220
- const { l1Client, l1Wallet, messengerAddress, distributorAddress } = this.requireL1SubmitConfig();
221
- const snapshot = await this.readSnapshot(args.serviceId, args.emitTxHash);
222
- if (snapshot.multisig.toLowerCase() !== args.multisig.toLowerCase()) {
223
- throw new Error(`[jinn-claim] L2 ClaimTicket multisig ${snapshot.multisig} does not match ` +
224
- `service multisig ${args.multisig} — refusing to plant mock fixture`);
225
- }
226
- // Plant the fixture (daemon wallet must be MockMessenger.owner).
227
- const fixtureTx = await plantMockFixture(l1Client, l1Wallet, messengerAddress, snapshot);
228
- await waitForTransactionReceiptWithRetry(l1Client, fixtureTx);
229
- // Submit the claim on L1.
230
- const claimTx = await submitMockClaim(l1Client, l1Wallet, distributorAddress, snapshot.claimId);
231
- await waitForTransactionReceiptWithRetry(l1Client, claimTx);
232
- return claimTx;
233
- }
234
- /** Canonical-mode Step B + C: build OP-Stack proof, submit on L1. */
235
- async submitCanonical(args) {
236
- const { l1Client, messengerAddress } = this.requireL1SubmitConfig();
237
- if (!this.config.optimismPortalAddress || !this.config.disputeGameFactoryAddress) {
238
- throw new Error('[jinn-claim-loop] canonical mode requires optimismPortalAddress + disputeGameFactoryAddress');
239
- }
240
- // Use retrying helper for same reason as readSnapshot — RPC eventual consistency.
241
- const receipt = await waitForTransactionReceiptWithRetry(this.config.l2Client, args.emitTxHash);
242
- const claimLog = receipt.logs.find((log) => log.address.toLowerCase() === this.config.claimEmitterAddress.toLowerCase()
243
- && log.topics[0]?.toLowerCase() === CLAIM_TICKET_TOPIC0.toLowerCase());
244
- if (!claimLog) {
245
- throw new Error(`[jinn-claim-loop] no ClaimTicket log in receipt ${args.emitTxHash}`);
246
- }
247
- const snapshot = decodeClaimTicketFromReceipt(receipt.logs, this.config.claimEmitterAddress, claimLog.logIndex ?? 0);
248
- const result = await buildCanonicalProof({
249
- l1Client,
250
- l2ProofClient: this.config.l2ProofClient ?? this.config.l2Client,
251
- targetChain: this.config.chain === 'base-sepolia' ? baseSepolia : base,
252
- optimismPortal: this.config.optimismPortalAddress,
253
- disputeGameFactory: this.config.disputeGameFactoryAddress,
254
- claimEmitter: this.config.claimEmitterAddress,
255
- }, { snapshot, l2BlockNumber: receipt.blockNumber });
256
- await verifyCanonicalClaimCanary(l1Client, messengerAddress, result.proof);
257
- // Verifier-only canary path: no L1 transaction submitted; return the L2 emit tx.
258
- return args.emitTxHash;
259
- }
260
- /**
261
- * Read the latest ClaimTicket for `serviceId` near `emitTxHash`. Bounded
262
- * to the emit block to avoid scanning the full chain on every tick.
263
- */
264
- async readSnapshot(serviceId, emitTxHash) {
265
- // Use the retrying helper because Tenderly's L2 RPC is load-balanced and
266
- // can return "receipt not found" briefly after the tx lands when the
267
- // request hits a backend that hasn't propagated the receipt yet.
268
- const receipt = await waitForTransactionReceiptWithRetry(this.config.l2Client, emitTxHash);
269
- const claimLog = receipt.logs.find((log) => log.address.toLowerCase() === this.config.claimEmitterAddress.toLowerCase()
270
- && log.topics[0]?.toLowerCase() === CLAIM_TICKET_TOPIC0.toLowerCase());
271
- if (claimLog) {
272
- const snapshot = decodeClaimTicketFromReceipt(receipt.logs, this.config.claimEmitterAddress, claimLog.logIndex ?? 0);
273
- if (snapshot.serviceId !== serviceId) {
274
- throw new Error(`[jinn-claim] ClaimTicket service ${snapshot.serviceId} does not match expected service ${serviceId}`);
275
- }
276
- return {
277
- ...snapshot,
278
- emitTxHash,
279
- emitBlockNumber: receipt.blockNumber,
280
- };
281
- }
282
- // Search a small window around the emit block.
283
- const fromBlock = receipt.blockNumber > 5n ? receipt.blockNumber - 5n : 0n;
284
- const snapshot = await fetchLatestClaimTicket(this.config.l2Client, this.config.claimEmitterAddress, serviceId, { fromBlock, toBlock: 'latest' });
285
- if (!snapshot) {
286
- throw new Error(`[jinn-claim] no ClaimTicket event for service ${serviceId} near tx ${emitTxHash}`);
287
- }
288
- return snapshot;
289
- }
290
- requireL1SubmitConfig() {
291
- if (!this.config.l1Client ||
292
- !this.config.l1Wallet ||
293
- !this.config.distributorAddress ||
294
- !this.config.messengerAddress) {
295
- throw new Error('[jinn-claim-loop] submit mode requires L1 client, L1 wallet, distributor, and messenger wiring');
296
- }
297
- return {
298
- l1Client: this.config.l1Client,
299
- l1Wallet: this.config.l1Wallet,
300
- distributorAddress: this.config.distributorAddress,
301
- messengerAddress: this.config.messengerAddress,
302
- };
303
- }
304
- /** Loop forever, sleeping `intervalMs` between ticks. */
305
- async run() {
306
- if (this.config.intervalMs <= 0)
307
- return;
308
- while (!this.stopped) {
309
- try {
310
- await this.runOnce();
311
- }
312
- catch (err) {
313
- const detail = err instanceof Error ? err.message : String(err);
314
- console.error(`[jinn-claim] Tick failed (non-fatal): ${detail}`);
315
- if (this.config.jinnStore) {
316
- emitEvent(this.config.jinnStore, {
317
- kind: 'tick_error',
318
- outcome: 'failed',
319
- detail,
320
- }, 'jinn-claim');
321
- }
322
- }
323
- this.config.jinnStore?.setConfigValue('last_jinn_claim_tick_at', new Date().toISOString());
324
- await new Promise((r) => setTimeout(r, this.config.intervalMs));
325
- }
326
- }
327
- }
328
- //# sourceMappingURL=jinn-claim-loop.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jinn-claim-loop.js","sourceRoot":"","sources":["../../src/daemon/jinn-claim-loop.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- .xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}@media (width>=1400px){.container{max-width:1400px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-2{left:.5rem}.left-\[3px\]{left:3px}.left-\[50\%\]{left:50%}.right-0{right:0}.right-4{right:1rem}.right-\[3px\]{right:3px}.top-0{top:0}.top-4{top:1rem}.top-8{top:2rem}.top-\[2px\]{top:2px}.top-\[50\%\]{top:50%}.z-50{z-index:50}.col-span-12{grid-column:span 12/span 12}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.m-0{margin:0}.m-3{margin:.75rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-mb-px{margin-bottom:-1px}.mb-0\.5{margin-bottom:.125rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml-1{margin-left:.25rem}.ml-12{margin-left:3rem}.ml-2\.5{margin-left:.625rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.\!size-3{width:.75rem!important;height:.75rem!important}.\!size-3\.5{width:.875rem!important;height:.875rem!important}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[3px\]{height:3px}.h-\[calc\(100vh-220px\)\]{height:calc(100vh - 220px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-60{max-height:15rem}.max-h-\[280px\]{max-height:280px}.max-h-\[560px\]{max-height:560px}.min-h-0{min-height:0}.min-h-\[1\.5em\]{min-height:1.5em}.min-h-\[400px\]{min-height:400px}.min-h-\[520px\]{min-height:520px}.min-h-\[96px\]{min-height:96px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-4\/6{width:66.6667%}.w-40{width:10rem}.w-5{width:1.25rem}.w-5\/6{width:83.3333%}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[14\%\]{width:14%}.w-\[16\%\]{width:16%}.w-\[22\%\]{width:22%}.w-\[34\%\]{width:34%}.w-\[min\(28rem\,90vw\)\]{width:min(28rem,90vw)}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[100px\]{min-width:100px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.min-w-\[260px\]{min-width:260px}.min-w-\[64px\]{min-width:64px}.min-w-\[80px\]{min-width:80px}.min-w-\[8rem\]{min-width:8rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-\[1100px\]{max-width:1100px}.max-w-\[1280px\]{max-width:1280px}.max-w-\[280px\]{max-width:280px}.max-w-\[320px\]{max-width:320px}.max-w-\[34ch\]{max-width:34ch}.max-w-\[420px\]{max-width:420px}.max-w-\[440px\]{max-width:440px}.max-w-\[64ch\]{max-width:64ch}.max-w-\[720px\]{max-width:720px}.max-w-\[72ch\]{max-width:72ch}.max-w-\[880px\]{max-width:880px}.max-w-\[960px\]{max-width:960px}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.flex-\[1_1_360px\]{flex:360px}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.caption-bottom{caption-side:bottom}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-copy{cursor:copy}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize-y{resize:vertical}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[140px_1fr\]{grid-template-columns:140px 1fr}.grid-cols-\[160px_1fr\]{grid-template-columns:160px 1fr}.grid-cols-\[1fr_320px\]{grid-template-columns:1fr 320px}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[3rem_1fr_auto\]{grid-template-columns:3rem 1fr auto}.grid-cols-\[68px_84px_1fr\]{grid-template-columns:68px 84px 1fr}.grid-cols-\[90px_1fr\]{grid-template-columns:90px 1fr}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[auto_1fr_auto\]{grid-template-columns:auto 1fr auto}.grid-cols-\[auto_1fr_auto_auto\]{grid-template-columns:auto 1fr auto auto}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-rows-\[auto_auto_auto_minmax\(0\,1fr\)\]{grid-template-rows:auto auto auto minmax(0,1fr)}.grid-rows-\[auto_auto_minmax\(0\,1fr\)\]{grid-template-rows:auto auto minmax(0,1fr)}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\[3px\]{gap:3px}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-3\.5{-moz-column-gap:.875rem;column-gap:.875rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-2\.5{row-gap:.625rem}.self-start{align-self:flex-start}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius-3)}.rounded-md{border-radius:var(--radius-2)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-1)}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[var\(--accent-sky\)\]{border-color:var(--accent-sky)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--break-red\)\]{border-color:var(--break-red)}.border-\[var\(--severity-blocking-border\)\]{border-color:var(--severity-blocking-border)}.border-\[var\(--severity-blocking-fg\)\]{border-color:var(--severity-blocking-fg)}.border-\[var\(--severity-info-fg\)\]{border-color:var(--severity-info-fg)}.border-\[var\(--severity-success-border\)\]{border-color:var(--severity-success-border)}.border-\[var\(--severity-warning-border\)\]{border-color:var(--severity-warning-border)}.border-\[var\(--severity-warning-fg\)\]{border-color:var(--severity-warning-fg)}.border-\[var\(--vow-green\)\]{border-color:var(--vow-green)}.border-\[var\(--wane\)\]{border-color:var(--wane)}.border-border{border-color:var(--border)}.border-break-red{border-color:var(--break-red)}.border-destructive{border-color:var(--destructive)}.border-input{border-color:var(--input)}.border-muted-foreground{border-color:var(--muted-foreground)}.border-primary{border-color:var(--primary)}.border-transparent{border-color:#0000}.border-wane{border-color:var(--wane)}.border-l-\[var\(--severity-blocking-fg\)\]{border-left-color:var(--severity-blocking-fg)}.border-l-\[var\(--severity-info-fg\)\]{border-left-color:var(--severity-info-fg)}.border-l-\[var\(--severity-warning-fg\)\]{border-left-color:var(--severity-warning-fg)}.border-l-primary{border-left-color:var(--primary)}.border-l-transparent{border-left-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\[var\(--accent-gold\)\]{background-color:var(--accent-gold)}.bg-\[var\(--accent-sky\)\]{background-color:var(--accent-sky)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--bg-elevated\)\]{background-color:var(--bg-elevated)}.bg-\[var\(--bg-sunken\)\]{background-color:var(--bg-sunken)}.bg-\[var\(--border-strong\)\]{background-color:var(--border-strong)}.bg-\[var\(--break-red\)\]{background-color:var(--break-red)}.bg-\[var\(--fg-muted\)\]{background-color:var(--fg-muted)}.bg-\[var\(--seer-violet\)\]{background-color:var(--seer-violet)}.bg-\[var\(--severity-blocking-bg\)\]{background-color:var(--severity-blocking-bg)}.bg-\[var\(--severity-success-bg\)\]{background-color:var(--severity-success-bg)}.bg-\[var\(--severity-warning-bg\)\]{background-color:var(--severity-warning-bg)}.bg-\[var\(--vow-green\)\]{background-color:var(--vow-green)}.bg-accent{background-color:var(--accent)}.bg-accent-sky{background-color:var(--accent-sky)}.bg-background{background-color:var(--background)}.bg-black\/70{background-color:#000000b3}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-elevated{background-color:var(--bg-elevated)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground{background-color:var(--muted-foreground)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-sunken,.bg-surface-sunken{background-color:var(--bg-sunken)}.bg-transparent{background-color:#0000}.p-0{padding:0}.p-1{padding:.25rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-px{padding:1px}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-\[5px\]{padding-top:5px;padding-bottom:5px}.py-px{padding-top:1px;padding-bottom:1px}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-px{padding-bottom:1px}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-8{padding-left:2rem}.pl-\[22px\]{padding-left:22px}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-middle{vertical-align:middle}.font-mono{font-family:var(--mono)}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.font-serif{font-family:var(--serif)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.text-\[64px\]{font-size:64px}.text-\[76px\]{font-size:76px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.05\]{line-height:1.05}.leading-\[1\.25\]{line-height:1.25}.leading-\[1\.2\]{line-height:1.2}.leading-\[1\.5\]{line-height:1.5}.leading-\[1\.6\]{line-height:1.6}.leading-\[1\.7\]{line-height:1.7}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-\[0\.05em\]{letter-spacing:.05em}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-normal{letter-spacing:0}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[var\(--accent-gold\)\]{color:var(--accent-gold)}.text-\[var\(--accent-sky\)\]{color:var(--accent-sky)}.text-\[var\(--bg\)\]{color:var(--bg)}.text-\[var\(--bg-sunken\)\]{color:var(--bg-sunken)}.text-\[var\(--break-red\)\]{color:var(--break-red)}.text-\[var\(--fg\)\]{color:var(--fg)}.text-\[var\(--fg-dim\)\]{color:var(--fg-dim)}.text-\[var\(--fg-muted\)\]{color:var(--fg-muted)}.text-\[var\(--severity-blocking-fg\)\]{color:var(--severity-blocking-fg)}.text-\[var\(--severity-info-fg\)\]{color:var(--severity-info-fg)}.text-\[var\(--severity-success-fg\)\]{color:var(--severity-success-fg)}.text-\[var\(--severity-warning-fg\)\]{color:var(--severity-warning-fg)}.text-\[var\(--vow-green\)\]{color:var(--vow-green)}.text-\[var\(--wane\)\]{color:var(--wane)}.text-accent-sky{color:var(--accent-sky)}.text-break-red{color:var(--break-red)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-dim,.text-fg-dim{color:var(--fg-dim)}.text-fg-muted{color:var(--fg-muted)}.text-foreground{color:var(--foreground)}.text-inherit{color:inherit}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.accent-accent-sky{accent-color:var(--accent-sky)}.accent-destructive{accent-color:var(--destructive)}.accent-primary{accent-color:var(--primary)}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}.\[grid-template-columns\:120px_minmax\(0\,1fr\)\]{grid-template-columns:120px minmax(0,1fr)}.\[grid-template-columns\:140px_minmax\(0\,1fr\)\]{grid-template-columns:140px minmax(0,1fr)}.\[grid-template-columns\:minmax\(0\,1fr\)_minmax\(0\,380px\)\]{grid-template-columns:minmax(0,1fr) minmax(0,380px)}.\[grid-template-columns\:minmax\(120px\,180px\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(120px,180px) minmax(0,1fr)}.\[grid-template-columns\:minmax\(160px\,200px\)_minmax\(0\,1fr\)_minmax\(180px\,220px\)\]{grid-template-columns:minmax(160px,200px) minmax(0,1fr) minmax(180px,220px)}.\[grid-template-columns\:repeat\(auto-fit\,minmax\(120px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.\[grid-template-columns\:repeat\(auto-fit\,minmax\(150px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.\[grid-template-columns\:repeat\(auto-fit\,minmax\(180px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.\[grid-template-columns\:repeat\(auto-fit\,minmax\(220px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}:root{--bg:#0c1628;--bg-elevated:#142340;--bg-sunken:#070d18;--fg:#f2f7fc;--fg-muted:#a4b0c2;--fg-dim:#7d8ba3;--border:#1f3a66;--border-strong:#7aa7dc;--border-accent:#c9a048;--accent-sky:#7aa7dc;--accent-sky-hover:#a8c8ea;--accent-gold:#dcb866;--accent-gold-hover:#ead08e;--vow-green:#6a9b8f;--wane:#b8802f;--break-red:#a85a5a;--seer-violet:#7a6db0;--surface:var(--bg-elevated);--surface-sunken:var(--bg-sunken);--radius-1:4px;--radius-2:6px;--radius-3:10px;--radius-pill:999px;--serif:"Instrument Serif", "Times New Roman", serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:14px;--text-md:17px;--text-lg:20px;--text-xl:24px;--text-2xl:26px;--text-display:64px;--text-display-xl:88px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--dur-fast:80ms;--dur-base:.14s;--dur-slow:.24s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--severity-blocking-fg:var(--break-red);--severity-blocking-border:#a85a5a99;--severity-blocking-bg:#a85a5a0f;--severity-warning-fg:var(--wane);--severity-warning-border:#b8802f99;--severity-warning-bg:#b8802f0f;--severity-info-fg:var(--accent-sky);--severity-info-border:#7aa7dc66;--severity-info-bg:transparent;--severity-success-fg:var(--vow-green);--severity-success-border:#6a9b8f99;--severity-success-bg:#6a9b8f0f;--background:var(--bg);--foreground:var(--fg);--card:var(--bg-elevated);--card-foreground:var(--fg);--popover:var(--bg-elevated);--popover-foreground:var(--fg);--primary:var(--accent-sky);--primary-foreground:var(--bg-sunken);--secondary:var(--bg-elevated);--secondary-foreground:var(--fg-muted);--muted:var(--bg-elevated);--muted-foreground:var(--fg-muted);--accent:var(--bg-elevated);--accent-foreground:var(--accent-sky);--destructive:var(--break-red);--destructive-foreground:var(--fg);--input:var(--border);--ring:var(--accent-sky);--radius:var(--radius-2)}html,body{background:var(--bg);color:var(--fg);font-family:var(--mono);font-feature-settings:"ss01" on, "ss02" on, "cv01" on}#root{min-height:100vh}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:1px solid var(--accent-sky);outline-offset:2px}@keyframes jinnPulse{0%{box-shadow:0 0 #dcb8668c}70%{box-shadow:0 0 0 10px #dcb86600}to{box-shadow:0 0 #dcb86600}}@keyframes jinnFadeSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.jinn-anim-pulse{animation:1.6s ease-out infinite jinnPulse}.jinn-anim-fade-slide{animation:.32s ease-out both jinnFadeSlide}.phase-row[data-status=active]{background:linear-gradient(90deg,#dcb8660a 0%,#0000 60%);transition:background .32s}.xterm,.xterm-viewport,.xterm-screen{width:100%!important}.agent-rail .xterm{min-width:0;overflow:hidden}.agent-rail .xterm-viewport{overflow-x:hidden}.agent-rail .xterm-accessibility-tree{display:none}.hfmf-intro-markdown h1{font-family:var(--serif);letter-spacing:0;color:var(--fg);margin:0 0 16px;font-size:40px;font-weight:400;line-height:1.1}.hfmf-intro-markdown h2{font-family:var(--serif);letter-spacing:0;color:var(--fg);border-top:1px solid var(--border);margin:28px 0 8px;padding-top:20px;font-size:22px;font-weight:400;line-height:1.25}.hfmf-intro-markdown h2:first-child,.hfmf-intro-markdown h1+h2{border-top:none;padding-top:0}.hfmf-intro-markdown h3{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted);margin:20px 0 8px;font-size:11px;font-weight:500}.hfmf-intro-markdown p{font-family:var(--mono);letter-spacing:-.01em;color:var(--fg-muted);max-width:72ch;margin:0 0 12px;font-size:13px;line-height:1.7}.hfmf-intro-markdown ul{font-family:var(--mono);color:var(--fg-muted);margin:0 0 12px;padding:0;font-size:13px;line-height:1.7;list-style:none}.hfmf-intro-markdown ul li{margin:4px 0;padding-left:16px;position:relative}.hfmf-intro-markdown ul li:before{content:"—";color:var(--fg-dim);position:absolute;left:0}.hfmf-intro-markdown code{font-family:var(--mono);color:var(--accent-sky);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-1);padding:1px 6px;font-size:12px}.hfmf-intro-markdown pre{font-family:var(--mono);color:var(--fg);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-2);margin:0 0 14px;padding:14px 16px;font-size:12px;line-height:1.6;overflow-x:auto}.hfmf-intro-markdown pre code{color:inherit;background:0 0;border:0;padding:0}.hfmf-intro-markdown a{color:var(--accent-sky);border-bottom:1px solid var(--border);text-decoration:none}.hfmf-intro-markdown a:hover{color:var(--accent-sky-hover);border-bottom-color:var(--accent-sky)}.placeholder\:text-\[var\(--fg-dim\)\]::placeholder{color:var(--fg-dim)}.placeholder\:text-fg-dim::placeholder{color:var(--fg-dim)}.hover\:border-foreground:hover{border-color:var(--foreground)}.hover\:bg-\[var\(--accent-gold-hover\)\]:hover{background-color:var(--accent-gold-hover)}.hover\:bg-\[var\(--accent-sky-hover\)\]:hover{background-color:var(--accent-sky-hover)}.hover\:bg-\[var\(--bg\)\]:hover{background-color:var(--bg)}.hover\:bg-\[var\(--bg-sunken\)\]:hover{background-color:var(--bg-sunken)}.hover\:bg-\[var\(--severity-blocking-bg\)\]:hover{background-color:var(--severity-blocking-bg)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-elevated:hover{background-color:var(--bg-elevated)}.hover\:bg-sunken:hover{background-color:var(--bg-sunken)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-\[var\(--accent-sky-hover\)\]:hover{color:var(--accent-sky-hover)}.hover\:text-\[var\(--fg\)\]:hover{color:var(--fg)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-\[var\(--bg-sunken\)\]:focus{background-color:var(--bg-sunken)}.focus\:text-foreground:focus{color:var(--foreground)}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:bg-sunken:focus-visible{background-color:var(--bg-sunken)}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group.toaster .group-\[\.toaster\]\:border-border{border-color:var(--border)}.group.toast .group-\[\.toast\]\:bg-\[var\(--accent-sky\)\]{background-color:var(--accent-sky)}.group.toast .group-\[\.toast\]\:bg-transparent{background-color:#0000}.group.toaster .group-\[\.toaster\]\:bg-card{background-color:var(--card)}.group.toast .group-\[\.toast\]\:text-\[var\(--bg-sunken\)\]{color:var(--bg-sunken)}.group.toast .group-\[\.toast\]\:text-\[var\(--fg-muted\)\]{color:var(--fg-muted)}.group.toaster .group-\[\.toaster\]\:text-card-foreground{color:var(--card-foreground)}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0\.5[data-state=unchecked]{--tw-translate-x:.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=active\]\:bg-\[var\(--bg-sunken\)\][data-state=active]{background-color:var(--bg-sunken)}.data-\[state\=checked\]\:bg-\[var\(--vow-green\)\][data-state=checked]{background-color:var(--vow-green)}.data-\[state\=selected\]\:bg-\[var\(--bg-sunken\)\][data-state=selected]{background-color:var(--bg-sunken)}.data-\[state\=unchecked\]\:bg-border[data-state=unchecked]{background-color:var(--border)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=delayed-open\]\:animate-in[data-state=delayed-open],.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=delayed-open\]\:fade-in-0[data-state=delayed-open],.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=delayed-open\]\:zoom-in-95[data-state=delayed-open],.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}@media (width>=640px){.sm\:mt-0{margin-top:0}.sm\:hidden{display:none}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xl{max-width:36rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[160px_minmax\(0\,1fr\)\]{grid-template-columns:160px minmax(0,1fr)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-4{gap:1rem}.sm\:rounded-lg{border-radius:var(--radius-3)}}@media (width>=768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[120px_1fr\]{grid-template-columns:120px 1fr}}@media (width>=1024px){.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}}.\[\&\>div\]\:bg-\[var\(--accent-gold\)\]>div{background-color:var(--accent-gold)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-3>svg{top:.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}.\[\&_tr\]\:border-border tr{border-color:var(--border)}