@jinn-network/client 0.1.2 → 0.1.3-canary.262e5cda
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/CONTRIBUTING.md +8 -2
- package/README.md +38 -14
- 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 +2 -2
- 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 +2 -2
- package/dist/adapters/local/adapter.js +8 -8
- package/dist/adapters/local/adapter.js.map +1 -1
- package/dist/adapters/mech/adapter.d.ts +3 -4
- package/dist/adapters/mech/adapter.js +86 -50
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +6 -4
- package/dist/adapters/mech/contracts.js +118 -14
- package/dist/adapters/mech/contracts.js.map +1 -1
- package/dist/adapters/mech/ipfs.d.ts +61 -6
- package/dist/adapters/mech/ipfs.js +159 -26
- 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 +47 -21
- 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 +5 -1
- 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/peers.js +20 -5
- package/dist/api/peers.js.map +1 -1
- package/dist/api/portfolio-v0-build.d.ts +6 -0
- package/dist/api/portfolio-v0-build.js +6 -1
- package/dist/api/portfolio-v0-build.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 +54 -0
- package/dist/api/server.js +239 -13
- 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 +9 -1
- 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 +36 -0
- package/dist/cli/commands/create.js +374 -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 +136 -121
- 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/history.d.ts +10 -1
- package/dist/cli/commands/history.js +66 -57
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/impls.d.ts +18 -0
- package/dist/cli/commands/impls.js +208 -0
- package/dist/cli/commands/impls.js.map +1 -0
- package/dist/cli/commands/init.js +4 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/intents.js +13 -9
- package/dist/cli/commands/intents.js.map +1 -1
- 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/plug-ins.d.ts +34 -0
- package/dist/cli/commands/plug-ins.js +282 -0
- package/dist/cli/commands/plug-ins.js.map +1 -0
- package/dist/cli/commands/plugin-install.d.ts +10 -0
- package/dist/cli/commands/plugin-install.js +226 -14
- package/dist/cli/commands/plugin-install.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 +232 -90
- package/dist/cli/commands/run.js.map +1 -1
- 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/submit-intent.js +33 -6
- package/dist/cli/commands/submit-intent.js.map +1 -1
- 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 +102 -97
- 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 +2 -1
- package/dist/cli/execution-context.js.map +1 -1
- package/dist/cli/help.js +7 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.js +18 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/intent-registry-access.d.ts +33 -1
- package/dist/cli/intent-registry-access.js +40 -2
- package/dist/cli/intent-registry-access.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 +5 -5
- package/dist/cli/password.js.map +1 -1
- package/dist/config.d.ts +883 -11
- package/dist/config.js +435 -4
- 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 +228 -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 +107 -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 +2 -2
- package/dist/daemon/creator.js +2 -2
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +70 -15
- package/dist/daemon/daemon.js +159 -41
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/delivery-watcher.js +31 -1
- 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/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/index.d.ts +1 -1
- package/dist/intents/kinds/index.d.ts +10 -0
- package/dist/intents/kinds/index.js +7 -0
- package/dist/intents/kinds/index.js.map +1 -1
- package/dist/intents/kinds/learner-loop-test.d.ts +2 -0
- package/dist/intents/kinds/learner-loop-test.js +39 -0
- package/dist/intents/kinds/learner-loop-test.js.map +1 -0
- package/dist/intents/kinds/prediction-apy-v0.js +5 -1
- package/dist/intents/kinds/prediction-apy-v0.js.map +1 -1
- package/dist/intents/kinds/prediction-v0.js +5 -0
- package/dist/intents/kinds/prediction-v0.js.map +1 -1
- package/dist/intents/kinds/spec-kind.d.ts +18 -1
- package/dist/intents/posting-service.d.ts +3 -5
- package/dist/intents/posting-service.js +16 -50
- package/dist/intents/posting-service.js.map +1 -1
- package/dist/intents/prediction-apy-v0-auto.d.ts +12 -2
- package/dist/intents/prediction-apy-v0-auto.js +27 -2
- package/dist/intents/prediction-apy-v0-auto.js.map +1 -1
- package/dist/intents/prediction-v0-auto.d.ts +14 -4
- package/dist/intents/prediction-v0-auto.js +29 -5
- package/dist/intents/prediction-v0-auto.js.map +1 -1
- package/dist/intents/signing.d.ts +13 -0
- package/dist/intents/signing.js +27 -0
- package/dist/intents/signing.js.map +1 -0
- package/dist/intents/sources.d.ts +12 -5
- package/dist/intents/sources.js +11 -11
- package/dist/intents/sources.js.map +1 -1
- package/dist/main.d.ts +5 -2
- package/dist/main.js +792 -66
- 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 +20 -3
- package/dist/mcp/operator-server.js +500 -25
- 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.js +103 -58
- package/dist/mcp/server.js.map +1 -1
- package/dist/observability/emit-event.d.ts +1 -1
- 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/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/restorer/capability/index.d.ts +82 -0
- package/dist/restorer/capability/index.js +12 -0
- package/dist/restorer/capability/index.js.map +1 -0
- package/dist/restorer/capability/scoped-rpc.d.ts +12 -0
- package/dist/restorer/capability/scoped-rpc.js +34 -0
- package/dist/restorer/capability/scoped-rpc.js.map +1 -0
- package/dist/restorer/capability/scoped-secrets.d.ts +8 -0
- package/dist/restorer/capability/scoped-secrets.js +10 -0
- package/dist/restorer/capability/scoped-secrets.js.map +1 -0
- package/dist/restorer/capability/scoped-signer.d.ts +46 -0
- package/dist/restorer/capability/scoped-signer.js +73 -0
- package/dist/restorer/capability/scoped-signer.js.map +1 -0
- package/dist/restorer/engine/canonical-json.d.ts +0 -17
- package/dist/restorer/engine/canonical-json.js +56 -49
- package/dist/restorer/engine/canonical-json.js.map +1 -1
- package/dist/restorer/engine/claim.js +8 -1
- package/dist/restorer/engine/claim.js.map +1 -1
- package/dist/restorer/engine/delivery.d.ts +2 -0
- package/dist/restorer/engine/delivery.js +2 -2
- package/dist/restorer/engine/delivery.js.map +1 -1
- package/dist/restorer/engine/engine.d.ts +143 -26
- package/dist/restorer/engine/engine.js +485 -104
- package/dist/restorer/engine/engine.js.map +1 -1
- package/dist/restorer/engine/envelope-assembly.d.ts +65 -0
- package/dist/restorer/engine/envelope-assembly.js +60 -0
- package/dist/restorer/engine/envelope-assembly.js.map +1 -0
- package/dist/restorer/engine/packaging.d.ts +30 -30
- package/dist/restorer/engine/packaging.js +73 -47
- package/dist/restorer/engine/packaging.js.map +1 -1
- package/dist/restorer/engine/persistence.d.ts +7 -7
- package/dist/restorer/engine/persistence.js +4 -4
- package/dist/restorer/engine/persistence.js.map +1 -1
- package/dist/restorer/engine/registry.d.ts +24 -13
- package/dist/restorer/engine/registry.js +16 -13
- package/dist/restorer/engine/registry.js.map +1 -1
- package/dist/restorer/engine/validate-manifest.d.ts +23 -0
- package/dist/restorer/engine/validate-manifest.js +49 -0
- package/dist/restorer/engine/validate-manifest.js.map +1 -0
- package/dist/restorer/engine/verification-stub.d.ts +18 -0
- package/dist/restorer/engine/verification-stub.js +18 -0
- package/dist/restorer/engine/verification-stub.js.map +1 -0
- package/dist/restorer/external-impls/index.d.ts +3 -0
- package/dist/restorer/external-impls/index.js +2 -0
- package/dist/restorer/external-impls/index.js.map +1 -0
- package/dist/restorer/external-impls/loader.d.ts +49 -0
- package/dist/restorer/external-impls/loader.js +138 -0
- package/dist/restorer/external-impls/loader.js.map +1 -0
- package/dist/restorer/external-impls/package-hash.d.ts +26 -0
- package/dist/restorer/external-impls/package-hash.js +102 -0
- package/dist/restorer/external-impls/package-hash.js.map +1 -0
- package/dist/restorer/external-impls/types.d.ts +42 -0
- package/dist/restorer/external-impls/types.js +10 -0
- package/dist/restorer/external-impls/types.js.map +1 -0
- package/dist/restorer/impls/claude-code-learner/adapters/claude-code.d.ts +38 -0
- package/dist/restorer/impls/claude-code-learner/adapters/claude-code.js +200 -0
- package/dist/restorer/impls/claude-code-learner/adapters/claude-code.js.map +1 -0
- package/dist/restorer/impls/claude-code-learner/harvest.d.ts +19 -0
- package/dist/restorer/impls/claude-code-learner/harvest.js +146 -0
- package/dist/restorer/impls/claude-code-learner/harvest.js.map +1 -0
- package/dist/restorer/impls/claude-code-learner/index.d.ts +15 -0
- package/dist/restorer/impls/claude-code-learner/index.js +14 -0
- package/dist/restorer/impls/claude-code-learner/index.js.map +1 -0
- package/dist/restorer/impls/claude-code-learner/mcp-config.d.ts +48 -0
- package/dist/restorer/impls/claude-code-learner/mcp-config.js +52 -0
- package/dist/restorer/impls/claude-code-learner/mcp-config.js.map +1 -0
- package/dist/restorer/impls/claude-code-learner/plugin-path.d.ts +14 -0
- package/dist/restorer/impls/claude-code-learner/plugin-path.js +30 -0
- package/dist/restorer/impls/claude-code-learner/plugin-path.js.map +1 -0
- package/dist/restorer/impls/claude-code-learner/restorer.d.ts +38 -0
- package/dist/restorer/impls/claude-code-learner/restorer.js +73 -0
- package/dist/restorer/impls/claude-code-learner/restorer.js.map +1 -0
- package/dist/restorer/impls/claude-code-learner/test-utils/fake-plugin-outputs.d.ts +19 -0
- package/dist/restorer/impls/claude-code-learner/test-utils/fake-plugin-outputs.js +111 -0
- package/dist/restorer/impls/claude-code-learner/test-utils/fake-plugin-outputs.js.map +1 -0
- package/dist/restorer/impls/claude-code-learner/test-utils/noop-adapter.d.ts +22 -0
- package/dist/restorer/impls/claude-code-learner/test-utils/noop-adapter.js +35 -0
- package/dist/restorer/impls/claude-code-learner/test-utils/noop-adapter.js.map +1 -0
- package/dist/restorer/impls/claude-code-learner/test-utils/synthetic-session.d.ts +20 -0
- package/dist/restorer/impls/claude-code-learner/test-utils/synthetic-session.js +34 -0
- package/dist/restorer/impls/claude-code-learner/test-utils/synthetic-session.js.map +1 -0
- package/dist/restorer/impls/claude-code-learner/types.d.ts +99 -0
- package/dist/restorer/impls/claude-code-learner/types.js +2 -0
- package/dist/restorer/impls/claude-code-learner/types.js.map +1 -0
- package/dist/restorer/impls/claude-code-learner/wrapper.d.ts +49 -0
- package/dist/restorer/impls/claude-code-learner/wrapper.js +144 -0
- package/dist/restorer/impls/claude-code-learner/wrapper.js.map +1 -0
- package/dist/restorer/impls/claude-mcp-hyperliquid/index.d.ts +2 -2
- package/dist/restorer/impls/claude-mcp-hyperliquid/index.js +2 -2
- package/dist/restorer/impls/claude-mcp-hyperliquid/index.js.map +1 -1
- package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.d.ts +7 -0
- package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.js +38 -0
- package/dist/restorer/impls/claude-mcp-hyperliquid/session-orchestrator.js.map +1 -1
- package/dist/restorer/impls/claude-mcp-prediction/index.d.ts +2 -2
- package/dist/restorer/impls/claude-mcp-prediction/index.js +12 -2
- package/dist/restorer/impls/claude-mcp-prediction/index.js.map +1 -1
- package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.d.ts +9 -2
- package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.js +9 -125
- package/dist/restorer/impls/claude-mcp-prediction/session-orchestrator.js.map +1 -1
- package/dist/restorer/impls/claude-mcp-prediction-apy/index.d.ts +2 -2
- package/dist/restorer/impls/claude-mcp-prediction-apy/index.js +9 -2
- package/dist/restorer/impls/claude-mcp-prediction-apy/index.js.map +1 -1
- package/dist/restorer/impls/claude-mcp-prediction-apy/session-orchestrator.d.ts +10 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/session-orchestrator.js +10 -119
- package/dist/restorer/impls/claude-mcp-prediction-apy/session-orchestrator.js.map +1 -1
- package/dist/restorer/impls/claude-mcp-shared/single-session-orchestrator.d.ts +84 -0
- package/dist/restorer/impls/claude-mcp-shared/single-session-orchestrator.js +206 -0
- package/dist/restorer/impls/claude-mcp-shared/single-session-orchestrator.js.map +1 -0
- package/dist/restorer/impls/evaluation-context.d.ts +11 -4
- package/dist/restorer/impls/evaluation-context.js +9 -2
- package/dist/restorer/impls/evaluation-context.js.map +1 -1
- package/dist/restorer/impls/index.d.ts +46 -1
- package/dist/restorer/impls/index.js +38 -0
- package/dist/restorer/impls/index.js.map +1 -1
- package/dist/restorer/impls/legacy-claude/index.d.ts +13 -1
- package/dist/restorer/impls/legacy-claude/index.js +2 -0
- package/dist/restorer/impls/legacy-claude/index.js.map +1 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/index.d.ts +4 -4
- package/dist/restorer/impls/portfolio-v0-evaluator/index.js +184 -55
- package/dist/restorer/impls/portfolio-v0-evaluator/index.js.map +1 -1
- package/dist/restorer/impls/prediction-apy-v0-baseline/index.d.ts +1 -1
- package/dist/restorer/impls/prediction-apy-v0-baseline/index.js +8 -1
- package/dist/restorer/impls/prediction-apy-v0-baseline/index.js.map +1 -1
- package/dist/restorer/impls/prediction-apy-v0-evaluator/index.d.ts +3 -3
- package/dist/restorer/impls/prediction-apy-v0-evaluator/index.js +153 -15
- package/dist/restorer/impls/prediction-apy-v0-evaluator/index.js.map +1 -1
- package/dist/restorer/impls/prediction-apy-v0-evaluator/parse-submission.d.ts +14 -5
- package/dist/restorer/impls/prediction-apy-v0-evaluator/parse-submission.js +16 -23
- package/dist/restorer/impls/prediction-apy-v0-evaluator/parse-submission.js.map +1 -1
- package/dist/restorer/impls/prediction-v0-baseline/index.d.ts +1 -1
- package/dist/restorer/impls/prediction-v0-baseline/index.js +16 -7
- package/dist/restorer/impls/prediction-v0-baseline/index.js.map +1 -1
- package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.d.ts +5 -3
- package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.js.map +1 -1
- package/dist/restorer/impls/prediction-v0-evaluator/index.d.ts +2 -2
- package/dist/restorer/impls/prediction-v0-evaluator/index.js +175 -67
- package/dist/restorer/impls/prediction-v0-evaluator/index.js.map +1 -1
- package/dist/restorer/manifest/index.d.ts +3 -0
- package/dist/restorer/manifest/index.js +3 -0
- package/dist/restorer/manifest/index.js.map +1 -0
- package/dist/restorer/manifest/load.d.ts +7 -0
- package/dist/restorer/manifest/load.js +49 -0
- package/dist/restorer/manifest/load.js.map +1 -0
- package/dist/restorer/manifest/types.d.ts +75 -0
- package/dist/restorer/manifest/types.js +8 -0
- package/dist/restorer/manifest/types.js.map +1 -0
- package/dist/restorer/manifest/verify.d.ts +15 -0
- package/dist/restorer/manifest/verify.js +53 -0
- package/dist/restorer/manifest/verify.js.map +1 -0
- package/dist/restorer/plug-ins/index.d.ts +14 -0
- package/dist/restorer/plug-ins/index.js +11 -0
- package/dist/restorer/plug-ins/index.js.map +1 -0
- package/dist/restorer/plug-ins/loader.d.ts +27 -0
- package/dist/restorer/plug-ins/loader.js +101 -0
- package/dist/restorer/plug-ins/loader.js.map +1 -0
- package/dist/restorer/plug-ins/manifest.d.ts +7 -0
- package/dist/restorer/plug-ins/manifest.js +97 -0
- package/dist/restorer/plug-ins/manifest.js.map +1 -0
- package/dist/restorer/plug-ins/registry.d.ts +24 -0
- package/dist/restorer/plug-ins/registry.js +17 -0
- package/dist/restorer/plug-ins/registry.js.map +1 -0
- package/dist/restorer/plug-ins/serialise.d.ts +29 -0
- package/dist/restorer/plug-ins/serialise.js +29 -0
- package/dist/restorer/plug-ins/serialise.js.map +1 -0
- package/dist/restorer/plug-ins/types.d.ts +77 -0
- package/dist/restorer/plug-ins/types.js +10 -0
- package/dist/restorer/plug-ins/types.js.map +1 -0
- package/dist/restorer/types.d.ts +66 -11
- package/dist/restorer/types.js.map +1 -1
- package/dist/runner/claude.d.ts +3 -3
- package/dist/runner/claude.js +57 -21
- 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/store/store.d.ts +79 -3
- package/dist/store/store.js +189 -6
- package/dist/store/store.js.map +1 -1
- package/dist/templates/plug-in/hook/README.md.tmpl +24 -0
- package/dist/templates/plug-in/hook/gitignore.tmpl +3 -0
- package/dist/templates/plug-in/hook/hooks/event.sh.tmpl +15 -0
- package/dist/templates/plug-in/hook/jinn-plugin.json.tmpl +16 -0
- package/dist/templates/plug-in/hook/package.json.tmpl +14 -0
- package/dist/templates/plug-in/hook/test/manifest.test.ts.tmpl +21 -0
- package/dist/templates/plug-in/mcp-tool/README.md.tmpl +26 -0
- package/dist/templates/plug-in/mcp-tool/gitignore.tmpl +4 -0
- package/dist/templates/plug-in/mcp-tool/jinn-plugin.json.tmpl +16 -0
- package/dist/templates/plug-in/mcp-tool/package.json.tmpl +19 -0
- package/dist/templates/plug-in/mcp-tool/src/server.ts.tmpl +17 -0
- package/dist/templates/plug-in/mcp-tool/test/server.test.ts.tmpl +18 -0
- package/dist/templates/plug-in/memory-backend/README.md.tmpl +33 -0
- package/dist/templates/plug-in/memory-backend/gitignore.tmpl +4 -0
- package/dist/templates/plug-in/memory-backend/jinn-plugin.json.tmpl +16 -0
- package/dist/templates/plug-in/memory-backend/package.json.tmpl +19 -0
- package/dist/templates/plug-in/memory-backend/src/server.ts.tmpl +23 -0
- package/dist/templates/plug-in/memory-backend/test/server.test.ts.tmpl +17 -0
- package/dist/templates/plug-in/phase-agent-override/README.md.tmpl +30 -0
- package/dist/templates/plug-in/phase-agent-override/agents/agent.md.tmpl +26 -0
- package/dist/templates/plug-in/phase-agent-override/gitignore.tmpl +3 -0
- package/dist/templates/plug-in/phase-agent-override/jinn-plugin.json.tmpl +17 -0
- package/dist/templates/plug-in/phase-agent-override/package.json.tmpl +14 -0
- package/dist/templates/plug-in/phase-agent-override/test/manifest.test.ts.tmpl +24 -0
- package/dist/templates/plug-in/skill-bundle/.claude-plugin/plugin.json.tmpl +5 -0
- package/dist/templates/plug-in/skill-bundle/README.md.tmpl +28 -0
- package/dist/templates/plug-in/skill-bundle/gitignore.tmpl +3 -0
- package/dist/templates/plug-in/skill-bundle/jinn-plugin.json.tmpl +15 -0
- package/dist/templates/plug-in/skill-bundle/package.json.tmpl +14 -0
- package/dist/templates/plug-in/skill-bundle/skills/example/SKILL.md.tmpl +14 -0
- package/dist/templates/plug-in/skill-bundle/test/manifest.test.ts.tmpl +21 -0
- package/dist/templates/plug-in/topic-explorer/README.md.tmpl +24 -0
- package/dist/templates/plug-in/topic-explorer/agents/explorer.md.tmpl +26 -0
- package/dist/templates/plug-in/topic-explorer/gitignore.tmpl +3 -0
- package/dist/templates/plug-in/topic-explorer/jinn-plugin.json.tmpl +17 -0
- package/dist/templates/plug-in/topic-explorer/package.json.tmpl +14 -0
- package/dist/templates/plug-in/topic-explorer/test/manifest.test.ts.tmpl +22 -0
- package/dist/templates/restorer/alternative-harness/README.md.tmpl +44 -0
- package/dist/templates/restorer/alternative-harness/gitignore.tmpl +3 -0
- package/dist/templates/restorer/alternative-harness/jinn.manifest.json.tmpl +22 -0
- package/dist/templates/restorer/alternative-harness/package.json.tmpl +26 -0
- package/dist/templates/restorer/alternative-harness/src/coordinator.ts.tmpl +50 -0
- package/dist/templates/restorer/alternative-harness/src/harness.ts.tmpl +31 -0
- package/dist/templates/restorer/alternative-harness/src/index.ts.tmpl +44 -0
- package/dist/templates/restorer/alternative-harness/src/mock-harness.ts.tmpl +41 -0
- package/dist/templates/restorer/alternative-harness/src/phases/debrief.ts.tmpl +28 -0
- package/dist/templates/restorer/alternative-harness/src/phases/execute.ts.tmpl +33 -0
- package/dist/templates/restorer/alternative-harness/src/phases/improve.ts.tmpl +31 -0
- package/dist/templates/restorer/alternative-harness/src/phases/memory.ts.tmpl +31 -0
- package/dist/templates/restorer/alternative-harness/src/phases/orient.ts.tmpl +21 -0
- package/dist/templates/restorer/alternative-harness/src/phases/plan.ts.tmpl +25 -0
- package/dist/templates/restorer/alternative-harness/src/phases/strategize.ts.tmpl +29 -0
- package/dist/templates/restorer/alternative-harness/test/coordinator.test.ts.tmpl +52 -0
- package/dist/templates/restorer/alternative-harness/test/unit.test.ts.tmpl +54 -0
- package/dist/templates/restorer/alternative-harness/tsconfig.json.tmpl +16 -0
- package/dist/templates/restorer/evaluator/README.md.tmpl +36 -0
- package/dist/templates/restorer/evaluator/gitignore.tmpl +3 -0
- package/dist/templates/restorer/evaluator/jinn.manifest.json.tmpl +22 -0
- package/dist/templates/restorer/evaluator/package.json.tmpl +26 -0
- package/dist/templates/restorer/evaluator/src/index.ts.tmpl +35 -0
- package/dist/templates/restorer/evaluator/test/unit.test.ts.tmpl +48 -0
- package/dist/templates/restorer/evaluator/tsconfig.json.tmpl +16 -0
- package/dist/templates/restorer/forecaster/README.md.tmpl +25 -0
- package/dist/templates/restorer/forecaster/gitignore.tmpl +5 -0
- package/dist/templates/restorer/forecaster/jinn.manifest.json.tmpl +22 -0
- package/dist/templates/restorer/forecaster/package.json.tmpl +26 -0
- package/dist/templates/restorer/forecaster/src/index.ts.tmpl +33 -0
- package/dist/templates/restorer/forecaster/test/unit.test.ts.tmpl +41 -0
- package/dist/templates/restorer/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/desired-state.d.ts +211 -21
- package/dist/types/desired-state.js +26 -15
- package/dist/types/desired-state.js.map +1 -1
- package/dist/types/envelope.d.ts +1473 -0
- package/dist/types/envelope.js +114 -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/intent.d.ts +276 -0
- package/dist/types/intent.js +74 -0
- package/dist/types/intent.js.map +1 -0
- 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 +23 -685
- package/dist/types/portfolio.js +16 -106
- package/dist/types/portfolio.js.map +1 -1
- package/dist/types/prediction-apy.d.ts +9 -344
- package/dist/types/prediction-apy.js +9 -65
- package/dist/types/prediction-apy.js.map +1 -1
- package/dist/types/prediction.d.ts +25 -396
- package/dist/types/prediction.js +5 -79
- package/dist/types/prediction.js.map +1 -1
- 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 +22 -0
- package/dist/util/path-safety.js +29 -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/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 +36 -11
- 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 +49 -0
- package/plugins/claude-code-learner/skills/coordinator/SKILL.md +131 -0
- package/plugins/claude-code-learner/skills/debrief/SKILL.md +71 -0
- package/plugins/claude-code-learner/skills/execute/SKILL.md +91 -0
- package/plugins/claude-code-learner/skills/improve/SKILL.md +57 -0
- package/plugins/claude-code-learner/skills/memory-consolidation/SKILL.md +57 -0
- package/plugins/claude-code-learner/skills/orient/SKILL.md +82 -0
- package/plugins/claude-code-learner/skills/plan/SKILL.md +54 -0
- package/plugins/claude-code-learner/skills/strategize/SKILL.md +63 -0
- package/skills/jinn-operator/SKILL.md +84 -35
- package/templates/plug-in/hook/README.md.tmpl +24 -0
- package/templates/plug-in/hook/gitignore.tmpl +3 -0
- package/templates/plug-in/hook/hooks/event.sh.tmpl +15 -0
- package/templates/plug-in/hook/jinn-plugin.json.tmpl +16 -0
- package/templates/plug-in/hook/package.json.tmpl +14 -0
- package/templates/plug-in/hook/test/manifest.test.ts.tmpl +21 -0
- package/templates/plug-in/mcp-tool/README.md.tmpl +26 -0
- package/templates/plug-in/mcp-tool/gitignore.tmpl +4 -0
- package/templates/plug-in/mcp-tool/jinn-plugin.json.tmpl +16 -0
- package/templates/plug-in/mcp-tool/package.json.tmpl +19 -0
- package/templates/plug-in/mcp-tool/src/server.ts.tmpl +17 -0
- package/templates/plug-in/mcp-tool/test/server.test.ts.tmpl +18 -0
- package/templates/plug-in/memory-backend/README.md.tmpl +33 -0
- package/templates/plug-in/memory-backend/gitignore.tmpl +4 -0
- package/templates/plug-in/memory-backend/jinn-plugin.json.tmpl +16 -0
- package/templates/plug-in/memory-backend/package.json.tmpl +19 -0
- package/templates/plug-in/memory-backend/src/server.ts.tmpl +23 -0
- package/templates/plug-in/memory-backend/test/server.test.ts.tmpl +17 -0
- package/templates/plug-in/phase-agent-override/README.md.tmpl +30 -0
- package/templates/plug-in/phase-agent-override/agents/agent.md.tmpl +26 -0
- package/templates/plug-in/phase-agent-override/gitignore.tmpl +3 -0
- package/templates/plug-in/phase-agent-override/jinn-plugin.json.tmpl +17 -0
- package/templates/plug-in/phase-agent-override/package.json.tmpl +14 -0
- package/templates/plug-in/phase-agent-override/test/manifest.test.ts.tmpl +24 -0
- package/templates/plug-in/skill-bundle/.claude-plugin/plugin.json.tmpl +5 -0
- package/templates/plug-in/skill-bundle/README.md.tmpl +28 -0
- package/templates/plug-in/skill-bundle/gitignore.tmpl +3 -0
- package/templates/plug-in/skill-bundle/jinn-plugin.json.tmpl +15 -0
- package/templates/plug-in/skill-bundle/package.json.tmpl +14 -0
- package/templates/plug-in/skill-bundle/skills/example/SKILL.md.tmpl +14 -0
- package/templates/plug-in/skill-bundle/test/manifest.test.ts.tmpl +21 -0
- package/templates/plug-in/topic-explorer/README.md.tmpl +24 -0
- package/templates/plug-in/topic-explorer/agents/explorer.md.tmpl +26 -0
- package/templates/plug-in/topic-explorer/gitignore.tmpl +3 -0
- package/templates/plug-in/topic-explorer/jinn-plugin.json.tmpl +17 -0
- package/templates/plug-in/topic-explorer/package.json.tmpl +14 -0
- package/templates/plug-in/topic-explorer/test/manifest.test.ts.tmpl +22 -0
- package/templates/restorer/alternative-harness/README.md.tmpl +44 -0
- package/templates/restorer/alternative-harness/gitignore.tmpl +3 -0
- package/templates/restorer/alternative-harness/jinn.manifest.json.tmpl +22 -0
- package/templates/restorer/alternative-harness/package.json.tmpl +26 -0
- package/templates/restorer/alternative-harness/src/coordinator.ts.tmpl +50 -0
- package/templates/restorer/alternative-harness/src/harness.ts.tmpl +31 -0
- package/templates/restorer/alternative-harness/src/index.ts.tmpl +44 -0
- package/templates/restorer/alternative-harness/src/mock-harness.ts.tmpl +41 -0
- package/templates/restorer/alternative-harness/src/phases/debrief.ts.tmpl +28 -0
- package/templates/restorer/alternative-harness/src/phases/execute.ts.tmpl +33 -0
- package/templates/restorer/alternative-harness/src/phases/improve.ts.tmpl +31 -0
- package/templates/restorer/alternative-harness/src/phases/memory.ts.tmpl +31 -0
- package/templates/restorer/alternative-harness/src/phases/orient.ts.tmpl +21 -0
- package/templates/restorer/alternative-harness/src/phases/plan.ts.tmpl +25 -0
- package/templates/restorer/alternative-harness/src/phases/strategize.ts.tmpl +29 -0
- package/templates/restorer/alternative-harness/test/coordinator.test.ts.tmpl +52 -0
- package/templates/restorer/alternative-harness/test/unit.test.ts.tmpl +54 -0
- package/templates/restorer/alternative-harness/tsconfig.json.tmpl +16 -0
- package/templates/restorer/evaluator/README.md.tmpl +36 -0
- package/templates/restorer/evaluator/gitignore.tmpl +3 -0
- package/templates/restorer/evaluator/jinn.manifest.json.tmpl +22 -0
- package/templates/restorer/evaluator/package.json.tmpl +26 -0
- package/templates/restorer/evaluator/src/index.ts.tmpl +35 -0
- package/templates/restorer/evaluator/test/unit.test.ts.tmpl +48 -0
- package/templates/restorer/evaluator/tsconfig.json.tmpl +16 -0
- package/templates/restorer/forecaster/README.md.tmpl +25 -0
- package/templates/restorer/forecaster/gitignore.tmpl +5 -0
- package/templates/restorer/forecaster/jinn.manifest.json.tmpl +22 -0
- package/templates/restorer/forecaster/package.json.tmpl +26 -0
- package/templates/restorer/forecaster/src/index.ts.tmpl +33 -0
- package/templates/restorer/forecaster/test/unit.test.ts.tmpl +41 -0
- package/templates/restorer/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/quickstart.js +0 -330
- package/dist/cli/commands/quickstart.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/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/cli/commands/{quickstart.d.ts → ui.d.ts} +0 -0
|
@@ -1,14 +1,17 @@
|
|
|
1
|
+
import { ZodError } from 'zod';
|
|
2
|
+
import { keccak256 } from 'viem';
|
|
1
3
|
import { base, baseSepolia } from 'viem/chains';
|
|
2
|
-
import { PermanentError } from '../../types/index.js';
|
|
4
|
+
import { PermanentError, parseRestorationJob } from '../../types/index.js';
|
|
3
5
|
import { createClients } from './safe.js';
|
|
4
|
-
import {
|
|
6
|
+
import { buildRestorationJobPayload, buildResultPayload, uploadToIpfs, cidToDigestHex, fetchFromIpfs, fetchSignedIntentFromIpfs, fetchSignedEnvelopeFromIpfs, parseRestorationJobFromPayload, } from './ipfs.js';
|
|
7
|
+
import { canonicalJson } from '../../restorer/engine/canonical-json.js';
|
|
8
|
+
import { SignedEnvelopeSchema } from '../../types/envelope.js';
|
|
5
9
|
import { submitRestorationJob, submitEvaluationJob, claimDelivery, getMechDeliveryRate, getTimeoutBounds, decodeMarketplaceRequestLogs, decodeDeliverLogs, callDeliverToMarketplace, scanRestorationJobs, scanEvaluationJobs, scanLatestRequestDataByRid, scanLatestDeliveryDataByRid, findLatestDeliveryDataHexForRequest, } from './contracts.js';
|
|
6
10
|
import { MECH_MARKETPLACE_ABI } from './types.js';
|
|
7
11
|
import { AcceptAllPolicy } from './claim-policy.js';
|
|
8
12
|
import { withRecoverableRetry } from '../../tx-retry.js';
|
|
9
13
|
import { formatRpcError } from '../../rpc-error-context.js';
|
|
10
|
-
import {
|
|
11
|
-
import { RESTORATION_INTENT_CID_CONTEXT_KEY } from '../../restorer/impls/evaluation-context.js';
|
|
14
|
+
import { RESTORATION_INTENT_CID_CONTEXT_KEY, RESTORATION_ENVELOPE_CID_CONTEXT_KEY } from '../../restorer/impls/evaluation-context.js';
|
|
12
15
|
export class MechAdapter {
|
|
13
16
|
name = 'mech';
|
|
14
17
|
publicClient;
|
|
@@ -25,14 +28,14 @@ export class MechAdapter {
|
|
|
25
28
|
// Restoration result content cached across evaluation-job retries so a transient
|
|
26
29
|
// Safe/router failure does not silently strip evaluator context on the next poll.
|
|
27
30
|
pendingEvaluationResults = new Map();
|
|
31
|
+
// IPFS CID of the restoration envelope — threaded into evaluation context so
|
|
32
|
+
// evaluators can populate restorationEnvelope.cid without a synchronous IPFS fetch.
|
|
33
|
+
pendingEvaluationResultCids = new Map();
|
|
28
34
|
// RIDs with no delivery found in backfill window; avoids repeated 500k-block rescans.
|
|
29
35
|
backfillMissRids = new Set();
|
|
30
36
|
// Original desired states keyed by request ID (restoration and evaluation)
|
|
31
|
-
// so we can yield accurate
|
|
37
|
+
// so we can yield accurate restorationJob in DeliveredResult
|
|
32
38
|
originalStates = new Map();
|
|
33
|
-
// Most recently posted intent CID (IPFS); surfaced via getLastPostedIntentCid()
|
|
34
|
-
// for ERC-8004 registration in the posting service.
|
|
35
|
-
_lastPostedIntentCid;
|
|
36
39
|
store;
|
|
37
40
|
claimPolicy;
|
|
38
41
|
constructor(config, store) {
|
|
@@ -139,8 +142,10 @@ export class MechAdapter {
|
|
|
139
142
|
try {
|
|
140
143
|
const d = String(deliveryDataHex);
|
|
141
144
|
const dig = d.startsWith('0x') ? d.slice(2) : d;
|
|
142
|
-
const
|
|
145
|
+
const envelopeCid = `f01551220${dig}`;
|
|
146
|
+
const payload = (await fetchFromIpfs(this.config.ipfsGatewayUrl, envelopeCid));
|
|
143
147
|
this.pendingEvaluationResults.set(requestId, payload.data ?? JSON.stringify(payload));
|
|
148
|
+
this.pendingEvaluationResultCids.set(requestId, envelopeCid);
|
|
144
149
|
this.backfillMissRids.delete(requestId);
|
|
145
150
|
}
|
|
146
151
|
catch (err) {
|
|
@@ -153,26 +158,24 @@ export class MechAdapter {
|
|
|
153
158
|
console.error(`[mech] Recovered: ${this.pendingEvaluations.size} pending evaluations, ${this.pendingEvaluationClaims.size} pending eval claims, ${this.claimedButNotEvaluated.size} claimed but not evaluated`);
|
|
154
159
|
}
|
|
155
160
|
}
|
|
156
|
-
|
|
157
|
-
return this._lastPostedIntentCid;
|
|
158
|
-
}
|
|
159
|
-
async postDesiredState(state) {
|
|
161
|
+
async postRestorationJob(state) {
|
|
160
162
|
const restorationState = {
|
|
161
163
|
...state,
|
|
162
164
|
type: state.type ?? 'restoration',
|
|
163
165
|
attemptId: state.attemptId,
|
|
164
166
|
attemptNumber: state.attemptNumber,
|
|
165
167
|
};
|
|
166
|
-
|
|
167
|
-
|
|
168
|
+
// When a pre-built SignedIntentV1 is attached, upload it directly so the
|
|
169
|
+
// on-chain CID points to the canonical signed intent document rather than
|
|
170
|
+
// the legacy RestorationJobPayload shape.
|
|
171
|
+
const ipfsDoc = state.intent ?? buildRestorationJobPayload(restorationState);
|
|
172
|
+
const restorationCid = await uploadToIpfs(this.config.ipfsRegistryUrl, ipfsDoc);
|
|
168
173
|
const restorationDataHex = cidToDigestHex(restorationCid);
|
|
169
174
|
const digestNo0x = restorationDataHex.startsWith('0x') ? restorationDataHex.slice(2) : restorationDataHex;
|
|
170
175
|
const restorationIntentCid = `f01551220${digestNo0x}`;
|
|
171
|
-
// Expose for ERC-8004 registration (posting service reads this right after postDesiredState).
|
|
172
|
-
this._lastPostedIntentCid = restorationIntentCid;
|
|
173
176
|
const deliveryRate = await getMechDeliveryRate(this.publicClient, this.config.mechContractAddress);
|
|
174
177
|
const { max: maxTimeout } = await getTimeoutBounds(this.publicClient, this.config.mechMarketplaceAddress);
|
|
175
|
-
const restorationJob = await submitRestorationJob(this.publicClient, this.walletClient, this.config.safeAddress, this.config.routerAddress, this.config.mechContractAddress, restorationDataHex, deliveryRate, maxTimeout);
|
|
178
|
+
const restorationJob = await submitRestorationJob(this.publicClient, this.walletClient, this.config.safeAddress, this.config.routerAddress, this.config.mechContractAddress, restorationDataHex, deliveryRate, maxTimeout, this.config.evictionRecovery);
|
|
176
179
|
const restorationRequestIds = restorationJob.requestIds;
|
|
177
180
|
if (restorationRequestIds.length === 0) {
|
|
178
181
|
throw new PermanentError('No request IDs returned from router ' +
|
|
@@ -215,11 +218,24 @@ export class MechAdapter {
|
|
|
215
218
|
// IPFS_GATEWAY_PREFIX constant (f01551220) which has worked in production.
|
|
216
219
|
// If the gateway ever switches to dag-pb (0x70) the prefix would be f01701220.
|
|
217
220
|
const intentCid = `f01551220${digest}`;
|
|
218
|
-
|
|
219
|
-
|
|
221
|
+
// Try to parse as a typed SignedIntentV1 first (Plan B envelope).
|
|
222
|
+
// Fall back to the legacy loose payload shape for older on-chain data.
|
|
223
|
+
let restorationJob;
|
|
224
|
+
try {
|
|
225
|
+
const signed = await fetchSignedIntentFromIpfs(this.config.ipfsGatewayUrl, intentCid);
|
|
226
|
+
restorationJob = parseRestorationJob({ intent: signed });
|
|
227
|
+
}
|
|
228
|
+
catch (err) {
|
|
229
|
+
if (!(err instanceof ZodError))
|
|
230
|
+
throw err;
|
|
231
|
+
// Fallback: pre-envelope legacy payload. Will be removed in Plan C (one-shot cutover).
|
|
232
|
+
console.debug(`[adapters/mech] intent.v1 parse failed for CID ${intentCid}; falling back to legacy payload parser`);
|
|
233
|
+
const payload = (await fetchFromIpfs(this.config.ipfsGatewayUrl, intentCid));
|
|
234
|
+
restorationJob = parseRestorationJobFromPayload(payload);
|
|
235
|
+
}
|
|
220
236
|
yield {
|
|
221
237
|
requestId,
|
|
222
|
-
|
|
238
|
+
restorationJob,
|
|
223
239
|
intentCid,
|
|
224
240
|
onchainCreationTx: transactionHash,
|
|
225
241
|
onchainCreationBlock: blockNumber,
|
|
@@ -254,7 +270,7 @@ export class MechAdapter {
|
|
|
254
270
|
const cid = await uploadToIpfs(this.config.ipfsRegistryUrl, payload);
|
|
255
271
|
const deliveryDigest = cidToDigestHex(cid);
|
|
256
272
|
// Safe → AgentMech.deliverToMarketplace() → Marketplace.deliverMarketplace()
|
|
257
|
-
await callDeliverToMarketplace(this.publicClient, this.walletClient, this.config.safeAddress, this.config.mechContractAddress, [requestId], [deliveryDigest]);
|
|
273
|
+
await callDeliverToMarketplace(this.publicClient, this.walletClient, this.config.safeAddress, this.config.mechContractAddress, [requestId], [deliveryDigest], this.config.evictionRecovery);
|
|
258
274
|
}
|
|
259
275
|
async *watchForDeliveries() {
|
|
260
276
|
while (!this.stopped) {
|
|
@@ -280,34 +296,44 @@ export class MechAdapter {
|
|
|
280
296
|
const iCreatedEvaluation = this.pendingEvaluationClaims.has(requestId);
|
|
281
297
|
if (!iDelivered && !iCreatedRestoration && !iCreatedEvaluation)
|
|
282
298
|
continue;
|
|
283
|
-
// (a)
|
|
284
|
-
//
|
|
285
|
-
//
|
|
286
|
-
//
|
|
287
|
-
//
|
|
288
|
-
//
|
|
289
|
-
//
|
|
290
|
-
|
|
291
|
-
|
|
299
|
+
// (a) Creator-side claim path: we created the restoration, so the
|
|
300
|
+
// router needs `restorationDeliveryClaimed` flipped before
|
|
301
|
+
// `createEvaluationJob` can fire. Production engine deliveries
|
|
302
|
+
// usually claim atomically; this call is idempotent and also
|
|
303
|
+
// covers legacy/test adapter deliveries that only wrote to the
|
|
304
|
+
// marketplace.
|
|
305
|
+
//
|
|
306
|
+
// For V2 claims we may not have a local store entry, so derive
|
|
307
|
+
// evidenceHash from the delivered envelope on IPFS. If derivation
|
|
308
|
+
// fails, skip and retry on a later poll.
|
|
309
|
+
if (iCreatedRestoration) {
|
|
292
310
|
try {
|
|
293
311
|
const variant = this.config.routerClaimDeliveryVariant;
|
|
294
312
|
let evidenceHash;
|
|
295
313
|
if (variant === 'v2') {
|
|
296
314
|
try {
|
|
297
|
-
const
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
315
|
+
const deliveryDigest = deliveryDataHex.startsWith('0x')
|
|
316
|
+
? deliveryDataHex.slice(2)
|
|
317
|
+
: deliveryDataHex;
|
|
318
|
+
const envelopeCid = `f01551220${deliveryDigest}`;
|
|
319
|
+
const rawEnvelope = await fetchSignedEnvelopeFromIpfs(this.config.ipfsGatewayUrl, envelopeCid);
|
|
320
|
+
const parsed = SignedEnvelopeSchema.parse(rawEnvelope);
|
|
321
|
+
// Strip signature to recompute the hash over the unsigned body.
|
|
322
|
+
const { signature, ...unsignedBody } = parsed;
|
|
323
|
+
const jcsBytes = new TextEncoder().encode(canonicalJson(unsignedBody));
|
|
324
|
+
const recomputed = keccak256(jcsBytes);
|
|
325
|
+
if (recomputed !== signature.hash) {
|
|
326
|
+
console.error(`[mech] claimDelivery skipped for ${requestId}: recomputed hash ${recomputed} !== envelope.signature.hash ${signature.hash}`);
|
|
327
|
+
continue;
|
|
328
|
+
}
|
|
329
|
+
evidenceHash = recomputed;
|
|
305
330
|
}
|
|
306
|
-
catch (
|
|
307
|
-
console.error(`[mech]
|
|
331
|
+
catch (deriveErr) {
|
|
332
|
+
console.error(`[mech] evidenceHash derivation failed for ${requestId} — skipping claim, will retry on next loop:`, deriveErr);
|
|
333
|
+
continue;
|
|
308
334
|
}
|
|
309
335
|
}
|
|
310
|
-
await claimDelivery(this.publicClient, this.walletClient, this.config.safeAddress, this.config.routerAddress, requestId, { variant, evidenceHash });
|
|
336
|
+
await claimDelivery(this.publicClient, this.walletClient, this.config.safeAddress, this.config.routerAddress, requestId, { variant, evidenceHash }, this.config.evictionRecovery);
|
|
311
337
|
}
|
|
312
338
|
catch (err) {
|
|
313
339
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -330,16 +356,18 @@ export class MechAdapter {
|
|
|
330
356
|
// tryCreateEvaluationJob calls verifyRestorationClaimed() which polls for the claim.
|
|
331
357
|
if (iCreatedRestoration) {
|
|
332
358
|
let restorationResultData;
|
|
359
|
+
let restorationEnvelopeCid;
|
|
333
360
|
try {
|
|
334
361
|
const digest = deliveryDataHex.startsWith('0x') ? deliveryDataHex.slice(2) : deliveryDataHex;
|
|
335
|
-
|
|
362
|
+
restorationEnvelopeCid = `f01551220${digest}`;
|
|
363
|
+
const payload = await fetchFromIpfs(this.config.ipfsGatewayUrl, restorationEnvelopeCid);
|
|
336
364
|
restorationResultData = payload.data ?? JSON.stringify(payload);
|
|
337
365
|
this.backfillMissRids.delete(requestId);
|
|
338
366
|
}
|
|
339
367
|
catch (err) {
|
|
340
368
|
console.error(`[mech] Failed to fetch restoration result for evaluation: ${requestId}`, err);
|
|
341
369
|
}
|
|
342
|
-
await this.tryCreateEvaluationJob(requestId, restorationResultData);
|
|
370
|
+
await this.tryCreateEvaluationJob(requestId, restorationResultData, restorationEnvelopeCid);
|
|
343
371
|
}
|
|
344
372
|
// (c) If I created the evaluation, clean up tracking once delivered.
|
|
345
373
|
if (iCreatedEvaluation) {
|
|
@@ -354,13 +382,13 @@ export class MechAdapter {
|
|
|
354
382
|
artifacts: resultPayload.artifacts,
|
|
355
383
|
};
|
|
356
384
|
// Use the original desired state — not the result payload
|
|
357
|
-
const
|
|
385
|
+
const restorationJob = this.originalStates.get(requestId) ?? {
|
|
358
386
|
id: requestId,
|
|
359
387
|
description: '',
|
|
360
388
|
};
|
|
361
389
|
yield {
|
|
362
390
|
requestId,
|
|
363
|
-
|
|
391
|
+
restorationJob,
|
|
364
392
|
result: restorationResult,
|
|
365
393
|
deliveryMechAddress: mechAddress,
|
|
366
394
|
};
|
|
@@ -415,9 +443,11 @@ export class MechAdapter {
|
|
|
415
443
|
try {
|
|
416
444
|
const d = String(dhex);
|
|
417
445
|
const dig = d.startsWith('0x') ? d.slice(2) : d;
|
|
418
|
-
const
|
|
446
|
+
const envelopeCid = `f01551220${dig}`;
|
|
447
|
+
const payload = (await fetchFromIpfs(this.config.ipfsGatewayUrl, envelopeCid));
|
|
419
448
|
const data = payload.data ?? JSON.stringify(payload);
|
|
420
449
|
this.pendingEvaluationResults.set(requestId, data);
|
|
450
|
+
this.pendingEvaluationResultCids.set(requestId, envelopeCid);
|
|
421
451
|
this.backfillMissRids.delete(requestId);
|
|
422
452
|
return data;
|
|
423
453
|
}
|
|
@@ -426,7 +456,7 @@ export class MechAdapter {
|
|
|
426
456
|
return undefined;
|
|
427
457
|
}
|
|
428
458
|
}
|
|
429
|
-
async tryCreateEvaluationJob(requestId, restorationResultData) {
|
|
459
|
+
async tryCreateEvaluationJob(requestId, restorationResultData, restorationEnvelopeCid) {
|
|
430
460
|
if (!this.pendingEvaluations.has(requestId))
|
|
431
461
|
return;
|
|
432
462
|
const originalState = this.pendingEvaluations.get(requestId);
|
|
@@ -434,6 +464,9 @@ export class MechAdapter {
|
|
|
434
464
|
this.pendingEvaluationResults.set(requestId, restorationResultData);
|
|
435
465
|
this.backfillMissRids.delete(requestId);
|
|
436
466
|
}
|
|
467
|
+
if (restorationEnvelopeCid) {
|
|
468
|
+
this.pendingEvaluationResultCids.set(requestId, restorationEnvelopeCid);
|
|
469
|
+
}
|
|
437
470
|
let cachedRestorationResultData = restorationResultData ?? this.pendingEvaluationResults.get(requestId);
|
|
438
471
|
if (cachedRestorationResultData == null) {
|
|
439
472
|
cachedRestorationResultData = await this.backfillRestorationResultFromChain(requestId);
|
|
@@ -443,6 +476,7 @@ export class MechAdapter {
|
|
|
443
476
|
console.error(`[mech] no restoration result yet for ${requestId} (evaluation job and IPFS upload deferred until Deliver or backfill)`);
|
|
444
477
|
return;
|
|
445
478
|
}
|
|
479
|
+
const cachedEnvelopeCid = restorationEnvelopeCid ?? this.pendingEvaluationResultCids.get(requestId);
|
|
446
480
|
try {
|
|
447
481
|
const evaluationState = {
|
|
448
482
|
...originalState,
|
|
@@ -451,9 +485,10 @@ export class MechAdapter {
|
|
|
451
485
|
context: {
|
|
452
486
|
...originalState.context,
|
|
453
487
|
restorationResult: cachedRestorationResultData,
|
|
488
|
+
...(cachedEnvelopeCid ? { [RESTORATION_ENVELOPE_CID_CONTEXT_KEY]: cachedEnvelopeCid } : {}),
|
|
454
489
|
},
|
|
455
490
|
};
|
|
456
|
-
const evaluationPayload =
|
|
491
|
+
const evaluationPayload = buildRestorationJobPayload(evaluationState);
|
|
457
492
|
const evaluationCid = await uploadToIpfs(this.config.ipfsRegistryUrl, evaluationPayload);
|
|
458
493
|
const evaluationDataHex = cidToDigestHex(evaluationCid);
|
|
459
494
|
// Verify the restoration claim landed on-chain before submitting.
|
|
@@ -468,7 +503,7 @@ export class MechAdapter {
|
|
|
468
503
|
}
|
|
469
504
|
const deliveryRate = await getMechDeliveryRate(this.publicClient, this.config.mechContractAddress);
|
|
470
505
|
const { max: maxTimeout } = await getTimeoutBounds(this.publicClient, this.config.mechMarketplaceAddress);
|
|
471
|
-
const evalRequestIds = await submitEvaluationJob(this.publicClient, this.walletClient, this.config.safeAddress, this.config.routerAddress, requestId, this.config.mechContractAddress, evaluationDataHex, deliveryRate, maxTimeout);
|
|
506
|
+
const evalRequestIds = await submitEvaluationJob(this.publicClient, this.walletClient, this.config.safeAddress, this.config.routerAddress, requestId, this.config.mechContractAddress, evaluationDataHex, deliveryRate, maxTimeout, this.config.evictionRecovery);
|
|
472
507
|
if (evalRequestIds.length > 0) {
|
|
473
508
|
this.pendingEvaluationClaims.add(evalRequestIds[0]);
|
|
474
509
|
// Copy original state to evaluation request ID so delivery can use it
|
|
@@ -481,6 +516,7 @@ export class MechAdapter {
|
|
|
481
516
|
this.pendingEvaluations.delete(requestId);
|
|
482
517
|
this.claimedButNotEvaluated.delete(requestId);
|
|
483
518
|
this.pendingEvaluationResults.delete(requestId);
|
|
519
|
+
this.pendingEvaluationResultCids.delete(requestId);
|
|
484
520
|
}
|
|
485
521
|
catch (err) {
|
|
486
522
|
console.error(`[mech] Failed to create evaluation job for ${requestId}:`, err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/mech/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/mech/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { type Address, type Hex, type PublicClient, type WalletClient, type Log } from 'viem';
|
|
2
|
-
|
|
2
|
+
import { type EvictionRecoveryConfig } from './types.js';
|
|
3
|
+
export declare function withEvictionRecovery<T>(publicClient: PublicClient, recovery: EvictionRecoveryConfig | undefined, label: string, action: () => Promise<T>): Promise<T>;
|
|
4
|
+
export declare function submitRestorationJob(publicClient: PublicClient, walletClient: WalletClient, safeAddress: Address, routerAddress: Address, mechAddress: Address, requestDataHex: Hex, priceWei: bigint, responseTimeout: bigint, evictionRecovery?: EvictionRecoveryConfig): Promise<{
|
|
3
5
|
requestIds: string[];
|
|
4
6
|
txHash: Hex;
|
|
5
7
|
receiptLogCount: number;
|
|
6
8
|
}>;
|
|
7
|
-
export declare function submitEvaluationJob(publicClient: PublicClient, walletClient: WalletClient, safeAddress: Address, routerAddress: Address, restorationRequestId: Hex, mechAddress: Address, requestDataHex: Hex, priceWei: bigint, responseTimeout: bigint): Promise<string[]>;
|
|
9
|
+
export declare function submitEvaluationJob(publicClient: PublicClient, walletClient: WalletClient, safeAddress: Address, routerAddress: Address, restorationRequestId: Hex, mechAddress: Address, requestDataHex: Hex, priceWei: bigint, responseTimeout: bigint, evictionRecovery?: EvictionRecoveryConfig): Promise<string[]>;
|
|
8
10
|
export interface ClaimDeliveryOptions {
|
|
9
11
|
variant: 'v1' | 'v2';
|
|
10
12
|
/** V2 only; ignored for V1. */
|
|
11
13
|
evidenceHash?: Hex;
|
|
12
14
|
}
|
|
13
|
-
export declare function claimDelivery(publicClient: PublicClient, walletClient: WalletClient, safeAddress: Address, routerAddress: Address, requestId: Hex, options: ClaimDeliveryOptions): Promise<Hex>;
|
|
15
|
+
export declare function claimDelivery(publicClient: PublicClient, walletClient: WalletClient, safeAddress: Address, routerAddress: Address, requestId: Hex, options: ClaimDeliveryOptions, evictionRecovery?: EvictionRecoveryConfig): Promise<Hex>;
|
|
14
16
|
export declare function claimJob(publicClient: PublicClient, walletClient: WalletClient, safeAddress: Address, claimRegistryAddress: Address, requestId: Hex): Promise<string>;
|
|
15
17
|
export declare function getJobClaim(publicClient: PublicClient, claimRegistryAddress: Address, requestId: Hex): Promise<{
|
|
16
18
|
claimer: Address;
|
|
@@ -59,4 +61,4 @@ export declare function findLatestRequestDataHexForMarketplaceRequest(publicClie
|
|
|
59
61
|
* in [fromBlock, toBlock] (inclusive).
|
|
60
62
|
*/
|
|
61
63
|
export declare function findLatestDeliveryDataHexForRequest(publicClient: PublicClient, mechContractAddress: Address, requestId: string, fromBlock: bigint, toBlock: bigint): Promise<Hex | null>;
|
|
62
|
-
export declare function callDeliverToMarketplace(publicClient: PublicClient, walletClient: WalletClient, safeAddress: Address, mechContractAddress: Address, requestIds: Hex[], datas: Hex[]): Promise<Hex>;
|
|
64
|
+
export declare function callDeliverToMarketplace(publicClient: PublicClient, walletClient: WalletClient, safeAddress: Address, mechContractAddress: Address, requestIds: Hex[], datas: Hex[], evictionRecovery?: EvictionRecoveryConfig): Promise<Hex>;
|
|
@@ -1,20 +1,121 @@
|
|
|
1
1
|
import { encodeFunctionData, decodeEventLog, } from 'viem';
|
|
2
2
|
import { MECH_MARKETPLACE_ABI, MECH_ABI, JINN_ROUTER_ABI, JINN_ROUTER_CLAIM_DELIVERY_V1_ABI, JINN_ROUTER_CLAIM_DELIVERY_V2_ABI, NATIVE_PAYMENT_TYPE, } from './types.js';
|
|
3
|
+
import { STAKING_ABI, STOLAS_DISTRIBUTOR_ABI } from '../../earning/contracts.js';
|
|
4
|
+
import { isUnauthorizedAccountError } from '../../errors/unauthorized-account.js';
|
|
3
5
|
import { CLAIM_REGISTRY_ABI } from '../claim-registry/abi.js';
|
|
4
6
|
import { executeSafeTransaction } from './safe.js';
|
|
5
|
-
import { isRecoverableTransactionError, waitForTransactionReceiptWithRetry, backoffDelay, } from '../../tx-retry.js';
|
|
6
|
-
|
|
7
|
+
import { flattenErrorMessage, isRecoverableTransactionError, viemSendTransactionWithRetry, waitForTransactionReceiptWithRetry, backoffDelay, } from '../../tx-retry.js';
|
|
8
|
+
const EVICTED_STAKING_STATE = 2;
|
|
9
|
+
const restakeLocks = new Map();
|
|
10
|
+
async function withRestakeLock(key, fn) {
|
|
11
|
+
const pending = restakeLocks.get(key) ?? Promise.resolve();
|
|
12
|
+
let releaseLock;
|
|
13
|
+
const newLock = new Promise(resolve => { releaseLock = resolve; });
|
|
14
|
+
restakeLocks.set(key, newLock);
|
|
15
|
+
await pending;
|
|
16
|
+
try {
|
|
17
|
+
await fn();
|
|
18
|
+
}
|
|
19
|
+
finally {
|
|
20
|
+
releaseLock();
|
|
21
|
+
if (restakeLocks.get(key) === newLock) {
|
|
22
|
+
restakeLocks.delete(key);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async function readStakingState(publicClient, recovery) {
|
|
27
|
+
return Number(await publicClient.readContract({
|
|
28
|
+
address: recovery.stakingProxyAddress,
|
|
29
|
+
abi: STAKING_ABI,
|
|
30
|
+
functionName: 'getStakingState',
|
|
31
|
+
args: [BigInt(recovery.serviceId)],
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
async function restakeEvictedService(publicClient, recovery, label) {
|
|
35
|
+
const lockKey = `${recovery.stakingProxyAddress.toLowerCase()}:${recovery.serviceId}`;
|
|
36
|
+
await withRestakeLock(lockKey, async () => {
|
|
37
|
+
const latestState = await readStakingState(publicClient, recovery);
|
|
38
|
+
if (latestState !== EVICTED_STAKING_STATE) {
|
|
39
|
+
console.error(`[staking-recovery] ${label}: service ${recovery.serviceId} no longer evicted ` +
|
|
40
|
+
`(state=${latestState}); retrying original action`);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const account = recovery.masterWalletClient.account;
|
|
44
|
+
if (!account) {
|
|
45
|
+
throw new Error('Eviction recovery cannot reStake: master wallet client has no account');
|
|
46
|
+
}
|
|
47
|
+
const data = encodeFunctionData({
|
|
48
|
+
abi: STOLAS_DISTRIBUTOR_ABI,
|
|
49
|
+
functionName: 'reStake',
|
|
50
|
+
args: [recovery.stakingProxyAddress, BigInt(recovery.serviceId)],
|
|
51
|
+
});
|
|
52
|
+
console.error(`[staking-recovery] ${label}: service ${recovery.serviceId} is evicted; ` +
|
|
53
|
+
`calling distributor.reStake()`);
|
|
54
|
+
let txHash;
|
|
55
|
+
try {
|
|
56
|
+
txHash = await viemSendTransactionWithRetry(recovery.masterWalletClient, publicClient, {
|
|
57
|
+
account,
|
|
58
|
+
to: recovery.distributorAddress,
|
|
59
|
+
data,
|
|
60
|
+
gas: 1500000n,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
const message = flattenErrorMessage(err);
|
|
65
|
+
if (isUnauthorizedAccountError(message)) {
|
|
66
|
+
throw new Error(`Service ${recovery.serviceId} is evicted, but the configured master EOA is not authorized to reStake it. ` +
|
|
67
|
+
`Verify JINN_EARNING_DIR and JINN_PASSWORD derive the original master EOA for this service; otherwise request owner / managing-agent recovery. ` +
|
|
68
|
+
`reStake revert: ${message}`);
|
|
69
|
+
}
|
|
70
|
+
throw err;
|
|
71
|
+
}
|
|
72
|
+
const receipt = await waitForTransactionReceiptWithRetry(publicClient, txHash, {
|
|
73
|
+
onRetry: ({ attempt, message }) => {
|
|
74
|
+
console.error(`[staking-recovery] wait reStake receipt retry ${attempt}: ${message}`);
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
if (receipt.status !== 'success') {
|
|
78
|
+
throw new Error(`reStake failed for service ${recovery.serviceId}: ${txHash}`);
|
|
79
|
+
}
|
|
80
|
+
console.error(`[staking-recovery] ${label}: reStake confirmed for service ${recovery.serviceId} ` +
|
|
81
|
+
`(tx=${txHash}); retrying original action`);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
export async function withEvictionRecovery(publicClient, recovery, label, action) {
|
|
85
|
+
try {
|
|
86
|
+
return await action();
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
if (!recovery)
|
|
90
|
+
throw err;
|
|
91
|
+
let stakingState;
|
|
92
|
+
try {
|
|
93
|
+
stakingState = await readStakingState(publicClient, recovery);
|
|
94
|
+
}
|
|
95
|
+
catch (stateErr) {
|
|
96
|
+
console.error(`[staking-recovery] ${label}: could not check staking state after failed action; ` +
|
|
97
|
+
`preserving original error. state check error: ${flattenErrorMessage(stateErr)}`);
|
|
98
|
+
throw err;
|
|
99
|
+
}
|
|
100
|
+
if (stakingState !== EVICTED_STAKING_STATE) {
|
|
101
|
+
throw err;
|
|
102
|
+
}
|
|
103
|
+
await restakeEvictedService(publicClient, recovery, label);
|
|
104
|
+
return action();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
export async function submitRestorationJob(publicClient, walletClient, safeAddress, routerAddress, mechAddress, requestDataHex, priceWei, responseTimeout, evictionRecovery) {
|
|
7
108
|
const calldata = encodeFunctionData({
|
|
8
109
|
abi: JINN_ROUTER_ABI,
|
|
9
110
|
functionName: 'createRestorationJob',
|
|
10
111
|
args: [requestDataHex, mechAddress, priceWei, responseTimeout, NATIVE_PAYMENT_TYPE, '0x'],
|
|
11
112
|
});
|
|
12
|
-
const txHash = await executeSafeTransaction(publicClient, walletClient, {
|
|
113
|
+
const txHash = await withEvictionRecovery(publicClient, evictionRecovery, 'createRestorationJob', () => executeSafeTransaction(publicClient, walletClient, {
|
|
13
114
|
safeAddress,
|
|
14
115
|
to: routerAddress,
|
|
15
116
|
value: priceWei,
|
|
16
117
|
data: calldata,
|
|
17
|
-
});
|
|
118
|
+
}));
|
|
18
119
|
const receipt = await waitForTransactionReceiptWithRetry(publicClient, txHash, {
|
|
19
120
|
onRetry: ({ attempt, message }) => {
|
|
20
121
|
console.error(`[router] wait restoration receipt retry ${attempt}: ${message}`);
|
|
@@ -39,18 +140,18 @@ export async function submitRestorationJob(publicClient, walletClient, safeAddre
|
|
|
39
140
|
}
|
|
40
141
|
return { requestIds, txHash, receiptLogCount: receipt.logs.length };
|
|
41
142
|
}
|
|
42
|
-
export async function submitEvaluationJob(publicClient, walletClient, safeAddress, routerAddress, restorationRequestId, mechAddress, requestDataHex, priceWei, responseTimeout) {
|
|
143
|
+
export async function submitEvaluationJob(publicClient, walletClient, safeAddress, routerAddress, restorationRequestId, mechAddress, requestDataHex, priceWei, responseTimeout, evictionRecovery) {
|
|
43
144
|
const calldata = encodeFunctionData({
|
|
44
145
|
abi: JINN_ROUTER_ABI,
|
|
45
146
|
functionName: 'createEvaluationJob',
|
|
46
147
|
args: [restorationRequestId, requestDataHex, mechAddress, priceWei, responseTimeout, NATIVE_PAYMENT_TYPE, '0x'],
|
|
47
148
|
});
|
|
48
|
-
const txHash = await executeSafeTransaction(publicClient, walletClient, {
|
|
149
|
+
const txHash = await withEvictionRecovery(publicClient, evictionRecovery, 'createEvaluationJob', () => executeSafeTransaction(publicClient, walletClient, {
|
|
49
150
|
safeAddress,
|
|
50
151
|
to: routerAddress,
|
|
51
152
|
value: priceWei,
|
|
52
153
|
data: calldata,
|
|
53
|
-
});
|
|
154
|
+
}));
|
|
54
155
|
const receipt = await waitForTransactionReceiptWithRetry(publicClient, txHash, {
|
|
55
156
|
onRetry: ({ attempt, message }) => {
|
|
56
157
|
console.error(`[router] wait evaluation receipt retry ${attempt}: ${message}`);
|
|
@@ -95,16 +196,19 @@ async function isDeliveryAlreadyClaimed(publicClient, routerAddress, requestId)
|
|
|
95
196
|
args: [requestId],
|
|
96
197
|
}));
|
|
97
198
|
}
|
|
98
|
-
export async function claimDelivery(publicClient, walletClient, safeAddress, routerAddress, requestId, options) {
|
|
199
|
+
export async function claimDelivery(publicClient, walletClient, safeAddress, routerAddress, requestId, options, evictionRecovery) {
|
|
99
200
|
if (await isDeliveryAlreadyClaimed(publicClient, routerAddress, requestId)) {
|
|
100
201
|
console.error(`[router] claimDelivery: already claimed ${requestId}`);
|
|
101
202
|
return '0x';
|
|
102
203
|
}
|
|
204
|
+
if (options.variant === 'v2' && !options.evidenceHash) {
|
|
205
|
+
throw new Error(`claimDelivery(v2): evidenceHash is required for V2 claim — refusing to write ZERO_EVIDENCE for requestId ${requestId}`);
|
|
206
|
+
}
|
|
103
207
|
const calldata = options.variant === 'v2'
|
|
104
208
|
? encodeFunctionData({
|
|
105
209
|
abi: JINN_ROUTER_CLAIM_DELIVERY_V2_ABI,
|
|
106
210
|
functionName: 'claimDelivery',
|
|
107
|
-
args: [requestId, options.evidenceHash
|
|
211
|
+
args: [requestId, options.evidenceHash],
|
|
108
212
|
})
|
|
109
213
|
: encodeFunctionData({
|
|
110
214
|
abi: JINN_ROUTER_CLAIM_DELIVERY_V1_ABI,
|
|
@@ -113,12 +217,12 @@ export async function claimDelivery(publicClient, walletClient, safeAddress, rou
|
|
|
113
217
|
});
|
|
114
218
|
for (let attempt = 1; attempt <= CLAIM_RETRY_ATTEMPTS; attempt++) {
|
|
115
219
|
try {
|
|
116
|
-
return await executeSafeTransaction(publicClient, walletClient, {
|
|
220
|
+
return await withEvictionRecovery(publicClient, evictionRecovery, 'claimDelivery', () => executeSafeTransaction(publicClient, walletClient, {
|
|
117
221
|
safeAddress,
|
|
118
222
|
to: routerAddress,
|
|
119
223
|
value: 0n,
|
|
120
224
|
data: calldata,
|
|
121
|
-
});
|
|
225
|
+
}));
|
|
122
226
|
}
|
|
123
227
|
catch (err) {
|
|
124
228
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -397,19 +501,19 @@ const ALREADY_DELIVERED_PATTERNS = [
|
|
|
397
501
|
'JobAlreadyDelivered',
|
|
398
502
|
'RequestAlreadyDelivered',
|
|
399
503
|
];
|
|
400
|
-
export async function callDeliverToMarketplace(publicClient, walletClient, safeAddress, mechContractAddress, requestIds, datas) {
|
|
504
|
+
export async function callDeliverToMarketplace(publicClient, walletClient, safeAddress, mechContractAddress, requestIds, datas, evictionRecovery) {
|
|
401
505
|
const calldata = encodeFunctionData({
|
|
402
506
|
abi: MECH_ABI,
|
|
403
507
|
functionName: 'deliverToMarketplace',
|
|
404
508
|
args: [requestIds, datas],
|
|
405
509
|
});
|
|
406
510
|
try {
|
|
407
|
-
return await executeSafeTransaction(publicClient, walletClient, {
|
|
511
|
+
return await withEvictionRecovery(publicClient, evictionRecovery, 'deliverToMarketplace', () => executeSafeTransaction(publicClient, walletClient, {
|
|
408
512
|
safeAddress,
|
|
409
513
|
to: mechContractAddress,
|
|
410
514
|
value: 0n,
|
|
411
515
|
data: calldata,
|
|
412
|
-
});
|
|
516
|
+
}));
|
|
413
517
|
}
|
|
414
518
|
catch (err) {
|
|
415
519
|
const message = err instanceof Error ? err.message : String(err);
|