@jinn-network/client 0.1.2 → 0.1.3-canary.2d6b2676
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 +68 -42
- 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/dist/adapters/adapter.d.ts +7 -7
- package/dist/adapters/claim-registry/client.d.ts +9 -0
- package/dist/adapters/claim-registry/client.js +22 -2
- package/dist/adapters/claim-registry/client.js.map +1 -1
- package/dist/adapters/local/adapter.d.ts +4 -4
- package/dist/adapters/local/adapter.js +10 -10
- package/dist/adapters/local/adapter.js.map +1 -1
- package/dist/adapters/mech/adapter.d.ts +8 -6
- package/dist/adapters/mech/adapter.js +159 -95
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +8 -6
- package/dist/adapters/mech/contracts.js +119 -15
- 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 +130 -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 +8 -0
- package/dist/adapters/mech/types.js.map +1 -1
- package/dist/agent/agent-ws.d.ts +55 -0
- package/dist/agent/agent-ws.js +288 -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 +130 -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/bootstrap-endpoint.d.ts +16 -0
- package/dist/api/bootstrap-endpoint.js +78 -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.js +6 -2
- 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/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/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/rewards-build.js +3 -8
- package/dist/api/rewards-build.js.map +1 -1
- package/dist/api/server.d.ts +55 -1
- package/dist/api/server.js +243 -17
- package/dist/api/server.js.map +1 -1
- package/dist/api/setup-endpoints.d.ts +34 -0
- package/dist/api/setup-endpoints.js +188 -0
- package/dist/api/setup-endpoints.js.map +1 -0
- package/dist/api/status-build.d.ts +10 -2
- package/dist/api/status-build.js +44 -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/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 -132
- package/dist/cli/commands/bootstrap.js.map +1 -1
- 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 +34 -1
- package/dist/cli/commands/doctor.js +138 -123
- 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 +379 -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 +183 -174
- package/dist/cli/commands/fund-requirements.js.map +1 -1
- package/dist/cli/commands/harnesses.d.ts +18 -0
- package/dist/cli/commands/harnesses.js +208 -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/{plugin-install.js → integrations.js} +240 -33
- 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 +165 -0
- package/dist/cli/commands/migrate-agent-id.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 +233 -91
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/solver-nets.js +207 -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 +184 -0
- package/dist/cli/commands/solver-plugins.js.map +1 -0
- package/dist/cli/commands/status.d.ts +10 -0
- package/dist/cli/commands/status.js +97 -34
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/tasks.js +365 -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 +5 -0
- package/dist/cli/commands/update.js +110 -105
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/version.js +3 -1
- 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/execution-context.d.ts +1 -1
- package/dist/cli/execution-context.js +4 -3
- 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 +24 -6
- package/dist/cli/index.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/config.d.ts +1232 -53
- package/dist/config.js +558 -24
- 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/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 +16 -0
- package/dist/corpus/index.js +78 -0
- package/dist/corpus/index.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 +108 -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 +5 -5
- package/dist/daemon/creator.js +8 -11
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +84 -29
- package/dist/daemon/daemon.js +181 -63
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/delivery-watcher.js +34 -4
- package/dist/daemon/delivery-watcher.js.map +1 -1
- 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-Bxlk5qpa.js +68 -0
- package/dist/dashboard/assets/index-DQ3u_vP5.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 +64 -0
- package/dist/earning/bootstrap.js +325 -32
- package/dist/earning/bootstrap.js.map +1 -1
- package/dist/earning/contracts.d.ts +323 -0
- package/dist/earning/contracts.js +276 -0
- package/dist/earning/contracts.js.map +1 -1
- package/dist/earning/evidence-simhash.d.ts +1 -1
- package/dist/earning/funding-plan.d.ts +90 -0
- package/dist/earning/funding-plan.js +203 -0
- package/dist/earning/funding-plan.js.map +1 -0
- package/dist/earning/migrate-agent-id.d.ts +130 -0
- package/dist/earning/migrate-agent-id.js +257 -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/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 +39 -0
- package/dist/earning/store.js +72 -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 +53 -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 +381 -0
- package/dist/erc8004/abis.js +238 -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 +202 -0
- package/dist/erc8004/identity.js +305 -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/{restorer → harnesses}/engine/claim.d.ts +7 -7
- package/dist/{restorer → harnesses}/engine/claim.js +14 -7
- package/dist/harnesses/engine/claim.js.map +1 -0
- package/dist/{restorer → harnesses}/engine/delivery.d.ts +3 -1
- package/dist/{restorer → harnesses}/engine/delivery.js +8 -8
- package/dist/harnesses/engine/delivery.js.map +1 -0
- package/dist/harnesses/engine/engine.d.ts +341 -0
- package/dist/harnesses/engine/engine.js +1203 -0
- package/dist/harnesses/engine/engine.js.map +1 -0
- package/dist/harnesses/engine/envelope-assembly.d.ts +72 -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/{restorer → harnesses}/engine/packaging.js +83 -57
- package/dist/harnesses/engine/packaging.js.map +1 -0
- package/dist/harnesses/engine/persistence.d.ts +172 -0
- package/dist/{restorer → harnesses}/engine/persistence.js +78 -71
- package/dist/harnesses/engine/persistence.js.map +1 -0
- package/dist/harnesses/engine/recovery.d.ts +22 -0
- package/dist/{restorer → harnesses}/engine/recovery.js +5 -5
- package/dist/harnesses/engine/recovery.js.map +1 -0
- package/dist/harnesses/engine/registry.d.ts +53 -0
- package/dist/harnesses/engine/registry.js +62 -0
- package/dist/harnesses/engine/registry.js.map +1 -0
- package/dist/{restorer → harnesses}/engine/signing.d.ts +1 -1
- package/dist/{restorer → harnesses}/engine/signing.js +1 -1
- package/dist/harnesses/engine/signing.js.map +1 -0
- package/dist/{restorer → harnesses}/engine/state.d.ts +8 -8
- package/dist/{restorer → harnesses}/engine/state.js +23 -23
- 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/impls/claude-code-learner/adapters/claude-code.d.ts +38 -0
- package/dist/harnesses/impls/claude-code-learner/adapters/claude-code.js +159 -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 +44 -0
- package/dist/harnesses/impls/claude-code-learner/harness.js.map +1 -0
- package/dist/harnesses/impls/claude-code-learner/harvest.d.ts +19 -0
- package/dist/harnesses/impls/claude-code-learner/harvest.js +146 -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 +19 -0
- package/dist/harnesses/impls/claude-code-learner/test-utils/fake-plugin-outputs.js +111 -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 +102 -0
- package/dist/harnesses/impls/claude-code-learner/types.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/claude-mcp-hyperliquid/api-wallet.d.ts +1 -1
- package/dist/harnesses/impls/claude-mcp-hyperliquid/api-wallet.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/claude-mcp-hyperliquid/index.d.ts +16 -14
- package/dist/{restorer → harnesses}/impls/claude-mcp-hyperliquid/index.js +62 -61
- 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/{restorer → harnesses}/impls/claude-mcp-hyperliquid/session-orchestrator.d.ts +7 -0
- package/dist/{restorer → harnesses}/impls/claude-mcp-hyperliquid/session-orchestrator.js +38 -0
- package/dist/harnesses/impls/claude-mcp-hyperliquid/session-orchestrator.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/claude-mcp-prediction/index.d.ts +11 -11
- package/dist/{restorer → harnesses}/impls/claude-mcp-prediction/index.js +26 -16
- package/dist/harnesses/impls/claude-mcp-prediction/index.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/claude-mcp-prediction/mcp-tools.js +1 -1
- package/dist/harnesses/impls/claude-mcp-prediction/mcp-tools.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/claude-mcp-prediction/prompt.d.ts +2 -2
- package/dist/{restorer → harnesses}/impls/claude-mcp-prediction/prompt.js +5 -5
- package/dist/harnesses/impls/claude-mcp-prediction/prompt.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/claude-mcp-prediction/session-orchestrator.d.ts +9 -2
- 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/{restorer → harnesses}/impls/claude-mcp-prediction/types.d.ts +3 -3
- 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/{restorer → harnesses}/impls/claude-mcp-prediction-apy/index.js +22 -15
- package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/claude-mcp-prediction-apy/mcp-tools.js +1 -1
- 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/{restorer → harnesses}/impls/claude-mcp-prediction-apy/prompt.js +5 -5
- package/dist/harnesses/impls/claude-mcp-prediction-apy/prompt.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/claude-mcp-prediction-apy/session-orchestrator.d.ts +10 -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/{restorer → harnesses}/impls/claude-mcp-prediction-apy/types.d.ts +1 -1
- 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/{restorer/impls/claude-mcp-prediction/session-orchestrator.js → harnesses/impls/claude-mcp-shared/single-session-orchestrator.js} +85 -16
- 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/{restorer → harnesses}/impls/index.js +32 -7
- package/dist/harnesses/impls/index.js.map +1 -0
- package/dist/harnesses/impls/legacy-claude/index.d.ts +66 -0
- package/dist/{restorer → harnesses}/impls/legacy-claude/index.js +47 -19
- package/dist/harnesses/impls/legacy-claude/index.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/canonical-metrics.d.ts +2 -2
- package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/canonical-metrics.js +2 -2
- 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/{restorer → harnesses}/impls/portfolio-v0-evaluator/checks/consistency.d.ts +1 -1
- package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/checks/consistency.js +1 -1
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/consistency.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/checks/eligibility.d.ts +2 -2
- package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/checks/eligibility.js +2 -2
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/eligibility.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/checks/integrity.d.ts +2 -2
- package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/checks/integrity.js +2 -2
- package/dist/harnesses/impls/portfolio-v0-evaluator/checks/integrity.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/checks/spec.d.ts +2 -2
- package/dist/{restorer → harnesses}/impls/portfolio-v0-evaluator/checks/spec.js +2 -2
- 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/{restorer → harnesses}/impls/portfolio-v0-evaluator/index.js +217 -88
- 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/{restorer → harnesses}/impls/portfolio-v0-evaluator/types.d.ts +1 -1
- package/dist/harnesses/impls/portfolio-v0-evaluator/types.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/prediction-apy-v0-baseline/index.d.ts +10 -8
- package/dist/{restorer → harnesses}/impls/prediction-apy-v0-baseline/index.js +15 -8
- 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/{restorer → harnesses}/impls/prediction-apy-v0-evaluator/index.d.ts +9 -9
- 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/{restorer → harnesses}/impls/prediction-v0-baseline/index.js +25 -16
- package/dist/harnesses/impls/prediction-v0-baseline/index.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/prediction-v0-baseline/strategy.d.ts +2 -2
- package/dist/{restorer → harnesses}/impls/prediction-v0-baseline/strategy.js +2 -2
- 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/{restorer → harnesses}/impls/prediction-v0-evaluator/canonical-metrics.d.ts +2 -2
- package/dist/harnesses/impls/prediction-v0-evaluator/canonical-metrics.js.map +1 -0
- package/dist/harnesses/impls/prediction-v0-evaluator/checks/availability.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/checks/eligibility.d.ts +1 -1
- 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/{restorer → harnesses}/impls/prediction-v0-evaluator/checks/integrity.js +12 -12
- package/dist/harnesses/impls/prediction-v0-evaluator/checks/integrity.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/checks/spec.d.ts +2 -2
- package/dist/harnesses/impls/prediction-v0-evaluator/checks/spec.js.map +1 -0
- package/dist/{restorer → harnesses}/impls/prediction-v0-evaluator/index.d.ts +10 -10
- 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/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/types.d.ts +263 -0
- package/dist/{restorer → harnesses}/types.js +3 -3
- package/dist/harnesses/types.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/main.d.ts +5 -2
- package/dist/main.js +793 -96
- 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-artifacts.d.ts +31 -0
- package/dist/mcp/search-artifacts.js +40 -0
- package/dist/mcp/search-artifacts.js.map +1 -0
- package/dist/mcp/server.d.ts +4 -4
- package/dist/mcp/server.js +110 -64
- 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.js +4 -5
- 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 +87 -0
- package/dist/plugins/resolvers.js.map +1 -0
- package/dist/plugins/types.d.ts +39 -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 +44 -0
- package/dist/plugins/validator.js.map +1 -0
- package/dist/preflight/claude-auth.d.ts +11 -11
- package/dist/preflight/claude-auth.js +18 -32
- 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-mode.d.ts +34 -0
- package/dist/setup-mode.js +49 -0
- package/dist/setup-mode.js.map +1 -0
- package/dist/solver-nets/registry.d.ts +33 -0
- package/dist/solver-nets/registry.js +66 -0
- package/dist/solver-nets/registry.js.map +1 -0
- package/dist/solver-types/constants.js.map +1 -0
- package/dist/solver-types/index.d.ts +38 -0
- package/dist/solver-types/index.js +57 -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 +21 -0
- package/dist/solver-types/prediction-apy-v0-auto.js +80 -0
- package/dist/solver-types/prediction-apy-v0-auto.js.map +1 -0
- package/dist/{intents → solver-types}/prediction-apy-v0-template.d.ts +2 -2
- package/dist/{intents → solver-types}/prediction-apy-v0-template.js +2 -2
- 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/{intents → solver-types}/prediction-v0-auto.d.ts +17 -7
- package/dist/{intents → solver-types}/prediction-v0-auto.js +41 -8
- package/dist/solver-types/prediction-v0-auto.js.map +1 -0
- package/dist/{intents → solver-types}/prediction-v0-template.d.ts +9 -9
- package/dist/{intents → solver-types}/prediction-v0-template.js +10 -10
- package/dist/solver-types/prediction-v0-template.js.map +1 -0
- package/dist/solver-types/prediction-v0.d.ts +3 -0
- package/dist/{intents/kinds → solver-types}/prediction-v0.js +11 -6
- package/dist/solver-types/prediction-v0.js.map +1 -0
- package/dist/solver-types/solver-type.d.ts +55 -0
- package/dist/solver-types/solver-type.js +6 -0
- package/dist/solver-types/solver-type.js.map +1 -0
- package/dist/store/store.d.ts +97 -21
- package/dist/store/store.js +228 -45
- package/dist/store/store.js.map +1 -1
- package/dist/tasks/posting-service.d.ts +22 -0
- package/dist/tasks/posting-service.js +143 -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 +42 -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 +23 -9
- package/dist/tx-retry.js.map +1 -1
- package/dist/types/envelope.d.ts +1619 -0
- package/dist/types/envelope.js +121 -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 +11 -0
- package/dist/types/payloads/index.js +46 -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/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.d.ts +40 -416
- package/dist/types/prediction.js +9 -83
- package/dist/types/prediction.js.map +1 -1
- package/dist/types/task-document.d.ts +498 -0
- package/dist/types/task-document.js +69 -0
- package/dist/types/task-document.js.map +1 -0
- package/dist/types/task.d.ts +455 -0
- package/dist/types/task.js +58 -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/venues/hyperliquid/account-value.d.ts +1 -1
- package/dist/venues/hyperliquid/account-value.js +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 +38 -13
- package/plugins/claude-code-learner/.claude-plugin/plugin.json +9 -0
- package/plugins/claude-code-learner/AGENTS.md +30 -0
- package/plugins/claude-code-learner/CLAUDE.md +31 -0
- package/plugins/claude-code-learner/README.md +58 -0
- package/plugins/claude-code-learner/agents/analyst.md +69 -0
- package/plugins/claude-code-learner/agents/consolidator.md +95 -0
- package/plugins/claude-code-learner/agents/explorer.md +54 -0
- package/plugins/claude-code-learner/agents/planner.md +88 -0
- package/plugins/claude-code-learner/agents/promoter.md +114 -0
- package/plugins/claude-code-learner/agents/step-worker.md +48 -0
- package/plugins/claude-code-learner/agents/strategist.md +86 -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/coordinator/SKILL.md +111 -0
- package/plugins/claude-code-learner/skills/debrief/SKILL.md +63 -0
- package/plugins/claude-code-learner/skills/execute/SKILL.md +87 -0
- package/plugins/claude-code-learner/skills/improve/SKILL.md +53 -0
- package/plugins/claude-code-learner/skills/memory-consolidation/SKILL.md +49 -0
- package/plugins/claude-code-learner/skills/orient/SKILL.md +71 -0
- package/plugins/claude-code-learner/skills/plan/SKILL.md +50 -0
- package/plugins/claude-code-learner/skills/strategize/SKILL.md +53 -0
- package/plugins/jinn-prediction-plugin/.claude-plugin/plugin.json +89 -0
- package/plugins/jinn-prediction-plugin/mcp/polymarket-server.mjs +2 -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/skills/base-rate-forecasting/SKILL.md +3 -0
- package/plugins/jinn-prediction-plugin/skills/calibration/SKILL.md +3 -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/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.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.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.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.js.map +0 -1
- package/dist/intents/prediction-v0-auto.js.map +0 -1
- 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.js.map +0 -1
- 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.map +0 -1
- package/dist/restorer/engine/persistence.d.ts +0 -170
- package/dist/restorer/engine/persistence.js.map +0 -1
- package/dist/restorer/engine/recovery.d.ts +0 -22
- 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.js.map +0 -1
- package/dist/restorer/engine/state.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-hyperliquid/api-wallet.js.map +0 -1
- 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.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-prediction/index.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-prediction/mcp-tools.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-prediction/prompt.js.map +0 -1
- package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.js.map +0 -1
- 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.map +0 -1
- 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.map +0 -1
- 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.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.map +0 -1
- package/dist/restorer/impls/legacy-claude/index.d.ts +0 -52
- package/dist/restorer/impls/legacy-claude/index.js.map +0 -1
- 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.js.map +0 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/checks/eligibility.js.map +0 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/checks/integrity.js.map +0 -1
- 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.map +0 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/score.js.map +0 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/types.js.map +0 -1
- 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.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.map +0 -1
- 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.js.map +0 -1
- package/dist/restorer/impls/prediction-v0-evaluator/checks/availability.js.map +0 -1
- 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.map +0 -1
- package/dist/restorer/impls/prediction-v0-evaluator/checks/spec.js.map +0 -1
- 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.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.d.ts +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/{intents/kinds → solver-types}/constants.d.ts +0 -0
- /package/dist/{intents/kinds → solver-types}/constants.js +0 -0
package/dist/store/store.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export interface ActivityEventInput {
|
|
|
5
5
|
requestId?: string | null;
|
|
6
6
|
serviceIndex?: number | null;
|
|
7
7
|
txHash?: string | null;
|
|
8
|
-
|
|
8
|
+
solverType?: string | null;
|
|
9
9
|
outcome?: string | null;
|
|
10
10
|
detail?: string | null;
|
|
11
11
|
}
|
|
@@ -16,7 +16,7 @@ export interface ActivityEventRow {
|
|
|
16
16
|
requestId: string | null;
|
|
17
17
|
serviceIndex: number | null;
|
|
18
18
|
txHash: string | null;
|
|
19
|
-
|
|
19
|
+
solverType: string | null;
|
|
20
20
|
outcome: string | null;
|
|
21
21
|
detail: string | null;
|
|
22
22
|
}
|
|
@@ -39,13 +39,60 @@ export interface BalanceCacheEntry {
|
|
|
39
39
|
fetchedAt: string;
|
|
40
40
|
error?: string | null;
|
|
41
41
|
}
|
|
42
|
-
export
|
|
43
|
-
|
|
42
|
+
export interface ServedArtifactInput {
|
|
43
|
+
sha256: string;
|
|
44
|
+
artifactType: string;
|
|
45
|
+
requestId?: string | null;
|
|
46
|
+
envelopeCid?: string | null;
|
|
47
|
+
content: Buffer;
|
|
48
|
+
priceUsdc: string;
|
|
49
|
+
createdAt: string;
|
|
50
|
+
}
|
|
51
|
+
export interface ServedArtifactRow {
|
|
52
|
+
sha256: string;
|
|
53
|
+
artifactType: string;
|
|
54
|
+
requestId: string | null;
|
|
55
|
+
envelopeCid: string | null;
|
|
56
|
+
content: Buffer;
|
|
57
|
+
contentSize: number;
|
|
58
|
+
priceUsdc: string;
|
|
59
|
+
createdAt: string;
|
|
60
|
+
}
|
|
61
|
+
export type NetworkArtifactSource = 'origin' | 'route-resolver' | 'self-store-mirror';
|
|
62
|
+
export interface NetworkArtifactInput {
|
|
63
|
+
sha256: string;
|
|
64
|
+
artifactType: string;
|
|
65
|
+
envelopeCid?: string | null;
|
|
66
|
+
content: Buffer;
|
|
67
|
+
source: NetworkArtifactSource;
|
|
68
|
+
sourceOperator?: string | null;
|
|
69
|
+
sourceEndpoint?: string | null;
|
|
70
|
+
paidAmountUsdc: string;
|
|
71
|
+
fetchedAt: string;
|
|
72
|
+
/** When set, links this blob to a row from the HTTP catalog / peer sync `artifacts.id`. */
|
|
73
|
+
peerCatalogId?: string | null;
|
|
74
|
+
}
|
|
75
|
+
export interface NetworkArtifactRow {
|
|
76
|
+
sha256: string;
|
|
77
|
+
artifactType: string;
|
|
78
|
+
envelopeCid: string | null;
|
|
79
|
+
content: Buffer;
|
|
80
|
+
contentSize: number;
|
|
81
|
+
source: NetworkArtifactSource;
|
|
82
|
+
sourceOperator: string | null;
|
|
83
|
+
sourceEndpoint: string | null;
|
|
84
|
+
paidAmountUsdc: string;
|
|
85
|
+
fetchedAt: string;
|
|
86
|
+
lastUsedAt: string;
|
|
87
|
+
peerCatalogId: string | null;
|
|
88
|
+
}
|
|
89
|
+
export type TaskPostingPolicyType = 'once_per_safe' | 'once_per_bucket' | 'interval';
|
|
90
|
+
export interface TaskPostRecord {
|
|
44
91
|
creatorSafeAddress: string;
|
|
45
92
|
sourceKey: string;
|
|
46
|
-
policyType:
|
|
93
|
+
policyType: TaskPostingPolicyType;
|
|
47
94
|
scopeKey: string;
|
|
48
|
-
|
|
95
|
+
taskId: string;
|
|
49
96
|
requestId: string;
|
|
50
97
|
firstPostedAt: string;
|
|
51
98
|
lastPostedAt: string;
|
|
@@ -56,6 +103,8 @@ export declare class Store {
|
|
|
56
103
|
readonly db: Database.Database;
|
|
57
104
|
readonly path: string;
|
|
58
105
|
constructor(dbPath: string);
|
|
106
|
+
/** Older on-disk DBs predate `peer_catalog_id` on network_artifacts. */
|
|
107
|
+
private ensureNetworkArtifactsPeerCatalogId;
|
|
59
108
|
/** Idempotent: older DBs before idx_reward_claims_tx may lack the unique index. */
|
|
60
109
|
private ensureRewardClaimsTxIndex;
|
|
61
110
|
recordOwnActivity(requestId: string, role: 'created' | 'claimed' | 'delivered' | 'evaluated'): void;
|
|
@@ -67,26 +116,26 @@ export declare class Store {
|
|
|
67
116
|
/** Generic config row (e.g. last_reward_claim_tick_at). */
|
|
68
117
|
getConfigValue(key: string): string | null;
|
|
69
118
|
setConfigValue(key: string, value: string): void;
|
|
70
|
-
|
|
119
|
+
getTaskPostRecord(args: {
|
|
71
120
|
creatorSafeAddress: string;
|
|
72
121
|
sourceKey: string;
|
|
73
|
-
policyType:
|
|
122
|
+
policyType: TaskPostingPolicyType;
|
|
74
123
|
scopeKey: string;
|
|
75
|
-
}):
|
|
76
|
-
|
|
77
|
-
|
|
124
|
+
}): TaskPostRecord | null;
|
|
125
|
+
upsertTaskPostRecord(record: TaskPostRecord): void;
|
|
126
|
+
acquireTaskPostLock(args: {
|
|
78
127
|
creatorSafeAddress: string;
|
|
79
128
|
sourceKey: string;
|
|
80
|
-
policyType:
|
|
129
|
+
policyType: TaskPostingPolicyType;
|
|
81
130
|
scopeKey: string;
|
|
82
131
|
ownerToken: string;
|
|
83
132
|
lockedAt: string;
|
|
84
133
|
staleAfterMs: number;
|
|
85
134
|
}): boolean;
|
|
86
|
-
|
|
135
|
+
releaseTaskPostLock(args: {
|
|
87
136
|
creatorSafeAddress: string;
|
|
88
137
|
sourceKey: string;
|
|
89
|
-
policyType:
|
|
138
|
+
policyType: TaskPostingPolicyType;
|
|
90
139
|
scopeKey: string;
|
|
91
140
|
ownerToken: string;
|
|
92
141
|
}): void;
|
|
@@ -116,11 +165,12 @@ export declare class Store {
|
|
|
116
165
|
upsertBalanceCache(entry: BalanceCacheEntry): void;
|
|
117
166
|
getBalanceCache(): BalanceCacheEntry[];
|
|
118
167
|
private backfillActivityEvents;
|
|
168
|
+
getTaskEvidenceHash(requestId: string): string | null;
|
|
119
169
|
getLastProcessedBlock(): bigint | null;
|
|
120
170
|
setLastProcessedBlock(block: bigint): void;
|
|
121
171
|
insertArtifact(artifact: {
|
|
122
172
|
id: string;
|
|
123
|
-
|
|
173
|
+
taskId: string;
|
|
124
174
|
requestId: string;
|
|
125
175
|
title: string;
|
|
126
176
|
content: string;
|
|
@@ -131,7 +181,7 @@ export declare class Store {
|
|
|
131
181
|
tags?: string[];
|
|
132
182
|
outcome?: string;
|
|
133
183
|
requestId?: string;
|
|
134
|
-
|
|
184
|
+
taskId?: string;
|
|
135
185
|
after?: string;
|
|
136
186
|
before?: string;
|
|
137
187
|
limit?: number;
|
|
@@ -142,12 +192,12 @@ export declare class Store {
|
|
|
142
192
|
tags: string[];
|
|
143
193
|
outcome: string;
|
|
144
194
|
request_id: string;
|
|
145
|
-
|
|
195
|
+
task_id: string;
|
|
146
196
|
created_at: string;
|
|
147
197
|
}>;
|
|
148
198
|
insertRemoteArtifact(artifact: {
|
|
149
199
|
id: string;
|
|
150
|
-
|
|
200
|
+
taskId: string;
|
|
151
201
|
requestId: string;
|
|
152
202
|
title: string;
|
|
153
203
|
tags: string[];
|
|
@@ -156,8 +206,13 @@ export declare class Store {
|
|
|
156
206
|
endpoint: string;
|
|
157
207
|
price?: string;
|
|
158
208
|
}): void;
|
|
159
|
-
|
|
160
|
-
|
|
209
|
+
/**
|
|
210
|
+
* Text body for a catalog artifact id: local `artifacts.content`, else a peer-cached
|
|
211
|
+
* blob in `network_artifacts` (via `peer_catalog_id`).
|
|
212
|
+
*/
|
|
213
|
+
resolveCatalogArtifactContent(id: string): string | null;
|
|
214
|
+
/** Endpoint / owner for a remote (peer-synced) catalog row in `artifacts`. */
|
|
215
|
+
getRemoteDiscoveryMetadata(id: string): {
|
|
161
216
|
endpoint: string;
|
|
162
217
|
ownerAddress: string;
|
|
163
218
|
price?: string;
|
|
@@ -169,6 +224,27 @@ export declare class Store {
|
|
|
169
224
|
tags: string[];
|
|
170
225
|
outcome: string;
|
|
171
226
|
} | null;
|
|
172
|
-
|
|
227
|
+
saveServedArtifact(input: ServedArtifactInput): void;
|
|
228
|
+
getServedArtifact(sha256: string): ServedArtifactRow | null;
|
|
229
|
+
setServedArtifactEnvelopeCid(sha256: string, envelopeCid: string): void;
|
|
230
|
+
getServedArtifactsByRequestId(requestId: string): ServedArtifactRow[];
|
|
231
|
+
saveNetworkArtifact(input: NetworkArtifactInput): void;
|
|
232
|
+
getNetworkArtifact(sha256: string): NetworkArtifactRow | null;
|
|
233
|
+
touchNetworkArtifactUsage(sha256: string, ts: string): void;
|
|
234
|
+
/**
|
|
235
|
+
* Local fast-path search across own (served) artifacts and cached (network)
|
|
236
|
+
* artifacts. Used by the MCP `search_artifacts` tool to prepend local
|
|
237
|
+
* matches to corpus query results.
|
|
238
|
+
*/
|
|
239
|
+
searchOwnAndCached(filter: {
|
|
240
|
+
artifactType?: string;
|
|
241
|
+
limit: number;
|
|
242
|
+
}): Array<{
|
|
243
|
+
sha256: string;
|
|
244
|
+
artifactType: string;
|
|
245
|
+
source: 'served' | 'network';
|
|
246
|
+
envelopeCid: string | null;
|
|
247
|
+
createdAt: string;
|
|
248
|
+
}>;
|
|
173
249
|
close(): void;
|
|
174
250
|
}
|
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,7 @@ 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
19
|
request_id TEXT NOT NULL,
|
|
20
20
|
title TEXT NOT NULL,
|
|
21
21
|
content TEXT,
|
|
@@ -28,7 +28,7 @@ CREATE TABLE IF NOT EXISTS artifacts (
|
|
|
28
28
|
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
29
29
|
);
|
|
30
30
|
|
|
31
|
-
CREATE INDEX IF NOT EXISTS
|
|
31
|
+
CREATE INDEX IF NOT EXISTS idx_artifacts_task ON artifacts (task_id);
|
|
32
32
|
CREATE INDEX IF NOT EXISTS idx_artifacts_outcome ON artifacts (outcome);
|
|
33
33
|
CREATE INDEX IF NOT EXISTS idx_artifacts_remote ON artifacts (remote);
|
|
34
34
|
|
|
@@ -39,7 +39,7 @@ CREATE TABLE IF NOT EXISTS activity_events (
|
|
|
39
39
|
request_id TEXT,
|
|
40
40
|
service_index INTEGER,
|
|
41
41
|
tx_hash TEXT,
|
|
42
|
-
|
|
42
|
+
solver_type TEXT,
|
|
43
43
|
outcome TEXT,
|
|
44
44
|
detail TEXT
|
|
45
45
|
);
|
|
@@ -71,21 +71,53 @@ CREATE TABLE IF NOT EXISTS balance_cache (
|
|
|
71
71
|
error TEXT
|
|
72
72
|
);
|
|
73
73
|
|
|
74
|
-
CREATE TABLE IF NOT EXISTS
|
|
74
|
+
CREATE TABLE IF NOT EXISTS task_posts (
|
|
75
75
|
creator_safe_address TEXT NOT NULL,
|
|
76
76
|
source_key TEXT NOT NULL,
|
|
77
77
|
policy_type TEXT NOT NULL CHECK (policy_type IN ('once_per_safe', 'once_per_bucket', 'interval')),
|
|
78
78
|
scope_key TEXT NOT NULL DEFAULT '',
|
|
79
|
-
|
|
79
|
+
task_id TEXT NOT NULL,
|
|
80
80
|
request_id TEXT NOT NULL,
|
|
81
81
|
first_posted_at TEXT NOT NULL,
|
|
82
82
|
last_posted_at TEXT NOT NULL,
|
|
83
83
|
post_count INTEGER NOT NULL DEFAULT 1,
|
|
84
84
|
PRIMARY KEY (creator_safe_address, source_key, policy_type, scope_key)
|
|
85
85
|
);
|
|
86
|
-
CREATE INDEX IF NOT EXISTS
|
|
86
|
+
CREATE INDEX IF NOT EXISTS idx_task_posts_task ON task_posts (task_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 task_post_locks (
|
|
89
121
|
creator_safe_address TEXT NOT NULL,
|
|
90
122
|
source_key TEXT NOT NULL,
|
|
91
123
|
policy_type TEXT NOT NULL CHECK (policy_type IN ('once_per_safe', 'once_per_bucket', 'interval')),
|
|
@@ -108,10 +140,19 @@ export class Store {
|
|
|
108
140
|
this.db = new Database(dbPath);
|
|
109
141
|
this.db.pragma('journal_mode = WAL');
|
|
110
142
|
this.db.exec(SCHEMA);
|
|
111
|
-
this.db.exec(
|
|
143
|
+
this.db.exec(TASK_RUNS_SCHEMA);
|
|
112
144
|
this.ensureRewardClaimsTxIndex();
|
|
145
|
+
this.ensureNetworkArtifactsPeerCatalogId();
|
|
113
146
|
this.backfillActivityEvents();
|
|
114
147
|
}
|
|
148
|
+
/** Older on-disk DBs predate `peer_catalog_id` on network_artifacts. */
|
|
149
|
+
ensureNetworkArtifactsPeerCatalogId() {
|
|
150
|
+
const cols = this.db.prepare(`PRAGMA table_info(network_artifacts)`).all();
|
|
151
|
+
if (!cols.some((c) => c.name === 'peer_catalog_id')) {
|
|
152
|
+
this.db.exec(`ALTER TABLE network_artifacts ADD COLUMN peer_catalog_id TEXT`);
|
|
153
|
+
}
|
|
154
|
+
this.db.exec(`CREATE INDEX IF NOT EXISTS idx_network_artifacts_peer_catalog ON network_artifacts (peer_catalog_id)`);
|
|
155
|
+
}
|
|
115
156
|
/** Idempotent: older DBs before idx_reward_claims_tx may lack the unique index. */
|
|
116
157
|
ensureRewardClaimsTxIndex() {
|
|
117
158
|
this.db.exec(`CREATE UNIQUE INDEX IF NOT EXISTS idx_reward_claims_tx ON reward_claims (tx_hash)`);
|
|
@@ -147,10 +188,10 @@ export class Store {
|
|
|
147
188
|
setConfigValue(key, value) {
|
|
148
189
|
this.db.prepare('INSERT OR REPLACE INTO config (key, value) VALUES (?, ?)').run(key, value);
|
|
149
190
|
}
|
|
150
|
-
|
|
151
|
-
const row = this.db.prepare(`SELECT creator_safe_address, source_key, policy_type, scope_key,
|
|
191
|
+
getTaskPostRecord(args) {
|
|
192
|
+
const row = this.db.prepare(`SELECT creator_safe_address, source_key, policy_type, scope_key, task_id, request_id,
|
|
152
193
|
first_posted_at, last_posted_at, post_count
|
|
153
|
-
FROM
|
|
194
|
+
FROM task_posts
|
|
154
195
|
WHERE creator_safe_address = @creatorSafeAddress
|
|
155
196
|
AND source_key = @sourceKey
|
|
156
197
|
AND policy_type = @policyType
|
|
@@ -162,37 +203,37 @@ export class Store {
|
|
|
162
203
|
sourceKey: row.source_key,
|
|
163
204
|
policyType: row.policy_type,
|
|
164
205
|
scopeKey: row.scope_key,
|
|
165
|
-
|
|
206
|
+
taskId: row.task_id,
|
|
166
207
|
requestId: row.request_id,
|
|
167
208
|
firstPostedAt: row.first_posted_at,
|
|
168
209
|
lastPostedAt: row.last_posted_at,
|
|
169
210
|
postCount: row.post_count,
|
|
170
211
|
};
|
|
171
212
|
}
|
|
172
|
-
|
|
173
|
-
this.db.prepare(`INSERT INTO
|
|
174
|
-
(creator_safe_address, source_key, policy_type, scope_key,
|
|
213
|
+
upsertTaskPostRecord(record) {
|
|
214
|
+
this.db.prepare(`INSERT INTO task_posts
|
|
215
|
+
(creator_safe_address, source_key, policy_type, scope_key, task_id, request_id,
|
|
175
216
|
first_posted_at, last_posted_at, post_count)
|
|
176
217
|
VALUES
|
|
177
|
-
(@creatorSafeAddress, @sourceKey, @policyType, @scopeKey, @
|
|
218
|
+
(@creatorSafeAddress, @sourceKey, @policyType, @scopeKey, @taskId, @requestId,
|
|
178
219
|
@firstPostedAt, @lastPostedAt, @postCount)
|
|
179
220
|
ON CONFLICT(creator_safe_address, source_key, policy_type, scope_key) DO UPDATE SET
|
|
180
|
-
|
|
221
|
+
task_id = excluded.task_id,
|
|
181
222
|
request_id = excluded.request_id,
|
|
182
223
|
first_posted_at = excluded.first_posted_at,
|
|
183
224
|
last_posted_at = excluded.last_posted_at,
|
|
184
225
|
post_count = excluded.post_count`).run(record);
|
|
185
226
|
}
|
|
186
|
-
|
|
227
|
+
acquireTaskPostLock(args) {
|
|
187
228
|
const tx = this.db.transaction((params) => {
|
|
188
229
|
const existing = this.db.prepare(`SELECT owner_token, locked_at
|
|
189
|
-
FROM
|
|
230
|
+
FROM task_post_locks
|
|
190
231
|
WHERE creator_safe_address = @creatorSafeAddress
|
|
191
232
|
AND source_key = @sourceKey
|
|
192
233
|
AND policy_type = @policyType
|
|
193
234
|
AND scope_key = @scopeKey`).get(params);
|
|
194
235
|
if (!existing) {
|
|
195
|
-
this.db.prepare(`INSERT INTO
|
|
236
|
+
this.db.prepare(`INSERT INTO task_post_locks
|
|
196
237
|
(creator_safe_address, source_key, policy_type, scope_key, owner_token, locked_at)
|
|
197
238
|
VALUES
|
|
198
239
|
(@creatorSafeAddress, @sourceKey, @policyType, @scopeKey, @ownerToken, @lockedAt)`).run(params);
|
|
@@ -206,7 +247,7 @@ export class Store {
|
|
|
206
247
|
if (!isStale) {
|
|
207
248
|
return false;
|
|
208
249
|
}
|
|
209
|
-
this.db.prepare(`UPDATE
|
|
250
|
+
this.db.prepare(`UPDATE task_post_locks
|
|
210
251
|
SET owner_token = @ownerToken, locked_at = @lockedAt
|
|
211
252
|
WHERE creator_safe_address = @creatorSafeAddress
|
|
212
253
|
AND source_key = @sourceKey
|
|
@@ -216,8 +257,8 @@ export class Store {
|
|
|
216
257
|
});
|
|
217
258
|
return tx(args);
|
|
218
259
|
}
|
|
219
|
-
|
|
220
|
-
this.db.prepare(`DELETE FROM
|
|
260
|
+
releaseTaskPostLock(args) {
|
|
261
|
+
this.db.prepare(`DELETE FROM task_post_locks
|
|
221
262
|
WHERE creator_safe_address = @creatorSafeAddress
|
|
222
263
|
AND source_key = @sourceKey
|
|
223
264
|
AND policy_type = @policyType
|
|
@@ -244,14 +285,14 @@ export class Store {
|
|
|
244
285
|
return legacyRows.map(r => ({ requestId: r.request_id, role: r.role }));
|
|
245
286
|
}
|
|
246
287
|
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, @
|
|
288
|
+
this.db.prepare(`INSERT INTO activity_events (ts, kind, request_id, service_index, tx_hash, solver_type, outcome, detail)
|
|
289
|
+
VALUES (@ts, @kind, @requestId, @serviceIndex, @txHash, @solverType, @outcome, @detail)`).run({
|
|
249
290
|
ts: event.ts ?? null,
|
|
250
291
|
kind: event.kind,
|
|
251
292
|
requestId: event.requestId ?? null,
|
|
252
293
|
serviceIndex: event.serviceIndex ?? null,
|
|
253
294
|
txHash: event.txHash ?? null,
|
|
254
|
-
|
|
295
|
+
solverType: event.solverType ?? null,
|
|
255
296
|
outcome: event.outcome ?? null,
|
|
256
297
|
detail: event.detail ?? null,
|
|
257
298
|
});
|
|
@@ -269,7 +310,7 @@ export class Store {
|
|
|
269
310
|
params['cursor'] = opts.cursor;
|
|
270
311
|
}
|
|
271
312
|
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,
|
|
313
|
+
const rows = this.db.prepare(`SELECT id, ts, kind, request_id, service_index, tx_hash, solver_type, outcome, detail
|
|
273
314
|
FROM activity_events
|
|
274
315
|
${where}
|
|
275
316
|
ORDER BY id DESC
|
|
@@ -281,7 +322,7 @@ export class Store {
|
|
|
281
322
|
requestId: r.request_id,
|
|
282
323
|
serviceIndex: r.service_index,
|
|
283
324
|
txHash: r.tx_hash,
|
|
284
|
-
|
|
325
|
+
solverType: r.solver_type,
|
|
285
326
|
outcome: r.outcome,
|
|
286
327
|
detail: r.detail,
|
|
287
328
|
}));
|
|
@@ -290,7 +331,7 @@ export class Store {
|
|
|
290
331
|
getActivityEventsAfterId(afterId, limit) {
|
|
291
332
|
const effectiveLimit = Math.max(0, Math.min(limit, 1000));
|
|
292
333
|
const rows = this.db
|
|
293
|
-
.prepare(`SELECT id, ts, kind, request_id, service_index, tx_hash,
|
|
334
|
+
.prepare(`SELECT id, ts, kind, request_id, service_index, tx_hash, solver_type, outcome, detail
|
|
294
335
|
FROM activity_events
|
|
295
336
|
WHERE id > @afterId
|
|
296
337
|
ORDER BY id ASC
|
|
@@ -303,7 +344,7 @@ export class Store {
|
|
|
303
344
|
requestId: r.request_id,
|
|
304
345
|
serviceIndex: r.service_index,
|
|
305
346
|
txHash: r.tx_hash,
|
|
306
|
-
|
|
347
|
+
solverType: r.solver_type,
|
|
307
348
|
outcome: r.outcome,
|
|
308
349
|
detail: r.detail,
|
|
309
350
|
}));
|
|
@@ -410,6 +451,10 @@ export class Store {
|
|
|
410
451
|
});
|
|
411
452
|
tx();
|
|
412
453
|
}
|
|
454
|
+
getTaskEvidenceHash(requestId) {
|
|
455
|
+
const row = this.db.prepare('SELECT evidence_hash FROM task_runs WHERE request_id = ?').get(requestId);
|
|
456
|
+
return row?.evidence_hash ?? null;
|
|
457
|
+
}
|
|
413
458
|
getLastProcessedBlock() {
|
|
414
459
|
const row = this.db.prepare('SELECT value FROM config WHERE key = ?').get('last_processed_block');
|
|
415
460
|
return row?.value ? BigInt(row.value) : null;
|
|
@@ -419,8 +464,8 @@ export class Store {
|
|
|
419
464
|
}
|
|
420
465
|
insertArtifact(artifact) {
|
|
421
466
|
this.db.prepare(`
|
|
422
|
-
INSERT OR REPLACE INTO artifacts (id,
|
|
423
|
-
VALUES (@id, @
|
|
467
|
+
INSERT OR REPLACE INTO artifacts (id, task_id, request_id, title, content, tags, outcome)
|
|
468
|
+
VALUES (@id, @taskId, @requestId, @title, @content, @tags, @outcome)
|
|
424
469
|
`).run({
|
|
425
470
|
...artifact,
|
|
426
471
|
tags: JSON.stringify(artifact.tags),
|
|
@@ -437,9 +482,9 @@ export class Store {
|
|
|
437
482
|
conditions.push('request_id = @requestId');
|
|
438
483
|
params['requestId'] = query.requestId;
|
|
439
484
|
}
|
|
440
|
-
if (query.
|
|
441
|
-
conditions.push('
|
|
442
|
-
params['
|
|
485
|
+
if (query.taskId) {
|
|
486
|
+
conditions.push('task_id = @taskId');
|
|
487
|
+
params['taskId'] = query.taskId;
|
|
443
488
|
}
|
|
444
489
|
if (query.after) {
|
|
445
490
|
conditions.push('created_at >= @after');
|
|
@@ -457,7 +502,7 @@ export class Store {
|
|
|
457
502
|
}
|
|
458
503
|
const where = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
|
|
459
504
|
const limit = query.limit ?? 50;
|
|
460
|
-
const rows = this.db.prepare(`SELECT id, title, content, tags, outcome, request_id,
|
|
505
|
+
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
506
|
return rows.map(row => ({
|
|
462
507
|
...row,
|
|
463
508
|
tags: JSON.parse(row.tags),
|
|
@@ -465,19 +510,29 @@ export class Store {
|
|
|
465
510
|
}
|
|
466
511
|
insertRemoteArtifact(artifact) {
|
|
467
512
|
this.db.prepare(`
|
|
468
|
-
INSERT OR REPLACE INTO artifacts (id,
|
|
469
|
-
VALUES (@id, @
|
|
513
|
+
INSERT OR REPLACE INTO artifacts (id, task_id, request_id, title, tags, outcome, remote, owner_address, endpoint, price)
|
|
514
|
+
VALUES (@id, @taskId, @requestId, @title, @tags, @outcome, 1, @ownerAddress, @endpoint, @price)
|
|
470
515
|
`).run({
|
|
471
516
|
...artifact,
|
|
472
517
|
tags: JSON.stringify(artifact.tags),
|
|
473
518
|
price: artifact.price ?? null,
|
|
474
519
|
});
|
|
475
520
|
}
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
521
|
+
/**
|
|
522
|
+
* Text body for a catalog artifact id: local `artifacts.content`, else a peer-cached
|
|
523
|
+
* blob in `network_artifacts` (via `peer_catalog_id`).
|
|
524
|
+
*/
|
|
525
|
+
resolveCatalogArtifactContent(id) {
|
|
526
|
+
const local = this.db.prepare('SELECT content FROM artifacts WHERE id = ?').get(id);
|
|
527
|
+
if (local?.content != null)
|
|
528
|
+
return local.content;
|
|
529
|
+
const net = this.db.prepare(`SELECT content FROM network_artifacts WHERE peer_catalog_id = ? ORDER BY fetched_at DESC LIMIT 1`).get(id);
|
|
530
|
+
if (!net)
|
|
531
|
+
return null;
|
|
532
|
+
return net.content.toString('utf-8');
|
|
479
533
|
}
|
|
480
|
-
|
|
534
|
+
/** Endpoint / owner for a remote (peer-synced) catalog row in `artifacts`. */
|
|
535
|
+
getRemoteDiscoveryMetadata(id) {
|
|
481
536
|
const row = this.db.prepare('SELECT endpoint, owner_address, price FROM artifacts WHERE id = ? AND remote = 1').get(id);
|
|
482
537
|
if (!row)
|
|
483
538
|
return null;
|
|
@@ -493,8 +548,136 @@ export class Store {
|
|
|
493
548
|
return null;
|
|
494
549
|
return { ...row, tags: JSON.parse(row.tags) };
|
|
495
550
|
}
|
|
496
|
-
|
|
497
|
-
this.db.prepare(
|
|
551
|
+
saveServedArtifact(input) {
|
|
552
|
+
this.db.prepare(`INSERT OR REPLACE INTO served_artifacts
|
|
553
|
+
(sha256, artifact_type, request_id, envelope_cid, content, content_size, price_usdc, created_at)
|
|
554
|
+
VALUES
|
|
555
|
+
(@sha256, @artifactType, @requestId, @envelopeCid, @content, @contentSize, @priceUsdc, @createdAt)`).run({
|
|
556
|
+
sha256: input.sha256,
|
|
557
|
+
artifactType: input.artifactType,
|
|
558
|
+
requestId: input.requestId ?? null,
|
|
559
|
+
envelopeCid: input.envelopeCid ?? null,
|
|
560
|
+
content: input.content,
|
|
561
|
+
contentSize: input.content.length,
|
|
562
|
+
priceUsdc: input.priceUsdc,
|
|
563
|
+
createdAt: input.createdAt,
|
|
564
|
+
});
|
|
565
|
+
}
|
|
566
|
+
getServedArtifact(sha256) {
|
|
567
|
+
const row = this.db.prepare(`SELECT sha256, artifact_type, request_id, envelope_cid, content, content_size, price_usdc, created_at
|
|
568
|
+
FROM served_artifacts WHERE sha256 = ?`).get(sha256);
|
|
569
|
+
if (!row)
|
|
570
|
+
return null;
|
|
571
|
+
return {
|
|
572
|
+
sha256: row.sha256,
|
|
573
|
+
artifactType: row.artifact_type,
|
|
574
|
+
requestId: row.request_id,
|
|
575
|
+
envelopeCid: row.envelope_cid,
|
|
576
|
+
content: row.content,
|
|
577
|
+
contentSize: row.content_size,
|
|
578
|
+
priceUsdc: row.price_usdc,
|
|
579
|
+
createdAt: row.created_at,
|
|
580
|
+
};
|
|
581
|
+
}
|
|
582
|
+
setServedArtifactEnvelopeCid(sha256, envelopeCid) {
|
|
583
|
+
this.db.prepare(`UPDATE served_artifacts SET envelope_cid = ? WHERE sha256 = ?`).run(envelopeCid, sha256);
|
|
584
|
+
}
|
|
585
|
+
getServedArtifactsByRequestId(requestId) {
|
|
586
|
+
const rows = this.db.prepare(`SELECT sha256, artifact_type, request_id, envelope_cid, content, content_size, price_usdc, created_at
|
|
587
|
+
FROM served_artifacts WHERE request_id = ? ORDER BY created_at ASC`).all(requestId);
|
|
588
|
+
return rows.map((row) => ({
|
|
589
|
+
sha256: row.sha256,
|
|
590
|
+
artifactType: row.artifact_type,
|
|
591
|
+
requestId: row.request_id,
|
|
592
|
+
envelopeCid: row.envelope_cid,
|
|
593
|
+
content: row.content,
|
|
594
|
+
contentSize: row.content_size,
|
|
595
|
+
priceUsdc: row.price_usdc,
|
|
596
|
+
createdAt: row.created_at,
|
|
597
|
+
}));
|
|
598
|
+
}
|
|
599
|
+
saveNetworkArtifact(input) {
|
|
600
|
+
if (input.peerCatalogId) {
|
|
601
|
+
this.db.prepare(`DELETE FROM network_artifacts WHERE peer_catalog_id = ?`).run(input.peerCatalogId);
|
|
602
|
+
}
|
|
603
|
+
this.db.prepare(`INSERT OR REPLACE INTO network_artifacts
|
|
604
|
+
(sha256, artifact_type, envelope_cid, content, content_size, source,
|
|
605
|
+
source_operator, source_endpoint, paid_amount_usdc, fetched_at, last_used_at, peer_catalog_id)
|
|
606
|
+
VALUES
|
|
607
|
+
(@sha256, @artifactType, @envelopeCid, @content, @contentSize, @source,
|
|
608
|
+
@sourceOperator, @sourceEndpoint, @paidAmountUsdc, @fetchedAt, @fetchedAt, @peerCatalogId)`).run({
|
|
609
|
+
sha256: input.sha256,
|
|
610
|
+
artifactType: input.artifactType,
|
|
611
|
+
envelopeCid: input.envelopeCid ?? null,
|
|
612
|
+
content: input.content,
|
|
613
|
+
contentSize: input.content.length,
|
|
614
|
+
source: input.source,
|
|
615
|
+
sourceOperator: input.sourceOperator ?? null,
|
|
616
|
+
sourceEndpoint: input.sourceEndpoint ?? null,
|
|
617
|
+
paidAmountUsdc: input.paidAmountUsdc,
|
|
618
|
+
fetchedAt: input.fetchedAt,
|
|
619
|
+
peerCatalogId: input.peerCatalogId ?? null,
|
|
620
|
+
});
|
|
621
|
+
}
|
|
622
|
+
getNetworkArtifact(sha256) {
|
|
623
|
+
const row = this.db.prepare(`SELECT sha256, artifact_type, envelope_cid, content, content_size, source,
|
|
624
|
+
source_operator, source_endpoint, paid_amount_usdc, fetched_at, last_used_at,
|
|
625
|
+
peer_catalog_id
|
|
626
|
+
FROM network_artifacts WHERE sha256 = ?`).get(sha256);
|
|
627
|
+
if (!row)
|
|
628
|
+
return null;
|
|
629
|
+
return {
|
|
630
|
+
sha256: row.sha256,
|
|
631
|
+
artifactType: row.artifact_type,
|
|
632
|
+
envelopeCid: row.envelope_cid,
|
|
633
|
+
content: row.content,
|
|
634
|
+
contentSize: row.content_size,
|
|
635
|
+
source: row.source,
|
|
636
|
+
sourceOperator: row.source_operator,
|
|
637
|
+
sourceEndpoint: row.source_endpoint,
|
|
638
|
+
paidAmountUsdc: row.paid_amount_usdc,
|
|
639
|
+
fetchedAt: row.fetched_at,
|
|
640
|
+
lastUsedAt: row.last_used_at,
|
|
641
|
+
peerCatalogId: row.peer_catalog_id,
|
|
642
|
+
};
|
|
643
|
+
}
|
|
644
|
+
touchNetworkArtifactUsage(sha256, ts) {
|
|
645
|
+
this.db.prepare(`UPDATE network_artifacts SET last_used_at = ? WHERE sha256 = ?`).run(ts, sha256);
|
|
646
|
+
}
|
|
647
|
+
/**
|
|
648
|
+
* Local fast-path search across own (served) artifacts and cached (network)
|
|
649
|
+
* artifacts. Used by the MCP `search_artifacts` tool to prepend local
|
|
650
|
+
* matches to corpus query results.
|
|
651
|
+
*/
|
|
652
|
+
searchOwnAndCached(filter) {
|
|
653
|
+
const limit = Math.min(Math.max(1, filter.limit), 500);
|
|
654
|
+
const ownSql = filter.artifactType
|
|
655
|
+
? `SELECT sha256, artifact_type, envelope_cid, created_at FROM served_artifacts WHERE artifact_type = @type ORDER BY created_at DESC LIMIT @limit`
|
|
656
|
+
: `SELECT sha256, artifact_type, envelope_cid, created_at FROM served_artifacts ORDER BY created_at DESC LIMIT @limit`;
|
|
657
|
+
const cachedSql = filter.artifactType
|
|
658
|
+
? `SELECT sha256, artifact_type, envelope_cid, fetched_at FROM network_artifacts WHERE artifact_type = @type ORDER BY fetched_at DESC LIMIT @limit`
|
|
659
|
+
: `SELECT sha256, artifact_type, envelope_cid, fetched_at FROM network_artifacts ORDER BY fetched_at DESC LIMIT @limit`;
|
|
660
|
+
const params = { limit };
|
|
661
|
+
if (filter.artifactType)
|
|
662
|
+
params['type'] = filter.artifactType;
|
|
663
|
+
const own = this.db.prepare(ownSql).all(params);
|
|
664
|
+
const cached = this.db.prepare(cachedSql).all(params);
|
|
665
|
+
return [
|
|
666
|
+
...own.map((r) => ({
|
|
667
|
+
sha256: r.sha256,
|
|
668
|
+
artifactType: r.artifact_type,
|
|
669
|
+
source: 'served',
|
|
670
|
+
envelopeCid: r.envelope_cid,
|
|
671
|
+
createdAt: r.created_at,
|
|
672
|
+
})),
|
|
673
|
+
...cached.map((r) => ({
|
|
674
|
+
sha256: r.sha256,
|
|
675
|
+
artifactType: r.artifact_type,
|
|
676
|
+
source: 'network',
|
|
677
|
+
envelopeCid: r.envelope_cid,
|
|
678
|
+
createdAt: r.fetched_at,
|
|
679
|
+
})),
|
|
680
|
+
];
|
|
498
681
|
}
|
|
499
682
|
close() {
|
|
500
683
|
this.db.close();
|