@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
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
- Operator-app first-run polish (jinn-mono-mc24): a brand-new operator can run `jinn run` with no env var, no setup, no input.
|
|
6
|
+
- `jinn run` now auto-generates a keystore password if `JINN_PASSWORD` isn't set and `~/.jinn-client/keystore-password` doesn't already exist (mode 0600). Replaces the previous fatal-exit on missing env var.
|
|
7
|
+
- Daemon API server now starts BEFORE init/bootstrap; the operator panel auto-opens immediately and shows progress while init/bootstrap runs.
|
|
8
|
+
- New top-level loading screen in the SPA renders during init / `mode: 'uninitialized'`, with spinner + latest event status line + collapsible event log; transitions to the four-region App once `/v1/bootstrap` is ready.
|
|
9
|
+
- `ClaudeAuthCard` is now a "Sign in with Claude" button (in `bare` runtime mode); the daemon spawns `claude /login` server-side via the existing `buildLoginCommand` helper. Docker / container modes still surface the appropriate CLI command since the daemon can't reach the operator's host browser.
|
|
10
|
+
- Keystore password change is now a `SettingsCard` in the panel (`POST /v1/setup/change-password`). The existing `jinn keys change-password` CLI continues to work for scripted use.
|
|
11
|
+
- Removed the unreachable `KeystoreCreateCard` and `POST /v1/setup/keystore` endpoint (daemon now owns keystore creation; the panel observes).
|
|
12
|
+
- Removed the `jinn quickstart` verb; `jinn run` now subsumes its zero-to-running flow (resolve/generate password, init wallet, bootstrap fleet, then start the daemon in the foreground). The corresponding MCP tool was renamed `jinn_run`. Existing scripts using `jinn quickstart` should switch to `jinn run`. (jinn-mono-zqm2)
|
|
13
|
+
|
|
14
|
+
## 0.1.3
|
|
15
|
+
|
|
16
|
+
- Added the v0 testnet cross-chain JINN claim loop, including bundled Sepolia/Base Sepolia MVI deployment artifacts, MockMessenger burn-in support, and canonical OP-Stack verifier canary tooling.
|
|
17
|
+
- Added Safe v1.3 inner-revert decoding so permanent claim and delivery races stop retrying with generic `GS013` errors.
|
|
18
|
+
- Updated bundled Phase 1b deployment defaults for the proxy-deployable V2 activity checker and JINN MVI testnet stack.
|
|
19
|
+
- Added release-gate coverage for contract tests, storage-layout drift checks, and Foundry invariant harness compilation.
|
|
20
|
+
- Hardened the local operator release gate for the current adapter API, ERC-8004 stubbed subgraph surface, and forked-chain `setAgentWallet` deadlines.
|
|
21
|
+
- Switched the docker testnet acceptance gate from legacy health-check intents to the auto-generated `prediction.v0` loop. The gate now requires both restoration and evaluation success per cycle, gates on cycles produced after `runStartAt`, and uses tighter cycle-shaping params (`JINN_PREDICTION_V0_WINDOW_MS=120000`, `JINN_PREDICTION_V0_RESOLVE_GAP_MS=60000`) so a full restoration→delivery→evaluation→claim round-trip lands inside the 20-minute timeout.
|
|
22
|
+
|
|
3
23
|
## 0.1.2
|
|
4
24
|
|
|
5
25
|
- Replaced the `mech-client-ts` IPFS upload dependency with the client’s own Autonolas registry upload path, reducing the packed install footprint and removing the deprecated js-IPFS transitive chain from the release artifact.
|
package/CONTRIBUTING.md
CHANGED
|
@@ -13,10 +13,15 @@ Development happens in the [jinn-mono](https://github.com/Jinn-Network/mono) mon
|
|
|
13
13
|
```bash
|
|
14
14
|
cd client
|
|
15
15
|
yarn install
|
|
16
|
-
yarn test # vitest suite —
|
|
16
|
+
yarn test # vitest suite — see docs/runbooks/testing.md
|
|
17
17
|
yarn typecheck # tsc --noEmit
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
+
## Tests
|
|
21
|
+
|
|
22
|
+
See [`docs/runbooks/testing.md`](../docs/runbooks/testing.md) for the SOP.
|
|
23
|
+
Shared helpers live in `test/_support/`.
|
|
24
|
+
|
|
20
25
|
## Running from source
|
|
21
26
|
|
|
22
27
|
```bash
|
|
@@ -69,7 +74,7 @@ The `files` field in `package.json` ensures only `dist/`, `deployments/`, `READM
|
|
|
69
74
|
|
|
70
75
|
## Releases
|
|
71
76
|
|
|
72
|
-
Use [RELEASING.md](./RELEASING.md) for the package bootstrap publish, npm trusted-publishing setup, canary/stable release flow, the fork-based operator gate (`yarn release:operator-gate`), and the manual Docker-first real testnet acceptance gate (`yarn release:testnet-acceptance`) that must pass on the exact stable release commit. The dedicated Docker acceptance environment and evidence expectations are documented in [TESTNET_ACCEPTANCE.md](./TESTNET_ACCEPTANCE.md).
|
|
77
|
+
Use [RELEASING.md](./RELEASING.md) for the package bootstrap publish, npm trusted-publishing setup, canary/stable release flow, the fork-based operator gate (`yarn release:operator-gate`), the contracts release gate (`cd ../contracts && yarn test && forge install foundry-rs/forge-std --no-git && forge test --match-contract Invariant`), and the manual Docker-first real testnet acceptance gate (`yarn release:testnet-acceptance`) that must pass on the exact stable release commit. The dedicated Docker acceptance environment and evidence expectations are documented in [TESTNET_ACCEPTANCE.md](./TESTNET_ACCEPTANCE.md).
|
|
73
78
|
|
|
74
79
|
## Updating deployment artifacts
|
|
75
80
|
|
|
@@ -93,6 +98,7 @@ This copies the 4 deployment JSON files from `contracts/` into `client/deploymen
|
|
|
93
98
|
| `yarn staking` | Earning bootstrap validation on Anvil fork |
|
|
94
99
|
| `yarn pack:smoke` | Pack tarball and run smoke tests |
|
|
95
100
|
| `yarn release:operator-gate` | Run the stable-release operator gate (`staking` then `e2e`) |
|
|
101
|
+
| `cd ../contracts && yarn test && forge install foundry-rs/forge-std --no-git && forge test --match-contract Invariant` | Run the contracts release gate |
|
|
96
102
|
| `yarn release:testnet-acceptance` | Run the manual Docker-first real testnet acceptance harness |
|
|
97
103
|
| `yarn setup:testnet-acceptance-operator` | First-time Docker acceptance setup + bootstrap/funding helper (`TESTNET_ACCEPTANCE.md`) |
|
|
98
104
|
| `yarn release:testnet-acceptance:host` | Legacy host-installed acceptance smoke/debug harness |
|
package/README.md
CHANGED
|
@@ -5,6 +5,29 @@ Jinn protocol client. Runs a headless daemon that participates in the Jinn train
|
|
|
5
5
|
**New operator?** Start with the full testnet runbook:
|
|
6
6
|
<https://github.com/Jinn-Network/mono/blob/main/docs/operator-testnet.md>
|
|
7
7
|
|
|
8
|
+
## Operator panel (local web UI)
|
|
9
|
+
|
|
10
|
+
Running `jinn run` (or `yarn start`) opens a browser to `http://127.0.0.1:7331`
|
|
11
|
+
with the operator panel — Status, Visibility (live event stream), Setup
|
|
12
|
+
(bootstrap state machine), and an embedded Claude Code session in Auto Mode
|
|
13
|
+
(when available).
|
|
14
|
+
|
|
15
|
+
To suppress auto-open: `jinn run --no-ui`.
|
|
16
|
+
|
|
17
|
+
To open the panel manually for an already-running daemon: `jinn ui`.
|
|
18
|
+
|
|
19
|
+
The panel uses a localhost-only session token written to `~/.jinn-client/ui-token`
|
|
20
|
+
(mode 0600). Browser auth happens via a one-shot handshake URL the daemon prints
|
|
21
|
+
on startup (`[api] UI handshake URL: http://127.0.0.1:<port>/auth/handshake?k=<key>`).
|
|
22
|
+
The launcher automatically opens this URL; subsequent loads reuse the cookie.
|
|
23
|
+
|
|
24
|
+
Setup-mode behaviour: while the fleet bootstrap is incomplete, the API surface
|
|
25
|
+
and SPA come up immediately, and the daemon's intent loops are gated until
|
|
26
|
+
bootstrap reaches `complete`. The Setup region of the SPA renders the 11-step
|
|
27
|
+
state machine and an "awaiting funding" card with the address to fund.
|
|
28
|
+
|
|
29
|
+
For SPA development, see [`src/dashboard/spa/README.md`](src/dashboard/spa/README.md).
|
|
30
|
+
|
|
8
31
|
## Install
|
|
9
32
|
|
|
10
33
|
```bash
|
|
@@ -26,10 +49,10 @@ The fast path for a new operator on Base Sepolia:
|
|
|
26
49
|
jinn auth
|
|
27
50
|
|
|
28
51
|
# Zero-to-running (wallet + funding check + bootstrap + run).
|
|
29
|
-
jinn
|
|
52
|
+
jinn run
|
|
30
53
|
```
|
|
31
54
|
|
|
32
|
-
On first run, `jinn
|
|
55
|
+
On first run, `jinn run` generates a random keystore password, saves
|
|
33
56
|
it to `~/.jinn-client/keystore-password` (mode 0600), and prints a summary
|
|
34
57
|
with the master address and a pointer to back up your mnemonic. Subsequent
|
|
35
58
|
verbs (`jinn run`, `jinn bootstrap`, `jinn claim-rewards`, …) pick up the
|
|
@@ -41,14 +64,15 @@ password from that file automatically — no env var needed.
|
|
|
41
64
|
jinn keys backup --output ~/jinn-mnemonic.txt # mode 0600; treat as seed material
|
|
42
65
|
```
|
|
43
66
|
|
|
44
|
-
|
|
45
|
-
`
|
|
67
|
+
**Advanced / CI — manage the password yourself:** set `JINN_PASSWORD` before
|
|
68
|
+
`jinn run` and no file will be written to disk. Use `--password-fd N` for
|
|
69
|
+
CI pipelines that read from a secret manager:
|
|
46
70
|
|
|
47
71
|
```bash
|
|
48
|
-
JINN_PASSWORD=your-secret jinn
|
|
72
|
+
JINN_PASSWORD=your-secret jinn run
|
|
49
73
|
```
|
|
50
74
|
|
|
51
|
-
**Step by step** (skip if `
|
|
75
|
+
**Step by step** (skip if `jinn run` worked):
|
|
52
76
|
|
|
53
77
|
```bash
|
|
54
78
|
# 1. Generate the encrypted keystore (picks an HD wallet deterministically).
|
|
@@ -89,13 +113,13 @@ Any verb that touches private keys resolves its password in this order:
|
|
|
89
113
|
|
|
90
114
|
1. `--password-fd N` — read from a file descriptor (scripted / CI)
|
|
91
115
|
2. `JINN_PASSWORD` env var — explicit operator-set
|
|
92
|
-
3. `~/.jinn-client/keystore-password` — auto-generated by `jinn
|
|
116
|
+
3. `~/.jinn-client/keystore-password` — auto-generated by `jinn run`
|
|
93
117
|
|
|
94
118
|
The password is never read from config files. `jinn keys change-password`
|
|
95
119
|
rotates the keystore and deletes the auto-generated password file; after
|
|
96
120
|
rotation, set `JINN_PASSWORD` yourself.
|
|
97
121
|
|
|
98
|
-
**Security note:** when `
|
|
122
|
+
**Security note:** when `jinn run` auto-generates the password, it lives
|
|
99
123
|
in plaintext next to the encrypted keystore. That's convenient for tester
|
|
100
124
|
workflows but means anyone with shell access can decrypt your mnemonic —
|
|
101
125
|
treat the wallet as hot and keep funds to the gas + rewards minimum.
|
|
@@ -123,17 +147,17 @@ Run `jinn plugin list --human` to see what's detected.
|
|
|
123
147
|
|
|
124
148
|
Then open your agent and paste:
|
|
125
149
|
|
|
126
|
-
> Set up a Jinn Network testnet operator on this machine. Run `jinn
|
|
150
|
+
> Set up a Jinn Network testnet operator on this machine. Run `jinn run`,
|
|
127
151
|
> fund the master address via CDP if needed, and report back when the daemon is
|
|
128
152
|
> running. Keep me in the loop if anything needs my input.
|
|
129
153
|
|
|
130
154
|
The `jinn-operator` skill activates on mentions of "jinn", "jinn network", and
|
|
131
|
-
"jinn
|
|
155
|
+
"jinn run", then walks your agent through install, auth, bootstrap, and
|
|
132
156
|
daemon lifecycle. You stay in the loop for funding decisions.
|
|
133
157
|
|
|
134
158
|
## Opting in to specific intent kinds
|
|
135
159
|
|
|
136
|
-
After `
|
|
160
|
+
After `jinn run`, your daemon participates in deterministic `prediction.v0`
|
|
137
161
|
intents by default on testnet (via the auto-intent generator). Other kinds —
|
|
138
162
|
like `portfolio.v0`, which
|
|
139
163
|
executes trades against a Hyperliquid master account — are **off by default**
|
|
@@ -227,12 +251,11 @@ docker run --rm ghcr.io/jinn-network/client:latest version --json
|
|
|
227
251
|
|
|
228
252
|
| Command | Purpose | Idempotent |
|
|
229
253
|
|---|---|---|
|
|
230
|
-
| `jinn
|
|
254
|
+
| `jinn run` | One-shot init + funding check + bootstrap + start the daemon (foreground) | Yes |
|
|
231
255
|
| `jinn init` | Generate wallet + keystore + fleet state | Yes |
|
|
232
256
|
| `jinn doctor` | Preflight checks without mutation | Yes |
|
|
233
257
|
| `jinn bootstrap` | Advance toward a running fleet | Yes |
|
|
234
258
|
| `jinn fund-requirements` | List what needs funding | Yes |
|
|
235
|
-
| `jinn run` | Start the daemon (foreground) | N/A |
|
|
236
259
|
| `jinn stop` | Signal a running daemon to stop | Yes |
|
|
237
260
|
| `jinn version` | Version, phase, deployment digest | Yes |
|
|
238
261
|
| `jinn update` | Update the client package + refresh plugins | Yes |
|
|
@@ -250,7 +273,7 @@ docker run --rm ghcr.io/jinn-network/client:latest version --json
|
|
|
250
273
|
| `jinn logs` | Structured event stream |
|
|
251
274
|
| `jinn logs --follow` | Live tail of lifecycle events |
|
|
252
275
|
|
|
253
|
-
|
|
276
|
+
Operator panel: when `jinn run` is active, open [`http://127.0.0.1:7331/`](http://127.0.0.1:7331/) for live in-flight intents, verdicts, earnings, fleet balances, recent activity, and next actions. See [Operator panel](#operator-panel-local-web-ui) above for auth + setup-mode details.
|
|
254
277
|
|
|
255
278
|
### Actions
|
|
256
279
|
|
|
@@ -293,6 +316,7 @@ JINN_PASSWORD=secret jinn run --config ./my-config.json
|
|
|
293
316
|
| claudePath | JINN_CLAUDE_PATH | claude |
|
|
294
317
|
| pollIntervalMs | JINN_POLL_INTERVAL_MS | 5000 |
|
|
295
318
|
| apiPort | JINN_API_PORT | 7331 |
|
|
319
|
+
| apiBindHost | JINN_API_BIND_HOST | `127.0.0.1` (loopback only; set to `0.0.0.0` for LAN access — pairs with bearer-token auth on cost-mutating routes) |
|
|
296
320
|
| dbPath | JINN_DB_PATH | ~/.jinn-client/jinn.db |
|
|
297
321
|
| earningDir | JINN_EARNING_DIR | ~/.jinn-client/earning |
|
|
298
322
|
| peers | JINN_PEERS | [] |
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"network": "sepolia",
|
|
3
|
+
"chainId": 11155111,
|
|
4
|
+
"deployer": "0x15e78734481bD31F6e183dad05225505a45ACd07",
|
|
5
|
+
"deployedAt": "2026-04-29T12:14:01.626Z",
|
|
6
|
+
"config": {
|
|
7
|
+
"timingProfile": "fast-test",
|
|
8
|
+
"votingDelaySeconds": 60,
|
|
9
|
+
"votingPeriodSeconds": 600,
|
|
10
|
+
"proposalThreshold": "0",
|
|
11
|
+
"quorumNumerator": 4,
|
|
12
|
+
"timelockMinDelaySeconds": 60
|
|
13
|
+
},
|
|
14
|
+
"distributor": {
|
|
15
|
+
"operatorRatio": "750000000000000000",
|
|
16
|
+
"daoRatio": "250000000000000000",
|
|
17
|
+
"wCreation": "1",
|
|
18
|
+
"wRestorationDelivery": "1",
|
|
19
|
+
"wEvaluationDelivery": "1"
|
|
20
|
+
},
|
|
21
|
+
"messenger": {
|
|
22
|
+
"mode": "mock",
|
|
23
|
+
"address": "0x30E2f1A5691a999053A54e8DAf9496CD7ccF2DFD",
|
|
24
|
+
"owner": "0x34516dB851f03f8E14d0c1cD56200175e914cCf0"
|
|
25
|
+
},
|
|
26
|
+
"handover": {
|
|
27
|
+
"renounceAdmin": false
|
|
28
|
+
},
|
|
29
|
+
"contracts": {
|
|
30
|
+
"JINN": "0x0bc0B2f733bF4229FD58Baaac5ebFEf2AEc83C4A",
|
|
31
|
+
"TimelockController": "0x5CE9c7E24f0509490a91a1cD285DDFF70A9C058D",
|
|
32
|
+
"JinnGovernor": "0xbbc43A1B5AC699de09577dAE4A1007a3bA704D9E",
|
|
33
|
+
"JinnDistributor": "0xaC9CD847660d05e77D82A3684aFC4EbFd94fBfe6",
|
|
34
|
+
"Messenger": "0x30E2f1A5691a999053A54e8DAf9496CD7ccF2DFD"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"network": "sepolia",
|
|
3
|
+
"chainId": 11155111,
|
|
4
|
+
"deployer": "0x15e78734481bD31F6e183dad05225505a45ACd07",
|
|
5
|
+
"deployedAt": "2026-04-29T12:14:01.626Z",
|
|
6
|
+
"config": {
|
|
7
|
+
"timingProfile": "fast-test",
|
|
8
|
+
"votingDelaySeconds": 60,
|
|
9
|
+
"votingPeriodSeconds": 600,
|
|
10
|
+
"proposalThreshold": "0",
|
|
11
|
+
"quorumNumerator": 4,
|
|
12
|
+
"timelockMinDelaySeconds": 60
|
|
13
|
+
},
|
|
14
|
+
"distributor": {
|
|
15
|
+
"operatorRatio": "750000000000000000",
|
|
16
|
+
"daoRatio": "250000000000000000",
|
|
17
|
+
"wCreation": "1",
|
|
18
|
+
"wRestorationDelivery": "1",
|
|
19
|
+
"wEvaluationDelivery": "1"
|
|
20
|
+
},
|
|
21
|
+
"messenger": {
|
|
22
|
+
"mode": "mock",
|
|
23
|
+
"address": "0x30E2f1A5691a999053A54e8DAf9496CD7ccF2DFD",
|
|
24
|
+
"owner": "0x34516dB851f03f8E14d0c1cD56200175e914cCf0"
|
|
25
|
+
},
|
|
26
|
+
"handover": {
|
|
27
|
+
"renounceAdmin": false
|
|
28
|
+
},
|
|
29
|
+
"contracts": {
|
|
30
|
+
"JINN": "0x0bc0B2f733bF4229FD58Baaac5ebFEf2AEc83C4A",
|
|
31
|
+
"TimelockController": "0x5CE9c7E24f0509490a91a1cD285DDFF70A9C058D",
|
|
32
|
+
"JinnGovernor": "0xbbc43A1B5AC699de09577dAE4A1007a3bA704D9E",
|
|
33
|
+
"JinnDistributor": "0xaC9CD847660d05e77D82A3684aFC4EbFd94fBfe6",
|
|
34
|
+
"Messenger": "0x30E2f1A5691a999053A54e8DAf9496CD7ccF2DFD"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"network": "baseSepolia",
|
|
3
|
+
"chainId": 84532,
|
|
4
|
+
"deployer": "0x15e78734481bD31F6e183dad05225505a45ACd07",
|
|
5
|
+
"deployedAt": "2026-04-29T11:37:34.801Z",
|
|
6
|
+
"contracts": {
|
|
7
|
+
"JinnClaimEmitter": "0xDB2f776D78d9aF12792C2C0f9875465eDaa859E7",
|
|
8
|
+
"RestorationActivityCheckerV2": "0x0e1B5f264F4FAdcFAA950fb00c58d9A39C040f70",
|
|
9
|
+
"JinnRouterV2": "0x13dae57a54A7DF862113BcA8Ee2fd3dEf6a6A94A",
|
|
10
|
+
"ServiceRegistry": "0x31D3202d8744B16A120117A053459DDFAE93c855"
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
"mechMarketplace": "0xD3233FdAaB51E9775f6bFCE8242B02C181D7c0e7",
|
|
19
19
|
"balanceTracker": "0xDbeEF1947F7BB3657f984aA6b230a0ca6578229D",
|
|
20
20
|
"mechFactory": "0x206183F35B2450Ca15A906BB923E74d945F78d67",
|
|
21
|
-
"jinnRouter": "
|
|
21
|
+
"jinnRouter": "0x13dae57a54A7DF862113BcA8Ee2fd3dEf6a6A94A",
|
|
22
22
|
"serviceRegistry": "0x31D3202d8744B16A120117A053459DDFAE93c855",
|
|
23
|
-
"activityChecker": "
|
|
24
|
-
"stakingToken": "
|
|
23
|
+
"activityChecker": "0x0e1B5f264F4FAdcFAA950fb00c58d9A39C040f70",
|
|
24
|
+
"stakingToken": "0x24e34E5037956a5Feca1AAAfaA30297084C228B8"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"safeMultisigWithRecoveryModule": "0x20F7b9b55a88e3b2561fe83B076DE52916C7eaf0",
|
|
22
22
|
"collectorImpl": "0x6A7a3aBdbfF301A6212ebA1523E579399833C718",
|
|
23
23
|
"collector": "0x21c52Be4F656435F97d0335B37e21B417c8b6DFa",
|
|
24
|
-
"distributorImpl": "
|
|
24
|
+
"distributorImpl": "0xD47e4Ff84d930631dbcfadc1C27d916D9a5cc2e1",
|
|
25
25
|
"distributor": "0x20951FBDb4F9cB1f051ef416BCB11A9Cfe3CEf81",
|
|
26
26
|
"multisigGuardImpl": "0xD6229A8b3D1b5824e824E6589469F85987379183",
|
|
27
27
|
"multisigGuard": "0x77aE56B2B745b3e81002090749Ef59B72B688D5F",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { RestorationJob, RequestId, RestorationRequest, RestorationResult, DeliveredResult } from '../types/index.js';
|
|
2
2
|
export interface ExecutionAdapter {
|
|
3
3
|
readonly name: string;
|
|
4
4
|
initialize(): Promise<void>;
|
|
5
|
-
|
|
5
|
+
postRestorationJob(state: RestorationJob): Promise<RequestId>;
|
|
6
6
|
/**
|
|
7
7
|
* Optional: returns the IPFS CID of the most recently posted intent payload.
|
|
8
8
|
* Populated by adapters that upload to IPFS as part of `postDesiredState`
|
|
@@ -28,6 +28,15 @@ export interface ClaimJobResult {
|
|
|
28
28
|
txHash: string;
|
|
29
29
|
/** True if we now hold the claim (new or pre-existing). */
|
|
30
30
|
claimed: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Set when claimed=false. Disambiguates between:
|
|
33
|
+
* - 'lost-race': another operator holds the claim (decoded from JobAlreadyClaimed)
|
|
34
|
+
* - 'ineligible': eligibility checker rejected
|
|
35
|
+
* - 'reverted': tx reverted for an unknown reason
|
|
36
|
+
*/
|
|
37
|
+
reason?: 'lost-race' | 'ineligible' | 'reverted';
|
|
38
|
+
/** When reason='lost-race', the address that won the race (if recoverable). */
|
|
39
|
+
competitor?: Address;
|
|
31
40
|
}
|
|
32
41
|
export declare class ClaimRegistryClient {
|
|
33
42
|
private readonly publicClient;
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
import { encodeFunctionData, } from 'viem';
|
|
18
18
|
import { CLAIM_REGISTRY_ABI } from './abi.js';
|
|
19
19
|
import { executeSafeTransaction } from '../mech/safe.js';
|
|
20
|
+
import { SafeInnerRevertError } from '../mech/safe-revert.js';
|
|
20
21
|
import { waitForTransactionReceiptWithRetry } from '../../tx-retry.js';
|
|
21
22
|
export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
|
|
22
23
|
// ── ClaimRegistryClient ───────────────────────────────────────────────────────
|
|
@@ -89,7 +90,7 @@ export class ClaimRegistryClient {
|
|
|
89
90
|
return { txHash: '', claimed: true };
|
|
90
91
|
}
|
|
91
92
|
// Someone else has an active claim
|
|
92
|
-
return { txHash: '', claimed: false };
|
|
93
|
+
return { txHash: '', claimed: false, reason: 'lost-race', competitor: existing.claimer };
|
|
93
94
|
}
|
|
94
95
|
const data = encodeFunctionData({
|
|
95
96
|
abi: CLAIM_REGISTRY_ABI,
|
|
@@ -117,11 +118,30 @@ export class ClaimRegistryClient {
|
|
|
117
118
|
return { txHash, claimed: true };
|
|
118
119
|
}
|
|
119
120
|
catch (err) {
|
|
121
|
+
// Decoded inner revert from Safe's GS013 wrapper — the actual on-chain
|
|
122
|
+
// failure cause is now legible.
|
|
123
|
+
if (err instanceof SafeInnerRevertError) {
|
|
124
|
+
if (err.decodedName === 'JobAlreadyClaimed') {
|
|
125
|
+
const competitor = err.decodedArgs?.[1];
|
|
126
|
+
// RPC eventual-consistency case: a prior attempt's tx mined but
|
|
127
|
+
// the daemon retried (e.g. waitForTransactionReceipt timed out),
|
|
128
|
+
// and the retry's gas-estimate reverts because the Safe already
|
|
129
|
+
// holds the claim. Treat as success.
|
|
130
|
+
if (competitor && competitor.toLowerCase() === this.safeAddress.toLowerCase()) {
|
|
131
|
+
return { txHash: '', claimed: true };
|
|
132
|
+
}
|
|
133
|
+
return { txHash: '', claimed: false, reason: 'lost-race', competitor };
|
|
134
|
+
}
|
|
135
|
+
if (err.decodedName === 'IneligibleToClaim') {
|
|
136
|
+
return { txHash: '', claimed: false, reason: 'ineligible' };
|
|
137
|
+
}
|
|
138
|
+
return { txHash: '', claimed: false, reason: 'reverted' };
|
|
139
|
+
}
|
|
120
140
|
const message = err instanceof Error ? err.message : String(err);
|
|
121
141
|
if (message.includes('JobAlreadyClaimed') ||
|
|
122
142
|
message.includes('IneligibleToClaim') ||
|
|
123
143
|
message.includes('execution reverted')) {
|
|
124
|
-
return { txHash: '', claimed: false };
|
|
144
|
+
return { txHash: '', claimed: false, reason: 'reverted' };
|
|
125
145
|
}
|
|
126
146
|
throw err;
|
|
127
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/adapters/claim-registry/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,kBAAkB,GAKnB,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AAEvE,MAAM,CAAC,MAAM,YAAY,GAAY,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/adapters/claim-registry/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ExecutionAdapter } from '../adapter.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { RestorationJob, RequestId, RestorationRequest, RestorationResult, DeliveredResult } from '../../types/index.js';
|
|
3
3
|
export declare class LocalAdapter implements ExecutionAdapter {
|
|
4
4
|
readonly name = "local";
|
|
5
5
|
private requests;
|
|
@@ -11,7 +11,7 @@ export declare class LocalAdapter implements ExecutionAdapter {
|
|
|
11
11
|
private deliveredRequestIds;
|
|
12
12
|
private stopped;
|
|
13
13
|
initialize(): Promise<void>;
|
|
14
|
-
|
|
14
|
+
postRestorationJob(state: RestorationJob): Promise<RequestId>;
|
|
15
15
|
watchForRequests(): AsyncIterable<RestorationRequest>;
|
|
16
16
|
claimRequest(_requestId: RequestId): Promise<void>;
|
|
17
17
|
submitResult(requestId: RequestId, result: RestorationResult): Promise<void>;
|
|
@@ -12,7 +12,7 @@ export class LocalAdapter {
|
|
|
12
12
|
async initialize() {
|
|
13
13
|
// No-op for local
|
|
14
14
|
}
|
|
15
|
-
async
|
|
15
|
+
async postRestorationJob(state) {
|
|
16
16
|
const requestId = randomUUID();
|
|
17
17
|
// Create restoration request
|
|
18
18
|
const restorationState = {
|
|
@@ -21,7 +21,7 @@ export class LocalAdapter {
|
|
|
21
21
|
};
|
|
22
22
|
const request = {
|
|
23
23
|
requestId,
|
|
24
|
-
|
|
24
|
+
restorationJob: restorationState,
|
|
25
25
|
};
|
|
26
26
|
this.requests.set(requestId, request);
|
|
27
27
|
if (this.requestWaiters.length > 0) {
|
|
@@ -39,7 +39,7 @@ export class LocalAdapter {
|
|
|
39
39
|
};
|
|
40
40
|
const evalRequest = {
|
|
41
41
|
requestId: evalRequestId,
|
|
42
|
-
|
|
42
|
+
restorationJob: evaluationState,
|
|
43
43
|
};
|
|
44
44
|
this.requests.set(evalRequestId, evalRequest);
|
|
45
45
|
// Evaluation requests are deferred — only yielded after restoration is delivered
|
|
@@ -51,7 +51,7 @@ export class LocalAdapter {
|
|
|
51
51
|
// Check if any deferred evaluation requests are now ready
|
|
52
52
|
const stillDeferred = [];
|
|
53
53
|
for (const evalReq of this.deferredEvalRequests) {
|
|
54
|
-
const restorationId = evalReq.
|
|
54
|
+
const restorationId = evalReq.restorationJob.restorationRequestId;
|
|
55
55
|
if (restorationId && this.deliveredRequestIds.has(restorationId)) {
|
|
56
56
|
// Restoration delivered — yield evaluation request
|
|
57
57
|
if (this.requestWaiters.length > 0) {
|
|
@@ -88,7 +88,7 @@ export class LocalAdapter {
|
|
|
88
88
|
this.deliveredRequestIds.add(requestId);
|
|
89
89
|
const delivery = {
|
|
90
90
|
requestId,
|
|
91
|
-
|
|
91
|
+
restorationJob: request.restorationJob,
|
|
92
92
|
result,
|
|
93
93
|
deliveryMechAddress: 'local',
|
|
94
94
|
};
|
|
@@ -101,7 +101,7 @@ export class LocalAdapter {
|
|
|
101
101
|
// Check if any deferred evaluation requests are now ready
|
|
102
102
|
const stillDeferred = [];
|
|
103
103
|
for (const evalReq of this.deferredEvalRequests) {
|
|
104
|
-
const restorationId = evalReq.
|
|
104
|
+
const restorationId = evalReq.restorationJob.restorationRequestId;
|
|
105
105
|
if (restorationId && this.deliveredRequestIds.has(restorationId)) {
|
|
106
106
|
if (this.requestWaiters.length > 0) {
|
|
107
107
|
this.requestWaiters.shift()(evalReq);
|
|
@@ -134,10 +134,10 @@ export class LocalAdapter {
|
|
|
134
134
|
this.stopped = true;
|
|
135
135
|
// Resolve any pending waiters so loops can exit
|
|
136
136
|
for (const waiter of this.requestWaiters) {
|
|
137
|
-
waiter({ requestId: '',
|
|
137
|
+
waiter({ requestId: '', restorationJob: { id: '', description: '' } });
|
|
138
138
|
}
|
|
139
139
|
for (const waiter of this.deliveryWaiters) {
|
|
140
|
-
waiter({ requestId: '',
|
|
140
|
+
waiter({ requestId: '', restorationJob: { id: '', description: '' }, result: { data: '' }, deliveryMechAddress: '' });
|
|
141
141
|
}
|
|
142
142
|
this.requestWaiters = [];
|
|
143
143
|
this.deliveryWaiters = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/local/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAUzC,MAAM,OAAO,YAAY;IACd,IAAI,GAAG,OAAO,CAAC;IAEhB,QAAQ,GAAG,IAAI,GAAG,EAAiC,CAAC;IACpD,eAAe,GAAyB,EAAE,CAAC;IAC3C,oBAAoB,GAAyB,EAAE,CAAC;IAChD,iBAAiB,GAAsB,EAAE,CAAC;IAC1C,cAAc,GAA6C,EAAE,CAAC;IAC9D,eAAe,GAA0C,EAAE,CAAC;IAC5D,mBAAmB,GAAG,IAAI,GAAG,EAAa,CAAC;IAC3C,OAAO,GAAG,KAAK,CAAC;IAExB,KAAK,CAAC,UAAU;QACd,kBAAkB;IACpB,CAAC;IAED,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/local/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ExecutionAdapter } from '../adapter.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { RestorationJob, RequestId, RestorationRequest, RestorationResult, DeliveredResult } from '../../types/index.js';
|
|
3
3
|
import { type MechAdapterConfig } from './types.js';
|
|
4
4
|
import type { Store } from '../../store/store.js';
|
|
5
5
|
export declare class MechAdapter implements ExecutionAdapter {
|
|
@@ -14,16 +14,15 @@ export declare class MechAdapter implements ExecutionAdapter {
|
|
|
14
14
|
private pendingEvaluationClaims;
|
|
15
15
|
private claimedButNotEvaluated;
|
|
16
16
|
private pendingEvaluationResults;
|
|
17
|
+
private pendingEvaluationResultCids;
|
|
17
18
|
private backfillMissRids;
|
|
18
19
|
private originalStates;
|
|
19
|
-
private _lastPostedIntentCid;
|
|
20
20
|
private store?;
|
|
21
21
|
private claimPolicy;
|
|
22
22
|
constructor(config: MechAdapterConfig, store?: Store);
|
|
23
23
|
initialize(): Promise<void>;
|
|
24
24
|
private recoverPendingState;
|
|
25
|
-
|
|
26
|
-
postDesiredState(state: DesiredState): Promise<RequestId>;
|
|
25
|
+
postRestorationJob(state: RestorationJob): Promise<RequestId>;
|
|
27
26
|
watchForRequests(): AsyncIterable<RestorationRequest>;
|
|
28
27
|
claimRequest(requestId: RequestId): Promise<void>;
|
|
29
28
|
submitResult(requestId: RequestId, result: RestorationResult): Promise<void>;
|