@jinn-network/client 0.1.2 → 0.1.3-canary.12cf8b76
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.
- package/CHANGELOG.md +20 -0
- package/CONTRIBUTING.md +8 -2
- package/README.md +67 -47
- package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +36 -0
- package/deployments/deployment-jinn-mvi-l1-sepolia.json +36 -0
- package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +12 -0
- package/deployments/deployment-phase1b-mech-baseSepolia-fast.json +3 -3
- package/deployments/deployment-stolas-l2-baseSepolia-fast.json +1 -1
- package/deployments/deployment-task-coordinator-router-v3-baseSepolia-fast.json +38 -0
- package/dist/adapters/adapter.d.ts +19 -8
- package/dist/adapters/local/adapter.d.ts +10 -9
- package/dist/adapters/local/adapter.js +52 -79
- package/dist/adapters/local/adapter.js.map +1 -1
- package/dist/adapters/mech/adapter.d.ts +33 -15
- package/dist/adapters/mech/adapter.js +471 -353
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +68 -20
- package/dist/adapters/mech/contracts.js +338 -100
- package/dist/adapters/mech/contracts.js.map +1 -1
- package/dist/adapters/mech/ipfs.d.ts +66 -12
- package/dist/adapters/mech/ipfs.js +165 -30
- package/dist/adapters/mech/ipfs.js.map +1 -1
- package/dist/adapters/mech/safe-revert.d.ts +39 -0
- package/dist/adapters/mech/safe-revert.js +124 -0
- package/dist/adapters/mech/safe-revert.js.map +1 -0
- package/dist/adapters/mech/safe.js +48 -22
- package/dist/adapters/mech/safe.js.map +1 -1
- package/dist/adapters/mech/types.d.ts +245 -84
- package/dist/adapters/mech/types.js +125 -50
- package/dist/adapters/mech/types.js.map +1 -1
- package/dist/agent/agent-ws.d.ts +57 -0
- package/dist/agent/agent-ws.js +301 -0
- package/dist/agent/agent-ws.js.map +1 -0
- package/dist/agent/auto-mode-detect.d.ts +6 -0
- package/dist/agent/auto-mode-detect.js +44 -0
- package/dist/agent/auto-mode-detect.js.map +1 -0
- package/dist/agent/operator-claude.d.ts +22 -0
- package/dist/agent/operator-claude.js +134 -0
- package/dist/agent/operator-claude.js.map +1 -0
- package/dist/api/admin-endpoint.d.ts +12 -0
- package/dist/api/admin-endpoint.js +71 -0
- package/dist/api/admin-endpoint.js.map +1 -0
- package/dist/api/agent-binding-endpoint.d.ts +26 -0
- package/dist/api/agent-binding-endpoint.js +28 -0
- package/dist/api/agent-binding-endpoint.js.map +1 -0
- package/dist/api/bootstrap-endpoint.d.ts +24 -0
- package/dist/api/bootstrap-endpoint.js +103 -0
- package/dist/api/bootstrap-endpoint.js.map +1 -0
- package/dist/api/events-endpoint.d.ts +9 -0
- package/dist/api/events-endpoint.js +46 -0
- package/dist/api/events-endpoint.js.map +1 -0
- package/dist/api/fleet-build.d.ts +1 -1
- package/dist/api/fleet-build.js +17 -8
- package/dist/api/fleet-build.js.map +1 -1
- package/dist/api/gather-status.d.ts +16 -1
- package/dist/api/gather-status.js +163 -3
- package/dist/api/gather-status.js.map +1 -1
- package/dist/api/handshake.d.ts +17 -0
- package/dist/api/handshake.js +28 -0
- package/dist/api/handshake.js.map +1 -0
- package/dist/api/harness-status-endpoint.d.ts +20 -0
- package/dist/api/harness-status-endpoint.js +13 -0
- package/dist/api/harness-status-endpoint.js.map +1 -0
- package/dist/api/history-build.d.ts +2 -2
- package/dist/api/history-build.js +3 -3
- package/dist/api/history-build.js.map +1 -1
- package/dist/api/launcher-endpoints.d.ts +43 -0
- package/dist/api/launcher-endpoints.js +50 -0
- package/dist/api/launcher-endpoints.js.map +1 -0
- package/dist/api/launcher-status.d.ts +92 -0
- package/dist/api/launcher-status.js +82 -0
- package/dist/api/launcher-status.js.map +1 -0
- package/dist/api/launcher-tasks.d.ts +104 -0
- package/dist/api/launcher-tasks.js +83 -0
- package/dist/api/launcher-tasks.js.map +1 -0
- package/dist/api/leaderboard-api.d.ts +20 -0
- package/dist/api/leaderboard-api.js +18 -0
- package/dist/api/leaderboard-api.js.map +1 -0
- package/dist/api/peers.js +21 -6
- package/dist/api/peers.js.map +1 -1
- package/dist/api/portfolio-v0-build.d.ts +16 -10
- package/dist/api/portfolio-v0-build.js +36 -31
- package/dist/api/portfolio-v0-build.js.map +1 -1
- package/dist/api/portfolio-v0-doctor.js +1 -1
- package/dist/api/portfolio-v0-doctor.js.map +1 -1
- package/dist/api/prediction-v1-build.d.ts +65 -0
- package/dist/api/prediction-v1-build.js +73 -0
- package/dist/api/prediction-v1-build.js.map +1 -0
- package/dist/api/rewards-build.js +3 -8
- package/dist/api/rewards-build.js.map +1 -1
- package/dist/api/server.d.ts +97 -1
- package/dist/api/server.js +334 -16
- package/dist/api/server.js.map +1 -1
- package/dist/api/setup-endpoints.d.ts +62 -0
- package/dist/api/setup-endpoints.js +705 -0
- package/dist/api/setup-endpoints.js.map +1 -0
- package/dist/api/solvernets-catalog-build.d.ts +37 -0
- package/dist/api/solvernets-catalog-build.js +19 -0
- package/dist/api/solvernets-catalog-build.js.map +1 -0
- package/dist/api/solvernets-endpoint.d.ts +15 -0
- package/dist/api/solvernets-endpoint.js +5 -0
- package/dist/api/solvernets-endpoint.js.map +1 -0
- package/dist/api/solvernets-endpoints.d.ts +104 -0
- package/dist/api/solvernets-endpoints.js +1023 -0
- package/dist/api/solvernets-endpoints.js.map +1 -0
- package/dist/api/status-build.d.ts +15 -2
- package/dist/api/status-build.js +45 -9
- package/dist/api/status-build.js.map +1 -1
- package/dist/api/status-rollup-build.d.ts +46 -1
- package/dist/api/status-rollup-build.js +168 -5
- package/dist/api/status-rollup-build.js.map +1 -1
- package/dist/api/ui-token.d.ts +5 -0
- package/dist/api/ui-token.js +36 -0
- package/dist/api/ui-token.js.map +1 -0
- package/dist/build-info.d.ts +32 -0
- package/dist/build-info.js +69 -0
- package/dist/build-info.js.map +1 -0
- package/dist/build-info.json +6 -0
- package/dist/build-meta.json +1 -1
- package/dist/cli/command.d.ts +9 -0
- package/dist/cli/commands/auth.js +6 -3
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/balance.d.ts +7 -0
- package/dist/cli/commands/balance.js +38 -32
- package/dist/cli/commands/balance.js.map +1 -1
- package/dist/cli/commands/bootstrap.d.ts +13 -1
- package/dist/cli/commands/bootstrap.js +150 -133
- package/dist/cli/commands/bootstrap.js.map +1 -1
- package/dist/cli/commands/checkpoint.d.ts +85 -0
- package/dist/cli/commands/checkpoint.js +75 -0
- package/dist/cli/commands/checkpoint.js.map +1 -0
- package/dist/cli/commands/claim-rewards.js +14 -2
- package/dist/cli/commands/claim-rewards.js.map +1 -1
- package/dist/cli/commands/conformance.d.ts +12 -0
- package/dist/cli/commands/conformance.js +140 -0
- package/dist/cli/commands/conformance.js.map +1 -0
- package/dist/cli/commands/create.d.ts +22 -0
- package/dist/cli/commands/create.js +226 -0
- package/dist/cli/commands/create.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +49 -1
- package/dist/cli/commands/doctor.js +162 -134
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/fleet-scale.d.ts +19 -1
- package/dist/cli/commands/fleet-scale.js +378 -361
- package/dist/cli/commands/fleet-scale.js.map +1 -1
- package/dist/cli/commands/fleet.d.ts +7 -0
- package/dist/cli/commands/fleet.js +39 -33
- package/dist/cli/commands/fleet.js.map +1 -1
- package/dist/cli/commands/fund-requirements.d.ts +14 -1
- package/dist/cli/commands/fund-requirements.js +182 -174
- package/dist/cli/commands/fund-requirements.js.map +1 -1
- package/dist/cli/commands/harnesses.d.ts +38 -0
- package/dist/cli/commands/harnesses.js +305 -0
- package/dist/cli/commands/harnesses.js.map +1 -0
- package/dist/cli/commands/history.d.ts +10 -1
- package/dist/cli/commands/history.js +68 -59
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/init.js +4 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/integrations.d.ts +13 -0
- package/dist/cli/commands/integrations.js +1010 -0
- package/dist/cli/commands/integrations.js.map +1 -0
- package/dist/cli/commands/logs.d.ts +6 -1
- package/dist/cli/commands/logs.js +77 -70
- package/dist/cli/commands/logs.js.map +1 -1
- package/dist/cli/commands/migrate-agent-id.d.ts +26 -0
- package/dist/cli/commands/migrate-agent-id.js +164 -0
- package/dist/cli/commands/migrate-agent-id.js.map +1 -0
- package/dist/cli/commands/prediction-scoreboard.d.ts +10 -0
- package/dist/cli/commands/prediction-scoreboard.js +136 -0
- package/dist/cli/commands/prediction-scoreboard.js.map +1 -0
- package/dist/cli/commands/quickstart.d.ts +51 -1
- package/dist/cli/commands/quickstart.js +514 -296
- package/dist/cli/commands/quickstart.js.map +1 -1
- package/dist/cli/commands/rewards.d.ts +7 -0
- package/dist/cli/commands/rewards.js +46 -40
- package/dist/cli/commands/rewards.js.map +1 -1
- package/dist/cli/commands/run.d.ts +14 -1
- package/dist/cli/commands/run.js +243 -91
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/solver-nets.js +229 -0
- package/dist/cli/commands/solver-nets.js.map +1 -0
- package/dist/cli/commands/solver-plugins.d.ts +9 -0
- package/dist/cli/commands/solver-plugins.js +186 -0
- package/dist/cli/commands/solver-plugins.js.map +1 -0
- package/dist/cli/commands/status.d.ts +13 -0
- package/dist/cli/commands/status.js +105 -34
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/tasks.js +405 -0
- package/dist/cli/commands/tasks.js.map +1 -0
- package/dist/cli/commands/ui.d.ts +3 -0
- package/dist/cli/commands/ui.js +45 -0
- package/dist/cli/commands/ui.js.map +1 -0
- package/dist/cli/commands/update.d.ts +12 -0
- package/dist/cli/commands/update.js +321 -91
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/version.js +3 -2
- package/dist/cli/commands/version.js.map +1 -1
- package/dist/cli/commands/withdraw.d.ts +21 -1
- package/dist/cli/commands/withdraw.js +175 -159
- package/dist/cli/commands/withdraw.js.map +1 -1
- package/dist/cli/deployment-digest.js +0 -5
- package/dist/cli/deployment-digest.js.map +1 -1
- package/dist/cli/execution-context.d.ts +1 -1
- package/dist/cli/execution-context.js +4 -4
- package/dist/cli/execution-context.js.map +1 -1
- package/dist/cli/help.js +8 -1
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.js +26 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/introspection-context.js +0 -1
- package/dist/cli/introspection-context.js.map +1 -1
- package/dist/cli/open-browser.d.ts +1 -0
- package/dist/cli/open-browser.js +18 -0
- package/dist/cli/open-browser.js.map +1 -0
- package/dist/cli/password.d.ts +3 -3
- package/dist/cli/password.js +6 -6
- package/dist/cli/password.js.map +1 -1
- package/dist/cli/task-native-readiness.d.ts +27 -0
- package/dist/cli/task-native-readiness.js +170 -0
- package/dist/cli/task-native-readiness.js.map +1 -0
- package/dist/config.d.ts +1771 -57
- package/dist/config.js +527 -31
- package/dist/config.js.map +1 -1
- package/dist/conformance/checks/artifacts.d.ts +37 -0
- package/dist/conformance/checks/artifacts.js +110 -0
- package/dist/conformance/checks/artifacts.js.map +1 -0
- package/dist/conformance/checks/envelope-schema.d.ts +17 -0
- package/dist/conformance/checks/envelope-schema.js +36 -0
- package/dist/conformance/checks/envelope-schema.js.map +1 -0
- package/dist/conformance/checks/hash-signature.d.ts +26 -0
- package/dist/conformance/checks/hash-signature.js +70 -0
- package/dist/conformance/checks/hash-signature.js.map +1 -0
- package/dist/conformance/checks/payload.d.ts +19 -0
- package/dist/conformance/checks/payload.js +52 -0
- package/dist/conformance/checks/payload.js.map +1 -0
- package/dist/conformance/checks/secret-scrub.d.ts +33 -0
- package/dist/conformance/checks/secret-scrub.js +118 -0
- package/dist/conformance/checks/secret-scrub.js.map +1 -0
- package/dist/conformance/checks/source-runtime.d.ts +43 -0
- package/dist/conformance/checks/source-runtime.js +68 -0
- package/dist/conformance/checks/source-runtime.js.map +1 -0
- package/dist/conformance/checks/source-static.d.ts +61 -0
- package/dist/conformance/checks/source-static.js +311 -0
- package/dist/conformance/checks/source-static.js.map +1 -0
- package/dist/conformance/checks/trajectory-chain.d.ts +18 -0
- package/dist/conformance/checks/trajectory-chain.js +51 -0
- package/dist/conformance/checks/trajectory-chain.js.map +1 -0
- package/dist/conformance/checks/trajectory-profile.d.ts +17 -0
- package/dist/conformance/checks/trajectory-profile.js +51 -0
- package/dist/conformance/checks/trajectory-profile.js.map +1 -0
- package/dist/conformance/checks/trajectory-schema.d.ts +20 -0
- package/dist/conformance/checks/trajectory-schema.js +40 -0
- package/dist/conformance/checks/trajectory-schema.js.map +1 -0
- package/dist/conformance/checks/verdict.d.ts +44 -0
- package/dist/conformance/checks/verdict.js +122 -0
- package/dist/conformance/checks/verdict.js.map +1 -0
- package/dist/conformance/harness.d.ts +32 -0
- package/dist/conformance/harness.js +227 -0
- package/dist/conformance/harness.js.map +1 -0
- package/dist/conformance/types.d.ts +88 -0
- package/dist/conformance/types.js +31 -0
- package/dist/conformance/types.js.map +1 -0
- package/dist/corpus/acquire.d.ts +37 -0
- package/dist/corpus/acquire.js +155 -0
- package/dist/corpus/acquire.js.map +1 -0
- package/dist/corpus/cache.d.ts +14 -0
- package/dist/corpus/cache.js +18 -0
- package/dist/corpus/cache.js.map +1 -0
- package/dist/corpus/envelope-projection.d.ts +12 -0
- package/dist/corpus/envelope-projection.js +110 -0
- package/dist/corpus/envelope-projection.js.map +1 -0
- package/dist/corpus/fetch.d.ts +9 -0
- package/dist/corpus/fetch.js +24 -0
- package/dist/corpus/fetch.js.map +1 -0
- package/dist/corpus/index.d.ts +19 -0
- package/dist/corpus/index.js +81 -0
- package/dist/corpus/index.js.map +1 -0
- package/dist/corpus/prediction-brier-scoreboard-report.d.ts +17 -0
- package/dist/corpus/prediction-brier-scoreboard-report.js +148 -0
- package/dist/corpus/prediction-brier-scoreboard-report.js.map +1 -0
- package/dist/corpus/prediction-brier-scoreboard.d.ts +56 -0
- package/dist/corpus/prediction-brier-scoreboard.js +269 -0
- package/dist/corpus/prediction-brier-scoreboard.js.map +1 -0
- package/dist/corpus/prediction-scoreable-verdicts.d.ts +4 -0
- package/dist/corpus/prediction-scoreable-verdicts.js +23 -0
- package/dist/corpus/prediction-scoreable-verdicts.js.map +1 -0
- package/dist/corpus/query.d.ts +17 -0
- package/dist/corpus/query.js +108 -0
- package/dist/corpus/query.js.map +1 -0
- package/dist/corpus/route-resolver.d.ts +16 -0
- package/dist/corpus/route-resolver.js +20 -0
- package/dist/corpus/route-resolver.js.map +1 -0
- package/dist/corpus/types.d.ts +150 -0
- package/dist/corpus/types.js +50 -0
- package/dist/corpus/types.js.map +1 -0
- package/dist/daemon/balance-topup-loop.js +2 -1
- package/dist/daemon/balance-topup-loop.js.map +1 -1
- package/dist/daemon/creator.d.ts +7 -7
- package/dist/daemon/creator.js +11 -14
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +83 -31
- package/dist/daemon/daemon.js +206 -67
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/delivery-watcher.js +50 -4
- package/dist/daemon/delivery-watcher.js.map +1 -1
- package/dist/daemon/freeze-fence.d.ts +42 -0
- package/dist/daemon/freeze-fence.js +71 -0
- package/dist/daemon/freeze-fence.js.map +1 -0
- package/dist/daemon/jinn-claim-loop-canonical.d.ts +207 -0
- package/dist/daemon/jinn-claim-loop-canonical.js +296 -0
- package/dist/daemon/jinn-claim-loop-canonical.js.map +1 -0
- package/dist/daemon/jinn-claim-loop-mock.d.ts +61 -0
- package/dist/daemon/jinn-claim-loop-mock.js +122 -0
- package/dist/daemon/jinn-claim-loop-mock.js.map +1 -0
- package/dist/daemon/jinn-claim-loop.d.ts +123 -0
- package/dist/daemon/jinn-claim-loop.js +256 -0
- package/dist/daemon/jinn-claim-loop.js.map +1 -0
- package/dist/daemon/reward-claim-loop.d.ts +2 -0
- package/dist/daemon/reward-claim-loop.js +32 -27
- package/dist/daemon/reward-claim-loop.js.map +1 -1
- package/dist/dashboard/assets/index-C4Vp0vkW.js +76 -0
- package/dist/dashboard/assets/index-a0yafmyT.css +32 -0
- package/dist/dashboard/index.html +18 -74
- package/dist/earning/agent-wallet-binding.d.ts +133 -0
- package/dist/earning/agent-wallet-binding.js +202 -0
- package/dist/earning/agent-wallet-binding.js.map +1 -0
- package/dist/earning/bootstrap.d.ts +88 -1
- package/dist/earning/bootstrap.js +409 -56
- package/dist/earning/bootstrap.js.map +1 -1
- package/dist/earning/contracts.d.ts +328 -6
- package/dist/earning/contracts.js +295 -14
- package/dist/earning/contracts.js.map +1 -1
- package/dist/earning/evidence-simhash.d.ts +1 -1
- package/dist/earning/faucet.d.ts +31 -0
- package/dist/earning/faucet.js +37 -0
- package/dist/earning/faucet.js.map +1 -1
- package/dist/earning/funding-plan.d.ts +89 -0
- package/dist/earning/funding-plan.js +202 -0
- package/dist/earning/funding-plan.js.map +1 -0
- package/dist/earning/migrate-agent-id.d.ts +129 -0
- package/dist/earning/migrate-agent-id.js +256 -0
- package/dist/earning/migrate-agent-id.js.map +1 -0
- package/dist/earning/orphan-sweep.d.ts +14 -0
- package/dist/earning/orphan-sweep.js +63 -2
- package/dist/earning/orphan-sweep.js.map +1 -1
- package/dist/earning/reconcile.d.ts +2 -0
- package/dist/earning/reconcile.js +30 -0
- package/dist/earning/reconcile.js.map +1 -1
- package/dist/earning/safe-adapter.js +45 -3
- package/dist/earning/safe-adapter.js.map +1 -1
- package/dist/earning/stolas-claim.d.ts +86 -6
- package/dist/earning/stolas-claim.js +123 -9
- package/dist/earning/stolas-claim.js.map +1 -1
- package/dist/earning/store.d.ts +47 -0
- package/dist/earning/store.js +113 -1
- package/dist/earning/store.js.map +1 -1
- package/dist/earning/testnet-setup-migration.d.ts +32 -0
- package/dist/earning/testnet-setup-migration.js +214 -0
- package/dist/earning/testnet-setup-migration.js.map +1 -0
- package/dist/earning/types.d.ts +57 -9
- package/dist/earning/types.js +51 -2
- package/dist/earning/types.js.map +1 -1
- package/dist/earning/viem-clients.d.ts +20 -0
- package/dist/earning/viem-clients.js +32 -1
- package/dist/earning/viem-clients.js.map +1 -1
- package/dist/erc8004/abis.d.ts +423 -0
- package/dist/erc8004/abis.js +265 -0
- package/dist/erc8004/abis.js.map +1 -0
- package/dist/erc8004/addresses.d.ts +40 -0
- package/dist/erc8004/addresses.js +64 -0
- package/dist/erc8004/addresses.js.map +1 -0
- package/dist/erc8004/identity.d.ts +273 -0
- package/dist/erc8004/identity.js +405 -0
- package/dist/erc8004/identity.js.map +1 -0
- package/dist/erc8004/index.d.ts +13 -0
- package/dist/erc8004/index.js +20 -0
- package/dist/erc8004/index.js.map +1 -0
- package/dist/erc8004/reputation.d.ts +349 -0
- package/dist/erc8004/reputation.js +464 -0
- package/dist/erc8004/reputation.js.map +1 -0
- package/dist/erc8004/subgraph.d.ts +46 -0
- package/dist/erc8004/subgraph.js +37 -0
- package/dist/erc8004/subgraph.js.map +1 -0
- package/dist/erc8004/validation.d.ts +145 -0
- package/dist/erc8004/validation.js +219 -0
- package/dist/erc8004/validation.js.map +1 -0
- package/dist/errors/persisted-bootstrap-error.d.ts +4 -0
- package/dist/errors/persisted-bootstrap-error.js +50 -0
- package/dist/errors/persisted-bootstrap-error.js.map +1 -0
- package/dist/events/emitter.d.ts +12 -0
- package/dist/events/emitter.js +23 -0
- package/dist/events/emitter.js.map +1 -0
- package/dist/events/ring-buffer.d.ts +25 -0
- package/dist/events/ring-buffer.js +46 -0
- package/dist/events/ring-buffer.js.map +1 -0
- package/dist/events/types.d.ts +42 -0
- package/dist/events/types.js +28 -0
- package/dist/events/types.js.map +1 -0
- package/dist/harnesses/capability/index.d.ts +82 -0
- package/dist/harnesses/capability/index.js +12 -0
- package/dist/harnesses/capability/index.js.map +1 -0
- package/dist/harnesses/capability/scoped-rpc.d.ts +12 -0
- package/dist/harnesses/capability/scoped-rpc.js +34 -0
- package/dist/harnesses/capability/scoped-rpc.js.map +1 -0
- package/dist/harnesses/capability/scoped-secrets.d.ts +8 -0
- package/dist/harnesses/capability/scoped-secrets.js +10 -0
- package/dist/harnesses/capability/scoped-secrets.js.map +1 -0
- package/dist/harnesses/capability/scoped-signer.d.ts +46 -0
- package/dist/harnesses/capability/scoped-signer.js +73 -0
- package/dist/harnesses/capability/scoped-signer.js.map +1 -0
- package/dist/harnesses/engine/canonical-json.d.ts +1 -0
- package/dist/harnesses/engine/canonical-json.js +66 -0
- package/dist/harnesses/engine/canonical-json.js.map +1 -0
- package/dist/harnesses/engine/delivery.d.ts +58 -0
- package/dist/harnesses/engine/delivery.js +67 -0
- package/dist/harnesses/engine/delivery.js.map +1 -0
- package/dist/harnesses/engine/engine.d.ts +516 -0
- package/dist/harnesses/engine/engine.js +1544 -0
- package/dist/harnesses/engine/engine.js.map +1 -0
- package/dist/harnesses/engine/envelope-assembly.d.ts +73 -0
- package/dist/harnesses/engine/envelope-assembly.js +60 -0
- package/dist/harnesses/engine/envelope-assembly.js.map +1 -0
- package/dist/harnesses/engine/packaging.d.ts +87 -0
- package/dist/harnesses/engine/packaging.js +376 -0
- package/dist/harnesses/engine/packaging.js.map +1 -0
- package/dist/harnesses/engine/persistence.d.ts +193 -0
- package/dist/harnesses/engine/persistence.js +421 -0
- package/dist/harnesses/engine/persistence.js.map +1 -0
- package/dist/harnesses/engine/recovery.d.ts +22 -0
- package/dist/harnesses/engine/recovery.js +24 -0
- package/dist/harnesses/engine/recovery.js.map +1 -0
- package/dist/harnesses/engine/registry.d.ts +55 -0
- package/dist/harnesses/engine/registry.js +65 -0
- package/dist/harnesses/engine/registry.js.map +1 -0
- package/dist/harnesses/engine/signing.d.ts +30 -0
- package/dist/harnesses/engine/signing.js +39 -0
- package/dist/harnesses/engine/signing.js.map +1 -0
- package/dist/harnesses/engine/state.d.ts +42 -0
- package/dist/harnesses/engine/state.js +87 -0
- package/dist/harnesses/engine/state.js.map +1 -0
- package/dist/harnesses/engine/validate-manifest.d.ts +23 -0
- package/dist/harnesses/engine/validate-manifest.js +49 -0
- package/dist/harnesses/engine/validate-manifest.js.map +1 -0
- package/dist/harnesses/engine/verification-stub.d.ts +18 -0
- package/dist/harnesses/engine/verification-stub.js +18 -0
- package/dist/harnesses/engine/verification-stub.js.map +1 -0
- package/dist/harnesses/external-impls/index.d.ts +3 -0
- package/dist/harnesses/external-impls/index.js +2 -0
- package/dist/harnesses/external-impls/index.js.map +1 -0
- package/dist/harnesses/external-impls/loader.d.ts +50 -0
- package/dist/harnesses/external-impls/loader.js +139 -0
- package/dist/harnesses/external-impls/loader.js.map +1 -0
- package/dist/harnesses/external-impls/package-hash.d.ts +26 -0
- package/dist/harnesses/external-impls/package-hash.js +102 -0
- package/dist/harnesses/external-impls/package-hash.js.map +1 -0
- package/dist/harnesses/external-impls/types.d.ts +42 -0
- package/dist/harnesses/external-impls/types.js +10 -0
- package/dist/harnesses/external-impls/types.js.map +1 -0
- package/dist/harnesses/freeze.d.ts +34 -0
- package/dist/harnesses/freeze.js +60 -0
- package/dist/harnesses/freeze.js.map +1 -0
- package/dist/harnesses/impls/claude-code-learner/adapters/claude-code.d.ts +57 -0
- package/dist/harnesses/impls/claude-code-learner/adapters/claude-code.js +235 -0
- package/dist/harnesses/impls/claude-code-learner/adapters/claude-code.js.map +1 -0
- package/dist/harnesses/impls/claude-code-learner/harness.d.ts +22 -0
- package/dist/harnesses/impls/claude-code-learner/harness.js +56 -0
- package/dist/harnesses/impls/claude-code-learner/harness.js.map +1 -0
- package/dist/harnesses/impls/claude-code-learner/harvest.d.ts +20 -0
- package/dist/harnesses/impls/claude-code-learner/harvest.js +426 -0
- package/dist/harnesses/impls/claude-code-learner/harvest.js.map +1 -0
- package/dist/harnesses/impls/claude-code-learner/index.d.ts +14 -0
- package/dist/harnesses/impls/claude-code-learner/index.js +13 -0
- package/dist/harnesses/impls/claude-code-learner/index.js.map +1 -0
- package/dist/harnesses/impls/claude-code-learner/plugin-path.d.ts +14 -0
- package/dist/harnesses/impls/claude-code-learner/plugin-path.js +30 -0
- package/dist/harnesses/impls/claude-code-learner/plugin-path.js.map +1 -0
- package/dist/harnesses/impls/claude-code-learner/test-utils/fake-plugin-outputs.d.ts +50 -0
- package/dist/harnesses/impls/claude-code-learner/test-utils/fake-plugin-outputs.js +192 -0
- package/dist/harnesses/impls/claude-code-learner/test-utils/fake-plugin-outputs.js.map +1 -0
- package/dist/harnesses/impls/claude-code-learner/test-utils/noop-adapter.d.ts +22 -0
- package/dist/harnesses/impls/claude-code-learner/test-utils/noop-adapter.js +35 -0
- package/dist/harnesses/impls/claude-code-learner/test-utils/noop-adapter.js.map +1 -0
- package/dist/harnesses/impls/claude-code-learner/types.d.ts +112 -0
- package/dist/harnesses/impls/claude-code-learner/types.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-hyperliquid/api-wallet.d.ts +64 -0
- package/dist/harnesses/impls/claude-mcp-hyperliquid/api-wallet.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-hyperliquid/index.d.ts +106 -0
- package/dist/harnesses/impls/claude-mcp-hyperliquid/index.js +723 -0
- package/dist/harnesses/impls/claude-mcp-hyperliquid/index.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-hyperliquid/safety-rails.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-hyperliquid/session-orchestrator.d.ts +104 -0
- package/dist/harnesses/impls/claude-mcp-hyperliquid/session-orchestrator.js +264 -0
- package/dist/harnesses/impls/claude-mcp-hyperliquid/session-orchestrator.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-prediction/index.d.ts +44 -0
- package/dist/harnesses/impls/claude-mcp-prediction/index.js +250 -0
- package/dist/harnesses/impls/claude-mcp-prediction/index.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-prediction/mcp-tools.js +135 -0
- package/dist/harnesses/impls/claude-mcp-prediction/mcp-tools.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-prediction/prompt.d.ts +8 -0
- package/dist/harnesses/impls/claude-mcp-prediction/prompt.js +54 -0
- package/dist/harnesses/impls/claude-mcp-prediction/prompt.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.d.ts +43 -0
- package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.js +21 -0
- package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-prediction/types.d.ts +84 -0
- package/dist/harnesses/impls/claude-mcp-prediction/types.js +6 -0
- package/dist/harnesses/impls/claude-mcp-prediction/types.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-prediction-apy/index.d.ts +36 -0
- package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js +241 -0
- package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-prediction-apy/mcp-tools.js +136 -0
- package/dist/harnesses/impls/claude-mcp-prediction-apy/mcp-tools.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-prediction-apy/prompt.d.ts +7 -0
- package/dist/harnesses/impls/claude-mcp-prediction-apy/prompt.js +46 -0
- package/dist/harnesses/impls/claude-mcp-prediction-apy/prompt.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.d.ts +37 -0
- package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.js +19 -0
- package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-prediction-apy/types.d.ts +64 -0
- package/dist/harnesses/impls/claude-mcp-prediction-apy/types.js +6 -0
- package/dist/harnesses/impls/claude-mcp-prediction-apy/types.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-shared/single-session-orchestrator.d.ts +84 -0
- package/dist/harnesses/impls/claude-mcp-shared/single-session-orchestrator.js +206 -0
- package/dist/harnesses/impls/claude-mcp-shared/single-session-orchestrator.js.map +1 -0
- package/dist/harnesses/impls/evaluation-context.d.ts +23 -0
- package/dist/harnesses/impls/evaluation-context.js +25 -0
- package/dist/harnesses/impls/evaluation-context.js.map +1 -0
- package/dist/harnesses/impls/index.d.ts +74 -0
- package/dist/harnesses/impls/index.js +112 -0
- package/dist/harnesses/impls/index.js.map +1 -0
- package/dist/harnesses/impls/legacy-claude/index.d.ts +66 -0
- package/dist/harnesses/impls/legacy-claude/index.js +168 -0
- package/dist/harnesses/impls/legacy-claude/index.js.map +1 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/canonical-metrics.d.ts +68 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/canonical-metrics.js +117 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/canonical-metrics.js.map +1 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/availability.js.map +1 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/consistency.d.ts +78 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/consistency.js +274 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/consistency.js.map +1 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/eligibility.d.ts +23 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/eligibility.js +49 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/eligibility.js.map +1 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/integrity.d.ts +25 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/integrity.js +44 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/integrity.js.map +1 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/spec.d.ts +17 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/spec.js +43 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/spec.js.map +1 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/index.d.ts +44 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/index.js +569 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/index.js.map +1 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/score.js.map +1 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/types.d.ts +34 -0
- package/dist/harnesses/impls/portfolio-v0-evaluator/types.js.map +1 -0
- package/dist/harnesses/impls/prediction-apy-v0-baseline/index.d.ts +42 -0
- package/dist/harnesses/impls/prediction-apy-v0-baseline/index.js +114 -0
- package/dist/harnesses/impls/prediction-apy-v0-baseline/index.js.map +1 -0
- package/dist/harnesses/impls/prediction-apy-v0-baseline/strategy.js.map +1 -0
- package/dist/harnesses/impls/prediction-apy-v0-baseline/types.js.map +1 -0
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/canonical-metrics.d.ts +6 -0
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/canonical-metrics.js +11 -0
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/canonical-metrics.js.map +1 -0
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.d.ts +42 -0
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.js +346 -0
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.js.map +1 -0
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/parse-submission.d.ts +16 -0
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/parse-submission.js +22 -0
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/parse-submission.js.map +1 -0
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/score.js.map +1 -0
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/types.js.map +1 -0
- package/dist/harnesses/impls/prediction-v0-baseline/index.d.ts +33 -0
- package/dist/harnesses/impls/prediction-v0-baseline/index.js +109 -0
- package/dist/harnesses/impls/prediction-v0-baseline/index.js.map +1 -0
- package/dist/harnesses/impls/prediction-v0-baseline/strategy.d.ts +8 -0
- package/dist/harnesses/impls/prediction-v0-baseline/strategy.js +41 -0
- package/dist/harnesses/impls/prediction-v0-baseline/strategy.js.map +1 -0
- package/dist/harnesses/impls/prediction-v0-baseline/types.d.ts +7 -0
- package/dist/harnesses/impls/prediction-v0-baseline/types.js.map +1 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/canonical-metrics.d.ts +20 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/canonical-metrics.js.map +1 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/checks/availability.d.ts +9 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/checks/availability.js.map +1 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/checks/eligibility.d.ts +3 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/checks/eligibility.js.map +1 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/checks/integrity.d.ts +15 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/checks/integrity.js +111 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/checks/integrity.js.map +1 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/checks/spec.d.ts +5 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/checks/spec.js.map +1 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/index.d.ts +36 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/index.js +342 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/index.js.map +1 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/score.js.map +1 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/types.js +2 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/types.js.map +1 -0
- package/dist/harnesses/impls/prediction-v1-baseline/index.d.ts +31 -0
- package/dist/harnesses/impls/prediction-v1-baseline/index.js +79 -0
- package/dist/harnesses/impls/prediction-v1-baseline/index.js.map +1 -0
- package/dist/harnesses/impls/prediction-v1-evaluator/index.d.ts +32 -0
- package/dist/harnesses/impls/prediction-v1-evaluator/index.js +219 -0
- package/dist/harnesses/impls/prediction-v1-evaluator/index.js.map +1 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.d.ts +20 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +88 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +56 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +40 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -0
- package/dist/harnesses/manifest/index.d.ts +3 -0
- package/dist/harnesses/manifest/index.js +3 -0
- package/dist/harnesses/manifest/index.js.map +1 -0
- package/dist/harnesses/manifest/load.d.ts +7 -0
- package/dist/harnesses/manifest/load.js +49 -0
- package/dist/harnesses/manifest/load.js.map +1 -0
- package/dist/harnesses/manifest/types.d.ts +75 -0
- package/dist/harnesses/manifest/types.js +8 -0
- package/dist/harnesses/manifest/types.js.map +1 -0
- package/dist/harnesses/manifest/verify.d.ts +15 -0
- package/dist/harnesses/manifest/verify.js +53 -0
- package/dist/harnesses/manifest/verify.js.map +1 -0
- package/dist/harnesses/mode-state.d.ts +7 -0
- package/dist/harnesses/mode-state.js +43 -0
- package/dist/harnesses/mode-state.js.map +1 -0
- package/dist/harnesses/types.d.ts +274 -0
- package/dist/harnesses/types.js +28 -0
- package/dist/harnesses/types.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/main.d.ts +17 -2
- package/dist/main.js +1257 -127
- package/dist/main.js.map +1 -1
- package/dist/mcp/acquire-artifact.d.ts +39 -0
- package/dist/mcp/acquire-artifact.js +163 -0
- package/dist/mcp/acquire-artifact.js.map +1 -0
- package/dist/mcp/operator-server.d.ts +21 -4
- package/dist/mcp/operator-server.js +505 -30
- package/dist/mcp/operator-server.js.map +1 -1
- package/dist/mcp/search-records.d.ts +92 -0
- package/dist/mcp/search-records.js +393 -0
- package/dist/mcp/search-records.js.map +1 -0
- package/dist/mcp/server.d.ts +4 -4
- package/dist/mcp/server.js +148 -61
- package/dist/mcp/server.js.map +1 -1
- package/dist/observability/emit-event.d.ts +2 -2
- package/dist/observability/emit-event.js +2 -2
- package/dist/observability/emit-event.js.map +1 -1
- package/dist/operator-errors.d.ts +14 -0
- package/dist/operator-errors.js +39 -10
- package/dist/operator-errors.js.map +1 -1
- package/dist/plugins/digest.d.ts +1 -0
- package/dist/plugins/digest.js +28 -0
- package/dist/plugins/digest.js.map +1 -0
- package/dist/plugins/index.d.ts +6 -0
- package/dist/plugins/index.js +6 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/manifest.d.ts +7 -0
- package/dist/plugins/manifest.js +22 -0
- package/dist/plugins/manifest.js.map +1 -0
- package/dist/plugins/registry.d.ts +9 -0
- package/dist/plugins/registry.js +24 -0
- package/dist/plugins/registry.js.map +1 -0
- package/dist/plugins/resolvers.d.ts +2 -0
- package/dist/plugins/resolvers.js +126 -0
- package/dist/plugins/resolvers.js.map +1 -0
- package/dist/plugins/types.d.ts +35 -0
- package/dist/plugins/types.js +2 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/plugins/validator.d.ts +3 -0
- package/dist/plugins/validator.js +50 -0
- package/dist/plugins/validator.js.map +1 -0
- package/dist/preflight/claude-auth.d.ts +14 -12
- package/dist/preflight/claude-auth.js +23 -37
- package/dist/preflight/claude-auth.js.map +1 -1
- package/dist/runner/claude.d.ts +3 -3
- package/dist/runner/claude.js +62 -26
- package/dist/runner/claude.js.map +1 -1
- package/dist/runner/runner.d.ts +29 -2
- package/dist/runner/simple.d.ts +2 -2
- package/dist/runner/simple.js +2 -2
- package/dist/runner/simple.js.map +1 -1
- package/dist/scripts/fix-node-pty.mjs +62 -0
- package/dist/setup/claude-code-install.d.ts +19 -0
- package/dist/setup/claude-code-install.js +51 -0
- package/dist/setup/claude-code-install.js.map +1 -0
- package/dist/setup-mode.d.ts +34 -0
- package/dist/setup-mode.js +49 -0
- package/dist/setup-mode.js.map +1 -0
- package/dist/solver-nets/contracts.d.ts +2 -0
- package/dist/solver-nets/contracts.js +2 -0
- package/dist/solver-nets/contracts.js.map +1 -0
- package/dist/solver-nets/prediction-operator-ux.d.ts +112 -0
- package/dist/solver-nets/prediction-operator-ux.js +456 -0
- package/dist/solver-nets/prediction-operator-ux.js.map +1 -0
- package/dist/solver-nets/registry.d.ts +50 -0
- package/dist/solver-nets/registry.js +150 -0
- package/dist/solver-nets/registry.js.map +1 -0
- package/dist/solver-types/_swe-rebench-v2-aggregate.d.ts +31 -0
- package/dist/solver-types/_swe-rebench-v2-aggregate.js +49 -0
- package/dist/solver-types/_swe-rebench-v2-aggregate.js.map +1 -0
- package/dist/solver-types/_swe-rebench-v2-escrow.d.ts +27 -0
- package/dist/solver-types/_swe-rebench-v2-escrow.js +26 -0
- package/dist/solver-types/_swe-rebench-v2-escrow.js.map +1 -0
- package/dist/solver-types/_swe-rebench-v2-pool.d.ts +39 -0
- package/dist/solver-types/_swe-rebench-v2-pool.js +66 -0
- package/dist/solver-types/_swe-rebench-v2-pool.js.map +1 -0
- package/dist/solver-types/_swe-rebench-v2-state.d.ts +24 -0
- package/dist/solver-types/_swe-rebench-v2-state.js +54 -0
- package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -0
- package/dist/solver-types/constants.d.ts +5 -0
- package/dist/solver-types/constants.js +6 -0
- package/dist/solver-types/constants.js.map +1 -0
- package/dist/solver-types/index.d.ts +10 -0
- package/dist/solver-types/index.js +30 -0
- package/dist/solver-types/index.js.map +1 -0
- package/dist/solver-types/learner-loop-test.d.ts +2 -0
- package/dist/solver-types/learner-loop-test.js +39 -0
- package/dist/solver-types/learner-loop-test.js.map +1 -0
- package/dist/solver-types/portfolio-v0.d.ts +2 -0
- package/dist/solver-types/portfolio-v0.js +13 -0
- package/dist/solver-types/portfolio-v0.js.map +1 -0
- package/dist/solver-types/prediction-apy-v0-auto.d.ts +27 -0
- package/dist/solver-types/prediction-apy-v0-auto.js +109 -0
- package/dist/solver-types/prediction-apy-v0-auto.js.map +1 -0
- package/dist/solver-types/prediction-apy-v0-template.d.ts +8 -0
- package/dist/solver-types/prediction-apy-v0-template.js +22 -0
- package/dist/solver-types/prediction-apy-v0-template.js.map +1 -0
- package/dist/solver-types/prediction-apy-v0.d.ts +3 -0
- package/dist/solver-types/prediction-apy-v0.js +25 -0
- package/dist/solver-types/prediction-apy-v0.js.map +1 -0
- package/dist/solver-types/prediction-v0-auto.d.ts +69 -0
- package/dist/solver-types/prediction-v0-auto.js +146 -0
- package/dist/solver-types/prediction-v0-auto.js.map +1 -0
- package/dist/solver-types/prediction-v0-template.d.ts +70 -0
- package/dist/solver-types/prediction-v0-template.js +145 -0
- package/dist/solver-types/prediction-v0-template.js.map +1 -0
- package/dist/solver-types/prediction-v0.d.ts +13 -0
- package/dist/solver-types/prediction-v0.js +31 -0
- package/dist/solver-types/prediction-v0.js.map +1 -0
- package/dist/solver-types/prediction-v1-auto.d.ts +122 -0
- package/dist/solver-types/prediction-v1-auto.js +366 -0
- package/dist/solver-types/prediction-v1-auto.js.map +1 -0
- package/dist/solver-types/prediction-v1.d.ts +11 -0
- package/dist/solver-types/prediction-v1.js +27 -0
- package/dist/solver-types/prediction-v1.js.map +1 -0
- package/dist/solver-types/solver-type.d.ts +53 -0
- package/dist/solver-types/solver-type.js +6 -0
- package/dist/solver-types/solver-type.js.map +1 -0
- package/dist/solver-types/swe-rebench-v2-auto.d.ts +38 -0
- package/dist/solver-types/swe-rebench-v2-auto.js +56 -0
- package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -0
- package/dist/solver-types/swe-rebench-v2.d.ts +24 -0
- package/dist/solver-types/swe-rebench-v2.js +146 -0
- package/dist/solver-types/swe-rebench-v2.js.map +1 -0
- package/dist/solvernets/daemon-init.d.ts +291 -0
- package/dist/solvernets/daemon-init.js +431 -0
- package/dist/solvernets/daemon-init.js.map +1 -0
- package/dist/solvernets/launch-state-machine.d.ts +165 -0
- package/dist/solvernets/launch-state-machine.js +406 -0
- package/dist/solvernets/launch-state-machine.js.map +1 -0
- package/dist/solvernets/lifecycle-transitions.d.ts +183 -0
- package/dist/solvernets/lifecycle-transitions.js +386 -0
- package/dist/solvernets/lifecycle-transitions.js.map +1 -0
- package/dist/solvernets/manifest.d.ts +120 -0
- package/dist/solvernets/manifest.js +166 -0
- package/dist/solvernets/manifest.js.map +1 -0
- package/dist/solvernets/most-recent-wins.d.ts +77 -0
- package/dist/solvernets/most-recent-wins.js +82 -0
- package/dist/solvernets/most-recent-wins.js.map +1 -0
- package/dist/solvernets/registry-client-erc8004.d.ts +239 -0
- package/dist/solvernets/registry-client-erc8004.js +382 -0
- package/dist/solvernets/registry-client-erc8004.js.map +1 -0
- package/dist/solvernets/registry-client.d.ts +121 -0
- package/dist/solvernets/registry-client.js +19 -0
- package/dist/solvernets/registry-client.js.map +1 -0
- package/dist/solvernets/store.d.ts +298 -0
- package/dist/solvernets/store.js +271 -0
- package/dist/solvernets/store.js.map +1 -0
- package/dist/store/store.d.ts +175 -21
- package/dist/store/store.js +711 -46
- package/dist/store/store.js.map +1 -1
- package/dist/tasks/posting-service.d.ts +25 -0
- package/dist/tasks/posting-service.js +149 -0
- package/dist/tasks/posting-service.js.map +1 -0
- package/dist/tasks/signing.d.ts +4 -0
- package/dist/tasks/signing.js +18 -0
- package/dist/tasks/signing.js.map +1 -0
- package/dist/tasks/sources.d.ts +46 -0
- package/dist/tasks/sources.js +45 -0
- package/dist/tasks/sources.js.map +1 -0
- package/dist/templates/harnesses/alternative-harness/README.md.tmpl +44 -0
- package/dist/templates/harnesses/alternative-harness/gitignore.tmpl +3 -0
- package/dist/templates/harnesses/alternative-harness/jinn.manifest.json.tmpl +22 -0
- package/dist/templates/harnesses/alternative-harness/package.json.tmpl +26 -0
- package/dist/templates/harnesses/alternative-harness/src/coordinator.ts.tmpl +50 -0
- package/dist/templates/harnesses/alternative-harness/src/harness.ts.tmpl +31 -0
- package/dist/templates/harnesses/alternative-harness/src/index.ts.tmpl +44 -0
- package/dist/templates/harnesses/alternative-harness/src/mock-harness.ts.tmpl +41 -0
- package/dist/templates/harnesses/alternative-harness/src/phases/debrief.ts.tmpl +28 -0
- package/dist/templates/harnesses/alternative-harness/src/phases/execute.ts.tmpl +33 -0
- package/dist/templates/harnesses/alternative-harness/src/phases/improve.ts.tmpl +31 -0
- package/dist/templates/harnesses/alternative-harness/src/phases/memory.ts.tmpl +31 -0
- package/dist/templates/harnesses/alternative-harness/src/phases/orient.ts.tmpl +21 -0
- package/dist/templates/harnesses/alternative-harness/src/phases/plan.ts.tmpl +25 -0
- package/dist/templates/harnesses/alternative-harness/src/phases/strategize.ts.tmpl +29 -0
- package/dist/templates/harnesses/alternative-harness/test/coordinator.test.ts.tmpl +53 -0
- package/dist/templates/harnesses/alternative-harness/test/unit.test.ts.tmpl +55 -0
- package/dist/templates/harnesses/alternative-harness/tsconfig.json.tmpl +16 -0
- package/dist/templates/harnesses/evaluator/README.md.tmpl +36 -0
- package/dist/templates/harnesses/evaluator/gitignore.tmpl +3 -0
- package/dist/templates/harnesses/evaluator/jinn.manifest.json.tmpl +22 -0
- package/dist/templates/harnesses/evaluator/package.json.tmpl +26 -0
- package/dist/templates/harnesses/evaluator/src/index.ts.tmpl +35 -0
- package/dist/templates/harnesses/evaluator/test/unit.test.ts.tmpl +49 -0
- package/dist/templates/harnesses/evaluator/tsconfig.json.tmpl +16 -0
- package/dist/templates/harnesses/forecaster/README.md.tmpl +25 -0
- package/dist/templates/harnesses/forecaster/gitignore.tmpl +5 -0
- package/dist/templates/harnesses/forecaster/jinn.manifest.json.tmpl +22 -0
- package/dist/templates/harnesses/forecaster/package.json.tmpl +26 -0
- package/dist/templates/harnesses/forecaster/src/index.ts.tmpl +33 -0
- package/dist/templates/harnesses/forecaster/test/unit.test.ts.tmpl +42 -0
- package/dist/templates/harnesses/forecaster/tsconfig.json.tmpl +16 -0
- package/dist/trajectory/collector.d.ts +49 -0
- package/dist/trajectory/collector.js +86 -0
- package/dist/trajectory/collector.js.map +1 -0
- package/dist/trajectory/emit.d.ts +27 -0
- package/dist/trajectory/emit.js +40 -0
- package/dist/trajectory/emit.js.map +1 -0
- package/dist/trajectory/hash-chain.d.ts +18 -0
- package/dist/trajectory/hash-chain.js +23 -0
- package/dist/trajectory/hash-chain.js.map +1 -0
- package/dist/trajectory/index.d.ts +22 -0
- package/dist/trajectory/index.js +23 -0
- package/dist/trajectory/index.js.map +1 -0
- package/dist/trajectory/schema.d.ts +14 -14
- package/dist/trajectory/secret-scrub.d.ts +32 -0
- package/dist/trajectory/secret-scrub.js +51 -0
- package/dist/trajectory/secret-scrub.js.map +1 -0
- package/dist/trajectory/span-profile.d.ts +27 -0
- package/dist/trajectory/span-profile.js +51 -0
- package/dist/trajectory/span-profile.js.map +1 -0
- package/dist/trajectory/wrappers/http.d.ts +37 -0
- package/dist/trajectory/wrappers/http.js +85 -0
- package/dist/trajectory/wrappers/http.js.map +1 -0
- package/dist/trajectory/wrappers/mcp.d.ts +17 -0
- package/dist/trajectory/wrappers/mcp.js +58 -0
- package/dist/trajectory/wrappers/mcp.js.map +1 -0
- package/dist/trajectory/wrappers/subprocess.d.ts +32 -0
- package/dist/trajectory/wrappers/subprocess.js +70 -0
- package/dist/trajectory/wrappers/subprocess.js.map +1 -0
- package/dist/tx-retry.js +34 -9
- package/dist/tx-retry.js.map +1 -1
- package/dist/types/envelope.d.ts +1659 -0
- package/dist/types/envelope.js +133 -0
- package/dist/types/envelope.js.map +1 -0
- package/dist/types/index.d.ts +4 -4
- package/dist/types/index.js +4 -4
- package/dist/types/index.js.map +1 -1
- package/dist/types/payloads/index.d.ts +12 -0
- package/dist/types/payloads/index.js +60 -0
- package/dist/types/payloads/index.js.map +1 -0
- package/dist/types/payloads/portfolio-v0.d.ts +481 -0
- package/dist/types/payloads/portfolio-v0.js +94 -0
- package/dist/types/payloads/portfolio-v0.js.map +1 -0
- package/dist/types/payloads/prediction-apy-v0.d.ts +231 -0
- package/dist/types/payloads/prediction-apy-v0.js +63 -0
- package/dist/types/payloads/prediction-apy-v0.js.map +1 -0
- package/dist/types/payloads/prediction-v0.d.ts +262 -0
- package/dist/types/payloads/prediction-v0.js +73 -0
- package/dist/types/payloads/prediction-v0.js.map +1 -0
- package/dist/types/payloads/prediction-v1.d.ts +2 -0
- package/dist/types/payloads/prediction-v1.js +2 -0
- package/dist/types/payloads/prediction-v1.js.map +1 -0
- package/dist/types/portfolio.d.ts +31 -698
- package/dist/types/portfolio.js +20 -110
- package/dist/types/portfolio.js.map +1 -1
- package/dist/types/prediction-apy.d.ts +26 -366
- package/dist/types/prediction-apy.js +12 -68
- package/dist/types/prediction-apy.js.map +1 -1
- package/dist/types/prediction-v1.d.ts +2 -0
- package/dist/types/prediction-v1.js +2 -0
- package/dist/types/prediction-v1.js.map +1 -0
- package/dist/types/prediction.d.ts +546 -382
- package/dist/types/prediction.js +16 -87
- package/dist/types/prediction.js.map +1 -1
- package/dist/types/task-document.d.ts +1121 -0
- package/dist/types/task-document.js +99 -0
- package/dist/types/task-document.js.map +1 -0
- package/dist/types/task.d.ts +805 -0
- package/dist/types/task.js +88 -0
- package/dist/types/task.js.map +1 -0
- package/dist/types/window.d.ts +12 -0
- package/dist/types/window.js +6 -0
- package/dist/types/window.js.map +1 -0
- package/dist/util/path-safety.d.ts +21 -0
- package/dist/util/path-safety.js +28 -0
- package/dist/util/path-safety.js.map +1 -0
- package/dist/util/redact-rpc-urls.d.ts +5 -0
- package/dist/util/redact-rpc-urls.js +9 -0
- package/dist/util/redact-rpc-urls.js.map +1 -0
- package/dist/vendor/@jinn-network/sdk/README.md +89 -0
- package/dist/vendor/@jinn-network/sdk/dist/capabilities.d.ts +52 -0
- package/dist/vendor/@jinn-network/sdk/dist/capabilities.js +1 -0
- package/dist/vendor/@jinn-network/sdk/dist/checkpoint.d.ts +120 -0
- package/dist/vendor/@jinn-network/sdk/dist/checkpoint.js +39 -0
- package/dist/vendor/@jinn-network/sdk/dist/contracts.d.ts +144 -0
- package/dist/vendor/@jinn-network/sdk/dist/contracts.js +248 -0
- package/dist/vendor/@jinn-network/sdk/dist/harness.d.ts +120 -0
- package/dist/vendor/@jinn-network/sdk/dist/harness.js +31 -0
- package/dist/vendor/@jinn-network/sdk/dist/index.d.ts +2 -0
- package/dist/vendor/@jinn-network/sdk/dist/index.js +5 -0
- package/dist/vendor/@jinn-network/sdk/dist/json-schema.d.ts +32 -0
- package/dist/vendor/@jinn-network/sdk/dist/json-schema.js +131 -0
- package/dist/vendor/@jinn-network/sdk/dist/manifest.d.ts +69 -0
- package/dist/vendor/@jinn-network/sdk/dist/manifest.js +3 -0
- package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.d.ts +223 -0
- package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.js +64 -0
- package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.d.ts +107 -0
- package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.js +51 -0
- package/dist/vendor/@jinn-network/sdk/dist/plugins.d.ts +36 -0
- package/dist/vendor/@jinn-network/sdk/dist/plugins.js +54 -0
- package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.d.ts +870 -0
- package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.js +80 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/index.d.ts +6 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/index.js +8 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +559 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +126 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/prediction-v1.d.ts +6 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/prediction-v1.js +3 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.d.ts +4 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.js +2 -0
- package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.d.ts +66 -0
- package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.js +44 -0
- package/dist/vendor/@jinn-network/sdk/dist/types.d.ts +116 -0
- package/dist/vendor/@jinn-network/sdk/dist/types.js +21 -0
- package/dist/vendor/@jinn-network/sdk/package.json +43 -0
- package/dist/venues/hyperliquid/account-value.d.ts +1 -1
- package/dist/venues/hyperliquid/account-value.js +1 -1
- package/dist/venues/polymarket/client.d.ts +77 -0
- package/dist/venues/polymarket/client.js +309 -0
- package/dist/venues/polymarket/client.js.map +1 -0
- package/dist/withdraw/run-withdraw-plan.js +0 -2
- package/dist/withdraw/run-withdraw-plan.js.map +1 -1
- package/dist/x402/acquire.d.ts +14 -3
- package/dist/x402/acquire.js +28 -11
- package/dist/x402/acquire.js.map +1 -1
- package/dist/x402/handler.d.ts +15 -3
- package/dist/x402/handler.js +67 -24
- package/dist/x402/handler.js.map +1 -1
- package/package.json +46 -15
- package/plugins/claude-code-learner/.claude-plugin/plugin.json +9 -0
- package/plugins/claude-code-learner/AGENTS.md +31 -0
- package/plugins/claude-code-learner/CLAUDE.md +33 -0
- package/plugins/claude-code-learner/README.md +57 -0
- package/plugins/claude-code-learner/hooks/hooks.json +16 -0
- package/plugins/claude-code-learner/hooks/session-start +38 -0
- package/plugins/claude-code-learner/skills/learn/SKILL.md +405 -0
- package/plugins/claude-code-learner/skills/learn/analyst-prompt.md +68 -0
- package/plugins/claude-code-learner/skills/learn/consolidator-prompt.md +94 -0
- package/plugins/claude-code-learner/skills/learn/explorer-prompt.md +53 -0
- package/plugins/claude-code-learner/skills/learn/planner-prompt.md +87 -0
- package/plugins/claude-code-learner/skills/learn/promoter-prompt.md +113 -0
- package/plugins/claude-code-learner/skills/learn/step-worker-prompt.md +47 -0
- package/plugins/claude-code-learner/skills/learn/strategist-prompt.md +85 -0
- package/plugins/jinn-prediction-plugin/.claude-plugin/plugin.json +19 -0
- package/plugins/jinn-prediction-plugin/.mcp.json +8 -0
- package/plugins/jinn-prediction-plugin/GEMINI.md +7 -0
- package/plugins/jinn-prediction-plugin/gemini-extension.json +13 -0
- package/plugins/jinn-prediction-plugin/jinn.plugin.json +26 -0
- package/plugins/jinn-prediction-plugin/mcp/polymarket-server.mjs +322 -0
- package/plugins/jinn-prediction-plugin/schemas/prediction-v0-solution.schema.json +12 -0
- package/plugins/jinn-prediction-plugin/schemas/prediction-v0-task.schema.json +25 -0
- package/plugins/jinn-prediction-plugin/schemas/prediction-v0-verdict.schema.json +11 -0
- package/plugins/jinn-prediction-plugin/schemas/prediction-v1-solution.schema.json +34 -0
- package/plugins/jinn-prediction-plugin/schemas/prediction-v1-task.schema.json +118 -0
- package/plugins/jinn-prediction-plugin/schemas/prediction-v1-verdict.schema.json +84 -0
- package/plugins/jinn-prediction-plugin/skills/base-rate-forecasting/SKILL.md +3 -0
- package/plugins/jinn-prediction-plugin/skills/calibration/SKILL.md +3 -0
- package/plugins/jinn-prediction-plugin/skills/common-biases/SKILL.md +3 -0
- package/plugins/jinn-prediction-plugin/skills/polymarket-task-handling/SKILL.md +5 -0
- package/plugins/jinn-prediction-plugin/skills/prediction-corpus-retrieval/SKILL.md +35 -0
- package/plugins/network-tools/.claude-plugin/plugin.json +12 -0
- package/plugins/network-tools/jinn.plugin.json +29 -0
- package/plugins/network-tools/mcp/jinn-client-server.mjs +110 -0
- package/plugins/swe-rebench-v2-runtime/.claude-plugin/plugin.json +9 -0
- package/plugins/swe-rebench-v2-runtime/README.md +11 -0
- package/plugins/swe-rebench-v2-runtime/jinn.plugin.json +12 -0
- package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +25 -0
- package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +24 -0
- package/skills/jinn-operator/SKILL.md +120 -101
- package/templates/harnesses/alternative-harness/README.md.tmpl +44 -0
- package/templates/harnesses/alternative-harness/gitignore.tmpl +3 -0
- package/templates/harnesses/alternative-harness/jinn.manifest.json.tmpl +22 -0
- package/templates/harnesses/alternative-harness/package.json.tmpl +26 -0
- package/templates/harnesses/alternative-harness/src/coordinator.ts.tmpl +50 -0
- package/templates/harnesses/alternative-harness/src/harness.ts.tmpl +31 -0
- package/templates/harnesses/alternative-harness/src/index.ts.tmpl +44 -0
- package/templates/harnesses/alternative-harness/src/mock-harness.ts.tmpl +41 -0
- package/templates/harnesses/alternative-harness/src/phases/debrief.ts.tmpl +28 -0
- package/templates/harnesses/alternative-harness/src/phases/execute.ts.tmpl +33 -0
- package/templates/harnesses/alternative-harness/src/phases/improve.ts.tmpl +31 -0
- package/templates/harnesses/alternative-harness/src/phases/memory.ts.tmpl +31 -0
- package/templates/harnesses/alternative-harness/src/phases/orient.ts.tmpl +21 -0
- package/templates/harnesses/alternative-harness/src/phases/plan.ts.tmpl +25 -0
- package/templates/harnesses/alternative-harness/src/phases/strategize.ts.tmpl +29 -0
- package/templates/harnesses/alternative-harness/test/coordinator.test.ts.tmpl +53 -0
- package/templates/harnesses/alternative-harness/test/unit.test.ts.tmpl +55 -0
- package/templates/harnesses/alternative-harness/tsconfig.json.tmpl +16 -0
- package/templates/harnesses/evaluator/README.md.tmpl +36 -0
- package/templates/harnesses/evaluator/gitignore.tmpl +3 -0
- package/templates/harnesses/evaluator/jinn.manifest.json.tmpl +22 -0
- package/templates/harnesses/evaluator/package.json.tmpl +26 -0
- package/templates/harnesses/evaluator/src/index.ts.tmpl +35 -0
- package/templates/harnesses/evaluator/test/unit.test.ts.tmpl +49 -0
- package/templates/harnesses/evaluator/tsconfig.json.tmpl +16 -0
- package/templates/harnesses/forecaster/README.md.tmpl +25 -0
- package/templates/harnesses/forecaster/gitignore.tmpl +5 -0
- package/templates/harnesses/forecaster/jinn.manifest.json.tmpl +22 -0
- package/templates/harnesses/forecaster/package.json.tmpl +26 -0
- package/templates/harnesses/forecaster/src/index.ts.tmpl +33 -0
- package/templates/harnesses/forecaster/test/unit.test.ts.tmpl +42 -0
- package/templates/harnesses/forecaster/tsconfig.json.tmpl +16 -0
- package/dist/adapters/claim-registry/abi.d.ts +0 -127
- package/dist/adapters/claim-registry/abi.js +0 -93
- package/dist/adapters/claim-registry/abi.js.map +0 -1
- package/dist/adapters/claim-registry/client.d.ts +0 -89
- package/dist/adapters/claim-registry/client.js +0 -205
- package/dist/adapters/claim-registry/client.js.map +0 -1
- package/dist/adapters/mech/claim-policy.d.ts +0 -40
- package/dist/adapters/mech/claim-policy.js +0 -104
- package/dist/adapters/mech/claim-policy.js.map +0 -1
- package/dist/bin/jinn-mcp.d.ts +0 -2
- package/dist/bin/jinn-mcp.js +0 -10
- package/dist/bin/jinn-mcp.js.map +0 -1
- package/dist/cli/commands/intents.d.ts +0 -17
- package/dist/cli/commands/intents.js +0 -489
- package/dist/cli/commands/intents.js.map +0 -1
- package/dist/cli/commands/plugin-install.js +0 -803
- package/dist/cli/commands/plugin-install.js.map +0 -1
- package/dist/cli/commands/submit-intent.js +0 -245
- package/dist/cli/commands/submit-intent.js.map +0 -1
- package/dist/cli/intent-registry-access.d.ts +0 -62
- package/dist/cli/intent-registry-access.js +0 -165
- package/dist/cli/intent-registry-access.js.map +0 -1
- package/dist/discovery/registry.d.ts +0 -97
- package/dist/discovery/registry.js +0 -177
- package/dist/discovery/registry.js.map +0 -1
- package/dist/discovery/subgraph.d.ts +0 -37
- package/dist/discovery/subgraph.js +0 -87
- package/dist/discovery/subgraph.js.map +0 -1
- package/dist/intents/kinds/constants.d.ts +0 -5
- package/dist/intents/kinds/constants.js +0 -6
- package/dist/intents/kinds/constants.js.map +0 -1
- package/dist/intents/kinds/index.d.ts +0 -28
- package/dist/intents/kinds/index.js +0 -50
- package/dist/intents/kinds/index.js.map +0 -1
- package/dist/intents/kinds/portfolio-v0.d.ts +0 -2
- package/dist/intents/kinds/portfolio-v0.js +0 -13
- package/dist/intents/kinds/portfolio-v0.js.map +0 -1
- package/dist/intents/kinds/prediction-apy-v0.d.ts +0 -3
- package/dist/intents/kinds/prediction-apy-v0.js +0 -21
- package/dist/intents/kinds/prediction-apy-v0.js.map +0 -1
- package/dist/intents/kinds/prediction-v0.d.ts +0 -3
- package/dist/intents/kinds/prediction-v0.js +0 -32
- package/dist/intents/kinds/prediction-v0.js.map +0 -1
- package/dist/intents/kinds/spec-kind.d.ts +0 -38
- package/dist/intents/kinds/spec-kind.js +0 -6
- package/dist/intents/kinds/spec-kind.js.map +0 -1
- package/dist/intents/posting-service.d.ts +0 -26
- package/dist/intents/posting-service.js +0 -218
- package/dist/intents/posting-service.js.map +0 -1
- package/dist/intents/prediction-apy-v0-auto.d.ts +0 -11
- package/dist/intents/prediction-apy-v0-auto.js +0 -46
- package/dist/intents/prediction-apy-v0-auto.js.map +0 -1
- package/dist/intents/prediction-apy-v0-template.d.ts +0 -8
- package/dist/intents/prediction-apy-v0-template.js +0 -22
- package/dist/intents/prediction-apy-v0-template.js.map +0 -1
- package/dist/intents/prediction-v0-auto.d.ts +0 -53
- package/dist/intents/prediction-v0-auto.js +0 -84
- package/dist/intents/prediction-v0-auto.js.map +0 -1
- package/dist/intents/prediction-v0-template.d.ts +0 -70
- package/dist/intents/prediction-v0-template.js +0 -145
- package/dist/intents/prediction-v0-template.js.map +0 -1
- package/dist/intents/sources.d.ts +0 -39
- package/dist/intents/sources.js +0 -42
- package/dist/intents/sources.js.map +0 -1
- package/dist/restorer/engine/canonical-json.d.ts +0 -18
- package/dist/restorer/engine/canonical-json.js +0 -59
- package/dist/restorer/engine/canonical-json.js.map +0 -1
- package/dist/restorer/engine/claim.d.ts +0 -69
- package/dist/restorer/engine/claim.js +0 -104
- package/dist/restorer/engine/claim.js.map +0 -1
- package/dist/restorer/engine/delivery.d.ts +0 -52
- package/dist/restorer/engine/delivery.js +0 -63
- package/dist/restorer/engine/delivery.js.map +0 -1
- package/dist/restorer/engine/engine.d.ts +0 -213
- package/dist/restorer/engine/engine.js +0 -769
- package/dist/restorer/engine/engine.js.map +0 -1
- package/dist/restorer/engine/manifest-assembly.d.ts +0 -67
- package/dist/restorer/engine/manifest-assembly.js +0 -79
- package/dist/restorer/engine/manifest-assembly.js.map +0 -1
- package/dist/restorer/engine/packaging.d.ts +0 -87
- package/dist/restorer/engine/packaging.js +0 -350
- package/dist/restorer/engine/packaging.js.map +0 -1
- package/dist/restorer/engine/persistence.d.ts +0 -170
- package/dist/restorer/engine/persistence.js +0 -381
- package/dist/restorer/engine/persistence.js.map +0 -1
- package/dist/restorer/engine/recovery.d.ts +0 -22
- package/dist/restorer/engine/recovery.js +0 -24
- package/dist/restorer/engine/recovery.js.map +0 -1
- package/dist/restorer/engine/registry.d.ts +0 -62
- package/dist/restorer/engine/registry.js +0 -73
- package/dist/restorer/engine/registry.js.map +0 -1
- package/dist/restorer/engine/signing.d.ts +0 -30
- package/dist/restorer/engine/signing.js +0 -39
- package/dist/restorer/engine/signing.js.map +0 -1
- package/dist/restorer/engine/state.d.ts +0 -42
- package/dist/restorer/engine/state.js +0 -87
- package/dist/restorer/engine/state.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-hyperliquid/api-wallet.d.ts +0 -64
- package/dist/restorer/impls/claude-mcp-hyperliquid/api-wallet.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-hyperliquid/index.d.ts +0 -104
- package/dist/restorer/impls/claude-mcp-hyperliquid/index.js +0 -721
- package/dist/restorer/impls/claude-mcp-hyperliquid/index.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-hyperliquid/mcp-tools.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-hyperliquid/safety-rails.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.d.ts +0 -97
- package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.js +0 -226
- package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-prediction/index.d.ts +0 -44
- package/dist/restorer/impls/claude-mcp-prediction/index.js +0 -239
- package/dist/restorer/impls/claude-mcp-prediction/index.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-prediction/mcp-tools.js +0 -135
- package/dist/restorer/impls/claude-mcp-prediction/mcp-tools.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-prediction/prompt.d.ts +0 -8
- package/dist/restorer/impls/claude-mcp-prediction/prompt.js +0 -54
- package/dist/restorer/impls/claude-mcp-prediction/prompt.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.d.ts +0 -36
- package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.js +0 -137
- package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-prediction/types.d.ts +0 -84
- package/dist/restorer/impls/claude-mcp-prediction/types.js +0 -6
- package/dist/restorer/impls/claude-mcp-prediction/types.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-prediction-apy/index.d.ts +0 -34
- package/dist/restorer/impls/claude-mcp-prediction-apy/index.js +0 -233
- package/dist/restorer/impls/claude-mcp-prediction-apy/index.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-prediction-apy/mcp-tools.js +0 -136
- package/dist/restorer/impls/claude-mcp-prediction-apy/mcp-tools.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-prediction-apy/prompt.d.ts +0 -7
- package/dist/restorer/impls/claude-mcp-prediction-apy/prompt.js +0 -46
- package/dist/restorer/impls/claude-mcp-prediction-apy/prompt.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-prediction-apy/session-orchestrator.d.ts +0 -27
- package/dist/restorer/impls/claude-mcp-prediction-apy/session-orchestrator.js +0 -128
- package/dist/restorer/impls/claude-mcp-prediction-apy/session-orchestrator.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-prediction-apy/types.d.ts +0 -64
- package/dist/restorer/impls/claude-mcp-prediction-apy/types.js +0 -6
- package/dist/restorer/impls/claude-mcp-prediction-apy/types.js.map +0 -1
- package/dist/restorer/impls/evaluation-context.d.ts +0 -16
- package/dist/restorer/impls/evaluation-context.js +0 -18
- package/dist/restorer/impls/evaluation-context.js.map +0 -1
- package/dist/restorer/impls/index.d.ts +0 -46
- package/dist/restorer/impls/index.js +0 -88
- package/dist/restorer/impls/index.js.map +0 -1
- package/dist/restorer/impls/legacy-claude/index.d.ts +0 -52
- package/dist/restorer/impls/legacy-claude/index.js +0 -140
- package/dist/restorer/impls/legacy-claude/index.js.map +0 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/canonical-metrics.d.ts +0 -68
- package/dist/restorer/impls/portfolio-v0-evaluator/canonical-metrics.js +0 -117
- package/dist/restorer/impls/portfolio-v0-evaluator/canonical-metrics.js.map +0 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/checks/availability.js.map +0 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/checks/consistency.d.ts +0 -78
- package/dist/restorer/impls/portfolio-v0-evaluator/checks/consistency.js +0 -274
- package/dist/restorer/impls/portfolio-v0-evaluator/checks/consistency.js.map +0 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/checks/eligibility.d.ts +0 -23
- package/dist/restorer/impls/portfolio-v0-evaluator/checks/eligibility.js +0 -49
- package/dist/restorer/impls/portfolio-v0-evaluator/checks/eligibility.js.map +0 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/checks/integrity.d.ts +0 -25
- package/dist/restorer/impls/portfolio-v0-evaluator/checks/integrity.js +0 -44
- package/dist/restorer/impls/portfolio-v0-evaluator/checks/integrity.js.map +0 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/checks/spec.d.ts +0 -17
- package/dist/restorer/impls/portfolio-v0-evaluator/checks/spec.js +0 -43
- package/dist/restorer/impls/portfolio-v0-evaluator/checks/spec.js.map +0 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/index.d.ts +0 -44
- package/dist/restorer/impls/portfolio-v0-evaluator/index.js +0 -440
- package/dist/restorer/impls/portfolio-v0-evaluator/index.js.map +0 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/score.js.map +0 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/types.d.ts +0 -34
- package/dist/restorer/impls/portfolio-v0-evaluator/types.js.map +0 -1
- package/dist/restorer/impls/prediction-apy-v0-baseline/index.d.ts +0 -40
- package/dist/restorer/impls/prediction-apy-v0-baseline/index.js +0 -107
- package/dist/restorer/impls/prediction-apy-v0-baseline/index.js.map +0 -1
- package/dist/restorer/impls/prediction-apy-v0-baseline/strategy.js.map +0 -1
- package/dist/restorer/impls/prediction-apy-v0-baseline/types.js.map +0 -1
- package/dist/restorer/impls/prediction-apy-v0-evaluator/canonical-metrics.d.ts +0 -6
- package/dist/restorer/impls/prediction-apy-v0-evaluator/canonical-metrics.js +0 -11
- package/dist/restorer/impls/prediction-apy-v0-evaluator/canonical-metrics.js.map +0 -1
- package/dist/restorer/impls/prediction-apy-v0-evaluator/index.d.ts +0 -42
- package/dist/restorer/impls/prediction-apy-v0-evaluator/index.js +0 -208
- package/dist/restorer/impls/prediction-apy-v0-evaluator/index.js.map +0 -1
- package/dist/restorer/impls/prediction-apy-v0-evaluator/parse-submission.d.ts +0 -7
- package/dist/restorer/impls/prediction-apy-v0-evaluator/parse-submission.js +0 -29
- package/dist/restorer/impls/prediction-apy-v0-evaluator/parse-submission.js.map +0 -1
- package/dist/restorer/impls/prediction-apy-v0-evaluator/score.js.map +0 -1
- package/dist/restorer/impls/prediction-apy-v0-evaluator/types.js.map +0 -1
- package/dist/restorer/impls/prediction-v0-baseline/index.d.ts +0 -31
- package/dist/restorer/impls/prediction-v0-baseline/index.js +0 -100
- package/dist/restorer/impls/prediction-v0-baseline/index.js.map +0 -1
- package/dist/restorer/impls/prediction-v0-baseline/strategy.d.ts +0 -8
- package/dist/restorer/impls/prediction-v0-baseline/strategy.js +0 -41
- package/dist/restorer/impls/prediction-v0-baseline/strategy.js.map +0 -1
- package/dist/restorer/impls/prediction-v0-baseline/types.d.ts +0 -7
- package/dist/restorer/impls/prediction-v0-baseline/types.js.map +0 -1
- package/dist/restorer/impls/prediction-v0-evaluator/canonical-metrics.d.ts +0 -20
- package/dist/restorer/impls/prediction-v0-evaluator/canonical-metrics.js.map +0 -1
- package/dist/restorer/impls/prediction-v0-evaluator/checks/availability.d.ts +0 -9
- package/dist/restorer/impls/prediction-v0-evaluator/checks/availability.js.map +0 -1
- package/dist/restorer/impls/prediction-v0-evaluator/checks/eligibility.d.ts +0 -3
- package/dist/restorer/impls/prediction-v0-evaluator/checks/eligibility.js.map +0 -1
- package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.d.ts +0 -13
- package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.js +0 -111
- package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.js.map +0 -1
- package/dist/restorer/impls/prediction-v0-evaluator/checks/spec.d.ts +0 -5
- package/dist/restorer/impls/prediction-v0-evaluator/checks/spec.js.map +0 -1
- package/dist/restorer/impls/prediction-v0-evaluator/index.d.ts +0 -36
- package/dist/restorer/impls/prediction-v0-evaluator/index.js +0 -234
- package/dist/restorer/impls/prediction-v0-evaluator/index.js.map +0 -1
- package/dist/restorer/impls/prediction-v0-evaluator/score.js.map +0 -1
- package/dist/restorer/impls/prediction-v0-evaluator/types.js.map +0 -1
- package/dist/restorer/types.d.ts +0 -194
- package/dist/restorer/types.js +0 -28
- package/dist/restorer/types.js.map +0 -1
- package/dist/types/desired-state.d.ts +0 -94
- package/dist/types/desired-state.js +0 -36
- package/dist/types/desired-state.js.map +0 -1
- /package/dist/cli/commands/{plugin-install.d.ts → solver-nets.d.ts} +0 -0
- /package/dist/cli/commands/{submit-intent.d.ts → tasks.d.ts} +0 -0
- /package/dist/{restorer/impls/prediction-apy-v0-baseline → harnesses/impls/claude-code-learner}/types.js +0 -0
- /package/dist/{restorer → harnesses}/impls/claude-mcp-hyperliquid/api-wallet.js +0 -0
- /package/dist/{restorer → harnesses}/impls/claude-mcp-hyperliquid/mcp-tools.d.ts +0 -0
- /package/dist/{restorer → harnesses}/impls/claude-mcp-hyperliquid/mcp-tools.js +0 -0
- /package/dist/{restorer → harnesses}/impls/claude-mcp-hyperliquid/safety-rails.d.ts +0 -0
- /package/dist/{restorer → harnesses}/impls/claude-mcp-hyperliquid/safety-rails.js +0 -0
- /package/dist/{restorer → harnesses}/impls/claude-mcp-prediction/mcp-tools.d.ts +0 -0
- /package/dist/{restorer → harnesses}/impls/claude-mcp-prediction-apy/mcp-tools.d.ts +0 -0
- /package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/checks/availability.d.ts +0 -0
- /package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/checks/availability.js +0 -0
- /package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/score.d.ts +0 -0
- /package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/score.js +0 -0
- /package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/types.js +0 -0
- /package/dist/{restorer → harnesses}/impls/prediction-apy-v0-baseline/strategy.d.ts +0 -0
- /package/dist/{restorer → harnesses}/impls/prediction-apy-v0-baseline/strategy.js +0 -0
- /package/dist/{restorer → harnesses}/impls/prediction-apy-v0-baseline/types.d.ts +0 -0
- /package/dist/{restorer/impls/prediction-apy-v0-evaluator → harnesses/impls/prediction-apy-v0-baseline}/types.js +0 -0
- /package/dist/{restorer → harnesses}/impls/prediction-apy-v0-evaluator/score.d.ts +0 -0
- /package/dist/{restorer → harnesses}/impls/prediction-apy-v0-evaluator/score.js +0 -0
- /package/dist/{restorer → harnesses}/impls/prediction-apy-v0-evaluator/types.d.ts +0 -0
- /package/dist/{restorer/impls/prediction-v0-baseline → harnesses/impls/prediction-apy-v0-evaluator}/types.js +0 -0
- /package/dist/{restorer/impls/prediction-v0-evaluator → harnesses/impls/prediction-v0-baseline}/types.js +0 -0
- /package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/canonical-metrics.js +0 -0
- /package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/checks/availability.js +0 -0
- /package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/checks/eligibility.js +0 -0
- /package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/checks/spec.js +0 -0
- /package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/score.d.ts +0 -0
- /package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/score.js +0 -0
- /package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/types.d.ts +0 -0
package/dist/store/store.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Database from 'better-sqlite3';
|
|
2
2
|
import { mkdirSync } from 'node:fs';
|
|
3
3
|
import { dirname } from 'node:path';
|
|
4
|
-
import {
|
|
4
|
+
import { TASK_RUNS_SCHEMA } from '../harnesses/engine/persistence.js';
|
|
5
5
|
const SCHEMA = `
|
|
6
6
|
CREATE TABLE IF NOT EXISTS own_activity (
|
|
7
7
|
request_id TEXT PRIMARY KEY,
|
|
@@ -15,7 +15,9 @@ CREATE TABLE IF NOT EXISTS config (
|
|
|
15
15
|
|
|
16
16
|
CREATE TABLE IF NOT EXISTS artifacts (
|
|
17
17
|
id TEXT PRIMARY KEY,
|
|
18
|
-
|
|
18
|
+
task_id TEXT NOT NULL,
|
|
19
|
+
protocol_task_id TEXT,
|
|
20
|
+
task_cid TEXT,
|
|
19
21
|
request_id TEXT NOT NULL,
|
|
20
22
|
title TEXT NOT NULL,
|
|
21
23
|
content TEXT,
|
|
@@ -28,7 +30,6 @@ CREATE TABLE IF NOT EXISTS artifacts (
|
|
|
28
30
|
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
29
31
|
);
|
|
30
32
|
|
|
31
|
-
CREATE INDEX IF NOT EXISTS idx_artifacts_desired_state ON artifacts (desired_state_id);
|
|
32
33
|
CREATE INDEX IF NOT EXISTS idx_artifacts_outcome ON artifacts (outcome);
|
|
33
34
|
CREATE INDEX IF NOT EXISTS idx_artifacts_remote ON artifacts (remote);
|
|
34
35
|
|
|
@@ -39,7 +40,7 @@ CREATE TABLE IF NOT EXISTS activity_events (
|
|
|
39
40
|
request_id TEXT,
|
|
40
41
|
service_index INTEGER,
|
|
41
42
|
tx_hash TEXT,
|
|
42
|
-
|
|
43
|
+
solver_type TEXT,
|
|
43
44
|
outcome TEXT,
|
|
44
45
|
detail TEXT
|
|
45
46
|
);
|
|
@@ -71,21 +72,92 @@ CREATE TABLE IF NOT EXISTS balance_cache (
|
|
|
71
72
|
error TEXT
|
|
72
73
|
);
|
|
73
74
|
|
|
74
|
-
CREATE TABLE IF NOT EXISTS
|
|
75
|
+
CREATE TABLE IF NOT EXISTS task_posts (
|
|
75
76
|
creator_safe_address TEXT NOT NULL,
|
|
76
77
|
source_key TEXT NOT NULL,
|
|
77
78
|
policy_type TEXT NOT NULL CHECK (policy_type IN ('once_per_safe', 'once_per_bucket', 'interval')),
|
|
78
79
|
scope_key TEXT NOT NULL DEFAULT '',
|
|
79
|
-
|
|
80
|
+
task_id TEXT NOT NULL,
|
|
80
81
|
request_id TEXT NOT NULL,
|
|
81
82
|
first_posted_at TEXT NOT NULL,
|
|
82
83
|
last_posted_at TEXT NOT NULL,
|
|
83
84
|
post_count INTEGER NOT NULL DEFAULT 1,
|
|
84
85
|
PRIMARY KEY (creator_safe_address, source_key, policy_type, scope_key)
|
|
85
86
|
);
|
|
86
|
-
CREATE INDEX IF NOT EXISTS idx_intent_posts_desired_state ON intent_posts (desired_state_id);
|
|
87
87
|
|
|
88
|
-
CREATE TABLE IF NOT EXISTS
|
|
88
|
+
CREATE TABLE IF NOT EXISTS served_artifacts (
|
|
89
|
+
sha256 TEXT PRIMARY KEY,
|
|
90
|
+
artifact_type TEXT NOT NULL,
|
|
91
|
+
request_id TEXT,
|
|
92
|
+
envelope_cid TEXT,
|
|
93
|
+
content BLOB NOT NULL,
|
|
94
|
+
content_size INTEGER NOT NULL,
|
|
95
|
+
price_usdc TEXT NOT NULL,
|
|
96
|
+
created_at TEXT NOT NULL
|
|
97
|
+
);
|
|
98
|
+
CREATE INDEX IF NOT EXISTS idx_served_artifacts_request ON served_artifacts (request_id);
|
|
99
|
+
CREATE INDEX IF NOT EXISTS idx_served_artifacts_envelope ON served_artifacts (envelope_cid);
|
|
100
|
+
CREATE INDEX IF NOT EXISTS idx_served_artifacts_artifact_type ON served_artifacts (artifact_type);
|
|
101
|
+
|
|
102
|
+
CREATE TABLE IF NOT EXISTS network_artifacts (
|
|
103
|
+
sha256 TEXT PRIMARY KEY,
|
|
104
|
+
artifact_type TEXT NOT NULL,
|
|
105
|
+
envelope_cid TEXT,
|
|
106
|
+
content BLOB NOT NULL,
|
|
107
|
+
content_size INTEGER NOT NULL,
|
|
108
|
+
source TEXT NOT NULL CHECK (source IN ('origin', 'route-resolver', 'self-store-mirror')),
|
|
109
|
+
source_operator TEXT,
|
|
110
|
+
source_endpoint TEXT,
|
|
111
|
+
paid_amount_usdc TEXT NOT NULL,
|
|
112
|
+
fetched_at TEXT NOT NULL,
|
|
113
|
+
last_used_at TEXT NOT NULL,
|
|
114
|
+
peer_catalog_id TEXT
|
|
115
|
+
);
|
|
116
|
+
CREATE INDEX IF NOT EXISTS idx_network_artifacts_envelope ON network_artifacts (envelope_cid);
|
|
117
|
+
CREATE INDEX IF NOT EXISTS idx_network_artifacts_artifact_type ON network_artifacts (artifact_type);
|
|
118
|
+
CREATE INDEX IF NOT EXISTS idx_network_artifacts_last_used ON network_artifacts (last_used_at DESC);
|
|
119
|
+
|
|
120
|
+
CREATE TABLE IF NOT EXISTS envelope_projections (
|
|
121
|
+
envelope_id TEXT PRIMARY KEY,
|
|
122
|
+
envelope_cid TEXT,
|
|
123
|
+
envelope_sha256 TEXT,
|
|
124
|
+
signature_hash TEXT NOT NULL,
|
|
125
|
+
solver_type TEXT NOT NULL,
|
|
126
|
+
role TEXT NOT NULL,
|
|
127
|
+
task_cid TEXT,
|
|
128
|
+
task_id TEXT,
|
|
129
|
+
request_id TEXT,
|
|
130
|
+
generated_at INTEGER NOT NULL,
|
|
131
|
+
evidence_tier TEXT NOT NULL,
|
|
132
|
+
participant_safe_address TEXT,
|
|
133
|
+
participant_agent_eoa TEXT,
|
|
134
|
+
executor_impl_name TEXT,
|
|
135
|
+
executor_impl_version TEXT,
|
|
136
|
+
executor_runtime_bundle_digest TEXT,
|
|
137
|
+
executor_plugins_json TEXT NOT NULL DEFAULT '[]',
|
|
138
|
+
solution_envelope_cid TEXT,
|
|
139
|
+
solution_envelope_sha256 TEXT,
|
|
140
|
+
solution_envelope_ref TEXT,
|
|
141
|
+
metadata_json TEXT NOT NULL DEFAULT '{}',
|
|
142
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
143
|
+
);
|
|
144
|
+
CREATE INDEX IF NOT EXISTS idx_envelope_projections_solver_role ON envelope_projections (solver_type, role);
|
|
145
|
+
CREATE INDEX IF NOT EXISTS idx_envelope_projections_task_cid ON envelope_projections (task_cid);
|
|
146
|
+
CREATE INDEX IF NOT EXISTS idx_envelope_projections_request ON envelope_projections (request_id);
|
|
147
|
+
CREATE INDEX IF NOT EXISTS idx_envelope_projections_generated ON envelope_projections (generated_at DESC);
|
|
148
|
+
|
|
149
|
+
CREATE TABLE IF NOT EXISTS envelope_projection_metadata (
|
|
150
|
+
envelope_id TEXT NOT NULL,
|
|
151
|
+
key TEXT NOT NULL,
|
|
152
|
+
value_text TEXT NOT NULL,
|
|
153
|
+
value_type TEXT NOT NULL CHECK (value_type IN ('string', 'number', 'boolean')),
|
|
154
|
+
PRIMARY KEY (envelope_id, key),
|
|
155
|
+
FOREIGN KEY (envelope_id) REFERENCES envelope_projections(envelope_id) ON DELETE CASCADE
|
|
156
|
+
);
|
|
157
|
+
CREATE INDEX IF NOT EXISTS idx_envelope_projection_metadata_key_value
|
|
158
|
+
ON envelope_projection_metadata (key, value_text);
|
|
159
|
+
|
|
160
|
+
CREATE TABLE IF NOT EXISTS task_post_locks (
|
|
89
161
|
creator_safe_address TEXT NOT NULL,
|
|
90
162
|
source_key TEXT NOT NULL,
|
|
91
163
|
policy_type TEXT NOT NULL CHECK (policy_type IN ('once_per_safe', 'once_per_bucket', 'interval')),
|
|
@@ -108,9 +180,119 @@ export class Store {
|
|
|
108
180
|
this.db = new Database(dbPath);
|
|
109
181
|
this.db.pragma('journal_mode = WAL');
|
|
110
182
|
this.db.exec(SCHEMA);
|
|
111
|
-
this.db.exec(
|
|
183
|
+
this.db.exec(TASK_RUNS_SCHEMA);
|
|
184
|
+
this.ensureArtifactsTaskColumns();
|
|
112
185
|
this.ensureRewardClaimsTxIndex();
|
|
186
|
+
this.ensureNetworkArtifactsPeerCatalogId();
|
|
187
|
+
this.ensureTaskPostsTaskCoordinatorColumns();
|
|
188
|
+
this.ensureEnvelopeProjectionColumns();
|
|
113
189
|
this.backfillActivityEvents();
|
|
190
|
+
this.recordLegacyRestorationIntentsIgnored();
|
|
191
|
+
}
|
|
192
|
+
/** Older request-first DBs keyed artifacts by desired_state_id before Task-native IDs landed. */
|
|
193
|
+
ensureArtifactsTaskColumns() {
|
|
194
|
+
const cols = this.db.prepare(`PRAGMA table_info(artifacts)`).all();
|
|
195
|
+
const names = new Set(cols.map((c) => c.name));
|
|
196
|
+
if (!names.has('task_id')) {
|
|
197
|
+
this.db.exec(`ALTER TABLE artifacts ADD COLUMN task_id TEXT`);
|
|
198
|
+
if (names.has('desired_state_id')) {
|
|
199
|
+
this.db.exec(`UPDATE artifacts SET task_id = desired_state_id WHERE task_id IS NULL`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
if (!names.has('protocol_task_id')) {
|
|
203
|
+
this.db.exec(`ALTER TABLE artifacts ADD COLUMN protocol_task_id TEXT`);
|
|
204
|
+
}
|
|
205
|
+
if (!names.has('task_cid')) {
|
|
206
|
+
this.db.exec(`ALTER TABLE artifacts ADD COLUMN task_cid TEXT`);
|
|
207
|
+
}
|
|
208
|
+
this.db.exec(`CREATE INDEX IF NOT EXISTS idx_artifacts_task ON artifacts (task_id)`);
|
|
209
|
+
}
|
|
210
|
+
/** Older on-disk DBs predate `peer_catalog_id` on network_artifacts. */
|
|
211
|
+
ensureNetworkArtifactsPeerCatalogId() {
|
|
212
|
+
const cols = this.db.prepare(`PRAGMA table_info(network_artifacts)`).all();
|
|
213
|
+
if (!cols.some((c) => c.name === 'peer_catalog_id')) {
|
|
214
|
+
this.db.exec(`ALTER TABLE network_artifacts ADD COLUMN peer_catalog_id TEXT`);
|
|
215
|
+
}
|
|
216
|
+
this.db.exec(`CREATE INDEX IF NOT EXISTS idx_network_artifacts_peer_catalog ON network_artifacts (peer_catalog_id)`);
|
|
217
|
+
}
|
|
218
|
+
/** Fresh v1 state is Task-first; older local DBs get additive columns only. */
|
|
219
|
+
ensureTaskPostsTaskCoordinatorColumns() {
|
|
220
|
+
const cols = this.db.prepare(`PRAGMA table_info(task_posts)`).all();
|
|
221
|
+
const names = new Set(cols.map((c) => c.name));
|
|
222
|
+
if (!names.has('task_id')) {
|
|
223
|
+
this.db.exec(`ALTER TABLE task_posts ADD COLUMN task_id TEXT`);
|
|
224
|
+
}
|
|
225
|
+
if (!names.has('protocol_task_id')) {
|
|
226
|
+
this.db.exec(`ALTER TABLE task_posts ADD COLUMN protocol_task_id TEXT`);
|
|
227
|
+
}
|
|
228
|
+
if (!names.has('task_cid')) {
|
|
229
|
+
this.db.exec(`ALTER TABLE task_posts ADD COLUMN task_cid TEXT`);
|
|
230
|
+
}
|
|
231
|
+
this.db.exec(`CREATE INDEX IF NOT EXISTS idx_task_posts_task ON task_posts (task_id)`);
|
|
232
|
+
}
|
|
233
|
+
/** Older local DBs may have the projection table from before Task grouping fields landed. */
|
|
234
|
+
ensureEnvelopeProjectionColumns() {
|
|
235
|
+
const cols = this.db.prepare(`PRAGMA table_info(envelope_projections)`).all();
|
|
236
|
+
const names = new Set(cols.map((c) => c.name));
|
|
237
|
+
const addColumn = (name, ddl) => {
|
|
238
|
+
if (!names.has(name))
|
|
239
|
+
this.db.exec(`ALTER TABLE envelope_projections ADD COLUMN ${ddl}`);
|
|
240
|
+
};
|
|
241
|
+
addColumn('task_id', 'task_id TEXT');
|
|
242
|
+
addColumn('executor_runtime_bundle_digest', 'executor_runtime_bundle_digest TEXT');
|
|
243
|
+
addColumn('executor_plugins_json', `executor_plugins_json TEXT NOT NULL DEFAULT '[]'`);
|
|
244
|
+
addColumn('solution_envelope_cid', 'solution_envelope_cid TEXT');
|
|
245
|
+
addColumn('solution_envelope_sha256', 'solution_envelope_sha256 TEXT');
|
|
246
|
+
addColumn('solution_envelope_ref', 'solution_envelope_ref TEXT');
|
|
247
|
+
addColumn('metadata_json', `metadata_json TEXT NOT NULL DEFAULT '{}'`);
|
|
248
|
+
this.db.exec(`CREATE INDEX IF NOT EXISTS idx_envelope_projections_task_id ON envelope_projections (task_id)`);
|
|
249
|
+
this.db.exec(`CREATE INDEX IF NOT EXISTS idx_envelope_projections_solution_ref ON envelope_projections (solution_envelope_ref)`);
|
|
250
|
+
this.db.exec(`CREATE INDEX IF NOT EXISTS idx_envelope_projections_generated ON envelope_projections (generated_at DESC)`);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Task-native startup ignores the retired request-first `restoration_intents`
|
|
254
|
+
* table. Keep a one-time local marker when old in-flight rows are present so
|
|
255
|
+
* operators can see why they were not resumed without blocking Store startup.
|
|
256
|
+
*/
|
|
257
|
+
recordLegacyRestorationIntentsIgnored() {
|
|
258
|
+
const table = this.db.prepare(`SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'restoration_intents'`).get();
|
|
259
|
+
if (!table)
|
|
260
|
+
return;
|
|
261
|
+
const cols = this.db.prepare(`PRAGMA table_info(restoration_intents)`).all();
|
|
262
|
+
const names = new Set(cols.map((c) => c.name));
|
|
263
|
+
if (!names.has('state'))
|
|
264
|
+
return;
|
|
265
|
+
try {
|
|
266
|
+
const row = this.db.prepare(`SELECT COUNT(*) AS count
|
|
267
|
+
FROM restoration_intents
|
|
268
|
+
WHERE state NOT IN ('COMPLETE', 'FAILED')`).get();
|
|
269
|
+
const count = row?.count ?? 0;
|
|
270
|
+
if (count <= 0)
|
|
271
|
+
return;
|
|
272
|
+
const detail = `Ignored ${count} legacy request-first restoration_intents row${count === 1 ? '' : 's'}; ` +
|
|
273
|
+
'Task-native recovery does not resume ClaimRegistry/request-first jobs.';
|
|
274
|
+
const ts = new Date().toISOString();
|
|
275
|
+
const marker = {
|
|
276
|
+
schemaVersion: 1,
|
|
277
|
+
ignoredAt: ts,
|
|
278
|
+
table: 'restoration_intents',
|
|
279
|
+
inFlightRows: count,
|
|
280
|
+
reason: 'legacy_request_first_task_native_update',
|
|
281
|
+
};
|
|
282
|
+
const tx = this.db.transaction(() => {
|
|
283
|
+
this.db.prepare(`INSERT OR REPLACE INTO config (key, value) VALUES (?, ?)`).run('legacy_restoration_intents_ignored_v1', JSON.stringify(marker));
|
|
284
|
+
this.db.prepare(`INSERT INTO activity_events (ts, kind, outcome, detail)
|
|
285
|
+
SELECT @ts, 'legacy_ignored', 'ignored', @detail
|
|
286
|
+
WHERE NOT EXISTS (
|
|
287
|
+
SELECT 1 FROM activity_events
|
|
288
|
+
WHERE kind = 'legacy_ignored' AND detail = @detail
|
|
289
|
+
)`).run({ ts, detail });
|
|
290
|
+
});
|
|
291
|
+
tx();
|
|
292
|
+
}
|
|
293
|
+
catch {
|
|
294
|
+
// Legacy schemas varied. Never let stale request-first state block Store startup.
|
|
295
|
+
}
|
|
114
296
|
}
|
|
115
297
|
/** Idempotent: older DBs before idx_reward_claims_tx may lack the unique index. */
|
|
116
298
|
ensureRewardClaimsTxIndex() {
|
|
@@ -147,10 +329,11 @@ export class Store {
|
|
|
147
329
|
setConfigValue(key, value) {
|
|
148
330
|
this.db.prepare('INSERT OR REPLACE INTO config (key, value) VALUES (?, ?)').run(key, value);
|
|
149
331
|
}
|
|
150
|
-
|
|
151
|
-
const row = this.db.prepare(`SELECT creator_safe_address, source_key, policy_type, scope_key,
|
|
332
|
+
getTaskPostRecord(args) {
|
|
333
|
+
const row = this.db.prepare(`SELECT creator_safe_address, source_key, policy_type, scope_key, task_id,
|
|
334
|
+
protocol_task_id, task_cid, request_id,
|
|
152
335
|
first_posted_at, last_posted_at, post_count
|
|
153
|
-
FROM
|
|
336
|
+
FROM task_posts
|
|
154
337
|
WHERE creator_safe_address = @creatorSafeAddress
|
|
155
338
|
AND source_key = @sourceKey
|
|
156
339
|
AND policy_type = @policyType
|
|
@@ -162,37 +345,125 @@ export class Store {
|
|
|
162
345
|
sourceKey: row.source_key,
|
|
163
346
|
policyType: row.policy_type,
|
|
164
347
|
scopeKey: row.scope_key,
|
|
165
|
-
|
|
348
|
+
taskId: row.task_id,
|
|
349
|
+
protocolTaskId: row.protocol_task_id,
|
|
350
|
+
taskCid: row.task_cid,
|
|
166
351
|
requestId: row.request_id,
|
|
167
352
|
firstPostedAt: row.first_posted_at,
|
|
168
353
|
lastPostedAt: row.last_posted_at,
|
|
169
354
|
postCount: row.post_count,
|
|
170
355
|
};
|
|
171
356
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
357
|
+
/**
|
|
358
|
+
* Posted Tasks for the launcher mode (`GET /v1/launcher/tasks`,
|
|
359
|
+
* spec/2026-05-05-launcher-role-and-mode.md §5.3). Returns rows from
|
|
360
|
+
* `task_posts` filtered by creator Safe address, sorted by `last_posted_at
|
|
361
|
+
* DESC` (most recent first). The `solverType` is denormalised in by joining
|
|
362
|
+
* `activity_events` on `request_id` for the `task_posted` kind — that's
|
|
363
|
+
* where `posting-service.ts` writes the SolverType when the post lands.
|
|
364
|
+
*
|
|
365
|
+
* `before` filters to rows with `last_posted_at < before` (ISO-8601). When
|
|
366
|
+
* `before` is undefined, returns the most recent `limit` rows.
|
|
367
|
+
*
|
|
368
|
+
* Caller-side: `gatherLauncherTasks` (`api/launcher-tasks.ts`) maps the
|
|
369
|
+
* solver_type back to the operator's SolverNet name via config lookup.
|
|
370
|
+
*/
|
|
371
|
+
listPostedTasksByCreator(args) {
|
|
372
|
+
const limit = Math.max(0, Math.min(args.limit, 1000));
|
|
373
|
+
if (limit === 0)
|
|
374
|
+
return [];
|
|
375
|
+
const params = {
|
|
376
|
+
creator: args.creatorSafeAddress,
|
|
377
|
+
limit,
|
|
378
|
+
};
|
|
379
|
+
let beforeClause = '';
|
|
380
|
+
if (args.before) {
|
|
381
|
+
beforeClause = ' AND tp.last_posted_at < @before';
|
|
382
|
+
params['before'] = args.before;
|
|
383
|
+
}
|
|
384
|
+
// LEFT JOIN: a stale `task_posts` row from before activity_events backfill
|
|
385
|
+
// (or one whose event was lost to `recordActivityEvent` failure) still
|
|
386
|
+
// surfaces with a NULL solver_type — the gather function falls back to
|
|
387
|
+
// `solverNet: 'unknown'` rather than dropping the row, because the
|
|
388
|
+
// operator should still see the Task they posted.
|
|
389
|
+
const rows = this.db.prepare(`SELECT
|
|
390
|
+
tp.task_id,
|
|
391
|
+
tp.task_cid,
|
|
392
|
+
tp.protocol_task_id,
|
|
393
|
+
tp.request_id,
|
|
394
|
+
tp.last_posted_at,
|
|
395
|
+
(
|
|
396
|
+
SELECT ae.solver_type
|
|
397
|
+
FROM activity_events ae
|
|
398
|
+
WHERE ae.request_id = tp.request_id
|
|
399
|
+
AND ae.kind = 'task_posted'
|
|
400
|
+
AND ae.solver_type IS NOT NULL
|
|
401
|
+
ORDER BY ae.id DESC
|
|
402
|
+
LIMIT 1
|
|
403
|
+
) AS solver_type
|
|
404
|
+
FROM task_posts tp
|
|
405
|
+
WHERE tp.creator_safe_address = @creator${beforeClause}
|
|
406
|
+
ORDER BY tp.last_posted_at DESC
|
|
407
|
+
LIMIT @limit`).all(params);
|
|
408
|
+
return rows.map((r) => ({
|
|
409
|
+
// task_id was added by an additive migration; the column exists on every
|
|
410
|
+
// post-migration insert (posting-service.ts always writes it). Older
|
|
411
|
+
// rows fall back to protocol_task_id (chain Task ID) and finally
|
|
412
|
+
// request_id so the response shape's `taskId` is always populated.
|
|
413
|
+
taskId: r.task_id ?? r.protocol_task_id ?? r.request_id,
|
|
414
|
+
taskCid: r.task_cid ?? '',
|
|
415
|
+
solverType: r.solver_type,
|
|
416
|
+
requestId: r.request_id,
|
|
417
|
+
postedAt: r.last_posted_at,
|
|
418
|
+
}));
|
|
419
|
+
}
|
|
420
|
+
/** Count of posted Tasks for this creator with the given solver_type. v1
|
|
421
|
+
* treats every posted Task as in-flight (state derivation lands with
|
|
422
|
+
* router-watcher hardening, jinn-mono-l2zl.12). */
|
|
423
|
+
countPostedTasksByCreatorAndSolverType(args) {
|
|
424
|
+
const row = this.db.prepare(`SELECT COUNT(DISTINCT tp.task_id) AS c
|
|
425
|
+
FROM task_posts tp
|
|
426
|
+
INNER JOIN activity_events ae
|
|
427
|
+
ON ae.request_id = tp.request_id
|
|
428
|
+
AND ae.kind = 'task_posted'
|
|
429
|
+
WHERE tp.creator_safe_address = @creator
|
|
430
|
+
AND ae.solver_type = @solverType`).get({
|
|
431
|
+
creator: args.creatorSafeAddress,
|
|
432
|
+
solverType: args.solverType,
|
|
433
|
+
});
|
|
434
|
+
return row?.c ?? 0;
|
|
435
|
+
}
|
|
436
|
+
upsertTaskPostRecord(record) {
|
|
437
|
+
const params = {
|
|
438
|
+
...record,
|
|
439
|
+
protocolTaskId: record.protocolTaskId ?? null,
|
|
440
|
+
taskCid: record.taskCid ?? null,
|
|
441
|
+
};
|
|
442
|
+
this.db.prepare(`INSERT INTO task_posts
|
|
443
|
+
(creator_safe_address, source_key, policy_type, scope_key, task_id, protocol_task_id, task_cid, request_id,
|
|
175
444
|
first_posted_at, last_posted_at, post_count)
|
|
176
445
|
VALUES
|
|
177
|
-
(@creatorSafeAddress, @sourceKey, @policyType, @scopeKey, @
|
|
446
|
+
(@creatorSafeAddress, @sourceKey, @policyType, @scopeKey, @taskId, @protocolTaskId, @taskCid, @requestId,
|
|
178
447
|
@firstPostedAt, @lastPostedAt, @postCount)
|
|
179
448
|
ON CONFLICT(creator_safe_address, source_key, policy_type, scope_key) DO UPDATE SET
|
|
180
|
-
|
|
449
|
+
task_id = excluded.task_id,
|
|
450
|
+
protocol_task_id = excluded.protocol_task_id,
|
|
451
|
+
task_cid = excluded.task_cid,
|
|
181
452
|
request_id = excluded.request_id,
|
|
182
453
|
first_posted_at = excluded.first_posted_at,
|
|
183
454
|
last_posted_at = excluded.last_posted_at,
|
|
184
|
-
post_count = excluded.post_count`).run(
|
|
455
|
+
post_count = excluded.post_count`).run(params);
|
|
185
456
|
}
|
|
186
|
-
|
|
457
|
+
acquireTaskPostLock(args) {
|
|
187
458
|
const tx = this.db.transaction((params) => {
|
|
188
459
|
const existing = this.db.prepare(`SELECT owner_token, locked_at
|
|
189
|
-
FROM
|
|
460
|
+
FROM task_post_locks
|
|
190
461
|
WHERE creator_safe_address = @creatorSafeAddress
|
|
191
462
|
AND source_key = @sourceKey
|
|
192
463
|
AND policy_type = @policyType
|
|
193
464
|
AND scope_key = @scopeKey`).get(params);
|
|
194
465
|
if (!existing) {
|
|
195
|
-
this.db.prepare(`INSERT INTO
|
|
466
|
+
this.db.prepare(`INSERT INTO task_post_locks
|
|
196
467
|
(creator_safe_address, source_key, policy_type, scope_key, owner_token, locked_at)
|
|
197
468
|
VALUES
|
|
198
469
|
(@creatorSafeAddress, @sourceKey, @policyType, @scopeKey, @ownerToken, @lockedAt)`).run(params);
|
|
@@ -206,7 +477,7 @@ export class Store {
|
|
|
206
477
|
if (!isStale) {
|
|
207
478
|
return false;
|
|
208
479
|
}
|
|
209
|
-
this.db.prepare(`UPDATE
|
|
480
|
+
this.db.prepare(`UPDATE task_post_locks
|
|
210
481
|
SET owner_token = @ownerToken, locked_at = @lockedAt
|
|
211
482
|
WHERE creator_safe_address = @creatorSafeAddress
|
|
212
483
|
AND source_key = @sourceKey
|
|
@@ -216,8 +487,8 @@ export class Store {
|
|
|
216
487
|
});
|
|
217
488
|
return tx(args);
|
|
218
489
|
}
|
|
219
|
-
|
|
220
|
-
this.db.prepare(`DELETE FROM
|
|
490
|
+
releaseTaskPostLock(args) {
|
|
491
|
+
this.db.prepare(`DELETE FROM task_post_locks
|
|
221
492
|
WHERE creator_safe_address = @creatorSafeAddress
|
|
222
493
|
AND source_key = @sourceKey
|
|
223
494
|
AND policy_type = @policyType
|
|
@@ -244,14 +515,14 @@ export class Store {
|
|
|
244
515
|
return legacyRows.map(r => ({ requestId: r.request_id, role: r.role }));
|
|
245
516
|
}
|
|
246
517
|
recordActivityEvent(event) {
|
|
247
|
-
this.db.prepare(`INSERT INTO activity_events (ts, kind, request_id, service_index, tx_hash,
|
|
248
|
-
VALUES (@ts, @kind, @requestId, @serviceIndex, @txHash, @
|
|
518
|
+
this.db.prepare(`INSERT INTO activity_events (ts, kind, request_id, service_index, tx_hash, solver_type, outcome, detail)
|
|
519
|
+
VALUES (@ts, @kind, @requestId, @serviceIndex, @txHash, @solverType, @outcome, @detail)`).run({
|
|
249
520
|
ts: event.ts ?? null,
|
|
250
521
|
kind: event.kind,
|
|
251
522
|
requestId: event.requestId ?? null,
|
|
252
523
|
serviceIndex: event.serviceIndex ?? null,
|
|
253
524
|
txHash: event.txHash ?? null,
|
|
254
|
-
|
|
525
|
+
solverType: event.solverType ?? null,
|
|
255
526
|
outcome: event.outcome ?? null,
|
|
256
527
|
detail: event.detail ?? null,
|
|
257
528
|
});
|
|
@@ -269,7 +540,7 @@ export class Store {
|
|
|
269
540
|
params['cursor'] = opts.cursor;
|
|
270
541
|
}
|
|
271
542
|
const where = clauses.length > 0 ? `WHERE ${clauses.join(' AND ')}` : '';
|
|
272
|
-
const rows = this.db.prepare(`SELECT id, ts, kind, request_id, service_index, tx_hash,
|
|
543
|
+
const rows = this.db.prepare(`SELECT id, ts, kind, request_id, service_index, tx_hash, solver_type, outcome, detail
|
|
273
544
|
FROM activity_events
|
|
274
545
|
${where}
|
|
275
546
|
ORDER BY id DESC
|
|
@@ -281,7 +552,7 @@ export class Store {
|
|
|
281
552
|
requestId: r.request_id,
|
|
282
553
|
serviceIndex: r.service_index,
|
|
283
554
|
txHash: r.tx_hash,
|
|
284
|
-
|
|
555
|
+
solverType: r.solver_type,
|
|
285
556
|
outcome: r.outcome,
|
|
286
557
|
detail: r.detail,
|
|
287
558
|
}));
|
|
@@ -290,7 +561,7 @@ export class Store {
|
|
|
290
561
|
getActivityEventsAfterId(afterId, limit) {
|
|
291
562
|
const effectiveLimit = Math.max(0, Math.min(limit, 1000));
|
|
292
563
|
const rows = this.db
|
|
293
|
-
.prepare(`SELECT id, ts, kind, request_id, service_index, tx_hash,
|
|
564
|
+
.prepare(`SELECT id, ts, kind, request_id, service_index, tx_hash, solver_type, outcome, detail
|
|
294
565
|
FROM activity_events
|
|
295
566
|
WHERE id > @afterId
|
|
296
567
|
ORDER BY id ASC
|
|
@@ -303,7 +574,7 @@ export class Store {
|
|
|
303
574
|
requestId: r.request_id,
|
|
304
575
|
serviceIndex: r.service_index,
|
|
305
576
|
txHash: r.tx_hash,
|
|
306
|
-
|
|
577
|
+
solverType: r.solver_type,
|
|
307
578
|
outcome: r.outcome,
|
|
308
579
|
detail: r.detail,
|
|
309
580
|
}));
|
|
@@ -410,6 +681,10 @@ export class Store {
|
|
|
410
681
|
});
|
|
411
682
|
tx();
|
|
412
683
|
}
|
|
684
|
+
getTaskEvidenceHash(requestId) {
|
|
685
|
+
const row = this.db.prepare('SELECT evidence_hash FROM task_runs WHERE request_id = ?').get(requestId);
|
|
686
|
+
return row?.evidence_hash ?? null;
|
|
687
|
+
}
|
|
413
688
|
getLastProcessedBlock() {
|
|
414
689
|
const row = this.db.prepare('SELECT value FROM config WHERE key = ?').get('last_processed_block');
|
|
415
690
|
return row?.value ? BigInt(row.value) : null;
|
|
@@ -419,8 +694,8 @@ export class Store {
|
|
|
419
694
|
}
|
|
420
695
|
insertArtifact(artifact) {
|
|
421
696
|
this.db.prepare(`
|
|
422
|
-
INSERT OR REPLACE INTO artifacts (id,
|
|
423
|
-
VALUES (@id, @
|
|
697
|
+
INSERT OR REPLACE INTO artifacts (id, task_id, request_id, title, content, tags, outcome)
|
|
698
|
+
VALUES (@id, @taskId, @requestId, @title, @content, @tags, @outcome)
|
|
424
699
|
`).run({
|
|
425
700
|
...artifact,
|
|
426
701
|
tags: JSON.stringify(artifact.tags),
|
|
@@ -437,9 +712,9 @@ export class Store {
|
|
|
437
712
|
conditions.push('request_id = @requestId');
|
|
438
713
|
params['requestId'] = query.requestId;
|
|
439
714
|
}
|
|
440
|
-
if (query.
|
|
441
|
-
conditions.push('
|
|
442
|
-
params['
|
|
715
|
+
if (query.taskId) {
|
|
716
|
+
conditions.push('task_id = @taskId');
|
|
717
|
+
params['taskId'] = query.taskId;
|
|
443
718
|
}
|
|
444
719
|
if (query.after) {
|
|
445
720
|
conditions.push('created_at >= @after');
|
|
@@ -457,7 +732,7 @@ export class Store {
|
|
|
457
732
|
}
|
|
458
733
|
const where = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
|
|
459
734
|
const limit = query.limit ?? 50;
|
|
460
|
-
const rows = this.db.prepare(`SELECT id, title, content, tags, outcome, request_id,
|
|
735
|
+
const rows = this.db.prepare(`SELECT id, title, content, tags, outcome, request_id, task_id, created_at FROM artifacts ${where} ORDER BY created_at DESC LIMIT ${limit}`).all(params);
|
|
461
736
|
return rows.map(row => ({
|
|
462
737
|
...row,
|
|
463
738
|
tags: JSON.parse(row.tags),
|
|
@@ -465,19 +740,29 @@ export class Store {
|
|
|
465
740
|
}
|
|
466
741
|
insertRemoteArtifact(artifact) {
|
|
467
742
|
this.db.prepare(`
|
|
468
|
-
INSERT OR REPLACE INTO artifacts (id,
|
|
469
|
-
VALUES (@id, @
|
|
743
|
+
INSERT OR REPLACE INTO artifacts (id, task_id, request_id, title, tags, outcome, remote, owner_address, endpoint, price)
|
|
744
|
+
VALUES (@id, @taskId, @requestId, @title, @tags, @outcome, 1, @ownerAddress, @endpoint, @price)
|
|
470
745
|
`).run({
|
|
471
746
|
...artifact,
|
|
472
747
|
tags: JSON.stringify(artifact.tags),
|
|
473
748
|
price: artifact.price ?? null,
|
|
474
749
|
});
|
|
475
750
|
}
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
751
|
+
/**
|
|
752
|
+
* Text body for a catalog artifact id: local `artifacts.content`, else a peer-cached
|
|
753
|
+
* blob in `network_artifacts` (via `peer_catalog_id`).
|
|
754
|
+
*/
|
|
755
|
+
resolveCatalogArtifactContent(id) {
|
|
756
|
+
const local = this.db.prepare('SELECT content FROM artifacts WHERE id = ?').get(id);
|
|
757
|
+
if (local?.content != null)
|
|
758
|
+
return local.content;
|
|
759
|
+
const net = this.db.prepare(`SELECT content FROM network_artifacts WHERE peer_catalog_id = ? ORDER BY fetched_at DESC LIMIT 1`).get(id);
|
|
760
|
+
if (!net)
|
|
761
|
+
return null;
|
|
762
|
+
return net.content.toString('utf-8');
|
|
479
763
|
}
|
|
480
|
-
|
|
764
|
+
/** Endpoint / owner for a remote (peer-synced) catalog row in `artifacts`. */
|
|
765
|
+
getRemoteDiscoveryMetadata(id) {
|
|
481
766
|
const row = this.db.prepare('SELECT endpoint, owner_address, price FROM artifacts WHERE id = ? AND remote = 1').get(id);
|
|
482
767
|
if (!row)
|
|
483
768
|
return null;
|
|
@@ -493,11 +778,391 @@ export class Store {
|
|
|
493
778
|
return null;
|
|
494
779
|
return { ...row, tags: JSON.parse(row.tags) };
|
|
495
780
|
}
|
|
496
|
-
|
|
497
|
-
this.db.prepare(
|
|
781
|
+
saveServedArtifact(input) {
|
|
782
|
+
this.db.prepare(`INSERT OR REPLACE INTO served_artifacts
|
|
783
|
+
(sha256, artifact_type, request_id, envelope_cid, content, content_size, price_usdc, created_at)
|
|
784
|
+
VALUES
|
|
785
|
+
(@sha256, @artifactType, @requestId, @envelopeCid, @content, @contentSize, @priceUsdc, @createdAt)`).run({
|
|
786
|
+
sha256: input.sha256,
|
|
787
|
+
artifactType: input.artifactType,
|
|
788
|
+
requestId: input.requestId ?? null,
|
|
789
|
+
envelopeCid: input.envelopeCid ?? null,
|
|
790
|
+
content: input.content,
|
|
791
|
+
contentSize: input.content.length,
|
|
792
|
+
priceUsdc: input.priceUsdc,
|
|
793
|
+
createdAt: input.createdAt,
|
|
794
|
+
});
|
|
795
|
+
}
|
|
796
|
+
getServedArtifact(sha256) {
|
|
797
|
+
const row = this.db.prepare(`SELECT sha256, artifact_type, request_id, envelope_cid, content, content_size, price_usdc, created_at
|
|
798
|
+
FROM served_artifacts WHERE sha256 = ?`).get(sha256);
|
|
799
|
+
if (!row)
|
|
800
|
+
return null;
|
|
801
|
+
return {
|
|
802
|
+
sha256: row.sha256,
|
|
803
|
+
artifactType: row.artifact_type,
|
|
804
|
+
requestId: row.request_id,
|
|
805
|
+
envelopeCid: row.envelope_cid,
|
|
806
|
+
content: row.content,
|
|
807
|
+
contentSize: row.content_size,
|
|
808
|
+
priceUsdc: row.price_usdc,
|
|
809
|
+
createdAt: row.created_at,
|
|
810
|
+
};
|
|
811
|
+
}
|
|
812
|
+
getServedArtifactMetadata(sha256) {
|
|
813
|
+
const row = this.db.prepare(`SELECT sha256, artifact_type, request_id, envelope_cid, content_size, price_usdc, created_at
|
|
814
|
+
FROM served_artifacts WHERE sha256 = ?`).get(sha256);
|
|
815
|
+
if (!row)
|
|
816
|
+
return null;
|
|
817
|
+
return {
|
|
818
|
+
sha256: row.sha256,
|
|
819
|
+
artifactType: row.artifact_type,
|
|
820
|
+
requestId: row.request_id,
|
|
821
|
+
envelopeCid: row.envelope_cid,
|
|
822
|
+
contentSize: row.content_size,
|
|
823
|
+
priceUsdc: row.price_usdc,
|
|
824
|
+
createdAt: row.created_at,
|
|
825
|
+
};
|
|
826
|
+
}
|
|
827
|
+
setServedArtifactEnvelopeCid(sha256, envelopeCid) {
|
|
828
|
+
this.db.prepare(`UPDATE served_artifacts SET envelope_cid = ? WHERE sha256 = ?`).run(envelopeCid, sha256);
|
|
829
|
+
}
|
|
830
|
+
getServedArtifactsByRequestId(requestId) {
|
|
831
|
+
const rows = this.db.prepare(`SELECT sha256, artifact_type, request_id, envelope_cid, content, content_size, price_usdc, created_at
|
|
832
|
+
FROM served_artifacts WHERE request_id = ? ORDER BY created_at ASC`).all(requestId);
|
|
833
|
+
return rows.map((row) => ({
|
|
834
|
+
sha256: row.sha256,
|
|
835
|
+
artifactType: row.artifact_type,
|
|
836
|
+
requestId: row.request_id,
|
|
837
|
+
envelopeCid: row.envelope_cid,
|
|
838
|
+
content: row.content,
|
|
839
|
+
contentSize: row.content_size,
|
|
840
|
+
priceUsdc: row.price_usdc,
|
|
841
|
+
createdAt: row.created_at,
|
|
842
|
+
}));
|
|
843
|
+
}
|
|
844
|
+
saveNetworkArtifact(input) {
|
|
845
|
+
if (input.peerCatalogId) {
|
|
846
|
+
this.db.prepare(`DELETE FROM network_artifacts WHERE peer_catalog_id = ?`).run(input.peerCatalogId);
|
|
847
|
+
}
|
|
848
|
+
this.db.prepare(`INSERT OR REPLACE INTO network_artifacts
|
|
849
|
+
(sha256, artifact_type, envelope_cid, content, content_size, source,
|
|
850
|
+
source_operator, source_endpoint, paid_amount_usdc, fetched_at, last_used_at, peer_catalog_id)
|
|
851
|
+
VALUES
|
|
852
|
+
(@sha256, @artifactType, @envelopeCid, @content, @contentSize, @source,
|
|
853
|
+
@sourceOperator, @sourceEndpoint, @paidAmountUsdc, @fetchedAt, @fetchedAt, @peerCatalogId)`).run({
|
|
854
|
+
sha256: input.sha256,
|
|
855
|
+
artifactType: input.artifactType,
|
|
856
|
+
envelopeCid: input.envelopeCid ?? null,
|
|
857
|
+
content: input.content,
|
|
858
|
+
contentSize: input.content.length,
|
|
859
|
+
source: input.source,
|
|
860
|
+
sourceOperator: input.sourceOperator ?? null,
|
|
861
|
+
sourceEndpoint: input.sourceEndpoint ?? null,
|
|
862
|
+
paidAmountUsdc: input.paidAmountUsdc,
|
|
863
|
+
fetchedAt: input.fetchedAt,
|
|
864
|
+
peerCatalogId: input.peerCatalogId ?? null,
|
|
865
|
+
});
|
|
866
|
+
}
|
|
867
|
+
getNetworkArtifact(sha256) {
|
|
868
|
+
const row = this.db.prepare(`SELECT sha256, artifact_type, envelope_cid, content, content_size, source,
|
|
869
|
+
source_operator, source_endpoint, paid_amount_usdc, fetched_at, last_used_at,
|
|
870
|
+
peer_catalog_id
|
|
871
|
+
FROM network_artifacts WHERE sha256 = ?`).get(sha256);
|
|
872
|
+
if (!row)
|
|
873
|
+
return null;
|
|
874
|
+
return {
|
|
875
|
+
sha256: row.sha256,
|
|
876
|
+
artifactType: row.artifact_type,
|
|
877
|
+
envelopeCid: row.envelope_cid,
|
|
878
|
+
content: row.content,
|
|
879
|
+
contentSize: row.content_size,
|
|
880
|
+
source: row.source,
|
|
881
|
+
sourceOperator: row.source_operator,
|
|
882
|
+
sourceEndpoint: row.source_endpoint,
|
|
883
|
+
paidAmountUsdc: row.paid_amount_usdc,
|
|
884
|
+
fetchedAt: row.fetched_at,
|
|
885
|
+
lastUsedAt: row.last_used_at,
|
|
886
|
+
peerCatalogId: row.peer_catalog_id,
|
|
887
|
+
};
|
|
888
|
+
}
|
|
889
|
+
getNetworkArtifactMetadata(sha256) {
|
|
890
|
+
const row = this.db.prepare(`SELECT sha256, artifact_type, envelope_cid, content_size, source,
|
|
891
|
+
source_operator, source_endpoint, paid_amount_usdc, fetched_at, last_used_at,
|
|
892
|
+
peer_catalog_id
|
|
893
|
+
FROM network_artifacts WHERE sha256 = ?`).get(sha256);
|
|
894
|
+
if (!row)
|
|
895
|
+
return null;
|
|
896
|
+
return {
|
|
897
|
+
sha256: row.sha256,
|
|
898
|
+
artifactType: row.artifact_type,
|
|
899
|
+
envelopeCid: row.envelope_cid,
|
|
900
|
+
contentSize: row.content_size,
|
|
901
|
+
source: row.source,
|
|
902
|
+
sourceOperator: row.source_operator,
|
|
903
|
+
sourceEndpoint: row.source_endpoint,
|
|
904
|
+
paidAmountUsdc: row.paid_amount_usdc,
|
|
905
|
+
fetchedAt: row.fetched_at,
|
|
906
|
+
lastUsedAt: row.last_used_at,
|
|
907
|
+
peerCatalogId: row.peer_catalog_id,
|
|
908
|
+
};
|
|
909
|
+
}
|
|
910
|
+
touchNetworkArtifactUsage(sha256, ts) {
|
|
911
|
+
this.db.prepare(`UPDATE network_artifacts SET last_used_at = ? WHERE sha256 = ?`).run(ts, sha256);
|
|
912
|
+
}
|
|
913
|
+
/**
|
|
914
|
+
* Local fast-path search across own (served) artifacts and cached (network)
|
|
915
|
+
* artifacts. Used by MCP record search to prepend locally held matches to
|
|
916
|
+
* corpus query results without loading artifact bytes.
|
|
917
|
+
*/
|
|
918
|
+
searchOwnAndCached(filter) {
|
|
919
|
+
const limit = Math.min(Math.max(1, filter.limit), 500);
|
|
920
|
+
const ownSql = filter.artifactType
|
|
921
|
+
? `SELECT sha256, artifact_type, envelope_cid, content_size, price_usdc, created_at FROM served_artifacts WHERE artifact_type = @type ORDER BY created_at DESC LIMIT @limit`
|
|
922
|
+
: `SELECT sha256, artifact_type, envelope_cid, content_size, price_usdc, created_at FROM served_artifacts ORDER BY created_at DESC LIMIT @limit`;
|
|
923
|
+
const cachedSql = filter.artifactType
|
|
924
|
+
? `SELECT sha256, artifact_type, envelope_cid, content_size, source_operator, source_endpoint, paid_amount_usdc, fetched_at FROM network_artifacts WHERE artifact_type = @type ORDER BY fetched_at DESC LIMIT @limit`
|
|
925
|
+
: `SELECT sha256, artifact_type, envelope_cid, content_size, source_operator, source_endpoint, paid_amount_usdc, fetched_at FROM network_artifacts ORDER BY fetched_at DESC LIMIT @limit`;
|
|
926
|
+
const params = { limit };
|
|
927
|
+
if (filter.artifactType)
|
|
928
|
+
params['type'] = filter.artifactType;
|
|
929
|
+
const own = this.db.prepare(ownSql).all(params);
|
|
930
|
+
const cached = this.db.prepare(cachedSql).all(params);
|
|
931
|
+
return [
|
|
932
|
+
...own.map((r) => ({
|
|
933
|
+
sha256: r.sha256,
|
|
934
|
+
artifactType: r.artifact_type,
|
|
935
|
+
source: 'served',
|
|
936
|
+
envelopeCid: r.envelope_cid,
|
|
937
|
+
createdAt: r.created_at,
|
|
938
|
+
contentSize: r.content_size,
|
|
939
|
+
priceUsdc: r.price_usdc,
|
|
940
|
+
})),
|
|
941
|
+
...cached.map((r) => ({
|
|
942
|
+
sha256: r.sha256,
|
|
943
|
+
artifactType: r.artifact_type,
|
|
944
|
+
source: 'network',
|
|
945
|
+
envelopeCid: r.envelope_cid,
|
|
946
|
+
createdAt: r.fetched_at,
|
|
947
|
+
contentSize: r.content_size,
|
|
948
|
+
sourceEndpoint: r.source_endpoint,
|
|
949
|
+
sourceOperator: r.source_operator,
|
|
950
|
+
paidAmountUsdc: r.paid_amount_usdc,
|
|
951
|
+
})),
|
|
952
|
+
];
|
|
953
|
+
}
|
|
954
|
+
saveEnvelopeProjection(projection) {
|
|
955
|
+
const tx = this.db.transaction((p) => {
|
|
956
|
+
this.db.prepare(`INSERT INTO envelope_projections
|
|
957
|
+
(envelope_id, envelope_cid, envelope_sha256, signature_hash, solver_type, role,
|
|
958
|
+
task_cid, task_id, request_id, generated_at, evidence_tier,
|
|
959
|
+
participant_safe_address, participant_agent_eoa,
|
|
960
|
+
executor_impl_name, executor_impl_version, executor_runtime_bundle_digest,
|
|
961
|
+
executor_plugins_json, solution_envelope_cid, solution_envelope_sha256,
|
|
962
|
+
solution_envelope_ref, metadata_json)
|
|
963
|
+
VALUES
|
|
964
|
+
(@envelopeId, @envelopeCid, @envelopeSha256, @signatureHash, @solverType, @role,
|
|
965
|
+
@taskCid, @taskId, @requestId, @generatedAt, @evidenceTier,
|
|
966
|
+
@participantSafeAddress, @participantAgentEoa,
|
|
967
|
+
@executorImplName, @executorImplVersion, @executorRuntimeBundleDigest,
|
|
968
|
+
@executorPluginsJson, @solutionEnvelopeCid, @solutionEnvelopeSha256,
|
|
969
|
+
@solutionEnvelopeRef, @metadataJson)
|
|
970
|
+
ON CONFLICT(envelope_id) DO UPDATE SET
|
|
971
|
+
envelope_cid = excluded.envelope_cid,
|
|
972
|
+
envelope_sha256 = excluded.envelope_sha256,
|
|
973
|
+
signature_hash = excluded.signature_hash,
|
|
974
|
+
solver_type = excluded.solver_type,
|
|
975
|
+
role = excluded.role,
|
|
976
|
+
task_cid = excluded.task_cid,
|
|
977
|
+
task_id = excluded.task_id,
|
|
978
|
+
request_id = excluded.request_id,
|
|
979
|
+
generated_at = excluded.generated_at,
|
|
980
|
+
evidence_tier = excluded.evidence_tier,
|
|
981
|
+
participant_safe_address = excluded.participant_safe_address,
|
|
982
|
+
participant_agent_eoa = excluded.participant_agent_eoa,
|
|
983
|
+
executor_impl_name = excluded.executor_impl_name,
|
|
984
|
+
executor_impl_version = excluded.executor_impl_version,
|
|
985
|
+
executor_runtime_bundle_digest = excluded.executor_runtime_bundle_digest,
|
|
986
|
+
executor_plugins_json = excluded.executor_plugins_json,
|
|
987
|
+
solution_envelope_cid = excluded.solution_envelope_cid,
|
|
988
|
+
solution_envelope_sha256 = excluded.solution_envelope_sha256,
|
|
989
|
+
solution_envelope_ref = excluded.solution_envelope_ref,
|
|
990
|
+
metadata_json = excluded.metadata_json`).run({
|
|
991
|
+
envelopeId: p.envelopeId,
|
|
992
|
+
envelopeCid: p.envelopeCid,
|
|
993
|
+
envelopeSha256: p.envelopeSha256,
|
|
994
|
+
signatureHash: p.signatureHash,
|
|
995
|
+
solverType: p.solverType,
|
|
996
|
+
role: p.role,
|
|
997
|
+
taskCid: p.taskCid,
|
|
998
|
+
taskId: p.taskId,
|
|
999
|
+
requestId: p.requestId,
|
|
1000
|
+
generatedAt: p.generatedAt,
|
|
1001
|
+
evidenceTier: p.evidenceTier,
|
|
1002
|
+
participantSafeAddress: p.participantSafeAddress,
|
|
1003
|
+
participantAgentEoa: p.participantAgentEoa,
|
|
1004
|
+
executorImplName: p.executorImplName,
|
|
1005
|
+
executorImplVersion: p.executorImplVersion,
|
|
1006
|
+
executorRuntimeBundleDigest: p.executorRuntimeBundleDigest,
|
|
1007
|
+
executorPluginsJson: JSON.stringify(p.executorPlugins),
|
|
1008
|
+
solutionEnvelopeCid: p.solutionEnvelopeCid,
|
|
1009
|
+
solutionEnvelopeSha256: p.solutionEnvelopeSha256,
|
|
1010
|
+
solutionEnvelopeRef: p.solutionEnvelopeRef,
|
|
1011
|
+
metadataJson: JSON.stringify(p.metadata),
|
|
1012
|
+
});
|
|
1013
|
+
this.db.prepare(`DELETE FROM envelope_projection_metadata WHERE envelope_id = ?`).run(p.envelopeId);
|
|
1014
|
+
const insertMetadata = this.db.prepare(`INSERT INTO envelope_projection_metadata (envelope_id, key, value_text, value_type)
|
|
1015
|
+
VALUES (@envelopeId, @key, @valueText, @valueType)`);
|
|
1016
|
+
for (const [key, value] of Object.entries(p.metadata)) {
|
|
1017
|
+
insertMetadata.run({
|
|
1018
|
+
envelopeId: p.envelopeId,
|
|
1019
|
+
key,
|
|
1020
|
+
valueText: metadataValueText(value),
|
|
1021
|
+
valueType: typeof value,
|
|
1022
|
+
});
|
|
1023
|
+
}
|
|
1024
|
+
});
|
|
1025
|
+
tx(projection);
|
|
1026
|
+
}
|
|
1027
|
+
queryEnvelopeProjections(query = {}) {
|
|
1028
|
+
const conditions = [];
|
|
1029
|
+
const params = {};
|
|
1030
|
+
if (query.envelopeRefs && query.envelopeRefs.length > 0) {
|
|
1031
|
+
const placeholders = query.envelopeRefs.map((ref, index) => {
|
|
1032
|
+
const key = `envelopeRef${index}`;
|
|
1033
|
+
params[key] = ref;
|
|
1034
|
+
return `@${key}`;
|
|
1035
|
+
}).join(', ');
|
|
1036
|
+
conditions.push(`(envelope_id IN (${placeholders})
|
|
1037
|
+
OR envelope_cid IN (${placeholders})
|
|
1038
|
+
OR envelope_sha256 IN (${placeholders})
|
|
1039
|
+
OR signature_hash IN (${placeholders}))`);
|
|
1040
|
+
}
|
|
1041
|
+
if (query.solverType) {
|
|
1042
|
+
conditions.push('solver_type = @solverType');
|
|
1043
|
+
params['solverType'] = query.solverType;
|
|
1044
|
+
}
|
|
1045
|
+
if (query.role) {
|
|
1046
|
+
conditions.push('role = @role');
|
|
1047
|
+
params['role'] = query.role;
|
|
1048
|
+
}
|
|
1049
|
+
if (query.taskCid) {
|
|
1050
|
+
conditions.push('task_cid = @taskCid');
|
|
1051
|
+
params['taskCid'] = query.taskCid;
|
|
1052
|
+
}
|
|
1053
|
+
if (query.taskId) {
|
|
1054
|
+
conditions.push('task_id = @taskId');
|
|
1055
|
+
params['taskId'] = query.taskId;
|
|
1056
|
+
}
|
|
1057
|
+
if (query.requestId) {
|
|
1058
|
+
conditions.push('request_id = @requestId');
|
|
1059
|
+
params['requestId'] = query.requestId;
|
|
1060
|
+
}
|
|
1061
|
+
if (query.participant?.safeAddress) {
|
|
1062
|
+
conditions.push('participant_safe_address = @participantSafeAddress');
|
|
1063
|
+
params['participantSafeAddress'] = query.participant.safeAddress;
|
|
1064
|
+
}
|
|
1065
|
+
if (query.participant?.agentEoa) {
|
|
1066
|
+
conditions.push('participant_agent_eoa = @participantAgentEoa');
|
|
1067
|
+
params['participantAgentEoa'] = query.participant.agentEoa;
|
|
1068
|
+
}
|
|
1069
|
+
if (query.solutionEnvelopeRef) {
|
|
1070
|
+
conditions.push('solution_envelope_ref = @solutionEnvelopeRef');
|
|
1071
|
+
params['solutionEnvelopeRef'] = query.solutionEnvelopeRef;
|
|
1072
|
+
}
|
|
1073
|
+
if (query.generatedAfter !== undefined) {
|
|
1074
|
+
conditions.push('generated_at >= @generatedAfter');
|
|
1075
|
+
params['generatedAfter'] = query.generatedAfter;
|
|
1076
|
+
}
|
|
1077
|
+
if (query.generatedBefore !== undefined) {
|
|
1078
|
+
conditions.push('generated_at <= @generatedBefore');
|
|
1079
|
+
params['generatedBefore'] = query.generatedBefore;
|
|
1080
|
+
}
|
|
1081
|
+
let metadataIndex = 0;
|
|
1082
|
+
for (const [key, value] of Object.entries(query.metadata ?? {})) {
|
|
1083
|
+
const keyParam = `metadataKey${metadataIndex}`;
|
|
1084
|
+
const valueParam = `metadataValue${metadataIndex}`;
|
|
1085
|
+
conditions.push(`EXISTS (
|
|
1086
|
+
SELECT 1 FROM envelope_projection_metadata m${metadataIndex}
|
|
1087
|
+
WHERE m${metadataIndex}.envelope_id = envelope_projections.envelope_id
|
|
1088
|
+
AND m${metadataIndex}.key = @${keyParam}
|
|
1089
|
+
AND m${metadataIndex}.value_text = @${valueParam}
|
|
1090
|
+
)`);
|
|
1091
|
+
params[keyParam] = key;
|
|
1092
|
+
params[valueParam] = metadataValueText(value);
|
|
1093
|
+
metadataIndex += 1;
|
|
1094
|
+
}
|
|
1095
|
+
const limit = Math.max(0, Math.min(query.limit ?? 100, 1000));
|
|
1096
|
+
params['limit'] = limit;
|
|
1097
|
+
const where = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
|
|
1098
|
+
const rows = this.db.prepare(`SELECT envelope_id, envelope_cid, envelope_sha256, signature_hash, solver_type, role,
|
|
1099
|
+
task_cid, task_id, request_id, generated_at, evidence_tier,
|
|
1100
|
+
participant_safe_address, participant_agent_eoa,
|
|
1101
|
+
executor_impl_name, executor_impl_version, executor_runtime_bundle_digest,
|
|
1102
|
+
executor_plugins_json, solution_envelope_cid, solution_envelope_sha256,
|
|
1103
|
+
solution_envelope_ref, metadata_json
|
|
1104
|
+
FROM envelope_projections
|
|
1105
|
+
${where}
|
|
1106
|
+
ORDER BY generated_at DESC, envelope_id ASC
|
|
1107
|
+
LIMIT @limit`).all(params);
|
|
1108
|
+
return rows.map(rowToEnvelopeProjection);
|
|
498
1109
|
}
|
|
499
1110
|
close() {
|
|
500
1111
|
this.db.close();
|
|
501
1112
|
}
|
|
502
1113
|
}
|
|
1114
|
+
function rowToEnvelopeProjection(row) {
|
|
1115
|
+
return {
|
|
1116
|
+
envelopeId: row.envelope_id,
|
|
1117
|
+
envelopeCid: row.envelope_cid,
|
|
1118
|
+
envelopeSha256: row.envelope_sha256,
|
|
1119
|
+
signatureHash: row.signature_hash,
|
|
1120
|
+
solverType: row.solver_type,
|
|
1121
|
+
role: row.role,
|
|
1122
|
+
taskCid: row.task_cid,
|
|
1123
|
+
taskId: row.task_id,
|
|
1124
|
+
requestId: row.request_id,
|
|
1125
|
+
generatedAt: row.generated_at,
|
|
1126
|
+
evidenceTier: row.evidence_tier,
|
|
1127
|
+
participantSafeAddress: row.participant_safe_address,
|
|
1128
|
+
participantAgentEoa: row.participant_agent_eoa,
|
|
1129
|
+
executorImplName: row.executor_impl_name,
|
|
1130
|
+
executorImplVersion: row.executor_impl_version,
|
|
1131
|
+
executorRuntimeBundleDigest: row.executor_runtime_bundle_digest,
|
|
1132
|
+
executorPlugins: parseStringArray(row.executor_plugins_json),
|
|
1133
|
+
solutionEnvelopeCid: row.solution_envelope_cid,
|
|
1134
|
+
solutionEnvelopeSha256: row.solution_envelope_sha256,
|
|
1135
|
+
solutionEnvelopeRef: row.solution_envelope_ref,
|
|
1136
|
+
metadata: parseMetadata(row.metadata_json),
|
|
1137
|
+
};
|
|
1138
|
+
}
|
|
1139
|
+
function metadataValueText(value) {
|
|
1140
|
+
return String(value);
|
|
1141
|
+
}
|
|
1142
|
+
function parseStringArray(json) {
|
|
1143
|
+
try {
|
|
1144
|
+
const parsed = JSON.parse(json);
|
|
1145
|
+
return Array.isArray(parsed) ? parsed.filter((value) => typeof value === 'string') : [];
|
|
1146
|
+
}
|
|
1147
|
+
catch {
|
|
1148
|
+
return [];
|
|
1149
|
+
}
|
|
1150
|
+
}
|
|
1151
|
+
function parseMetadata(json) {
|
|
1152
|
+
try {
|
|
1153
|
+
const parsed = JSON.parse(json);
|
|
1154
|
+
if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed))
|
|
1155
|
+
return {};
|
|
1156
|
+
const out = {};
|
|
1157
|
+
for (const [key, value] of Object.entries(parsed)) {
|
|
1158
|
+
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
|
|
1159
|
+
out[key] = value;
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
return out;
|
|
1163
|
+
}
|
|
1164
|
+
catch {
|
|
1165
|
+
return {};
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
503
1168
|
//# sourceMappingURL=store.js.map
|